<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/lib/webrick/httpversion.rb, 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>* lib/webrick/accesslog.rb:  Improved WEBrick documentation.</title>
<updated>2013-01-26T01:12:54+00:00</updated>
<author>
<name>drbrain</name>
<email>drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-01-26T01:12:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=28afe277a8e543da0e6353bdacbcad0b69739e06'/>
<id>28afe277a8e543da0e6353bdacbcad0b69739e06</id>
<content type='text'>
* lib/webrick/cgi.rb:  ditto.
* lib/webrick/config.rb:  ditto.
* lib/webrick/cookie.rb:  ditto.
* lib/webrick/httpauth/authenticator.rb:  ditto.
* lib/webrick/httpauth/basicauth.rb:  ditto.
* lib/webrick/httpauth/digestauth.rb:  ditto.
* lib/webrick/httpproxy.rb:  ditto.
* lib/webrick/httprequest.rb:  ditto.
* lib/webrick/httpresponse.rb:  ditto.
* lib/webrick/https.rb:  ditto.
* lib/webrick/httpserver.rb:  ditto.
* lib/webrick/httpservlet/cgihandler.rb:  ditto.
* lib/webrick/httpservlet/filehandler.rb:  ditto.
* lib/webrick/httpservlet/prochandler.rb:  ditto.
* lib/webrick/httputils.rb:  ditto.
* lib/webrick/httpversion.rb:  ditto.
* lib/webrick/log.rb:  ditto.
* lib/webrick/server.rb:  ditto.
* lib/webrick/ssl.rb:  ditto.
* lib/webrick/utils.rb:  ditto.
* lib/webrick/version.rb:  ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* lib/webrick/cgi.rb:  ditto.
* lib/webrick/config.rb:  ditto.
* lib/webrick/cookie.rb:  ditto.
* lib/webrick/httpauth/authenticator.rb:  ditto.
* lib/webrick/httpauth/basicauth.rb:  ditto.
* lib/webrick/httpauth/digestauth.rb:  ditto.
* lib/webrick/httpproxy.rb:  ditto.
* lib/webrick/httprequest.rb:  ditto.
* lib/webrick/httpresponse.rb:  ditto.
* lib/webrick/https.rb:  ditto.
* lib/webrick/httpserver.rb:  ditto.
* lib/webrick/httpservlet/cgihandler.rb:  ditto.
* lib/webrick/httpservlet/filehandler.rb:  ditto.
* lib/webrick/httpservlet/prochandler.rb:  ditto.
* lib/webrick/httputils.rb:  ditto.
* lib/webrick/httpversion.rb:  ditto.
* lib/webrick/log.rb:  ditto.
* lib/webrick/server.rb:  ditto.
* lib/webrick/ssl.rb:  ditto.
* lib/webrick/utils.rb:  ditto.
* lib/webrick/version.rb:  ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>	* lib/webrick/log.rb: Hide copyright info from ri</title>
<updated>2011-05-09T19:22:41+00:00</updated>
<author>
<name>drbrain</name>
<email>drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2011-05-09T19:22:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=38b4876bb0eb2a90ef7e5b3aabfb0e28b9698f27'/>
<id>38b4876bb0eb2a90ef7e5b3aabfb0e28b9698f27</id>
<content type='text'>
	* lib/webrick/httpstatus.rb: ditto
	* lib/webrick/htmlutils.rb: ditto
	* lib/webrick/httpversion.rb: ditto
	* lib/webrick/version.rb: ditto
	* lib/webrick/httpauth/userdb.rb: ditto
	* lib/webrick/httpauth/authenticator.rb: ditto
	* lib/webrick/accesslog.rb: ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31497 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* lib/webrick/httpstatus.rb: ditto
	* lib/webrick/htmlutils.rb: ditto
	* lib/webrick/httpversion.rb: ditto
	* lib/webrick/version.rb: ditto
	* lib/webrick/httpauth/userdb.rb: ditto
	* lib/webrick/httpauth/authenticator.rb: ditto
	* lib/webrick/accesslog.rb: ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31497 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* lib/webrick: imported.</title>
<updated>2003-07-23T16:51:36+00:00</updated>
<author>
<name>gotoyuzo</name>
<email>gotoyuzo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2003-07-23T16:51:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=01eba908adcd150a7b816af0dbe167c4c4912a90'/>
<id>01eba908adcd150a7b816af0dbe167c4c4912a90</id>
<content type='text'>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4130 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4130 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
</feed>
'><tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/.cvsignore?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>.cvsignore</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/.dir-locals.el?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>.dir-locals.el</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/.document?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>.document</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/.editorconfig?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>.editorconfig</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/.gdbinit?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>.gdbinit</a></td><td class='right'>1351</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/.gitattributes?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>.gitattributes</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/.github/SECURITY.md?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>.github/SECURITY.md</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/.github/codeql/codeql-config.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>.github/codeql/codeql-config.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='add'><a href='/ruby.git/diff/.github/workflows/baseruby.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>.github/workflows/baseruby.yml</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/.github/workflows/check_branch.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>.github/workflows/check_branch.yml</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/.github/workflows/check_dependencies.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>.github/workflows/check_dependencies.yml</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/.github/workflows/check_misc.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>.github/workflows/check_misc.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='add'><a href='/ruby.git/diff/.github/workflows/codeql-analysis.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>.github/workflows/codeql-analysis.yml</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/.github/workflows/compilers.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>.github/workflows/compilers.yml</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/.github/workflows/macos.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>.github/workflows/macos.yml</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/.github/workflows/mingw.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>.github/workflows/mingw.yml</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='add'><a href='/ruby.git/diff/.github/workflows/mjit.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>.github/workflows/mjit.yml</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/.github/workflows/spec_guards.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>.github/workflows/spec_guards.yml</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/.github/workflows/ubuntu.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>.github/workflows/ubuntu.yml</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/.github/workflows/windows.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>.github/workflows/windows.yml</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/.gitignore?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>.gitignore</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/.rspec_parallel?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>.rspec_parallel</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/.travis.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>.travis.yml</a></td><td class='right'>291</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/BSDL?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/CONTRIBUTING.md?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>COPYING</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='add'><a href='/ruby.git/diff/COPYING.ja?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>COPYING.ja</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='del'><a href='/ruby.git/diff/ChangeLog?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ChangeLog</a></td><td class='right'>5149</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 5.6%;'/><td class='none' style='width: 94.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/GPL?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>GPL</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/KNOWNBUGS.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/LEGAL?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>LEGAL</a></td><td class='right'>1051</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='del'><a href='/ruby.git/diff/MANIFEST?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>MANIFEST</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/Makefile.in?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>Makefile.in</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='add'><a href='/ruby.git/diff/NEWS.md?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>NEWS.md</a></td><td class='right'>820</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/README?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>README</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='upd'><a href='/ruby.git/diff/README.EXT?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>README.EXT</a></td><td class='right'>986</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='add'><a href='/ruby.git/diff/README.EXT.ja?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>README.EXT.ja</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/README.EXT.jp?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>README.EXT.jp</a></td><td class='right'>1168</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='add'><a href='/ruby.git/diff/README.ja.md?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>README.ja.md</a></td><td class='right'>185</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.jp?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>README.jp</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='add'><a href='/ruby.git/diff/README.md?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>README.md</a></td><td class='right'>171</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/ToDo?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ToDo</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='add'><a href='/ruby.git/diff/aclocal.m4?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>aclocal.m4</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/addr2line.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>addr2line.c</a></td><td class='right'>2716</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/addr2line.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>addr2line.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/appveyor.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>appveyor.yml</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/array.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>array.c</a></td><td class='right'>8327</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 8.1%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 91.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/array.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>array.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/ast.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ast.c</a></td><td class='right'>699</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/ast.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ast.rb</a></td><td class='right'>146</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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/basictest/runner.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/basictest/test.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>basictest/test.rb</a></td><td class='right'>2364</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/benchmark/README.md?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/benchmark/app_answer.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/app_aobench.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/app_aobench.rb</a></td><td class='right'>297</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/benchmark/app_erb.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/app_erb.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='add'><a href='/ruby.git/diff/benchmark/app_factorial.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/app_fib.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/app_lc_fizzbuzz.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/benchmark/app_mandelbrot.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/app_pentomino.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/benchmark/app_raise.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/app_strconcat.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/app_tak.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/app_tarai.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/app_uri.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/array_flatten.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/array_flatten.yml</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/benchmark/array_intersection.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/array_intersection.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='add'><a href='/ruby.git/diff/benchmark/array_max_float.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/array_max_float.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='add'><a href='/ruby.git/diff/benchmark/array_max_int.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/array_max_int.yml</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/benchmark/array_max_str.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/array_max_str.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='add'><a href='/ruby.git/diff/benchmark/array_min.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/array_min.yml</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/benchmark/array_sample_100k_10.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/array_sample_100k_11.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/array_sample_100k__100.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/array_sample_100k__1k.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/array_sample_100k__6k.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/array_sample_100k___10k.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/array_sample_100k___50k.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/array_shift.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/array_small_and.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/array_small_diff.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/array_small_or.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/array_sort_block.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/array_sort_float.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/array_values_at_int.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/array_values_at_range.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/bighash.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/cgi_escape_html.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/cgi_escape_html.yml</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/benchmark/complex_float_add.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/complex_float_add.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='add'><a href='/ruby.git/diff/benchmark/complex_float_div.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/complex_float_div.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='add'><a href='/ruby.git/diff/benchmark/complex_float_mul.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/complex_float_mul.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='add'><a href='/ruby.git/diff/benchmark/complex_float_new.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/complex_float_new.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='add'><a href='/ruby.git/diff/benchmark/complex_float_power.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/complex_float_power.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='add'><a href='/ruby.git/diff/benchmark/complex_float_sub.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/complex_float_sub.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='add'><a href='/ruby.git/diff/benchmark/dir_empty_p.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/enum_lazy_flat_map.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/enum_lazy_flat_map.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='add'><a href='/ruby.git/diff/benchmark/enum_lazy_grep_v_100.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/enum_lazy_grep_v_20.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/enum_lazy_grep_v_50.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/enum_lazy_uniq_100.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/enum_lazy_uniq_20.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/enum_lazy_uniq_50.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/enum_lazy_zip.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/enum_lazy_zip.yml</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/benchmark/erb_render.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/benchmark/fiber_chain.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/fiber_chain.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='add'><a href='/ruby.git/diff/benchmark/fiber_locals.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/fiber_locals.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='add'><a href='/ruby.git/diff/benchmark/file_chmod.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/file_rename.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/gc/aobench.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/gc/binary_trees.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/gc/gcbench.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/benchmark/gc/hash1.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/gc/hash2.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/gc/null.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/gc/pentomino.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/gc/rdoc.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/gc/redblack.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/benchmark/gc/ring.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/hash_aref_dsym.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/hash_aref_dsym_long.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/hash_aref_fix.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/hash_aref_flo.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/hash_aref_miss.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/hash_aref_str.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/hash_aref_sym.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/hash_aref_sym_long.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/hash_defaults.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/hash_defaults.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='add'><a href='/ruby.git/diff/benchmark/hash_dup.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/hash_dup.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='add'><a href='/ruby.git/diff/benchmark/hash_flatten.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/hash_ident_flo.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/hash_ident_num.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/hash_ident_obj.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/hash_ident_str.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/hash_ident_sym.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/hash_keys.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/hash_literal_small2.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/hash_literal_small4.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/hash_literal_small8.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/hash_long.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/hash_shift.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/hash_shift_u16.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/hash_shift_u24.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/hash_shift_u32.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/hash_small2.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/hash_small4.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/hash_small8.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/hash_to_proc.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/hash_values.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/int_quo.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/io_copy_stream_write.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/io_copy_stream_write_socket.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/io_file_create.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/io_file_read.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/io_file_write.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/io_nonblock_noex.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/io_nonblock_noex2.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/io_pipe_rw.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/io_select.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/io_select2.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/io_select3.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/irb_color.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/irb_color.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='add'><a href='/ruby.git/diff/benchmark/irb_exec.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/irb_exec.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='add'><a href='/ruby.git/diff/benchmark/kernel_clone.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/kernel_clone.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='add'><a href='/ruby.git/diff/benchmark/kernel_float.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/kernel_float.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='add'><a href='/ruby.git/diff/benchmark/kernel_tap.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/kernel_tap.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='add'><a href='/ruby.git/diff/benchmark/kernel_then.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/kernel_then.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='add'><a href='/ruby.git/diff/benchmark/keyword_arguments.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/keyword_arguments.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='add'><a href='/ruby.git/diff/benchmark/lib/benchmark_driver/output/driver.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/lib/benchmark_driver/runner/cstime.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/lib/benchmark_driver/runner/cutime.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/lib/benchmark_driver/runner/mjit.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/lib/benchmark_driver/runner/mjit.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/benchmark/lib/benchmark_driver/runner/mjit_exec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/lib/benchmark_driver/runner/mjit_exec.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/benchmark/lib/benchmark_driver/runner/peak.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/benchmark/lib/benchmark_driver/runner/size.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/lib/benchmark_driver/runner/stime.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/lib/benchmark_driver/runner/total.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/benchmark/lib/benchmark_driver/runner/utime.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/benchmark/lib/load.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/lib/load.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/benchmark/loop_for.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/loop_generator.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/loop_times.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/loop_whileloop.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/loop_whileloop2.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/marshal_dump_flo.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/marshal_dump_load_geniv.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/marshal_dump_load_time.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/match_gt4.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/match_gt4.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/benchmark/match_small.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/match_small.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/benchmark/mjit_exec_jt2jt.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/mjit_exec_jt2jt.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='add'><a href='/ruby.git/diff/benchmark/mjit_exec_vm2jt.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/mjit_exec_vm2jt.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='add'><a href='/ruby.git/diff/benchmark/mjit_exec_vm2vm.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/mjit_exec_vm2vm.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='add'><a href='/ruby.git/diff/benchmark/mjit_exivar.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/mjit_exivar.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='add'><a href='/ruby.git/diff/benchmark/mjit_integer.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/mjit_integer.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='add'><a href='/ruby.git/diff/benchmark/mjit_kernel.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/mjit_kernel.yml</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/benchmark/mjit_leave.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/mjit_leave.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='add'><a href='/ruby.git/diff/benchmark/mjit_opt_cc_insns.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/mjit_opt_cc_insns.yml</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/benchmark/mjit_struct_aref.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/mjit_struct_aref.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='add'><a href='/ruby.git/diff/benchmark/nil_p.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/nil_p.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='add'><a href='/ruby.git/diff/benchmark/num_zero_p.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/num_zero_p.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='add'><a href='/ruby.git/diff/benchmark/object_allocate.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/object_allocate.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='add'><a href='/ruby.git/diff/benchmark/objspace_dump_all.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/objspace_dump_all.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='add'><a href='/ruby.git/diff/benchmark/other-lang/ack.pl?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/other-lang/ack.py?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/other-lang/ack.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/other-lang/ack.scm?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/other-lang/eval.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/benchmark/other-lang/fact.pl?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/other-lang/fact.py?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/other-lang/fact.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/other-lang/fact.scm?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/other-lang/fib.pl?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/other-lang/fib.py?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/other-lang/fib.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/other-lang/fib.scm?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/other-lang/loop.pl?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/other-lang/loop.py?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/other-lang/loop.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/other-lang/loop.scm?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/other-lang/loop2.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/other-lang/tak.pl?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/other-lang/tak.py?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/other-lang/tak.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/other-lang/tak.scm?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/pm_array.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/pm_array.yml</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/benchmark/range_last.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/range_last.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='add'><a href='/ruby.git/diff/benchmark/realpath.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/realpath.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='add'><a href='/ruby.git/diff/benchmark/require.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/require.yml</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/benchmark/require_thread.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/require_thread.yml</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/benchmark/securerandom.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/so_ackermann.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/so_array.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/so_binary_trees.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/benchmark/so_concatenate.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/so_count_words.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/so_count_words.yml</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/benchmark/so_exception.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/benchmark/so_fannkuch.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/so_fasta.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/benchmark/so_k_nucleotide.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/benchmark/so_lists.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/benchmark/so_mandelbrot.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/benchmark/so_matrix.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/benchmark/so_meteor_contest.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/benchmark/so_nbody.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/benchmark/so_nested_loop.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/so_nsieve.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/so_nsieve_bits.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/so_object.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/benchmark/so_partial_sums.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/so_pidigits.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/benchmark/so_random.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/so_reverse_complement.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/benchmark/so_sieve.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/so_spectralnorm.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/benchmark/string_capitalize.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/string_capitalize.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='add'><a href='/ruby.git/diff/benchmark/string_casecmp.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/string_casecmp.yml</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/benchmark/string_casecmp_p.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/string_casecmp_p.yml</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/benchmark/string_downcase.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/string_downcase.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='add'><a href='/ruby.git/diff/benchmark/string_index.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/string_scan_re.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/string_scan_str.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/string_slice.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/string_slice.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='add'><a href='/ruby.git/diff/benchmark/string_split.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/string_split.yml</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/benchmark/string_swapcase.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/string_swapcase.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='add'><a href='/ruby.git/diff/benchmark/string_upcase.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/string_upcase.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='add'><a href='/ruby.git/diff/benchmark/time_strptime.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/time_strptime.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='add'><a href='/ruby.git/diff/benchmark/time_subsec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/vm_array.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_attr_ivar.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_attr_ivar_set.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_backtrace.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_bigarray.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/benchmark/vm_bighash.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_block.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_block_handler.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_block_handler.yml</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/benchmark/vm_blockparam.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_blockparam_call.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_blockparam_pass.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_blockparam_yield.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_case.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_case_lit.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_clearmethodcache.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_const.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_defined_method.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_dstr.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_ensure.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_eval.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_fiber_allocate.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_fiber_allocate.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='add'><a href='/ruby.git/diff/benchmark/vm_fiber_count.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_fiber_count.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='add'><a href='/ruby.git/diff/benchmark/vm_fiber_reuse.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_fiber_reuse.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='add'><a href='/ruby.git/diff/benchmark/vm_fiber_reuse_gc.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_fiber_reuse_gc.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='add'><a href='/ruby.git/diff/benchmark/vm_fiber_switch.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_float_simple.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_freezestring.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_gc.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_gc_old_full.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_gc_old_immediate.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_gc_old_lazy.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_gc_short_lived.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_gc_short_with_complex_long.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_gc_short_with_long.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_gc_short_with_symbol.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_gc_wb_ary.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_gc_wb_ary_promoted.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_gc_wb_obj.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_gc_wb_obj_promoted.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_iclass_super.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_iclass_super.yml</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/benchmark/vm_ivar.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_ivar_init.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_ivar_init.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='add'><a href='/ruby.git/diff/benchmark/vm_ivar_set.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_ivar_set_subclass.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_ivar_set_subclass.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='add'><a href='/ruby.git/diff/benchmark/vm_length.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_lvar_init.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_lvar_set.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_method.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_method_missing.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_method_with_block.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_module_ann_const_set.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_module_const_set.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_mutex.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_neq.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_newlambda.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_not.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_poly_method.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_poly_method_ov.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_poly_same_method.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_poly_same_method.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='add'><a href='/ruby.git/diff/benchmark/vm_poly_singleton.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_proc.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_raise1.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_raise2.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_regexp.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_regexp.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='add'><a href='/ruby.git/diff/benchmark/vm_rescue.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_send.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_send.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='add'><a href='/ruby.git/diff/benchmark/vm_send_cfunc.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_send_cfunc.yml</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/benchmark/vm_simplereturn.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_string_literal.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_struct_big_aref_hi.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_struct_big_aref_lo.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_struct_big_aset.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_struct_big_href_hi.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_struct_big_href_lo.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_struct_big_hset.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_struct_small_aref.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_struct_small_aset.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_struct_small_href.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_struct_small_hset.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_super.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_swap.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_symbol_block_pass.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/vm_thread_alive_check.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_thread_alive_check.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='add'><a href='/ruby.git/diff/benchmark/vm_thread_close.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/vm_thread_condvar1.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/vm_thread_condvar2.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/vm_thread_create_join.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/vm_thread_mutex1.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/vm_thread_mutex2.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/vm_thread_mutex3.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/vm_thread_pass.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/vm_thread_pass_flood.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/vm_thread_pipe.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/vm_thread_queue.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/vm_thread_sized_queue.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/vm_thread_sized_queue2.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/vm_thread_sized_queue3.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/vm_thread_sized_queue4.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/benchmark/vm_thread_sleep.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_thread_sleep.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='add'><a href='/ruby.git/diff/benchmark/vm_unif1.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_yield.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='add'><a href='/ruby.git/diff/benchmark/vm_zsuper.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>benchmark/vm_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='upd'><a href='/ruby.git/diff/bignum.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>bignum.c</a></td><td class='right'>7630</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 7.3%;'/><td class='rem' style='width: 1.0%;'/><td class='none' style='width: 91.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/bin/bundle?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/bin/bundler?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/bin/erb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>bin/erb</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='add'><a href='/ruby.git/diff/bin/gem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/bin/irb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>bin/irb</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='add'><a href='/ruby.git/diff/bin/racc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>bin/racc</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='add'><a href='/ruby.git/diff/bin/rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>bin/rdoc</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='add'><a href='/ruby.git/diff/bin/ri?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>bin/ri</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/bootstraptest/pending.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>bootstraptest/pending.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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/bootstraptest/runner.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>bootstraptest/runner.rb</a></td><td class='right'>550</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/bootstraptest/test_attr.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/bootstraptest/test_autoload.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/bootstraptest/test_block.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/bootstraptest/test_class.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/bootstraptest/test_env.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/bootstraptest/test_eval.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>bootstraptest/test_eval.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/bootstraptest/test_exception.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/bootstraptest/test_fiber.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>bootstraptest/test_fiber.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/bootstraptest/test_finalizer.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/bootstraptest/test_flip.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/bootstraptest/test_flow.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/bootstraptest/test_fork.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/bootstraptest/test_gc.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/bootstraptest/test_insns.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>bootstraptest/test_insns.rb</a></td><td class='right'>439</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/bootstraptest/test_io.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/bootstraptest/test_jump.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>bootstraptest/test_jump.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/bootstraptest/test_literal.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>bootstraptest/test_literal.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/bootstraptest/test_literal_suffix.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/bootstraptest/test_load.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/bootstraptest/test_marshal.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/bootstraptest/test_massign.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/bootstraptest/test_method.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 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/bootstraptest/test_objectspace.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>bootstraptest/test_objectspace.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/bootstraptest/test_proc.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>bootstraptest/test_proc.rb</a></td><td class='right'>470</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/bootstraptest/test_ractor.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>bootstraptest/test_ractor.rb</a></td><td class='right'>1316</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/bootstraptest/test_string.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/bootstraptest/test_struct.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/bootstraptest/test_syntax.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>bootstraptest/test_syntax.rb</a></td><td class='right'>906</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/bootstraptest/test_thread.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>bootstraptest/test_thread.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/builtin.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>builtin.c</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/builtin.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>builtin.h</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/ccan/build_assert/build_assert.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ccan/check_type/check_type.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ccan/container_of/container_of.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/ccan/licenses/BSD-MIT?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ccan/licenses/CC0?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ccan/list/list.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/ccan/str/str.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>class.c</a></td><td class='right'>2412</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 2.2%;'/><td class='rem' style='width: 0.4%;'/><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/common.mk?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>common.mk</a></td><td class='right'>16366</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 17.6%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 82.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/compar.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>compar.c</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.1%;'/><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/compile.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>compile.c</a></td><td class='right'>12107</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 13.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 86.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/complex.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>complex.c</a></td><td class='right'>2453</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='del'><a href='/ruby.git/diff/config.guess?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>config.guess</a></td><td class='right'>961</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/config.sub?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>config.sub</a></td><td class='right'>969</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/config_h.dj?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>config_h.dj</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/config_s.dj?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>config_s.dj</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/configure?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>configure</a></td><td class='right'>5006</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 5.4%;'/><td class='none' style='width: 94.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/configure.ac?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>configure.ac</a></td><td class='right'>4201</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 4.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 95.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/configure.bat?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>configure.bat</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/configure.in?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>configure.in</a></td><td class='right'>789</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/constant.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>constant.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/cont.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>cont.c</a></td><td class='right'>3126</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 3.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 96.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/coroutine/Stack.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>coroutine/Stack.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='add'><a href='/ruby.git/diff/coroutine/amd64/Context.S?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/coroutine/amd64/Context.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>coroutine/amd64/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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/coroutine/arm32/Context.S?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>coroutine/arm32/Context.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='add'><a href='/ruby.git/diff/coroutine/arm32/Context.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>coroutine/arm32/Context.h</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/coroutine/arm64/Context.S?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>coroutine/arm64/Context.S</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/coroutine/arm64/Context.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>coroutine/arm64/Context.h</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/coroutine/copy/Context.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>coroutine/copy/Context.c</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/coroutine/copy/Context.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>coroutine/copy/Context.h</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/coroutine/ppc64le/Context.S?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>coroutine/ppc64le/Context.S</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/coroutine/ppc64le/Context.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>coroutine/ppc64le/Context.h</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/coroutine/ucontext/Context.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>coroutine/ucontext/Context.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='add'><a href='/ruby.git/diff/coroutine/ucontext/Context.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>coroutine/ucontext/Context.h</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/coroutine/win32/Context.S?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>coroutine/win32/Context.S</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/coroutine/win32/Context.asm?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/coroutine/win32/Context.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>coroutine/win32/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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/coroutine/win64/Context.S?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/coroutine/win64/Context.asm?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/coroutine/win64/Context.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>coroutine/win64/Context.h</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/coroutine/x86/Context.S?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>coroutine/x86/Context.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/coroutine/x86/Context.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>coroutine/x86/Context.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/coverage/README?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>cygwin/GNUmakefile.in</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/debug.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>debug.c</a></td><td class='right'>511</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/debug_counter.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>debug_counter.c</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/debug_counter.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>debug_counter.h</a></td><td class='right'>457</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/defines.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>defines.h</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='add'><a href='/ruby.git/diff/defs/gmake.mk?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>defs/gmake.mk</a></td><td class='right'>396</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/defs/id.def?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>defs/id.def</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/defs/keywords?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/defs/known_errors.def?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/defs/lex.c.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/defs/opt_insn_unif.def?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/defs/opt_operand.def?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/defs/separated_version.mk?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/defs/universal.mk?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>dir.c</a></td><td class='right'>3575</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 3.5%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 96.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/dir.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>dir.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.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/dln.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>dln.c</a></td><td class='right'>942</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/dln.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>dln.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/dln_find.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>dln_find.c</a></td><td class='right'>296</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/dmydln.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>dmydln.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='add'><a href='/ruby.git/diff/dmyenc.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/doc/.document?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/.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='add'><a href='/ruby.git/diff/doc/ChangeLog-0.06_to_0.52?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 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/doc/ChangeLog-0.50_to_0.60?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/doc/ChangeLog-0.60_to_1.1?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 4.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 95.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/doc/ChangeLog-1.8.0?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/ChangeLog-1.8.0</a></td><td class='right'>24350</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 26.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 73.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/doc/ChangeLog-1.9.3?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 100.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 0.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/doc/ChangeLog-2.0.0?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 25.9%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 74.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/doc/ChangeLog-2.1.0?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 19.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 80.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/doc/ChangeLog-2.2.0?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 13.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 86.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/doc/ChangeLog-2.3.0?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 13.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 86.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/doc/ChangeLog-2.4.0?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 10.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 89.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/doc/ChangeLog-YARV?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 7.5%;'/><td class='rem' style='width: 0.0%;'/><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-1.8.7?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/doc/NEWS-1.9.1?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/doc/NEWS-1.9.2?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/doc/NEWS-1.9.3?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/doc/NEWS-2.0.0?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/NEWS-2.0.0</a></td><td class='right'>529</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/doc/NEWS-2.1.0?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/doc/NEWS-2.2.0?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/NEWS-2.2.0</a></td><td class='right'>359</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/doc/NEWS-2.3.0?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/NEWS-2.3.0</a></td><td class='right'>384</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/doc/NEWS-2.4.0?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/NEWS-2.4.0</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/doc/NEWS-2.5.0?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/NEWS-2.5.0</a></td><td class='right'>565</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/doc/NEWS-2.6.0?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/NEWS-2.6.0</a></td><td class='right'>662</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/doc/NEWS-2.7.0?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/NEWS-2.7.0</a></td><td class='right'>826</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/doc/bug_triaging.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/bug_triaging.rdoc</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/doc/contributing.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/contributing.rdoc</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/doc/csv/arguments/io.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/csv/arguments/io.rdoc</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/doc/csv/options/common/col_sep.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/csv/options/common/col_sep.rdoc</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/doc/csv/options/common/quote_char.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/csv/options/common/quote_char.rdoc</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/doc/csv/options/common/row_sep.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/csv/options/common/row_sep.rdoc</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/doc/csv/options/generating/force_quotes.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/csv/options/generating/force_quotes.rdoc</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/doc/csv/options/generating/quote_empty.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/csv/options/generating/quote_empty.rdoc</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/doc/csv/options/generating/write_converters.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/csv/options/generating/write_converters.rdoc</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/doc/csv/options/generating/write_empty_value.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/csv/options/generating/write_empty_value.rdoc</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/doc/csv/options/generating/write_headers.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/csv/options/generating/write_headers.rdoc</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/doc/csv/options/generating/write_nil_value.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/csv/options/generating/write_nil_value.rdoc</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/doc/csv/options/parsing/converters.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/csv/options/parsing/converters.rdoc</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/doc/csv/options/parsing/empty_value.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/csv/options/parsing/empty_value.rdoc</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/doc/csv/options/parsing/field_size_limit.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/csv/options/parsing/field_size_limit.rdoc</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/doc/csv/options/parsing/header_converters.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/csv/options/parsing/header_converters.rdoc</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/doc/csv/options/parsing/headers.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/csv/options/parsing/headers.rdoc</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/doc/csv/options/parsing/liberal_parsing.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/csv/options/parsing/liberal_parsing.rdoc</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/doc/csv/options/parsing/nil_value.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/csv/options/parsing/nil_value.rdoc</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/doc/csv/options/parsing/return_headers.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/csv/options/parsing/return_headers.rdoc</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/doc/csv/options/parsing/skip_blanks.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/csv/options/parsing/skip_blanks.rdoc</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/doc/csv/options/parsing/skip_lines.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/csv/options/parsing/skip_lines.rdoc</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/doc/csv/options/parsing/strip.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/csv/options/parsing/strip.rdoc</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/doc/csv/options/parsing/unconverted_fields.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/csv/options/parsing/unconverted_fields.rdoc</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/doc/csv/recipes/filtering.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/csv/recipes/filtering.rdoc</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/doc/csv/recipes/generating.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/csv/recipes/generating.rdoc</a></td><td class='right'>244</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/doc/csv/recipes/parsing.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/csv/recipes/parsing.rdoc</a></td><td class='right'>543</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/doc/csv/recipes/recipes.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/csv/recipes/recipes.rdoc</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/doc/dig_methods.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/dig_methods.rdoc</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/doc/dtrace_probes.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/dtrace_probes.rdoc</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/doc/extension.ja.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/extension.ja.rdoc</a></td><td class='right'>1845</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/doc/extension.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/extension.rdoc</a></td><td class='right'>2180</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/doc/fiber.md?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/fiber.md</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/doc/forwardable.rd.ja?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/forwardable.rd.ja</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/doc/globals.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/globals.rdoc</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/doc/images/boottime-classes.png?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/images/boottime-classes.png</a></td><td class='right'>bin</td><td class='graph'>0 -> 28677 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/doc/implicit_conversion.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/implicit_conversion.rdoc</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/doc/irb/irb-tools.rd.ja?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/irb/irb-tools.rd.ja</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/doc/irb/irb.rd.ja?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/irb/irb.rd.ja</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/doc/keywords.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/keywords.rdoc</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/doc/maintainers.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/maintainers.rdoc</a></td><td class='right'>417</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/doc/make_cheatsheet.md?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/make_cheatsheet.md</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/doc/marshal.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/doc/memory_view.md?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/memory_view.md</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>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/doc/method_documentation.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/method_documentation.rdoc</a></td><td class='right'>183</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/doc/pty/README.expect.ja?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/doc/pty/README.ja?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/ractor.md?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/ractor.md</a></td><td class='right'>931</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/doc/regexp.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/regexp.rdoc</a></td><td class='right'>724</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/doc/security.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/security.rdoc</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/doc/signals.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/standard_library.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/standard_library.rdoc</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/doc/syntax.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/syntax.rdoc</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/doc/syntax/assignment.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/syntax/assignment.rdoc</a></td><td class='right'>477</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/doc/syntax/calling_methods.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/syntax/calling_methods.rdoc</a></td><td class='right'>411</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/doc/syntax/comments.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/syntax/comments.rdoc</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/doc/syntax/control_expressions.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/syntax/control_expressions.rdoc</a></td><td class='right'>571</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/doc/syntax/exceptions.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/syntax/exceptions.rdoc</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/doc/syntax/literals.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/syntax/literals.rdoc</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/doc/syntax/methods.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/syntax/methods.rdoc</a></td><td class='right'>611</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/doc/syntax/miscellaneous.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/syntax/miscellaneous.rdoc</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/doc/syntax/modules_and_classes.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/syntax/modules_and_classes.rdoc</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/doc/syntax/pattern_matching.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/syntax/pattern_matching.rdoc</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='add'><a href='/ruby.git/diff/doc/syntax/precedence.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/syntax/precedence.rdoc</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/doc/syntax/refinements.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>doc/syntax/refinements.rdoc</a></td><td class='right'>284</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/doc/yarvarch.en?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/doc/yarvarch.ja?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/Makefile.in?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>enc/Makefile.in</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/enc/ascii.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>enc/ascii.c</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/enc/big5.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/cesu_8.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>enc/cesu_8.c</a></td><td class='right'>454</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/enc/cp949.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>enc/depend</a></td><td class='right'>6716</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 7.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 92.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/ebcdic.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/enc/emacs_mule.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/encdb.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/enc/encinit.c.erb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/enc/euc_jp.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/euc_kr.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/euc_tw.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/gb18030.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/gb2312.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>enc/gb2312.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/enc/gbk.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/iso_2022_jp.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/iso_8859.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/enc/iso_8859_1.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/iso_8859_10.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/iso_8859_11.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/iso_8859_13.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/iso_8859_14.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/iso_8859_15.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/iso_8859_16.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/iso_8859_2.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/iso_8859_3.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/iso_8859_4.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/iso_8859_5.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/iso_8859_6.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/iso_8859_7.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/iso_8859_8.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/iso_8859_9.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/jis/props.h.blt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/jis/props.kwd?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/jis/props.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/koi8_r.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/koi8_u.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/enc/make_encmake.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/mktable.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 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/enc/shift_jis.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/shift_jis.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/trans/CP/CP932UDA%25UCS.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 2.1%;'/><td class='rem' style='width: 0.0%;'/><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/enc/trans/CP/CP932VDC@IBM%25UCS.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/trans/CP/CP932VDC@NEC_IBM%25UCS.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/trans/CP/UCS%25CP932UDA.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 2.1%;'/><td class='rem' style='width: 0.0%;'/><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/enc/trans/CP/UCS%25CP932VDC@IBM.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/trans/CP/UCS%25CP932VDC@NEC_IBM.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/trans/EMOJI/EMOJI_ISO-2022-JP-KDDI%25UCS.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/trans/EMOJI/EMOJI_SHIFT_JIS-DOCOMO%25UCS.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/trans/EMOJI/EMOJI_SHIFT_JIS-KDDI%25UCS.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/trans/EMOJI/EMOJI_SHIFT_JIS-KDDI-UNDOC%25UCS.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/trans/EMOJI/EMOJI_SHIFT_JIS-SOFTBANK%25UCS.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/trans/EMOJI/UCS%25EMOJI_ISO-2022-JP-KDDI-UNDOC.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/trans/EMOJI/UCS%25EMOJI_ISO-2022-JP-KDDI.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/trans/EMOJI/UCS%25EMOJI_SHIFT_JIS-DOCOMO.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/trans/EMOJI/UCS%25EMOJI_SHIFT_JIS-KDDI-UNDOC.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/trans/EMOJI/UCS%25EMOJI_SHIFT_JIS-KDDI.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/trans/EMOJI/UCS%25EMOJI_SHIFT_JIS-SOFTBANK.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/trans/GB/GB12345%25UCS.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 8.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 91.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/GB/GB2312%25UCS.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 8.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 91.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/GB/UCS%25GB12345.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 8.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 91.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/GB/UCS%25GB2312.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 8.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 92.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/JIS/JISX0201-KANA%25UCS.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/JIS/JISX0208@1990%25UCS.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 7.5%;'/><td class='rem' style='width: 0.0%;'/><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/enc/trans/JIS/JISX0208@MS%25UCS.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 7.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 92.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/JIS/JISX0208UDC%25UCS.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 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/enc/trans/JIS/JISX0208VDC@NEC%25UCS.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/JIS/JISX0212%25UCS.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 6.6%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 93.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/JIS/JISX0212@MS%25UCS.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 6.6%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 93.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/JIS/JISX0212UDC%25UCS.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 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/enc/trans/JIS/JISX0212VDC@IBM%25UCS.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/JIS/JISX0213-1%25UCS@BMP.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 2.1%;'/><td class='rem' style='width: 0.0%;'/><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/enc/trans/JIS/JISX0213-1%25UCS@SIP.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/JIS/JISX0213-2%25UCS@BMP.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 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/enc/trans/JIS/JISX0213-2%25UCS@SIP.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/trans/JIS/UCS%25JISX0201-KANA.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/JIS/UCS%25JISX0208@1990.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 7.5%;'/><td class='rem' style='width: 0.0%;'/><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/enc/trans/JIS/UCS%25JISX0208@MS.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 7.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 92.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/JIS/UCS%25JISX0208UDC.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 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/enc/trans/JIS/UCS%25JISX0208VDC@NEC.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/JIS/UCS%25JISX0212.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 6.6%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 93.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/JIS/UCS%25JISX0212@MS.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 6.6%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 93.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/JIS/UCS%25JISX0212UDC.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 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/enc/trans/JIS/UCS%25JISX0212VDC@IBM.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/JIS/UCS@BMP%25JISX0213-1.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 2.1%;'/><td class='rem' style='width: 0.0%;'/><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/enc/trans/JIS/UCS@BMP%25JISX0213-2.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 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/enc/trans/JIS/UCS@SIP%25JISX0213-1.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/JIS/UCS@SIP%25JISX0213-2.src?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/trans/big5-hkscs-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 40.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 59.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/big5-uao-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 21.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 78.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/big5.trans?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/enc/trans/cesu_8.trans?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>enc/trans/cesu_8.trans</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/enc/trans/chinese.trans?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/enc/trans/cp850-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/cp852-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/cp855-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/cp949-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 9.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 90.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/ebcdic.trans?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/trans/emoji-exchange-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 9.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 90.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/emoji.trans?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/enc/trans/emoji_iso2022_kddi.trans?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/trans/emoji_sjis_docomo.trans?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/enc/trans/emoji_sjis_kddi.trans?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/enc/trans/emoji_sjis_softbank.trans?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/enc/trans/escape.trans?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>enc/trans/escape.trans</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/enc/trans/euckr-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 8.9%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 91.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/gb18030-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 68.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 31.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/gb18030.trans?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/trans/gbk-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 23.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 76.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/gbk.trans?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/enc/trans/ibm437-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/ibm720-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>enc/trans/ibm720-tbl.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/enc/trans/ibm737-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/ibm775-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/ibm852-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/ibm855-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/ibm857-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/ibm860-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/ibm861-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/ibm862-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/ibm863-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/ibm865-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/ibm866-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/ibm869-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/iso-8859-1-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/iso-8859-10-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/iso-8859-11-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/iso-8859-13-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/iso-8859-14-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/iso-8859-15-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/iso-8859-16-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/iso-8859-2-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/iso-8859-3-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/iso-8859-4-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/iso-8859-5-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/iso-8859-6-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/iso-8859-7-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/iso-8859-8-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/iso-8859-9-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/iso2022.trans?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/trans/japanese.trans?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/japanese_euc.trans?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/japanese_sjis.trans?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/enc/trans/koi8-r-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/koi8-u-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/korean.trans?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/enc/trans/maccroatian-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/maccyrillic-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/macgreek-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/maciceland-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/macroman-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/macromania-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/macturkish-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/macukraine-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/newline.trans?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/single_byte.trans?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>enc/trans/single_byte.trans</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/enc/trans/tis-620-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/transdb.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/enc/trans/ucm/glibc-BIG5-2.3.3.ucm?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 15.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 84.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/ucm/glibc-BIG5HKSCS-2.3.3.ucm?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 19.8%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 80.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/ucm/windows-950-2000.ucm?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 22.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 78.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/ucm/windows-950_hkscs-2001.ucm?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 25.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 74.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/utf8_mac-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 25.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 75.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/utf8_mac.trans?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/trans/utf_16_32.trans?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/trans/windows-1250-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/windows-1251-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/windows-1252-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/windows-1253-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/windows-1254-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/windows-1255-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/trans/windows-1256-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/windows-1257-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/trans/windows-874-tbl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/unicode.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>enc/unicode.c</a></td><td class='right'>820</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/enc/unicode/12.1.0/casefold.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>enc/unicode/12.1.0/casefold.h</a></td><td class='right'>7428</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 8.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 92.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/unicode/12.1.0/name2ctype.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>enc/unicode/12.1.0/name2ctype.h</a></td><td class='right'>41810</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 45.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 54.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/unicode/case-folding.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/us_ascii.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/enc/utf_16_32.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/enc/utf_16be.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/utf_16le.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/utf_32be.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/utf_32le.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/utf_7.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/enc/utf_8.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/windows_1250.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/windows_1251.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/windows_1252.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/windows_1253.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/windows_1254.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/windows_1257.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/enc/windows_31j.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/enc/x_emoji.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/encindex.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>encindex.h</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/encoding.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>encoding.c</a></td><td class='right'>2215</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='upd'><a href='/ruby.git/diff/enum.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>enum.c</a></td><td class='right'>4258</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 4.4%;'/><td class='rem' style='width: 0.2%;'/><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/enumerator.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>enumerator.c</a></td><td class='right'>4214</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 4.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 95.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/env.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>env.h</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/error.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>error.c</a></td><td class='right'>3856</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 3.3%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 95.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/eval.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>eval.c</a></td><td class='right'>8622</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.7%;'/><td class='rem' style='width: 7.6%;'/><td class='none' style='width: 90.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/eval_error.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>eval_error.c</a></td><td class='right'>513</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/eval_intern.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>eval_intern.h</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/eval_jump.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>eval_jump.c</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/-test-/RUBY_ALIGNOF/c.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/RUBY_ALIGNOF/c.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/ext/-test-/RUBY_ALIGNOF/cpp.cpp?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/RUBY_ALIGNOF/cpp.cpp</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/-test-/RUBY_ALIGNOF/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/RUBY_ALIGNOF/depend</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/-test-/RUBY_ALIGNOF/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/RUBY_ALIGNOF/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/-test-/arith_seq/extract/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/arith_seq/extract/depend</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/-test-/arith_seq/extract/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/arith_seq/extract/extract.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/array/resize/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/array/resize/depend</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/-test-/array/resize/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/array/resize/resize.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/auto_ext.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/bignum/big2str.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/-test-/bignum/bigzero.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/bignum/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/bignum/depend</a></td><td class='right'>1141</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/-test-/bignum/div.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/bignum/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/bignum/init.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/bignum/intpack.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/-test-/bignum/mul.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/-test-/bignum/str2big.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/bug-14834/bug-14384.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/bug-14834/bug-14384.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='add'><a href='/ruby.git/diff/ext/-test-/bug-14834/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/bug-14834/depend</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/-test-/bug-14834/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/bug-14834/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/-test-/bug-3571/bug.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/bug-3571/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/bug-3571/depend</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/-test-/bug-3571/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/bug-5832/bug.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/bug-5832/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/bug-5832/depend</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/-test-/bug-5832/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/bug_reporter/bug_reporter.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/bug_reporter/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/bug_reporter/depend</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/-test-/bug_reporter/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/class/class2name.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/class/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/class/depend</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/-test-/class/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/class/init.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/cxxanyargs/cxxanyargs.cpp?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/cxxanyargs/cxxanyargs.cpp</a></td><td class='right'>961</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/-test-/cxxanyargs/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/cxxanyargs/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='add'><a href='/ruby.git/diff/ext/-test-/cxxanyargs/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/cxxanyargs/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='add'><a href='/ruby.git/diff/ext/-test-/cxxanyargs/failure.cpp?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/cxxanyargs/failure.cpp</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/-test-/cxxanyargs/failurem1.cpp?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/cxxanyargs/failurem1.cpp</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/-test-/debug/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/debug/depend</a></td><td class='right'>485</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/-test-/debug/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/debug/init.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/debug/inspector.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/debug/profile_frames.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/dln/empty/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/dln/empty/empty.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/dln/empty/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/enumerator_kw/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/enumerator_kw/depend</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/-test-/enumerator_kw/enumerator_kw.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/enumerator_kw/enumerator_kw.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='add'><a href='/ruby.git/diff/ext/-test-/enumerator_kw/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/enumerator_kw/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='add'><a href='/ruby.git/diff/ext/-test-/exception/dataerror.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/exception/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/exception/depend</a></td><td class='right'>648</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/-test-/exception/enc_raise.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/exception/ensured.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/exception/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/exception/init.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/fatal/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/fatal/depend</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/-test-/fatal/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/fatal/rb_fatal.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/file/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/file/depend</a></td><td class='right'>491</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/-test-/file/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/file/fs.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/file/fs.c</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/-test-/file/init.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/file/stat.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/float/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/float/depend</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/ext/-test-/float/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/float/init.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/float/nextafter.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/funcall/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/funcall/depend</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/-test-/funcall/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/funcall/funcall.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/funcall/funcall.c</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/-test-/gvl/call_without_gvl/call_without_gvl.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/gvl/call_without_gvl/call_without_gvl.c</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/-test-/gvl/call_without_gvl/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/gvl/call_without_gvl/depend</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/-test-/gvl/call_without_gvl/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/hash/delete.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/hash/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/hash/depend</a></td><td class='right'>324</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/-test-/hash/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/hash/init.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/integer/core_ext.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/integer/core_ext.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/ext/-test-/integer/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/integer/depend</a></td><td class='right'>494</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/-test-/integer/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/integer/init.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/integer/my_integer.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/iseq_load/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/iseq_load/depend</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/-test-/iseq_load/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/iseq_load/iseq_load.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/iter/break.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/iter/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/iter/depend</a></td><td class='right'>485</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/-test-/iter/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/iter/init.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/iter/yield.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/load/dot.dot/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/load/dot.dot/dot.dot.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/load/dot.dot/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/load/protect/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/load/protect/depend</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/-test-/load/protect/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/load/protect/protect.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/marshal/compat/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/marshal/compat/depend</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/-test-/marshal/compat/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/marshal/compat/usrcompat.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/marshal/internal_ivar/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/marshal/internal_ivar/depend</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/-test-/marshal/internal_ivar/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/marshal/internal_ivar/internal_ivar.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/marshal/internal_ivar/internal_ivar.c</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/-test-/marshal/usr/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/marshal/usr/depend</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/-test-/marshal/usr/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/marshal/usr/usrmarshal.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/-test-/memory_status/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/memory_status/depend</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/-test-/memory_status/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/memory_status/memory_status.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/-test-/memory_view/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/memory_view/depend</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/-test-/memory_view/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/memory_view/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='add'><a href='/ruby.git/diff/ext/-test-/memory_view/memory_view.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/memory_view/memory_view.c</a></td><td class='right'>446</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/-test-/method/arity.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/method/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/method/depend</a></td><td class='right'>324</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/-test-/method/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/method/init.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/notimplement/bug.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/notimplement/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/notimplement/depend</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/-test-/notimplement/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/num2int/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/num2int/depend</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/-test-/num2int/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/num2int/num2int.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/-test-/path_to_class/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/path_to_class/depend</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/-test-/path_to_class/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/path_to_class/path_to_class.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/popen_deadlock/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/popen_deadlock/depend</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/-test-/popen_deadlock/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/popen_deadlock/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/-test-/popen_deadlock/infinite_loop_dlsym.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/-test-/postponed_job/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/postponed_job/depend</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/-test-/postponed_job/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/postponed_job/postponed_job.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/postponed_job/postponed_job.c</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/-test-/printf/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/printf/depend</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/-test-/printf/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/printf/printf.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/-test-/proc/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/proc/depend</a></td><td class='right'>485</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/-test-/proc/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/proc/init.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/proc/receiver.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/proc/super.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/random/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/random/depend</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/ext/-test-/random/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/random/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='add'><a href='/ruby.git/diff/ext/-test-/random/init.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/random/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='add'><a href='/ruby.git/diff/ext/-test-/random/loop.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/random/loop.c</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/-test-/rational/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/rational/depend</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/-test-/rational/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/rational/rat.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/rational/rat.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/ext/-test-/rb_call_super_kw/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/rb_call_super_kw/depend</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/-test-/rb_call_super_kw/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/rb_call_super_kw/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='add'><a href='/ruby.git/diff/ext/-test-/rb_call_super_kw/rb_call_super_kw.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/rb_call_super_kw/rb_call_super_kw.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='add'><a href='/ruby.git/diff/ext/-test-/recursion/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/recursion/depend</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/-test-/recursion/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/recursion/recursion.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/regexp/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/regexp/depend</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/ext/-test-/regexp/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/regexp/init.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/regexp/parse_depth_limit.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/-test-/scan_args/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/scan_args/depend</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/-test-/scan_args/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/scan_args/scan_args.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/scan_args/scan_args.c</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/-test-/st/foreach/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/st/foreach/depend</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/-test-/st/foreach/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/st/foreach/foreach.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/-test-/st/numhash/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/st/numhash/depend</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/-test-/st/numhash/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/st/numhash/numhash.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/st/numhash/numhash.c</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'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/-test-/st/update/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/st/update/depend</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/-test-/st/update/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/st/update/update.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/string/capacity.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/string/coderange.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/-test-/string/cstr.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/string/cstr.c</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/-test-/string/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/string/depend</a></td><td class='right'>2610</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/ext/-test-/string/ellipsize.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/string/enc_associate.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/string/enc_str_buf_cat.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/string/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/string/fstring.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/string/init.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/string/modify.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/string/new.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/string/nofree.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/string/normalize.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/string/qsort.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/-test-/string/rb_interned_str.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/string/rb_interned_str.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='add'><a href='/ruby.git/diff/ext/-test-/string/rb_str_dup.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/string/rb_str_dup.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/-test-/string/set_len.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/struct/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/struct/depend</a></td><td class='right'>646</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/-test-/struct/duplicate.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/struct/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/struct/init.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/struct/len.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/struct/member.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/symbol/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/symbol/depend</a></td><td class='right'>324</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/-test-/symbol/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/symbol/init.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/symbol/init.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='add'><a href='/ruby.git/diff/ext/-test-/symbol/type.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/-test-/thread_fd_close/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/thread_fd_close/depend</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/-test-/thread_fd_close/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/thread_fd_close/thread_fd_close.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/time/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/time/depend</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='add'><a href='/ruby.git/diff/ext/-test-/time/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/time/init.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/time/leap_second.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/time/leap_second.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='add'><a href='/ruby.git/diff/ext/-test-/time/new.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/tracepoint/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/tracepoint/depend</a></td><td class='right'>324</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/-test-/tracepoint/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/tracepoint/gc_hook.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/tracepoint/gc_hook.c</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/-test-/tracepoint/tracepoint.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/-test-/typeddata/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/typeddata/depend</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/-test-/typeddata/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/typeddata/typeddata.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/vm/at_exit.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/vm/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/vm/depend</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/-test-/vm/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/wait_for_single_fd/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/wait_for_single_fd/depend</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/-test-/wait_for_single_fd/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/-test-/wait_for_single_fd/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='add'><a href='/ruby.git/diff/ext/-test-/wait_for_single_fd/wait_for_single_fd.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/-test-/win32/console/attribute.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/-test-/win32/console/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/win32/console/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/win32/console/init.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/win32/dln/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/win32/dln/dlntest.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/win32/dln/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/win32/dln/libdlntest.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/win32/dln/libdlntest.def?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/win32/fd_setsize/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/win32/fd_setsize/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/-test-/win32/fd_setsize/fd_setsize.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/.document?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/.document</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='upd'><a href='/ruby.git/diff/ext/Setup?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/Setup</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/Setup.atheos?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/Setup.atheos</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/Setup.dj?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/Setup.dj</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/Setup.emx?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/Setup.emx</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/Setup.nt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/Setup.nt</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/Setup.x68?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/Setup.x68</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/Win32API/MANIFEST?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/Win32API/MANIFEST</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/Win32API/Win32API.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/Win32API/Win32API.c</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/ext/Win32API/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='del'><a href='/ruby.git/diff/ext/Win32API/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/Win32API/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/Win32API/getch.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='del'><a href='/ruby.git/diff/ext/Win32API/point.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='del'><a href='/ruby.git/diff/ext/aix_mksym.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/aix_mksym.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/bigdecimal/bigdecimal.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/bigdecimal/bigdecimal.c</a></td><td class='right'>6742</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 7.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 92.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/bigdecimal/bigdecimal.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/bigdecimal/bigdecimal.gemspec</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/bigdecimal/bigdecimal.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/bigdecimal/bigdecimal.h</a></td><td class='right'>400</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/bigdecimal/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/bigdecimal/depend</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/bigdecimal/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/bigdecimal/extconf.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/bigdecimal/lib/bigdecimal.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/bigdecimal/lib/bigdecimal.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/ext/bigdecimal/lib/bigdecimal/jacobian.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/bigdecimal/lib/bigdecimal/jacobian.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/bigdecimal/lib/bigdecimal/ludcmp.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/bigdecimal/lib/bigdecimal/ludcmp.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/bigdecimal/lib/bigdecimal/math.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/bigdecimal/lib/bigdecimal/math.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/bigdecimal/lib/bigdecimal/newton.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/bigdecimal/lib/bigdecimal/newton.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/bigdecimal/lib/bigdecimal/util.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/bigdecimal/lib/bigdecimal/util.rb</a></td><td class='right'>181</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/bigdecimal/sample/linear.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/bigdecimal/sample/linear.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/bigdecimal/sample/nlsolve.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/bigdecimal/sample/nlsolve.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/bigdecimal/sample/pi.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/bigdecimal/sample/pi.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/cgi/escape/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/cgi/escape/depend</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/cgi/escape/escape.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/cgi/escape/escape.c</a></td><td class='right'>411</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/cgi/escape/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/continuation/continuation.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/continuation/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/continuation/depend</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/continuation/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/coverage/coverage.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/coverage/coverage.c</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/coverage/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/coverage/depend</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/ext/coverage/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/coverage/lib/coverage.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='del'><a href='/ruby.git/diff/ext/curses/MANIFEST?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/curses/MANIFEST</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/curses/curses.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/curses/curses.c</a></td><td class='right'>850</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/curses/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/curses/extconf.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/curses/hello.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='del'><a href='/ruby.git/diff/ext/curses/rain.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' 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/curses/view.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.0%;'/><td class='rem' style='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/date/date.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/date/date.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='add'><a href='/ruby.git/diff/ext/date/date_core.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/date/date_core.c</a></td><td class='right'>9768</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 10.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 89.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/date/date_parse.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/date/date_parse.c</a></td><td class='right'>3036</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 3.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 96.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/date/date_strftime.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/date/date_strptime.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/date/date_strptime.c</a></td><td class='right'>703</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/date/date_tmx.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/date/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/date/depend</a></td><td class='right'>665</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/date/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/date/lib/date.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/date/lib/date.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/date/prereq.mk?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/date/prereq.mk</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/date/update-abbr?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/date/update-abbr</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/date/zonetab.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/date/zonetab.h</a></td><td class='right'>1562</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/date/zonetab.list?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/date/zonetab.list</a></td><td class='right'>327</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='del'><a href='/ruby.git/diff/ext/dbm/MANIFEST?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/dbm/MANIFEST</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/dbm/dbm.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/dbm/dbm.c</a></td><td class='right'>1047</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.9%;'/><td class='rem' style='width: 0.3%;'/><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/dbm/dbm.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/dbm/dbm.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/dbm/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/dbm/depend</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='upd'><a href='/ruby.git/diff/ext/dbm/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/dbm/extconf.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/digest/bubblebabble/bubblebabble.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/digest/bubblebabble/bubblebabble.c</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/digest/bubblebabble/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/digest/bubblebabble/depend</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/digest/bubblebabble/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/digest/bubblebabble/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/digest/defs.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/digest/defs.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='add'><a href='/ruby.git/diff/ext/digest/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/digest/depend</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/digest/digest.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/digest/digest.c</a></td><td class='right'>825</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/digest/digest.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/digest/digest.gemspec</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/digest/digest.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/digest/digest.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='add'><a href='/ruby.git/diff/ext/digest/digest_conf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/digest/digest_conf.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/digest/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/digest/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/digest/lib/digest.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/digest/lib/digest.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/ext/digest/md5/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/digest/md5/depend</a></td><td class='right'>332</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/digest/md5/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/digest/md5/extconf.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/digest/md5/md5.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/digest/md5/md5.c</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/ext/digest/md5/md5.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/digest/md5/md5.h</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/digest/md5/md5cc.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/digest/md5/md5cc.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='add'><a href='/ruby.git/diff/ext/digest/md5/md5init.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/digest/md5/md5init.c</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/digest/rmd160/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/digest/rmd160/depend</a></td><td class='right'>332</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/digest/rmd160/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/digest/rmd160/extconf.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/digest/rmd160/rmd160.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/digest/rmd160/rmd160.c</a></td><td class='right'>463</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/digest/rmd160/rmd160.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/digest/rmd160/rmd160.h</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/digest/rmd160/rmd160init.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/digest/rmd160/rmd160init.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/ext/digest/sha1/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/digest/sha1/depend</a></td><td class='right'>332</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/digest/sha1/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/digest/sha1/extconf.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/digest/sha1/sha1.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/digest/sha1/sha1.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/ext/digest/sha1/sha1.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/digest/sha1/sha1.h</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/digest/sha1/sha1cc.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/digest/sha1/sha1init.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/digest/sha1/sha1init.c</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/digest/sha2/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/digest/sha2/depend</a></td><td class='right'>331</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/digest/sha2/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/digest/sha2/lib/sha2.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/digest/sha2/lib/sha2.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/digest/sha2/sha2.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/digest/sha2/sha2.c</a></td><td class='right'>1081</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/digest/sha2/sha2.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/digest/sha2/sha2.h</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/digest/sha2/sha2cc.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/digest/sha2/sha2init.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/digest/sha2/sha2init.c</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/digest/test.sh?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/digest/test.sh</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/etc/MANIFEST?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/etc/MANIFEST</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/etc/depend</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='upd'><a href='/ruby.git/diff/ext/etc/etc.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/etc/etc.c</a></td><td class='right'>1171</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.1%;'/><td class='rem' style='width: 0.1%;'/><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/etc/etc.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/etc/etc.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='del'><a href='/ruby.git/diff/ext/etc/etc.txt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' 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/etc.txt.jp?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/etc/etc.txt.jp</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/ext/etc/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/etc/extconf.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/etc/mkconstants.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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='add'><a href='/ruby.git/diff/ext/extmk.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/extmk.rb</a></td><td class='right'>777</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/ext/extmk.rb.in?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/extmk.rb.in</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/ext/fcntl/MANIFEST?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/fcntl/MANIFEST</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=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/fcntl/depend</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/fcntl/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/fcntl/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/fcntl/fcntl.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/fcntl/fcntl.c</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/fcntl/fcntl.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/fcntl/fcntl.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='add'><a href='/ruby.git/diff/ext/fiber/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/fiber/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='add'><a href='/ruby.git/diff/ext/fiber/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/fiber/fiber.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/fiddle/closure.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/fiddle/closure.c</a></td><td class='right'>346</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/fiddle/closure.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/fiddle/conversions.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/fiddle/conversions.c</a></td><td class='right'>330</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/fiddle/conversions.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/fiddle/conversions.h</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/fiddle/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/fiddle/depend</a></td><td class='right'>1383</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/fiddle/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/fiddle/extconf.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/fiddle/extlibs?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/fiddle/extlibs</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/fiddle/fiddle.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/fiddle/fiddle.c</a></td><td class='right'>553</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/fiddle/fiddle.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/fiddle/fiddle.gemspec</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/fiddle/fiddle.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/fiddle/fiddle.h</a></td><td class='right'>202</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/fiddle/function.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/fiddle/function.c</a></td><td class='right'>483</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/fiddle/function.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/fiddle/handle.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/fiddle/handle.c</a></td><td class='right'>477</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/fiddle/lib/fiddle.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/fiddle/lib/fiddle.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/fiddle/lib/fiddle/closure.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/fiddle/lib/fiddle/cparser.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/fiddle/lib/fiddle/cparser.rb</a></td><td class='right'>262</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/fiddle/lib/fiddle/function.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/fiddle/lib/fiddle/function.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/fiddle/lib/fiddle/import.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/fiddle/lib/fiddle/import.rb</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/fiddle/lib/fiddle/pack.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/fiddle/lib/fiddle/struct.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/fiddle/lib/fiddle/struct.rb</a></td><td class='right'>468</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/fiddle/lib/fiddle/types.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/fiddle/lib/fiddle/value.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/fiddle/lib/fiddle/version.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/fiddle/lib/fiddle/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='add'><a href='/ruby.git/diff/ext/fiddle/memory_view.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/fiddle/memory_view.c</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/ext/fiddle/pinned.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/fiddle/pinned.c</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/fiddle/pointer.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/fiddle/pointer.c</a></td><td class='right'>844</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/fiddle/win32/fficonfig.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/fiddle/win32/libffi-3.2.1-mswin.patch?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/ext/fiddle/win32/libffi-config.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/fiddle/win32/libffi.mk.tmpl?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='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/gdbm/MANIFEST?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/gdbm/MANIFEST</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/gdbm/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/gdbm/depend</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='upd'><a href='/ruby.git/diff/ext/gdbm/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/gdbm/gdbm.c</a></td><td class='right'>1357</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.1%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 98.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/gdbm/gdbm.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/gdbm/gdbm.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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/ext/io/console/buildgem.sh?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/io/console/console.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/io/console/console.c</a></td><td class='right'>1689</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/io/console/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/io/console/depend</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/io/console/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/io/console/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/io/console/io-console.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/io/console/io-console.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='add'><a href='/ruby.git/diff/ext/io/console/lib/console/size.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/io/console/win32_vk.chksum?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/io/console/win32_vk.inc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 1.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/io/console/win32_vk.list?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/io/nonblock/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/io/nonblock/depend</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>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/io/nonblock/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/io/nonblock/io-nonblock.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/io/nonblock/io-nonblock.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='add'><a href='/ruby.git/diff/ext/io/nonblock/nonblock.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/io/wait/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/io/wait/depend</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>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/io/wait/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/io/wait/extconf.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/io/wait/io-wait.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/io/wait/io-wait.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='add'><a href='/ruby.git/diff/ext/io/wait/wait.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/io/wait/wait.c</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/json/VERSION?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/json/VERSION</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/json/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/json/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/json/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/json/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='add'><a href='/ruby.git/diff/ext/json/fbuffer/fbuffer.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/json/generator/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/json/generator/depend</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/json/generator/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/json/generator/generator.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/json/generator/generator.c</a></td><td class='right'>1618</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/json/generator/generator.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/json/generator/generator.h</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/json/json.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/json/json.gemspec</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/json/lib/json.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/json/lib/json.rb</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/ext/json/lib/json/add/bigdecimal.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/json/lib/json/add/complex.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/json/lib/json/add/complex.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/json/lib/json/add/core.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/json/lib/json/add/date.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/json/lib/json/add/date_time.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/json/lib/json/add/exception.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/json/lib/json/add/ostruct.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/json/lib/json/add/range.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/json/lib/json/add/rational.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/json/lib/json/add/rational.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/json/lib/json/add/regexp.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/json/lib/json/add/set.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/json/lib/json/add/set.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/json/lib/json/add/struct.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/json/lib/json/add/symbol.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/json/lib/json/add/time.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/json/lib/json/common.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/json/lib/json/common.rb</a></td><td class='right'>703</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/json/lib/json/ext.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/json/lib/json/generic_object.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/json/lib/json/version.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/json/parser/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/json/parser/depend</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/json/parser/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/json/parser/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/json/parser/parser.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/json/parser/parser.c</a></td><td class='right'>2179</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/json/parser/parser.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/json/parser/parser.h</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/json/parser/parser.rl?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/json/parser/parser.rl</a></td><td class='right'>939</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/json/parser/prereq.mk?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/json/parser/prereq.mk</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/md5/MANIFEST?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/md5/MANIFEST</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/md5/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/md5/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='del'><a href='/ruby.git/diff/ext/md5/md5.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/md5/md5.h</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/md5/md5.txt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/md5/md5.txt</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/md5/md5.txt.jp?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/md5/md5.txt.jp</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/md5/md5c.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/md5/md5c.c</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/ext/md5/md5init.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/md5/md5init.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='add'><a href='/ruby.git/diff/ext/monitor/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/monitor/depend</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/monitor/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/monitor/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/monitor/lib/monitor.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/monitor/lib/monitor.rb</a></td><td class='right'>284</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/monitor/monitor.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/monitor/monitor.c</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='del'><a href='/ruby.git/diff/ext/mswin32_extmk.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/mswin32_extmk.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/ext/nkf/MANIFEST?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/nkf/MANIFEST</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/nkf/depend</a></td><td class='right'>175</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/ext/nkf/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/nkf/lib/kconv.rb</a></td><td class='right'>283</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/nkf/nkf-utf8/config.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/nkf/nkf-utf8/config.h</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/nkf/nkf-utf8/nkf.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/nkf/nkf-utf8/nkf.c</a></td><td class='right'>7205</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 7.8%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 92.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/nkf/nkf-utf8/nkf.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/nkf/nkf-utf8/utf8tbl.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/nkf/nkf-utf8/utf8tbl.c</a></td><td class='right'>14638</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 15.8%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 84.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/nkf/nkf-utf8/utf8tbl.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/nkf/nkf-utf8/utf8tbl.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='upd'><a href='/ruby.git/diff/ext/nkf/nkf.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/nkf/nkf.c</a></td><td class='right'>623</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><td class='rem' style='width: 0.2%;'/><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/nkf/nkf.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/nkf/nkf.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/nkf/nkf1.7/nkf.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/nkf/nkf1.7/nkf.c</a></td><td class='right'>1899</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/ext/nkf/test.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/nkf/test.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='add'><a href='/ruby.git/diff/ext/objspace/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/objspace/depend</a></td><td class='right'>551</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/objspace/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/objspace/lib/objspace.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/objspace/lib/objspace.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/objspace/object_tracing.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/objspace/object_tracing.c</a></td><td class='right'>578</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/objspace/objspace.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/objspace/objspace.c</a></td><td class='right'>1004</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/objspace/objspace.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/objspace/objspace_dump.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/objspace/objspace_dump.c</a></td><td class='right'>629</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/openssl/History.md?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/History.md</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/ext/openssl/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/depend</a></td><td class='right'>5992</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 6.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 93.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/openssl/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/extconf.rb</a></td><td class='right'>183</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/openssl/lib/openssl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/lib/openssl.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/openssl/lib/openssl/bn.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/lib/openssl/bn.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/openssl/lib/openssl/buffering.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/lib/openssl/buffering.rb</a></td><td class='right'>478</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/openssl/lib/openssl/cipher.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/lib/openssl/cipher.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/openssl/lib/openssl/config.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/lib/openssl/config.rb</a></td><td class='right'>501</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/openssl/lib/openssl/digest.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/lib/openssl/digest.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/openssl/lib/openssl/hmac.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/lib/openssl/hmac.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/openssl/lib/openssl/marshal.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/lib/openssl/marshal.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/openssl/lib/openssl/pkcs5.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/openssl/lib/openssl/pkey.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/lib/openssl/pkey.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/openssl/lib/openssl/ssl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/lib/openssl/ssl.rb</a></td><td class='right'>542</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/openssl/lib/openssl/version.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/lib/openssl/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/ext/openssl/lib/openssl/x509.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/lib/openssl/x509.rb</a></td><td class='right'>369</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/openssl/openssl.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/openssl.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/openssl/openssl_missing.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/openssl_missing.c</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/openssl/openssl_missing.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/openssl_missing.h</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/openssl/ossl.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl.c</a></td><td class='right'>1282</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/openssl/ossl.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl.h</a></td><td class='right'>181</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/openssl/ossl_asn1.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_asn1.c</a></td><td class='right'>1878</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/openssl/ossl_asn1.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_asn1.h</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/openssl/ossl_bio.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_bio.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='add'><a href='/ruby.git/diff/ext/openssl/ossl_bio.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_bio.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='add'><a href='/ruby.git/diff/ext/openssl/ossl_bn.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_bn.c</a></td><td class='right'>1260</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/openssl/ossl_bn.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_bn.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/ext/openssl/ossl_cipher.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_cipher.c</a></td><td class='right'>1049</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/openssl/ossl_cipher.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_cipher.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/ext/openssl/ossl_config.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_config.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/ext/openssl/ossl_config.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_config.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='add'><a href='/ruby.git/diff/ext/openssl/ossl_digest.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_digest.c</a></td><td class='right'>421</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/openssl/ossl_digest.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_digest.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/ext/openssl/ossl_engine.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_engine.c</a></td><td class='right'>567</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/openssl/ossl_engine.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_engine.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='add'><a href='/ruby.git/diff/ext/openssl/ossl_hmac.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_hmac.c</a></td><td class='right'>389</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/openssl/ossl_hmac.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_hmac.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='add'><a href='/ruby.git/diff/ext/openssl/ossl_kdf.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_kdf.c</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/openssl/ossl_kdf.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/openssl/ossl_ns_spki.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_ns_spki.c</a></td><td class='right'>405</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/openssl/ossl_ns_spki.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_ns_spki.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='add'><a href='/ruby.git/diff/ext/openssl/ossl_ocsp.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_ocsp.c</a></td><td class='right'>2013</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/openssl/ossl_ocsp.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_ocsp.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='add'><a href='/ruby.git/diff/ext/openssl/ossl_pkcs12.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_pkcs12.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/openssl/ossl_pkcs12.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_pkcs12.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='add'><a href='/ruby.git/diff/ext/openssl/ossl_pkcs7.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_pkcs7.c</a></td><td class='right'>1098</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/openssl/ossl_pkcs7.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_pkcs7.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='add'><a href='/ruby.git/diff/ext/openssl/ossl_pkey.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_pkey.c</a></td><td class='right'>673</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/openssl/ossl_pkey.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_pkey.h</a></td><td class='right'>241</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/openssl/ossl_pkey_dh.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_pkey_dh.c</a></td><td class='right'>650</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/openssl/ossl_pkey_dsa.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_pkey_dsa.c</a></td><td class='right'>664</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/openssl/ossl_pkey_ec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_pkey_ec.c</a></td><td class='right'>1827</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/openssl/ossl_pkey_rsa.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_pkey_rsa.c</a></td><td class='right'>966</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/openssl/ossl_rand.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_rand.c</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/openssl/ossl_rand.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_rand.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='add'><a href='/ruby.git/diff/ext/openssl/ossl_ssl.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_ssl.c</a></td><td class='right'>3032</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 3.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 96.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/openssl/ossl_ssl.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_ssl.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='add'><a href='/ruby.git/diff/ext/openssl/ossl_ssl_session.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/openssl/ossl_ts.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_ts.c</a></td><td class='right'>1514</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/openssl/ossl_ts.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_ts.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='add'><a href='/ruby.git/diff/ext/openssl/ossl_x509.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_x509.c</a></td><td class='right'>262</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/openssl/ossl_x509.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_x509.h</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/openssl/ossl_x509attr.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_x509attr.c</a></td><td class='right'>324</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/openssl/ossl_x509cert.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_x509cert.c</a></td><td class='right'>846</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/openssl/ossl_x509crl.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_x509crl.c</a></td><td class='right'>542</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/openssl/ossl_x509ext.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_x509ext.c</a></td><td class='right'>491</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/openssl/ossl_x509name.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_x509name.c</a></td><td class='right'>590</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/openssl/ossl_x509req.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_x509req.c</a></td><td class='right'>441</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/openssl/ossl_x509revoked.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_x509revoked.c</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/openssl/ossl_x509store.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ossl_x509store.c</a></td><td class='right'>883</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/openssl/ruby_missing.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/openssl/ruby_missing.h</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/pathname/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/pathname/depend</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/pathname/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/pathname/lib/pathname.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/pathname/lib/pathname.rb</a></td><td class='right'>599</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/pathname/pathname.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/pathname/pathname.c</a></td><td class='right'>1683</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/pathname/pathname.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/pathname/pathname.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='add'><a href='/ruby.git/diff/ext/psych/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/psych/depend</a></td><td class='right'>849</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/psych/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/psych/extconf.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/psych/lib/psych.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/psych/lib/psych.rb</a></td><td class='right'>663</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/psych/lib/psych/class_loader.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/psych/lib/psych/class_loader.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/psych/lib/psych/coder.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/psych/lib/psych/core_ext.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/psych/lib/psych/exception.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/psych/lib/psych/handler.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/psych/lib/psych/handlers/document_stream.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/psych/lib/psych/handlers/recorder.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/psych/lib/psych/json/ruby_events.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/psych/lib/psych/json/stream.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/psych/lib/psych/json/tree_builder.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/psych/lib/psych/json/yaml_events.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/psych/lib/psych/nodes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/psych/lib/psych/nodes/alias.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/psych/lib/psych/nodes/document.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/psych/lib/psych/nodes/mapping.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/psych/lib/psych/nodes/node.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/psych/lib/psych/nodes/scalar.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/psych/lib/psych/nodes/sequence.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/psych/lib/psych/nodes/stream.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/psych/lib/psych/omap.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/psych/lib/psych/parser.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/psych/lib/psych/scalar_scanner.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/psych/lib/psych/scalar_scanner.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.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/psych/lib/psych/set.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/psych/lib/psych/stream.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/psych/lib/psych/streaming.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/psych/lib/psych/syntax_error.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/psych/lib/psych/tree_builder.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/psych/lib/psych/versions.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/psych/lib/psych/versions.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/psych/lib/psych/visitors.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/psych/lib/psych/visitors/depth_first.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/psych/lib/psych/visitors/emitter.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/psych/lib/psych/visitors/json_tree.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/psych/lib/psych/visitors/to_ruby.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/psych/lib/psych/visitors/to_ruby.rb</a></td><td class='right'>432</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/psych/lib/psych/visitors/visitor.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/psych/lib/psych/visitors/visitor.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/psych/lib/psych/visitors/yaml_tree.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/psych/lib/psych/visitors/yaml_tree.rb</a></td><td class='right'>539</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/psych/lib/psych/y.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/psych/psych.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/psych/psych.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='add'><a href='/ruby.git/diff/ext/psych/psych.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/psych/psych.gemspec</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/psych/psych.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/psych/psych_emitter.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/psych/psych_emitter.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/psych/psych_parser.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/psych/psych_parser.c</a></td><td class='right'>579</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/psych/psych_parser.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/psych/psych_to_ruby.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/psych/psych_to_ruby.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/psych/psych_yaml_tree.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/psych/psych_yaml_tree.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='add'><a href='/ruby.git/diff/ext/psych/psych_yaml_tree.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/psych/yaml/api.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 1.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/psych/yaml/config.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/psych/yaml/config.h</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/psych/yaml/dumper.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/psych/yaml/emitter.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/psych/yaml/emitter.c</a></td><td class='right'>2358</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/psych/yaml/loader.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/psych/yaml/loader.c</a></td><td class='right'>544</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/psych/yaml/parser.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/psych/yaml/parser.c</a></td><td class='right'>1375</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/psych/yaml/reader.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/psych/yaml/scanner.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/psych/yaml/scanner.c</a></td><td class='right'>3598</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 3.9%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 96.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/psych/yaml/writer.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/psych/yaml/yaml.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/psych/yaml/yaml.h</a></td><td class='right'>1985</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 2.1%;'/><td class='rem' style='width: 0.0%;'/><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/ext/psych/yaml/yaml_private.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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='del'><a href='/ruby.git/diff/ext/pty/MANIFEST?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/pty/MANIFEST</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/pty/README?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/pty/README</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/ext/pty/README.expect?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='del'><a href='/ruby.git/diff/ext/pty/README.expect.jp?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/pty/README.expect.jp</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/pty/README.jp?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/pty/README.jp</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='add'><a href='/ruby.git/diff/ext/pty/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/pty/depend</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='del'><a href='/ruby.git/diff/ext/pty/expect_sample.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/pty/expect_sample.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='upd'><a href='/ruby.git/diff/ext/pty/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/pty/extconf.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/pty/lib/expect.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/pty/lib/expect.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.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/pty.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/pty/pty.c</a></td><td class='right'>1011</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.7%;'/><td class='rem' style='width: 0.4%;'/><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/pty/script.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/pty/script.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/pty/shl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/pty/shl.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='add'><a href='/ruby.git/diff/ext/racc/cparse/README?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/racc/cparse/cparse.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/racc/cparse/cparse.c</a></td><td class='right'>863</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/racc/cparse/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/racc/cparse/depend</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/racc/cparse/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/racc/cparse/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='add'><a href='/ruby.git/diff/ext/rbconfig/sizeof/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/rbconfig/sizeof/depend</a></td><td class='right'>337</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/rbconfig/sizeof/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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/.gitignore?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='del'><a href='/ruby.git/diff/ext/readline/MANIFEST?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/readline/MANIFEST</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/readline/README?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/readline/README</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='add'><a href='/ruby.git/diff/ext/readline/README.ja?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/readline/README.ja</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/readline/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/readline/depend</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>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/readline/depend-gem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/readline/depend-gem</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/readline/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/readline/extconf.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/readline/readline-ext.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/readline/readline-ext.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/ext/readline/readline.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/readline/readline.c</a></td><td class='right'>2160</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 2.1%;'/><td class='rem' style='width: 0.2%;'/><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/ripper/README?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/ripper/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/ripper/depend</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/ext/ripper/eventids2.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/ripper/eventids2.c</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/ripper/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/ripper/extconf.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/ripper/lib/ripper.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/ripper/lib/ripper/core.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/ripper/lib/ripper/core.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/ripper/lib/ripper/filter.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/ripper/lib/ripper/lexer.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/ripper/lib/ripper/lexer.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/ext/ripper/lib/ripper/sexp.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/ripper/lib/ripper/sexp.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/ripper/tools/dsl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/ripper/tools/dsl.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/ripper/tools/generate-param-macros.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/ripper/tools/generate.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/ripper/tools/preproc.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/ripper/tools/strip.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/rubyvm/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/rubyvm/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/rubyvm/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/rubyvm/lib/forwardable/impl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='del'><a href='/ruby.git/diff/ext/sdbm/MANIFEST?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/sdbm/MANIFEST</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/sdbm/_sdbm.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/sdbm/_sdbm.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/sdbm/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/sdbm/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/sdbm/init.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/sdbm/init.c</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/ext/sdbm/sdbm.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/sdbm/sdbm.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='add'><a href='/ruby.git/diff/ext/socket/.document?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='del'><a href='/ruby.git/diff/ext/socket/MANIFEST?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/socket/MANIFEST</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/socket/addrinfo.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/socket/addrinfo.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.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/socket/ancdata.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/socket/ancdata.c</a></td><td class='right'>1732</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/socket/basicsocket.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/socket/constants.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/socket/constants.c</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='upd'><a href='/ruby.git/diff/ext/socket/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/socket/depend</a></td><td class='right'>2747</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='upd'><a href='/ruby.git/diff/ext/socket/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/socket/extconf.rb</a></td><td class='right'>764</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='upd'><a href='/ruby.git/diff/ext/socket/getaddrinfo.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/socket/getaddrinfo.c</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='upd'><a href='/ruby.git/diff/ext/socket/getnameinfo.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/socket/getnameinfo.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/ext/socket/ifaddr.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/socket/init.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/socket/init.c</a></td><td class='right'>777</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/socket/ipsocket.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/socket/ipsocket.c</a></td><td class='right'>403</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/socket/lib/socket.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/socket/lib/socket.rb</a></td><td class='right'>1357</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/socket/mkconstants.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/socket/mkconstants.rb</a></td><td class='right'>814</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/socket/option.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 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/socket/raddrinfo.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/socket/raddrinfo.c</a></td><td class='right'>2632</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/ext/socket/rubysocket.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/socket/rubysocket.h</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='upd'><a href='/ruby.git/diff/ext/socket/socket.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/socket/socket.c</a></td><td class='right'>3566</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.9%;'/><td class='rem' style='width: 2.0%;'/><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/ext/socket/sockport.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/socket/sockport.h</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/socket/sockssocket.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/socket/sockssocket.c</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/socket/tcpserver.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/socket/tcpsocket.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/socket/tcpsocket.c</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/socket/udpsocket.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/socket/udpsocket.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/socket/unixserver.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/socket/unixsocket.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/socket/unixsocket.c</a></td><td class='right'>591</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/stringio/README.md?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/stringio/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/stringio/depend</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>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/stringio/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/stringio/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='add'><a href='/ruby.git/diff/ext/stringio/stringio.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/stringio/stringio.c</a></td><td class='right'>1862</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/stringio/stringio.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/stringio/stringio.gemspec</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/strscan/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/strscan/depend</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/strscan/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/strscan/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/strscan/strscan.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/strscan/strscan.c</a></td><td class='right'>1656</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/strscan/strscan.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/strscan/strscan.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='add'><a href='/ruby.git/diff/ext/syslog/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/syslog/depend</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/syslog/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/syslog/extconf.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/syslog/lib/syslog/logger.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/syslog.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/syslog/syslog.c</a></td><td class='right'>588</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/syslog/syslog.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/syslog/syslog.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='add'><a href='/ruby.git/diff/ext/syslog/syslog.txt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/syslog/syslog.txt</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='del'><a href='/ruby.git/diff/ext/tcltklib/MANIFEST?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/tcltklib/MANIFEST</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/tcltklib/MANUAL.euc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/tcltklib/MANUAL.euc</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/ext/tcltklib/README.euc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/tcltklib/README.euc</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/ext/tcltklib/demo/lines0.tcl?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/tcltklib/demo/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='del'><a href='/ruby.git/diff/ext/tcltklib/demo/lines1.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/tcltklib/demo/lines1.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/ext/tcltklib/demo/lines2.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/tcltklib/demo/lines2.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/tcltklib/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/tcltklib/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/tcltklib/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/tcltklib/extconf.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/tcltklib/lib/tcltk.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/tcltklib/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.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/tcltklib/sample/batsu.gif?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/tcltklib/sample/batsu.gif</a></td><td class='right'>bin</td><td class='graph'>538 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/tcltklib/sample/maru.gif?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/tcltklib/sample/maru.gif</a></td><td class='right'>bin</td><td class='graph'>481 -> 0 bytes<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ext/tcltklib/sample/sample0.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/tcltklib/sample/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='del'><a href='/ruby.git/diff/ext/tcltklib/sample/sample1.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/tcltklib/sample/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.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/tcltklib/sample/sample2.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/tcltklib/sample/sample2.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/ext/tcltklib/tcltklib.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/tcltklib/tcltklib.c</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/ext/tk/MANIFEST?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/tk/MANIFEST</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/tk/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/tk/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/tk/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/tk/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/tk/lib/tk.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/tk/lib/tk.rb</a></td><td class='right'>2468</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/ext/tk/lib/tkafter.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/tk/lib/tkafter.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/ext/tk/lib/tkbgerror.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/tk/lib/tkbgerror.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/tk/lib/tkcanvas.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/tk/lib/tkcanvas.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/tk/lib/tkclass.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/tk/lib/tkclass.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/tk/lib/tkdialog.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/tk/lib/tkdialog.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/ext/tk/lib/tkentry.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/tk/lib/tkentry.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/ext/tk/lib/tkfont.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/tk/lib/tkfont.rb</a></td><td class='right'>953</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/tk/lib/tkmenubar.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/tk/lib/tkmenubar.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/tk/lib/tkmngfocus.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/tk/lib/tkmngfocus.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/tk/lib/tkpalette.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/tk/lib/tkpalette.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/ext/tk/lib/tkscrollbox.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/tk/lib/tkscrollbox.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/tk/lib/tktext.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/tk/lib/tktext.rb</a></td><td class='right'>903</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/tk/lib/tkvirtevent.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/tk/lib/tkvirtevent.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/ext/tk/sample/tkbiff.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/tk/sample/tkbiff.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/tk/sample/tkbrowse.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' 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/tk/sample/tkdialog.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/tk/sample/tkdialog.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/ext/tk/sample/tkfrom.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' 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/tk/sample/tkhello.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='del'><a href='/ruby.git/diff/ext/tk/sample/tkline.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/tk/sample/tkline.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/ext/tk/sample/tktimer.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' 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/tk/tkutil.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/tk/tkutil.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/ext/win32/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/win32/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/win32/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/win32/lib/win32/registry.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 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/win32/lib/win32/resolv.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/win32/lib/win32/resolv.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/win32/lib/win32/sspi.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/win32/lib/win32/sspi.rb</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/ext/win32/resolv/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/win32/resolv/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='add'><a href='/ruby.git/diff/ext/win32/resolv/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/win32/resolv/resolv.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='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/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/win32ole/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/win32ole/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/win32ole/extconf.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/win32ole/lib/win32ole.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/win32ole/lib/win32ole/property.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/win32ole/lib/win32ole/property.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/win32ole/sample/excel1.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/win32ole/sample/excel1.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/sample/excel2.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/win32ole/sample/excel2.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/win32ole/sample/excel3.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/win32ole/sample/excel3.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/win32ole/sample/ie.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/win32ole/sample/ie.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/win32ole/sample/ieconst.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/win32ole/sample/ieconst.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/win32ole/sample/ienavi.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/win32ole/sample/ienavi.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/win32ole/sample/ienavi2.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/win32ole/sample/oledirs.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/win32ole/sample/oledirs.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/win32ole/sample/olegen.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/win32ole/sample/olegen.rb</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='add'><a href='/ruby.git/diff/ext/win32ole/sample/xml.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/win32ole/sample/xml.rb</a></td><td class='right'>7307</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 7.9%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 92.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/win32ole/win32ole.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/win32ole/win32ole.c</a></td><td class='right'>4142</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 4.5%;'/><td class='rem' style='width: 0.0%;'/><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/ext/win32ole/win32ole.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/win32ole/win32ole.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='add'><a href='/ruby.git/diff/ext/win32ole/win32ole.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/win32ole/win32ole_error.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/win32ole/win32ole_error.c</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/win32ole/win32ole_error.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/win32ole/win32ole_event.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/win32ole/win32ole_event.c</a></td><td class='right'>1277</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/win32ole/win32ole_event.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/win32ole/win32ole_method.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/win32ole/win32ole_method.c</a></td><td class='right'>952</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/win32ole/win32ole_method.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/win32ole/win32ole_param.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/win32ole/win32ole_param.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/win32ole/win32ole_record.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/win32ole/win32ole_record.c</a></td><td class='right'>606</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/win32ole/win32ole_record.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/win32ole/win32ole_type.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/win32ole/win32ole_type.c</a></td><td class='right'>917</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/win32ole/win32ole_type.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/win32ole/win32ole_typelib.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/win32ole/win32ole_typelib.c</a></td><td class='right'>846</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/win32ole/win32ole_typelib.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/win32ole/win32ole_variable.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/win32ole/win32ole_variable.c</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/win32ole/win32ole_variable.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/win32ole/win32ole_variant.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/win32ole/win32ole_variant.c</a></td><td class='right'>735</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/win32ole/win32ole_variant.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/win32ole/win32ole_variant_m.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/win32ole/win32ole_variant_m.c</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/win32ole/win32ole_variant_m.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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/.gitignore?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/ext/zlib/depend?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/zlib/depend</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/zlib/extconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/zlib/extconf.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.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/zlib/extlibs?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/zlib/extlibs</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/zlib/win32/zlib-1.2.11-mswin.patch?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/zlib/win32/zlib-1.2.11-mswin.patch</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/zlib/zlib.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/zlib/zlib.c</a></td><td class='right'>4978</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 5.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 94.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ext/zlib/zlib.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ext/zlib/zlib.gemspec</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/file.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>file.c</a></td><td class='right'>6667</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 6.3%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 92.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/gc.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>gc.c</a></td><td class='right'>13223</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 13.4%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 85.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/gc.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>gc.h</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/gc.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>gc.rb</a></td><td class='right'>241</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/gem_prelude.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>gem_prelude.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/gems/bundled_gems?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>gems/bundled_gems</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/golf_prelude.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>golf_prelude.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/goruby.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>goruby.c</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/hash.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>hash.c</a></td><td class='right'>7249</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 6.9%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 92.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/hrtime.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/id_table.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>id_table.c</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/id_table.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>id_table.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='add'><a href='/ruby.git/diff/include/ruby.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby.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='add'><a href='/ruby.git/diff/include/ruby/assert.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/assert.h</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='add'><a href='/ruby.git/diff/include/ruby/atomic.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/atomic.h</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/include/ruby/backward.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/backward.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/include/ruby/backward/2/assume.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/backward/2/assume.h</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/include/ruby/backward/2/attributes.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/backward/2/attributes.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/include/ruby/backward/2/bool.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/backward/2/bool.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='add'><a href='/ruby.git/diff/include/ruby/backward/2/gcc_version_since.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/backward/2/gcc_version_since.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='add'><a href='/ruby.git/diff/include/ruby/backward/2/inttypes.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/backward/2/inttypes.h</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/include/ruby/backward/2/limits.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/backward/2/limits.h</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/include/ruby/backward/2/long_long.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/backward/2/long_long.h</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/include/ruby/backward/2/r_cast.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/backward/2/r_cast.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/include/ruby/backward/2/rmodule.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/backward/2/rmodule.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='add'><a href='/ruby.git/diff/include/ruby/backward/2/stdalign.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/backward/2/stdalign.h</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/include/ruby/backward/2/stdarg.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/backward/2/stdarg.h</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/include/ruby/backward/cxxanyargs.hpp?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/backward/cxxanyargs.hpp</a></td><td class='right'>683</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/include/ruby/debug.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/debug.h</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/include/ruby/defines.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/defines.h</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/include/ruby/encoding.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/encoding.h</a></td><td class='right'>413</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/include/ruby/intern.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/intern.h</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/include/ruby/internal/anyargs.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/anyargs.h</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/include/ruby/internal/arithmetic.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/arithmetic.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='add'><a href='/ruby.git/diff/include/ruby/internal/arithmetic/char.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/arithmetic/char.h</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/include/ruby/internal/arithmetic/double.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/arithmetic/double.h</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/include/ruby/internal/arithmetic/fixnum.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/arithmetic/fixnum.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='add'><a href='/ruby.git/diff/include/ruby/internal/arithmetic/gid_t.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/arithmetic/gid_t.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/include/ruby/internal/arithmetic/int.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/arithmetic/int.h</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/include/ruby/internal/arithmetic/intptr_t.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/arithmetic/intptr_t.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/include/ruby/internal/arithmetic/long.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/arithmetic/long.h</a></td><td class='right'>244</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/include/ruby/internal/arithmetic/long_long.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/arithmetic/long_long.h</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/include/ruby/internal/arithmetic/mode_t.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/arithmetic/mode_t.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/include/ruby/internal/arithmetic/off_t.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/arithmetic/off_t.h</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/include/ruby/internal/arithmetic/pid_t.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/arithmetic/pid_t.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/include/ruby/internal/arithmetic/short.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/arithmetic/short.h</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/include/ruby/internal/arithmetic/size_t.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/arithmetic/size_t.h</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/include/ruby/internal/arithmetic/st_data_t.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/arithmetic/st_data_t.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='add'><a href='/ruby.git/diff/include/ruby/internal/arithmetic/uid_t.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/arithmetic/uid_t.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/include/ruby/internal/assume.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/assume.h</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/include/ruby/internal/attr/alloc_size.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/attr/alloc_size.h</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/include/ruby/internal/attr/artificial.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/attr/artificial.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/include/ruby/internal/attr/cold.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/attr/cold.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='add'><a href='/ruby.git/diff/include/ruby/internal/attr/const.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/attr/const.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/include/ruby/internal/attr/constexpr.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/attr/constexpr.h</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/include/ruby/internal/attr/deprecated.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/attr/deprecated.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/include/ruby/internal/attr/diagnose_if.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/attr/diagnose_if.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/include/ruby/internal/attr/enum_extensibility.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/attr/enum_extensibility.h</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/include/ruby/internal/attr/error.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/attr/error.h</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/include/ruby/internal/attr/flag_enum.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/attr/flag_enum.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/include/ruby/internal/attr/forceinline.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/attr/forceinline.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='add'><a href='/ruby.git/diff/include/ruby/internal/attr/format.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/attr/format.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='add'><a href='/ruby.git/diff/include/ruby/internal/attr/maybe_unused.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/attr/maybe_unused.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='add'><a href='/ruby.git/diff/include/ruby/internal/attr/noalias.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/attr/noalias.h</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/include/ruby/internal/attr/nodiscard.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/attr/nodiscard.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='add'><a href='/ruby.git/diff/include/ruby/internal/attr/noexcept.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/attr/noexcept.h</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/include/ruby/internal/attr/noinline.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/attr/noinline.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='add'><a href='/ruby.git/diff/include/ruby/internal/attr/nonnull.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/attr/nonnull.h</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/include/ruby/internal/attr/noreturn.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/attr/noreturn.h</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/include/ruby/internal/attr/pure.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/attr/pure.h</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/include/ruby/internal/attr/restrict.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/attr/restrict.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='add'><a href='/ruby.git/diff/include/ruby/internal/attr/returns_nonnull.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/attr/returns_nonnull.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='add'><a href='/ruby.git/diff/include/ruby/internal/attr/warning.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/attr/warning.h</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/include/ruby/internal/attr/weakref.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/attr/weakref.h</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/include/ruby/internal/cast.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/cast.h</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/include/ruby/internal/compiler_is.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/compiler_is.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='add'><a href='/ruby.git/diff/include/ruby/internal/compiler_is/apple.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/compiler_is/apple.h</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/include/ruby/internal/compiler_is/clang.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/compiler_is/clang.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='add'><a href='/ruby.git/diff/include/ruby/internal/compiler_is/gcc.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/compiler_is/gcc.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/include/ruby/internal/compiler_is/intel.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/compiler_is/intel.h</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/include/ruby/internal/compiler_is/msvc.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/compiler_is/msvc.h</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/include/ruby/internal/compiler_is/sunpro.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/compiler_is/sunpro.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/include/ruby/internal/compiler_since.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/compiler_since.h</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/include/ruby/internal/config.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/config.h</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/include/ruby/internal/constant_p.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/constant_p.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='add'><a href='/ruby.git/diff/include/ruby/internal/core.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/core.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='add'><a href='/ruby.git/diff/include/ruby/internal/core/rarray.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/core/rarray.h</a></td><td class='right'>270</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/include/ruby/internal/core/rbasic.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/core/rbasic.h</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/include/ruby/internal/core/rbignum.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/core/rbignum.h</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/include/ruby/internal/core/rclass.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/core/rclass.h</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/include/ruby/internal/core/rdata.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/core/rdata.h</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/include/ruby/internal/core/rfile.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/core/rfile.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='add'><a href='/ruby.git/diff/include/ruby/internal/core/rhash.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/core/rhash.h</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/include/ruby/internal/core/rmatch.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/core/rmatch.h</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/include/ruby/internal/core/robject.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/core/robject.h</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/include/ruby/internal/core/rregexp.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/core/rregexp.h</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/include/ruby/internal/core/rstring.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/core/rstring.h</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/include/ruby/internal/core/rstruct.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/core/rstruct.h</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/include/ruby/internal/core/rtypeddata.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/core/rtypeddata.h</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/include/ruby/internal/ctype.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/ctype.h</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/include/ruby/internal/dllexport.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/dllexport.h</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/include/ruby/internal/dosish.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/dosish.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/include/ruby/internal/error.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/error.h</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/include/ruby/internal/eval.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/eval.h</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/include/ruby/internal/event.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/event.h</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/include/ruby/internal/fl_type.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/fl_type.h</a></td><td class='right'>471</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/include/ruby/internal/gc.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/gc.h</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/include/ruby/internal/glob.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/glob.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='add'><a href='/ruby.git/diff/include/ruby/internal/globals.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/globals.h</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/include/ruby/internal/has/attribute.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/has/attribute.h</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/include/ruby/internal/has/builtin.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/has/builtin.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='add'><a href='/ruby.git/diff/include/ruby/internal/has/c_attribute.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/has/c_attribute.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='add'><a href='/ruby.git/diff/include/ruby/internal/has/cpp_attribute.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/has/cpp_attribute.h</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/include/ruby/internal/has/declspec_attribute.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/has/declspec_attribute.h</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/include/ruby/internal/has/extension.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/has/extension.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/include/ruby/internal/has/feature.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/has/feature.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='add'><a href='/ruby.git/diff/include/ruby/internal/has/warning.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/has/warning.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='add'><a href='/ruby.git/diff/include/ruby/internal/intern/array.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/intern/array.h</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/include/ruby/internal/intern/bignum.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/intern/bignum.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='add'><a href='/ruby.git/diff/include/ruby/internal/intern/class.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/intern/class.h</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/include/ruby/internal/intern/compar.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/intern/compar.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/include/ruby/internal/intern/complex.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/intern/complex.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/include/ruby/internal/intern/cont.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/intern/cont.h</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/include/ruby/internal/intern/dir.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/intern/dir.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/include/ruby/internal/intern/enum.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/intern/enum.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/include/ruby/internal/intern/enumerator.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/intern/enumerator.h</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/include/ruby/internal/intern/error.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/intern/error.h</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/include/ruby/internal/intern/eval.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/intern/eval.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='add'><a href='/ruby.git/diff/include/ruby/internal/intern/file.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/intern/file.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/include/ruby/internal/intern/gc.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/intern/gc.h</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/include/ruby/internal/intern/hash.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/intern/hash.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='add'><a href='/ruby.git/diff/include/ruby/internal/intern/io.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/intern/io.h</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/include/ruby/internal/intern/load.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/intern/load.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='add'><a href='/ruby.git/diff/include/ruby/internal/intern/marshal.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/intern/marshal.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='add'><a href='/ruby.git/diff/include/ruby/internal/intern/numeric.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/intern/numeric.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/include/ruby/internal/intern/object.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/intern/object.h</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/include/ruby/internal/intern/parse.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/intern/parse.h</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/include/ruby/internal/intern/proc.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/intern/proc.h</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/include/ruby/internal/intern/process.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/intern/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/include/ruby/internal/intern/random.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/intern/random.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='add'><a href='/ruby.git/diff/include/ruby/internal/intern/range.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/intern/range.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='add'><a href='/ruby.git/diff/include/ruby/internal/intern/rational.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/intern/rational.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/include/ruby/internal/intern/re.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/intern/re.h</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/include/ruby/internal/intern/ruby.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/intern/ruby.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='add'><a href='/ruby.git/diff/include/ruby/internal/intern/select.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/intern/select.h</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/include/ruby/internal/intern/select/largesize.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/intern/select/largesize.h</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/include/ruby/internal/intern/select/posix.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/intern/select/posix.h</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/include/ruby/internal/intern/select/win32.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/intern/select/win32.h</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/include/ruby/internal/intern/signal.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/intern/signal.h</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/include/ruby/internal/intern/sprintf.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/intern/sprintf.h</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/include/ruby/internal/intern/string.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/intern/string.h</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/include/ruby/internal/intern/struct.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/intern/struct.h</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/include/ruby/internal/intern/thread.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/intern/thread.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/include/ruby/internal/intern/time.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/intern/time.h</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/include/ruby/internal/intern/variable.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/intern/variable.h</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/include/ruby/internal/intern/vm.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/intern/vm.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='add'><a href='/ruby.git/diff/include/ruby/internal/interpreter.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/interpreter.h</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/include/ruby/internal/iterator.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/iterator.h</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/include/ruby/internal/memory.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/memory.h</a></td><td class='right'>278</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/include/ruby/internal/method.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/method.h</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/include/ruby/internal/module.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/module.h</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/include/ruby/internal/newobj.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/newobj.h</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/include/ruby/internal/rgengc.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/rgengc.h</a></td><td class='right'>199</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/include/ruby/internal/scan_args.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/scan_args.h</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/include/ruby/internal/special_consts.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/special_consts.h</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/include/ruby/internal/static_assert.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/static_assert.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='add'><a href='/ruby.git/diff/include/ruby/internal/stdalign.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/stdalign.h</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='add'><a href='/ruby.git/diff/include/ruby/internal/stdbool.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/stdbool.h</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/include/ruby/internal/symbol.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/symbol.h</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/include/ruby/internal/token_paste.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/token_paste.h</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/include/ruby/internal/value.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/value.h</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/include/ruby/internal/value_type.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/value_type.h</a></td><td class='right'>354</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/include/ruby/internal/variable.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/variable.h</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/include/ruby/internal/warning_push.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/warning_push.h</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/include/ruby/internal/xmalloc.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/internal/xmalloc.h</a></td><td class='right'>362</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/include/ruby/io.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/io.h</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/include/ruby/memory_view.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/memory_view.h</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/include/ruby/missing.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/missing.h</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/include/ruby/onigmo.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/onigmo.h</a></td><td class='right'>941</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/include/ruby/oniguruma.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/include/ruby/ractor.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/ractor.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='add'><a href='/ruby.git/diff/include/ruby/random.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/random.h</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/include/ruby/re.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/re.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/include/ruby/regex.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/regex.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='add'><a href='/ruby.git/diff/include/ruby/ruby.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/ruby.h</a></td><td class='right'>153</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/include/ruby/st.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/st.h</a></td><td class='right'>197</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/include/ruby/subst.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/subst.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/include/ruby/thread.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/thread.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/include/ruby/thread_native.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/thread_native.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='add'><a href='/ruby.git/diff/include/ruby/util.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/util.h</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/include/ruby/version.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/version.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/include/ruby/vm.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/vm.h</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/include/ruby/win32.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>include/ruby/win32.h</a></td><td class='right'>815</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/inits.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>inits.c</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='add'><a href='/ruby.git/diff/insns.def?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>insns.def</a></td><td class='right'>1527</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='del'><a href='/ruby.git/diff/instruby.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>instruby.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='add'><a href='/ruby.git/diff/integer.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>integer.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='del'><a href='/ruby.git/diff/intern.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>intern.h</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/internal.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal.h</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/internal/array.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/array.h</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/internal/bignum.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/bignum.h</a></td><td class='right'>246</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/internal/bits.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/bits.h</a></td><td class='right'>566</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/internal/class.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/class.h</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/internal/compar.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/compar.h</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/internal/compile.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/compile.h</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/internal/compilers.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/compilers.h</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/internal/complex.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/complex.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='add'><a href='/ruby.git/diff/internal/cont.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/cont.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='add'><a href='/ruby.git/diff/internal/dir.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/dir.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='add'><a href='/ruby.git/diff/internal/enc.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/enc.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/internal/encoding.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/encoding.h</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/internal/enum.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/enum.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='add'><a href='/ruby.git/diff/internal/enumerator.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/enumerator.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/internal/error.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/error.h</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/internal/eval.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/eval.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/internal/file.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/file.h</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/internal/fixnum.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/fixnum.h</a></td><td class='right'>185</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/internal/gc.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/gc.h</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/internal/hash.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/hash.h</a></td><td class='right'>241</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/internal/imemo.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/imemo.h</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/internal/inits.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/inits.h</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/internal/io.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/io.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='add'><a href='/ruby.git/diff/internal/load.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/load.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='add'><a href='/ruby.git/diff/internal/loadpath.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/loadpath.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='add'><a href='/ruby.git/diff/internal/math.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/math.h</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/internal/missing.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/missing.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='add'><a href='/ruby.git/diff/internal/numeric.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/numeric.h</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/internal/object.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/object.h</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/internal/parse.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/parse.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='add'><a href='/ruby.git/diff/internal/proc.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/proc.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/internal/process.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/process.h</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/internal/random.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/random.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='add'><a href='/ruby.git/diff/internal/range.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/range.h</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/internal/rational.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/rational.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/internal/re.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/re.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='add'><a href='/ruby.git/diff/internal/sanitizers.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/sanitizers.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/internal/scheduler.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/scheduler.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='add'><a href='/ruby.git/diff/internal/serial.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/serial.h</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/internal/signal.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/signal.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/internal/static_assert.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/static_assert.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='add'><a href='/ruby.git/diff/internal/string.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/string.h</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/internal/struct.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/struct.h</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/internal/symbol.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/symbol.h</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/internal/thread.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/thread.h</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/internal/time.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/time.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='add'><a href='/ruby.git/diff/internal/transcode.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/transcode.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='add'><a href='/ruby.git/diff/internal/util.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/util.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='add'><a href='/ruby.git/diff/internal/variable.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/variable.h</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/internal/vm.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/vm.h</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/internal/warnings.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>internal/warnings.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='upd'><a href='/ruby.git/diff/io.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>io.c</a></td><td class='right'>14190</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 13.2%;'/><td class='rem' style='width: 2.1%;'/><td class='none' style='width: 84.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/io.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>io.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/iseq.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>iseq.c</a></td><td class='right'>3634</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 3.9%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 96.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/iseq.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>iseq.h</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/kernel.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>kernel.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='del'><a href='/ruby.git/diff/keywords?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='del'><a href='/ruby.git/diff/lex.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lex.c</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='add'><a href='/ruby.git/diff/lex.c.blt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/.document?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/.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='add'><a href='/ruby.git/diff/lib/English.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/English.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/English.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/English.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='del'><a href='/ruby.git/diff/lib/Env.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/Env.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/README?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/README</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='add'><a href='/ruby.git/diff/lib/abbrev.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/abbrev.gemspec</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/abbrev.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/abbrev.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/lib/base64.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/base64.gemspec</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/lib/base64.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/base64.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/benchmark.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/benchmark.rb</a></td><td class='right'>565</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/benchmark/benchmark.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/benchmark/benchmark.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='add'><a href='/ruby.git/diff/lib/benchmark/version.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/benchmark/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='add'><a href='/ruby.git/diff/lib/bundler.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler.rb</a></td><td class='right'>707</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/bundler/build_metadata.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/build_metadata.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/bundler/bundler.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/bundler.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='add'><a href='/ruby.git/diff/lib/bundler/capistrano.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/cli.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/cli.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/lib/bundler/cli/add.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/cli/add.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/lib/bundler/cli/binstubs.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/cli/binstubs.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/bundler/cli/cache.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/cli/cache.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/bundler/cli/check.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/cli/clean.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/cli/common.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/cli/common.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/lib/bundler/cli/config.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/cli/config.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/bundler/cli/console.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/cli/doctor.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/bundler/cli/exec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/cli/exec.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/bundler/cli/fund.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/cli/fund.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/bundler/cli/gem.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/cli/gem.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/bundler/cli/info.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/cli/info.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/bundler/cli/init.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/bundler/cli/inject.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/bundler/cli/install.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/cli/install.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/lib/bundler/cli/issue.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/cli/list.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/cli/list.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/lib/bundler/cli/lock.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/bundler/cli/open.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/cli/open.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/bundler/cli/outdated.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/cli/outdated.rb</a></td><td class='right'>291</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/bundler/cli/platform.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/cli/plugin.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/cli/plugin.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/bundler/cli/pristine.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/cli/pristine.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/bundler/cli/remove.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/cli/show.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/bundler/cli/update.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/cli/update.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/lib/bundler/cli/viz.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/compact_index_client.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/compact_index_client.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/lib/bundler/compact_index_client/cache.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/compact_index_client/cache.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/lib/bundler/compact_index_client/gem_parser.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/compact_index_client/gem_parser.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/bundler/compact_index_client/updater.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/compact_index_client/updater.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/bundler/constants.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/current_ruby.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/current_ruby.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/bundler/definition.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/definition.rb</a></td><td class='right'>991</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/bundler/dep_proxy.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/bundler/dependency.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/dependency.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/lib/bundler/deployment.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/bundler/deprecate.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/dsl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/dsl.rb</a></td><td class='right'>587</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/bundler/endpoint_specification.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/bundler/env.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/env.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/lib/bundler/environment_preserver.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/environment_preserver.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/lib/bundler/errors.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/errors.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/lib/bundler/feature_flag.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/feature_flag.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/lib/bundler/fetcher.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/fetcher.rb</a></td><td class='right'>316</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/bundler/fetcher/base.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/bundler/fetcher/compact_index.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/fetcher/compact_index.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/bundler/fetcher/dependency.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/bundler/fetcher/downloader.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/fetcher/downloader.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/bundler/fetcher/index.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/fetcher/index.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/bundler/friendly_errors.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/friendly_errors.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/bundler/gem_helper.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/gem_helper.rb</a></td><td class='right'>231</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/bundler/gem_helpers.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/gem_helpers.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/lib/bundler/gem_tasks.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/gem_version_promoter.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/bundler/gemdeps.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/graph.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/bundler/index.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/index.rb</a></td><td class='right'>217</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/bundler/injector.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/injector.rb</a></td><td class='right'>273</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/bundler/inline.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/inline.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/bundler/installer.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/installer.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/bundler/installer/gem_installer.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/installer/gem_installer.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/lib/bundler/installer/parallel_installer.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/installer/parallel_installer.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/bundler/installer/standalone.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/installer/standalone.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/bundler/lazy_specification.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/lazy_specification.rb</a></td><td class='right'>146</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/bundler/lockfile_generator.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/bundler/lockfile_parser.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/lockfile_parser.rb</a></td><td class='right'>249</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/bundler/man/.document?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/man/.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/bundler/man/bundle-add.1.ronn?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/man/bundle-add.1.ronn</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/bundler/man/bundle-binstubs.1.ronn?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/man/bundle-binstubs.1.ronn</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/bundler/man/bundle-cache.1.ronn?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/man/bundle-cache.1.ronn</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/lib/bundler/man/bundle-check.1.ronn?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/man/bundle-check.1.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='add'><a href='/ruby.git/diff/lib/bundler/man/bundle-clean.1.ronn?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/man/bundle-clean.1.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='add'><a href='/ruby.git/diff/lib/bundler/man/bundle-config.1.ronn?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/man/bundle-config.1.ronn</a></td><td class='right'>388</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/bundler/man/bundle-doctor.1.ronn?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/man/bundle-doctor.1.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='add'><a href='/ruby.git/diff/lib/bundler/man/bundle-exec.1.ronn?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/man/bundle-exec.1.ronn</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/lib/bundler/man/bundle-gem.1.ronn?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/man/bundle-gem.1.ronn</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/lib/bundler/man/bundle-info.1.ronn?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/man/bundle-info.1.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='add'><a href='/ruby.git/diff/lib/bundler/man/bundle-init.1.ronn?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/man/bundle-init.1.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='add'><a href='/ruby.git/diff/lib/bundler/man/bundle-inject.1.ronn?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/man/bundle-inject.1.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='add'><a href='/ruby.git/diff/lib/bundler/man/bundle-install.1.ronn?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/man/bundle-install.1.ronn</a></td><td class='right'>405</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/bundler/man/bundle-list.1.ronn?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/man/bundle-list.1.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='add'><a href='/ruby.git/diff/lib/bundler/man/bundle-lock.1.ronn?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/man/bundle-lock.1.ronn</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/lib/bundler/man/bundle-open.1.ronn?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/man/bundle-open.1.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='add'><a href='/ruby.git/diff/lib/bundler/man/bundle-outdated.1.ronn?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/man/bundle-outdated.1.ronn</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/lib/bundler/man/bundle-platform.1.ronn?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/man/bundle-platform.1.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='add'><a href='/ruby.git/diff/lib/bundler/man/bundle-pristine.1.ronn?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/man/bundle-pristine.1.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='add'><a href='/ruby.git/diff/lib/bundler/man/bundle-remove.1.ronn?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/man/bundle-remove.1.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='add'><a href='/ruby.git/diff/lib/bundler/man/bundle-show.1.ronn?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/man/bundle-show.1.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='add'><a href='/ruby.git/diff/lib/bundler/man/bundle-update.1.ronn?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/man/bundle-update.1.ronn</a></td><td class='right'>350</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/bundler/man/bundle-viz.1.ronn?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/man/bundle-viz.1.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='add'><a href='/ruby.git/diff/lib/bundler/man/bundle.1.ronn?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/man/bundle.1.ronn</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/lib/bundler/man/gemfile.5.ronn?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/man/gemfile.5.ronn</a></td><td class='right'>517</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/bundler/match_platform.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/mirror.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/bundler/plugin.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/plugin.rb</a></td><td class='right'>330</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/bundler/plugin/api.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/bundler/plugin/api/source.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/plugin/api/source.rb</a></td><td class='right'>304</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/bundler/plugin/dsl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/bundler/plugin/events.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/bundler/plugin/index.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/plugin/index.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/lib/bundler/plugin/installer.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/plugin/installer.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/lib/bundler/plugin/installer/git.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/plugin/installer/rubygems.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/plugin/source_list.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/process_lock.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/psyched_yaml.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/psyched_yaml.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/bundler/remote_specification.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/remote_specification.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/lib/bundler/resolver.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/resolver.rb</a></td><td class='right'>440</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/bundler/resolver/spec_group.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/resolver/spec_group.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/bundler/retry.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/bundler/ruby_dsl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/ruby_version.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/ruby_version.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'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/bundler/rubygems_ext.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/rubygems_ext.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/lib/bundler/rubygems_gem_installer.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/rubygems_gem_installer.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/bundler/rubygems_integration.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/rubygems_integration.rb</a></td><td class='right'>613</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/bundler/runtime.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/runtime.rb</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/lib/bundler/settings.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/settings.rb</a></td><td class='right'>437</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/bundler/settings/validator.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/bundler/setup.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/setup.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/lib/bundler/shared_helpers.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/shared_helpers.rb</a></td><td class='right'>358</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/bundler/similarity_detector.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/bundler/source.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/bundler/source/gemspec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/source/git.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/source/git.rb</a></td><td class='right'>336</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/bundler/source/git/git_proxy.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/source/git/git_proxy.rb</a></td><td class='right'>256</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/bundler/source/metadata.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/source/metadata.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/bundler/source/path.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/source/path.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/bundler/source/path/installer.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/source/path/installer.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/lib/bundler/source/rubygems.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/source/rubygems.rb</a></td><td class='right'>542</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/bundler/source/rubygems/remote.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/source/rubygems/remote.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/bundler/source_list.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/source_list.rb</a></td><td class='right'>183</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/bundler/spec_set.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/spec_set.rb</a></td><td class='right'>201</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/bundler/stub_specification.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/stub_specification.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/lib/bundler/templates/.document?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/templates/Executable?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/templates/Executable.bundler?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/templates/Executable.bundler</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/lib/bundler/templates/Executable.standalone?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/templates/Gemfile?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/templates/gems.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt</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/bundler/templates/newgem/Gemfile.tt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/templates/newgem/Gemfile.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='add'><a href='/ruby.git/diff/lib/bundler/templates/newgem/LICENSE.txt.tt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/templates/newgem/README.md.tt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/bundler/templates/newgem/Rakefile.tt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/templates/newgem/Rakefile.tt</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/bundler/templates/newgem/bin/console.tt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/templates/newgem/bin/console.tt</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/lib/bundler/templates/newgem/bin/setup.tt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/templates/newgem/circleci/config.yml.tt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/templates/newgem/circleci/config.yml.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='add'><a href='/ruby.git/diff/lib/bundler/templates/newgem/exe/newgem.tt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/templates/newgem/ext/newgem/extconf.rb.tt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/templates/newgem/ext/newgem/extconf.rb.tt</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/bundler/templates/newgem/ext/newgem/newgem.c.tt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/templates/newgem/ext/newgem/newgem.h.tt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/templates/newgem/github/workflows/main.yml.tt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/templates/newgem/github/workflows/main.yml.tt</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/bundler/templates/newgem/gitignore.tt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/templates/newgem/gitlab-ci.yml.tt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/templates/newgem/gitlab-ci.yml.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='add'><a href='/ruby.git/diff/lib/bundler/templates/newgem/lib/newgem.rb.tt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/templates/newgem/lib/newgem.rb.tt</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/lib/bundler/templates/newgem/lib/newgem/version.rb.tt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/templates/newgem/lib/newgem/version.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='add'><a href='/ruby.git/diff/lib/bundler/templates/newgem/newgem.gemspec.tt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/templates/newgem/newgem.gemspec.tt</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/bundler/templates/newgem/rspec.tt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/templates/newgem/rubocop.yml.tt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/templates/newgem/rubocop.yml.tt</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/bundler/templates/newgem/spec/newgem_spec.rb.tt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/templates/newgem/spec/newgem_spec.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='add'><a href='/ruby.git/diff/lib/bundler/templates/newgem/spec/spec_helper.rb.tt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/templates/newgem/spec/spec_helper.rb.tt</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/lib/bundler/templates/newgem/test/minitest/newgem_test.rb.tt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/templates/newgem/test/minitest/newgem_test.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='add'><a href='/ruby.git/diff/lib/bundler/templates/newgem/test/minitest/test_helper.rb.tt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/templates/newgem/test/minitest/test_helper.rb.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='add'><a href='/ruby.git/diff/lib/bundler/templates/newgem/test/test-unit/newgem_test.rb.tt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/templates/newgem/test/test-unit/newgem_test.rb.tt</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/lib/bundler/templates/newgem/test/test-unit/test_helper.rb.tt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/templates/newgem/test/test-unit/test_helper.rb.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='add'><a href='/ruby.git/diff/lib/bundler/templates/newgem/travis.yml.tt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/templates/newgem/travis.yml.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='add'><a href='/ruby.git/diff/lib/bundler/ui.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/ui/rg_proxy.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/ui/shell.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/ui/shell.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/bundler/ui/silent.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/bundler/uri_credentials_filter.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/uri_credentials_filter.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/bundler/vendor/connection_pool/lib/connection_pool.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/connection_pool/lib/connection_pool.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/bundler/vendor/connection_pool/lib/connection_pool/monotonic_time.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/connection_pool/lib/connection_pool/monotonic_time.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/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.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/bundler/vendor/connection_pool/lib/connection_pool/version.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/connection_pool/lib/connection_pool/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='add'><a href='/ruby.git/diff/lib/bundler/vendor/fileutils/lib/fileutils.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/fileutils/lib/fileutils.rb</a></td><td class='right'>1764</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/lib/bundler/vendor/molinillo/lib/molinillo.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/molinillo/lib/molinillo.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/lib/bundler/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb</a></td><td class='right'>256</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/bundler/vendor/molinillo/lib/molinillo/dependency_graph/action.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/bundler/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/bundler/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/bundler/vendor/molinillo/lib/molinillo/dependency_graph/log.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/bundler/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.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/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/bundler/vendor/molinillo/lib/molinillo/modules/ui.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/bundler/vendor/molinillo/lib/molinillo/resolution.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb</a></td><td class='right'>835</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/bundler/vendor/molinillo/lib/molinillo/resolver.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/vendor/molinillo/lib/molinillo/state.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb</a></td><td class='right'>1073</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/bundler/vendor/net-http-persistent/lib/net/http/persistent/connection.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/connection.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/bundler/vendor/net-http-persistent/lib/net/http/persistent/pool.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/pool.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/bundler/vendor/net-http-persistent/lib/net/http/persistent/timed_stack_multi.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/timed_stack_multi.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/lib/bundler/vendor/thor/lib/thor.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/thor/lib/thor.rb</a></td><td class='right'>517</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/bundler/vendor/thor/lib/thor/actions.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/thor/lib/thor/actions.rb</a></td><td class='right'>336</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/bundler/vendor/thor/lib/thor/actions/create_file.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/bundler/vendor/thor/lib/thor/actions/create_link.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/thor/lib/thor/actions/create_link.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/bundler/vendor/thor/lib/thor/actions/directory.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/thor/lib/thor/actions/directory.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/bundler/vendor/thor/lib/thor/actions/empty_directory.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb</a></td><td class='right'>373</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/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/thor/lib/thor/actions/inject_into_file.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/lib/bundler/vendor/thor/lib/thor/base.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/thor/lib/thor/base.rb</a></td><td class='right'>699</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/bundler/vendor/thor/lib/thor/command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/thor/lib/thor/command.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/bundler/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/bundler/vendor/thor/lib/thor/error.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/thor/lib/thor/error.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/lib/bundler/vendor/thor/lib/thor/group.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/bundler/vendor/thor/lib/thor/invocation.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/thor/lib/thor/invocation.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/bundler/vendor/thor/lib/thor/line_editor.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/vendor/thor/lib/thor/line_editor/basic.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/vendor/thor/lib/thor/line_editor/readline.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/bundler/vendor/thor/lib/thor/nested_context.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/thor/lib/thor/nested_context.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/lib/bundler/vendor/thor/lib/thor/parser.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/vendor/thor/lib/thor/parser/argument.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/bundler/vendor/thor/lib/thor/parser/arguments.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/bundler/vendor/thor/lib/thor/parser/option.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/thor/lib/thor/parser/option.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/lib/bundler/vendor/thor/lib/thor/parser/options.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/thor/lib/thor/parser/options.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/lib/bundler/vendor/thor/lib/thor/rake_compat.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/thor/lib/thor/rake_compat.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/lib/bundler/vendor/thor/lib/thor/runner.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/thor/lib/thor/runner.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/bundler/vendor/thor/lib/thor/shell.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/bundler/vendor/thor/lib/thor/shell/basic.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/thor/lib/thor/shell/basic.rb</a></td><td class='right'>491</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/bundler/vendor/thor/lib/thor/shell/color.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/thor/lib/thor/shell/color.rb</a></td><td class='right'>153</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/bundler/vendor/thor/lib/thor/shell/html.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/bundler/vendor/thor/lib/thor/util.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/thor/lib/thor/util.rb</a></td><td class='right'>284</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/bundler/vendor/thor/lib/thor/version.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/vendor/tmpdir/lib/tmpdir.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/tmpdir/lib/tmpdir.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/bundler/vendor/uri/lib/uri.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/uri/lib/uri.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/lib/bundler/vendor/uri/lib/uri/common.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/uri/lib/uri/common.rb</a></td><td class='right'>744</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/bundler/vendor/uri/lib/uri/file.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/uri/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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/bundler/vendor/uri/lib/uri/ftp.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/uri/lib/uri/ftp.rb</a></td><td class='right'>267</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/bundler/vendor/uri/lib/uri/generic.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/uri/lib/uri/generic.rb</a></td><td class='right'>1568</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/lib/bundler/vendor/uri/lib/uri/http.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/uri/lib/uri/http.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/lib/bundler/vendor/uri/lib/uri/https.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/uri/lib/uri/https.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/bundler/vendor/uri/lib/uri/ldap.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/uri/lib/uri/ldap.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/bundler/vendor/uri/lib/uri/ldaps.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/uri/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='add'><a href='/ruby.git/diff/lib/bundler/vendor/uri/lib/uri/mailto.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/uri/lib/uri/mailto.rb</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='add'><a href='/ruby.git/diff/lib/bundler/vendor/uri/lib/uri/rfc2396_parser.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/uri/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.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/bundler/vendor/uri/lib/uri/rfc3986_parser.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/uri/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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/bundler/vendor/uri/lib/uri/version.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendor/uri/lib/uri/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/bundler/vendored_fileutils.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendored_fileutils.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/lib/bundler/vendored_molinillo.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/vendored_persistent.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendored_persistent.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/lib/bundler/vendored_thor.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/vendored_tmpdir.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendored_tmpdir.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/lib/bundler/vendored_uri.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/vendored_uri.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/lib/bundler/version.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/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='add'><a href='/ruby.git/diff/lib/bundler/version_ranges.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/version_ranges.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/bundler/vlad.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/bundler/worker.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/worker.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/lib/bundler/yaml_serializer.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/bundler/yaml_serializer.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='del'><a href='/ruby.git/diff/lib/cgi-lib.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/cgi-lib.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='add'><a href='/ruby.git/diff/lib/cgi.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/cgi.rb</a></td><td class='right'>297</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/cgi/cgi.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/cgi/cgi.gemspec</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/cgi/cookie.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/cgi/cookie.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/lib/cgi/core.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/cgi/core.rb</a></td><td class='right'>889</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/cgi/html.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 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/cgi/session.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/cgi/session.rb</a></td><td class='right'>534</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/cgi/session/pstore.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/cgi/session/pstore.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/cgi/util.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/complex.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/complex.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='add'><a href='/ruby.git/diff/lib/csv.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/csv.rb</a></td><td class='right'>2659</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/lib/csv/core_ext/array.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/csv/core_ext/string.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/csv/csv.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/csv/csv.gemspec</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/csv/delete_suffix.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/csv/delete_suffix.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/csv/fields_converter.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/csv/fields_converter.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/csv/match_p.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/csv/match_p.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/csv/parser.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/csv/parser.rb</a></td><td class='right'>1142</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/csv/row.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/csv/row.rb</a></td><td class='right'>624</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/csv/table.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/csv/table.rb</a></td><td class='right'>621</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/csv/version.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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/csv/writer.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/csv/writer.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='del'><a href='/ruby.git/diff/lib/date.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/date.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/lib/date2.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/date2.rb</a></td><td class='right'>346</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/debug.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/debug.gemspec</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/lib/debug.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/debug.rb</a></td><td class='right'>1403</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.1%;'/><td class='rem' style='width: 0.4%;'/><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/delegate.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/delegate.rb</a></td><td class='right'>500</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><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/delegate/delegate.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/delegate/delegate.gemspec</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/did_you_mean.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/did_you_mean.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/did_you_mean/core_ext/name_error.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/did_you_mean/core_ext/name_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='add'><a href='/ruby.git/diff/lib/did_you_mean/did_you_mean.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/did_you_mean/did_you_mean.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/lib/did_you_mean/experimental.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/did_you_mean/experimental.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/did_you_mean/formatters/plain_formatter.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/did_you_mean/formatters/plain_formatter.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/did_you_mean/formatters/verbose_formatter.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/did_you_mean/formatters/verbose_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/did_you_mean/jaro_winkler.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/did_you_mean/jaro_winkler.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/did_you_mean/levenshtein.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/did_you_mean/levenshtein.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/did_you_mean/spell_checker.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/did_you_mean/spell_checker.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/did_you_mean/spell_checkers/key_error_checker.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/did_you_mean/spell_checkers/key_error_checker.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/did_you_mean/spell_checkers/method_name_checker.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/did_you_mean/spell_checkers/method_name_checker.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/did_you_mean/spell_checkers/name_error_checkers.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/did_you_mean/spell_checkers/name_error_checkers.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/did_you_mean/spell_checkers/name_error_checkers/class_name_checker.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/did_you_mean/spell_checkers/name_error_checkers/class_name_checker.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/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.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/lib/did_you_mean/spell_checkers/null_checker.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/did_you_mean/spell_checkers/null_checker.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/did_you_mean/spell_checkers/require_path_checker.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/did_you_mean/spell_checkers/require_path_checker.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/did_you_mean/tree_spell_checker.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/did_you_mean/tree_spell_checker.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/lib/did_you_mean/verbose.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/did_you_mean/verbose.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/lib/did_you_mean/version.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/did_you_mean/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='add'><a href='/ruby.git/diff/lib/drb.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/drb.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='add'><a href='/ruby.git/diff/lib/drb/acl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/drb/acl.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/lib/drb/drb.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/drb/drb.gemspec</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/drb/drb.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/drb/drb.rb</a></td><td class='right'>1937</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 2.1%;'/><td class='rem' style='width: 0.0%;'/><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/lib/drb/eq.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/drb/eq.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/lib/drb/extserv.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/drb/extserv.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/drb/extservm.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/drb/extservm.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/drb/gw.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/drb/gw.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/drb/invokemethod.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/drb/invokemethod.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/drb/observer.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/drb/observer.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/drb/ssl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/drb/ssl.rb</a></td><td class='right'>344</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/drb/timeridconv.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/drb/timeridconv.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/lib/drb/unix.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/drb/unix.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/lib/drb/version.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/drb/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='add'><a href='/ruby.git/diff/lib/drb/weakidconv.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/drb/weakidconv.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/lib/e2mmap.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/e2mmap.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='add'><a href='/ruby.git/diff/lib/erb.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/erb.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='add'><a href='/ruby.git/diff/lib/erb.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/erb.rb</a></td><td class='right'>1079</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='del'><a href='/ruby.git/diff/lib/eregex.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/eregex.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/fileutils.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/fileutils.gemspec</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/fileutils.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/fileutils.rb</a></td><td class='right'>1773</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='del'><a href='/ruby.git/diff/lib/final.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/final.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/finalize.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/finalize.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/find.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/find.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/find.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/find.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/lib/forwardable.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/forwardable.rb</a></td><td class='right'>319</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/forwardable/forwardable.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/forwardable/impl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='del'><a href='/ruby.git/diff/lib/ftools.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/ftools.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/lib/ftplib.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/ftplib.rb</a></td><td class='right'>639</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/lib/getoptlong.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/getoptlong.rb</a></td><td class='right'>489</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='add'><a href='/ruby.git/diff/lib/getoptlong/getoptlong.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/getoptlong/getoptlong.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/getopts.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/getopts.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/importenv.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/importenv.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/ipaddr.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/ipaddr.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='add'><a href='/ruby.git/diff/lib/ipaddr.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/ipaddr.rb</a></td><td class='right'>750</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/irb.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/irb.rb</a></td><td class='right'>926</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/irb/.document?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/irb/.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/irb/cmd/chws.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/irb/cmd/chws.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/irb/cmd/fork.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/irb/cmd/fork.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/irb/cmd/help.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/irb/cmd/help.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/irb/cmd/info.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/irb/cmd/info.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/lib/irb/cmd/load.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/irb/cmd/load.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/irb/cmd/measure.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/irb/cmd/measure.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/irb/cmd/nop.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/irb/cmd/nop.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/irb/cmd/pushws.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/irb/cmd/pushws.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/irb/cmd/subirb.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/irb/cmd/subirb.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/irb/color.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/irb/color.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/lib/irb/completion.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/irb/completion.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/irb/context.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/irb/context.rb</a></td><td class='right'>490</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/irb/easter-egg.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/irb/easter-egg.rb</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/lib/irb/ext/change-ws.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/irb/ext/change-ws.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/irb/ext/history.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/irb/ext/history.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/lib/irb/ext/loader.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/irb/ext/loader.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/lib/irb/ext/multi-irb.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/irb/ext/multi-irb.rb</a></td><td class='right'>265</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/irb/ext/save-history.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/irb/ext/save-history.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/lib/irb/ext/tracer.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/irb/ext/tracer.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/irb/ext/use-loader.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/irb/ext/use-loader.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/irb/ext/workspaces.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/irb/ext/workspaces.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/irb/extend-command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/irb/extend-command.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/lib/irb/frame.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/irb/frame.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/irb/help.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/irb/init.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/irb/init.rb</a></td><td class='right'>391</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/irb/input-method.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/irb/input-method.rb</a></td><td class='right'>354</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/irb/inspector.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/irb/inspector.rb</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/lib/irb/irb.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/irb/irb.gemspec</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/irb/lc/error.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/irb/lc/error.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/lib/irb/lc/help-message?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/irb/lc/help-message</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/irb/lc/ja/encoding_aliases.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/irb/lc/ja/error.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/irb/lc/ja/error.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/lib/irb/lc/ja/help-message?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/irb/lc/ja/help-message</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/lib/irb/locale.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/irb/locale.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/irb/magic-file.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/irb/notifier.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/irb/notifier.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/lib/irb/output-method.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/irb/output-method.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/irb/ruby-lex.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/irb/ruby-lex.rb</a></td><td class='right'>613</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/irb/ruby_logo.aa?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/irb/ruby_logo.aa</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/irb/src_encoding.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/irb/version.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/irb/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='add'><a href='/ruby.git/diff/lib/irb/workspace.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/irb/workspace.rb</a></td><td class='right'>183</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/irb/ws-for-case-2.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/irb/ws-for-case-2.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/lib/irb/xmp.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/irb/xmp.rb</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='del'><a href='/ruby.git/diff/lib/jcode.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/jcode.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='add'><a href='/ruby.git/diff/lib/logger.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/logger.rb</a></td><td class='right'>588</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/logger/errors.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/logger/errors.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/logger/formatter.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/logger/formatter.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/logger/log_device.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/logger/log_device.rb</a></td><td class='right'>205</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/logger/logger.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/logger/logger.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='add'><a href='/ruby.git/diff/lib/logger/period.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/logger/period.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/lib/logger/severity.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/logger/severity.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/logger/version.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/logger/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/lib/mailread.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/mailread.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/mathn.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/mathn.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='upd'><a href='/ruby.git/diff/lib/matrix.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/matrix.rb</a></td><td class='right'>2868</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 2.3%;'/><td class='rem' style='width: 0.8%;'/><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/lib/matrix/eigenvalue_decomposition.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 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/matrix/lup_decomposition.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/matrix/matrix.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/matrix/matrix.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='add'><a href='/ruby.git/diff/lib/matrix/version.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/matrix/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/mkmf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/mkmf.rb</a></td><td class='right'>3066</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 2.9%;'/><td class='rem' style='width: 0.4%;'/><td class='none' style='width: 96.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/lib/monitor.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/monitor.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='add'><a href='/ruby.git/diff/lib/mutex_m.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/mutex_m.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='add'><a href='/ruby.git/diff/lib/net/ftp.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/net/ftp.rb</a></td><td class='right'>1534</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/lib/net/http.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/net/http.rb</a></td><td class='right'>1706</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/net/http/backward.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/net/http/exceptions.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/net/http/generic_request.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/net/http/header.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/net/http/header.rb</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/lib/net/http/net-http.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/net/http/net-http.gemspec</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/net/http/proxy_delta.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/net/http/request.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/net/http/requests.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/net/http/response.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/net/http/response.rb</a></td><td class='right'>427</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/net/http/responses.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/net/http/status.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/net/http/status.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/net/https.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/net/https.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/net/imap.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/net/imap.rb</a></td><td class='right'>3730</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 4.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 96.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/net/net-ftp.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/net/net-ftp.gemspec</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/net/net-imap.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/net/net-imap.gemspec</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/net/net-pop.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/net/net-pop.gemspec</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/net/net-protocol.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/net/net-protocol.gemspec</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/net/net-smtp.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/net/net-smtp.gemspec</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/net/pop.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/net/pop.rb</a></td><td class='right'>1022</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/net/protocol.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/net/protocol.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/lib/net/smtp.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/net/smtp.rb</a></td><td class='right'>1112</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='upd'><a href='/ruby.git/diff/lib/observer.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/observer.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/lib/observer/observer.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/observer/observer.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='add'><a href='/ruby.git/diff/lib/open-uri.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/open-uri.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/lib/open-uri.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/open-uri.rb</a></td><td class='right'>806</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/open3.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/open3.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='upd'><a href='/ruby.git/diff/lib/open3.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/open3.rb</a></td><td class='right'>783</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/optionparser.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/optparse.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/optparse.rb</a></td><td class='right'>2237</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/lib/optparse/ac.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/optparse/ac.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/optparse/date.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/optparse/date.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/optparse/kwargs.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/optparse/optparse.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/optparse/optparse.gemspec</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/optparse/shellwords.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/optparse/shellwords.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/optparse/time.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/optparse/time.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/lib/optparse/uri.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/optparse/uri.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/optparse/version.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/optparse/version.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='upd'><a href='/ruby.git/diff/lib/ostruct.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/ostruct.rb</a></td><td class='right'>442</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='add'><a href='/ruby.git/diff/lib/ostruct/ostruct.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/ostruct/ostruct.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/parsearg.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/parsearg.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/lib/parsedate.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/parsedate.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/ping.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/ping.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/lib/pp.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/pp.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='add'><a href='/ruby.git/diff/lib/pp.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/pp.rb</a></td><td class='right'>609</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/prettyprint.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/prettyprint.gemspec</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/prettyprint.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/prettyprint.rb</a></td><td class='right'>556</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/prime.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/prime.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='add'><a href='/ruby.git/diff/lib/prime.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/prime.rb</a></td><td class='right'>561</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/profile.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/profile.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='upd'><a href='/ruby.git/diff/lib/pstore.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/pstore.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.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/pstore/pstore.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/pstore/pstore.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='add'><a href='/ruby.git/diff/lib/racc.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/racc.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/racc/compat.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/racc/compat.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/racc/debugflags.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/racc/debugflags.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/lib/racc/exception.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/racc/exception.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/racc/grammar.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/racc/grammar.rb</a></td><td class='right'>1118</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/racc/grammarfileparser.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/racc/grammarfileparser.rb</a></td><td class='right'>561</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/racc/info.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/racc/info.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/lib/racc/iset.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/racc/iset.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/racc/logfilegenerator.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/racc/logfilegenerator.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/lib/racc/parser-text.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/racc/parser-text.rb</a></td><td class='right'>637</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/racc/parser.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/racc/parser.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/lib/racc/parserfilegenerator.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/racc/parserfilegenerator.rb</a></td><td class='right'>512</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/racc/pre-setup?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/racc/pre-setup</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/lib/racc/racc.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/racc/racc.gemspec</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/lib/racc/rdoc/grammar.en.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/racc/sourcetext.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/racc/sourcetext.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/racc/state.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/racc/state.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/lib/racc/statetransitiontable.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/racc/statetransitiontable.rb</a></td><td class='right'>317</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/racc/static.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/racc/static.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/rational.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rational.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='add'><a href='/ruby.git/diff/lib/rdoc.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc.rb</a></td><td class='right'>201</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/.document?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/.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='add'><a href='/ruby.git/diff/lib/rdoc/alias.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/anon_class.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rdoc/any_method.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/any_method.rb</a></td><td class='right'>361</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/attr.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/class_module.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/rdoc/code_object.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/code_objects.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/code_objects.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/comment.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/comment.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/rdoc/constant.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/context.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/context.rb</a></td><td class='right'>1266</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/rdoc/context/section.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/context/section.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/lib/rdoc/cross_reference.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/encoding.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/erb_partial.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rdoc/erbio.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rdoc/extend.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rdoc/generator.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/generator/darkfish.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/rdoc/generator/json_index.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/generator/markup.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/generator/pot.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/generator/pot/message_extractor.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/generator/pot/po.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/generator/pot/po_entry.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/generator/ri.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='mov'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/.document?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/generator/template/darkfish/.document</a> (renamed from install-sh)</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/lib/rdoc/generator/template/darkfish/_footer.rhtml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/_head.rhtml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/generator/template/darkfish/_head.rhtml</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/rdoc/generator/template/darkfish/_sidebar_VCS_info.rhtml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/_sidebar_extends.rhtml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/_sidebar_in_files.rhtml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/_sidebar_includes.rhtml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/_sidebar_installed.rhtml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/_sidebar_methods.rhtml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/_sidebar_navigation.rhtml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/_sidebar_parent.rhtml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/_sidebar_search.rhtml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/_sidebar_sections.rhtml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/class.rhtml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/generator/template/darkfish/css/fonts.css?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/generator/template/darkfish/css/rdoc.css?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/generator/template/darkfish/css/rdoc.css</a></td><td class='right'>619</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/generator/template/darkfish/fonts/Lato-Light.ttf?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/generator/template/darkfish/fonts/Lato-Light.ttf</a></td><td class='right'>bin</td><td class='graph'>0 -> 94668 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/fonts/Lato-LightItalic.ttf?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/generator/template/darkfish/fonts/Lato-LightItalic.ttf</a></td><td class='right'>bin</td><td class='graph'>0 -> 94196 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/fonts/Lato-Regular.ttf?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/generator/template/darkfish/fonts/Lato-Regular.ttf</a></td><td class='right'>bin</td><td class='graph'>0 -> 96184 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/fonts/Lato-RegularItalic.ttf?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/generator/template/darkfish/fonts/Lato-RegularItalic.ttf</a></td><td class='right'>bin</td><td class='graph'>0 -> 95316 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Bold.ttf?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Bold.ttf</a></td><td class='right'>bin</td><td class='graph'>0 -> 71200 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Regular.ttf?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Regular.ttf</a></td><td class='right'>bin</td><td class='graph'>0 -> 71692 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/add.png?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/generator/template/darkfish/images/add.png</a></td><td class='right'>bin</td><td class='graph'>0 -> 733 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/arrow_up.png?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/generator/template/darkfish/images/arrow_up.png</a></td><td class='right'>bin</td><td class='graph'>0 -> 372 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/brick.png?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/generator/template/darkfish/images/brick.png</a></td><td class='right'>bin</td><td class='graph'>0 -> 452 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/brick_link.png?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/generator/template/darkfish/images/brick_link.png</a></td><td class='right'>bin</td><td class='graph'>0 -> 764 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/bug.png?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/generator/template/darkfish/images/bug.png</a></td><td class='right'>bin</td><td class='graph'>0 -> 774 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/bullet_black.png?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/generator/template/darkfish/images/bullet_black.png</a></td><td class='right'>bin</td><td class='graph'>0 -> 211 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/bullet_toggle_minus.png?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/generator/template/darkfish/images/bullet_toggle_minus.png</a></td><td class='right'>bin</td><td class='graph'>0 -> 207 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/bullet_toggle_plus.png?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/generator/template/darkfish/images/bullet_toggle_plus.png</a></td><td class='right'>bin</td><td class='graph'>0 -> 209 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/date.png?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/generator/template/darkfish/images/date.png</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/lib/rdoc/generator/template/darkfish/images/delete.png?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/generator/template/darkfish/images/delete.png</a></td><td class='right'>bin</td><td class='graph'>0 -> 715 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/find.png?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/generator/template/darkfish/images/find.png</a></td><td class='right'>bin</td><td class='graph'>0 -> 659 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/loadingAnimation.gif?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/generator/template/darkfish/images/loadingAnimation.gif</a></td><td class='right'>bin</td><td class='graph'>0 -> 5886 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/macFFBgHack.png?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/generator/template/darkfish/images/macFFBgHack.png</a></td><td class='right'>bin</td><td class='graph'>0 -> 207 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/package.png?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/generator/template/darkfish/images/package.png</a></td><td class='right'>bin</td><td class='graph'>0 -> 853 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/page_green.png?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/generator/template/darkfish/images/page_green.png</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/lib/rdoc/generator/template/darkfish/images/page_white_text.png?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/generator/template/darkfish/images/page_white_text.png</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/lib/rdoc/generator/template/darkfish/images/page_white_width.png?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/generator/template/darkfish/images/page_white_width.png</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/lib/rdoc/generator/template/darkfish/images/plugin.png?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/generator/template/darkfish/images/plugin.png</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/lib/rdoc/generator/template/darkfish/images/ruby.png?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/generator/template/darkfish/images/ruby.png</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/lib/rdoc/generator/template/darkfish/images/tag_blue.png?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/generator/template/darkfish/images/tag_blue.png</a></td><td class='right'>bin</td><td class='graph'>0 -> 1880 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/tag_green.png?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/generator/template/darkfish/images/tag_green.png</a></td><td class='right'>bin</td><td class='graph'>0 -> 613 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/transparent.png?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/generator/template/darkfish/images/transparent.png</a></td><td class='right'>bin</td><td class='graph'>0 -> 97 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/wrench.png?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/generator/template/darkfish/images/wrench.png</a></td><td class='right'>bin</td><td class='graph'>0 -> 610 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/wrench_orange.png?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/generator/template/darkfish/images/wrench_orange.png</a></td><td class='right'>bin</td><td class='graph'>0 -> 584 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/images/zoom.png?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/generator/template/darkfish/images/zoom.png</a></td><td class='right'>bin</td><td class='graph'>0 -> 692 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/index.rhtml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/generator/template/darkfish/index.rhtml</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/rdoc/generator/template/darkfish/js/darkfish.js?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/generator/template/darkfish/js/darkfish.js</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/rdoc/generator/template/darkfish/js/search.js?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/generator/template/darkfish/js/search.js</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/lib/rdoc/generator/template/darkfish/page.rhtml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/servlet_not_found.rhtml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rdoc/generator/template/darkfish/servlet_root.rhtml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/generator/template/darkfish/servlet_root.rhtml</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/rdoc/generator/template/darkfish/table_of_contents.rhtml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/generator/template/json_index/.document?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rdoc/generator/template/json_index/js/navigation.js?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/generator/template/json_index/js/navigation.js</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/lib/rdoc/generator/template/json_index/js/searcher.js?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/ghost_method.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rdoc/i18n.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rdoc/i18n/locale.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/i18n/text.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/include.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rdoc/known_classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/markdown.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 17.6%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 82.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rdoc/markdown/entities.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 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/lib/rdoc/markdown/literals.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/markup.rb</a></td><td class='right'>866</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/rdoc/markup/attr_changer.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rdoc/markup/attr_span.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rdoc/markup/attribute_manager.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/attributes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/blank_line.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rdoc/markup/block_quote.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rdoc/markup/document.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/formatter.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/hard_break.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rdoc/markup/heading.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/include.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rdoc/markup/indented_paragraph.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/list.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/list_item.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/paragraph.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rdoc/markup/parser.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/markup/parser.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='add'><a href='/ruby.git/diff/lib/rdoc/markup/pre_process.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/raw.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/regexp_handling.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rdoc/markup/rule.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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/to_ansi.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/to_bs.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/to_html.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/markup/to_html.rb</a></td><td class='right'>417</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/to_html_crossref.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/markup/to_html_crossref.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/rdoc/markup/to_html_snippet.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/to_joined_paragraph.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rdoc/markup/to_label.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/to_markdown.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/to_rdoc.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/to_table_of_contents.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/to_test.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/to_tt_only.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/verbatim.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/meta_method.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rdoc/method_attr.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/mixin.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/normal_class.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/normal_module.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/options.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/options.rb</a></td><td class='right'>1253</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/rdoc/parser.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/parser/c.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/parser/c.rb</a></td><td class='right'>1225</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/lib/rdoc/parser/changelog.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/parser/markdown.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rdoc/parser/rd.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rdoc/parser/ripper_state_lex.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/parser/ripper_state_lex.rb</a></td><td class='right'>590</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/rdoc/parser/ruby.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/parser/ruby.rb</a></td><td class='right'>2327</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/lib/rdoc/parser/ruby_tools.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/parser/simple.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/parser/text.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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/rd.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rd/block_parser.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 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/rdoc/rd/inline.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rd/inline_parser.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 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/lib/rdoc/rdoc.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/rdoc.gemspec</a></td><td class='right'>246</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/rdoc.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/rdoc.rb</a></td><td class='right'>572</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/rdoc/require.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rdoc/ri/driver.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/ri/driver.rb</a></td><td class='right'>1572</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/lib/rdoc/ri/formatter.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rdoc/ri/paths.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/ri/paths.rb</a></td><td class='right'>171</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/store.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rdoc/ri/task.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rubygems_hook.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/servlet.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/servlet.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/lib/rdoc/single_class.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rdoc/stats.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/stats/normal.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/stats/quiet.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/stats/verbose.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rdoc/store.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/store.rb</a></td><td class='right'>979</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/rdoc/task.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/text.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/text.rb</a></td><td class='right'>304</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/token_stream.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/token_stream.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/rdoc/tom_doc.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rdoc/tom_doc.rb</a></td><td class='right'>263</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/top_level.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/version.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='del'><a href='/ruby.git/diff/lib/readbytes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/readbytes.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/readline.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/readline.gemspec</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/readline.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/readline.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/reline.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/reline.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/reline/ansi.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/reline/ansi.rb</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='add'><a href='/ruby.git/diff/lib/reline/config.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/reline/config.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/lib/reline/general_io.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/reline/general_io.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/reline/history.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/reline/history.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/reline/key_actor.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/reline/key_actor.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/reline/key_actor/base.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/reline/key_actor/base.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/reline/key_actor/emacs.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/reline/key_actor/emacs.rb</a></td><td class='right'>517</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/reline/key_actor/vi_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/reline/key_actor/vi_command.rb</a></td><td class='right'>518</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/reline/key_actor/vi_insert.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/reline/key_actor/vi_insert.rb</a></td><td class='right'>517</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/reline/key_stroke.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/reline/key_stroke.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/lib/reline/kill_ring.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/reline/kill_ring.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/lib/reline/line_editor.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/reline/line_editor.rb</a></td><td class='right'>2640</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/reline/reline.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/reline/reline.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/lib/reline/unicode.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/reline/unicode.rb</a></td><td class='right'>625</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/reline/unicode/east_asian_width.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/reline/unicode/east_asian_width.rb</a></td><td class='right'>1164</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/lib/reline/version.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/reline/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='add'><a href='/ruby.git/diff/lib/reline/windows.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/reline/windows.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/lib/resolv-replace.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/resolv-replace.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='add'><a href='/ruby.git/diff/lib/resolv-replace.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/resolv-replace.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/resolv.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/resolv.gemspec</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/resolv.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/resolv.rb</a></td><td class='right'>2910</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 3.1%;'/><td class='rem' style='width: 0.0%;'/><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/lib/rinda/rinda.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rinda/rinda.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='add'><a href='/ruby.git/diff/lib/rinda/rinda.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rinda/rinda.rb</a></td><td class='right'>327</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/rinda/ring.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rinda/ring.rb</a></td><td class='right'>484</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/rinda/tuplespace.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rinda/tuplespace.rb</a></td><td class='right'>641</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/rubygems.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems.rb</a></td><td class='right'>1368</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rubygems/available_set.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/available_set.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/lib/rubygems/basic_specification.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/basic_specification.rb</a></td><td class='right'>345</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/rubygems/bundler_version_finder.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/bundler_version_finder.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/lib/rubygems/command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/command.rb</a></td><td class='right'>660</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/rubygems/command_manager.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/command_manager.rb</a></td><td class='right'>233</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/rubygems/commands/build_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/commands/build_command.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/lib/rubygems/commands/cert_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/commands/cert_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.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/rubygems/commands/check_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/commands/check_command.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/rubygems/commands/cleanup_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/commands/cleanup_command.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/lib/rubygems/commands/contents_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/commands/contents_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.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/rubygems/commands/dependency_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/commands/dependency_command.rb</a></td><td class='right'>217</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/rubygems/commands/environment_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/commands/environment_command.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/lib/rubygems/commands/fetch_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/commands/fetch_command.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/rubygems/commands/generate_index_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/commands/generate_index_command.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/rubygems/commands/help_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/rubygems/commands/info_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/commands/info_command.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/rubygems/commands/install_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/commands/install_command.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='add'><a href='/ruby.git/diff/lib/rubygems/commands/list_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/commands/list_command.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/rubygems/commands/lock_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/commands/lock_command.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/rubygems/commands/mirror_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/commands/mirror_command.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/rubygems/commands/open_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/commands/open_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rubygems/commands/outdated_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/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='add'><a href='/ruby.git/diff/lib/rubygems/commands/owner_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/commands/owner_command.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/lib/rubygems/commands/pristine_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/commands/pristine_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.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/rubygems/commands/push_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/commands/push_command.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/lib/rubygems/commands/query_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/commands/query_command.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/rubygems/commands/rdoc_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/commands/rdoc_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rubygems/commands/search_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rubygems/commands/server_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/commands/server_command.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/lib/rubygems/commands/setup_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/commands/setup_command.rb</a></td><td class='right'>717</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/rubygems/commands/signin_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/commands/signin_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='add'><a href='/ruby.git/diff/lib/rubygems/commands/signout_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/commands/signout_command.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/lib/rubygems/commands/sources_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/commands/sources_command.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/rubygems/commands/specification_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/commands/specification_command.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/rubygems/commands/stale_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rubygems/commands/uninstall_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/commands/uninstall_command.rb</a></td><td class='right'>197</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/rubygems/commands/unpack_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/commands/unpack_command.rb</a></td><td class='right'>175</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/rubygems/commands/update_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/commands/update_command.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/lib/rubygems/commands/which_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/commands/which_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rubygems/commands/yank_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/commands/yank_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rubygems/compatibility.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rubygems/config_file.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/config_file.rb</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/lib/rubygems/core_ext/kernel_gem.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/core_ext/kernel_gem.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/rubygems/core_ext/kernel_require.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/core_ext/kernel_require.rb</a></td><td class='right'>175</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/rubygems/core_ext/kernel_warn.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/core_ext/kernel_warn.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/rubygems/defaults.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/defaults.rb</a></td><td class='right'>295</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/rubygems/dependency.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/dependency.rb</a></td><td class='right'>346</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/rubygems/dependency_installer.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/dependency_installer.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/lib/rubygems/dependency_list.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/dependency_list.rb</a></td><td class='right'>242</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/rubygems/deprecate.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/deprecate.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/lib/rubygems/doctor.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rubygems/errors.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/errors.rb</a></td><td class='right'>183</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/rubygems/exceptions.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/exceptions.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/rubygems/ext.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rubygems/ext/build_error.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/ext/build_error.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/rubygems/ext/builder.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/ext/builder.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/lib/rubygems/ext/cmake_builder.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rubygems/ext/configure_builder.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/ext/configure_builder.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/rubygems/ext/ext_conf_builder.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/ext/ext_conf_builder.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/lib/rubygems/ext/rake_builder.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/ext/rake_builder.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/rubygems/gem_runner.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/gem_runner.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/lib/rubygems/gemcutter_utilities.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/gemcutter_utilities.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/lib/rubygems/indexer.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/indexer.rb</a></td><td class='right'>425</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/rubygems/install_default_message.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rubygems/install_message.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rubygems/install_update_options.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/rubygems/installer.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/installer.rb</a></td><td class='right'>941</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/rubygems/installer_test_case.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/installer_test_case.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/rubygems/installer_uninstaller_utils.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/installer_uninstaller_utils.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/lib/rubygems/local_remote_options.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/rubygems/mock_gem_ui.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/mock_gem_ui.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/rubygems/name_tuple.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/name_tuple.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/lib/rubygems/openssl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/openssl.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rubygems/package.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/package.rb</a></td><td class='right'>720</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/rubygems/package/digest_io.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/package/digest_io.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/rubygems/package/file_source.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/package/file_source.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/lib/rubygems/package/io_source.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/package/io_source.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/rubygems/package/old.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/package/old.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/lib/rubygems/package/source.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rubygems/package/tar_header.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/package/tar_header.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/lib/rubygems/package/tar_reader.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/package/tar_reader.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/lib/rubygems/package/tar_reader/entry.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/package/tar_reader/entry.rb</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>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/rubygems/package/tar_test_case.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/package/tar_test_case.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/rubygems/package/tar_writer.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/package/tar_writer.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/rubygems/package_task.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/package_task.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/rubygems/path_support.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rubygems/platform.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/platform.rb</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/lib/rubygems/psych_additions.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rubygems/psych_tree.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rubygems/query_utils.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/query_utils.rb</a></td><td class='right'>353</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/rubygems/rdoc.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/rdoc.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/rubygems/remote_fetcher.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/remote_fetcher.rb</a></td><td class='right'>342</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/rubygems/request.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/request.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/lib/rubygems/request/connection_pools.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/request/connection_pools.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/rubygems/request/http_pool.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/request/http_pool.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/rubygems/request/https_pool.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rubygems/request_set.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/request_set.rb</a></td><td class='right'>466</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/rubygems/request_set/gem_dependency_api.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/request_set/gem_dependency_api.rb</a></td><td class='right'>844</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/rubygems/request_set/lockfile.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/request_set/lockfile.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/lib/rubygems/request_set/lockfile/parser.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/rubygems/request_set/lockfile/tokenizer.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rubygems/requirement.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/requirement.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/lib/rubygems/resolver.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver.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/lib/rubygems/resolver/activation_request.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/activation_request.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/rubygems/resolver/api_set.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/api_set.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/lib/rubygems/resolver/api_set/gem_parser.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/api_set/gem_parser.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/rubygems/resolver/api_specification.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/api_specification.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/lib/rubygems/resolver/best_set.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/best_set.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/rubygems/resolver/composed_set.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/composed_set.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/rubygems/resolver/conflict.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/conflict.rb</a></td><td class='right'>153</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/rubygems/resolver/current_set.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/current_set.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/lib/rubygems/resolver/dependency_request.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/dependency_request.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/lib/rubygems/resolver/git_set.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/git_set.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/lib/rubygems/resolver/git_specification.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/git_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rubygems/resolver/index_set.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/index_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rubygems/resolver/index_specification.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/index_specification.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/rubygems/resolver/installed_specification.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/installed_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rubygems/resolver/installer_set.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/installer_set.rb</a></td><td class='right'>274</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/rubygems/resolver/local_specification.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/local_specification.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/rubygems/resolver/lock_set.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/lock_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rubygems/resolver/lock_specification.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/lock_specification.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/rubygems/resolver/molinillo.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rubygems/resolver/molinillo/lib/molinillo.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/molinillo/lib/molinillo.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/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/resolution_state.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rubygems/resolver/molinillo/lib/molinillo/delegates/specification_provider.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb</a></td><td class='right'>256</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/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/action.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/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='add'><a href='/ruby.git/diff/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_vertex.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/delete_edge.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/log.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/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='add'><a href='/ruby.git/diff/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/tag.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/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='add'><a href='/ruby.git/diff/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/vertex.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/vertex.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/lib/rubygems/resolver/molinillo/lib/molinillo/errors.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/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.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/rubygems/resolver/molinillo/lib/molinillo/gem_metadata.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/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='add'><a href='/ruby.git/diff/lib/rubygems/resolver/molinillo/lib/molinillo/modules/specification_provider.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rubygems/resolver/molinillo/lib/molinillo/modules/ui.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rubygems/resolver/molinillo/lib/molinillo/resolution.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/molinillo/lib/molinillo/resolution.rb</a></td><td class='right'>835</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/rubygems/resolver/molinillo/lib/molinillo/resolver.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/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='add'><a href='/ruby.git/diff/lib/rubygems/resolver/molinillo/lib/molinillo/state.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rubygems/resolver/requirement_list.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/requirement_list.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/rubygems/resolver/set.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/set.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/lib/rubygems/resolver/source_set.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/source_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='add'><a href='/ruby.git/diff/lib/rubygems/resolver/spec_specification.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/spec_specification.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/rubygems/resolver/specification.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/specification.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/lib/rubygems/resolver/stats.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rubygems/resolver/vendor_set.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/vendor_set.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/rubygems/resolver/vendor_specification.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/resolver/vendor_specification.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/rubygems/s3_uri_signer.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/s3_uri_signer.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/lib/rubygems/safe_yaml.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rubygems/security.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/security.rb</a></td><td class='right'>600</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/rubygems/security/policies.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rubygems/security/policy.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/security/policy.rb</a></td><td class='right'>291</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/rubygems/security/signer.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/security/signer.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/lib/rubygems/security/trust_dir.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/security/trust_dir.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/lib/rubygems/security_option.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/security_option.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/rubygems/server.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/server.rb</a></td><td class='right'>882</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/rubygems/source.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/source.rb</a></td><td class='right'>246</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/rubygems/source/git.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/source/git.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/rubygems/source/installed.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/source/installed.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/rubygems/source/local.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/source/local.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/lib/rubygems/source/lock.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/source/lock.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/rubygems/source/specific_file.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/source/specific_file.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/lib/rubygems/source/vendor.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/source/vendor.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/rubygems/source_list.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/rubygems/spec_fetcher.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/spec_fetcher.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/rubygems/specification.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/specification.rb</a></td><td class='right'>2671</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/lib/rubygems/specification_policy.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/specification_policy.rb</a></td><td class='right'>485</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/rubygems/ssl_certs/.document?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/ssl_certs/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='add'><a href='/ruby.git/diff/lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA_R3.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA_R3.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='add'><a href='/ruby.git/diff/lib/rubygems/stub_specification.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/stub_specification.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/lib/rubygems/syck_hack.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rubygems/test_case.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/test_case.rb</a></td><td class='right'>1510</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/rubygems/test_utilities.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/test_utilities.rb</a></td><td class='right'>373</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/rubygems/text.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/text.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/rubygems/uninstaller.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/uninstaller.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/lib/rubygems/uri_formatter.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/uri_formatter.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/lib/rubygems/uri_parser.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/uri_parser.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/rubygems/uri_parsing.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/uri_parsing.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/rubygems/user_interaction.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/user_interaction.rb</a></td><td class='right'>640</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/rubygems/util.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/util.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/rubygems/util/licenses.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/rubygems/util/list.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/rubygems/validator.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/validator.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/rubygems/version.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/version.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/lib/rubygems/version_option.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/rubygems/version_option.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/lib/securerandom.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/securerandom.gemspec</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/securerandom.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/securerandom.rb</a></td><td class='right'>317</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/set.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/set.rb</a></td><td class='right'>692</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/set/set.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/set/set.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='add'><a href='/ruby.git/diff/lib/set/sorted_set.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/set/sorted_set.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/shellwords.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/shellwords.gemspec</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/lib/shellwords.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/shellwords.rb</a></td><td class='right'>264</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.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=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/singleton.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/lib/singleton/singleton.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/singleton/singleton.gemspec</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/sync.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/sync.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='del'><a href='/ruby.git/diff/lib/telnet.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/telnet.rb</a></td><td class='right'>666</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/lib/tempfile.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/tempfile.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/tempfile.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/tempfile.rb</a></td><td class='right'>420</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.4%;'/><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='del'><a href='/ruby.git/diff/lib/thread.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/thread.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/thwait.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/thwait.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='add'><a href='/ruby.git/diff/lib/time.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/time.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='add'><a href='/ruby.git/diff/lib/time.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/time.rb</a></td><td class='right'>745</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/timeout.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/timeout.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.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/timeout/timeout.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/timeout/timeout.gemspec</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/tmpdir.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/tmpdir.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/lib/tmpdir.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/tmpdir.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='upd'><a href='/ruby.git/diff/lib/tracer.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/tracer.rb</a></td><td class='right'>298</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='add'><a href='/ruby.git/diff/lib/tracer/tracer.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/tracer/tracer.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='add'><a href='/ruby.git/diff/lib/tsort.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/tsort.gemspec</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/tsort.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/tsort.rb</a></td><td class='right'>452</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/un.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/un.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='add'><a href='/ruby.git/diff/lib/un.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/un.rb</a></td><td class='right'>398</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/unicode_normalize/normalize.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/unicode_normalize/tables.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/unicode_normalize/tables.rb</a></td><td class='right'>9039</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 9.7%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 90.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/lib/uri.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/uri.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/lib/uri/common.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/uri/common.rb</a></td><td class='right'>681</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/uri/file.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/uri/ftp.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/uri/ftp.rb</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/lib/uri/generic.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/uri/generic.rb</a></td><td class='right'>1567</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/lib/uri/http.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/uri/http.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/uri/https.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/uri/https.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/uri/ldap.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/uri/ldap.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/uri/ldaps.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/lib/uri/mailto.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/uri/mailto.rb</a></td><td class='right'>293</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/uri/rfc2396_parser.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/uri/rfc2396_parser.rb</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/lib/uri/rfc3986_parser.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/uri/rfc3986_parser.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/lib/uri/uri.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/uri/uri.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='add'><a href='/ruby.git/diff/lib/uri/version.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/uri/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/uri/ws.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/uri/ws.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/uri/wss.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/uri/wss.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='upd'><a href='/ruby.git/diff/lib/weakref.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/weakref.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='add'><a href='/ruby.git/diff/lib/weakref/weakref.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/weakref/weakref.gemspec</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.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/yaml.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/yaml/dbm.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/yaml/dbm.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/yaml/store.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/yaml/store.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/yaml/yaml.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>lib/yaml/yaml.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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/libexec/bundle?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>libexec/bundle</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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/libexec/bundler?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/libexec/erb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>libexec/erb</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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/libexec/irb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/libexec/racc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>libexec/racc</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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/libexec/rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/libexec/ri?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/load.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>load.c</a></td><td class='right'>1323</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/loadpath.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/localeinit.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>localeinit.c</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='upd'><a href='/ruby.git/diff/main.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>main.c</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='add'><a href='/ruby.git/diff/man/bundle-add.1?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>man/bundle-add.1</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/man/bundle-binstubs.1?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>man/bundle-binstubs.1</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/man/bundle-cache.1?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>man/bundle-cache.1</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/man/bundle-check.1?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/man/bundle-clean.1?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/man/bundle-config.1?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>man/bundle-config.1</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/man/bundle-doctor.1?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/man/bundle-exec.1?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/man/bundle-gem.1?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>man/bundle-gem.1</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/man/bundle-info.1?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/man/bundle-init.1?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/man/bundle-inject.1?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/man/bundle-install.1?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>man/bundle-install.1</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/man/bundle-list.1?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/man/bundle-lock.1?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/man/bundle-open.1?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/man/bundle-outdated.1?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/man/bundle-platform.1?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/man/bundle-pristine.1?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/man/bundle-remove.1?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/man/bundle-show.1?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/man/bundle-update.1?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/man/bundle-viz.1?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/man/bundle.1?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>man/bundle.1</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/man/erb.1?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>man/erb.1</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/man/gemfile.5?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>man/gemfile.5</a></td><td class='right'>686</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/man/goruby.1?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/man/index.txt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>man/index.txt</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/man/irb.1?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>man/irb.1</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/man/ri.1?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/man/ruby.1?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/marshal.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>marshal.c</a></td><td class='right'>2371</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 2.1%;'/><td class='rem' style='width: 0.5%;'/><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/math.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>math.c</a></td><td class='right'>1017</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.0%;'/><td class='rem' style='width: 0.1%;'/><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/memory_view.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>memory_view.c</a></td><td class='right'>869</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/method.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>method.h</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/mini_builtin.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>mini_builtin.c</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/miniinit.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>miniinit.c</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='upd'><a href='/ruby.git/diff/misc/README?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/misc/expand_tabs.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>misc/expand_tabs.rb</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>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/misc/inf-ruby.el?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>misc/inf-ruby.el</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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/misc/lldb_cruby.py?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>misc/lldb_cruby.py</a></td><td class='right'>534</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/misc/lldb_disasm.py?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>misc/lldb_disasm.py</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/misc/rb_optparse.bash?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/misc/rb_optparse.zsh?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='del'><a href='/ruby.git/diff/misc/ruby-mode.el?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>misc/ruby-mode.el</a></td><td class='right'>724</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='add'><a href='/ruby.git/diff/misc/ruby-style.el?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='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/rubydb2x.el?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' 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/rubydb3x.el?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>misc/rubydb3x.el</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='add'><a href='/ruby.git/diff/misc/test_lldb_cruby.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>misc/test_lldb_cruby.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/missing/acosh.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>missing/acosh.c</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='upd'><a href='/ruby.git/diff/missing/alloca.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>missing/alloca.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='add'><a href='/ruby.git/diff/missing/cbrt.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/missing/close.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/crt_externs.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>missing/crypt.c</a></td><td class='right'>1159</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.0%;'/><td class='rem' style='width: 0.3%;'/><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/crypt.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>missing/crypt.h</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/missing/des_tables.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 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/missing/dir.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>missing/dir.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='add'><a href='/ruby.git/diff/missing/dtoa.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>missing/dtoa.c</a></td><td class='right'>3417</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 3.7%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 96.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=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/missing/erf.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>missing/erf.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/missing/explicit_bzero.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>missing/explicit_bzero.c</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/missing/ffs.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='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/missing/file.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>missing/file.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/missing/finite.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>missing/finite.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='upd'><a href='/ruby.git/diff/missing/flock.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>missing/flock.c</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='del'><a href='/ruby.git/diff/missing/fnmatch.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>missing/fnmatch.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/missing/fnmatch.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>missing/fnmatch.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='add'><a href='/ruby.git/diff/missing/hypot.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>missing/hypot.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='upd'><a href='/ruby.git/diff/missing/isinf.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>missing/isinf.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.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/missing/isnan.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>missing/isnan.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='add'><a href='/ruby.git/diff/missing/langinfo.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/missing/lgamma_r.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='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/missing/memcmp.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>missing/memcmp.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='upd'><a href='/ruby.git/diff/missing/memmove.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>missing/memmove.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/missing/mkdir.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>missing/mkdir.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='add'><a href='/ruby.git/diff/missing/mt19937.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>missing/mt19937.c</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/missing/nan.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/missing/nextafter.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='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/os2.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>missing/os2.c</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='add'><a href='/ruby.git/diff/missing/procstat_vm.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>missing/procstat_vm.c</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/missing/setproctitle.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>missing/setproctitle.c</a></td><td class='right'>175</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/missing/signbit.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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/strcasecmp.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>missing/strcasecmp.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='upd'><a href='/ruby.git/diff/missing/strchr.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>missing/strchr.c</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='del'><a href='/ruby.git/diff/missing/strdup.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>missing/strdup.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='upd'><a href='/ruby.git/diff/missing/strerror.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>missing/strerror.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/strftime.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>missing/strftime.c</a></td><td class='right'>893</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='add'><a href='/ruby.git/diff/missing/strlcat.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/strlcpy.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='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/strncasecmp.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>missing/strncasecmp.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='upd'><a href='/ruby.git/diff/missing/strstr.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>missing/strstr.c</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/missing/strtod.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>missing/strtod.c</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/missing/strtol.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>missing/strtol.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/missing/strtoul.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.0%;'/><td class='rem' style='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/missing/tgamma.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='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/vsnprintf.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>missing/vsnprintf.c</a></td><td class='right'>1128</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/missing/x68.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>missing/x68.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/missing/x86_64-chkstk.S?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/mjit.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>mjit.c</a></td><td class='right'>1023</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/mjit.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>mjit.h</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/mjit_compile.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>mjit_compile.c</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/mjit_worker.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>mjit_worker.c</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='del'><a href='/ruby.git/diff/mkconfig.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>mkconfig.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='add'><a href='/ruby.git/diff/node.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>node.c</a></td><td class='right'>1441</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='upd'><a href='/ruby.git/diff/node.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>node.h</a></td><td class='right'>494</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/numeric.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>numeric.c</a></td><td class='right'>5904</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 5.4%;'/><td class='rem' style='width: 0.9%;'/><td class='none' style='width: 93.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/object.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>object.c</a></td><td class='right'>4786</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 4.5%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 94.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/pack.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>pack.c</a></td><td class='right'>2020</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.1%;'/><td class='rem' style='width: 1.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/pack.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>pack.rb</a></td><td class='right'>283</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/parse.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>parse.y</a></td><td class='right'>15126</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 13.2%;'/><td class='rem' style='width: 3.1%;'/><td class='none' style='width: 83.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/prec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>prec.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='add'><a href='/ruby.git/diff/prelude.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>prelude.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/probes.d?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>probes.d</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/probes_helper.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>probes_helper.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='add'><a href='/ruby.git/diff/proc.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>proc.c</a></td><td class='right'>4243</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 4.6%;'/><td class='rem' style='width: 0.0%;'/><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/process.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>process.c</a></td><td class='right'>9359</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 9.4%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 89.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ractor.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ractor.c</a></td><td class='right'>3200</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 3.4%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 96.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/ractor.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ractor.rb</a></td><td class='right'>838</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/ractor_core.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ractor_core.h</a></td><td class='right'>343</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/random.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>random.c</a></td><td class='right'>1779</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.8%;'/><td class='rem' style='width: 0.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/range.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>range.c</a></td><td class='right'>1920</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.9%;'/><td class='rem' style='width: 0.2%;'/><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/rational.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>rational.c</a></td><td class='right'>2829</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='upd'><a href='/ruby.git/diff/re.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>re.c</a></td><td class='right'>4279</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 3.8%;'/><td class='rem' style='width: 0.8%;'/><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/re.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>re.h</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/regcomp.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>regcomp.c</a></td><td class='right'>6763</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 7.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 92.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/regenc.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>regenc.c</a></td><td class='right'>1012</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/regenc.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/regerror.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>regerror.c</a></td><td class='right'>387</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='del'><a href='/ruby.git/diff/regex.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>regex.c</a></td><td class='right'>4292</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/regex.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>regex.h</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='add'><a href='/ruby.git/diff/regexec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>regexec.c</a></td><td class='right'>4621</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/regint.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>regint.h</a></td><td class='right'>938</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/regparse.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>regparse.c</a></td><td class='right'>6635</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 7.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 92.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/regparse.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/regsyntax.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/ruby-runner.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='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/ruby.1?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ruby.1</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='upd'><a href='/ruby.git/diff/ruby.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ruby.c</a></td><td class='right'>2920</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 2.5%;'/><td class='rem' style='width: 0.7%;'/><td class='none' style='width: 96.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/ruby.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ruby.h</a></td><td class='right'>560</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/ruby_assert.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ruby_assert.h</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/ruby_atomic.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>ruby_atomic.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/rubyio.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>rubyio.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/rubysig.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>rubysig.h</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='add'><a href='/ruby.git/diff/rubystub.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='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/rubytest.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>rubytest.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='upd'><a href='/ruby.git/diff/sample/README?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/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='add'><a href='/ruby.git/diff/sample/benchmark.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/biorhythm.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/cal.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/cal.rb</a></td><td class='right'>263</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/sample/cbreak.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/cgi-session-pstore.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='upd'><a href='/ruby.git/diff/sample/clnt.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/clnt.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/sample/coverage.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='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/dbmtest.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/delegate.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/dir.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/drb/README.ja.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/acl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/drb/darray.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/drb/darray.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/sample/drb/darrayc.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/drb/darrayc.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/sample/drb/dbiff.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/drb/dbiff.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/sample/drb/dcdbiff.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/drb/dcdbiff.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/sample/drb/dchatc.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/drb/dchatc.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/sample/drb/dchats.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/drb/dchats.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/sample/drb/dhasen.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/drb/dhasen.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/sample/drb/dhasenc.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/drb/dhasenc.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/sample/drb/dlogc.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/drb/dlogc.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/sample/drb/dlogd.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/drb/dlogd.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/drb/dqin.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/drb/dqin.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/sample/drb/dqlib.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/drb/dqlib.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/sample/drb/dqout.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/drb/dqout.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/sample/drb/dqueue.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/drb/dqueue.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/sample/drb/drbc.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/drb/drbc.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/sample/drb/drbch.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/drb/drbch.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/sample/drb/drbm.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/drb/drbm.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/sample/drb/drbmc.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/drb/drbmc.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/sample/drb/drbs-acl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/drb/drbs-acl.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/sample/drb/drbs.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/drb/drbs.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/sample/drb/drbssl_c.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/drb/drbssl_c.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/sample/drb/drbssl_s.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/drb/drbssl_s.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/sample/drb/extserv_test.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/drb/extserv_test.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/sample/drb/gw_ct.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/drb/gw_ct.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/sample/drb/gw_cu.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/drb/gw_cu.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/sample/drb/gw_s.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/drb/gw_s.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/sample/drb/holderc.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/drb/holderc.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/sample/drb/holders.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/drb/holders.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/sample/drb/http0.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/drb/http0.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/sample/drb/http0serv.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/drb/http0serv.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/sample/drb/name.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/drb/name.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/sample/drb/namec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/drb/namec.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/sample/drb/old_tuplespace.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/drb/old_tuplespace.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/sample/drb/rinda_ts.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/drb/rinda_ts.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/drb/rindac.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/drb/rindac.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/sample/drb/rindas.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/drb/rindas.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/sample/drb/ring_echo.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/drb/ring_echo.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/sample/drb/ring_inspect.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/drb/ring_inspect.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/sample/drb/ring_place.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/drb/ring_place.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/sample/drb/simpletuple.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/drb/simpletuple.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/sample/drb/speedc.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/drb/speedc.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/sample/drb/speeds.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/drb/speeds.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/sample/dualstack-fetch.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/dualstack-fetch.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/sample/dualstack-httpd.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/dualstack-httpd.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='upd'><a href='/ruby.git/diff/sample/eval.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/eval.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/export.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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/fact.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/fact.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/fib.awk?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/fib.pl</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/fib.py?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/fib.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='upd'><a href='/ruby.git/diff/sample/fib.scm?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/fib.scm</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/freq.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/freq.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/from.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/fullpath.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/getopts.test?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='del'><a href='/ruby.git/diff/sample/goodfriday.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/goodfriday.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/sample/io.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/io.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/sample/iseq_loader.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/sample/list.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/list.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/list3.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/sample/logger/app.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/logger/app.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/sample/logger/log.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/logger/log.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/sample/logger/shifting.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/logger/shifting.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'>-rwxr-xr-x<span class='modechange'>[-rw-r--r--]</span></td><td class='upd'><a href='/ruby.git/diff/sample/mine.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/mine.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/sample/mkproto.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/mkproto.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/sample/mpart.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/mpart.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/mrshtest.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/mrshtest.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/sample/net-imap.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/sample/observ.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/observ.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/sample/occur.pl?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='del'><a href='/ruby.git/diff/sample/occur2.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/occur2.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/sample/open3.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/openssl/c_rehash.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/openssl/c_rehash.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/sample/openssl/cert2text.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/openssl/cert2text.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/sample/openssl/certstore.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/openssl/certstore.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/sample/openssl/cipher.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/openssl/cipher.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/sample/openssl/crlstore.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/openssl/crlstore.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/sample/openssl/echo_cli.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/openssl/echo_cli.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/sample/openssl/echo_svr.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/openssl/echo_svr.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/sample/openssl/gen_csr.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/openssl/gen_csr.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/sample/openssl/smime_read.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/openssl/smime_read.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/sample/openssl/smime_write.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/openssl/smime_write.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/sample/openssl/wget.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/openssl/wget.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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/sample/optparse/opttest.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/optparse/opttest.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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/sample/optparse/subcommand.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/optparse/subcommand.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/philos.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/philos.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/pi.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/pi.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/pstore.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/pty/expect_sample.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/pty/script.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/pty/shl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='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/rbc.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/rbc.rb</a></td><td class='right'>1015</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/sample/rcs.awk?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='upd'><a href='/ruby.git/diff/sample/rcs.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/rcs.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/sample/rdoc/markup/rdoc2latex.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/rdoc/markup/sample.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='del'><a href='/ruby.git/diff/sample/regx.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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/rename.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/rename.rb</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='add'><a href='/ruby.git/diff/sample/rinda-ring.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/ripper/ruby2html.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/ripper/strip-comment.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/rss/blend.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/rss/blend.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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/sample/rss/convert.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/rss/convert.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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/sample/rss/list_description.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/rss/list_description.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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/sample/rss/re_read.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/rss/re_read.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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/sample/rss/rss_recent.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/rss/rss_recent.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='upd'><a href='/ruby.git/diff/sample/sieve.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/sieve.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/simple-bench.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/sample/svr.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/svr.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/sample/tempfile.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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--</td><td class='upd'><a href='/ruby.git/diff/sample/test.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/test.rb</a></td><td class='right'>1138</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='add'><a href='/ruby.git/diff/sample/testunit/adder.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/testunit/adder.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/sample/testunit/subtracter.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/testunit/subtracter.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/sample/testunit/tc_adder.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/testunit/tc_adder.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/sample/testunit/tc_subtracter.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/testunit/tc_subtracter.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/sample/testunit/ts_examples.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/testunit/ts_examples.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/time.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/timeout.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2013/README.md?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2013/kinaba/authors.markdown?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2013/kinaba/entry.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2013/kinaba/remarks.markdown?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2013/mame/authors.markdown?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2013/mame/entry.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/trick2013/mame/remarks.markdown?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/trick2013/shinh/authors.markdown?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2013/shinh/entry.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2013/shinh/remarks.markdown?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2013/yhara/authors.markdown?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2013/yhara/entry.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2013/yhara/remarks.en.markdown?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2013/yhara/remarks.markdown?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2015/README.md?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2015/eregon/authors.markdown?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2015/eregon/entry.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2015/eregon/remarks.markdown?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/trick2015/kinaba/authors.markdown?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2015/kinaba/entry.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/sample/trick2015/kinaba/remarks.markdown?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/trick2015/ksk_1/authors.markdown?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2015/ksk_1/entry.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2015/ksk_1/remarks.markdown?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/trick2015/ksk_2/abnormal.cnf?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2015/ksk_2/authors.markdown?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2015/ksk_2/entry.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2015/ksk_2/quinn.cnf?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2015/ksk_2/remarks.markdown?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/sample/trick2015/ksk_2/sample.cnf?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2015/ksk_2/uf20-01.cnf?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/trick2015/ksk_2/unsat.cnf?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2015/monae/authors.markdown?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2015/monae/entry.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2015/monae/remarks.markdown?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2018/01-kinaba/authors.markdown?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2018/01-kinaba/entry.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2018/01-kinaba/remarks.markdown?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/trick2018/02-mame/authors.markdown?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2018/02-mame/entry.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2018/02-mame/remarks.markdown?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2018/03-tompng/Gemfile?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2018/03-tompng/Gemfile.lock?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2018/03-tompng/authors.markdown?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2018/03-tompng/entry.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2018/03-tompng/output.txt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2018/03-tompng/remarks.markdown?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2018/03-tompng/trick.png?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/trick2018/03-tompng/trick.png</a></td><td class='right'>bin</td><td class='graph'>0 -> 5661 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/sample/trick2018/04-colin/authors.markdown?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2018/04-colin/entry.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2018/04-colin/remarks.markdown?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/trick2018/05-tompng/authors.markdown?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2018/05-tompng/entry.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2018/05-tompng/preview_of_output.png?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/trick2018/05-tompng/preview_of_output.png</a></td><td class='right'>bin</td><td class='graph'>0 -> 66800 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/sample/trick2018/05-tompng/remarks.markdown?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/sample/trick2018/README.md?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/tsvr.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/sample/uumerge.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sample/uumerge.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/sample/weakref.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/scheduler.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>scheduler.c</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='upd'><a href='/ruby.git/diff/signal.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>signal.c</a></td><td class='right'>1773</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.5%;'/><td class='rem' style='width: 0.4%;'/><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/siphash.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/siphash.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/sparc.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/README.md?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/README.md</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/spec/bundler/bundler/build_metadata_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/bundler/build_metadata_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/bundler/bundler_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/bundler/bundler_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.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/spec/bundler/bundler/cli_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/bundler/cli_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.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/spec/bundler/bundler/compact_index_client/updater_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/bundler/compact_index_client/updater_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/bundler/definition_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/bundler/definition_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.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/spec/bundler/bundler/dep_proxy_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/bundler/dsl_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/bundler/dsl_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.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/spec/bundler/bundler/endpoint_specification_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/bundler/env_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/bundler/env_spec.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/spec/bundler/bundler/environment_preserver_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/bundler/fetcher/base_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/bundler/fetcher/compact_index_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/bundler/fetcher/compact_index_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/bundler/fetcher/dependency_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/bundler/bundler/fetcher/downloader_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/bundler/fetcher/downloader_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.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/spec/bundler/bundler/fetcher/index_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/bundler/fetcher/index_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/bundler/fetcher_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/bundler/fetcher_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.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/spec/bundler/bundler/friendly_errors_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/bundler/friendly_errors_spec.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/spec/bundler/bundler/gem_helper_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/bundler/gem_helper_spec.rb</a></td><td class='right'>378</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/spec/bundler/bundler/gem_version_promoter_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/bundler/bundler/index_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/bundler/installer/gem_installer_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/bundler/installer/gem_installer_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='add'><a href='/ruby.git/diff/spec/bundler/bundler/installer/parallel_installer_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/bundler/installer/spec_installation_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/bundler/lockfile_parser_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/bundler/bundler/mirror_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/bundler/mirror_spec.rb</a></td><td class='right'>331</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/spec/bundler/bundler/plugin/api/source_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/bundler/plugin/api/source_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/bundler/plugin/api_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/bundler/plugin/dsl_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/bundler/plugin/events_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/bundler/plugin/events_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='add'><a href='/ruby.git/diff/spec/bundler/bundler/plugin/index_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/bundler/plugin/index_spec.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/spec/bundler/bundler/plugin/installer_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/bundler/plugin/installer_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/bundler/plugin/source_list_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/bundler/plugin_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/bundler/plugin_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.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/spec/bundler/bundler/psyched_yaml_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/bundler/remote_specification_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/bundler/bundler/retry_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/bundler/ruby_dsl_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/bundler/ruby_version_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/bundler/ruby_version_spec.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/spec/bundler/bundler/rubygems_integration_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/bundler/rubygems_integration_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/bundler/settings/validator_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/bundler/settings_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/bundler/settings_spec.rb</a></td><td class='right'>330</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/spec/bundler/bundler/shared_helpers_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/bundler/shared_helpers_spec.rb</a></td><td class='right'>521</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/spec/bundler/bundler/source/git/git_proxy_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/bundler/source/git/git_proxy_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.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/spec/bundler/bundler/source/git_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/bundler/source/path_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/bundler/source/rubygems/remote_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/bundler/source/rubygems/remote_spec.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/spec/bundler/bundler/source/rubygems_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/bundler/source_list_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/bundler/bundler/source_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/bundler/source_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.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/spec/bundler/bundler/spec_set_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/bundler/stub_specification_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/bundler/stub_specification_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='add'><a href='/ruby.git/diff/spec/bundler/bundler/ui/shell_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/bundler/ui/shell_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/bundler/ui_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/bundler/uri_credentials_filter_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/bundler/vendored_persistent_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/bundler/vendored_persistent_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/bundler/version_ranges_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/bundler/version_ranges_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='add'><a href='/ruby.git/diff/spec/bundler/bundler/worker_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/bundler/yaml_serializer_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/bundler/cache/cache_path_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/cache/gems_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/cache/gems_spec.rb</a></td><td class='right'>311</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/spec/bundler/cache/git_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/cache/git_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.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/spec/bundler/cache/path_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/cache/path_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.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/spec/bundler/cache/platform_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/commands/add_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/commands/add_spec.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/spec/bundler/commands/binstubs_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/commands/binstubs_spec.rb</a></td><td class='right'>484</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/spec/bundler/commands/cache_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/commands/cache_spec.rb</a></td><td class='right'>362</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/spec/bundler/commands/check_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/commands/check_spec.rb</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='add'><a href='/ruby.git/diff/spec/bundler/commands/clean_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/commands/clean_spec.rb</a></td><td class='right'>915</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/spec/bundler/commands/config_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/commands/config_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.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/spec/bundler/commands/console_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/commands/console_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.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/spec/bundler/commands/doctor_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/commands/doctor_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/commands/exec_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/commands/exec_spec.rb</a></td><td class='right'>1073</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/spec/bundler/commands/fund_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/commands/fund_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/commands/help_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/commands/help_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/commands/info_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/commands/info_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.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/spec/bundler/commands/init_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/commands/init_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.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/spec/bundler/commands/inject_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/commands/install_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/commands/install_spec.rb</a></td><td class='right'>676</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/spec/bundler/commands/issue_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/commands/licenses_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/commands/licenses_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='add'><a href='/ruby.git/diff/spec/bundler/commands/list_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/commands/list_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.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/spec/bundler/commands/lock_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/commands/lock_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.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/spec/bundler/commands/newgem_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/commands/newgem_spec.rb</a></td><td class='right'>1111</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/spec/bundler/commands/open_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/commands/open_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/commands/outdated_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/commands/outdated_spec.rb</a></td><td class='right'>932</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/spec/bundler/commands/post_bundle_message_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/commands/post_bundle_message_spec.rb</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/spec/bundler/commands/pristine_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/commands/pristine_spec.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/spec/bundler/commands/remove_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/commands/remove_spec.rb</a></td><td class='right'>699</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/spec/bundler/commands/show_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/commands/show_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.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/spec/bundler/commands/update_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/commands/update_spec.rb</a></td><td class='right'>1043</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/spec/bundler/commands/version_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/commands/version_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/commands/viz_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/commands/viz_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.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/spec/bundler/install/allow_offline_install_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/install/allow_offline_install_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/install/binstubs_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/install/binstubs_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/install/bundler_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/install/bundler_spec.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/spec/bundler/install/deploy_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/install/deploy_spec.rb</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/spec/bundler/install/failure_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/install/failure_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.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/spec/bundler/install/gemfile/eval_gemfile_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/install/gemfile/eval_gemfile_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/install/gemfile/gemspec_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/install/gemfile/gemspec_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.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/spec/bundler/install/gemfile/git_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/install/gemfile/git_spec.rb</a></td><td class='right'>1475</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/spec/bundler/install/gemfile/groups_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/install/gemfile/groups_spec.rb</a></td><td class='right'>412</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/spec/bundler/install/gemfile/install_if_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/install/gemfile/install_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='add'><a href='/ruby.git/diff/spec/bundler/install/gemfile/lockfile_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/install/gemfile/path_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/install/gemfile/path_spec.rb</a></td><td class='right'>737</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/spec/bundler/install/gemfile/platform_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/install/gemfile/platform_spec.rb</a></td><td class='right'>458</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/spec/bundler/install/gemfile/ruby_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/install/gemfile/ruby_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/install/gemfile/sources_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/install/gemfile/sources_spec.rb</a></td><td class='right'>653</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/spec/bundler/install/gemfile/specific_platform_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/install/gemfile/specific_platform_spec.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/spec/bundler/install/gemfile_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/install/gemfile_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/install/gems/compact_index_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/install/gems/compact_index_spec.rb</a></td><td class='right'>934</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/spec/bundler/install/gems/dependency_api_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/install/gems/dependency_api_spec.rb</a></td><td class='right'>769</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/spec/bundler/install/gems/env_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/install/gems/flex_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/install/gems/flex_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.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/spec/bundler/install/gems/fund_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/install/gems/fund_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/install/gems/mirror_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/install/gems/native_extensions_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/install/gems/native_extensions_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.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/spec/bundler/install/gems/post_install_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/bundler/install/gems/resolving_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/install/gems/resolving_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.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/spec/bundler/install/gems/standalone_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/install/gems/standalone_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.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/spec/bundler/install/gems/sudo_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/install/gems/sudo_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.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/spec/bundler/install/gems/win32_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/install/gems/win32_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='add'><a href='/ruby.git/diff/spec/bundler/install/gemspecs_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/install/gemspecs_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.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/spec/bundler/install/git_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/install/git_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/install/global_cache_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/bundler/install/path_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/install/path_spec.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/spec/bundler/install/prereleases_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/install/prereleases_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/install/process_lock_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/install/redownload_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/install/redownload_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/install/security_policy_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/install/security_policy_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/install/yanked_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/install/yanked_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/lock/git_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/lock/lockfile_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/lock/lockfile_spec.rb</a></td><td class='right'>1414</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/other/cli_dispatch_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/other/cli_dispatch_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='add'><a href='/ruby.git/diff/spec/bundler/other/ext_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/other/ext_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/other/major_deprecation_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/other/major_deprecation_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.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/spec/bundler/other/platform_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/other/platform_spec.rb</a></td><td class='right'>1272</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/spec/bundler/plugins/command_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/plugins/hook_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/plugins/install_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/plugins/install_spec.rb</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/spec/bundler/plugins/list_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/plugins/list_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/plugins/source/example_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/plugins/source/example_spec.rb</a></td><td class='right'>458</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/spec/bundler/plugins/source_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/plugins/source_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/plugins/uninstall_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/plugins/uninstall_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/quality_es_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/quality_es_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/quality_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/quality_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.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/spec/bundler/realworld/dependency_api_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/realworld/dependency_api_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='add'><a href='/ruby.git/diff/spec/bundler/realworld/double_check_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/realworld/edgecases_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/realworld/edgecases_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.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/spec/bundler/realworld/fixtures/warbler/.gitignore?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/realworld/fixtures/warbler/.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='add'><a href='/ruby.git/diff/spec/bundler/realworld/fixtures/warbler/Gemfile?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/realworld/fixtures/warbler/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='add'><a href='/ruby.git/diff/spec/bundler/realworld/fixtures/warbler/Gemfile.lock?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/realworld/fixtures/warbler/Gemfile.lock</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/spec/bundler/realworld/fixtures/warbler/bin/warbler-example.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/realworld/fixtures/warbler/bin/warbler-example.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='add'><a href='/ruby.git/diff/spec/bundler/realworld/fixtures/warbler/demo/demo.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/realworld/fixtures/warbler/demo/demo.gemspec</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/spec/bundler/realworld/gemfile_source_header_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/realworld/mirror_probe_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/bundler/realworld/parallel_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/realworld/parallel_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/resolver/basic_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/bundler/resolver/platform_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/resolver/platform_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.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/spec/bundler/runtime/executable_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/runtime/executable_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.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/spec/bundler/runtime/gem_tasks_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/runtime/gem_tasks_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/runtime/inline_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/runtime/inline_spec.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/spec/bundler/runtime/load_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/runtime/load_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/runtime/platform_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/runtime/platform_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.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/spec/bundler/runtime/require_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/bundler/runtime/setup_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/runtime/setup_spec.rb</a></td><td class='right'>1432</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/runtime/with_unbundled_env_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/runtime/with_unbundled_env_spec.rb</a></td><td class='right'>302</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/spec/bundler/spec_helper.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/spec_helper.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/spec/bundler/support/artifice/compact_index.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/support/artifice/compact_index.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/spec/bundler/support/artifice/compact_index_api_missing.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/support/artifice/compact_index_basic_authentication.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/support/artifice/compact_index_checksum_mismatch.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/support/artifice/compact_index_concurrent_download.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/support/artifice/compact_index_creds_diff_host.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/support/artifice/compact_index_extra.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/support/artifice/compact_index_extra_api.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/support/artifice/compact_index_extra_api_missing.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/support/artifice/compact_index_extra_missing.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/support/artifice/compact_index_forbidden.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/support/artifice/compact_index_host_redirect.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/support/artifice/compact_index_no_gem.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/support/artifice/compact_index_partial_update.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/support/artifice/compact_index_range_not_satisfiable.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/support/artifice/compact_index_rate_limited.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/support/artifice/compact_index_rate_limited.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/spec/bundler/support/artifice/compact_index_redirects.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/support/artifice/compact_index_strict_basic_authentication.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/support/artifice/compact_index_wrong_dependencies.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/support/artifice/compact_index_wrong_gem_checksum.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/support/artifice/endpoint.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/support/artifice/endpoint.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/spec/bundler/support/artifice/endpoint_500.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/support/artifice/endpoint_500.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/spec/bundler/support/artifice/endpoint_api_forbidden.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/support/artifice/endpoint_api_missing.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/support/artifice/endpoint_basic_authentication.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/support/artifice/endpoint_creds_diff_host.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/support/artifice/endpoint_extra.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/support/artifice/endpoint_extra_api.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/support/artifice/endpoint_extra_missing.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/support/artifice/endpoint_fallback.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/support/artifice/endpoint_host_redirect.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/support/artifice/endpoint_marshal_fail.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/support/artifice/endpoint_marshal_fail_basic_authentication.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/support/artifice/endpoint_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='add'><a href='/ruby.git/diff/spec/bundler/support/artifice/endpoint_mirror_source.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/support/artifice/endpoint_redirect.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/support/artifice/endpoint_strict_basic_authentication.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/support/artifice/endpoint_timeout.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/support/artifice/fail.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/support/artifice/fail.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/spec/bundler/support/artifice/vcr.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/support/artifice/vcr.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/spec/bundler/support/artifice/windows.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/support/artifice/windows.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/spec/bundler/support/build_metadata.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/support/build_metadata.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/spec/bundler/support/builders.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/support/builders.rb</a></td><td class='right'>713</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/spec/bundler/support/command_execution.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/support/command_execution.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/spec/bundler/support/filters.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/support/filters.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/spec/bundler/support/hax.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/support/hax.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/spec/bundler/support/helpers.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/support/helpers.rb</a></td><td class='right'>578</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/spec/bundler/support/indexes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/support/indexes.rb</a></td><td class='right'>425</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/spec/bundler/support/matchers.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/support/matchers.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/spec/bundler/support/path.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/support/path.rb</a></td><td class='right'>252</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/spec/bundler/support/permissions.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/support/platforms.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/support/platforms.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/spec/bundler/support/rubygems_ext.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/support/rubygems_ext.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/spec/bundler/support/rubygems_version_manager.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/support/rubygems_version_manager.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/spec/bundler/support/silent_logger.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/support/sometimes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/support/streams.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/support/sudo.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/support/switch_rubygems.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/support/switch_rubygems.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/spec/bundler/support/the_bundle.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/support/the_bundle.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/spec/bundler/update/gemfile_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/update/gemfile_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/update/gems/fund_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/update/gems/fund_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/update/gems/post_install_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/bundler/update/git_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/update/git_spec.rb</a></td><td class='right'>358</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/spec/bundler/update/path_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/bundler/update/redownload_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/bundler/update/redownload_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='add'><a href='/ruby.git/diff/spec/default.mspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/Gemfile?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/Gemfile.lock?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/Gemfile.lock</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/spec/mspec/LICENSE?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/README.md?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/README.md</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/spec/mspec/Rakefile?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/bin/mkspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/bin/mkspec.bat?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/bin/mspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/bin/mspec-ci?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/bin/mspec-ci.bat?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/bin/mspec-run?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/bin/mspec-run.bat?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/bin/mspec-tag?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/bin/mspec-tag.bat?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/bin/mspec.bat?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec.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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/commands/mkspec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/mspec/lib/mspec/commands/mspec-ci.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/commands/mspec-ci.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/spec/mspec/lib/mspec/commands/mspec-run.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/commands/mspec-run.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/spec/mspec/lib/mspec/commands/mspec-tag.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/commands/mspec-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.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/spec/mspec/lib/mspec/commands/mspec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/commands/mspec.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/spec/mspec/lib/mspec/expectations.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/expectations/expectations.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/expectations/expectations.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/spec/mspec/lib/mspec/expectations/should.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/expectations/should.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/spec/mspec/lib/mspec/guards.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/guards/block_device.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/guards/bug.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/guards/bug.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/spec/mspec/lib/mspec/guards/conflict.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/guards/endian.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/guards/feature.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/guards/guard.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/mspec/lib/mspec/guards/platform.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/guards/platform.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/spec/mspec/lib/mspec/guards/quarantine.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/guards/superuser.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/guards/support.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/guards/version.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/guards/version.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/spec/mspec/lib/mspec/helpers.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/helpers.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/spec/mspec/lib/mspec/helpers/argf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/helpers/argv.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/helpers/datetime.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/helpers/fixture.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/helpers/flunk.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/helpers/fs.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/helpers/io.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/helpers/io.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/spec/mspec/lib/mspec/helpers/mock_to_path.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/helpers/numeric.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/helpers/numeric.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/spec/mspec/lib/mspec/helpers/ruby_exe.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/helpers/ruby_exe.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/spec/mspec/lib/mspec/helpers/scratch.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/helpers/scratch.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/spec/mspec/lib/mspec/helpers/tmp.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/helpers/tmp.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/spec/mspec/lib/mspec/helpers/warning.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/helpers/warning.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/spec/mspec/lib/mspec/matchers.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/matchers.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/spec/mspec/lib/mspec/matchers/base.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/matchers/base.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/spec/mspec/lib/mspec/matchers/be_an_instance_of.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/be_ancestor_of.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/be_close.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/matchers/be_close.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/spec/mspec/lib/mspec/matchers/be_computed_by.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/be_empty.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/be_false.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/be_kind_of.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/be_nan.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/be_nil.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/be_true.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/be_true_or_false.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/block_caller.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/complain.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/matchers/complain.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/spec/mspec/lib/mspec/matchers/eql.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/equal.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/equal_element.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/have_class_variable.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/have_constant.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/have_instance_method.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/have_instance_variable.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/have_method.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/have_private_instance_method.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/have_private_method.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/have_protected_instance_method.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/have_public_instance_method.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/have_singleton_method.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/include.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/include_any_of.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/infinity.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/match_yaml.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/method.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/output.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/output_to_fd.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/raise_error.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/matchers/raise_error.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/spec/mspec/lib/mspec/matchers/respond_to.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/signed_zero.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/matchers/skip.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/matchers/skip.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/spec/mspec/lib/mspec/matchers/variable.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/mocks.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/mocks/mock.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/mspec/lib/mspec/mocks/object.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/mocks/proxy.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/mspec/lib/mspec/runner.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/actions.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/actions/constants_leak_checker.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/runner/actions/constants_leak_checker.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/spec/mspec/lib/mspec/runner/actions/filter.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/actions/leakchecker.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/runner/actions/leakchecker.rb</a></td><td class='right'>318</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/spec/mspec/lib/mspec/runner/actions/profile.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/runner/actions/profile.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/spec/mspec/lib/mspec/runner/actions/tag.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/actions/taglist.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/actions/tagpurge.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/actions/tally.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/actions/timeout.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/runner/actions/timeout.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/spec/mspec/lib/mspec/runner/actions/timer.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/context.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/runner/context.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/spec/mspec/lib/mspec/runner/evaluate.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/example.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/exception.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/runner/exception.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/spec/mspec/lib/mspec/runner/filters.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/filters/match.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/filters/profile.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/filters/regexp.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/filters/tag.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/formatters.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/runner/formatters.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/spec/mspec/lib/mspec/runner/formatters/base.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/runner/formatters/base.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/spec/mspec/lib/mspec/runner/formatters/describe.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/runner/formatters/describe.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/spec/mspec/lib/mspec/runner/formatters/dotted.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/runner/formatters/dotted.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/spec/mspec/lib/mspec/runner/formatters/file.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/runner/formatters/file.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/spec/mspec/lib/mspec/runner/formatters/html.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/formatters/junit.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/runner/formatters/junit.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/spec/mspec/lib/mspec/runner/formatters/method.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/runner/formatters/method.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/spec/mspec/lib/mspec/runner/formatters/multi.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/runner/formatters/multi.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/spec/mspec/lib/mspec/runner/formatters/profile.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/runner/formatters/profile.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/spec/mspec/lib/mspec/runner/formatters/specdoc.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/formatters/spinner.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/runner/formatters/spinner.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/spec/mspec/lib/mspec/runner/formatters/stats.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/runner/formatters/stats.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/spec/mspec/lib/mspec/runner/formatters/summary.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/runner/formatters/summary.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/spec/mspec/lib/mspec/runner/formatters/unit.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/runner/formatters/unit.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/spec/mspec/lib/mspec/runner/formatters/yaml.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/runner/formatters/yaml.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/spec/mspec/lib/mspec/runner/mspec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/runner/mspec.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/spec/mspec/lib/mspec/runner/object.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/parallel.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/shared.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/runner/tag.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/utils/deprecate.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/utils/format.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/utils/format.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/spec/mspec/lib/mspec/utils/name_map.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/utils/options.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/utils/options.rb</a></td><td class='right'>491</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/spec/mspec/lib/mspec/utils/script.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/utils/script.rb</a></td><td class='right'>283</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/spec/mspec/lib/mspec/utils/version.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/lib/mspec/utils/warnings.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/lib/mspec/utils/warnings.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/spec/mspec/lib/mspec/version.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/commands/fixtures/four.txt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/spec/commands/fixtures/four.txt</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='add'><a href='/ruby.git/diff/spec/mspec/spec/commands/fixtures/level2/three_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/commands/fixtures/one_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/commands/fixtures/three.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/commands/fixtures/two_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/commands/mkspec_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/mspec/spec/commands/mspec_ci_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/mspec/spec/commands/mspec_run_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/mspec/spec/commands/mspec_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/mspec/spec/commands/mspec_tag_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/mspec/spec/expectations/expectations_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/expectations/should.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/spec/expectations/should_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/spec/fixtures/a_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/fixtures/b_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/fixtures/chatty_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/fixtures/config.mspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/spec/fixtures/config.mspec</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/spec/mspec/spec/fixtures/die_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/fixtures/my_ruby?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/fixtures/object_methods_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/fixtures/print_interpreter_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/fixtures/tagging_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/guards/block_device_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/guards/bug_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/mspec/spec/guards/conflict_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/spec/guards/endian_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/spec/guards/feature_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/spec/guards/guard_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/mspec/spec/guards/platform_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/spec/guards/platform_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.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/spec/mspec/spec/guards/quarantine_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/guards/superuser_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/guards/support_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/spec/guards/user_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/guards/version_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/spec/guards/version_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/spec/helpers/argf_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/helpers/argv_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/helpers/datetime_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/helpers/fixture_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/helpers/flunk_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/helpers/fs_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/mspec/spec/helpers/io_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/spec/helpers/io_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/spec/helpers/mock_to_path_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/helpers/numeric_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/helpers/ruby_exe_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/mspec/spec/helpers/scratch_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/helpers/suppress_warning_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/helpers/tmp_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/integration/interpreter_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/integration/object_methods_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/integration/run_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/spec/integration/run_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/spec/integration/tag_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/spec/integration/tag_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/spec/matchers/base_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/spec/matchers/base_spec.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/spec/mspec/spec/matchers/be_an_instance_of_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/spec/matchers/be_ancestor_of_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/matchers/be_close_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/spec/matchers/be_computed_by_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/matchers/be_empty_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/matchers/be_false_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/matchers/be_kind_of_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/matchers/be_nan_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/matchers/be_nil_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/matchers/be_true_or_false_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/matchers/be_true_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/matchers/block_caller_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/matchers/complain_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/spec/matchers/complain_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/spec/matchers/eql_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/matchers/equal_element_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/spec/matchers/equal_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/matchers/have_class_variable_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/spec/matchers/have_constant_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/matchers/have_instance_method_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/spec/matchers/have_instance_variable_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/spec/matchers/have_method_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/spec/matchers/have_private_instance_method_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/spec/matchers/have_private_method_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/matchers/have_protected_instance_method_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/spec/matchers/have_public_instance_method_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/spec/matchers/have_singleton_method_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/matchers/include_any_of_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/matchers/include_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/matchers/infinity_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/matchers/match_yaml_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/matchers/output_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/spec/matchers/output_to_fd_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/matchers/raise_error_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/spec/matchers/raise_error_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.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/spec/mspec/spec/matchers/respond_to_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/matchers/signed_zero_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/mocks/mock_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/mspec/spec/mocks/proxy_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/mspec/spec/runner/actions/filter_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/spec/runner/actions/tag_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/mspec/spec/runner/actions/taglist_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/mspec/spec/runner/actions/tagpurge_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/mspec/spec/runner/actions/tally_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/mspec/spec/runner/actions/timer_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/runner/context_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/spec/runner/context_spec.rb</a></td><td class='right'>1028</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/spec/mspec/spec/runner/example_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/spec/runner/exception_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/mspec/spec/runner/filters/a.yaml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/runner/filters/b.yaml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/runner/filters/match_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/runner/filters/profile_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/spec/runner/filters/regexp_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/runner/filters/tag_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/spec/runner/formatters/describe_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/spec/runner/formatters/dotted_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/mspec/spec/runner/formatters/file_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/spec/runner/formatters/html_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/mspec/spec/runner/formatters/junit_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/mspec/spec/runner/formatters/method_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/mspec/spec/runner/formatters/multi_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/spec/runner/formatters/multi_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/spec/runner/formatters/specdoc_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/spec/runner/formatters/spinner_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/spec/runner/formatters/summary_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/runner/formatters/unit_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/spec/runner/formatters/yaml_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/spec/runner/mspec_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/spec/runner/mspec_spec.rb</a></td><td class='right'>598</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/spec/mspec/spec/runner/shared_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/spec/runner/tag_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/spec/runner/tags.txt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/spec_helper.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/mspec/spec/utils/deprecate_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/spec/utils/name_map_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/mspec/spec/utils/options_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/spec/utils/options_spec.rb</a></td><td class='right'>1304</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/spec/mspec/spec/utils/script_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/mspec/spec/utils/version_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/tool/find.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/tool/pull-latest-mspec-spec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/tool/pull-latest-mspec-spec</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/spec/mspec/tool/remove_old_guards.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/tool/remove_old_guards.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/spec/mspec/tool/sync/.gitignore?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/mspec/tool/sync/sync-rubyspec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/tool/sync/sync-rubyspec.rb</a></td><td class='right'>242</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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/spec/mspec/tool/tag_from_output.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/tool/tag_from_output.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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/spec/mspec/tool/wrap_with_guard.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/mspec/tool/wrap_with_guard.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/spec/ruby/.gitignore?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/.mspec.constants?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/.mspec.constants</a></td><td class='right'>231</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/spec/ruby/.rubocop.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/.rubocop.yml</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='add'><a href='/ruby.git/diff/spec/ruby/.rubocop_todo.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/.rubocop_todo.yml</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/spec/ruby/CONTRIBUTING.md?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/CONTRIBUTING.md</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/spec/ruby/LICENSE?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/README.md?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/README.md</a></td><td class='right'>153</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/spec/ruby/TODO?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/command_line/dash_a_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/command_line/dash_c_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/command_line/dash_d_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/command_line/dash_e_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/command_line/dash_encoding_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/command_line/dash_external_encoding_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/command_line/dash_internal_encoding_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/command_line/dash_l_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/command_line/dash_l_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='add'><a href='/ruby.git/diff/spec/ruby/command_line/dash_n_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/command_line/dash_p_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/command_line/dash_r_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/command_line/dash_r_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='add'><a href='/ruby.git/diff/spec/ruby/command_line/dash_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/command_line/dash_upper_c_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/command_line/dash_upper_c_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/command_line/dash_upper_e_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/command_line/dash_upper_f_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/command_line/dash_upper_i_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/command_line/dash_upper_k_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/command_line/dash_upper_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/command_line/dash_upper_u_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/command_line/dash_upper_w_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/command_line/dash_upper_w_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/command_line/dash_upper_x_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/command_line/dash_upper_x_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/command_line/dash_v_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/command_line/dash_w_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/command_line/dash_x_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/command_line/dash_x_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='add'><a href='/ruby.git/diff/spec/ruby/command_line/error_message_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/command_line/feature_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/command_line/feature_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/bad_syntax.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/bin/bad_embedded_ruby.txt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/bin/dash_s_fail?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/bin/embedded_ruby.txt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/bin/hybrid_launcher.sh?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/bin/launcher.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/change_directory_script.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/command_line/fixtures/change_directory_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='add'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/conditional_range.txt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/dash_s_script.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/debug.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/debug_info.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/freeze_flag_across_files.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/freeze_flag_across_files_diff_enc.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/freeze_flag_one_literal.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/freeze_flag_required.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/freeze_flag_required_diff_enc.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/command_line/fixtures/freeze_flag_required_diff_enc.rb</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/spec/ruby/command_line/fixtures/freeze_flag_two_literals.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/full_names.txt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/loadpath.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/names.txt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/passwd_file.txt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/require.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/rubyopt.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/test_file.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/command_line/fixtures/verbose.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/command_line/frozen_strings_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/command_line/frozen_strings_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='add'><a href='/ruby.git/diff/spec/ruby/command_line/rubylib_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/command_line/rubylib_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/command_line/rubyopt_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/command_line/rubyopt_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.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/spec/ruby/command_line/shared/change_directory.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/command_line/shared/change_directory.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/spec/ruby/command_line/shared/verbose.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/command_line/syntax_error_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/argf_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/argv_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/binmode_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/bytes_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/argf/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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/chars_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/argf/chars_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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/close_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/closed_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/codepoints_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/argf/codepoints_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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/each_byte_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/each_char_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/each_codepoint_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/each_line_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/each_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/eof_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/file_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/filename_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/fileno_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/fixtures/bin_file.txt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/fixtures/file1.txt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/fixtures/file2.txt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/fixtures/filename.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/fixtures/lineno.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/fixtures/rewind.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/fixtures/stdin.txt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/getc_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/gets_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/argf/gets_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/argf/lineno_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/lines_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/argf/lines_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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/path_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/pos_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/read_nonblock_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/argf/read_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/argf/read_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/argf/readchar_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/readline_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/readlines_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/readpartial_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/argf/rewind_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/seek_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/argf/set_encoding_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/shared/each_byte.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/argf/shared/each_char.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/argf/shared/each_codepoint.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/argf/shared/each_line.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/argf/shared/eof.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/shared/filename.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/shared/fileno.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/shared/getc.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/shared/gets.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/argf/shared/pos.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/shared/read.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/argf/shared/readlines.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/skip_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/tell_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/to_a_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/to_i_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/to_io_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/argf/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/allocate_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/any_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/append_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/append_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='add'><a href='/ruby.git/diff/spec/ruby/core/array/array_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/assoc_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/at_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/bsearch_index_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/bsearch_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/clear_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/clear_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/clone_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/collect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/combination_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/compact_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/compact_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/comparison_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/concat_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/constructor_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/count_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/cycle_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/deconstruct_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/deconstruct_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='add'><a href='/ruby.git/diff/spec/ruby/core/array/delete_at_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/delete_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/delete_if_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/delete_if_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/delete_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/delete_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/difference_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/difference_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='add'><a href='/ruby.git/diff/spec/ruby/core/array/dig_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/drop_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/drop_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/drop_while_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/dup_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/each_index_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/each_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/each_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/element_reference_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/element_set_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/element_set_spec.rb</a></td><td class='right'>487</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/spec/ruby/core/array/empty_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/eql_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/equal_value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/fetch_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/fill_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/fill_spec.rb</a></td><td class='right'>327</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/spec/ruby/core/array/filter_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/find_index_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/first_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/core/array/fixtures/encoded_strings.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/flatten_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/flatten_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.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/spec/ruby/core/array/frozen_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/hash_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/include_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/index_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/core/array/insert_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/intersection_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/intersection_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='add'><a href='/ruby.git/diff/spec/ruby/core/array/join_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/join_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/keep_if_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/last_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/length_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/map_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/max_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/max_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/min_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/min_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/minmax_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/minmax_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='add'><a href='/ruby.git/diff/spec/ruby/core/array/minus_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/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='add'><a href='/ruby.git/diff/spec/ruby/core/array/multiply_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/multiply_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.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/spec/ruby/core/array/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/pack/a_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/pack/at_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/pack/b_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/pack/buffer_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/pack/buffer_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/pack/c_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/pack/comment_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/pack/d_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/pack/e_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/pack/empty_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/pack/f_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/pack/g_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/pack/h_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/core/array/pack/i_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/pack/j_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/core/array/pack/l_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/core/array/pack/m_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/core/array/pack/n_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/pack/p_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/pack/p_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/pack/percent_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/pack/q_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/pack/s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/pack/shared/basic.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/pack/shared/basic.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/spec/ruby/core/array/pack/shared/encodings.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/pack/shared/float.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/pack/shared/float.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/spec/ruby/core/array/pack/shared/integer.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/core/array/pack/shared/numeric_basic.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/pack/shared/string.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/pack/shared/taint.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/pack/shared/taint.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/spec/ruby/core/array/pack/shared/unicode.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/pack/u_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/pack/v_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/pack/w_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/pack/x_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/pack/z_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/partition_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/permutation_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/plus_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/plus_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/pop_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/pop_spec.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/spec/ruby/core/array/prepend_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/prepend_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='add'><a href='/ruby.git/diff/spec/ruby/core/array/product_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/push_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/rassoc_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/reject_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/reject_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.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/spec/ruby/core/array/repeated_combination_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/repeated_permutation_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/replace_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/reverse_each_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/reverse_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/rindex_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/rotate_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/sample_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/sample_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/select_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/shared/clone.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/shared/clone.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/spec/ruby/core/array/shared/collect.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/shared/collect.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/spec/ruby/core/array/shared/delete_if.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/shared/difference.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/shared/difference.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/spec/ruby/core/array/shared/enumeratorize.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/shared/eql.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/shared/index.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/shared/inspect.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/shared/inspect.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='add'><a href='/ruby.git/diff/spec/ruby/core/array/shared/intersection.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/shared/intersection.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/spec/ruby/core/array/shared/join.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/shared/join.rb</a></td><td class='right'>181</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/spec/ruby/core/array/shared/keep_if.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/shared/length.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/shared/push.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/shared/replace.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/shared/select.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/shared/slice.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/shared/slice.rb</a></td><td class='right'>523</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/spec/ruby/core/array/shared/union.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/shared/union.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/spec/ruby/core/array/shared/unshift.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/shift_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/shift_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/shuffle_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/shuffle_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/size_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/slice_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/slice_spec.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/spec/ruby/core/array/sort_by_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/sort_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/core/array/sum_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/sum_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='add'><a href='/ruby.git/diff/spec/ruby/core/array/take_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/take_while_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/to_a_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/to_ary_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/to_h_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/to_h_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/transpose_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/try_convert_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/union_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/union_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='add'><a href='/ruby.git/diff/spec/ruby/core/array/uniq_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/uniq_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.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/spec/ruby/core/array/unshift_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/array/values_at_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/array/values_at_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/array/zip_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/basicobject/__id__spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/basicobject/__send___spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/basicobject/basicobject_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/basicobject/basicobject_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/basicobject/equal_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/basicobject/equal_value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/basicobject/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/basicobject/fixtures/common.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/basicobject/fixtures/remove_method_missing.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/basicobject/fixtures/singleton_method.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/basicobject/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/basicobject/instance_eval_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/core/basicobject/instance_exec_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/basicobject/method_missing_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/basicobject/not_equal_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/basicobject/not_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/basicobject/singleton_method_added_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/basicobject/singleton_method_removed_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/basicobject/singleton_method_undefined_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/binding/clone_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/binding/dup_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/binding/eval_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/binding/eval_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.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/spec/ruby/core/binding/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/binding/fixtures/classes.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/spec/ruby/core/binding/fixtures/irb.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/binding/fixtures/irb.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='add'><a href='/ruby.git/diff/spec/ruby/core/binding/fixtures/irbrc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/binding/fixtures/irbrc</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/spec/ruby/core/binding/fixtures/location.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/binding/fixtures/location.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/binding/irb_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/binding/irb_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='add'><a href='/ruby.git/diff/spec/ruby/core/binding/local_variable_defined_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/binding/local_variable_get_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/binding/local_variable_set_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/binding/local_variables_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/binding/receiver_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/binding/shared/clone.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/binding/source_location_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/binding/source_location_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='add'><a href='/ruby.git/diff/spec/ruby/core/builtin_constants/builtin_constants_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/builtin_constants/builtin_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/class/allocate_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/class/dup_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/class/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/class/inherited_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/class/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/class/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/class/new_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.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/spec/ruby/core/class/superclass_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/comparable/between_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/comparable/clamp_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/comparable/clamp_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/comparable/equal_value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/comparable/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/comparable/gt_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/comparable/gte_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/comparable/lt_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/comparable/lt_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/comparable/lte_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/complex/abs2_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/complex/abs_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/complex/angle_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/complex/arg_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/complex/coerce_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/complex/comparision_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/complex/comparision_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='add'><a href='/ruby.git/diff/spec/ruby/core/complex/conj_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/complex/conjugate_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/complex/constants_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/complex/denominator_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/complex/divide_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/complex/eql_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/complex/equal_value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/complex/exponent_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/complex/fdiv_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/complex/finite_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/complex/finite_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='add'><a href='/ruby.git/diff/spec/ruby/core/complex/hash_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/complex/imag_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/complex/imaginary_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/complex/infinite_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/complex/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='add'><a href='/ruby.git/diff/spec/ruby/core/complex/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/complex/integer_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/complex/magnitude_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/complex/marshal_dump_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/complex/minus_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/complex/multiply_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/complex/negative_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/complex/numerator_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/complex/phase_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/complex/plus_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/complex/polar_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/complex/positive_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/complex/quo_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/complex/rationalize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/complex/real_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/complex/rect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/complex/rectangular_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/complex/shared/abs.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/complex/shared/arg.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/complex/shared/conjugate.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/complex/shared/divide.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/complex/shared/image.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/complex/shared/rect.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/complex/to_c_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/complex/to_c_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='add'><a href='/ruby.git/diff/spec/ruby/core/complex/to_f_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/complex/to_i_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/complex/to_r_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/complex/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/complex/uminus_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/data/constants_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/data/constants_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='add'><a href='/ruby.git/diff/spec/ruby/core/dir/chdir_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/dir/children_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/dir/children_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/dir/chroot_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/dir/close_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/dir/delete_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/dir/dir_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/dir/each_child_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/dir/each_child_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/dir/each_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/dir/element_reference_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/dir/empty_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/dir/empty_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='add'><a href='/ruby.git/diff/spec/ruby/core/dir/entries_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/dir/exist_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/dir/fileno_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/dir/fixtures/common.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/dir/fixtures/common.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/spec/ruby/core/dir/foreach_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/dir/getwd_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/dir/glob_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/dir/glob_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.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/spec/ruby/core/dir/home_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/dir/home_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='add'><a href='/ruby.git/diff/spec/ruby/core/dir/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/dir/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/dir/mkdir_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/dir/mkdir_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/dir/open_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/dir/path_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/dir/pos_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/dir/pwd_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/dir/read_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/dir/rewind_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/dir/rmdir_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/dir/seek_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/dir/shared/chroot.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/dir/shared/closed.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/dir/shared/delete.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/dir/shared/exist.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/dir/shared/glob.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/dir/shared/glob.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/spec/ruby/core/dir/shared/open.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/dir/shared/open.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/spec/ruby/core/dir/shared/path.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/dir/shared/path.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/spec/ruby/core/dir/shared/pos.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/dir/shared/pwd.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/dir/shared/pwd.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/spec/ruby/core/dir/tell_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/dir/to_path_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/dir/unlink_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/_dump_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/_load_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/aliases_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/encoding/aliases_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='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/ascii_compatible_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/encoding/ascii_compatible_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='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/compatible_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/encoding/compatible_spec.rb</a></td><td class='right'>379</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/spec/ruby/core/encoding/converter/asciicompat_encoding_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/encoding/converter/asciicompat_encoding_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='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/converter/constants_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/encoding/converter/constants_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/converter/convert_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/encoding/converter/convert_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='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/converter/convpath_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/encoding/converter/convpath_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='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/converter/destination_encoding_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/encoding/converter/destination_encoding_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='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/converter/finish_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/encoding/converter/finish_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='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/converter/insert_output_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/converter/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/converter/last_error_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/encoding/converter/last_error_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/converter/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/encoding/converter/new_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/converter/primitive_convert_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/encoding/converter/primitive_convert_spec.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/spec/ruby/core/encoding/converter/primitive_errinfo_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/encoding/converter/primitive_errinfo_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/converter/putback_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/encoding/converter/putback_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/converter/replacement_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/encoding/converter/replacement_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/converter/search_convpath_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/encoding/converter/search_convpath_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='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/converter/source_encoding_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/encoding/converter/source_encoding_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='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/default_external_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/encoding/default_external_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/default_internal_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/encoding/default_internal_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/dummy_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/encoding/dummy_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='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/find_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/encoding/find_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/encoding/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='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/invalid_byte_sequence_error/destination_encoding_name_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/encoding/invalid_byte_sequence_error/destination_encoding_name_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='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/invalid_byte_sequence_error/destination_encoding_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/encoding/invalid_byte_sequence_error/destination_encoding_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='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/invalid_byte_sequence_error/error_bytes_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/encoding/invalid_byte_sequence_error/error_bytes_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='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/invalid_byte_sequence_error/incomplete_input_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/encoding/invalid_byte_sequence_error/incomplete_input_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='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/invalid_byte_sequence_error/readagain_bytes_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/encoding/invalid_byte_sequence_error/readagain_bytes_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='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/invalid_byte_sequence_error/source_encoding_name_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/encoding/invalid_byte_sequence_error/source_encoding_name_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='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/invalid_byte_sequence_error/source_encoding_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/encoding/invalid_byte_sequence_error/source_encoding_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='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/list_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/encoding/list_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/locale_charmap_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/encoding/locale_charmap_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/name_list_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/encoding/name_list_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='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/name_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/encoding/name_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='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/names_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/encoding/names_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='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/replicate_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/encoding/replicate_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='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/shared/name.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/encoding/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='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/undefined_conversion_error/destination_encoding_name_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/encoding/undefined_conversion_error/destination_encoding_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='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/undefined_conversion_error/destination_encoding_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/encoding/undefined_conversion_error/destination_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='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/undefined_conversion_error/error_char_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/encoding/undefined_conversion_error/error_char_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='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/undefined_conversion_error/source_encoding_name_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/encoding/undefined_conversion_error/source_encoding_name_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='add'><a href='/ruby.git/diff/spec/ruby/core/encoding/undefined_conversion_error/source_encoding_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/encoding/undefined_conversion_error/source_encoding_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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/all_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerable/all_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.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/spec/ruby/core/enumerable/any_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerable/any_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.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/spec/ruby/core/enumerable/chain_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerable/chain_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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/chunk_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerable/chunk_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/chunk_while_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/collect_concat_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/collect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/count_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/cycle_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/detect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/drop_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/drop_while_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/each_cons_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/each_entry_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/each_slice_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/each_with_index_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/each_with_object_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/entries_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/filter_map_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerable/filter_map_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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/filter_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/find_all_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/find_index_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/find_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/first_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/core/enumerable/flat_map_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/grep_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerable/grep_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/grep_v_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerable/grep_v_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/group_by_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerable/group_by_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/include_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/inject_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/lazy_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/map_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/max_by_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/max_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/member_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/min_by_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/min_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/minmax_by_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/minmax_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerable/minmax_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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/none_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerable/none_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.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/spec/ruby/core/enumerable/one_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerable/one_spec.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/spec/ruby/core/enumerable/partition_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/reduce_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/reject_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/reverse_each_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/select_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/shared/collect.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerable/shared/collect.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/spec/ruby/core/enumerable/shared/collect_concat.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/shared/entries.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerable/shared/entries.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/spec/ruby/core/enumerable/shared/enumerable_enumeratorized.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/shared/enumeratorized.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/shared/find.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerable/shared/find.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/spec/ruby/core/enumerable/shared/find_all.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/shared/include.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/shared/inject.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/shared/take.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/slice_after_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/slice_before_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/slice_when_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/sort_by_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/sort_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/sum_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerable/sum_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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/take_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/take_while_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/tally_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerable/tally_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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/to_a_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/to_h_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerable/to_h_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/uniq_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerable/uniq_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerable/zip_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/arithmetic_sequence/begin_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/arithmetic_sequence/begin_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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/arithmetic_sequence/each_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/arithmetic_sequence/each_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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/arithmetic_sequence/end_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/arithmetic_sequence/end_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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/arithmetic_sequence/eq_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/arithmetic_sequence/eq_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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/arithmetic_sequence/exclude_end_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/arithmetic_sequence/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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/arithmetic_sequence/first_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/arithmetic_sequence/first_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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/arithmetic_sequence/hash_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/arithmetic_sequence/hash_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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/arithmetic_sequence/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/arithmetic_sequence/inspect_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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/arithmetic_sequence/last_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/arithmetic_sequence/last_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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/arithmetic_sequence/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/arithmetic_sequence/new_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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/arithmetic_sequence/size_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/arithmetic_sequence/size_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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/arithmetic_sequence/step_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/arithmetic_sequence/step_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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/chain/each_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/chain/each_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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/chain/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/chain/initialize_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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/chain/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/chain/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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/chain/rewind_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/chain/rewind_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/chain/size_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/chain/size_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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/each_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/each_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/each_with_index_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/each_with_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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/each_with_object_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/enum_for_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/enumerator_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/feed_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/first_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/fixtures/common.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/generator/each_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/generator/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/chunk_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/lazy/chunk_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/chunk_while_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/lazy/chunk_while_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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/collect_concat_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/collect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/drop_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/lazy/drop_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/drop_while_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/lazy/drop_while_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/eager_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/lazy/eager_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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/enum_for_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/filter_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/lazy/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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/find_all_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/flat_map_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/lazy/flat_map_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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/force_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/lazy/force_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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/grep_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/lazy/grep_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/grep_v_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/lazy/grep_v_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/lazy_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/lazy/lazy_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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/map_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/reject_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/lazy/reject_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/select_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/lazy/select_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/shared/collect.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/lazy/shared/collect.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/spec/ruby/core/enumerator/lazy/shared/collect_concat.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/lazy/shared/collect_concat.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/spec/ruby/core/enumerator/lazy/shared/select.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/lazy/shared/select.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/spec/ruby/core/enumerator/lazy/shared/to_enum.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/lazy/shared/to_enum.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/spec/ruby/core/enumerator/lazy/slice_after_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/lazy/slice_after_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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/slice_before_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/lazy/slice_before_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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/slice_when_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/lazy/slice_when_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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/take_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/take_while_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/to_enum_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/uniq_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/lazy/uniq_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/lazy/zip_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/lazy/zip_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/next_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/next_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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/next_values_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/peek_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/peek_values_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/plus_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/plus_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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/produce_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/produce_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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/rewind_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/rewind_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/size_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/to_enum_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/with_index_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/with_object_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/yielder/append_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/yielder/append_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/yielder/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/yielder/to_proc_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/yielder/to_proc_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='add'><a href='/ruby.git/diff/spec/ruby/core/enumerator/yielder/yield_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/enumerator/yielder/yield_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='add'><a href='/ruby.git/diff/spec/ruby/core/env/assoc_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/env/assoc_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='add'><a href='/ruby.git/diff/spec/ruby/core/env/clear_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/env/delete_if_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/env/delete_if_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/env/delete_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/env/delete_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/env/each_key_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/env/each_key_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='add'><a href='/ruby.git/diff/spec/ruby/core/env/each_pair_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/env/each_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/env/each_value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/env/each_value_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='add'><a href='/ruby.git/diff/spec/ruby/core/env/element_reference_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/env/element_reference_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/env/element_set_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/env/empty_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/env/fetch_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/env/fetch_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/env/filter_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/env/filter_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='add'><a href='/ruby.git/diff/spec/ruby/core/env/has_key_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/env/has_value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/env/include_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/env/index_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/env/index_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='add'><a href='/ruby.git/diff/spec/ruby/core/env/indexes_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/env/indices_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/env/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/env/invert_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/env/keep_if_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/env/keep_if_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/env/key_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/env/keys_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/env/length_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/env/member_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/env/merge_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/env/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='add'><a href='/ruby.git/diff/spec/ruby/core/env/rassoc_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/env/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='add'><a href='/ruby.git/diff/spec/ruby/core/env/rehash_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/env/rehash_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='add'><a href='/ruby.git/diff/spec/ruby/core/env/reject_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/env/reject_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/env/replace_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/env/replace_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/env/select_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/env/select_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='add'><a href='/ruby.git/diff/spec/ruby/core/env/shared/each.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/env/shared/include.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/env/shared/include.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/spec/ruby/core/env/shared/key.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/env/shared/key.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/spec/ruby/core/env/shared/length.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/env/shared/select.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/env/shared/select.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/spec/ruby/core/env/shared/store.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/env/shared/store.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/spec/ruby/core/env/shared/to_hash.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/env/shared/to_hash.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/spec/ruby/core/env/shared/update.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/env/shared/update.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/spec/ruby/core/env/shared/value.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/env/shared/value.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/spec/ruby/core/env/shift_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/env/shift_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/env/size_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/env/slice_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/env/slice_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='add'><a href='/ruby.git/diff/spec/ruby/core/env/spec_helper.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/env/spec_helper.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/spec/ruby/core/env/store_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/env/to_a_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/env/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='add'><a href='/ruby.git/diff/spec/ruby/core/env/to_h_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/env/to_h_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/env/to_hash_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/env/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/env/update_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/env/update_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/env/value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/env/values_at_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/env/values_at_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='add'><a href='/ruby.git/diff/spec/ruby/core/env/values_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/env/values_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='add'><a href='/ruby.git/diff/spec/ruby/core/exception/backtrace_locations_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/exception/backtrace_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/exception/backtrace_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/exception/case_compare_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/exception/case_compare_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='add'><a href='/ruby.git/diff/spec/ruby/core/exception/cause_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/exception/cause_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/exception/dup_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/exception/dup_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/exception/equal_value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/exception/errno_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/exception/errno_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/exception/exception_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/exception/exception_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/exception/exit_value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/exception/exit_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='add'><a href='/ruby.git/diff/spec/ruby/core/exception/fixtures/common.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/exception/frozen_error_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/exception/frozen_error_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='add'><a href='/ruby.git/diff/spec/ruby/core/exception/full_message_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/exception/full_message_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/exception/hierarchy_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/exception/hierarchy_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/exception/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/exception/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='add'><a href='/ruby.git/diff/spec/ruby/core/exception/interrupt_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/exception/interrupt_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='add'><a href='/ruby.git/diff/spec/ruby/core/exception/io_error_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/exception/io_error_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='add'><a href='/ruby.git/diff/spec/ruby/core/exception/key_error_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/exception/key_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='add'><a href='/ruby.git/diff/spec/ruby/core/exception/load_error_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/exception/message_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/exception/name_error_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/exception/name_error_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='add'><a href='/ruby.git/diff/spec/ruby/core/exception/name_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/exception/name_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='add'><a href='/ruby.git/diff/spec/ruby/core/exception/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/exception/no_method_error_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/exception/no_method_error_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/exception/reason_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/exception/reason_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='add'><a href='/ruby.git/diff/spec/ruby/core/exception/receiver_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/exception/receiver_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/exception/result_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/exception/result_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='add'><a href='/ruby.git/diff/spec/ruby/core/exception/set_backtrace_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/exception/shared/new.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/exception/signal_exception_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/exception/signal_exception_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/exception/signm_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/exception/signm_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='add'><a href='/ruby.git/diff/spec/ruby/core/exception/signo_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/exception/signo_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='add'><a href='/ruby.git/diff/spec/ruby/core/exception/standard_error_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/exception/standard_error_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='add'><a href='/ruby.git/diff/spec/ruby/core/exception/status_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/exception/status_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='add'><a href='/ruby.git/diff/spec/ruby/core/exception/success_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/exception/success_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='add'><a href='/ruby.git/diff/spec/ruby/core/exception/system_call_error_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/exception/system_call_error_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.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/spec/ruby/core/exception/system_exit_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/exception/system_exit_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='add'><a href='/ruby.git/diff/spec/ruby/core/exception/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/exception/to_s_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='add'><a href='/ruby.git/diff/spec/ruby/core/exception/top_level_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/exception/top_level_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/exception/uncaught_throw_error_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/exception/uncaught_throw_error_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='add'><a href='/ruby.git/diff/spec/ruby/core/false/and_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/false/dup_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/false/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='add'><a href='/ruby.git/diff/spec/ruby/core/false/falseclass_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/false/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/false/or_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/false/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/false/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='add'><a href='/ruby.git/diff/spec/ruby/core/false/xor_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/fiber/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/fiber/fixtures/classes.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/spec/ruby/core/fiber/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/fiber/new_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='add'><a href='/ruby.git/diff/spec/ruby/core/fiber/raise_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/fiber/raise_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/fiber/resume_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/fiber/resume_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/fiber/yield_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/fiber/yield_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/file/absolute_path_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/file/absolute_path_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/file/atime_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/file/basename_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/file/basename_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.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/spec/ruby/core/file/birthtime_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/file/birthtime_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/file/blockdev_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/chardev_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/chmod_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/core/file/chown_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/file/chown_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.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/spec/ruby/core/file/constants/constants_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/constants_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/core/file/ctime_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/file/delete_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/directory_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/dirname_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/file/empty_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/file/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='add'><a href='/ruby.git/diff/spec/ruby/core/file/executable_real_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/executable_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/exist_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/expand_path_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/file/expand_path_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.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/spec/ruby/core/file/extname_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/file/extname_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/file/file_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/fixtures/common.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/fixtures/do_not_remove?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/fixtures/file_types.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/file/flock_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/file/fnmatch_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/ftype_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/file/ftype_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/file/grpowned_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/identical_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/file/initialize_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='add'><a href='/ruby.git/diff/spec/ruby/core/file/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/join_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/file/join_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.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/spec/ruby/core/file/lchmod_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/file/lchmod_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='add'><a href='/ruby.git/diff/spec/ruby/core/file/lchown_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/file/lchown_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/file/link_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/lstat_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/lutime_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/file/lutime_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='add'><a href='/ruby.git/diff/spec/ruby/core/file/mkfifo_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/file/mtime_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/file/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/core/file/null_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/open_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/file/open_spec.rb</a></td><td class='right'>698</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/spec/ruby/core/file/owned_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/path_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/pipe_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/printf_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/read_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/readable_real_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/readable_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/readlink_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/file/realdirpath_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/file/realpath_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/file/realpath_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/file/rename_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/reopen_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/setgid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/setuid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/shared/fnmatch.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/core/file/shared/open.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/shared/path.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/file/shared/path.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/spec/ruby/core/file/shared/read.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/shared/stat.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/shared/unlink.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/file/size_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/file/socket_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/split_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/file/split_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/atime_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/birthtime_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/blksize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/blockdev_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/blocks_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/chardev_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/comparison_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/ctime_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/dev_major_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/dev_minor_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/dev_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/directory_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/executable_real_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/executable_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/file_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/ftype_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/file/stat/ftype_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/gid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/grpowned_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/ino_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/mode_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/mtime_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/nlink_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/owned_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/pipe_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/rdev_major_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/rdev_minor_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/rdev_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/readable_real_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/readable_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/setgid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/file/stat/setgid_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='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/setuid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/file/stat/setuid_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='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/size_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/socket_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/file/stat/socket_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='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/sticky_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/file/stat/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='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/symlink_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/uid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/world_readable_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/world_writable_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/writable_real_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/writable_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat/zero_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/stat_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/file/stat_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/file/sticky_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/file/symlink_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/file/to_path_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/truncate_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/core/file/umask_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/file/unlink_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/utime_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/file/utime_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/file/world_readable_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/world_writable_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/writable_real_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/writable_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/file/zero_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/filetest/blockdev_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/filetest/chardev_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/filetest/directory_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/filetest/executable_real_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/filetest/executable_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/filetest/exist_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/filetest/file_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/filetest/grpowned_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/filetest/identical_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/filetest/owned_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/filetest/owned_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/filetest/pipe_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/filetest/pipe_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/filetest/readable_real_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/filetest/readable_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/filetest/setgid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/filetest/setgid_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/filetest/setuid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/filetest/setuid_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/filetest/size_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/filetest/socket_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/filetest/socket_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/filetest/sticky_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/filetest/symlink_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/filetest/world_readable_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/filetest/world_writable_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/filetest/writable_real_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/filetest/writable_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/filetest/zero_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/float/abs_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/float/angle_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/float/arg_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/float/case_compare_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/float/ceil_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/float/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='add'><a href='/ruby.git/diff/spec/ruby/core/float/coerce_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/float/comparison_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/float/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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/float/constants_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/float/denominator_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/float/divide_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/float/divmod_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/float/dup_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/float/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='add'><a href='/ruby.git/diff/spec/ruby/core/float/eql_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/float/equal_value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/float/exponent_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/float/fdiv_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/float/finite_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/float/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/float/fixtures/coerce.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/float/float_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/float/floor_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/float/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='add'><a href='/ruby.git/diff/spec/ruby/core/float/gt_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/float/gte_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/float/hash_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/float/infinite_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/float/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/float/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='add'><a href='/ruby.git/diff/spec/ruby/core/float/lt_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/float/lte_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/float/magnitude_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/float/minus_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/float/modulo_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/float/multiply_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/float/nan_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/float/negative_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/float/negative_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='add'><a href='/ruby.git/diff/spec/ruby/core/float/next_float_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/float/numerator_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/float/phase_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/float/plus_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/float/positive_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/float/positive_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='add'><a href='/ruby.git/diff/spec/ruby/core/float/prev_float_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/float/quo_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/float/rationalize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/float/round_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/float/round_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/float/shared/abs.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/float/shared/arg.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/float/shared/arithmetic_exception_in_coerce.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/float/shared/arithmetic_exception_in_coerce.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/spec/ruby/core/float/shared/comparison_exception_in_coerce.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/float/shared/comparison_exception_in_coerce.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/spec/ruby/core/float/shared/equal.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/float/shared/modulo.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/float/shared/quo.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/float/shared/to_i.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/float/shared/to_s.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/float/shared/to_s.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/spec/ruby/core/float/to_f_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/float/to_i_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/float/to_int_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/float/to_r_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/float/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/float/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='add'><a href='/ruby.git/diff/spec/ruby/core/float/truncate_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/float/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='add'><a href='/ruby.git/diff/spec/ruby/core/float/uminus_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/float/uplus_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/float/zero_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/gc/count_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/gc/disable_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/gc/enable_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/gc/garbage_collect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/gc/profiler/clear_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/gc/profiler/disable_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/gc/profiler/enable_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/gc/profiler/enabled_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/gc/profiler/report_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/gc/profiler/result_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/gc/profiler/total_time_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/gc/start_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/gc/start_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='add'><a href='/ruby.git/diff/spec/ruby/core/gc/stat_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/gc/stat_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='add'><a href='/ruby.git/diff/spec/ruby/core/gc/stress_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/allocate_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/any_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/assoc_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/hash/clear_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/clone_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/compact_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/hash/compact_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/hash/compare_by_identity_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/hash/compare_by_identity_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/hash/constructor_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/hash/constructor_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/hash/deconstruct_keys_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/hash/deconstruct_keys_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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/default_proc_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/hash/default_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/delete_if_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/delete_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/dig_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/hash/each_key_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/each_pair_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/each_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/each_value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/element_reference_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/hash/element_reference_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/hash/element_set_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/empty_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/eql_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/equal_value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/except_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/hash/except_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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/fetch_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/hash/fetch_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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/fetch_values_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/hash/fetch_values_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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/filter_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/hash/fixtures/name.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/hash/fixtures/name.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/spec/ruby/core/hash/flatten_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/hash/gt_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/gte_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/has_key_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/has_value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/hash_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/hash/hash_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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/include_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/index_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/hash/index_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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/hash/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/invert_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/keep_if_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/key_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/keys_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/length_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/lt_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/lte_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/member_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/merge_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/hash/merge_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/hash/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/rassoc_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/rehash_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/hash/rehash_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/hash/reject_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/hash/reject_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/hash/replace_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/ruby2_keywords_hash_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/hash/ruby2_keywords_hash_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/hash/select_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/shared/comparison.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/shared/each.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/hash/shared/each.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/spec/ruby/core/hash/shared/eql.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/hash/shared/eql.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/spec/ruby/core/hash/shared/equal.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/hash/shared/greater_than.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/shared/index.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/shared/iteration.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/shared/key.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/shared/length.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/shared/less_than.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/shared/replace.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/hash/shared/select.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/hash/shared/store.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/hash/shared/store.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/spec/ruby/core/hash/shared/to_s.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/hash/shared/to_s.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/spec/ruby/core/hash/shared/update.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/hash/shared/update.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/spec/ruby/core/hash/shared/value.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/shared/values_at.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/shift_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/hash/size_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/slice_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/hash/slice_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/hash/sort_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/store_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/to_a_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/hash/to_a_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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/to_h_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/hash/to_h_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/hash/to_hash_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/to_proc_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/hash/to_proc_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/hash/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/transform_keys_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/hash/transform_keys_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/hash/transform_values_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/hash/transform_values_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/hash/try_convert_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/hash/update_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/values_at_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/hash/values_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/abs_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/allbits_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/integer/allbits_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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/anybits_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/integer/anybits_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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/bit_and_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/integer/bit_length_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/integer/bit_or_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/integer/bit_xor_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/integer/case_compare_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/ceil_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/integer/ceil_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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/chr_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/integer/chr_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.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/spec/ruby/core/integer/coerce_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/integer/coerce_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/integer/comparison_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/integer/comparison_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.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/spec/ruby/core/integer/complement_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/constants_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/integer/constants_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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/denominator_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/digits_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/integer/digits_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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/div_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/integer/div_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.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/spec/ruby/core/integer/divide_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/integer/divide_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/integer/divmod_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/integer/downto_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/integer/dup_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/integer/dup_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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/element_reference_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/integer/element_reference_spec.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/spec/ruby/core/integer/equal_value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/even_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/exponent_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/fdiv_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/integer/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/floor_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/integer/floor_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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/gcd_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/integer/gcdlcm_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/integer/gt_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/integer/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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/gte_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/integer/gte_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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/integer_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/integer/integer_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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/lcm_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/integer/left_shift_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/integer/left_shift_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.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/spec/ruby/core/integer/lt_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/integer/lt_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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/lte_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/integer/lte_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/integer/magnitude_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/minus_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/integer/minus_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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/modulo_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/multiply_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/integer/multiply_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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/next_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/nobits_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/integer/nobits_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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/numerator_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/odd_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/ord_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/plus_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/integer/plus_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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/pow_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/integer/pred_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/rationalize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/remainder_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/integer/right_shift_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/integer/right_shift_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.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/spec/ruby/core/integer/round_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/integer/round_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/integer/shared/abs.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/shared/arithmetic_coerce.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/shared/comparison_coerce.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/integer/shared/comparison_coerce.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/spec/ruby/core/integer/shared/equal.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/integer/shared/exponent.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/integer/shared/integer_rounding.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/integer/shared/integer_rounding.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/spec/ruby/core/integer/shared/modulo.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/integer/shared/next.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/shared/to_i.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/size_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/sqrt_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/integer/sqrt_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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/succ_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/times_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/integer/to_f_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/to_i_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/to_int_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/to_r_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/integer/to_s_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/integer/truncate_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/integer/truncate_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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/uminus_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/integer/uminus_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='add'><a href='/ruby.git/diff/spec/ruby/core/integer/upto_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/io/advise_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/io/advise_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/io/binmode_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/io/binread_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/io/binwrite_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/io/binwrite_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/io/bytes_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/io/bytes_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='add'><a href='/ruby.git/diff/spec/ruby/core/io/chars_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/io/chars_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='add'><a href='/ruby.git/diff/spec/ruby/core/io/close_on_exec_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/io/close_read_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/io/close_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/io/close_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/io/close_write_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/io/closed_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/io/codepoints_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/io/codepoints_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='add'><a href='/ruby.git/diff/spec/ruby/core/io/constants_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/io/copy_stream_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/io/copy_stream_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.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/spec/ruby/core/io/dup_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/io/dup_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/io/each_byte_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/io/each_char_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/io/each_codepoint_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/io/each_line_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/io/each_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/io/eof_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/io/external_encoding_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/io/external_encoding_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.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/spec/ruby/core/io/fcntl_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/io/fdatasync_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/io/fileno_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/io/fixtures/bom_UTF-16BE.txt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/io/fixtures/bom_UTF-16BE.txt</a></td><td class='right'>bin</td><td class='graph'>0 -> 20 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/io/fixtures/bom_UTF-16LE.txt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/io/fixtures/bom_UTF-16LE.txt</a></td><td class='right'>bin</td><td class='graph'>0 -> 20 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/io/fixtures/bom_UTF-32BE.txt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/io/fixtures/bom_UTF-32BE.txt</a></td><td class='right'>bin</td><td class='graph'>0 -> 40 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/io/fixtures/bom_UTF-32LE.txt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/io/fixtures/bom_UTF-32LE.txt</a></td><td class='right'>bin</td><td class='graph'>0 -> 40 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/io/fixtures/bom_UTF-8.txt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/io/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/core/io/fixtures/copy_in_out.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/io/fixtures/copy_in_out.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/spec/ruby/core/io/fixtures/copy_stream.txt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/io/fixtures/empty.txt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/io/fixtures/empty.txt</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='add'><a href='/ruby.git/diff/spec/ruby/core/io/fixtures/incomplete.txt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/io/fixtures/lines.txt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/io/fixtures/no_bom_UTF-8.txt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/io/fixtures/numbered_lines.txt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/io/fixtures/one_byte.txt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/io/fixtures/read_binary.txt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/io/fixtures/read_euc_jp.txt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/io/fixtures/read_text.txt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/io/fixtures/reopen_stdout.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/io/flush_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/io/flush_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='add'><a href='/ruby.git/diff/spec/ruby/core/io/for_fd_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/io/foreach_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/io/fsync_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/io/getbyte_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/io/getc_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/io/gets_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/io/gets_spec.rb</a></td><td class='right'>327</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/spec/ruby/core/io/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/io/initialize_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/io/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/io/internal_encoding_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/io/internal_encoding_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/io/io_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/io/ioctl_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/io/isatty_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/io/lineno_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/io/lines_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/io/lines_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='add'><a href='/ruby.git/diff/spec/ruby/core/io/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/io/open_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/io/output_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/io/pid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/io/pipe_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/core/io/popen_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/io/popen_spec.rb</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/spec/ruby/core/io/pos_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/io/pread_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/io/pread_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/io/print_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/io/printf_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/io/putc_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/io/puts_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/io/puts_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/io/pwrite_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/io/pwrite_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='add'><a href='/ruby.git/diff/spec/ruby/core/io/read_nonblock_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/io/read_nonblock_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/io/read_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/io/read_spec.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/spec/ruby/core/io/readbyte_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/io/readbyte_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='add'><a href='/ruby.git/diff/spec/ruby/core/io/readchar_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/io/readline_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/io/readline_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/io/readlines_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/core/io/readpartial_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/io/reopen_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/io/reopen_spec.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/spec/ruby/core/io/rewind_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/io/seek_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/io/select_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/io/set_encoding_by_bom_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/io/set_encoding_by_bom_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/io/set_encoding_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/io/set_encoding_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.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/spec/ruby/core/io/shared/binwrite.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/io/shared/chars.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/io/shared/codepoints.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/io/shared/each.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/io/shared/each.rb</a></td><td class='right'>183</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/spec/ruby/core/io/shared/gets_ascii.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/io/shared/new.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/io/shared/new.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/spec/ruby/core/io/shared/pos.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/io/shared/readlines.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/io/shared/readlines.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/spec/ruby/core/io/shared/tty.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/io/shared/tty.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/spec/ruby/core/io/shared/write.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/io/shared/write.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/spec/ruby/core/io/stat_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/io/sync_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/io/sysopen_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/io/sysread_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/io/sysseek_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/io/syswrite_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/io/tell_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/io/to_i_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/io/to_io_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/io/try_convert_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/io/tty_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/io/ungetbyte_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/io/ungetbyte_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/io/ungetc_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/io/ungetc_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.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/spec/ruby/core/io/write_nonblock_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/io/write_nonblock_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/io/write_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/io/write_spec.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/spec/ruby/core/kernel/Array_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/Complex_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/Complex_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.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/spec/ruby/core/kernel/Float_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/Float_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.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/spec/ruby/core/kernel/Hash_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/Integer_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/Integer_spec.rb</a></td><td class='right'>818</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/spec/ruby/core/kernel/Rational_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/String_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/__callee___spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/__dir___spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/__dir___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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/__method___spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/abort_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/at_exit_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/at_exit_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/autoload_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/core/kernel/backtick_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/backtick_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/binding_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/block_given_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/caller_locations_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/caller_locations_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/caller_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/caller_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/case_compare_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/catch_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/chomp_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/chomp_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/chop_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/chop_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/class_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/clone_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/clone_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/comparison_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/define_singleton_method_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/display_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/dup_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/enum_for_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/eql_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/equal_value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/eval_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/eval_spec.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/spec/ruby/core/kernel/exec_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/exit_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/extend_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/fail_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/fail_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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/fixtures/__callee__.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/fixtures/__dir__.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/fixtures/__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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/fixtures/__method__.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/fixtures/at_exit.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/fixtures/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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/fixtures/autoload_b.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/fixtures/autoload_d.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/fixtures/autoload_from_included_module.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/fixtures/autoload_from_included_module2.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/fixtures/autoload_frozen.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/fixtures/caller.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/fixtures/caller_at_exit.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/fixtures/caller_locations.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/fixtures/chomp.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/fixtures/chomp_f.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/fixtures/chop.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/fixtures/chop_f.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/fixtures/classes.rb</a></td><td class='right'>492</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/spec/ruby/core/kernel/fixtures/eval_locals.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/fixtures/eval_return_with_lambda.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/fixtures/eval_return_without_lambda.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/fixtures/singleton_methods.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/fixtures/test.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/core/kernel/fixtures/warn_core_method.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/fixtures/warn_core_method.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/spec/ruby/core/kernel/fixtures/warn_require.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/fixtures/warn_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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/fixtures/warn_require_caller.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/fixtures/warn_require_caller.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/spec/ruby/core/kernel/fork_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/format_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/freeze_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/freeze_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/frozen_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/frozen_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/gets_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/global_variables_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/gsub_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/initialize_copy_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/initialize_copy_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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/inspect_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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/instance_of_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/instance_variable_defined_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/instance_variable_get_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/instance_variable_set_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/instance_variables_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/instance_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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/is_a_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/iterator_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/iterator_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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/itself_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/kind_of_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/lambda_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/lambda_spec.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/spec/ruby/core/kernel/load_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/local_variables_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/local_variables_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/loop_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/match_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/match_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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/method_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/methods_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/nil_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/not_match_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/object_id_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/open_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/open_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.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/spec/ruby/core/kernel/p_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/p_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/pp_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/pp_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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/print_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/printf_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/printf_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/private_methods_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/proc_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/proc_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/protected_methods_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/public_method_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/public_methods_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/public_send_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/putc_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/puts_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/raise_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/raise_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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/rand_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/rand_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.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/spec/ruby/core/kernel/readline_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/readlines_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/remove_instance_variable_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/require_relative_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/require_relative_spec.rb</a></td><td class='right'>437</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/spec/ruby/core/kernel/require_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/respond_to_missing_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/respond_to_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/respond_to_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/select_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/select_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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/send_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/set_trace_func_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/shared/dup_clone.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/shared/dup_clone.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/spec/ruby/core/kernel/shared/kind_of.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/shared/lambda.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/shared/lambda.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/spec/ruby/core/kernel/shared/load.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/shared/load.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/spec/ruby/core/kernel/shared/method.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/shared/require.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/shared/require.rb</a></td><td class='right'>776</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/spec/ruby/core/kernel/shared/sprintf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/shared/sprintf.rb</a></td><td class='right'>887</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/spec/ruby/core/kernel/shared/sprintf_encoding.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/shared/sprintf_encoding.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/spec/ruby/core/kernel/shared/then.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/singleton_class_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/singleton_method_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/singleton_methods_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/core/kernel/sleep_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/sleep_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/spawn_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/sprintf_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/srand_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/srand_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/sub_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/syscall_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/system_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/taint_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/taint_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/tainted_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/tainted_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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/tap_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/test_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/then_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/throw_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/to_enum_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/trace_var_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/trap_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/trust_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/trust_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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/untaint_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/untaint_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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/untrace_var_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/untrust_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/untrust_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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/untrusted_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/untrusted_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='add'><a href='/ruby.git/diff/spec/ruby/core/kernel/warn_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/warn_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.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/spec/ruby/core/kernel/yield_self_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/kernel/yield_self_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/main/define_method_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/main/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/main/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='add'><a href='/ruby.git/diff/spec/ruby/core/main/fixtures/string_refinement.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/main/fixtures/string_refinement_user.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/main/fixtures/wrapped_include.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/main/include_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/main/private_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/main/private_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='add'><a href='/ruby.git/diff/spec/ruby/core/main/public_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/main/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='add'><a href='/ruby.git/diff/spec/ruby/core/main/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/main/using_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/marshal/dump_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/marshal/dump_spec.rb</a></td><td class='right'>614</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/spec/ruby/core/marshal/fixtures/marshal_data.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/core/marshal/fixtures/random.dump?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/marshal/fixtures/random.dump</a></td><td class='right'>bin</td><td class='graph'>0 -> 2520 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/marshal/float_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/marshal/load_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/marshal/major_version_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/marshal/minor_version_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/marshal/restore_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/marshal/shared/load.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/marshal/shared/load.rb</a></td><td class='right'>900</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/spec/ruby/core/matchdata/allocate_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/matchdata/allocate_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='add'><a href='/ruby.git/diff/spec/ruby/core/matchdata/begin_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/matchdata/begin_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/matchdata/captures_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/matchdata/dup_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/matchdata/dup_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='add'><a href='/ruby.git/diff/spec/ruby/core/matchdata/element_reference_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/matchdata/end_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/matchdata/end_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/matchdata/eql_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/matchdata/equal_value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/matchdata/hash_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/matchdata/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/matchdata/length_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/matchdata/named_captures_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/matchdata/named_captures_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='add'><a href='/ruby.git/diff/spec/ruby/core/matchdata/names_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/matchdata/offset_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/matchdata/post_match_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/matchdata/pre_match_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/matchdata/regexp_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/matchdata/regexp_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='add'><a href='/ruby.git/diff/spec/ruby/core/matchdata/shared/eql.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/matchdata/shared/length.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/matchdata/size_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/matchdata/string_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/matchdata/string_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='add'><a href='/ruby.git/diff/spec/ruby/core/matchdata/to_a_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/matchdata/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/matchdata/values_at_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/matchdata/values_at_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='add'><a href='/ruby.git/diff/spec/ruby/core/math/acos_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/math/acosh_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/math/asin_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/math/asinh_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/math/atan2_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/math/atan_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/math/atanh_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/math/cbrt_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/math/constants_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/math/cos_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/math/cosh_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/math/erf_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/math/erfc_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/math/exp_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/math/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/math/frexp_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/math/gamma_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/math/hypot_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/math/ldexp_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/math/lgamma_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/math/lgamma_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/math/log10_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/math/log2_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/math/log_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/math/sin_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/math/sinh_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/math/sqrt_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/math/tan_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/math/tanh_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/method/arity_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/core/method/call_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/method/case_compare_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/method/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='add'><a href='/ruby.git/diff/spec/ruby/core/method/clone_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/method/compose_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/method/compose_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/method/curry_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/method/element_reference_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/method/eql_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/method/equal_value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/method/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/method/fixtures/classes.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/spec/ruby/core/method/hash_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/method/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='add'><a href='/ruby.git/diff/spec/ruby/core/method/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/method/name_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/method/original_name_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/method/original_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='add'><a href='/ruby.git/diff/spec/ruby/core/method/owner_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/method/parameters_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/method/parameters_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.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/spec/ruby/core/method/receiver_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/method/shared/call.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/method/shared/eql.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/method/shared/to_s.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/method/shared/to_s.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/spec/ruby/core/method/source_location_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/method/source_location_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/method/super_method_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/method/to_proc_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/method/to_proc_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/method/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/method/unbind_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/alias_method_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/module/alias_method_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.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/spec/ruby/core/module/allocate_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/ancestors_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/module/append_features_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/module/append_features_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/module/attr_accessor_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/module/attr_accessor_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/module/attr_reader_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/module/attr_reader_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/module/attr_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/module/attr_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.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/spec/ruby/core/module/attr_writer_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/module/attr_writer_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/module/autoload_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/module/autoload_spec.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/spec/ruby/core/module/case_compare_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/class_eval_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/class_exec_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/class_variable_defined_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/module/class_variable_get_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/module/class_variable_set_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/module/class_variables_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/comparison_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/const_defined_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/core/module/const_get_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/core/module/const_missing_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/const_set_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/module/const_set_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.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/spec/ruby/core/module/const_source_location_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/module/const_source_location_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.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/spec/ruby/core/module/constants_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/module/define_method_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/module/define_method_spec.rb</a></td><td class='right'>671</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/spec/ruby/core/module/define_singleton_method_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/module/define_singleton_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='add'><a href='/ruby.git/diff/spec/ruby/core/module/deprecate_constant_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/module/eql_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/equal_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/equal_value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/extend_object_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/module/extend_object_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/module/extended_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_abc.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_c.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_callback.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_concur.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_d.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_during_autoload.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_during_require.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_during_require_current_file.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/module/fixtures/autoload_during_require_current_file.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/spec/ruby/core/module/fixtures/autoload_e.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_empty.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_ex1.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_exception.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_f.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_g.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_h.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_i.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_j.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_k.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_lm.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_location.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/module/fixtures/autoload_location.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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_nested.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_never_set.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_o.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_overridden.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/module/fixtures/autoload_overridden.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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_r.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_raise.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_required_directly.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_required_directly_nested.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_required_directly_no_constant.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/module/fixtures/autoload_required_directly_no_constant.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/spec/ruby/core/module/fixtures/autoload_s.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_self_during_require.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/module/fixtures/autoload_self_during_require.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/spec/ruby/core/module/fixtures/autoload_subclass.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_t.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_v.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_w.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_w2.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_x.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/autoload_z.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/module/fixtures/classes.rb</a></td><td class='right'>614</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/spec/ruby/core/module/fixtures/constant_unicode.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/constants_autoload.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/constants_autoload_a.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/constants_autoload_b.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/constants_autoload_c.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/constants_autoload_d.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/module.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/multi/foo.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/module/fixtures/multi/foo.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/multi/foo/bar_baz.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/module/fixtures/multi/foo/bar_baz.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/spec/ruby/core/module/fixtures/name.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/path1/load_path.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/path2/load_path.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/fixtures/refine.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/module/fixtures/refine.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/spec/ruby/core/module/fixtures/repeated_concurrent_autoload.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/freeze_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/gt_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/gte_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/include_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/module/include_spec.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/spec/ruby/core/module/included_modules_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/included_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/initialize_copy_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/instance_method_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/module/instance_methods_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/module/lt_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/lte_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/method_added_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/module/method_added_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/module/method_defined_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/module/method_defined_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/module/method_removed_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/method_undefined_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/module_eval_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/module_exec_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/module_function_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/core/module/name_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/module/name_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.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/spec/ruby/core/module/nesting_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/prepend_features_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/module/prepend_features_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/module/prepend_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/module/prepend_spec.rb</a></td><td class='right'>378</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/spec/ruby/core/module/prepended_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/private_class_method_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/module/private_constant_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/private_instance_methods_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/module/private_method_defined_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/module/private_method_defined_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/module/private_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/module/private_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/module/protected_instance_methods_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/module/protected_method_defined_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/module/protected_method_defined_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/module/protected_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/module/public_class_method_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/module/public_constant_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/public_instance_method_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/module/public_instance_methods_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/module/public_method_defined_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/module/public_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/refine_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/module/refine_spec.rb</a></td><td class='right'>1128</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/spec/ruby/core/module/remove_class_variable_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/remove_const_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/module/remove_method_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/module/remove_method_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/module/shared/class_eval.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/module/shared/class_eval.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/spec/ruby/core/module/shared/class_exec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/shared/equal_value.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/shared/set_visibility.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/module/shared/set_visibility.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/spec/ruby/core/module/singleton_class_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/module/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/module/to_s_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='add'><a href='/ruby.git/diff/spec/ruby/core/module/undef_method_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/module/undef_method_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.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/spec/ruby/core/module/using_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/module/using_spec.rb</a></td><td class='right'>377</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/spec/ruby/core/mutex/lock_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/mutex/locked_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/mutex/owned_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/mutex/owned_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/mutex/sleep_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/mutex/sleep_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/mutex/synchronize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/mutex/try_lock_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/mutex/unlock_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/nil/and_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/nil/case_compare_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/nil/case_compare_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='add'><a href='/ruby.git/diff/spec/ruby/core/nil/dup_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/nil/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='add'><a href='/ruby.git/diff/spec/ruby/core/nil/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/nil/match_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/nil/match_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='add'><a href='/ruby.git/diff/spec/ruby/core/nil/nil_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/nil/nilclass_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/nil/or_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/nil/rationalize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/nil/to_a_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/nil/to_c_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/nil/to_f_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/nil/to_h_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/nil/to_i_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/nil/to_r_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/nil/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/nil/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='add'><a href='/ruby.git/diff/spec/ruby/core/nil/xor_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/abs2_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/abs_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/angle_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/arg_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/ceil_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/clone_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/numeric/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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/coerce_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/comparison_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/conj_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/conjugate_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/denominator_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/div_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/divmod_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/dup_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/numeric/dup_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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/eql_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/fdiv_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/finite_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/numeric/finite_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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/floor_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/i_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/imag_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/imaginary_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/infinite_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/numeric/infinite_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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/integer_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/magnitude_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/modulo_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/negative_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/nonzero_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/numerator_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/numeric_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/phase_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/polar_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/positive_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/quo_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/real_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/rect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/rectangular_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/remainder_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/round_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/shared/abs.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/shared/arg.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/shared/conj.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/shared/imag.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/shared/quo.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/shared/rect.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/shared/step.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/numeric/shared/step.rb</a></td><td class='right'>419</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/spec/ruby/core/numeric/singleton_method_added_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/step_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/numeric/step_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.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/spec/ruby/core/numeric/to_c_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/to_int_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/truncate_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/uminus_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/uplus_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/numeric/zero_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/objectspace/_id2ref_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/objectspace/add_finalizer_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/objectspace/call_finalizer_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/objectspace/count_objects_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/objectspace/define_finalizer_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/objectspace/define_finalizer_spec.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/spec/ruby/core/objectspace/each_object_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/objectspace/each_object_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.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/spec/ruby/core/objectspace/finalizers_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/objectspace/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/objectspace/garbage_collect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/objectspace/remove_finalizer_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/objectspace/undefine_finalizer_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/objectspace/weakmap/each_key_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/objectspace/weakmap/each_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='add'><a href='/ruby.git/diff/spec/ruby/core/objectspace/weakmap/each_pair_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/objectspace/weakmap/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='add'><a href='/ruby.git/diff/spec/ruby/core/objectspace/weakmap/each_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/objectspace/weakmap/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='add'><a href='/ruby.git/diff/spec/ruby/core/objectspace/weakmap/each_value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/objectspace/weakmap/each_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='add'><a href='/ruby.git/diff/spec/ruby/core/objectspace/weakmap/element_reference_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/objectspace/weakmap/element_reference_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='add'><a href='/ruby.git/diff/spec/ruby/core/objectspace/weakmap/element_set_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/objectspace/weakmap/element_set_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/objectspace/weakmap/include_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/objectspace/weakmap/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='add'><a href='/ruby.git/diff/spec/ruby/core/objectspace/weakmap/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/objectspace/weakmap/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='add'><a href='/ruby.git/diff/spec/ruby/core/objectspace/weakmap/key_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/objectspace/weakmap/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='add'><a href='/ruby.git/diff/spec/ruby/core/objectspace/weakmap/keys_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/objectspace/weakmap/keys_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/objectspace/weakmap/length_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/objectspace/weakmap/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='add'><a href='/ruby.git/diff/spec/ruby/core/objectspace/weakmap/member_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/objectspace/weakmap/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='add'><a href='/ruby.git/diff/spec/ruby/core/objectspace/weakmap/shared/each.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/objectspace/weakmap/shared/each.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/spec/ruby/core/objectspace/weakmap/shared/include.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/objectspace/weakmap/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='add'><a href='/ruby.git/diff/spec/ruby/core/objectspace/weakmap/shared/members.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/objectspace/weakmap/shared/members.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/spec/ruby/core/objectspace/weakmap/shared/size.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/objectspace/weakmap/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='add'><a href='/ruby.git/diff/spec/ruby/core/objectspace/weakmap/size_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/objectspace/weakmap/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='add'><a href='/ruby.git/diff/spec/ruby/core/objectspace/weakmap/values_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/objectspace/weakmap/values_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/objectspace/weakmap_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/objectspace/weakmap_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='add'><a href='/ruby.git/diff/spec/ruby/core/proc/allocate_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/proc/arity_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/core/proc/binding_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/proc/block_pass_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/proc/block_pass_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='add'><a href='/ruby.git/diff/spec/ruby/core/proc/call_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/proc/case_compare_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/proc/clone_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/proc/compose_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/proc/compose_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.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/spec/ruby/core/proc/curry_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/core/proc/dup_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/proc/element_reference_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/proc/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='add'><a href='/ruby.git/diff/spec/ruby/core/proc/eql_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/proc/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='add'><a href='/ruby.git/diff/spec/ruby/core/proc/equal_value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/proc/equal_value_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='add'><a href='/ruby.git/diff/spec/ruby/core/proc/fixtures/common.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/proc/fixtures/proc_aref.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/proc/fixtures/proc_aref_frozen.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/proc/fixtures/source_location.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/proc/hash_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/proc/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/proc/lambda_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/proc/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/proc/new_spec.rb</a></td><td class='right'>238</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/spec/ruby/core/proc/parameters_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/proc/shared/call.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/proc/shared/call_arguments.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/proc/shared/call_arguments.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/spec/ruby/core/proc/shared/compose.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/proc/shared/compose.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/spec/ruby/core/proc/shared/dup.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/proc/shared/equal.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/proc/shared/to_s.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/proc/shared/to_s.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/spec/ruby/core/proc/source_location_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/proc/to_proc_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/proc/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/proc/yield_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/abort_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/clock_getres_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/process/clock_getres_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='add'><a href='/ruby.git/diff/spec/ruby/core/process/clock_gettime_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/process/clock_gettime_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/process/constants_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/process/daemon_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/process/daemon_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/process/detach_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/egid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/euid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/process/euid_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='add'><a href='/ruby.git/diff/spec/ruby/core/process/exec_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/process/exec_spec.rb</a></td><td class='right'>241</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/spec/ruby/core/process/exit_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/fixtures/clocks.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/process/fixtures/clocks.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/spec/ruby/core/process/fixtures/common.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/process/fixtures/common.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/spec/ruby/core/process/fixtures/daemon.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/process/fixtures/in.txt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/process/fixtures/in.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='add'><a href='/ruby.git/diff/spec/ruby/core/process/fixtures/kill.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/fixtures/map_fd.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/fixtures/setpriority.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/fork_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/getpgid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/getpgrp_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/getpriority_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/getrlimit_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/process/gid/change_privilege_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/gid/eid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/gid/grant_privilege_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/gid/re_exchange_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/gid/re_exchangeable_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/gid/rid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/gid/sid_available_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/gid/switch_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/gid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/groups_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/process/groups_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/process/initgroups_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/kill_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/process/kill_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/process/last_status_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/process/last_status_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='add'><a href='/ruby.git/diff/spec/ruby/core/process/maxgroups_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/pid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/ppid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/process/ppid_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='add'><a href='/ruby.git/diff/spec/ruby/core/process/set_proctitle_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/setpgid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/process/setpgid_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='add'><a href='/ruby.git/diff/spec/ruby/core/process/setpgrp_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/setpriority_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/process/setpriority_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/process/setrlimit_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/core/process/setsid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/process/setsid_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='add'><a href='/ruby.git/diff/spec/ruby/core/process/spawn_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/process/spawn_spec.rb</a></td><td class='right'>721</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/spec/ruby/core/process/status/bit_and_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/status/coredump_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/status/equal_value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/process/status/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='add'><a href='/ruby.git/diff/spec/ruby/core/process/status/exited_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/status/exitstatus_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/status/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/status/pid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/status/right_shift_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/status/signaled_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/status/stopped_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/status/stopsig_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/status/success_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/process/status/termsig_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/process/status/termsig_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='add'><a href='/ruby.git/diff/spec/ruby/core/process/status/to_i_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/process/status/to_i_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='add'><a href='/ruby.git/diff/spec/ruby/core/process/status/to_int_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/status/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/sys/getegid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/sys/geteuid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/sys/getgid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/sys/getuid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/sys/issetugid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/sys/setegid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/sys/seteuid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/sys/setgid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/sys/setregid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/sys/setresgid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/sys/setresuid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/sys/setreuid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/sys/setrgid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/sys/setruid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/sys/setuid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/times_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/process/times_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='add'><a href='/ruby.git/diff/spec/ruby/core/process/uid/change_privilege_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/uid/eid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/uid/grant_privilege_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/uid/re_exchange_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/uid/re_exchangeable_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/uid/rid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/uid/sid_available_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/uid/switch_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/uid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/process/uid_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/process/wait2_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/process/wait2_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='add'><a href='/ruby.git/diff/spec/ruby/core/process/wait_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/process/wait_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/process/waitall_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/process/waitpid2_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/process/waitpid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/process/waitpid_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='add'><a href='/ruby.git/diff/spec/ruby/core/queue/append_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/queue/clear_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/queue/close_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/queue/closed_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/queue/deq_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/queue/empty_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/queue/enq_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/queue/length_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/queue/num_waiting_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/queue/pop_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/queue/push_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/queue/shift_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/queue/size_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/random/bytes_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/random/default_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/random/default_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='add'><a href='/ruby.git/diff/spec/ruby/core/random/equal_value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/random/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/random/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='add'><a href='/ruby.git/diff/spec/ruby/core/random/new_seed_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/random/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/random/rand_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/random/rand_spec.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/spec/ruby/core/random/random_number_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/random/random_number_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='add'><a href='/ruby.git/diff/spec/ruby/core/random/raw_seed_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/random/raw_seed_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/random/seed_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/random/shared/bytes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/random/shared/rand.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/random/shared/rand.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/spec/ruby/core/random/shared/urandom.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/random/srand_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/range/begin_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/range/bsearch_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/range/bsearch_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.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/spec/ruby/core/range/case_compare_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/range/case_compare_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='add'><a href='/ruby.git/diff/spec/ruby/core/range/cover_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/range/cover_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='add'><a href='/ruby.git/diff/spec/ruby/core/range/dup_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/range/each_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/range/each_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/range/end_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/range/eql_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/range/equal_value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/range/equal_value_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='add'><a href='/ruby.git/diff/spec/ruby/core/range/exclude_end_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/range/first_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/range/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/range/fixtures/classes.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/spec/ruby/core/range/hash_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/range/include_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/range/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/range/initialize_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/range/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/range/inspect_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='add'><a href='/ruby.git/diff/spec/ruby/core/range/last_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/range/last_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/range/max_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/range/max_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/range/member_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/range/min_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/range/min_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/range/minmax_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/range/minmax_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.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/spec/ruby/core/range/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/range/new_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/range/percent_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/range/percent_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='add'><a href='/ruby.git/diff/spec/ruby/core/range/range_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/range/shared/begin.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/range/shared/cover.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/range/shared/cover.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/spec/ruby/core/range/shared/cover_and_include.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/range/shared/cover_and_include.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/spec/ruby/core/range/shared/end.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/range/shared/equal_value.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/range/shared/equal_value.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/spec/ruby/core/range/shared/include.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/range/size_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/range/size_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='add'><a href='/ruby.git/diff/spec/ruby/core/range/step_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/range/step_spec.rb</a></td><td class='right'>514</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/spec/ruby/core/range/to_a_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/range/to_a_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='add'><a href='/ruby.git/diff/spec/ruby/core/range/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/range/to_s_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='add'><a href='/ruby.git/diff/spec/ruby/core/rational/abs_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/rational/ceil_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/rational/coerce_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/rational/comparison_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/rational/denominator_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/rational/div_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/rational/divide_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/rational/divmod_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/rational/equal_value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/rational/exponent_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/rational/fdiv_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/rational/floor_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/rational/hash_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/rational/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/rational/integer_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/rational/magnitude_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/rational/marshal_dump_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/rational/minus_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/rational/modulo_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/rational/multiply_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/rational/numerator_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/rational/plus_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/rational/quo_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/rational/rational_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/rational/rationalize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/rational/remainder_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/rational/round_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/rational/round_spec.rb</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/rational/to_f_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/rational/to_i_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/rational/to_r_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/rational/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/rational/truncate_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/rational/zero_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/regexp/case_compare_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/regexp/casefold_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/regexp/compile_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/regexp/compile_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='add'><a href='/ruby.git/diff/spec/ruby/core/regexp/encoding_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/regexp/encoding_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/regexp/eql_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/regexp/equal_value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/regexp/escape_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/regexp/fixed_encoding_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/regexp/hash_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/regexp/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/regexp/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='add'><a href='/ruby.git/diff/spec/ruby/core/regexp/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/regexp/last_match_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/regexp/match_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/regexp/match_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.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/spec/ruby/core/regexp/named_captures_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/regexp/names_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/regexp/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/regexp/new_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='add'><a href='/ruby.git/diff/spec/ruby/core/regexp/options_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/regexp/quote_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/regexp/shared/equal_value.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/regexp/shared/new.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/regexp/shared/new.rb</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/spec/ruby/core/regexp/shared/quote.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/regexp/source_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/regexp/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/regexp/try_convert_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/regexp/union_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/regexp/union_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.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/spec/ruby/core/signal/fixtures/trap_all.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/signal/fixtures/trap_all.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/spec/ruby/core/signal/list_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/signal/signame_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/signal/trap_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/signal/trap_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.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/spec/ruby/core/sizedqueue/append_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/sizedqueue/clear_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/sizedqueue/close_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/sizedqueue/closed_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/sizedqueue/deq_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/sizedqueue/empty_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/sizedqueue/enq_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/sizedqueue/length_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/sizedqueue/max_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/sizedqueue/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/sizedqueue/num_waiting_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/sizedqueue/pop_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/sizedqueue/push_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/sizedqueue/shift_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/sizedqueue/size_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/allocate_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/append_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/ascii_only_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/ascii_only_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/b_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/bytes_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/bytes_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/bytesize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/bytesize_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='add'><a href='/ruby.git/diff/spec/ruby/core/string/byteslice_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/byteslice_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='add'><a href='/ruby.git/diff/spec/ruby/core/string/capitalize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/capitalize_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.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/spec/ruby/core/string/case_compare_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/casecmp_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/casecmp_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.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/spec/ruby/core/string/center_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/center_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.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/spec/ruby/core/string/chars_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/chomp_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/chomp_spec.rb</a></td><td class='right'>432</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/spec/ruby/core/string/chop_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/chop_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/chr_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/chr_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='add'><a href='/ruby.git/diff/spec/ruby/core/string/clear_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/clear_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='add'><a href='/ruby.git/diff/spec/ruby/core/string/clone_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/codepoints_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/codepoints_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='add'><a href='/ruby.git/diff/spec/ruby/core/string/comparison_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/concat_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/concat_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='add'><a href='/ruby.git/diff/spec/ruby/core/string/count_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/crypt_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/crypt_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/delete_prefix_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/delete_prefix_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/delete_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/delete_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/delete_suffix_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/delete_suffix_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/downcase_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/downcase_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.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/spec/ruby/core/string/dump_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/dump_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.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/spec/ruby/core/string/dup_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/each_byte_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/each_char_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/each_codepoint_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/each_codepoint_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='add'><a href='/ruby.git/diff/spec/ruby/core/string/each_grapheme_cluster_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/each_grapheme_cluster_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='add'><a href='/ruby.git/diff/spec/ruby/core/string/each_line_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/element_reference_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/element_set_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/element_set_spec.rb</a></td><td class='right'>606</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/spec/ruby/core/string/empty_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/encode_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/encode_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.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/spec/ruby/core/string/encoding_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/encoding_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.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/spec/ruby/core/string/end_with_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/end_with_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='add'><a href='/ruby.git/diff/spec/ruby/core/string/eql_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/equal_value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/fixtures/freeze_magic_comment.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/fixtures/iso-8859-9-encoding.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/fixtures/utf-8-encoding.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/force_encoding_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/force_encoding_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/freeze_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/getbyte_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/grapheme_clusters_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/grapheme_clusters_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='add'><a href='/ruby.git/diff/spec/ruby/core/string/gsub_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/gsub_spec.rb</a></td><td class='right'>724</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/spec/ruby/core/string/hash_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/hex_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/include_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/index_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/index_spec.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/spec/ruby/core/string/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/insert_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/inspect_spec.rb</a></td><td class='right'>506</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/spec/ruby/core/string/intern_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/length_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/lines_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/lines_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='add'><a href='/ruby.git/diff/spec/ruby/core/string/ljust_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/ljust_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/lstrip_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/lstrip_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/match_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/match_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.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/spec/ruby/core/string/modulo_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/modulo_spec.rb</a></td><td class='right'>820</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/spec/ruby/core/string/multiply_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/new_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/next_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/oct_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/ord_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/ord_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='add'><a href='/ruby.git/diff/spec/ruby/core/string/partition_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/plus_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/prepend_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/replace_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/reverse_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/reverse_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/rindex_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/rindex_spec.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/spec/ruby/core/string/rjust_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/rjust_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/rpartition_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/rstrip_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/rstrip_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/scan_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/scan_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.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/spec/ruby/core/string/scrub_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/setbyte_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/shared/chars.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/shared/codepoints.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/shared/codepoints.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/spec/ruby/core/string/shared/concat.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/shared/concat.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/spec/ruby/core/string/shared/each_char_without_block.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/shared/each_codepoint_without_block.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/shared/each_line.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/shared/each_line.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/spec/ruby/core/string/shared/each_line_without_block.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/shared/encode.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/core/string/shared/eql.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/shared/equal_value.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/shared/grapheme_clusters.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/shared/length.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/shared/length.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/spec/ruby/core/string/shared/replace.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/shared/replace.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/spec/ruby/core/string/shared/slice.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/shared/slice.rb</a></td><td class='right'>651</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/spec/ruby/core/string/shared/succ.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/shared/succ.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/spec/ruby/core/string/shared/to_a.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/shared/to_s.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/shared/to_s.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/spec/ruby/core/string/shared/to_sym.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/size_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/slice_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/slice_spec.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/spec/ruby/core/string/split_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/split_spec.rb</a></td><td class='right'>561</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/spec/ruby/core/string/squeeze_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/squeeze_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/start_with_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/start_with_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='add'><a href='/ruby.git/diff/spec/ruby/core/string/string_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/strip_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/strip_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/sub_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/sub_spec.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/spec/ruby/core/string/succ_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/sum_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/swapcase_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/swapcase_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.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/spec/ruby/core/string/to_c_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/to_f_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/to_f_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/to_i_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/core/string/to_r_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/to_str_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/to_sym_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/tr_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/tr_s_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.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/spec/ruby/core/string/tr_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/tr_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/try_convert_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/uminus_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/uminus_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/undump_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/core/string/unicode_normalize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/unicode_normalized_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/a_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/at_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/b_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/core/string/unpack/c_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/comment_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/d_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/e_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/f_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/g_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/h_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/unpack/h_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/i_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/core/string/unpack/j_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/core/string/unpack/l_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/core/string/unpack/m_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/unpack/m_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.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/spec/ruby/core/string/unpack/n_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/p_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/unpack/p_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/percent_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/q_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/core/string/unpack/shared/basic.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/shared/float.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/core/string/unpack/shared/integer.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/core/string/unpack/shared/string.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/shared/taint.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/unpack/shared/taint.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/spec/ruby/core/string/unpack/shared/unicode.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/u_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/v_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/w_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/unpack/w_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='add'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/x_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/unpack/z_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/unpack1_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/unpack1_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='add'><a href='/ruby.git/diff/spec/ruby/core/string/upcase_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/upcase_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.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/spec/ruby/core/string/uplus_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/string/upto_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/string/valid_encoding_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/string/valid_encoding_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/struct/clone_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/struct/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='add'><a href='/ruby.git/diff/spec/ruby/core/struct/deconstruct_keys_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/struct/deconstruct_keys_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/struct/deconstruct_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/struct/deconstruct_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='add'><a href='/ruby.git/diff/spec/ruby/core/struct/dig_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/struct/dup_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/struct/dup_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='add'><a href='/ruby.git/diff/spec/ruby/core/struct/each_pair_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/struct/each_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/struct/element_reference_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/struct/element_set_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/struct/eql_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/struct/equal_value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/struct/filter_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/struct/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/struct/hash_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/struct/hash_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/struct/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/struct/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/struct/inspect_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='add'><a href='/ruby.git/diff/spec/ruby/core/struct/instance_variable_get_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/struct/instance_variable_get_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='add'><a href='/ruby.git/diff/spec/ruby/core/struct/instance_variables_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/struct/length_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/struct/members_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/struct/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/struct/new_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.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/spec/ruby/core/struct/select_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/struct/shared/accessor.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/struct/shared/dup.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/struct/shared/dup.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/spec/ruby/core/struct/shared/equal_value.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/struct/shared/inspect.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/struct/shared/select.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/struct/size_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/struct/struct_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/struct/to_a_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/struct/to_h_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/struct/to_h_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/struct/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/struct/values_at_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/struct/values_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/symbol/all_symbols_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/symbol/all_symbols_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='add'><a href='/ruby.git/diff/spec/ruby/core/symbol/capitalize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/symbol/capitalize_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='add'><a href='/ruby.git/diff/spec/ruby/core/symbol/case_compare_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/symbol/casecmp_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/symbol/casecmp_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.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/spec/ruby/core/symbol/comparison_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/symbol/downcase_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/symbol/downcase_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='add'><a href='/ruby.git/diff/spec/ruby/core/symbol/dup_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/symbol/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='add'><a href='/ruby.git/diff/spec/ruby/core/symbol/element_reference_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/symbol/empty_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/symbol/encoding_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/symbol/end_with_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/symbol/end_with_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='add'><a href='/ruby.git/diff/spec/ruby/core/symbol/equal_value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/symbol/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/symbol/id2name_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/symbol/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/symbol/intern_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/symbol/length_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/symbol/match_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/symbol/match_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/symbol/next_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/symbol/shared/id2name.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/symbol/shared/length.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/symbol/shared/slice.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/symbol/shared/slice.rb</a></td><td class='right'>282</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/spec/ruby/core/symbol/shared/succ.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/symbol/size_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/symbol/slice_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/symbol/start_with_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/symbol/start_with_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='add'><a href='/ruby.git/diff/spec/ruby/core/symbol/succ_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/symbol/swapcase_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/symbol/swapcase_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='add'><a href='/ruby.git/diff/spec/ruby/core/symbol/symbol_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/symbol/to_proc_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/symbol/to_proc_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/symbol/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/symbol/to_sym_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/symbol/upcase_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/symbol/upcase_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='add'><a href='/ruby.git/diff/spec/ruby/core/systemexit/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/systemexit/success_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/thread/abort_on_exception_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/thread/add_trace_func_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/thread/alive_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/thread/allocate_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/thread/backtrace/location/absolute_path_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/thread/backtrace/location/absolute_path_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/thread/backtrace/location/base_label_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/thread/backtrace/location/base_label_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/thread/backtrace/location/fixtures/absolute_path.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/thread/backtrace/location/fixtures/absolute_path_main.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/thread/backtrace/location/fixtures/absolute_path_main.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/spec/ruby/core/thread/backtrace/location/fixtures/absolute_path_method_added.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/thread/backtrace/location/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/thread/backtrace/location/fixtures/classes.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/spec/ruby/core/thread/backtrace/location/fixtures/locations_in_main.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/thread/backtrace/location/fixtures/locations_in_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='add'><a href='/ruby.git/diff/spec/ruby/core/thread/backtrace/location/fixtures/locations_in_required.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/thread/backtrace/location/fixtures/locations_in_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='add'><a href='/ruby.git/diff/spec/ruby/core/thread/backtrace/location/fixtures/main.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/thread/backtrace/location/fixtures/path.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/thread/backtrace/location/fixtures/path.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/spec/ruby/core/thread/backtrace/location/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/thread/backtrace/location/label_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/thread/backtrace/location/label_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='add'><a href='/ruby.git/diff/spec/ruby/core/thread/backtrace/location/lineno_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/thread/backtrace/location/lineno_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='add'><a href='/ruby.git/diff/spec/ruby/core/thread/backtrace/location/path_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/thread/backtrace/location/path_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/thread/backtrace/location/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/thread/backtrace_locations_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/thread/backtrace_locations_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/thread/backtrace_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/thread/backtrace_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/thread/current_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/thread/element_reference_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/thread/element_set_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/thread/exclusive_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/thread/exclusive_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/thread/exit_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/thread/fetch_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/thread/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='add'><a href='/ruby.git/diff/spec/ruby/core/thread/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/thread/fixtures/classes.rb</a></td><td class='right'>297</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/spec/ruby/core/thread/fork_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/thread/group_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/thread/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/thread/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/thread/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='add'><a href='/ruby.git/diff/spec/ruby/core/thread/join_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/thread/join_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/thread/key_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/thread/keys_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/thread/kill_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/thread/list_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/thread/list_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/thread/main_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/thread/name_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/thread/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/thread/new_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/thread/pass_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/thread/priority_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/thread/raise_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/thread/raise_spec.rb</a></td><td class='right'>208</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/spec/ruby/core/thread/report_on_exception_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/thread/report_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/thread/run_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/thread/set_trace_func_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/thread/shared/exit.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/thread/shared/exit.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/spec/ruby/core/thread/shared/start.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/thread/shared/to_s.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/thread/shared/to_s.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/spec/ruby/core/thread/shared/wakeup.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/thread/start_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/thread/status_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/thread/stop_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/thread/terminate_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/thread/thread_variable_get_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/thread/thread_variable_set_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/thread/thread_variable_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/thread/thread_variables_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/thread/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/thread/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='add'><a href='/ruby.git/diff/spec/ruby/core/thread/value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/thread/value_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='add'><a href='/ruby.git/diff/spec/ruby/core/thread/wakeup_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/threadgroup/add_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/threadgroup/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='add'><a href='/ruby.git/diff/spec/ruby/core/threadgroup/default_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/threadgroup/enclose_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/threadgroup/enclose_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='add'><a href='/ruby.git/diff/spec/ruby/core/threadgroup/enclosed_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/threadgroup/list_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/threadgroup/list_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='add'><a href='/ruby.git/diff/spec/ruby/core/time/_dump_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/time/_load_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/time/_load_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/time/asctime_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/at_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/time/at_spec.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/spec/ruby/core/time/ceil_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/time/ceil_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='add'><a href='/ruby.git/diff/spec/ruby/core/time/comparison_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/time/ctime_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/day_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/dst_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/dup_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/eql_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/time/fixtures/classes.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/spec/ruby/core/time/floor_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/time/floor_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='add'><a href='/ruby.git/diff/spec/ruby/core/time/friday_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/getgm_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/getlocal_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/time/getlocal_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.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/spec/ruby/core/time/getutc_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/gm_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/gmt_offset_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/gmt_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/gmtime_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/gmtoff_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/hash_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/hour_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/time/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='add'><a href='/ruby.git/diff/spec/ruby/core/time/isdst_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/local_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/localtime_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/core/time/mday_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/min_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/minus_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/time/minus_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/time/mktime_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/mon_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/monday_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/month_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/time/new_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.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/spec/ruby/core/time/now_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/nsec_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/plus_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/time/plus_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/time/round_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/saturday_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/sec_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/shared/asctime.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/shared/day.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/shared/getgm.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/shared/gm.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/time/shared/gmt_offset.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/time/shared/gmt_offset.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/spec/ruby/core/time/shared/gmtime.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/shared/inspect.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/time/shared/inspect.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/spec/ruby/core/time/shared/isdst.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/shared/local.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/shared/month.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/shared/now.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/time/shared/now.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/spec/ruby/core/time/shared/time_params.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/core/time/shared/to_i.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/time/shared/to_i.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/spec/ruby/core/time/strftime_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/time/subsec_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/succ_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/time/succ_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='add'><a href='/ruby.git/diff/spec/ruby/core/time/sunday_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/thursday_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/time_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/to_a_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/to_f_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/to_i_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/to_r_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/tuesday_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/tv_nsec_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/tv_sec_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/tv_usec_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/usec_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/utc_offset_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/utc_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/wday_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/wednesday_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/yday_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/year_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/time/zone_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/tracepoint/binding_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/tracepoint/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='add'><a href='/ruby.git/diff/spec/ruby/core/tracepoint/callee_id_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/tracepoint/callee_id_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='add'><a href='/ruby.git/diff/spec/ruby/core/tracepoint/defined_class_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/tracepoint/defined_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='add'><a href='/ruby.git/diff/spec/ruby/core/tracepoint/disable_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/tracepoint/disable_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/tracepoint/enable_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/tracepoint/enable_spec.rb</a></td><td class='right'>551</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/spec/ruby/core/tracepoint/enabled_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/tracepoint/enabled_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='add'><a href='/ruby.git/diff/spec/ruby/core/tracepoint/eval_script_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/tracepoint/eval_script_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='add'><a href='/ruby.git/diff/spec/ruby/core/tracepoint/event_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/tracepoint/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='add'><a href='/ruby.git/diff/spec/ruby/core/tracepoint/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/tracepoint/fixtures/classes.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/spec/ruby/core/tracepoint/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/tracepoint/inspect_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/tracepoint/lineno_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/tracepoint/lineno_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='add'><a href='/ruby.git/diff/spec/ruby/core/tracepoint/method_id_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/tracepoint/method_id_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='add'><a href='/ruby.git/diff/spec/ruby/core/tracepoint/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/tracepoint/new_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/tracepoint/parameters_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/tracepoint/parameters_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='add'><a href='/ruby.git/diff/spec/ruby/core/tracepoint/path_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/tracepoint/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='add'><a href='/ruby.git/diff/spec/ruby/core/tracepoint/raised_exception_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/tracepoint/raised_exception_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='add'><a href='/ruby.git/diff/spec/ruby/core/tracepoint/return_value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/tracepoint/return_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='add'><a href='/ruby.git/diff/spec/ruby/core/tracepoint/self_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/tracepoint/self_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='add'><a href='/ruby.git/diff/spec/ruby/core/tracepoint/trace_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/tracepoint/trace_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='add'><a href='/ruby.git/diff/spec/ruby/core/true/and_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/true/case_compare_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/true/case_compare_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='add'><a href='/ruby.git/diff/spec/ruby/core/true/dup_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/true/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='add'><a href='/ruby.git/diff/spec/ruby/core/true/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/true/or_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/true/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/true/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='add'><a href='/ruby.git/diff/spec/ruby/core/true/trueclass_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/true/xor_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/unboundmethod/arity_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/core/unboundmethod/bind_call_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/unboundmethod/bind_call_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/unboundmethod/bind_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/unboundmethod/bind_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/unboundmethod/clone_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/unboundmethod/eql_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/unboundmethod/equal_value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/unboundmethod/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/unboundmethod/fixtures/classes.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/spec/ruby/core/unboundmethod/hash_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/unboundmethod/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='add'><a href='/ruby.git/diff/spec/ruby/core/unboundmethod/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/unboundmethod/name_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/unboundmethod/original_name_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/unboundmethod/original_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='add'><a href='/ruby.git/diff/spec/ruby/core/unboundmethod/owner_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/unboundmethod/parameters_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/unboundmethod/shared/to_s.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/unboundmethod/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='add'><a href='/ruby.git/diff/spec/ruby/core/unboundmethod/source_location_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/core/unboundmethod/super_method_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/unboundmethod/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/core/warning/element_reference_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/warning/element_reference_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='add'><a href='/ruby.git/diff/spec/ruby/core/warning/element_set_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/warning/element_set_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='add'><a href='/ruby.git/diff/spec/ruby/core/warning/warn_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/core/warning/warn_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/default.mspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/default.mspec</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/spec/ruby/fixtures/basicobject/method_missing.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/fixtures/class.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/fixtures/class.rb</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/spec/ruby/fixtures/class_variables.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/fixtures/code/a/load_fixture.bundle?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/fixtures/code/a/load_fixture.dll?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/fixtures/code/a/load_fixture.so?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/fixtures/code/b/load_fixture.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/fixtures/code/concurrent.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/fixtures/code/concurrent2.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/fixtures/code/concurrent3.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/fixtures/code/file_fixture.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/fixtures/code/gem/load_fixture.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/fixtures/code/line_fixture.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/fixtures/code/load_ext_fixture.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/fixtures/code/load_fixture?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/fixtures/code/load_fixture.bundle?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/fixtures/code/load_fixture.dll?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/fixtures/code/load_fixture.ext?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/fixtures/code/load_fixture.ext.bundle?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/fixtures/code/load_fixture.ext.dll?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/fixtures/code/load_fixture.ext.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/fixtures/code/load_fixture.ext.so?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/fixtures/code/load_fixture.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/fixtures/code/load_fixture.so?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/fixtures/code/load_fixture_and__FILE__.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/fixtures/code/load_wrap_method_fixture.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/fixtures/code/methods_fixture.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/fixtures/code/raise_fixture.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/fixtures/code/recursive_load_fixture.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/fixtures/code/recursive_require_fixture.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/fixtures/code/symlink/symlink1.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/fixtures/code/symlink/symlink2/symlink2.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/fixtures/code/wrap_fixture.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/fixtures/code/wrap_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='add'><a href='/ruby.git/diff/spec/ruby/fixtures/code_loading.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/fixtures/code_loading.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/spec/ruby/fixtures/constants.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/fixtures/constants.rb</a></td><td class='right'>302</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/spec/ruby/fixtures/enumerator/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/fixtures/math/common.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/fixtures/rational.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/fixtures/reflection.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/language/BEGIN_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/BEGIN_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='add'><a href='/ruby.git/diff/spec/ruby/language/END_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/END_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='add'><a href='/ruby.git/diff/spec/ruby/language/README?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/alias_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/alias_spec.rb</a></td><td class='right'>263</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/spec/ruby/language/and_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/language/array_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/language/block_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/block_spec.rb</a></td><td class='right'>1006</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/spec/ruby/language/break_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/break_spec.rb</a></td><td class='right'>383</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/spec/ruby/language/case_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/case_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.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/spec/ruby/language/class_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/class_spec.rb</a></td><td class='right'>350</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/spec/ruby/language/class_variable_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/language/comment_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/comment_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='add'><a href='/ruby.git/diff/spec/ruby/language/constants_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/constants_spec.rb</a></td><td class='right'>765</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/spec/ruby/language/def_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/def_spec.rb</a></td><td class='right'>815</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/spec/ruby/language/defined_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/defined_spec.rb</a></td><td class='right'>1122</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/spec/ruby/language/delegation_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/delegation_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='add'><a href='/ruby.git/diff/spec/ruby/language/encoding_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/ensure_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/ensure_spec.rb</a></td><td class='right'>331</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/spec/ruby/language/execution_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/file_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/argv_encoding.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/array.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/begin_file.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/binary_symbol.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/block.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/fixtures/block.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/spec/ruby/language/fixtures/break.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/language/fixtures/break_lambda_toplevel.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/break_lambda_toplevel_block.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/break_lambda_toplevel_method.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/bytes_magic_comment.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/case_magic_comment.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/coding_us_ascii.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/coding_utf_8.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/constant_visibility.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/constants_sclass.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/def.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/defined.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/language/fixtures/delegation.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/fixtures/delegation.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/spec/ruby/language/fixtures/dollar_zero.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/emacs_magic_comment.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/ensure.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/file.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/for_scope.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/fixtures/for_scope.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/spec/ruby/language/fixtures/freeze_magic_comment_across_files.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/freeze_magic_comment_across_files_diff_enc.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/freeze_magic_comment_across_files_no_comment.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/freeze_magic_comment_one_literal.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/freeze_magic_comment_required.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/freeze_magic_comment_required_diff_enc.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/fixtures/freeze_magic_comment_required_diff_enc.rb</a></td><td class='right'>bin</td><td class='graph'>0 -> 181 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/freeze_magic_comment_required_no_comment.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/freeze_magic_comment_two_literals.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/hash_strings_binary.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/fixtures/hash_strings_binary.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/hash_strings_usascii.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/hash_strings_utf8.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/magic_comment.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/match_operators.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/metaclass.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/module.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/next.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/no_magic_comment.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/precedence.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/print_magic_comment_result_at_exit.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/private.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/rescue.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/rescue_captures.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/fixtures/rescue_captures.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/spec/ruby/language/fixtures/return.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/second_line_magic_comment.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/second_token_magic_comment.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/send.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/fixtures/send.rb</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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/shebang_magic_comment.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/squiggly_heredoc.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/fixtures/squiggly_heredoc.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/spec/ruby/language/fixtures/super.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/fixtures/super.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='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/utf16-be-nobom.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/fixtures/utf16-be-nobom.rb</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/spec/ruby/language/fixtures/utf16-le-nobom.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/fixtures/utf16-le-nobom.rb</a></td><td class='right'>bin</td><td class='graph'>0 -> 69 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/utf8-bom.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/utf8-nobom.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/variables.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/vim_magic_comment.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/fixtures/yield.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/fixtures/yield.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/spec/ruby/language/for_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/for_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.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/spec/ruby/language/hash_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/hash_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.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/spec/ruby/language/heredoc_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/heredoc_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/language/if_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/if_spec.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/spec/ruby/language/lambda_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/lambda_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.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/spec/ruby/language/line_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/loop_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/language/magic_comment_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/language/match_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/match_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/language/metaclass_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/language/method_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/method_spec.rb</a></td><td class='right'>1864</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/spec/ruby/language/module_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/module_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/language/next_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/language/not_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/language/numbered_parameters_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/numbered_parameters_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/language/numbers_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/numbers_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/language/optional_assignments_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/optional_assignments_spec.rb</a></td><td class='right'>353</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/spec/ruby/language/or_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/language/order_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/language/pattern_matching_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/pattern_matching_spec.rb</a></td><td class='right'>1035</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/spec/ruby/language/precedence_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/precedence_spec.rb</a></td><td class='right'>447</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/spec/ruby/language/predefined/data_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/language/predefined/fixtures/data1.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/predefined/fixtures/data2.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/predefined/fixtures/data3.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/predefined/fixtures/data4.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/predefined/fixtures/data5.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/predefined/fixtures/data_offset.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/predefined/fixtures/data_only.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/predefined/fixtures/empty_data.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/predefined/fixtures/print_data.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/predefined/fixtures/toplevel_binding_dynamic.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/predefined/fixtures/toplevel_binding_dynamic_required.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/predefined/fixtures/toplevel_binding_id.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/predefined/fixtures/toplevel_binding_id_required.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/predefined/fixtures/toplevel_binding_required_before.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/predefined/fixtures/toplevel_binding_values.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/predefined/fixtures/toplevel_binding_variables.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/predefined/fixtures/toplevel_binding_variables_required.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/predefined/toplevel_binding_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/predefined_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/predefined_spec.rb</a></td><td class='right'>1278</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/spec/ruby/language/private_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/language/proc_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/language/range_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/range_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='add'><a href='/ruby.git/diff/spec/ruby/language/redo_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/language/regexp/anchors_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/language/regexp/back-references_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/language/regexp/character_classes_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/regexp/character_classes_spec.rb</a></td><td class='right'>637</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/spec/ruby/language/regexp/encoding_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/regexp/encoding_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/language/regexp/escapes_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/language/regexp/grouping_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/regexp/interpolation_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/language/regexp/modifiers_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/regexp/modifiers_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/language/regexp/repetition_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/regexp/repetition_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/language/regexp_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/regexp_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.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/spec/ruby/language/rescue_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/rescue_spec.rb</a></td><td class='right'>523</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/spec/ruby/language/retry_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/language/return_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/return_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.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/spec/ruby/language/safe_navigator_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/language/safe_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/safe_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.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/spec/ruby/language/send_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/send_spec.rb</a></td><td class='right'>580</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/spec/ruby/language/shared/__FILE__.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/shared/__LINE__.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/singleton_class_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/singleton_class_spec.rb</a></td><td class='right'>310</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/spec/ruby/language/source_encoding_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/language/string_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/string_spec.rb</a></td><td class='right'>311</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/spec/ruby/language/super_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/super_spec.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/spec/ruby/language/symbol_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/language/throw_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/language/undef_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/language/unless_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/language/until_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/language/variables_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/variables_spec.rb</a></td><td class='right'>827</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/spec/ruby/language/while_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/language/yield_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/language/yield_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.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/spec/ruby/library/English/English_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/library/English/alias_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/English/alias_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='add'><a href='/ruby.git/diff/spec/ruby/library/abbrev/abbrev_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/base64/decode64_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/base64/decode64_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='add'><a href='/ruby.git/diff/spec/ruby/library/base64/encode64_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/base64/encode64_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='add'><a href='/ruby.git/diff/spec/ruby/library/base64/strict_decode64_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/base64/strict_decode64_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='add'><a href='/ruby.git/diff/spec/ruby/library/base64/strict_encode64_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/base64/strict_encode64_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='add'><a href='/ruby.git/diff/spec/ruby/library/base64/urlsafe_decode64_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/base64/urlsafe_encode64_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/BigDecimal_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/bigdecimal/BigDecimal_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.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/spec/ruby/library/bigdecimal/abs_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/add_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/bigdecimal/add_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.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/spec/ruby/library/bigdecimal/case_compare_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/ceil_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/clone_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/bigdecimal/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='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/coerce_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/comparison_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/constants_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/bigdecimal/constants_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/div_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/bigdecimal/div_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/divide_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/bigdecimal/divide_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='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/divmod_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/library/bigdecimal/double_fig_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/dup_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/bigdecimal/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='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/eql_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/equal_value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/exponent_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/finite_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/fix_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/floor_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/frac_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/gt_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/bigdecimal/gt_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/gte_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/bigdecimal/gte_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/hash_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/bigdecimal/hash_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='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/infinite_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/bigdecimal/inspect_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='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/limit_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/lt_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/bigdecimal/lt_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/lte_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/bigdecimal/lte_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/minus_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/bigdecimal/minus_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/mode_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/modulo_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/mult_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/bigdecimal/mult_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='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/multiply_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/bigdecimal/multiply_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='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/nan_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/nonzero_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/plus_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/bigdecimal/plus_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/power_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/precs_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/bigdecimal/precs_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/quo_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/remainder_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/bigdecimal/remainder_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/round_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/bigdecimal/round_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.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/spec/ruby/library/bigdecimal/shared/clone.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/bigdecimal/shared/clone.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/spec/ruby/library/bigdecimal/shared/eql.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/shared/modulo.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/bigdecimal/shared/modulo.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/spec/ruby/library/bigdecimal/shared/mult.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/shared/power.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/shared/quo.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/bigdecimal/shared/quo.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/spec/ruby/library/bigdecimal/shared/to_int.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/sign_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/split_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/sqrt_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/sub_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/bigdecimal/sub_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/to_d_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/bigdecimal/to_d_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='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/to_f_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/to_i_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/to_int_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/to_r_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/bigdecimal/to_s_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/truncate_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/uminus_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/uplus_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/util_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/bigdecimal/util_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='add'><a href='/ruby.git/diff/spec/ruby/library/bigdecimal/zero_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/bigmath/log_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/cookie/domain_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/cookie/expires_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/cookie/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/library/cgi/cookie/name_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/cookie/parse_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/cgi/cookie/parse_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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/cookie/path_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/cookie/secure_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/cookie/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/cgi/cookie/to_s_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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/cookie/value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/escapeElement_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/escapeHTML_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/cgi/escapeHTML_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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/escape_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/cgi/escape_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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/a_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/base_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/blockquote_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/br_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/caption_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/checkbox_group_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/checkbox_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/doctype_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/file_field_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/fixtures/common.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/form_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/frame_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/frameset_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/hidden_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/html_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/image_button_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/img_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/multipart_form_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/password_field_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/popup_menu_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/radio_button_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/radio_group_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/reset_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/scrolling_list_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/shared/popup_menu.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/submit_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/text_field_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/htmlextension/textarea_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/http_header_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/out_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/parse_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/pretty_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/print_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/accept_charset_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/accept_encoding_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/accept_language_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/accept_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/auth_type_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/cache_control_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/content_length_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/content_type_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/cookies_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/element_reference_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/from_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/gateway_interface_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/has_key_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/host_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/include_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/key_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/keys_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/multipart_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/negotiate_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/params_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/path_info_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/path_translated_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/pragma_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/query_string_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/raw_cookie2_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/raw_cookie_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/referer_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/remote_addr_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/remote_host_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/remote_ident_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/remote_user_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/request_method_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/script_name_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/server_name_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/server_port_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/server_protocol_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/server_software_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/shared/has_key.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/queryextension/user_agent_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/rfc1123_date_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/shared/http_header.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/unescapeElement_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/unescapeHTML_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/cgi/unescapeHTML_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='add'><a href='/ruby.git/diff/spec/ruby/library/cgi/unescape_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/cmath/math/acos_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/cmath/math/acos_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='add'><a href='/ruby.git/diff/spec/ruby/library/cmath/math/acosh_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/cmath/math/acosh_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='add'><a href='/ruby.git/diff/spec/ruby/library/cmath/math/asin_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/cmath/math/asin_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='add'><a href='/ruby.git/diff/spec/ruby/library/cmath/math/asinh_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/cmath/math/asinh_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='add'><a href='/ruby.git/diff/spec/ruby/library/cmath/math/atan2_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/cmath/math/atan2_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='add'><a href='/ruby.git/diff/spec/ruby/library/cmath/math/atan_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/cmath/math/atan_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='add'><a href='/ruby.git/diff/spec/ruby/library/cmath/math/atanh_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/cmath/math/atanh_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='add'><a href='/ruby.git/diff/spec/ruby/library/cmath/math/cos_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/cmath/math/cos_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='add'><a href='/ruby.git/diff/spec/ruby/library/cmath/math/cosh_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/cmath/math/cosh_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='add'><a href='/ruby.git/diff/spec/ruby/library/cmath/math/exp_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/cmath/math/exp_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='add'><a href='/ruby.git/diff/spec/ruby/library/cmath/math/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/cmath/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='add'><a href='/ruby.git/diff/spec/ruby/library/cmath/math/log10_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/cmath/math/log10_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='add'><a href='/ruby.git/diff/spec/ruby/library/cmath/math/log_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/cmath/math/log_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='add'><a href='/ruby.git/diff/spec/ruby/library/cmath/math/shared/acos.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/cmath/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='add'><a href='/ruby.git/diff/spec/ruby/library/cmath/math/shared/acosh.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/cmath/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='add'><a href='/ruby.git/diff/spec/ruby/library/cmath/math/shared/asin.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/cmath/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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/cmath/math/shared/asinh.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/cmath/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='add'><a href='/ruby.git/diff/spec/ruby/library/cmath/math/shared/atan.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/cmath/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='add'><a href='/ruby.git/diff/spec/ruby/library/cmath/math/shared/atan2.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/cmath/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='add'><a href='/ruby.git/diff/spec/ruby/library/cmath/math/shared/atanh.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/cmath/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='add'><a href='/ruby.git/diff/spec/ruby/library/cmath/math/shared/cos.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/cmath/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='add'><a href='/ruby.git/diff/spec/ruby/library/cmath/math/shared/cosh.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/cmath/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='add'><a href='/ruby.git/diff/spec/ruby/library/cmath/math/shared/exp.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/cmath/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='add'><a href='/ruby.git/diff/spec/ruby/library/cmath/math/shared/log.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/cmath/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='add'><a href='/ruby.git/diff/spec/ruby/library/cmath/math/shared/log10.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/cmath/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='add'><a href='/ruby.git/diff/spec/ruby/library/cmath/math/shared/sin.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/cmath/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='add'><a href='/ruby.git/diff/spec/ruby/library/cmath/math/shared/sinh.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/cmath/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='add'><a href='/ruby.git/diff/spec/ruby/library/cmath/math/shared/sqrt.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/cmath/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='add'><a href='/ruby.git/diff/spec/ruby/library/cmath/math/shared/tan.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/cmath/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='add'><a href='/ruby.git/diff/spec/ruby/library/cmath/math/shared/tanh.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/cmath/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='add'><a href='/ruby.git/diff/spec/ruby/library/cmath/math/sin_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/cmath/math/sin_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='add'><a href='/ruby.git/diff/spec/ruby/library/cmath/math/sinh_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/cmath/math/sinh_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='add'><a href='/ruby.git/diff/spec/ruby/library/cmath/math/sqrt_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/cmath/math/sqrt_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='add'><a href='/ruby.git/diff/spec/ruby/library/cmath/math/tan_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/cmath/math/tan_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='add'><a href='/ruby.git/diff/spec/ruby/library/cmath/math/tanh_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/cmath/math/tanh_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='add'><a href='/ruby.git/diff/spec/ruby/library/conditionvariable/broadcast_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/conditionvariable/broadcast_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='add'><a href='/ruby.git/diff/spec/ruby/library/conditionvariable/marshal_dump_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/conditionvariable/signal_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/conditionvariable/signal_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/conditionvariable/wait_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/conditionvariable/wait_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.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/spec/ruby/library/coverage/fixtures/eval_code.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/coverage/fixtures/eval_code.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/spec/ruby/library/coverage/fixtures/second_class.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/coverage/fixtures/some_class.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/coverage/fixtures/start_coverage.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/coverage/peek_result_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/coverage/peek_result_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/coverage/result_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/coverage/result_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/coverage/start_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/csv/basicwriter/close_on_terminate_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/csv/basicwriter/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/csv/basicwriter/terminate_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/csv/cell/data_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/csv/cell/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/csv/fixtures/one_line.csv?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/csv/foreach_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/csv/generate_line_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/csv/generate_row_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/csv/generate_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/csv/iobuf/close_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/csv/iobuf/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/csv/iobuf/read_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/csv/iobuf/terminate_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/csv/ioreader/close_on_terminate_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/csv/ioreader/get_row_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/csv/ioreader/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/csv/ioreader/terminate_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/csv/liberal_parsing_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/csv/liberal_parsing_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='add'><a href='/ruby.git/diff/spec/ruby/library/csv/open_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/csv/parse_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/csv/parse_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/csv/read_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/csv/readlines_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/csv/readlines_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='add'><a href='/ruby.git/diff/spec/ruby/library/csv/streambuf/add_buf_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/csv/streambuf/buf_size_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/csv/streambuf/drop_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/csv/streambuf/element_reference_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/csv/streambuf/get_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/csv/streambuf/idx_is_eos_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/csv/streambuf/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/csv/streambuf/is_eos_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/csv/streambuf/read_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/csv/streambuf/rel_buf_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/csv/streambuf/terminate_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/csv/stringreader/get_row_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/csv/stringreader/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/csv/writer/add_row_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/csv/writer/append_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/csv/writer/close_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/csv/writer/create_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/csv/writer/generate_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/csv/writer/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/csv/writer/terminate_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/accessor_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/date/add_month_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/add_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/ajd_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/ajd_to_amjd_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/ajd_to_jd_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/amjd_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/amjd_to_ajd_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/append_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/asctime_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/boat_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/case_compare_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/civil_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/commercial_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/commercial_to_jd_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/comparison_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/constants_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/date/conversions_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/ctime_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/cwday_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/cweek_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/cwyear_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/day_fraction_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/day_fraction_to_time_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/day_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/downto_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/england_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/eql_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/format/bag/method_missing_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/format/bag/to_hash_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/friday_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/gregorian_leap_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/gregorian_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/hash_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/infinity/abs_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/infinity/coerce_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/infinity/comparison_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/infinity/d_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/infinity/finite_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/infinity/infinite_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/infinity/nan_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/infinity/uminus_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/infinity/uplus_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/infinity/zero_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/infinity_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/date/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/iso8601_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/date/iso8601_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='add'><a href='/ruby.git/diff/spec/ruby/library/date/italy_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/jd_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/jd_to_ajd_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/jd_to_civil_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/jd_to_commercial_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/jd_to_ld_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/jd_to_mjd_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/jd_to_ordinal_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/jd_to_wday_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/julian_leap_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/julian_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/ld_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/ld_to_jd_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/leap_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/mday_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/minus_month_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/minus_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/mjd_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/mjd_to_jd_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/mon_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/monday_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/month_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/new_start_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/next_day_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/next_month_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/next_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/next_year_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/ordinal_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/ordinal_to_jd_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/parse_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/date/parse_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.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/spec/ruby/library/date/plus_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/prev_day_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/prev_month_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/prev_year_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/relationship_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/rfc3339_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/date/rfc3339_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='add'><a href='/ruby.git/diff/spec/ruby/library/date/right_shift_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/saturday_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/shared/civil.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/date/shared/commercial.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/shared/jd.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/shared/new_bang.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/shared/ordinal.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/shared/parse.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/date/shared/parse_eu.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/shared/parse_us.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/shared/valid_civil.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/shared/valid_commercial.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/shared/valid_jd.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/date/shared/valid_jd.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/spec/ruby/library/date/shared/valid_ordinal.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/start_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/step_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/date/strftime_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/strptime_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/library/date/succ_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/sunday_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/thursday_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/time_to_day_fraction_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/today_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/tuesday_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/upto_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/valid_civil_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/valid_commercial_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/valid_date_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/valid_jd_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/valid_ordinal_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/valid_time_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/wday_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/wednesday_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/yday_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/year_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/date/zone_to_diff_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/datetime/_strptime_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/datetime/add_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/datetime/civil_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/datetime/commercial_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/datetime/hour_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/datetime/httpdate_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/datetime/iso8601_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/datetime/jd_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/datetime/jisx0301_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/datetime/min_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/datetime/minute_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/datetime/new_offset_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/datetime/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/datetime/now_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/datetime/offset_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/datetime/ordinal_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/datetime/parse_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/datetime/rfc2822_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/datetime/rfc3339_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/datetime/rfc822_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/datetime/sec_fraction_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/datetime/sec_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/datetime/second_fraction_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/datetime/second_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/datetime/shared/min.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/datetime/shared/sec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/datetime/strftime_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/datetime/strptime_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/datetime/subtract_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/datetime/subtract_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='add'><a href='/ruby.git/diff/spec/ruby/library/datetime/to_date_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/datetime/to_datetime_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/datetime/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/datetime/to_time_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/datetime/to_time_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='add'><a href='/ruby.git/diff/spec/ruby/library/datetime/xmlschema_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/datetime/zone_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegate_class/instance_method_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegate_class/instance_methods_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegate_class/private_instance_methods_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegate_class/protected_instance_methods_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegate_class/public_instance_methods_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegate_class/respond_to_missing_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/case_compare_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/compare_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/complement_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/eql_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/delegate/delegator/eql_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='add'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/equal_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/equal_value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/frozen_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/hash_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/marshal_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/method_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/methods_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/not_equal_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/not_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/private_methods_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/protected_methods_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/public_methods_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/send_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/taint_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/delegate/delegator/taint_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='add'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/tap_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/trust_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/delegate/delegator/trust_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='add'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/untaint_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/delegate/delegator/untaint_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='add'><a href='/ruby.git/diff/spec/ruby/library/delegate/delegator/untrust_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/delegate/delegator/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='add'><a href='/ruby.git/diff/spec/ruby/library/delegate/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/digest/bubblebabble_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/hexencode_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/instance/append_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/digest/instance/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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/instance/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/digest/instance/new_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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/instance/shared/update.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/digest/instance/shared/update.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/spec/ruby/library/digest/instance/update_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/digest/instance/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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/md5/append_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/md5/block_length_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/md5/digest_bang_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/md5/digest_length_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/md5/digest_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/md5/equal_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/md5/file_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/md5/hexdigest_bang_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/md5/hexdigest_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/md5/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/md5/length_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/md5/reset_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/md5/shared/constants.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/digest/md5/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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/md5/shared/length.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/md5/shared/sample.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/md5/shared/update.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/md5/size_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/md5/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/md5/update_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha1/digest_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha1/file_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha1/shared/constants.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/digest/sha1/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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha2/hexdigest_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/digest/sha2/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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha256/append_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha256/block_length_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha256/digest_bang_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha256/digest_length_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha256/digest_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha256/equal_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha256/file_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/digest/sha256/file_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha256/hexdigest_bang_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha256/hexdigest_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha256/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha256/length_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha256/reset_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha256/shared/constants.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/digest/sha256/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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha256/shared/length.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha256/shared/update.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha256/size_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha256/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha256/update_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha384/append_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha384/block_length_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha384/digest_bang_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha384/digest_length_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha384/digest_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha384/equal_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha384/file_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha384/hexdigest_bang_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha384/hexdigest_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha384/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha384/length_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha384/reset_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha384/shared/constants.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/digest/sha384/shared/constants.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/spec/ruby/library/digest/sha384/shared/length.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha384/shared/update.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha384/size_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha384/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha384/update_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha512/append_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha512/block_length_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha512/digest_bang_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha512/digest_length_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha512/digest_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha512/equal_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha512/file_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha512/hexdigest_bang_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha512/hexdigest_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha512/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha512/length_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha512/reset_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha512/shared/constants.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/digest/sha512/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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha512/shared/length.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha512/shared/update.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha512/size_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha512/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/digest/sha512/update_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/drb/fixtures/test_server.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/drb/start_service_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/erb/def_class_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/erb/def_method_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/erb/def_module_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/erb/defmethod/def_erb_method_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/erb/filename_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/erb/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/erb/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/library/erb/result_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/erb/run_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/erb/src_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/erb/util/h_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/erb/util/html_escape_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/erb/util/shared/html_escape.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/erb/util/shared/url_encode.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/erb/util/shared/url_encode.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/spec/ruby/library/erb/util/u_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/erb/util/url_encode_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/etc/confstr_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/etc/endgrent_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/etc/endpwent_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/etc/getgrent_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/etc/getgrgid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/etc/getgrgid_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/etc/getgrnam_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/etc/getlogin_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/etc/getpwent_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/etc/getpwnam_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/etc/getpwuid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/etc/group_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/etc/nprocessors_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/etc/passwd_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/etc/shared/windows.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/etc/struct_group_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/etc/struct_passwd_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/etc/sysconf_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/etc/sysconfdir_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/etc/systmpdir_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/expect/expect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/fiber/alive_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/fiber/alive_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='add'><a href='/ruby.git/diff/spec/ruby/library/fiber/current_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/fiber/current_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/fiber/resume_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/fiber/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='add'><a href='/ruby.git/diff/spec/ruby/library/fiber/transfer_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/fiber/transfer_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/find/find_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/find/fixtures/common.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/library/find/prune_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/getoptlong/each_option_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/getoptlong/each_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/getoptlong/error_message_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/getoptlong/get_option_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/getoptlong/get_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/getoptlong/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/getoptlong/ordering_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/getoptlong/set_options_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/getoptlong/shared/each.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/getoptlong/shared/get.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/getoptlong/shared/get.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/spec/ruby/library/getoptlong/terminate_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/getoptlong/terminated_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/ipaddr/hton_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/ipaddr/ipv4_conversion_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/ipaddr/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/ipaddr/operator_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/ipaddr/operator_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/ipaddr/reverse_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/ipaddr/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/logger/device/close_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/logger/device/close_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='add'><a href='/ruby.git/diff/spec/ruby/library/logger/device/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/logger/device/write_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/logger/device/write_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/logger/fixtures/common.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/logger/logger/add_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/logger/logger/close_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/logger/logger/datetime_format_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/logger/logger/debug_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/logger/logger/error_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/logger/logger/fatal_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/logger/logger/info_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/logger/logger/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/logger/logger/new_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/logger/logger/unknown_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/logger/logger/warn_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/logger/severity_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/I_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/antisymmetric_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/build_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/clone_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/coerce_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/matrix/coerce_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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/collect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/column_size_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/column_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/column_vector_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/column_vectors_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/columns_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/conj_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/conjugate_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/constructor_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/det_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/determinant_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/diagonal_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/divide_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/each_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/each_with_index_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/eigenvalue_decomposition/eigenvalue_matrix_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/eigenvalue_decomposition/eigenvalues_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/eigenvalue_decomposition/eigenvector_matrix_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/eigenvalue_decomposition/eigenvectors_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/eigenvalue_decomposition/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/eigenvalue_decomposition/to_a_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/element_reference_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/empty_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/eql_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/equal_value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/exponent_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/find_index_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/library/matrix/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/hash_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/hermitian_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/identity_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/imag_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/imaginary_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/inv_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/inverse_from_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/inverse_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/lower_triangular_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/lup_decomposition/determinant_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/lup_decomposition/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/lup_decomposition/l_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/lup_decomposition/p_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/lup_decomposition/solve_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/lup_decomposition/to_a_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/lup_decomposition/u_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/map_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/minor_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/minus_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/multiply_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/normal_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/orthogonal_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/permutation_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/plus_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/rank_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/real_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/rect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/rectangular_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/regular_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/round_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/row_size_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/row_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/row_vector_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/row_vectors_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/rows_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/scalar/Fail_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/scalar/Raise_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/scalar/divide_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/scalar/exponent_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/scalar/included_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/scalar/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/scalar/minus_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/scalar/multiply_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/scalar/plus_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/scalar_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/shared/collect.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/shared/conjugate.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/shared/determinant.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/shared/equal_value.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/shared/identity.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/shared/imaginary.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/shared/inverse.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/shared/rectangular.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/shared/trace.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/shared/transpose.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/singular_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/spec_helper.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/square_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/symmetric_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/t_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/to_a_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/tr_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/trace_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/transpose_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/unit_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/unitary_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/matrix/unitary_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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/upper_triangular_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/vector/cross_product_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/vector/each2_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/vector/eql_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/vector/inner_product_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/vector/normalize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/matrix/zero_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/mkmf/mkmf_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/mkmf/mkmf_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='add'><a href='/ruby.git/diff/spec/ruby/library/monitor/mon_initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/FTPError_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/FTPPermError_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/FTPProtoError_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/FTPReplyError_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/FTPTempError_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/abort_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/acct_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/binary_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/chdir_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/close_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/closed_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/connect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/debug_mode_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/default_passive_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/delete_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/dir_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/fixtures/default_passive.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/fixtures/passive.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/fixtures/putbinaryfile?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/fixtures/puttextfile?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/fixtures/server.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/library/net/ftp/get_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/getbinaryfile_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/getdir_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/gettextfile_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/help_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/net/ftp/initialize_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.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/spec/ruby/library/net/ftp/last_response_code_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/last_response_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/lastresp_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/list_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/login_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/library/net/ftp/ls_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/mdtm_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/mkdir_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/mtime_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/nlst_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/noop_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/open_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/passive_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/put_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/putbinaryfile_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/puttextfile_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/pwd_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/quit_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/rename_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/resume_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/retrbinary_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/retrlines_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/return_code_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/rmdir_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/sendcmd_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/set_socket_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/shared/getbinaryfile.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/library/net/ftp/shared/gettextfile.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/shared/last_response_code.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/shared/list.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/shared/putbinaryfile.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/library/net/ftp/shared/puttextfile.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/shared/pwd.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/site_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/size_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/spec_helper.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/status_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/net/ftp/status_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/storbinary_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/storlines_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/system_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/voidcmd_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/net/ftp/welcome_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/HTTPBadResponse_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/HTTPClientExcepton_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/HTTPError_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/HTTPFatalError_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/HTTPHeaderSyntaxError_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/HTTPRetriableError_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/HTTPServerException_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/Proxy_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/active_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/address_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/close_on_empty_response_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/copy_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/default_port_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/delete_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/finish_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/fixtures/http_server.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/net/http/http/fixtures/http_server.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/spec/ruby/library/net/http/http/get2_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/get_print_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/get_response_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/get_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/net/http/http/get_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/head2_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/head_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/http_default_port_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/https_default_port_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/is_version_1_1_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/is_version_1_2_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/lock_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/mkcol_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/move_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/newobj_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/open_timeout_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/options_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/port_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/post2_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/post_form_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/post_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/net/http/http/post_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/propfind_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/proppatch_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/proxy_address_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/proxy_class_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/proxy_pass_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/proxy_port_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/proxy_user_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/put2_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/put_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/read_timeout_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/request_get_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/request_head_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/request_post_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/request_put_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/request_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/request_types_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/library/net/http/http/send_request_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/set_debug_output_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/shared/request_get.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/shared/request_head.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/shared/request_post.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/shared/request_put.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/shared/started.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/shared/version_1_1.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/shared/version_1_2.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/socket_type_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/start_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/started_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/trace_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/unlock_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/use_ssl_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/version_1_1_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/http/version_1_2_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpexceptions/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpexceptions/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpexceptions/response_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpgenericrequest/body_exist_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/net/http/httpgenericrequest/body_exist_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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpgenericrequest/body_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpgenericrequest/body_stream_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpgenericrequest/exec_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpgenericrequest/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpgenericrequest/method_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpgenericrequest/path_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpgenericrequest/request_body_permitted_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpgenericrequest/response_body_permitted_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpgenericrequest/set_body_internal_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/add_field_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/basic_auth_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/canonical_each_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/chunked_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/content_length_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/content_range_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/content_type_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/delete_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/each_capitalized_name_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/each_capitalized_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/each_header_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/each_key_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/each_name_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/each_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/each_value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/element_reference_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/element_set_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/fetch_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/form_data_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/get_fields_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/initialize_http_header_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/net/http/httpheader/initialize_http_header_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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/key_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/length_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/main_type_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/proxy_basic_auth_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/range_length_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/range_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/set_content_type_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/set_form_data_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/set_range_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/shared/each_capitalized.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/shared/each_header.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/shared/each_name.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/shared/set_content_type.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/shared/set_form_data.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/shared/set_range.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/shared/size.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/size_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/sub_type_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/to_hash_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpheader/type_params_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httprequest/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpresponse/body_permitted_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpresponse/body_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpresponse/code_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpresponse/code_type_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpresponse/entity_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpresponse/error_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpresponse/error_type_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpresponse/exception_type_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpresponse/header_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpresponse/http_version_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpresponse/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpresponse/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpresponse/message_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpresponse/msg_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpresponse/read_body_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpresponse/read_header_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpresponse/read_new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpresponse/reading_body_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpresponse/response_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpresponse/shared/body.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/net/http/httpresponse/value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/objectspace/memsize_of_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/objectspace/memsize_of_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='add'><a href='/ruby.git/diff/spec/ruby/library/objectspace/reachable_objects_from_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/objectspace/reachable_objects_from_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/observer/add_observer_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/observer/count_observers_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/observer/delete_observer_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/observer/delete_observers_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/observer/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/observer/notify_observers_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/open3/capture2_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/open3/capture2e_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/open3/capture3_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/open3/pipeline_r_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/open3/pipeline_rw_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/open3/pipeline_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/open3/pipeline_start_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/open3/pipeline_w_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/open3/popen2_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/open3/popen2e_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/open3/popen3_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/open3/popen3_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='add'><a href='/ruby.git/diff/spec/ruby/library/openssl/cipher_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/openssl/config/freeze_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/openssl/config/freeze_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='add'><a href='/ruby.git/diff/spec/ruby/library/openssl/digest_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/openssl/digest_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/openssl/hmac/digest_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/openssl/hmac/hexdigest_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/openssl/random/pseudo_bytes_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/openssl/random/random_bytes_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/openssl/random/shared/random_bytes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/openssl/shared/constants.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/openssl/x509/name/parse_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/openstruct/delete_field_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/openstruct/element_reference_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/openstruct/element_set_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/openstruct/equal_value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/openstruct/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/openstruct/frozen_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/openstruct/frozen_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='add'><a href='/ruby.git/diff/spec/ruby/library/openstruct/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/openstruct/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/openstruct/marshal_dump_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/openstruct/marshal_load_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/openstruct/method_missing_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/openstruct/method_missing_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='add'><a href='/ruby.git/diff/spec/ruby/library/openstruct/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/openstruct/shared/inspect.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/openstruct/to_h_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/openstruct/to_h_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/openstruct/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/optionparser/order_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/optionparser/order_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='add'><a href='/ruby.git/diff/spec/ruby/library/optionparser/parse_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/optionparser/parse_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='add'><a href='/ruby.git/diff/spec/ruby/library/pathname/absolute_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/pathname/empty_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/pathname/empty_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='add'><a href='/ruby.git/diff/spec/ruby/library/pathname/equal_value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/pathname/glob_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/pathname/glob_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/pathname/hash_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/pathname/join_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/pathname/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/pathname/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='add'><a href='/ruby.git/diff/spec/ruby/library/pathname/parent_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/pathname/pathname_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/pathname/pathname_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='add'><a href='/ruby.git/diff/spec/ruby/library/pathname/realdirpath_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/pathname/realpath_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/pathname/relative_path_from_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/pathname/relative_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/pathname/root_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/pathname/sub_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/pp/pp_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/pp/pp_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='add'><a href='/ruby.git/diff/spec/ruby/library/prime/each_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/library/prime/instance_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/prime/int_from_prime_division_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/prime/integer/each_prime_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/prime/integer/from_prime_division_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/prime/integer/prime_division_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/prime/integer/prime_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/prime/next_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/prime/prime_division_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/prime/prime_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/prime/shared/next.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/prime/succ_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/rbconfig/rbconfig_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rbconfig/rbconfig_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/rbconfig/sizeof/limits_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rbconfig/sizeof/limits_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='add'><a href='/ruby.git/diff/spec/ruby/library/rbconfig/sizeof/sizeof_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/rbconfig/unicode_emoji_version_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rbconfig/unicode_emoji_version_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='add'><a href='/ruby.git/diff/spec/ruby/library/rbconfig/unicode_version_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rbconfig/unicode_version_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='add'><a href='/ruby.git/diff/spec/ruby/library/readline/basic_quote_characters_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/readline/basic_word_break_characters_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/readline/completer_quote_characters_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/readline/completer_word_break_characters_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/readline/completion_append_character_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/readline/completion_case_fold_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/readline/completion_proc_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/readline/constants_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/readline/emacs_editing_mode_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/readline/filename_quote_characters_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/readline/history/append_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/readline/history/delete_at_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/readline/history/delete_at_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/readline/history/each_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/readline/history/each_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='add'><a href='/ruby.git/diff/spec/ruby/library/readline/history/element_reference_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/readline/history/element_reference_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='add'><a href='/ruby.git/diff/spec/ruby/library/readline/history/element_set_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/readline/history/empty_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/readline/history/history_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/readline/history/length_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/readline/history/pop_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/readline/history/pop_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='add'><a href='/ruby.git/diff/spec/ruby/library/readline/history/push_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/readline/history/shared/size.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/readline/history/shift_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/readline/history/shift_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='add'><a href='/ruby.git/diff/spec/ruby/library/readline/history/size_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/readline/history/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/readline/readline_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/readline/readline_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='add'><a href='/ruby.git/diff/spec/ruby/library/readline/spec_helper.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/readline/vi_editing_mode_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/resolv/fixtures/hosts?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/resolv/fixtures/hosts</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/spec/ruby/library/resolv/get_address_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/resolv/get_address_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='add'><a href='/ruby.git/diff/spec/ruby/library/resolv/get_addresses_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/resolv/get_addresses_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='add'><a href='/ruby.git/diff/spec/ruby/library/resolv/get_name_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/resolv/get_name_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='add'><a href='/ruby.git/diff/spec/ruby/library/resolv/get_names_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/resolv/get_names_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/attribute/clone_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/attribute/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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/attribute/element_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/attribute/element_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/attribute/equal_value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/attribute/equal_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/attribute/hash_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/attribute/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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/attribute/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/attribute/initialize_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/attribute/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/attribute/inspect_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/attribute/namespace_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/attribute/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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/attribute/node_type_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/attribute/node_type_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/attribute/prefix_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/attribute/prefix_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/attribute/remove_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/attribute/remove_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/attribute/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/attribute/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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/attribute/to_string_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/attribute/to_string_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/attribute/value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/attribute/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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/attribute/write_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/attribute/write_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/attribute/xpath_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/attribute/xpath_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/attributes/add_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/attributes/add_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/attributes/append_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/attributes/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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/attributes/delete_all_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/attributes/delete_all_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/attributes/delete_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/attributes/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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/attributes/each_attribute_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/attributes/each_attribute_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/attributes/each_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/attributes/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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/attributes/element_reference_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/attributes/element_reference_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/attributes/element_set_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/attributes/element_set_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/attributes/get_attribute_ns_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/attributes/get_attribute_ns_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/attributes/get_attribute_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/attributes/get_attribute_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/attributes/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/attributes/initialize_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/attributes/length_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/attributes/length_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/attributes/namespaces_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/attributes/namespaces_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/attributes/prefixes_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/attributes/prefixes_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/attributes/shared/add.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/attributes/shared/length.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/attributes/size_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/attributes/size_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/attributes/to_a_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/attributes/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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/cdata/clone_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/cdata/clone_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/cdata/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/cdata/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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/cdata/shared/to_s.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/cdata/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/cdata/to_s_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/cdata/value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/cdata/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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/document/add_element_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/document/add_element_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/document/add_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/document/add_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/document/clone_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/document/clone_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/document/doctype_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/document/doctype_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/document/encoding_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/document/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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/document/expanded_name_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/document/expanded_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/document/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/document/new_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/document/node_type_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/document/node_type_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/document/root_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/document/root_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/document/stand_alone_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/document/stand_alone_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/document/version_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/document/version_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/document/write_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/document/write_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/document/xml_decl_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/document/xml_decl_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/add_attribute_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/element/add_attribute_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/add_attributes_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/element/add_attributes_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/add_element_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/element/add_element_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/add_namespace_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/element/add_namespace_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/add_text_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/element/add_text_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/attribute_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/element/attribute_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/attributes_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/element/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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/cdatas_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/element/cdatas_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/clone_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/element/clone_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/comments_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/element/comments_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/delete_attribute_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/element/delete_attribute_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/delete_element_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/element/delete_element_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/delete_namespace_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/element/delete_namespace_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/document_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/element/document_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/each_element_with_attribute_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/element/each_element_with_attribute_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/each_element_with_text_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/element/each_element_with_text_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/element_reference_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/element/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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/get_text_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/element/get_text_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/has_attributes_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/element/has_attributes_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/has_elements_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/element/has_elements_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/has_text_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/element/has_text_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/element/inspect_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/instructions_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/element/instructions_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/namespace_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/element/namespace_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/namespaces_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/element/namespaces_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/element/new_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/next_element_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/element/next_element_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/node_type_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/element/node_type_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/prefixes_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/element/prefixes_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/previous_element_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/element/previous_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/raw_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/element/raw_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/root_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/element/root_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/text_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/element/text_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/texts_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/element/texts_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/element/whitespace_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/element/whitespace_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/node/each_recursive_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/node/each_recursive_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/node/find_first_recursive_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/node/find_first_recursive_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/node/index_in_parent_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/node/index_in_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/node/next_sibling_node_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/node/next_sibling_node_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/node/parent_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/node/parent_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/node/previous_sibling_node_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/node/previous_sibling_node_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/shared/each_element.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/shared/elements_to_a.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/text/append_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/text/append_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/text/clone_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/text/clone_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/text/comparison_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/text/comparison_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/text/empty_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/text/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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/text/indent_text_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/text/indent_text_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/text/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/text/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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/text/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/text/new_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/text/node_type_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/text/node_type_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/text/normalize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/text/normalize_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/text/read_with_substitution_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/text/read_with_substitution_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/text/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/text/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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/text/unnormalize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/text/unnormalize_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/text/value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/text/value_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/text/wrap_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/text/wrap_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='add'><a href='/ruby.git/diff/spec/ruby/library/rexml/text/write_with_substitution_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rexml/text/write_with_substitution_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='add'><a href='/ruby.git/diff/spec/ruby/library/ripper/lex_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/ripper/lex_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='add'><a href='/ruby.git/diff/spec/ruby/library/ripper/sexp_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/ripper/sexp_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='add'><a href='/ruby.git/diff/spec/ruby/library/rubygems/gem/bin_path_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/rubygems/gem/bin_path_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='add'><a href='/ruby.git/diff/spec/ruby/library/scanf/io/block_scanf_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/scanf/io/block_scanf_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='add'><a href='/ruby.git/diff/spec/ruby/library/scanf/io/fixtures/date.txt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/scanf/io/fixtures/helloworld.txt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/scanf/io/scanf_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/scanf/io/scanf_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='add'><a href='/ruby.git/diff/spec/ruby/library/scanf/io/shared/block_scanf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/scanf/string/block_scanf_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/scanf/string/block_scanf_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='add'><a href='/ruby.git/diff/spec/ruby/library/scanf/string/scanf_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/scanf/string/scanf_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/scanf/string/shared/block_scanf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/securerandom/base64_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/securerandom/bytes_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/securerandom/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='add'><a href='/ruby.git/diff/spec/ruby/library/securerandom/hex_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/securerandom/random_bytes_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/securerandom/random_bytes_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/securerandom/random_number_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/securerandom/random_number_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/set/add_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/append_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/case_compare_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/case_compare_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='add'><a href='/ruby.git/diff/spec/ruby/library/set/case_equality_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/case_equality_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='add'><a href='/ruby.git/diff/spec/ruby/library/set/classify_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/clear_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/collect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/compare_by_identity_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/compare_by_identity_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.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/spec/ruby/library/set/constructor_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/delete_if_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/delete_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/difference_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/disjoint_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/disjoint_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='add'><a href='/ruby.git/diff/spec/ruby/library/set/divide_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/each_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/empty_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/enumerable/to_set_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/enumerable/to_set_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='add'><a href='/ruby.git/diff/spec/ruby/library/set/eql_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/equal_value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/equal_value_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='add'><a href='/ruby.git/diff/spec/ruby/library/set/exclusion_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/filter_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/fixtures/set_like.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/fixtures/set_like.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/spec/ruby/library/set/flatten_merge_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/flatten_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/flatten_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/set/hash_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/include_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/set/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/intersect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/intersect_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='add'><a href='/ruby.git/diff/spec/ruby/library/set/intersection_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/keep_if_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/length_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/map_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/member_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/merge_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/minus_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/plus_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/pretty_print_cycle_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/pretty_print_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/proper_subset_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/proper_subset_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='add'><a href='/ruby.git/diff/spec/ruby/library/set/proper_superset_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/proper_superset_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='add'><a href='/ruby.git/diff/spec/ruby/library/set/reject_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/replace_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/select_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/shared/add.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/shared/collect.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/shared/difference.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/shared/include.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/shared/inspect.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/shared/intersection.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/shared/length.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/shared/select.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/shared/union.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/size_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/add_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/add_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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/append_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/case_equality_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/case_equality_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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/classify_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/classify_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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/clear_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/collect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/collect_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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/constructor_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/constructor_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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/delete_if_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/delete_if_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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/delete_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/delete_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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/difference_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/difference_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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/divide_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/divide_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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/each_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/empty_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/eql_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/equal_value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/equal_value_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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/exclusion_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/exclusion_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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/filter_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/flatten_merge_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/flatten_merge_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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/flatten_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/flatten_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/hash_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/include_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/initialize_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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/intersection_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/intersection_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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/keep_if_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/keep_if_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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/length_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/length_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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/map_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/map_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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/member_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/merge_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/merge_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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/minus_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/minus_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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/plus_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/plus_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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/pretty_print_cycle_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/pretty_print_cycle_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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/pretty_print_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/pretty_print_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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/proper_subset_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/proper_subset_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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/proper_superset_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/proper_superset_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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/reject_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/reject_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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/replace_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/replace_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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/select_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/shared/add.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/shared/collect.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/shared/difference.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/shared/include.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/shared/intersection.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/shared/length.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/shared/select.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/shared/union.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/size_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/size_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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/subset_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/subset_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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/subtract_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/subtract_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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/superset_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/superset_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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/to_a_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/to_a_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='add'><a href='/ruby.git/diff/spec/ruby/library/set/sortedset/union_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/sortedset/union_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='add'><a href='/ruby.git/diff/spec/ruby/library/set/subset_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/subset_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='add'><a href='/ruby.git/diff/spec/ruby/library/set/subtract_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/superset_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/superset_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='add'><a href='/ruby.git/diff/spec/ruby/library/set/to_a_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/set/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/set/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='add'><a href='/ruby.git/diff/spec/ruby/library/set/union_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/shellwords/shellwords_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/shellwords/shellwords_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='add'><a href='/ruby.git/diff/spec/ruby/library/singleton/allocate_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/singleton/clone_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/singleton/dump_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/singleton/dup_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/singleton/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/singleton/instance_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/singleton/load_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/singleton/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/afamily_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/bind_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/canonname_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/connect_from_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/connect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/connect_to_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/family_addrinfo_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/foreach_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/getaddrinfo_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/getnameinfo_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/socket/addrinfo/getnameinfo_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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/socket/addrinfo/initialize_spec.rb</a></td><td class='right'>591</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/spec/ruby/library/socket/addrinfo/inspect_sockaddr_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ip_address_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/socket/addrinfo/ip_address_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ip_port_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ip_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ip_unpack_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ipv4_loopback_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ipv4_multicast_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ipv4_private_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ipv4_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ipv6_linklocal_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ipv6_loopback_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ipv6_mc_global_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ipv6_mc_linklocal_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ipv6_mc_nodelocal_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ipv6_mc_orglocal_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ipv6_mc_sitelocal_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ipv6_multicast_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ipv6_sitelocal_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ipv6_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ipv6_to_ipv4_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ipv6_unique_local_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ipv6_unspecified_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ipv6_v4compat_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/ipv6_v4mapped_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/listen_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/marshal_dump_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/marshal_load_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/pfamily_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/protocol_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/shared/to_sockaddr.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/socktype_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/tcp_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/to_sockaddr_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/udp_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/unix_path_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/addrinfo/unix_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/ancillarydata/cmsg_is_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/ancillarydata/data_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/ancillarydata/family_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/ancillarydata/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/library/socket/ancillarydata/int_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/ancillarydata/ip_pktinfo_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/library/socket/ancillarydata/ipv6_pktinfo_addr_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/ancillarydata/ipv6_pktinfo_ifindex_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/ancillarydata/ipv6_pktinfo_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/ancillarydata/level_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/ancillarydata/type_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/ancillarydata/unix_rights_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/basicsocket/close_read_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/basicsocket/close_write_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/basicsocket/connect_address_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/library/socket/basicsocket/do_not_reverse_lookup_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/socket/basicsocket/do_not_reverse_lookup_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/basicsocket/for_fd_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/basicsocket/getpeereid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/basicsocket/getpeername_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/basicsocket/getsockname_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/basicsocket/getsockopt_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/library/socket/basicsocket/ioctl_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/basicsocket/read_nonblock_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/socket/basicsocket/read_nonblock_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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/basicsocket/recv_nonblock_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/socket/basicsocket/recv_nonblock_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/basicsocket/recv_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/library/socket/basicsocket/recvmsg_nonblock_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/socket/basicsocket/recvmsg_nonblock_spec.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/spec/ruby/library/socket/basicsocket/recvmsg_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/library/socket/basicsocket/send_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/library/socket/basicsocket/sendmsg_nonblock_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/socket/basicsocket/sendmsg_nonblock_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/basicsocket/sendmsg_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/basicsocket/setsockopt_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/library/socket/basicsocket/shutdown_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/library/socket/basicsocket/write_nonblock_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/socket/basicsocket/write_nonblock_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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/constants/constants_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/socket/fixtures/classes.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/spec/ruby/library/socket/fixtures/send_io.txt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/ipsocket/addr_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/ipsocket/getaddress_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/socket/ipsocket/getaddress_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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/ipsocket/peeraddr_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/ipsocket/recvfrom_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/option/bool_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/option/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/option/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/option/int_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/option/linger_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/option/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/shared/pack_sockaddr.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/shared/partially_closable_sockets.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/shared/socketpair.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/accept_loop_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/accept_nonblock_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/accept_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/socket/socket/accept_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/bind_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/socket/socket/bind_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.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/spec/ruby/library/socket/socket/connect_nonblock_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/library/socket/socket/connect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/for_fd_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/getaddrinfo_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/library/socket/socket/gethostbyaddr_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/gethostbyname_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/gethostname_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/getifaddrs_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/getnameinfo_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/library/socket/socket/getservbyname_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/getservbyport_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/ip_address_list_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/ipv6only_bang_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/listen_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/socket/socket/listen_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/local_address_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/pack_sockaddr_in_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/pack_sockaddr_un_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/pair_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/recvfrom_nonblock_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/socket/socket/recvfrom_nonblock_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/recvfrom_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/remote_address_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/sockaddr_in_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/sockaddr_un_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/socket_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/socketpair_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/sysaccept_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/socket/socket/sysaccept_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/tcp_server_loop_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/socket/socket/tcp_server_loop_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/tcp_server_sockets_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/tcp_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/udp_server_loop_on_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/udp_server_loop_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/socket/socket/udp_server_loop_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/udp_server_recv_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/socket/socket/udp_server_recv_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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/udp_server_sockets_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/unix_server_loop_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/socket/socket/unix_server_loop_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/unix_server_socket_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/unix_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/unpack_sockaddr_in_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/socket/unpack_sockaddr_un_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/spec_helper.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/socket/spec_helper.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/spec/ruby/library/socket/tcpserver/accept_nonblock_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/socket/tcpserver/accept_nonblock_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/tcpserver/accept_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/socket/tcpserver/accept_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/tcpserver/gets_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/tcpserver/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/tcpserver/listen_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/tcpserver/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/socket/tcpserver/new_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/tcpserver/sysaccept_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/tcpsocket/gethostbyname_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/socket/tcpsocket/gethostbyname_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/tcpsocket/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/tcpsocket/local_address_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/tcpsocket/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/tcpsocket/open_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/tcpsocket/partially_closable_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/tcpsocket/recv_nonblock_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/tcpsocket/recv_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/tcpsocket/remote_address_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/tcpsocket/setsockopt_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/tcpsocket/shared/new.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/udpsocket/bind_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/udpsocket/connect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/udpsocket/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/socket/udpsocket/initialize_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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/udpsocket/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/socket/udpsocket/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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/udpsocket/local_address_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/udpsocket/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/udpsocket/open_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/udpsocket/recvfrom_nonblock_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/socket/udpsocket/recvfrom_nonblock_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/udpsocket/remote_address_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/udpsocket/send_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/library/socket/udpsocket/write_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/unixserver/accept_nonblock_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/unixserver/accept_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/unixserver/for_fd_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/unixserver/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/unixserver/listen_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/unixserver/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/unixserver/open_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/unixserver/shared/new.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/unixserver/sysaccept_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/unixsocket/addr_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/unixsocket/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/unixsocket/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/unixsocket/local_address_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/socket/unixsocket/local_address_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/unixsocket/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/unixsocket/open_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/unixsocket/pair_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/unixsocket/partially_closable_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/unixsocket/path_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/unixsocket/peeraddr_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/unixsocket/recv_io_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/unixsocket/recvfrom_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/unixsocket/remote_address_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/unixsocket/send_io_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/socket/unixsocket/shared/new.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/socket/unixsocket/socketpair_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/append_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/stringio/append_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/binmode_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/stringio/binmode_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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/bytes_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/stringio/bytes_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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/chars_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/stringio/chars_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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/close_read_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/close_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/close_write_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/closed_read_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/closed_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/closed_write_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/codepoints_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/stringio/codepoints_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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/each_byte_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/each_char_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/each_codepoint_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/each_line_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/stringio/each_line_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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/each_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/stringio/each_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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/eof_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/external_encoding_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/fcntl_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/fileno_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/flush_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/fsync_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/getbyte_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/getc_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/getch_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/stringio/getch_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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/getpass_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/stringio/getpass_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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/gets_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/stringio/gets_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.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/spec/ruby/library/stringio/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/stringio/initialize_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.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/spec/ruby/library/stringio/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/stringio/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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/internal_encoding_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/isatty_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/length_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/lineno_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/lines_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/open_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/library/stringio/path_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/pid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/pos_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/print_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/stringio/print_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/printf_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/putc_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/puts_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/stringio/puts_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.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/spec/ruby/library/stringio/read_nonblock_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/stringio/read_nonblock_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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/read_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/readbyte_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/readchar_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/readline_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/stringio/readline_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/readlines_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/stringio/readlines_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/readpartial_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/reopen_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/stringio/reopen_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.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/spec/ruby/library/stringio/rewind_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/seek_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/set_encoding_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/stringio/set_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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/shared/codepoints.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/shared/each.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/stringio/shared/each.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/spec/ruby/library/stringio/shared/each_byte.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/shared/each_char.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/shared/eof.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/shared/getc.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/shared/isatty.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/shared/length.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/shared/read.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/shared/readchar.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/shared/sysread.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/shared/tell.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/shared/write.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/stringio/shared/write.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/spec/ruby/library/stringio/size_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/string_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/stringio_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/sync_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/sysread_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/syswrite_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/tell_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/truncate_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/tty_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/ungetbyte_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/ungetc_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/write_nonblock_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringio/write_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/append_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/beginning_of_line_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/bol_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/check_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/check_until_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/clear_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/stringscanner/clear_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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/concat_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/dup_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/element_reference_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/empty_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/stringscanner/empty_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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/eos_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/exist_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/get_byte_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/getbyte_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/stringscanner/getbyte_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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/getch_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/stringscanner/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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/match_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/matched_size_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/matched_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/must_C_version_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/peek_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/peep_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/stringscanner/peep_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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/pointer_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/pos_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/post_match_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/pre_match_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/reset_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/rest_size_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/rest_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/restsize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/stringscanner/restsize_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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/scan_full_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/scan_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/stringscanner/scan_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/scan_until_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/search_full_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/shared/bol.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/shared/concat.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/shared/eos.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/shared/extract_range.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/stringscanner/shared/extract_range.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/spec/ruby/library/stringscanner/shared/extract_range_matched.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/stringscanner/shared/extract_range_matched.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/spec/ruby/library/stringscanner/shared/get_byte.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/shared/matched_size.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/shared/peek.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/stringscanner/shared/peek.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/spec/ruby/library/stringscanner/shared/pos.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/shared/rest_size.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/shared/terminate.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/skip_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/skip_until_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/string_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/terminate_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/stringscanner/unscan_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/syslog/alert_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/syslog/close_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/syslog/constants_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/syslog/crit_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/syslog/debug_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/syslog/emerg_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/syslog/err_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/syslog/facility_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/syslog/ident_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/syslog/info_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/syslog/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/syslog/instance_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/syslog/log_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/syslog/mask_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/syslog/notice_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/syslog/open_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/syslog/opened_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/syslog/options_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/syslog/reopen_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/syslog/shared/log.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/syslog/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='add'><a href='/ruby.git/diff/spec/ruby/library/syslog/shared/reopen.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/syslog/warning_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/tempfile/_close_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/tempfile/callback_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/tempfile/close_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/tempfile/delete_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/tempfile/initialize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/tempfile/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='add'><a href='/ruby.git/diff/spec/ruby/library/tempfile/length_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/tempfile/open_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/tempfile/open_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/tempfile/path_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/tempfile/shared/length.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/tempfile/shared/unlink.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/tempfile/size_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/tempfile/unlink_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/thread/queue_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/thread/sizedqueue_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/time/httpdate_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/time/iso8601_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/time/rfc2822_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/time/rfc822_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/time/shared/rfc2822.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/time/shared/xmlschema.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/time/to_date_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/time/to_datetime_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/time/to_time_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/time/to_time_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='add'><a href='/ruby.git/diff/spec/ruby/library/time/xmlschema_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/timeout/error_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/timeout/timeout_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/timeout/timeout_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='add'><a href='/ruby.git/diff/spec/ruby/library/tmpdir/dir/mktmpdir_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/tmpdir/dir/tmpdir_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/decode_www_form_component_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/decode_www_form_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/encode_www_form_component_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/encode_www_form_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/eql_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/equality_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/escape/decode_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/escape/encode_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/escape/escape_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/escape/unescape_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/extract_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/uri/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/fixtures/normalization.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/uri/ftp/build_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/ftp/merge_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/ftp/new2_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/ftp/path_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/ftp/set_typecode_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/ftp/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/ftp/typecode_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/absolute_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/build2_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/build_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/coerce_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/component_ary_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/component_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/default_port_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/eql_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/equal_value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/fragment_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/hash_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/hierarchical_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/host_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/merge_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/minus_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/normalize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/opaque_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/password_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/path_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/plus_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/port_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/query_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/registry_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/relative_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/route_from_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/route_to_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/scheme_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/select_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/set_fragment_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/set_host_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/set_opaque_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/set_password_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/set_path_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/set_port_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/set_query_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/set_registry_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/set_scheme_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/set_user_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/set_userinfo_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/use_registry_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/user_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/generic/userinfo_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/http/build_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/http/request_uri_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/join_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/uri/ldap/attributes_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/ldap/build_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/ldap/dn_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/ldap/extensions_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/ldap/filter_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/ldap/hierarchical_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/ldap/scope_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/ldap/set_attributes_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/ldap/set_dn_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/ldap/set_extensions_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/ldap/set_filter_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/ldap/set_scope_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/mailto/build_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/uri/mailto/build_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/uri/mailto/headers_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/mailto/set_headers_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/mailto/set_to_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/mailto/to_mailtext_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/mailto/to_rfc822text_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/mailto/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/mailto/to_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/merge_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/normalize_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/parse_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/library/uri/parser/escape_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/parser/extract_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/parser/inspect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/parser/join_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/parser/make_regexp_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/parser/parse_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/parser/split_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/parser/unescape_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/plus_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/library/uri/regexp_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/route_from_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/route_to_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/select_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/uri/select_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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/set_component_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/shared/eql.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/shared/extract.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/uri/shared/join.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/uri/shared/parse.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/library/uri/split_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/uri_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/uri/util/make_components_hash_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/weakref/__getobj___spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/weakref/allocate_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/weakref/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/weakref/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/weakref/send_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/weakref/weakref_alive_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/fixtures/classes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/fixtures/event.xml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole/_getproperty_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole/_invoke_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole/codepage_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole/connect_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole/const_load_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole/constants_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole/create_guid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole/invoke_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole/locale_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole/ole_func_methods_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole/ole_get_methods_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole/ole_method_help_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole/ole_method_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole/ole_methods_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole/ole_obj_help_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole/ole_put_methods_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole/setproperty_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole/shared/ole_method.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole/shared/setproperty.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_event/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_event/on_event_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_method/dispid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_method/event_interface_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_method/event_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_method/helpcontext_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_method/helpfile_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_method/helpstring_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_method/invkind_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_method/invoke_kind_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_method/name_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_method/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_method/offset_vtbl_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_method/params_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_method/return_type_detail_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_method/return_type_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_method/return_vtype_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_method/shared/name.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_method/size_opt_params_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_method/size_params_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_method/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_method/visible_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_param/default_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_param/input_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_param/name_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_param/ole_type_detail_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_param/ole_type_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_param/optional_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_param/retval_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_param/shared/name.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_param/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_type/guid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_type/helpcontext_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_type/helpfile_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_type/helpstring_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_type/major_version_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_type/minor_version_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_type/name_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_type/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/win32ole/win32ole_type/new_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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_type/ole_classes_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_type/ole_methods_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_type/ole_type_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_type/progid_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_type/progids_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_type/shared/name.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_type/src_type_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_type/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_type/typekind_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_type/typelibs_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_type/variables_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_type/visible_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_variable/name_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_variable/ole_type_detail_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_variable/ole_type_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_variable/shared/name.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_variable/to_s_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_variable/value_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_variable/variable_kind_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_variable/varkind_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/win32ole/win32ole_variable/visible_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/yaml/dump_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/yaml/dump_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/yaml/dump_stream_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/yaml/fixtures/common.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/yaml/fixtures/example_class.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/yaml/fixtures/example_class.rb</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/yaml/fixtures/strings.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/yaml/fixtures/test_yaml.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/yaml/load_file_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/yaml/load_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/yaml/load_stream_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/yaml/parse_file_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/yaml/parse_file_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='add'><a href='/ruby.git/diff/spec/ruby/library/yaml/parse_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/yaml/shared/each_document.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/yaml/to_yaml_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/yaml/to_yaml_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/zlib/adler32_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/zlib/crc32_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/zlib/crc_table_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/zlib/deflate/deflate_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/zlib/deflate/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/zlib/deflate/params_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/zlib/deflate/set_dictionary_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/zlib/deflate_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/zlib/gunzip_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/zlib/gunzip_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='add'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzip_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/zlib/gzip_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='add'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipfile/close_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipfile/closed_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipfile/comment_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipfile/orig_name_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipreader/each_byte_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipreader/each_line_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipreader/each_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipreader/eof_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/zlib/gzipreader/eof_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipreader/getc_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/zlib/gzipreader/getc_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='add'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipreader/gets_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipreader/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipreader/pos_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/zlib/gzipreader/pos_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='add'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipreader/read_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/zlib/gzipreader/read_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipreader/readpartial_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipreader/rewind_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/zlib/gzipreader/rewind_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipreader/shared/each.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/zlib/gzipreader/shared/each.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/spec/ruby/library/zlib/gzipreader/ungetbyte_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/zlib/gzipreader/ungetbyte_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipreader/ungetc_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/zlib/gzipreader/ungetc_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.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/spec/ruby/library/zlib/gzipwriter/append_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/zlib/gzipwriter/append_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='add'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipwriter/mtime_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/zlib/gzipwriter/write_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/zlib/inflate/append_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/library/zlib/inflate/finish_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/zlib/inflate/inflate_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/library/zlib/inflate/new_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/zlib/inflate/set_dictionary_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/zlib/inflate_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/zlib/zlib_version_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/library/zlib/zlib_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='add'><a href='/ruby.git/diff/spec/ruby/library/zlib/zstream/adler_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/zlib/zstream/avail_in_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/zlib/zstream/avail_out_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/zlib/zstream/data_type_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/library/zlib/zstream/flush_next_out_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/README?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/README</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/spec/ruby/optional/capi/array_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/array_spec.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/spec/ruby/optional/capi/basic_object_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/basic_object_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='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/bignum_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/bignum_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.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/spec/ruby/optional/capi/boolean_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/class_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/class_spec.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/spec/ruby/optional/capi/complex_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/constants_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/constants_spec.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/spec/ruby/optional/capi/data_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/data_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='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/encoding_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/encoding_spec.rb</a></td><td class='right'>651</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/spec/ruby/optional/capi/enumerator_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/exception_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/exception_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/.gitignore?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/array_spec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/array_spec.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/spec/ruby/optional/capi/ext/basic_object_spec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/basic_object_spec.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/spec/ruby/optional/capi/ext/bignum_spec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/bignum_spec.c</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/spec/ruby/optional/capi/ext/boolean_spec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/boolean_spec.c</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/spec/ruby/optional/capi/ext/class_id_under_autoload_spec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/class_id_under_autoload_spec.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='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/class_spec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/class_spec.c</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/spec/ruby/optional/capi/ext/class_under_autoload_spec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/class_under_autoload_spec.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='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/complex_spec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/complex_spec.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/spec/ruby/optional/capi/ext/constants_spec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/constants_spec.c</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/spec/ruby/optional/capi/ext/data_spec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/data_spec.c</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/spec/ruby/optional/capi/ext/encoding_spec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/encoding_spec.c</a></td><td class='right'>370</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/spec/ruby/optional/capi/ext/enumerator_spec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/enumerator_spec.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='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/exception_spec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/exception_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/file_spec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/file_spec.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/spec/ruby/optional/capi/ext/fixnum_spec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/fixnum_spec.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/spec/ruby/optional/capi/ext/float_spec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/float_spec.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/spec/ruby/optional/capi/ext/gc_spec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/gc_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/globals_spec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/globals_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/hash_spec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/hash_spec.c</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/spec/ruby/optional/capi/ext/integer_spec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/integer_spec.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='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/io_spec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/io_spec.c</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/spec/ruby/optional/capi/ext/kernel_spec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/kernel_spec.c</a></td><td class='right'>377</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/spec/ruby/optional/capi/ext/language_spec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/language_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='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/marshal_spec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/marshal_spec.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='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/module_spec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/module_spec.c</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/spec/ruby/optional/capi/ext/module_under_autoload_spec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/module_under_autoload_spec.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/spec/ruby/optional/capi/ext/mutex_spec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/mutex_spec.c</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/spec/ruby/optional/capi/ext/numeric_spec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/numeric_spec.c</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/spec/ruby/optional/capi/ext/object_spec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/object_spec.c</a></td><td class='right'>462</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/spec/ruby/optional/capi/ext/proc_spec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/proc_spec.c</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/spec/ruby/optional/capi/ext/range_spec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/range_spec.c</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/spec/ruby/optional/capi/ext/rational_spec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/rational_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/rbasic_spec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/rbasic_spec.c</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/spec/ruby/optional/capi/ext/regexp_spec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/regexp_spec.c</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/spec/ruby/optional/capi/ext/rubyspec.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/rubyspec.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='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/st_spec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/st_spec.c</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/spec/ruby/optional/capi/ext/string_spec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/string_spec.c</a></td><td class='right'>570</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/spec/ruby/optional/capi/ext/struct_spec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/struct_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/ext/symbol_spec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/symbol_spec.c</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/spec/ruby/optional/capi/ext/thread_spec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/thread_spec.c</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/spec/ruby/optional/capi/ext/time_spec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/time_spec.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/spec/ruby/optional/capi/ext/tracepoint_spec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/tracepoint_spec.c</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/spec/ruby/optional/capi/ext/typed_data_spec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/typed_data_spec.c</a></td><td class='right'>183</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/spec/ruby/optional/capi/ext/util_spec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/ext/util_spec.c</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/spec/ruby/optional/capi/file_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/fixnum_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/fixnum_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/fixtures/class.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/fixtures/const_get.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/fixtures/const_get_at.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/fixtures/const_get_from.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/fixtures/const_get_object.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/fixtures/encoding.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/fixtures/foo.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/fixtures/module.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/fixtures/module_autoload.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/fixtures/path_to_class.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/fixtures/proc.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/float_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/float_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='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/gc_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/gc_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/globals_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/globals_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.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/spec/ruby/optional/capi/hash_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/hash_spec.rb</a></td><td class='right'>274</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/spec/ruby/optional/capi/integer_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/integer_spec.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/spec/ruby/optional/capi/io_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/io_spec.rb</a></td><td class='right'>377</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/spec/ruby/optional/capi/kernel_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/kernel_spec.rb</a></td><td class='right'>626</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/spec/ruby/optional/capi/language_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/language_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='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/marshal_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/module_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/module_spec.rb</a></td><td class='right'>378</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/spec/ruby/optional/capi/mutex_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/mutex_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/numeric_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/numeric_spec.rb</a></td><td class='right'>502</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/spec/ruby/optional/capi/object_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/object_spec.rb</a></td><td class='right'>980</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/spec/ruby/optional/capi/proc_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/proc_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/rake_helper.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/range_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/rational_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/rbasic_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/rbasic_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='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/regexp_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/regexp_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/shared/rbasic.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/shared/rbasic.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/spec/ruby/optional/capi/spec_helper.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/spec_helper.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/spec/ruby/optional/capi/st_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/string_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/string_spec.rb</a></td><td class='right'>1119</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/spec/ruby/optional/capi/struct_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/struct_spec.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/spec/ruby/optional/capi/symbol_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/symbol_spec.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/spec/ruby/optional/capi/thread_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/thread_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.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/spec/ruby/optional/capi/time_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/time_spec.rb</a></td><td class='right'>296</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/spec/ruby/optional/capi/tracepoint_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/tracepoint_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/typed_data_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/typed_data_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/optional/capi/util_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/optional/capi/util_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.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/spec/ruby/security/cve_2010_1330_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/security/cve_2011_4815_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/security/cve_2011_4815_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/security/cve_2013_4164_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/security/cve_2014_8080_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/security/cve_2014_8080_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='add'><a href='/ruby.git/diff/spec/ruby/security/cve_2017_17742_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/security/cve_2018_16396_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/security/cve_2018_16396_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='add'><a href='/ruby.git/diff/spec/ruby/security/cve_2018_6914_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/security/cve_2018_6914_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/security/cve_2018_8778_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/security/cve_2018_8779_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/security/cve_2018_8780_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/security/cve_2018_8780_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='add'><a href='/ruby.git/diff/spec/ruby/security/cve_2019_8321_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/security/cve_2019_8321_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='add'><a href='/ruby.git/diff/spec/ruby/security/cve_2019_8322_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/security/cve_2019_8322_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='add'><a href='/ruby.git/diff/spec/ruby/security/cve_2019_8323_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/security/cve_2019_8323_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='add'><a href='/ruby.git/diff/spec/ruby/security/cve_2019_8325_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/security/cve_2019_8325_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='add'><a href='/ruby.git/diff/spec/ruby/security/cve_2020_10663_spec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/security/cve_2020_10663_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='add'><a href='/ruby.git/diff/spec/ruby/shared/basicobject/method_missing.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/shared/basicobject/send.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/shared/basicobject/send.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/spec/ruby/shared/enumerable/minmax.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/shared/enumerable/minmax.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/spec/ruby/shared/enumerator/enum_for.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/shared/enumerator/enum_for.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/spec/ruby/shared/enumerator/with_index.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/shared/enumerator/with_index.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/spec/ruby/shared/enumerator/with_object.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/fiber/resume.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/shared/fiber/resume.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/spec/ruby/shared/file/blockdev.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/file/chardev.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/file/directory.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/shared/file/executable.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/shared/file/executable_real.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/file/exist.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/file/file.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/file/grpowned.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/shared/file/grpowned.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/spec/ruby/shared/file/identical.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/shared/file/identical.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/spec/ruby/shared/file/owned.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/file/pipe.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/file/readable.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/shared/file/readable.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/spec/ruby/shared/file/readable_real.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/file/setgid.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/file/setuid.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/file/size.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/shared/file/socket.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/file/sticky.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/file/symlink.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/file/world_readable.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/shared/file/world_writable.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/shared/file/writable.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/file/writable_real.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/file/zero.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/shared/hash/key_error.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/shared/hash/key_error.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/spec/ruby/shared/io/putc.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/shared/kernel/equal.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/shared/kernel/object_id.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/shared/kernel/raise.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/shared/kernel/raise.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/spec/ruby/shared/math/atanh.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/process/abort.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/process/exit.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/shared/process/exit.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/spec/ruby/shared/process/fork.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/shared/queue/clear.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/queue/close.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/queue/closed.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/queue/deque.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/shared/queue/empty.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/queue/enque.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/queue/length.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/queue/num_waiting.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/rational/Rational.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/shared/rational/Rational.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/spec/ruby/shared/rational/abs.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/rational/arithmetic_exception_in_coerce.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/shared/rational/arithmetic_exception_in_coerce.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/spec/ruby/shared/rational/ceil.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/rational/coerce.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/shared/rational/coerce.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/spec/ruby/shared/rational/comparison.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/shared/rational/comparison.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/spec/ruby/shared/rational/denominator.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/rational/div.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/shared/rational/divide.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/shared/rational/divmod.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/rational/equal_value.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/rational/exponent.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/shared/rational/fdiv.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/rational/floor.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/rational/hash.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/rational/inspect.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/rational/marshal_dump.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/rational/marshal_load.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/rational/minus.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/shared/rational/modulo.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/rational/multiply.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/shared/rational/numerator.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/rational/plus.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/shared/rational/quo.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/rational/remainder.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/rational/round.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/shared/rational/round.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/spec/ruby/shared/rational/to_f.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/rational/to_i.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/rational/to_r.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/rational/to_s.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/rational/truncate.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/sizedqueue/enque.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/shared/sizedqueue/max.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/spec/ruby/shared/sizedqueue/new.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/sizedqueue/num_waiting.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/spec/ruby/shared/string/end_with.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/shared/string/end_with.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/spec/ruby/shared/string/start_with.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/shared/string/start_with.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/spec/ruby/shared/string/times.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/shared/string/times.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/spec/ruby/shared/time/strftime_for_date.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>spec/ruby/shared/time/strftime_for_date.rb</a></td><td class='right'>273</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/spec/ruby/shared/time/strftime_for_time.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/spec/ruby/spec_helper.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>sprintf.c</a></td><td class='right'>1415</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.1%;'/><td class='rem' style='width: 0.4%;'/><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/st.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>st.c</a></td><td class='right'>2481</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 2.3%;'/><td class='rem' style='width: 0.4%;'/><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/st.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>st.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/strftime.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>strftime.c</a></td><td class='right'>1280</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/string.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>string.c</a></td><td class='right'>12167</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 11.4%;'/><td class='rem' style='width: 1.7%;'/><td class='none' style='width: 86.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='upd'><a href='/ruby.git/diff/struct.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>struct.c</a></td><td class='right'>1530</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.3%;'/><td class='rem' style='width: 0.4%;'/><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/symbol.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>symbol.c</a></td><td class='right'>1240</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/symbol.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>symbol.h</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/template/Doxyfile.tmpl?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>template/Doxyfile.tmpl</a></td><td class='right'>304</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/template/GNUmakefile.in?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>template/GNUmakefile.in</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/template/Makefile.in?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>template/Makefile.in</a></td><td class='right'>687</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/template/builtin_binary.inc.tmpl?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>template/builtin_binary.inc.tmpl</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/template/call_iseq_optimized.inc.tmpl?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>template/call_iseq_optimized.inc.tmpl</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/template/configure-ext.mk.tmpl?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>template/configure-ext.mk.tmpl</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/template/depend.tmpl?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>template/depend.tmpl</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/template/encdb.h.tmpl?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/template/extinit.c.tmpl?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/template/exts.mk.tmpl?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>template/exts.mk.tmpl</a></td><td class='right'>171</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/template/fake.rb.in?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/template/id.c.tmpl?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>template/id.c.tmpl</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/template/id.h.tmpl?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/template/known_errors.inc.tmpl?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/template/limits.c.tmpl?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/template/prelude.c.tmpl?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>template/prelude.c.tmpl</a></td><td class='right'>273</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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/template/ruby-gdb.in?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>template/ruby-gdb.in</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 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/template/ruby-lldb.in?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>template/ruby-lldb.in</a></td><td class='right'>6</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 100.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/template/ruby-runner.h.in?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/template/ruby.pc.in?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/template/sizes.c.tmpl?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/template/transdb.h.tmpl?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/template/unicode_norm_gen.tmpl?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/template/verconf.h.tmpl?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/-ext-/arith_seq/test_arith_seq_extract.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/array/test_resize.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/bignum/test_big2str.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/bignum/test_bigzero.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/bignum/test_div.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/bignum/test_mul.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/-ext-/bignum/test_pack.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/-ext-/bignum/test_str2big.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/bug_reporter/test_bug_reporter.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/-ext-/bug_reporter/test_bug_reporter.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/test/-ext-/class/test_class2name.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/debug/test_debug.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/-ext-/debug/test_profile_frames.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/-ext-/debug/test_profile_frames.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/test/-ext-/exception/test_data_error.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/exception/test_enc_raise.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/exception/test_ensured.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/exception/test_exception_at_throwing.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/file/test_stat.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/float/test_nextafter.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/-ext-/funcall/test_funcall.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/funcall/test_passing_block.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/-ext-/funcall/test_passing_block.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/-ext-/gvl/test_last_thread.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/gvl/test_ubf_async_safe.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/-ext-/gvl/test_ubf_async_safe.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/-ext-/hash/test_delete.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/integer/test_integer.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/-ext-/integer/test_integer.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/-ext-/integer/test_my_integer.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/-ext-/iseq_load/test_iseq_load.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/-ext-/iseq_load/test_iseq_load.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/test/-ext-/iter/test_iter_break.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/iter/test_yield_block.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/load/script.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/load/test_dot_dot.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/load/test_protect.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/marshal/test_internal_ivar.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/-ext-/marshal/test_internal_ivar.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/test/-ext-/marshal/test_usrmarshal.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/method/test_arity.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/num2int/test_num2int.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/-ext-/path_to_class/test_path_to_class.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/popen_deadlock/test_popen_deadlock.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/postponed_job/test_postponed_job.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/proc/test_bmethod.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/rational/test_rat.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/-ext-/rational/test_rat.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/test/-ext-/st/test_foreach.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/st/test_numhash.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/-ext-/st/test_update.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/-ext-/string/test_capacity.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/-ext-/string/test_capacity.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/-ext-/string/test_coderange.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/-ext-/string/test_cstr.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/-ext-/string/test_ellipsize.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/-ext-/string/test_enc_associate.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/string/test_enc_str_buf_cat.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/string/test_external_new.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/string/test_fstring.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/-ext-/string/test_fstring.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/-ext-/string/test_interned_str.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/-ext-/string/test_interned_str.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/-ext-/string/test_modify_expand.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/-ext-/string/test_modify_expand.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/-ext-/string/test_nofree.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/string/test_normalize.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/-ext-/string/test_qsort.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/string/test_rb_str_dup.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/-ext-/string/test_rb_str_dup.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/-ext-/string/test_set_len.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/struct/test_duplicate.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/struct/test_len.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/struct/test_member.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/symbol/noninterned_name.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/-ext-/symbol/noninterned_name.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/-ext-/symbol/test_inadvertent_creation.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/-ext-/symbol/test_inadvertent_creation.rb</a></td><td class='right'>493</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/-ext-/symbol/test_type.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/-ext-/test_bug-14834.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/-ext-/test_bug-14834.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/-ext-/test_bug-3571.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/test_bug-5832.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/test_enumerator_kw.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/-ext-/test_enumerator_kw.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/test/-ext-/test_notimplement.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/-ext-/test_notimplement.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/test/-ext-/test_printf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/-ext-/test_printf.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/test/-ext-/test_random.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/-ext-/test_random.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/-ext-/test_recursion.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/test_scan_args.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/-ext-/test_scan_args.rb</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='add'><a href='/ruby.git/diff/test/-ext-/thread_fd_close/test_thread_fd_close.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/time/test_new.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/tracepoint/test_tracepoint.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/-ext-/tracepoint/test_tracepoint.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/test/-ext-/typeddata/test_typeddata.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/vm/test_at_exit.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/wait_for_single_fd/test_wait_for_single_fd.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/-ext-/win32/test_console_attr.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/-ext-/win32/test_dln.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/-ext-/win32/test_fd_setsize.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/base64/test_base64.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/benchmark/test_benchmark.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/benchmark/test_benchmark.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/test/bigdecimal/test_bigdecimal.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/bigdecimal/test_bigdecimal.rb</a></td><td class='right'>2055</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/test/bigdecimal/test_bigdecimal_util.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/bigdecimal/test_bigdecimal_util.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/test/bigdecimal/test_bigmath.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/bigdecimal/test_ractor.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/bigdecimal/test_ractor.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/bigdecimal/testbase.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/cgi/test_cgi_cookie.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/cgi/test_cgi_core.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/cgi/test_cgi_core.rb</a></td><td class='right'>307</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/cgi/test_cgi_header.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/cgi/test_cgi_modruby.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/cgi/test_cgi_multipart.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/cgi/test_cgi_multipart.rb</a></td><td class='right'>385</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/cgi/test_cgi_session.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/cgi/test_cgi_tag_helper.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/cgi/test_cgi_util.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/cgi/test_cgi_util.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/test/cgi/testdata/file1.html?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/cgi/testdata/large.png?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/cgi/testdata/large.png</a></td><td class='right'>bin</td><td class='graph'>0 -> 156414 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/cgi/testdata/small.png?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/cgi/testdata/small.png</a></td><td class='right'>bin</td><td class='graph'>0 -> 82 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/cgi/update_env.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/coverage/test_coverage.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/coverage/test_coverage.rb</a></td><td class='right'>763</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/test/csv/helper.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/csv/helper.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/test/csv/interface/test_delegation.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/csv/interface/test_delegation.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/csv/interface/test_read.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/csv/interface/test_read.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/test/csv/interface/test_read_write.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/csv/interface/test_read_write.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/test/csv/interface/test_write.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/csv/interface/test_write.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/test/csv/line_endings.gz?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/csv/line_endings.gz</a></td><td class='right'>bin</td><td class='graph'>0 -> 59 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/csv/parse/test_column_separator.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/csv/parse/test_column_separator.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/csv/parse/test_convert.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/csv/parse/test_convert.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/test/csv/parse/test_each.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/csv/parse/test_each.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/csv/parse/test_general.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/csv/parse/test_general.rb</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='add'><a href='/ruby.git/diff/test/csv/parse/test_header.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/csv/parse/test_header.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/test/csv/parse/test_invalid.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/csv/parse/test_invalid.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/csv/parse/test_liberal_parsing.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/csv/parse/test_liberal_parsing.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/test/csv/parse/test_quote_char_nil.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/csv/parse/test_quote_char_nil.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/csv/parse/test_rewind.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/csv/parse/test_rewind.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/csv/parse/test_row_separator.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/csv/parse/test_row_separator.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/csv/parse/test_skip_lines.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/csv/parse/test_skip_lines.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/csv/parse/test_strip.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/csv/parse/test_strip.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/test/csv/parse/test_unconverted_fields.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/csv/parse/test_unconverted_fields.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/test/csv/test_data_converters.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/csv/test_data_converters.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/test/csv/test_encodings.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/csv/test_encodings.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/test/csv/test_features.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/csv/test_features.rb</a></td><td class='right'>359</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/csv/test_row.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/csv/test_row.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/test/csv/test_table.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/csv/test_table.rb</a></td><td class='right'>620</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/test/csv/write/test_converters.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/csv/write/test_converters.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/csv/write/test_force_quotes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/csv/write/test_force_quotes.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/csv/write/test_general.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/csv/write/test_general.rb</a></td><td class='right'>246</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/csv/write/test_quote_empty.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/csv/write/test_quote_empty.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/test/date/test_date.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/date/test_date.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/test/date/test_date_arith.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/date/test_date_arith.rb</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='add'><a href='/ruby.git/diff/test/date/test_date_attr.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/date/test_date_compat.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/date/test_date_conv.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/date/test_date_conv.rb</a></td><td class='right'>171</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/date/test_date_marshal.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/date/test_date_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/test/date/test_date_new.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/date/test_date_new.rb</a></td><td class='right'>332</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/date/test_date_parse.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/date/test_date_parse.rb</a></td><td class='right'>1231</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/test/date/test_date_ractor.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/date/test_date_ractor.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/date/test_date_strftime.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/date/test_date_strftime.rb</a></td><td class='right'>439</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/date/test_date_strptime.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/date/test_date_strptime.rb</a></td><td class='right'>514</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/date/test_switch_hitter.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/date/test_switch_hitter.rb</a></td><td class='right'>637</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/test/dbm/test_dbm.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/dbm/test_dbm.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/test/did_you_mean/core_ext/test_name_error_extension.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/did_you_mean/core_ext/test_name_error_extension.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/did_you_mean/edit_distance/test_jaro_winkler.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/did_you_mean/edit_distance/test_jaro_winkler.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/test/did_you_mean/fixtures/book.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/did_you_mean/fixtures/book.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/test/did_you_mean/fixtures/mini_dir.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/did_you_mean/fixtures/mini_dir.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='add'><a href='/ruby.git/diff/test/did_you_mean/fixtures/rspec_dir.yml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/did_you_mean/fixtures/rspec_dir.yml</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/test/did_you_mean/helper.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/did_you_mean/helper.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/did_you_mean/spell_checking/test_class_name_check.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/did_you_mean/spell_checking/test_class_name_check.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/test/did_you_mean/spell_checking/test_key_name_check.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/did_you_mean/spell_checking/test_key_name_check.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/did_you_mean/spell_checking/test_method_name_check.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/did_you_mean/spell_checking/test_method_name_check.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/test/did_you_mean/spell_checking/test_require_path_check.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/did_you_mean/spell_checking/test_require_path_check.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/did_you_mean/spell_checking/test_uncorrectable_name_check.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/did_you_mean/spell_checking/test_uncorrectable_name_check.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/test/did_you_mean/spell_checking/test_variable_name_check.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/did_you_mean/spell_checking/test_variable_name_check.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/test/did_you_mean/test_spell_checker.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/did_you_mean/test_spell_checker.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/did_you_mean/test_tree_spell_checker.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/did_you_mean/test_tree_spell_checker.rb</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/test/did_you_mean/test_verbose_formatter.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/did_you_mean/test_verbose_formatter.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/did_you_mean/tree_spell/change_word.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/did_you_mean/tree_spell/change_word.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/test/did_you_mean/tree_spell/human_typo.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/did_you_mean/tree_spell/human_typo.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/did_you_mean/tree_spell/test_change_word.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/did_you_mean/tree_spell/test_change_word.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/test/did_you_mean/tree_spell/test_human_typo.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/did_you_mean/tree_spell/test_human_typo.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/test/digest/digest/foo.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/digest/test_digest.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/digest/test_digest.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/test/digest/test_digest_extend.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/digest/test_ractor.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/digest/test_ractor.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/test/drb/drbtest.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/drb/drbtest.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/test/drb/ignore_test_drb.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/drb/ignore_test_drb.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/drb/test_acl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/drb/test_acl.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/test/drb/test_drb.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/drb/test_drb.rb</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/test/drb/test_drbobject.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/drb/test_drbobject.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/drb/test_drbssl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/drb/test_drbssl.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/test/drb/test_drbunix.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/drb/test_drbunix.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/drb/ut_array.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/drb/ut_array.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/drb/ut_array_drbssl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/drb/ut_array_drbssl.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/drb/ut_array_drbunix.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/drb/ut_array_drbunix.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/drb/ut_drb.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/drb/ut_drb.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/test/drb/ut_drb_drbssl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/drb/ut_drb_drbssl.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/drb/ut_drb_drbunix.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/drb/ut_drb_drbunix.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/drb/ut_eq.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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_large.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/drb/ut_large.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/drb/ut_port.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/drb/ut_port.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/drb/ut_safe1.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/drb/ut_safe1.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/drb/ut_timerholder.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/drb/ut_timerholder.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/test/dtrace/dummy.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/dtrace/helper.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/dtrace/helper.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/test/dtrace/test_array_create.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/dtrace/test_cmethod.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/dtrace/test_function_entry.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/dtrace/test_gc.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/dtrace/test_hash_create.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/dtrace/test_load.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/dtrace/test_method_cache.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/dtrace/test_object_create_start.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/dtrace/test_raise.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/dtrace/test_require.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/dtrace/test_require.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/dtrace/test_singleton_function.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/dtrace/test_string.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/erb/hello.erb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/erb/test_erb.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/erb/test_erb.rb</a></td><td class='right'>717</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/test/erb/test_erb_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/erb/test_erb_m17n.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/etc/test_etc.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/etc/test_etc.rb</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/test/excludes/TestException.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/excludes/TestIO_Console.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/excludes/TestISeq.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/excludes/TestThread.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/excludes/_appveyor/TestArray.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/fiber/http.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/fiber/http.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/fiber/scheduler.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/fiber/scheduler.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/test/fiber/test_backtrace.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/fiber/test_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='add'><a href='/ruby.git/diff/test/fiber/test_enumerator.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/fiber/test_enumerator.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/fiber/test_io.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/fiber/test_io.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/test/fiber/test_mutex.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/fiber/test_mutex.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/test/fiber/test_process.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/fiber/test_process.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/test/fiber/test_ractor.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/fiber/test_ractor.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/fiber/test_scheduler.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/fiber/test_scheduler.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/test/fiber/test_sleep.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/fiber/test_sleep.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/test/fiddle/helper.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/fiddle/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.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/fiddle/test_c_struct_entry.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/fiddle/test_c_struct_entry.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/test/fiddle/test_c_union_entity.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/fiddle/test_c_union_entity.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/test/fiddle/test_closure.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/fiddle/test_cparser.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/fiddle/test_cparser.rb</a></td><td class='right'>330</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/fiddle/test_fiddle.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/fiddle/test_func.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/fiddle/test_func.rb</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/test/fiddle/test_function.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/fiddle/test_function.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/test/fiddle/test_handle.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/fiddle/test_handle.rb</a></td><td class='right'>175</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/fiddle/test_import.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/fiddle/test_import.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='add'><a href='/ruby.git/diff/test/fiddle/test_memory_view.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/fiddle/test_memory_view.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/test/fiddle/test_pinned.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/fiddle/test_pinned.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/fiddle/test_pointer.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/fiddle/test_pointer.rb</a></td><td class='right'>288</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/fileutils/clobber.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/fileutils/fileasserts.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/fileutils/fileasserts.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/test/fileutils/test_dryrun.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/fileutils/test_dryrun.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/fileutils/test_fileutils.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/fileutils/test_fileutils.rb</a></td><td class='right'>1870</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/test/fileutils/test_nowrite.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/fileutils/test_nowrite.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/fileutils/test_verbose.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/fileutils/test_verbose.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/fileutils/visibility_tests.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/fixtures/fake_sorted_set_gem/sorted_set.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/fixtures/fake_sorted_set_gem/sorted_set.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/test/gdbm/test_gdbm.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/gdbm/test_gdbm.rb</a></td><td class='right'>734</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/test/io/console/test_io_console.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/io/console/test_io_console.rb</a></td><td class='right'>549</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/io/nonblock/test_flush.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/io/nonblock/test_flush.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/io/wait/test_io_wait.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/io/wait/test_io_wait.rb</a></td><td class='right'>179</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/io/wait/test_io_wait_uncommon.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/io/wait/test_io_wait_uncommon.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/irb/test_cmd.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/irb/test_cmd.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/test/irb/test_color.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/irb/test_color.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/test/irb/test_completion.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/irb/test_completion.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/irb/test_context.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/irb/test_context.rb</a></td><td class='right'>412</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/irb/test_history.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/irb/test_history.rb</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/test/irb/test_init.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/irb/test_init.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/irb/test_option.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/irb/test_option.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/test/irb/test_raise_no_backtrace_exception.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/irb/test_raise_no_backtrace_exception.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/irb/test_ruby_lex.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/irb/test_ruby_lex.rb</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/test/irb/test_workspace.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/irb/test_workspace.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/test/json/fixtures/fail10.json?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/json/fixtures/fail11.json?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/json/fixtures/fail12.json?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/json/fixtures/fail13.json?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/json/fixtures/fail14.json?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/json/fixtures/fail18.json?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/json/fixtures/fail19.json?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/json/fixtures/fail2.json?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/json/fixtures/fail20.json?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/json/fixtures/fail21.json?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/json/fixtures/fail22.json?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/json/fixtures/fail23.json?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/json/fixtures/fail24.json?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/json/fixtures/fail25.json?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/json/fixtures/fail27.json?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/json/fixtures/fail28.json?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/json/fixtures/fail29.json?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/json/fixtures/fail29.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='add'><a href='/ruby.git/diff/test/json/fixtures/fail3.json?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/json/fixtures/fail30.json?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/json/fixtures/fail30.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='add'><a href='/ruby.git/diff/test/json/fixtures/fail31.json?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/json/fixtures/fail31.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='add'><a href='/ruby.git/diff/test/json/fixtures/fail32.json?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/json/fixtures/fail32.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='add'><a href='/ruby.git/diff/test/json/fixtures/fail4.json?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/json/fixtures/fail5.json?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/json/fixtures/fail6.json?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/json/fixtures/fail7.json?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/json/fixtures/fail8.json?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/json/fixtures/fail9.json?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/json/fixtures/obsolete_fail1.json?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/json/fixtures/pass1.json?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/json/fixtures/pass15.json?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/json/fixtures/pass16.json?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/json/fixtures/pass17.json?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/json/fixtures/pass2.json?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/json/fixtures/pass26.json?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/json/fixtures/pass3.json?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/json/json_addition_test.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/json/json_addition_test.rb</a></td><td class='right'>199</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/json/json_common_interface_test.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/json/json_common_interface_test.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/test/json/json_encoding_test.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/json/json_ext_parser_test.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/json/json_fixtures_test.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/json/json_fixtures_test.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/json/json_generator_test.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/json/json_generator_test.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/json/json_generic_object_test.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/json/json_parser_test.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/json/json_parser_test.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/test/json/json_string_matching_test.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/json/ractor_test.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/json/ractor_test.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/test/json/test_helper.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/json/test_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='add'><a href='/ruby.git/diff/test/lib/jit_support.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/lib/jit_support.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/lib/with_different_ofs.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/lib/with_different_ofs.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/logger/helper.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/logger/helper.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/test/logger/test_logdevice.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/logger/test_logdevice.rb</a></td><td class='right'>858</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/test/logger/test_logger.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/logger/test_logger.rb</a></td><td class='right'>393</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/logger/test_logperiod.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/logger/test_logperiod.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/logger/test_severity.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/logger/test_severity.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/matrix/test_matrix.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/matrix/test_matrix.rb</a></td><td class='right'>832</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/test/matrix/test_vector.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/mkmf/base.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/mkmf/base.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/test/mkmf/test_config.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/mkmf/test_constant.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/mkmf/test_convertible.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/mkmf/test_find_executable.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/mkmf/test_flags.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/mkmf/test_framework.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/mkmf/test_have_func.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/mkmf/test_have_library.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/mkmf/test_have_macro.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/mkmf/test_libs.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/mkmf/test_mkmf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/mkmf/test_mkmf.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/test/mkmf/test_signedness.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/mkmf/test_sizeof.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/monitor/test_monitor.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/monitor/test_monitor.rb</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='add'><a href='/ruby.git/diff/test/net/fixtures/Makefile?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/net/fixtures/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='add'><a href='/ruby.git/diff/test/net/fixtures/cacert.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/net/fixtures/cacert.pem</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/test/net/fixtures/dhparams.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/net/fixtures/server.crt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/net/fixtures/server.crt</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/net/fixtures/server.key?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/net/fixtures/server.key</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/test/net/ftp/test_buffered_socket.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/net/ftp/test_ftp.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/net/ftp/test_ftp.rb</a></td><td class='right'>2585</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/test/net/ftp/test_mlsx_entry.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/net/http/test_buffered_io.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/net/http/test_http.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/net/http/test_http.rb</a></td><td class='right'>1228</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/test/net/http/test_http_request.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/net/http/test_http_request.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/net/http/test_httpheader.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/net/http/test_httpheader.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/test/net/http/test_httpresponse.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/net/http/test_httpresponse.rb</a></td><td class='right'>469</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/net/http/test_httpresponses.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/net/http/test_https.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/net/http/test_https.rb</a></td><td class='right'>324</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/net/http/test_https_proxy.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/net/http/test_https_proxy.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/net/http/utils.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/net/http/utils.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='add'><a href='/ruby.git/diff/test/net/imap/test_imap.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/net/imap/test_imap.rb</a></td><td class='right'>844</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/test/net/imap/test_imap_response_parser.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/net/imap/test_imap_response_parser.rb</a></td><td class='right'>311</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/net/pop/test_pop.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/net/protocol/test_protocol.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/net/protocol/test_protocol.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/net/smtp/test_response.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/net/smtp/test_smtp.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/net/smtp/test_smtp.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/test/net/smtp/test_ssl_socket.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/net/smtp/test_ssl_socket.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/net/smtp/test_sslcontext.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/net/smtp/test_sslcontext.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/test/net/smtp/test_starttls.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/net/smtp/test_starttls.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/nkf/test_kconv.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/nkf/test_kconv.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/nkf/test_nkf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/nkf/test_nkf.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/objspace/test_objspace.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/objspace/test_objspace.rb</a></td><td class='right'>585</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/open-uri/test_open-uri.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 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/open-uri/test_ssl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/open-uri/test_ssl.rb</a></td><td class='right'>513</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/openssl/fixtures/pkey/dh-1.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/openssl/fixtures/pkey/dh-1.pem</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/openssl/fixtures/pkey/dh1024.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/openssl/fixtures/pkey/dsa1024.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/openssl/fixtures/pkey/dsa256.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/openssl/fixtures/pkey/dsa512.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/openssl/fixtures/pkey/p256.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/openssl/fixtures/pkey/rsa-1.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/openssl/fixtures/pkey/rsa-1.pem</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/openssl/fixtures/pkey/rsa-2.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/openssl/fixtures/pkey/rsa-2.pem</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/openssl/fixtures/pkey/rsa-3.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/openssl/fixtures/pkey/rsa-3.pem</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/openssl/fixtures/pkey/rsa1024.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/openssl/fixtures/pkey/rsa2048.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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/test_asn1.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/openssl/test_asn1.rb</a></td><td class='right'>720</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/test/openssl/test_bn.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/openssl/test_bn.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/test/openssl/test_buffering.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/openssl/test_buffering.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/test/openssl/test_cipher.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/openssl/test_cipher.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/test/openssl/test_config.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/openssl/test_config.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/test/openssl/test_digest.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/openssl/test_digest.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/test/openssl/test_engine.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/openssl/test_fips.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/openssl/test_hmac.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/openssl/test_hmac.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/openssl/test_kdf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/openssl/test_ns_spki.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/openssl/test_ns_spki.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/openssl/test_ocsp.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/openssl/test_ocsp.rb</a></td><td class='right'>311</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/openssl/test_ossl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/openssl/test_ossl.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/test/openssl/test_pair.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/openssl/test_pair.rb</a></td><td class='right'>509</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/openssl/test_pkcs12.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/openssl/test_pkcs7.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/openssl/test_pkcs7.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/test/openssl/test_pkey.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/openssl/test_pkey.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/test/openssl/test_pkey_dh.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/openssl/test_pkey_dh.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/test/openssl/test_pkey_dsa.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/openssl/test_pkey_dsa.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/test/openssl/test_pkey_ec.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/openssl/test_pkey_ec.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/test/openssl/test_pkey_rsa.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/openssl/test_pkey_rsa.rb</a></td><td class='right'>459</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/openssl/test_random.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/openssl/test_ssl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/openssl/test_ssl.rb</a></td><td class='right'>1735</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/test/openssl/test_ssl_session.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/openssl/test_ts.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/openssl/test_ts.rb</a></td><td class='right'>657</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/test/openssl/test_x509attr.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/openssl/test_x509attr.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/test/openssl/test_x509cert.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/openssl/test_x509cert.rb</a></td><td class='right'>288</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/openssl/test_x509crl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/openssl/test_x509crl.rb</a></td><td class='right'>284</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/openssl/test_x509ext.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/openssl/test_x509ext.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/openssl/test_x509name.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/openssl/test_x509name.rb</a></td><td class='right'>469</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/openssl/test_x509req.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/openssl/test_x509req.rb</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/test/openssl/test_x509store.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/openssl/test_x509store.rb</a></td><td class='right'>241</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/openssl/ut_eof.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/openssl/utils.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/openssl/utils.rb</a></td><td class='right'>397</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/optparse/test_acceptable.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/optparse/test_autoconf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/optparse/test_autoconf.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/optparse/test_bash_completion.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/optparse/test_cclass.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/optparse/test_did_you_mean.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/optparse/test_did_you_mean.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/optparse/test_getopts.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/optparse/test_getopts.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/test/optparse/test_kwargs.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/optparse/test_noarg.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/optparse/test_noarg.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/optparse/test_optarg.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/optparse/test_optarg.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/optparse/test_optparse.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/optparse/test_optparse.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/optparse/test_placearg.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/optparse/test_placearg.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/test/optparse/test_reqarg.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/optparse/test_reqarg.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/test/optparse/test_summary.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/optparse/test_zsh_completion.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/ostruct/test_ostruct.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ostruct/test_ostruct.rb</a></td><td class='right'>341</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/pathname/test_pathname.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/pathname/test_pathname.rb</a></td><td class='right'>1468</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/pathname/test_ractor.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/pathname/test_ractor.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/psych/handlers/test_recorder.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/psych/helper.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/psych/json/test_stream.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/psych/nodes/test_enumerable.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/psych/test_alias_and_anchor.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/psych/test_array.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/psych/test_boolean.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/psych/test_class.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/psych/test_coder.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/psych/test_date_time.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/psych/test_deprecated.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/psych/test_document.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/psych/test_emitter.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/psych/test_encoding.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/psych/test_exception.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/psych/test_exception.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/test/psych/test_hash.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/psych/test_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/psych/test_json_tree.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/psych/test_marshalable.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/psych/test_merge_keys.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/psych/test_merge_keys.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/test/psych/test_nil.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/psych/test_null.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/psych/test_numeric.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/psych/test_object.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/psych/test_object_references.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/psych/test_omap.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/psych/test_parser.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/psych/test_psych.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/psych/test_psych.rb</a></td><td class='right'>387</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/psych/test_ractor.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/psych/test_ractor.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/test/psych/test_safe_load.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/psych/test_scalar.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/psych/test_scalar_scanner.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/psych/test_scalar_scanner.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'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/psych/test_serialize_subclasses.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/psych/test_set.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/psych/test_stream.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/psych/test_string.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/psych/test_struct.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/psych/test_symbol.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/psych/test_tree_builder.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/psych/test_yaml.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/psych/test_yaml.rb</a></td><td class='right'>1294</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/test/psych/test_yaml_special_cases.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/psych/test_yamldbm.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/psych/test_yamlstore.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/psych/visitors/test_depth_first.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/psych/visitors/test_emitter.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/psych/visitors/test_to_ruby.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/psych/visitors/test_to_ruby.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/psych/visitors/test_yaml_tree.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/racc/assets/cadenza.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/cadenza.y</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/test/racc/assets/cast.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/cast.y</a></td><td class='right'>926</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/racc/assets/chk.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/chk.y</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/racc/assets/conf.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/conf.y</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/racc/assets/csspool.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/csspool.y</a></td><td class='right'>729</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/test/racc/assets/digraph.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/digraph.y</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/racc/assets/echk.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/echk.y</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/racc/assets/edtf.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/edtf.y</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/test/racc/assets/err.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/err.y</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/racc/assets/error_recovery.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/error_recovery.y</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/test/racc/assets/expect.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/expect.y</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/racc/assets/firstline.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/firstline.y</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/racc/assets/huia.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/huia.y</a></td><td class='right'>318</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/racc/assets/ichk.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/ichk.y</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/racc/assets/ifelse.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/ifelse.y</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/racc/assets/intp.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/intp.y</a></td><td class='right'>546</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/racc/assets/journey.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/journey.y</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/racc/assets/liquor.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/liquor.y</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/test/racc/assets/machete.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/machete.y</a></td><td class='right'>423</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/racc/assets/macruby.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/macruby.y</a></td><td class='right'>2197</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/test/racc/assets/mailp.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/mailp.y</a></td><td class='right'>437</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/racc/assets/mediacloth.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/mediacloth.y</a></td><td class='right'>599</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/racc/assets/mof.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/mof.y</a></td><td class='right'>649</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/test/racc/assets/namae.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/namae.y</a></td><td class='right'>302</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/racc/assets/nasl.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/nasl.y</a></td><td class='right'>626</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/test/racc/assets/newsyn.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/newsyn.y</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/test/racc/assets/noend.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/noend.y</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/racc/assets/nokogiri-css.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/nokogiri-css.y</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/test/racc/assets/nonass.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/nonass.y</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/racc/assets/normal.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/normal.y</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/racc/assets/norule.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/norule.y</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/racc/assets/nullbug1.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/nullbug1.y</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/test/racc/assets/nullbug2.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/nullbug2.y</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/test/racc/assets/opal.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/opal.y</a></td><td class='right'>1807</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/test/racc/assets/opt.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/opt.y</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/test/racc/assets/percent.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/percent.y</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/test/racc/assets/php_serialization.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/php_serialization.y</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/racc/assets/recv.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/recv.y</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/test/racc/assets/riml.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/riml.y</a></td><td class='right'>665</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/test/racc/assets/rrconf.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/rrconf.y</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/racc/assets/ruby18.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/ruby18.y</a></td><td class='right'>1943</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 2.1%;'/><td class='rem' style='width: 0.0%;'/><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/test/racc/assets/ruby19.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/ruby19.y</a></td><td class='right'>2174</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/test/racc/assets/ruby20.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/ruby20.y</a></td><td class='right'>2350</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/test/racc/assets/ruby21.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/ruby21.y</a></td><td class='right'>2359</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/test/racc/assets/ruby22.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/ruby22.y</a></td><td class='right'>2381</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/test/racc/assets/scan.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/scan.y</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/test/racc/assets/syntax.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/syntax.y</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/racc/assets/tp_plus.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/tp_plus.y</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/test/racc/assets/twowaysql.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/twowaysql.y</a></td><td class='right'>278</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/racc/assets/unterm.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/unterm.y</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/test/racc/assets/useless.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/useless.y</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/racc/assets/yyerr.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/assets/yyerr.y</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/test/racc/bench.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/bench.y</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/test/racc/helper.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/helper.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/test/racc/infini.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/infini.y</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/racc/regress/README.txt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/regress/README.txt</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/racc/regress/cadenza?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/regress/cadenza</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/test/racc/regress/cast?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/regress/cast</a></td><td class='right'>3428</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 3.7%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 96.3%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/racc/regress/csspool?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/regress/csspool</a></td><td class='right'>2314</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/test/racc/regress/edtf?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/regress/edtf</a></td><td class='right'>1794</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/test/racc/regress/huia?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/regress/huia</a></td><td class='right'>1392</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/racc/regress/journey?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/regress/journey</a></td><td class='right'>222</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/racc/regress/liquor?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/regress/liquor</a></td><td class='right'>885</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/racc/regress/machete?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/regress/machete</a></td><td class='right'>833</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/test/racc/regress/mediacloth?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/regress/mediacloth</a></td><td class='right'>1463</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/racc/regress/mof?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/regress/mof</a></td><td class='right'>1368</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/racc/regress/namae?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/regress/namae</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/test/racc/regress/nasl?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/regress/nasl</a></td><td class='right'>2058</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/test/racc/regress/nokogiri-css?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/regress/nokogiri-css</a></td><td class='right'>836</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/test/racc/regress/opal?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/regress/opal</a></td><td class='right'>6431</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 6.9%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 93.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/racc/regress/php_serialization?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/regress/php_serialization</a></td><td class='right'>336</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/racc/regress/riml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/regress/riml</a></td><td class='right'>3283</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/test/racc/regress/ruby18?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/regress/ruby18</a></td><td class='right'>6344</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 6.8%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 93.2%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/racc/regress/ruby22?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/regress/ruby22</a></td><td class='right'>7460</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 8.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 92.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/racc/regress/tp_plus?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/regress/tp_plus</a></td><td class='right'>1933</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 2.1%;'/><td class='rem' style='width: 0.0%;'/><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/test/racc/regress/twowaysql?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/regress/twowaysql</a></td><td class='right'>556</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/racc/scandata/brace?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/scandata/brace</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/racc/scandata/gvar?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/scandata/gvar</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/racc/scandata/normal?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/scandata/normal</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/racc/scandata/percent?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/scandata/percent</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/racc/scandata/slash?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/scandata/slash</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/racc/src.intp?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/src.intp</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/racc/start.y?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/start.y</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/racc/test_chk_y.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/test_chk_y.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/racc/test_grammar_file_parser.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/test_grammar_file_parser.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/test/racc/test_racc_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/test_racc_command.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/test/racc/test_scan_y.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/test_scan_y.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/racc/testscanner.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/racc/testscanner.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/rdoc/MarkdownTest_1.0.3/Amps%20and%20angle%20encoding.text?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rdoc/MarkdownTest_1.0.3/Auto%20links.text?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rdoc/MarkdownTest_1.0.3/Backslash%20escapes.text?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rdoc/MarkdownTest_1.0.3/Blockquotes%20with%20code%20blocks.text?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rdoc/MarkdownTest_1.0.3/Code%20Blocks.text?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rdoc/MarkdownTest_1.0.3/Code%20Spans.text?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rdoc/MarkdownTest_1.0.3/Hard-wrapped%20paragraphs%20with%20list-like%20lines.text?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rdoc/MarkdownTest_1.0.3/Horizontal%20rules.text?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rdoc/MarkdownTest_1.0.3/Inline%20HTML%20(Advanced).text?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rdoc/MarkdownTest_1.0.3/Inline%20HTML%20(Simple).text?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rdoc/MarkdownTest_1.0.3/Inline%20HTML%20comments.text?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rdoc/MarkdownTest_1.0.3/Links,%20inline%20style.text?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rdoc/MarkdownTest_1.0.3/Links,%20reference%20style.text?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rdoc/MarkdownTest_1.0.3/Links,%20shortcut%20references.text?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rdoc/MarkdownTest_1.0.3/Literal%20quotes%20in%20titles.text?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rdoc/MarkdownTest_1.0.3/Markdown%20Documentation%20-%20Basics.text?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/rdoc/MarkdownTest_1.0.3/Markdown%20Documentation%20-%20Syntax.text?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 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/rdoc/MarkdownTest_1.0.3/Nested%20blockquotes.text?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rdoc/MarkdownTest_1.0.3/Ordered%20and%20unordered%20lists.text?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rdoc/MarkdownTest_1.0.3/Strong%20and%20em%20together.text?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rdoc/MarkdownTest_1.0.3/Tabs.text?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rdoc/MarkdownTest_1.0.3/Tidyness.text?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rdoc/README?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rdoc/binary.dat?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rdoc/binary.dat</a></td><td class='right'>bin</td><td class='graph'>0 -> 1024 bytes<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/rdoc/helper.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rdoc/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='add'><a href='/ruby.git/diff/test/rdoc/hidden.zip.txt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rdoc/support/formatter_test_case.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rdoc/support/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.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/test/rdoc/support/test_case.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rdoc/support/test_case.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/test/rdoc/support/text_formatter_test_case.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rdoc/support/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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rdoc/test.ja.largedoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rdoc/test.ja.rdoc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rdoc/test.ja.txt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rdoc/test.txt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rdoc/test_rdoc_alias.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rdoc/test_rdoc_any_method.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/rdoc/test_rdoc_attr.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/rdoc/test_rdoc_class_module.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rdoc/test_rdoc_class_module.rb</a></td><td class='right'>1504</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/rdoc/test_rdoc_code_object.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/rdoc/test_rdoc_comment.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rdoc/test_rdoc_comment.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/test/rdoc/test_rdoc_constant.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/rdoc/test_rdoc_context.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 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/rdoc/test_rdoc_context_section.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rdoc/test_rdoc_context_section.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/test/rdoc/test_rdoc_cross_reference.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/rdoc/test_rdoc_encoding.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/rdoc/test_rdoc_extend.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rdoc/test_rdoc_generator_darkfish.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/rdoc/test_rdoc_generator_json_index.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/rdoc/test_rdoc_generator_markup.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rdoc/test_rdoc_generator_pot.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rdoc/test_rdoc_generator_pot_po.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rdoc/test_rdoc_generator_pot_po_entry.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/rdoc/test_rdoc_generator_ri.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rdoc/test_rdoc_i18n_locale.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rdoc/test_rdoc_i18n_text.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rdoc/test_rdoc_include.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rdoc/test_rdoc_markdown.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rdoc/test_rdoc_markdown.rb</a></td><td class='right'>1020</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/test/rdoc/test_rdoc_markdown_test.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 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/test/rdoc/test_rdoc_markup.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rdoc/test_rdoc_markup_attribute_manager.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rdoc/test_rdoc_markup_attribute_manager.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/test/rdoc/test_rdoc_markup_attributes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rdoc/test_rdoc_markup_document.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/rdoc/test_rdoc_markup_formatter.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/rdoc/test_rdoc_markup_hard_break.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rdoc/test_rdoc_markup_heading.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rdoc/test_rdoc_markup_include.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rdoc/test_rdoc_markup_indented_paragraph.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rdoc/test_rdoc_markup_paragraph.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rdoc/test_rdoc_markup_parser.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rdoc/test_rdoc_markup_parser.rb</a></td><td class='right'>1684</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/test/rdoc/test_rdoc_markup_pre_process.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/rdoc/test_rdoc_markup_raw.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rdoc/test_rdoc_markup_to_ansi.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/rdoc/test_rdoc_markup_to_bs.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/rdoc/test_rdoc_markup_to_html.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/test/rdoc/test_rdoc_markup_to_html_crossref.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rdoc/test_rdoc_markup_to_html_crossref.rb</a></td><td class='right'>263</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/rdoc/test_rdoc_markup_to_html_snippet.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/test/rdoc/test_rdoc_markup_to_joined_paragraph.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rdoc/test_rdoc_markup_to_label.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rdoc/test_rdoc_markup_to_markdown.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/rdoc/test_rdoc_markup_to_rdoc.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/rdoc/test_rdoc_markup_to_table_of_contents.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rdoc/test_rdoc_markup_to_tt_only.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/rdoc/test_rdoc_markup_verbatim.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rdoc/test_rdoc_method_attr.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/rdoc/test_rdoc_normal_class.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rdoc/test_rdoc_normal_module.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rdoc/test_rdoc_options.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rdoc/test_rdoc_options.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/test/rdoc/test_rdoc_parser.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/rdoc/test_rdoc_parser_c.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rdoc/test_rdoc_parser_c.rb</a></td><td class='right'>1945</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 2.1%;'/><td class='rem' style='width: 0.0%;'/><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/test/rdoc/test_rdoc_parser_changelog.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rdoc/test_rdoc_parser_changelog.rb</a></td><td class='right'>318</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/rdoc/test_rdoc_parser_markdown.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rdoc/test_rdoc_parser_rd.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rdoc/test_rdoc_parser_ruby.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rdoc/test_rdoc_parser_ruby.rb</a></td><td class='right'>4300</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 4.6%;'/><td class='rem' style='width: 0.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/test/rdoc/test_rdoc_parser_simple.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rdoc/test_rdoc_rd.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rdoc/test_rdoc_rd_block_parser.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/rdoc/test_rdoc_rd_inline.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rdoc/test_rdoc_rd_inline_parser.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/rdoc/test_rdoc_rdoc.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rdoc/test_rdoc_rdoc.rb</a></td><td class='right'>572</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/rdoc/test_rdoc_require.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rdoc/test_rdoc_ri_driver.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rdoc/test_rdoc_ri_driver.rb</a></td><td class='right'>1556</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/test/rdoc/test_rdoc_ri_paths.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rdoc/test_rdoc_ri_paths.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/test/rdoc/test_rdoc_rubygems_hook.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rdoc/test_rdoc_rubygems_hook.rb</a></td><td class='right'>256</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/rdoc/test_rdoc_servlet.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rdoc/test_rdoc_servlet.rb</a></td><td class='right'>551</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/rdoc/test_rdoc_single_class.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rdoc/test_rdoc_stats.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/test/rdoc/test_rdoc_store.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rdoc/test_rdoc_store.rb</a></td><td class='right'>1011</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/test/rdoc/test_rdoc_task.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/rdoc/test_rdoc_text.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rdoc/test_rdoc_text.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='add'><a href='/ruby.git/diff/test/rdoc/test_rdoc_token_stream.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rdoc/test_rdoc_tom_doc.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/rdoc/test_rdoc_top_level.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/rdoc/xref_data.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rdoc/xref_test_case.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rdoc/xref_test_case.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/readline/helper.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/readline/helper.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/test/readline/test_readline.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/readline/test_readline.rb</a></td><td class='right'>816</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/test/readline/test_readline_history.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/readline/test_readline_history.rb</a></td><td class='right'>287</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/reline/helper.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/reline/helper.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/reline/test_config.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/reline/test_config.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/test/reline/test_history.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/reline/test_history.rb</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/test/reline/test_key_actor_emacs.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/reline/test_key_actor_emacs.rb</a></td><td class='right'>2260</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/test/reline/test_key_actor_vi.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/reline/test_key_actor_vi.rb</a></td><td class='right'>1437</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/reline/test_key_stroke.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/reline/test_key_stroke.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/reline/test_kill_ring.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/reline/test_kill_ring.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/test/reline/test_macro.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/reline/test_macro.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/reline/test_reline.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/reline/test_reline.rb</a></td><td class='right'>315</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/reline/test_string_processing.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/reline/test_string_processing.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/reline/test_unicode.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/reline/test_unicode.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/reline/test_within_pipe.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/reline/test_within_pipe.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/test/reline/yamatanooroti/test_rendering.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/reline/yamatanooroti/test_rendering.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/test/resolv/test_addr.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/resolv/test_addr.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/test/resolv/test_dns.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/resolv/test_dns.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/test/resolv/test_mdns.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/resolv/test_resource.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rinda/test_rinda.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rinda/test_rinda.rb</a></td><td class='right'>894</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/rinda/test_tuplebag.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/ripper/assert_parse_files.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ripper/assert_parse_files.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/ripper/dummyparser.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ripper/dummyparser.rb</a></td><td class='right'>288</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/ripper/test_files_ext.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ripper/test_files_ext.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/test/ripper/test_files_lib.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ripper/test_files_lib.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/ripper/test_files_sample.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ripper/test_files_sample.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/test/ripper/test_files_test.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ripper/test_files_test.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/test/ripper/test_files_test_1.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ripper/test_files_test_1.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/test/ripper/test_files_test_2.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ripper/test_files_test_2.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/test/ripper/test_filter.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/ripper/test_lexer.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ripper/test_lexer.rb</a></td><td class='right'>208</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/ripper/test_parser_events.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ripper/test_parser_events.rb</a></td><td class='right'>1636</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/test/ripper/test_ripper.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ripper/test_ripper.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/test/ripper/test_scanner_events.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ripper/test_scanner_events.rb</a></td><td class='right'>991</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/test/ripper/test_sexp.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ripper/test_sexp.rb</a></td><td class='right'>515</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/ruby/allpairs.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/ruby/beginmainend.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/beginmainend.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/ruby/bug-11928.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/ruby/bug-13526.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/ruby/enc/test_big5.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/ruby/enc/test_case_comprehensive.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/ruby/enc/test_case_mapping.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/enc/test_case_mapping.rb</a></td><td class='right'>231</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/ruby/enc/test_case_options.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/ruby/enc/test_cesu8.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/enc/test_cesu8.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/ruby/enc/test_cp949.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/ruby/enc/test_emoji.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/ruby/enc/test_emoji_breaks.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/enc/test_emoji_breaks.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/ruby/enc/test_euc_jp.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/ruby/enc/test_euc_kr.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/ruby/enc/test_euc_tw.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/ruby/enc/test_gb18030.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/ruby/enc/test_gbk.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/ruby/enc/test_grapheme_breaks.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/enc/test_grapheme_breaks.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/test/ruby/enc/test_iso_8859.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/ruby/enc/test_koi8.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/ruby/enc/test_regex_casefold.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/ruby/enc/test_shift_jis.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/ruby/enc/test_utf16.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/ruby/enc/test_utf32.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/ruby/enc/test_windows_1251.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/ruby/enc/test_windows_1252.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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/lbtest.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/ruby/marshaltestlib.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/marshaltestlib.rb</a></td><td class='right'>439</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/ruby/sentence.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/test/ruby/test_alias.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_alias.rb</a></td><td class='right'>256</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/ruby/test_argf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_argf.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/test/ruby/test_arithmetic_sequence.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_arithmetic_sequence.rb</a></td><td class='right'>491</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/ruby/test_arity.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/ruby/test_array.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_array.rb</a></td><td class='right'>3322</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 3.6%;'/><td class='rem' style='width: 0.0%;'/><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/test/ruby/test_assignment.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_assignment.rb</a></td><td class='right'>788</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/test/ruby/test_ast.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_ast.rb</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='add'><a href='/ruby.git/diff/test/ruby/test_autoload.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_autoload.rb</a></td><td class='right'>469</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/ruby/test_backtrace.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_backtrace.rb</a></td><td class='right'>346</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/ruby/test_basicinstructions.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_basicinstructions.rb</a></td><td class='right'>725</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/test/ruby/test_beginendblock.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_beginendblock.rb</a></td><td class='right'>179</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/ruby/test_bignum.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_bignum.rb</a></td><td class='right'>816</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/test/ruby/test_call.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_call.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/ruby/test_case.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_case.rb</a></td><td class='right'>146</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/ruby/test_class.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_class.rb</a></td><td class='right'>733</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/test/ruby/test_clone.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_clone.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/test/ruby/test_comparable.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_comparable.rb</a></td><td class='right'>145</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/ruby/test_complex.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_complex.rb</a></td><td class='right'>1150</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/test/ruby/test_complex2.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/test/ruby/test_complexrational.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/ruby/test_condition.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_condition.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/ruby/test_const.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_const.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/ruby/test_continuation.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/ruby/test_default_gems.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_default_gems.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/ruby/test_defined.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_defined.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/test/ruby/test_dir.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_dir.rb</a></td><td class='right'>588</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/ruby/test_dir_m17n.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_dir_m17n.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/test/ruby/test_econv.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_econv.rb</a></td><td class='right'>943</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/ruby/test_encoding.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_encoding.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/test/ruby/test_enum.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_enum.rb</a></td><td class='right'>1256</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/test/ruby/test_enumerator.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_enumerator.rb</a></td><td class='right'>882</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/ruby/test_env.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_env.rb</a></td><td class='right'>591</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/ruby/test_eval.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_eval.rb</a></td><td class='right'>536</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/ruby/test_exception.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_exception.rb</a></td><td class='right'>1302</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/test/ruby/test_fiber.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_fiber.rb</a></td><td class='right'>492</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/ruby/test_file.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_file.rb</a></td><td class='right'>515</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/ruby/test_file_exhaustive.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_file_exhaustive.rb</a></td><td class='right'>1726</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/test/ruby/test_fixnum.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_fixnum.rb</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='add'><a href='/ruby.git/diff/test/ruby/test_flip.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_flip.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/test/ruby/test_float.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_float.rb</a></td><td class='right'>980</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/test/ruby/test_fnmatch.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_fnmatch.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/test/ruby/test_frozen_error.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_frozen_error.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/ruby/test_gc.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_gc.rb</a></td><td class='right'>483</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/ruby/test_gc_compact.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_gc_compact.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/test/ruby/test_hash.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_hash.rb</a></td><td class='right'>1868</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/test/ruby/test_ifunless.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_ifunless.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/test/ruby/test_inlinecache.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_inlinecache.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/test/ruby/test_integer.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_integer.rb</a></td><td class='right'>663</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/test/ruby/test_integer_comb.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/test/ruby/test_io.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_io.rb</a></td><td class='right'>3969</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 4.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 95.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/ruby/test_io_m17n.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_io_m17n.rb</a></td><td class='right'>2747</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/test/ruby/test_iseq.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_iseq.rb</a></td><td class='right'>615</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/test/ruby/test_iterator.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_iterator.rb</a></td><td class='right'>506</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/ruby/test_jit.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_jit.rb</a></td><td class='right'>1212</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/test/ruby/test_jit_debug.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_jit_debug.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/ruby/test_key_error.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/ruby/test_keyword.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_keyword.rb</a></td><td class='right'>4302</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 4.6%;'/><td class='rem' style='width: 0.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/test/ruby/test_lambda.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_lambda.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/test/ruby/test_lazy_enumerator.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_lazy_enumerator.rb</a></td><td class='right'>685</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/test/ruby/test_literal.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_literal.rb</a></td><td class='right'>603</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/ruby/test_m17n.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_m17n.rb</a></td><td class='right'>1719</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/test/ruby/test_m17n_comb.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_m17n_comb.rb</a></td><td class='right'>1659</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/test/ruby/test_marshal.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_marshal.rb</a></td><td class='right'>822</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/test/ruby/test_math.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/ruby/test_memory_view.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_memory_view.rb</a></td><td class='right'>341</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/ruby/test_metaclass.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/ruby/test_method.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_method.rb</a></td><td class='right'>1403</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/ruby/test_method_cache.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_method_cache.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/test/ruby/test_mixed_unicode_escapes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/ruby/test_module.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_module.rb</a></td><td class='right'>2866</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 3.1%;'/><td class='rem' style='width: 0.0%;'/><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/test/ruby/test_name_error.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_name_error.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/test/ruby/test_nomethod_error.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_nomethod_error.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/ruby/test_not.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/ruby/test_numeric.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_numeric.rb</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/test/ruby/test_object.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_object.rb</a></td><td class='right'>996</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/test/ruby/test_objectspace.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_objectspace.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/test/ruby/test_optimization.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_optimization.rb</a></td><td class='right'>848</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/test/ruby/test_pack.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_pack.rb</a></td><td class='right'>872</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/test/ruby/test_parse.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_parse.rb</a></td><td class='right'>1298</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/test/ruby/test_path.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_path.rb</a></td><td class='right'>267</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/ruby/test_pattern_matching.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_pattern_matching.rb</a></td><td class='right'>1495</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/ruby/test_pipe.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_pipe.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/ruby/test_primitive.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_primitive.rb</a></td><td class='right'>452</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/ruby/test_proc.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_proc.rb</a></td><td class='right'>1712</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/test/ruby/test_process.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_process.rb</a></td><td class='right'>2532</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 2.7%;'/><td class='rem' style='width: 0.0%;'/><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/test/ruby/test_rand.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_rand.rb</a></td><td class='right'>429</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/ruby/test_range.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_range.rb</a></td><td class='right'>979</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/test/ruby/test_rational.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_rational.rb</a></td><td class='right'>1089</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/test/ruby/test_rational2.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 1.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/ruby/test_readpartial.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_readpartial.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/ruby/test_refinement.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_refinement.rb</a></td><td class='right'>2496</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 2.7%;'/><td class='rem' style='width: 0.0%;'/><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/test/ruby/test_regexp.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_regexp.rb</a></td><td class='right'>1333</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/test/ruby/test_require.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_require.rb</a></td><td class='right'>861</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/test/ruby/test_require_lib.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_require_lib.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/test/ruby/test_rubyoptions.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_rubyoptions.rb</a></td><td class='right'>1087</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/test/ruby/test_rubyvm.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/ruby/test_rubyvm_mjit.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_rubyvm_mjit.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/ruby/test_settracefunc.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_settracefunc.rb</a></td><td class='right'>2327</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/test/ruby/test_signal.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_signal.rb</a></td><td class='right'>387</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/ruby/test_sleep.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/ruby/test_sprintf.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/ruby/test_sprintf_comb.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/ruby/test_stack.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_stack.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/ruby/test_string.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_string.rb</a></td><td class='right'>3213</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/test/ruby/test_stringchar.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_stringchar.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/test/ruby/test_struct.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_struct.rb</a></td><td class='right'>487</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/ruby/test_super.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_super.rb</a></td><td class='right'>663</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/test/ruby/test_symbol.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_symbol.rb</a></td><td class='right'>608</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/test/ruby/test_syntax.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_syntax.rb</a></td><td class='right'>1770</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/test/ruby/test_system.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_system.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/ruby/test_thread.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_thread.rb</a></td><td class='right'>1405</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/ruby/test_thread_cv.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/ruby/test_thread_queue.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_thread_queue.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='add'><a href='/ruby.git/diff/test/ruby/test_threadgroup.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/ruby/test_time.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_time.rb</a></td><td class='right'>1289</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/test/ruby/test_time_tz.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_time_tz.rb</a></td><td class='right'>803</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/test/ruby/test_trace.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_trace.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/ruby/test_transcode.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_transcode.rb</a></td><td class='right'>2287</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/test/ruby/test_undef.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/ruby/test_unicode_escape.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/ruby/test_variable.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_variable.rb</a></td><td class='right'>241</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/ruby/test_vm_dump.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/ruby/test_weakmap.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_weakmap.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/test/ruby/test_whileuntil.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/test_whileuntil.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/test/ruby/test_yield.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/ruby/ut_eof.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/ruby/ut_eof.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/test/rubygems/alternate_cert.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rubygems/alternate_cert_32.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rubygems/alternate_key.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rubygems/bad_rake.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rubygems/bogussources.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rubygems/ca_cert.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/ca_cert.pem</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/rubygems/child_cert.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rubygems/child_cert_32.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rubygems/child_key.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rubygems/client.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/client.pem</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/test/rubygems/data/gem-private_key.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rubygems/data/gem-public_cert.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rubygems/data/null-type.gemspec.rz?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/data/null-type.gemspec.rz</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/test/rubygems/encrypted_private_key.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rubygems/expired_cert.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rubygems/fake_certlib/openssl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rubygems/foo/discover.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rubygems/future_cert.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rubygems/future_cert_32.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rubygems/good_rake.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rubygems/grandchild_cert.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rubygems/grandchild_cert_32.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rubygems/grandchild_key.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rubygems/invalid_client.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rubygems/invalid_issuer_cert.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rubygems/invalid_issuer_cert_32.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rubygems/invalid_key.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rubygems/invalid_signer_cert.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rubygems/invalid_signer_cert_32.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rubygems/invalidchild_cert.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rubygems/invalidchild_cert_32.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rubygems/invalidchild_key.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rubygems/plugin/exception/rubygems_plugin.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rubygems/plugin/load/rubygems_plugin.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rubygems/plugin/standarderror/rubygems_plugin.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rubygems/private3072_key.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rubygems/private_key.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rubygems/public3072_cert.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rubygems/public_cert.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rubygems/public_cert_32.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rubygems/public_key.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rubygems/rubygems/commands/crash_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/rubygems/commands/crash_command.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/test/rubygems/rubygems_plugin.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/rubygems_plugin.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/rubygems/sff/discover.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rubygems/simple_gem.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rubygems/specifications/bar-0.0.2.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/specifications/bar-0.0.2.gemspec</a></td><td class='right'>7</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rubygems/specifications/foo-0.0.1-x86-mswin32.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/specifications/foo-0.0.1-x86-mswin32.gemspec</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/test/rubygems/specifications/rubyforge-0.0.1.gemspec?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/specifications/rubyforge-0.0.1.gemspec</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/rubygems/ssl_cert.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/ssl_cert.pem</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/rubygems/ssl_key.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/ssl_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='add'><a href='/ruby.git/diff/test/rubygems/test_bundled_ca.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_bundled_ca.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/rubygems/test_config.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_config.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/rubygems/test_deprecate.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_deprecate.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/test/rubygems/test_gem.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem.rb</a></td><td class='right'>2035</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/test/rubygems/test_gem_available_set.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_available_set.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/test/rubygems/test_gem_bundler_version_finder.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_bundler_version_finder.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/test/rubygems/test_gem_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_command.rb</a></td><td class='right'>388</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/rubygems/test_gem_command_manager.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_command_manager.rb</a></td><td class='right'>302</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/rubygems/test_gem_commands_build_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_commands_build_command.rb</a></td><td class='right'>727</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/test/rubygems/test_gem_commands_cert_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_commands_cert_command.rb</a></td><td class='right'>808</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/test/rubygems/test_gem_commands_check_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_commands_check_command.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/test/rubygems/test_gem_commands_cleanup_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_commands_cleanup_command.rb</a></td><td class='right'>291</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/rubygems/test_gem_commands_contents_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_commands_contents_command.rb</a></td><td class='right'>270</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/rubygems/test_gem_commands_dependency_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_commands_dependency_command.rb</a></td><td class='right'>227</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/rubygems/test_gem_commands_environment_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_commands_environment_command.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/rubygems/test_gem_commands_fetch_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_commands_fetch_command.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/test/rubygems/test_gem_commands_generate_index_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_commands_generate_index_command.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/rubygems/test_gem_commands_help_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_commands_help_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rubygems/test_gem_commands_info_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_commands_info_command.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/test/rubygems/test_gem_commands_install_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_commands_install_command.rb</a></td><td class='right'>1479</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/rubygems/test_gem_commands_list_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_commands_list_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='add'><a href='/ruby.git/diff/test/rubygems/test_gem_commands_lock_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_commands_lock_command.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/test/rubygems/test_gem_commands_mirror.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_commands_mirror.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/test/rubygems/test_gem_commands_open_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_commands_open_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rubygems/test_gem_commands_outdated_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_commands_outdated_command.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/test/rubygems/test_gem_commands_owner_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_commands_owner_command.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/test/rubygems/test_gem_commands_pristine_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_commands_pristine_command.rb</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/test/rubygems/test_gem_commands_push_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_commands_push_command.rb</a></td><td class='right'>477</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/rubygems/test_gem_commands_query_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_commands_query_command.rb</a></td><td class='right'>857</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/test/rubygems/test_gem_commands_search_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_commands_search_command.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/test/rubygems/test_gem_commands_server_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_commands_server_command.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/test/rubygems/test_gem_commands_setup_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_commands_setup_command.rb</a></td><td class='right'>413</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/rubygems/test_gem_commands_signin_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_commands_signin_command.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/test/rubygems/test_gem_commands_signout_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_commands_signout_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='add'><a href='/ruby.git/diff/test/rubygems/test_gem_commands_sources_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_commands_sources_command.rb</a></td><td class='right'>484</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/rubygems/test_gem_commands_specification_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_commands_specification_command.rb</a></td><td class='right'>276</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/rubygems/test_gem_commands_stale_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_commands_stale_command.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/test/rubygems/test_gem_commands_uninstall_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_commands_uninstall_command.rb</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/test/rubygems/test_gem_commands_unpack_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_commands_unpack_command.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/test/rubygems/test_gem_commands_update_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_commands_update_command.rb</a></td><td class='right'>697</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/test/rubygems/test_gem_commands_which_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_commands_which_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rubygems/test_gem_commands_yank_command.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_commands_yank_command.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/test/rubygems/test_gem_config_file.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_config_file.rb</a></td><td class='right'>494</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/rubygems/test_gem_dependency.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_dependency.rb</a></td><td class='right'>393</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/rubygems/test_gem_dependency_installer.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_dependency_installer.rb</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/test/rubygems/test_gem_dependency_list.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_dependency_list.rb</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/rubygems/test_gem_dependency_resolution_error.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_dependency_resolution_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/rubygems/test_gem_doctor.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_doctor.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/test/rubygems/test_gem_ext_builder.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_ext_builder.rb</a></td><td class='right'>311</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/rubygems/test_gem_ext_cmake_builder.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_ext_cmake_builder.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/test/rubygems/test_gem_ext_configure_builder.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_ext_configure_builder.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/rubygems/test_gem_ext_ext_conf_builder.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_ext_ext_conf_builder.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/test/rubygems/test_gem_ext_rake_builder.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_ext_rake_builder.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/test/rubygems/test_gem_gem_runner.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_gem_runner.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/test/rubygems/test_gem_gemcutter_utilities.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_gemcutter_utilities.rb</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/rubygems/test_gem_impossible_dependencies_error.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_impossible_dependencies_error.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/rubygems/test_gem_indexer.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_indexer.rb</a></td><td class='right'>357</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/rubygems/test_gem_install_update_options.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_install_update_options.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/test/rubygems/test_gem_installer.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_installer.rb</a></td><td class='right'>2233</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/test/rubygems/test_gem_local_remote_options.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_local_remote_options.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/test/rubygems/test_gem_name_tuple.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_name_tuple.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/test/rubygems/test_gem_package.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_package.rb</a></td><td class='right'>1172</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/test/rubygems/test_gem_package_old.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_package_old.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/rubygems/test_gem_package_tar_header.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_package_tar_header.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/test/rubygems/test_gem_package_tar_reader.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_package_tar_reader.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/test/rubygems/test_gem_package_tar_reader_entry.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_package_tar_reader_entry.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/test/rubygems/test_gem_package_tar_writer.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_package_tar_writer.rb</a></td><td class='right'>332</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/rubygems/test_gem_package_task.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_package_task.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/test/rubygems/test_gem_path_support.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_path_support.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/test/rubygems/test_gem_platform.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_platform.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/test/rubygems/test_gem_rdoc.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_rdoc.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.0%;'/><td class='none' 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/rubygems/test_gem_remote_fetcher.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_remote_fetcher.rb</a></td><td class='right'>1144</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/test/rubygems/test_gem_request.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_request.rb</a></td><td class='right'>509</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/rubygems/test_gem_request_connection_pools.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/rubygems/test_gem_request_set.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_request_set.rb</a></td><td class='right'>670</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/test/rubygems/test_gem_request_set_gem_dependency_api.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_request_set_gem_dependency_api.rb</a></td><td class='right'>847</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/test/rubygems/test_gem_request_set_lockfile.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_request_set_lockfile.rb</a></td><td class='right'>468</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/rubygems/test_gem_request_set_lockfile_parser.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_request_set_lockfile_parser.rb</a></td><td class='right'>543</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/rubygems/test_gem_request_set_lockfile_tokenizer.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/rubygems/test_gem_requirement.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_requirement.rb</a></td><td class='right'>431</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/rubygems/test_gem_resolver.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_resolver.rb</a></td><td class='right'>791</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/test/rubygems/test_gem_resolver_activation_request.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_resolver_activation_request.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/test/rubygems/test_gem_resolver_api_set.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_resolver_api_set.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/rubygems/test_gem_resolver_api_specification.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_resolver_api_specification.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/test/rubygems/test_gem_resolver_best_set.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_resolver_best_set.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/test/rubygems/test_gem_resolver_composed_set.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_resolver_composed_set.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/test/rubygems/test_gem_resolver_conflict.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_resolver_conflict.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/test/rubygems/test_gem_resolver_dependency_request.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_resolver_dependency_request.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/rubygems/test_gem_resolver_git_set.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_resolver_git_set.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/test/rubygems/test_gem_resolver_git_specification.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_resolver_git_specification.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/test/rubygems/test_gem_resolver_index_set.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_resolver_index_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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rubygems/test_gem_resolver_index_specification.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_resolver_index_specification.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/rubygems/test_gem_resolver_installed_specification.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_resolver_installed_specification.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/test/rubygems/test_gem_resolver_installer_set.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/rubygems/test_gem_resolver_local_specification.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_resolver_local_specification.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/test/rubygems/test_gem_resolver_lock_set.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_resolver_lock_set.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/test/rubygems/test_gem_resolver_lock_specification.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_resolver_lock_specification.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/test/rubygems/test_gem_resolver_requirement_list.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_resolver_requirement_list.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/rubygems/test_gem_resolver_specification.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_resolver_specification.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/rubygems/test_gem_resolver_vendor_set.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_resolver_vendor_set.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/test/rubygems/test_gem_resolver_vendor_specification.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_resolver_vendor_specification.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/test/rubygems/test_gem_security.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_security.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/test/rubygems/test_gem_security_policy.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_security_policy.rb</a></td><td class='right'>535</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/rubygems/test_gem_security_signer.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_security_signer.rb</a></td><td class='right'>217</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/rubygems/test_gem_security_trust_dir.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_security_trust_dir.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/rubygems/test_gem_server.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_server.rb</a></td><td class='right'>608</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/test/rubygems/test_gem_silent_ui.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_silent_ui.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/rubygems/test_gem_source.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_source.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/test/rubygems/test_gem_source_fetch_problem.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_source_fetch_problem.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/rubygems/test_gem_source_git.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_source_git.rb</a></td><td class='right'>302</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/rubygems/test_gem_source_installed.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_source_installed.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/rubygems/test_gem_source_list.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/rubygems/test_gem_source_local.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_source_local.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/test/rubygems/test_gem_source_lock.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_source_lock.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/test/rubygems/test_gem_source_specific_file.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_source_specific_file.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/test/rubygems/test_gem_source_subpath_problem.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_source_subpath_problem.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/rubygems/test_gem_source_vendor.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_source_vendor.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/rubygems/test_gem_spec_fetcher.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_spec_fetcher.rb</a></td><td class='right'>337</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/rubygems/test_gem_specification.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_specification.rb</a></td><td class='right'>3931</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 4.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 95.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/test/rubygems/test_gem_stream_ui.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_stream_ui.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/test/rubygems/test_gem_stub_specification.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_stub_specification.rb</a></td><td class='right'>293</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/rubygems/test_gem_text.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_text.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/test/rubygems/test_gem_uninstaller.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_uninstaller.rb</a></td><td class='right'>667</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/test/rubygems/test_gem_unsatisfiable_dependency_error.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_unsatisfiable_dependency_error.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/test/rubygems/test_gem_uri_formatter.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_uri_formatter.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/rubygems/test_gem_util.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_util.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/test/rubygems/test_gem_validator.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_validator.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/test/rubygems/test_gem_version.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_version.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/test/rubygems/test_gem_version_option.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_gem_version_option.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/test/rubygems/test_kernel.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_kernel.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/test/rubygems/test_project_sanity.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_project_sanity.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/rubygems/test_remote_fetch_error.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_remote_fetch_error.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/test/rubygems/test_require.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/rubygems/test_require.rb</a></td><td class='right'>777</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/test/rubygems/wrong_key_cert.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/rubygems/wrong_key_cert_32.pem?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/runner.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/runner.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/test/socket/test_addrinfo.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/socket/test_addrinfo.rb</a></td><td class='right'>699</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/test/socket/test_ancdata.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/socket/test_basicsocket.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/socket/test_basicsocket.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/test/socket/test_nonblock.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/socket/test_nonblock.rb</a></td><td class='right'>397</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/socket/test_socket.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/socket/test_socket.rb</a></td><td class='right'>754</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/test/socket/test_sockopt.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/socket/test_tcp.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/socket/test_tcp.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/socket/test_udp.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/socket/test_unix.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/socket/test_unix.rb</a></td><td class='right'>721</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/test/stringio/test_ractor.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/stringio/test_ractor.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/stringio/test_stringio.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/stringio/test_stringio.rb</a></td><td class='right'>859</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/test/strscan/test_ractor.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/strscan/test_ractor.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/test/strscan/test_stringscanner.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/strscan/test_stringscanner.rb</a></td><td class='right'>772</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/test/syslog/test_syslog_logger.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/syslog/test_syslog_logger.rb</a></td><td class='right'>588</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/test_abbrev.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/test_delegate.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/test_delegate.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/test_extlibs.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/test_extlibs.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/test/test_find.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/test_forwardable.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/test_forwardable.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/test_ipaddr.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/test_ipaddr.rb</a></td><td class='right'>391</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/test_mutex_m.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/test_mutex_m.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/test_observer.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/test_open3.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/test_open3.rb</a></td><td class='right'>336</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/test_pp.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/test_pp.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/test/test_prettyprint.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/test_prime.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/test_prime.rb</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/test/test_pstore.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/test_pty.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/test_rbconfig.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/test_rbconfig.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/test/test_securerandom.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/test_securerandom.rb</a></td><td class='right'>199</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/test_set.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/test_set.rb</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='add'><a href='/ruby.git/diff/test/test_shellwords.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/test_shellwords.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/test/test_singleton.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/test_sorted_set.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/test_sorted_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='add'><a href='/ruby.git/diff/test/test_syslog.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/test_syslog.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/test/test_tempfile.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/test_tempfile.rb</a></td><td class='right'>405</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/test_time.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/test_time.rb</a></td><td class='right'>579</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/test_timeout.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/test_tmpdir.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/test_tmpdir.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/test_tracer.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/test_tracer.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='add'><a href='/ruby.git/diff/test/test_tsort.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/test_unicode_normalize.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/test_unicode_normalize.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/test/test_weakref.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/uri/test_common.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/uri/test_common.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/test/uri/test_file.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/uri/test_ftp.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/uri/test_ftp.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/test/uri/test_generic.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/uri/test_generic.rb</a></td><td class='right'>1048</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/test/uri/test_http.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/uri/test_http.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/test/uri/test_ldap.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/uri/test_ldap.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/test/uri/test_mailto.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/uri/test_mailto.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/test/uri/test_parser.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/uri/test_parser.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/test/uri/test_ws.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/uri/test_ws.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/win32ole/available_ole.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/win32ole/err_in_callback.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/win32ole/orig_data.csv?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/win32ole/test_err_in_callback.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/win32ole/test_folderitem2_invokeverb.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/win32ole/test_nil2vtempty.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/win32ole/test_ole_methods.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/win32ole/test_propertyputref.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/win32ole/test_thread.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/win32ole/test_win32ole.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/win32ole/test_win32ole.rb</a></td><td class='right'>534</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/win32ole/test_win32ole_event.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/win32ole/test_win32ole_event.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/win32ole/test_win32ole_method.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/win32ole/test_win32ole_method_event.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/win32ole/test_win32ole_param.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/win32ole/test_win32ole_param_event.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/win32ole/test_win32ole_record.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/win32ole/test_win32ole_type.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/win32ole/test_win32ole_type_event.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/win32ole/test_win32ole_typelib.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/win32ole/test_win32ole_variable.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/win32ole/test_win32ole_variant.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/test/win32ole/test_win32ole_variant_m.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/test/win32ole/test_win32ole_variant_outarg.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/win32ole/test_word.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' 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/yaml/test_store.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/zlib/test_zlib.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>test/zlib/test_zlib.rb</a></td><td class='right'>1352</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/thread.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>thread.c</a></td><td class='right'>5861</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 6.3%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 93.7%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/thread_pthread.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>thread_pthread.c</a></td><td class='right'>2234</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/thread_pthread.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>thread_pthread.h</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/thread_sync.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>thread_sync.c</a></td><td class='right'>1625</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/thread_win32.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>thread_win32.c</a></td><td class='right'>852</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/thread_win32.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>thread_win32.h</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='upd'><a href='/ruby.git/diff/time.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>time.c</a></td><td class='right'>6093</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 5.9%;'/><td class='rem' style='width: 0.6%;'/><td class='none' style='width: 93.4%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/timev.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>timev.h</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/tool/asm_parse.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/tool/bisect.sh?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/tool/build-transcode?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/tool/bundler/test_gems.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/bundler/test_gems.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/tool/bundler/test_gems.rb.lock?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/bundler/test_gems.rb.lock</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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/tool/checksum.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/tool/colors?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/tool/darwin-cc?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/downloader.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/downloader.rb</a></td><td class='right'>397</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/tool/enc-emoji-citrus-gen.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/tool/enc-emoji4unicode.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/tool/enc-unicode.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/tool/eval.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/tool/expand-config.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/extlibs.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/extlibs.rb</a></td><td class='right'>263</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/tool/fake.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/tool/fetch-bundled_gems.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/file2lastrev.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/file2lastrev.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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/tool/format-release?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/format-release</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/tool/gem-unpack.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/gem-unpack.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='add'><a href='/ruby.git/diff/tool/gen-mailmap.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/gen-mailmap.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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/tool/gen_dummy_probes.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/gen_ruby_tapset.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/tool/generic_erb.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/generic_erb.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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/tool/git-refresh?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/gperf.sed?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/id2token.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/id2token.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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/tool/ifchange?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/tool/insns2vm.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/install-sh?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/tool/leaked-globals?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/leaked-globals</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/tool/lib/-test-/integer.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/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='add'><a href='/ruby.git/diff/tool/lib/colorize.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/colorize.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/tool/lib/envutil.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/envutil.rb</a></td><td class='right'>365</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/tool/lib/find_executable.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/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='add'><a href='/ruby.git/diff/tool/lib/gc_compact_checker.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/gc_compact_checker.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/tool/lib/iseq_loader_checker.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/iseq_loader_checker.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/tool/lib/jisx0208.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/tool/lib/leakchecker.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/leakchecker.rb</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/tool/lib/memory_status.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/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.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/tool/lib/minitest/README.txt?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/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.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/tool/lib/minitest/autorun.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/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='add'><a href='/ruby.git/diff/tool/lib/minitest/benchmark.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/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.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/tool/lib/minitest/mock.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/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.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/tool/lib/minitest/unit.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/minitest/unit.rb</a></td><td class='right'>1475</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/tool/lib/profile_test_all.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/tool/lib/test/unit.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/test/unit.rb</a></td><td class='right'>1290</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/tool/lib/test/unit/assertions.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/test/unit/assertions.rb</a></td><td class='right'>317</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/tool/lib/test/unit/core_assertions.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/test/unit/core_assertions.rb</a></td><td class='right'>763</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/tool/lib/test/unit/parallel.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/test/unit/parallel.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/tool/lib/test/unit/testcase.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/test/unit/testcase.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/tool/lib/tracepointchecker.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/tool/lib/vcs.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/vcs.rb</a></td><td class='right'>699</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/tool/lib/vpath.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/tool/lib/webrick.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/webrick.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/tool/lib/webrick/.document?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/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='add'><a href='/ruby.git/diff/tool/lib/webrick/accesslog.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/webrick/accesslog.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/tool/lib/webrick/cgi.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/webrick/cgi.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/tool/lib/webrick/compat.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/webrick/compat.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/tool/lib/webrick/config.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/webrick/config.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/tool/lib/webrick/cookie.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/webrick/cookie.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/tool/lib/webrick/htmlutils.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/webrick/htmlutils.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/tool/lib/webrick/httpauth.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/webrick/httpauth.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/tool/lib/webrick/httpauth/authenticator.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/webrick/httpauth/authenticator.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/tool/lib/webrick/httpauth/basicauth.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/webrick/httpauth/basicauth.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/tool/lib/webrick/httpauth/digestauth.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/webrick/httpauth/digestauth.rb</a></td><td class='right'>395</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/tool/lib/webrick/httpauth/htdigest.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/webrick/httpauth/htdigest.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/tool/lib/webrick/httpauth/htgroup.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/webrick/httpauth/htgroup.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/tool/lib/webrick/httpauth/htpasswd.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/webrick/httpauth/htpasswd.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/tool/lib/webrick/httpauth/userdb.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/webrick/httpauth/userdb.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/tool/lib/webrick/httpproxy.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/webrick/httpproxy.rb</a></td><td class='right'>354</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/tool/lib/webrick/httprequest.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/webrick/httprequest.rb</a></td><td class='right'>636</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/tool/lib/webrick/httpresponse.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/webrick/httpresponse.rb</a></td><td class='right'>564</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/tool/lib/webrick/https.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/webrick/https.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/tool/lib/webrick/httpserver.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/webrick/httpserver.rb</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='add'><a href='/ruby.git/diff/tool/lib/webrick/httpservlet.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/webrick/httpservlet.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/tool/lib/webrick/httpservlet/abstract.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/webrick/httpservlet/abstract.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/tool/lib/webrick/httpservlet/cgi_runner.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/webrick/httpservlet/cgi_runner.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/tool/lib/webrick/httpservlet/cgihandler.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/webrick/httpservlet/cgihandler.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/tool/lib/webrick/httpservlet/erbhandler.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/webrick/httpservlet/erbhandler.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/tool/lib/webrick/httpservlet/filehandler.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/webrick/httpservlet/filehandler.rb</a></td><td class='right'>552</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/tool/lib/webrick/httpservlet/prochandler.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/webrick/httpservlet/prochandler.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/tool/lib/webrick/httpstatus.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/webrick/httpstatus.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/tool/lib/webrick/httputils.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/webrick/httputils.rb</a></td><td class='right'>512</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/tool/lib/webrick/httpversion.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/webrick/httpversion.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/tool/lib/webrick/log.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/webrick/log.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/tool/lib/webrick/server.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/webrick/server.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/tool/lib/webrick/ssl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/webrick/ssl.rb</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/tool/lib/webrick/utils.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/webrick/utils.rb</a></td><td class='right'>265</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/tool/lib/webrick/version.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/lib/webrick/version.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/tool/lib/zombie_hunter.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/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='add'><a href='/ruby.git/diff/tool/m4/_colorize_result_prepare.m4?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/m4/ac_msg_result.m4?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/m4/colorize_result.m4?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/m4/ruby_append_option.m4?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/m4/ruby_append_options.m4?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/m4/ruby_check_builtin_func.m4?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/m4/ruby_check_builtin_setjmp.m4?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/m4/ruby_check_printf_prefix.m4?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/m4/ruby_check_setjmp.m4?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/m4/ruby_check_signedness.m4?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/m4/ruby_check_sizeof.m4?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/tool/m4/ruby_check_sysconf.m4?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/m4/ruby_cppoutfile.m4?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/m4/ruby_decl_attribute.m4?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/m4/ruby_default_arch.m4?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/m4/ruby_define_if.m4?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/m4/ruby_defint.m4?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/m4/ruby_dtrace_available.m4?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/m4/ruby_dtrace_postprocess.m4?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/m4/ruby_func_attribute.m4?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/m4/ruby_mingw32.m4?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/m4/ruby_prepend_option.m4?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/m4/ruby_prog_gnu_ld.m4?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/m4/ruby_replace_funcs.m4?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/m4/ruby_replace_funcs.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='add'><a href='/ruby.git/diff/tool/m4/ruby_replace_type.m4?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/tool/m4/ruby_rm_recursive.m4?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/m4/ruby_setjmp_type.m4?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/tool/m4/ruby_stack_grow_direction.m4?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/m4/ruby_try_cflags.m4?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/m4/ruby_try_cxxflags.m4?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/m4/ruby_try_cxxflags.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='add'><a href='/ruby.git/diff/tool/m4/ruby_try_ldflags.m4?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/m4/ruby_type_attribute.m4?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/m4/ruby_universal_arch.m4?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/m4/ruby_universal_arch.m4</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/tool/m4/ruby_werror_flag.m4?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/make-snapshot?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/make-snapshot</a></td><td class='right'>656</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/tool/make_hgraph.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/tool/mdoc2man.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/tool/merger.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/merger.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/tool/mjit_archflag.sh?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/mjit_tabs.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/mjit_tabs.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/tool/mk_builtin_loader.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/mk_builtin_loader.rb</a></td><td class='right'>361</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='add'><a href='/ruby.git/diff/tool/mkconfig.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/mkconfig.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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/tool/mkrunnable.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/mkrunnable.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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/tool/node_name.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/parse.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/prereq.status?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/prereq.status</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/tool/probes_to_wiki.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/pure_parser.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/pure_parser.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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/tool/rbinstall.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/rbinstall.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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/tool/rbuninstall.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/rbuninstall.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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/tool/redmine-backporter.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/redmine-backporter.rb</a></td><td class='right'>593</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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/tool/release.sh?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/release.sh</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='add'><a href='/ruby.git/diff/tool/releng/gen-mail.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/releng/gen-mail.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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/tool/releng/gen-release-note.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/releng/gen-release-note.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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/tool/releng/update-www-meta.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/releng/update-www-meta.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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/tool/rmdirs?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/ruby_vm/controllers/application_controller.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/ruby_vm/helpers/c_escape.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/tool/ruby_vm/helpers/dumper.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/ruby_vm/helpers/dumper.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/tool/ruby_vm/helpers/scanner.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/ruby_vm/helpers/scanner.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/tool/ruby_vm/loaders/insns_def.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/ruby_vm/loaders/insns_def.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/tool/ruby_vm/loaders/opt_insn_unif_def.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/ruby_vm/loaders/opt_operand_def.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/tool/ruby_vm/loaders/vm_opts_h.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/ruby_vm/models/attribute.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/ruby_vm/models/attribute.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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/tool/ruby_vm/models/bare_instructions.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/ruby_vm/models/bare_instructions.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/tool/ruby_vm/models/c_expr.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/ruby_vm/models/instructions.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/ruby_vm/models/instructions_unifications.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/ruby_vm/models/operands_unifications.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/ruby_vm/models/operands_unifications.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/tool/ruby_vm/models/trace_instructions.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/tool/ruby_vm/models/typemap.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/tool/ruby_vm/scripts/converter.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/ruby_vm/scripts/insns2vm.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/tool/ruby_vm/tests/.gitkeep?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/ruby_vm/views/_attributes.erb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/ruby_vm/views/_c_expr.erb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/ruby_vm/views/_comptime_insn_stack_increase.erb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/ruby_vm/views/_comptime_insn_stack_increase.erb</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/tool/ruby_vm/views/_copyright.erb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/ruby_vm/views/_insn_entry.erb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/ruby_vm/views/_insn_entry.erb</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/tool/ruby_vm/views/_insn_len_info.erb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/ruby_vm/views/_insn_len_info.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='add'><a href='/ruby.git/diff/tool/ruby_vm/views/_insn_name_info.erb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/ruby_vm/views/_insn_name_info.erb</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/tool/ruby_vm/views/_insn_operand_info.erb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/ruby_vm/views/_insn_operand_info.erb</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/tool/ruby_vm/views/_insn_sp_pc_dependency.erb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/ruby_vm/views/_insn_sp_pc_dependency.erb</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/tool/ruby_vm/views/_insn_type_chars.erb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/ruby_vm/views/_insn_type_chars.erb</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/tool/ruby_vm/views/_leaf_helpers.erb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/ruby_vm/views/_leaf_helpers.erb</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/tool/ruby_vm/views/_mjit_compile_getinlinecache.erb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/ruby_vm/views/_mjit_compile_getinlinecache.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='add'><a href='/ruby.git/diff/tool/ruby_vm/views/_mjit_compile_insn.erb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/ruby_vm/views/_mjit_compile_insn.erb</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/tool/ruby_vm/views/_mjit_compile_insn_body.erb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/ruby_vm/views/_mjit_compile_insn_body.erb</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/tool/ruby_vm/views/_mjit_compile_invokebuiltin.erb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/ruby_vm/views/_mjit_compile_invokebuiltin.erb</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/tool/ruby_vm/views/_mjit_compile_ivar.erb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/ruby_vm/views/_mjit_compile_ivar.erb</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/tool/ruby_vm/views/_mjit_compile_pc_and_sp.erb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/ruby_vm/views/_mjit_compile_pc_and_sp.erb</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/tool/ruby_vm/views/_mjit_compile_send.erb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/ruby_vm/views/_mjit_compile_send.erb</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/tool/ruby_vm/views/_notice.erb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/ruby_vm/views/_sp_inc_helpers.erb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/ruby_vm/views/_sp_inc_helpers.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='add'><a href='/ruby.git/diff/tool/ruby_vm/views/_trace_instruction.erb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/ruby_vm/views/insns.inc.erb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/ruby_vm/views/insns_info.inc.erb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/ruby_vm/views/insns_info.inc.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='add'><a href='/ruby.git/diff/tool/ruby_vm/views/mjit_compile.inc.erb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/ruby_vm/views/mjit_compile.inc.erb</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/tool/ruby_vm/views/opt_sc.inc.erb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/ruby_vm/views/optinsn.inc.erb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/tool/ruby_vm/views/optunifs.inc.erb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/ruby_vm/views/vm.inc.erb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/ruby_vm/views/vmtc.inc.erb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/run-gcov.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/tool/run-lcov.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.2%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
<tr><td class='mode'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/tool/runruby.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/runruby.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/tool/search-cgvars.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/search-cgvars.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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/tool/strip-rdoc.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/sync_default_gems.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/sync_default_gems.rb</a></td><td class='right'>535</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/tool/test-bundled-gems.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/test-bundled-gems.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/tool/test-coverage.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/tool/test/minitest/metametameta.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/tool/test/minitest/test_minitest_benchmark.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/tool/test/minitest/test_minitest_mock.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/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.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/tool/test/minitest/test_minitest_unit.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/test/minitest/test_minitest_unit.rb</a></td><td class='right'>1793</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/tool/test/runner.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/test/runner.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/tool/test/test_jisx0208.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/test/testunit/test4test_hideskip.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/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='add'><a href='/ruby.git/diff/tool/test/testunit/test4test_redefinition.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/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='add'><a href='/ruby.git/diff/tool/test/testunit/test4test_sorting.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/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='add'><a href='/ruby.git/diff/tool/test/testunit/test_assertion.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/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/tool/test/testunit/test_hideskip.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/test/testunit/test_hideskip.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/tool/test/testunit/test_parallel.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/test/testunit/test_parallel.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/tool/test/testunit/test_redefinition.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/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='add'><a href='/ruby.git/diff/tool/test/testunit/test_sorting.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/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/tool/test/testunit/tests_for_parallel/ptest_first.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/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='add'><a href='/ruby.git/diff/tool/test/testunit/tests_for_parallel/ptest_forth.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/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='add'><a href='/ruby.git/diff/tool/test/testunit/tests_for_parallel/ptest_second.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/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='add'><a href='/ruby.git/diff/tool/test/testunit/tests_for_parallel/ptest_third.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/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='add'><a href='/ruby.git/diff/tool/test/testunit/tests_for_parallel/runner.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/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/tool/test/webrick/.htaccess?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/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='add'><a href='/ruby.git/diff/tool/test/webrick/test_cgi.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/test/webrick/test_cgi.rb</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/tool/test/webrick/test_config.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/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='add'><a href='/ruby.git/diff/tool/test/webrick/test_cookie.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/test/webrick/test_cookie.rb</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='add'><a href='/ruby.git/diff/tool/test/webrick/test_do_not_reverse_lookup.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/tool/test/webrick/test_filehandler.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/test/webrick/test_filehandler.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/tool/test/webrick/test_htgroup.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/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='add'><a href='/ruby.git/diff/tool/test/webrick/test_htmlutils.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/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='add'><a href='/ruby.git/diff/tool/test/webrick/test_httpauth.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/test/webrick/test_httpauth.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/tool/test/webrick/test_httpproxy.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/test/webrick/test_httpproxy.rb</a></td><td class='right'>466</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/tool/test/webrick/test_httprequest.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/test/webrick/test_httprequest.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/tool/test/webrick/test_httpresponse.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/test/webrick/test_httpresponse.rb</a></td><td class='right'>282</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/tool/test/webrick/test_https.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/tool/test/webrick/test_httpserver.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/test/webrick/test_httpserver.rb</a></td><td class='right'>543</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/tool/test/webrick/test_httpstatus.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/test/webrick/test_httpstatus.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/tool/test/webrick/test_httputils.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/test/webrick/test_httputils.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/tool/test/webrick/test_httpversion.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/test/webrick/test_httpversion.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/tool/test/webrick/test_server.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/test/webrick/test_server.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/tool/test/webrick/test_ssl_server.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/tool/test/webrick/test_utils.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/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.1%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/tool/test/webrick/utils.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/test/webrick/utils.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/tool/test/webrick/webrick.cgi?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/test/webrick/webrick.cgi</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/tool/test/webrick/webrick.rhtml?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/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='add'><a href='/ruby.git/diff/tool/test/webrick/webrick_long_filename.cgi?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/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='add'><a href='/ruby.git/diff/tool/transcode-tblgen.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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: 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/tool/transform_mjit_header.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/transform_mjit_header.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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/tool/travis_retry.sh?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/travis_retry.sh</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/tool/update-bundled_gems.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/update-bundled_gems.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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/tool/update-deps?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/update-deps</a></td><td class='right'>637</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/tool/vtlh.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/tool/ytab.sed?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>tool/ytab.sed</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='del'><a href='/ruby.git/diff/top.sed?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>top.sed</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='add'><a href='/ruby.git/diff/trace_point.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>trace_point.rb</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='add'><a href='/ruby.git/diff/transcode.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>transcode.c</a></td><td class='right'>4583</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 4.9%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 95.1%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/transcode_data.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>transcode_data.h</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/transient_heap.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>transient_heap.c</a></td><td class='right'>989</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/transient_heap.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>transient_heap.h</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='upd'><a href='/ruby.git/diff/util.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>util.c</a></td><td class='right'>1179</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.5%;'/><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/util.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>util.h</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='add'><a href='/ruby.git/diff/util/remove_openssl.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>util/remove_openssl.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/variable.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>variable.c</a></td><td class='right'>3810</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 3.3%;'/><td class='rem' style='width: 0.8%;'/><td class='none' style='width: 95.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/variable.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>variable.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='upd'><a href='/ruby.git/diff/version.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>version.c</a></td><td class='right'>143</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 0.1%;'/><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/version.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>version.h</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/vm.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>vm.c</a></td><td class='right'>4081</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 4.4%;'/><td class='rem' style='width: 0.0%;'/><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/vm_args.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>vm_args.c</a></td><td class='right'>926</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/vm_backtrace.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>vm_backtrace.c</a></td><td class='right'>1711</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/vm_callinfo.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>vm_callinfo.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/vm_core.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>vm_core.h</a></td><td class='right'>2023</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/vm_debug.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>vm_debug.h</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/vm_dump.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>vm_dump.c</a></td><td class='right'>1154</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/vm_eval.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>vm_eval.c</a></td><td class='right'>2462</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 2.7%;'/><td class='rem' style='width: 0.0%;'/><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/vm_exec.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>vm_exec.c</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/vm_exec.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>vm_exec.h</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/vm_insnhelper.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>vm_insnhelper.c</a></td><td class='right'>5576</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 6.0%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 94.0%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/vm_insnhelper.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>vm_insnhelper.h</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/vm_method.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>vm_method.c</a></td><td class='right'>2632</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/vm_opts.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>vm_opts.h</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/vm_sync.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>vm_sync.c</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/vm_sync.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>vm_sync.h</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/vm_trace.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>vm_trace.c</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/vsnprintf.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>vsnprintf.c</a></td><td class='right'>1314</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/warning.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>warning.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/win32/.document?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='del'><a href='/ruby.git/diff/win32/Makefile?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>win32/Makefile</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='add'><a href='/ruby.git/diff/win32/Makefile.sub?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>win32/Makefile.sub</a></td><td class='right'>1410</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 1.5%;'/><td class='rem' style='width: 0.0%;'/><td class='none' style='width: 98.5%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='add'><a href='/ruby.git/diff/win32/README.win32?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>win32/README.win32</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='del'><a href='/ruby.git/diff/win32/config.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>win32/config.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/win32/config.status?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>win32/config.status</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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/win32/configure.bat?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>win32/configure.bat</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/win32/dir.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>win32/dir.h</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/win32/enc-setup.mak?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/win32/file.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>win32/file.c</a></td><td class='right'>727</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/win32/file.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/win32/ifchange.bat?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>win32/ifchange.bat</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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/win32/makedirs.bat?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/win32/mkexports.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>win32/mkexports.rb</a></td><td class='right'>181</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'>-rwxr-xr-x</td><td class='del'><a href='/ruby.git/diff/win32/ntsetup.bat?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>win32/ntsetup.bat</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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/win32/resource.rb?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>win32/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'>-rwxr-xr-x</td><td class='add'><a href='/ruby.git/diff/win32/rm.bat?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>win32/rm.bat</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='add'><a href='/ruby.git/diff/win32/rmdirs.bat?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='add'><a href='/ruby.git/diff/win32/rtname.cmd?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='del'><a href='/ruby.git/diff/win32/ruby.def?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>win32/ruby.def</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='add'><a href='/ruby.git/diff/win32/setup.mak?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>win32/setup.mak</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='upd'><a href='/ruby.git/diff/win32/win32.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>win32/win32.c</a></td><td class='right'>8764</td><td class='graph'><table summary='file diffstat' width='100%'><tr><td class='add' style='width: 7.8%;'/><td class='rem' style='width: 1.6%;'/><td class='none' style='width: 90.6%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/win32/win32.h?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>win32/win32.h</a></td><td class='right'>395</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/win32/winmain.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>win32/winmain.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='del'><a href='/ruby.git/diff/x68/_dtos18.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.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/x68/_round.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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='del'><a href='/ruby.git/diff/x68/fconvert.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.0%;'/><td class='rem' style='width: 0.1%;'/><td class='none' style='width: 99.9%;'/></tr></table></td></tr>
<tr><td class='mode'>-rw-r--r--</td><td class='del'><a href='/ruby.git/diff/x68/select.c?h=v3_0_0&amp;id2=cfb52c86678519810cfa84b564a3d32a9200139d'>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.0%;'/><td class='rem' style='width: 0.2%;'/><td class='none' style='width: 99.8%;'/></tr></table></td></tr>
</table><div class='diffstat-summary'>9788 files changed, 2149904 insertions, 91470 deletions</div><table summary='diff' class='diff'><tr><td><div class='head'>diff --git a/.cvsignore b/.cvsignore<br/>deleted file mode 100644<br/>index c1bdd084b3..0000000000<br/>--- a/<a href='/ruby.git/tree/.cvsignore?h=v3_0_0&amp;id=cfb52c86678519810cfa84b564a3d32a9200139d'>.cvsignore</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,17 +0,0 @@</div><div class='del'>-parse.c</div><div class='del'>-newver.rb</div><div class='del'>-ruby</div><div class='del'>-miniruby</div><div class='del'>-README.fat-patch</div><div class='del'>-config.cache</div><div class='del'>-config.h</div><div class='del'>-config.log</div><div class='del'>-config.status</div><div class='del'>-Makefile</div><div class='del'>-ppack</div><div class='del'>-archive</div><div class='del'>-*.orig</div><div class='del'>-*.rej</div><div class='del'>-*.bak</div><div class='del'>-*.sav</div><div class='del'>-*~</div><div class='head'>diff --git a/.dir-locals.el b/.dir-locals.el<br/>new file mode 100644<br/>index 0000000000..8f4b96445c<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/.dir-locals.el?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>.dir-locals.el</a></div><div class='hunk'>@@ -0,0 +1,39 @@</div><div class='add'>+;; Copyright (c) 2018 Urabe, Shyouhei.  All rights reserved.</div><div class='add'>+;;</div><div class='add'>+;; This file is a part of  the programming language Ruby.  Permission is hereby</div><div class='add'>+;; granted, to either  redistribute and/or modify this file,  provided that the</div><div class='add'>+;; conditions mentioned  in the  file COPYING  are met.   Consult the  file for</div><div class='add'>+;; details.</div><div class='add'>+</div><div class='add'>+((nil .</div><div class='add'>+     ((indent-tabs-mode . nil)</div><div class='add'>+      (require-final-newline . t)</div><div class='add'>+      (tab-width . 8)</div><div class='add'>+      (show-trailing-whitespace . t)</div><div class='add'>+      (whitespace-line-column . 80))) ;; See also [Misc #12277]</div><div class='add'>+</div><div class='add'>+ ;; (bat-mode . ((buffer-file-coding-system . utf-8-dos)))</div><div class='add'>+</div><div class='add'>+ (ruby-mode . ((ruby-indent-level . 2)))</div><div class='add'>+</div><div class='add'>+ (rdoc-mode . ((fill-column . 74)))</div><div class='add'>+</div><div class='add'>+ (yaml-mode . ((yaml-indent-offset . 2)))</div><div class='add'>+</div><div class='add'>+ (makefile-mode . ((indent-tabs-mode . t)))</div><div class='add'>+</div><div class='add'>+ (c-mode . ((c-file-style . "ruby")))</div><div class='add'>+</div><div class='add'>+ (c++-mode . ((c-file-style . "ruby")))</div><div class='add'>+</div><div class='add'>+ (change-log-mode .</div><div class='add'>+     ((buffer-file-coding-system . us-ascii)</div><div class='add'>+      (indent-tabs-mode . t)</div><div class='add'>+      (change-log-indent-text . 2)</div><div class='add'>+      (add-log-time-format . (lambda (&amp;optional x y)</div><div class='add'>+        (let* ((time (or x (current-time)))</div><div class='add'>+	       (system-time-locale "C")</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='head'>diff --git a/.document b/.document<br/>new file mode 100644<br/>index 0000000000..8616203552<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/.document?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>.document</a></div><div class='hunk'>@@ -0,0 +1,46 @@</div><div class='add'>+# This file determines which files in the</div><div class='add'>+# Ruby hierarchy will be processed by the RDoc</div><div class='add'>+# tool when it is given the top-level directory</div><div class='add'>+# as an argument</div><div class='add'>+</div><div class='add'>+# Process all the C source files</div><div class='add'>+*.c</div><div class='add'>+*.y</div><div class='add'>+</div><div class='add'>+# prelude</div><div class='add'>+prelude.rb</div><div class='add'>+rbconfig.rb</div><div class='add'>+array.rb</div><div class='add'>+ast.rb</div><div class='add'>+dir.rb</div><div class='add'>+gc.rb</div><div class='add'>+integer.rb</div><div class='add'>+io.rb</div><div class='add'>+kernel.rb</div><div class='add'>+pack.rb</div><div class='add'>+trace_point.rb</div><div class='add'>+warning.rb</div><div class='add'>+ractor.rb</div><div class='add'>+</div><div class='add'>+# the lib/ directory (which has its own .document file)</div><div class='add'>+lib</div><div class='add'>+</div><div class='add'>+# and some of the ext/ directory (which has its own .document file)</div><div class='add'>+ext</div><div class='add'>+</div><div class='add'>+# rdoc files</div><div class='add'>+NEWS.md</div><div class='add'>+</div><div class='add'>+README.md</div><div class='add'>+README.ja.md</div><div class='add'>+</div><div class='add'>+COPYING</div><div class='add'>+COPYING.ja</div><div class='add'>+CONTRIBUTING.md</div><div class='add'>+</div><div class='add'>+LEGAL</div><div class='add'>+</div><div class='add'>+# win32/README.win32 linked from README.md</div><div class='add'>+win32</div><div class='add'>+</div><div class='add'>+doc</div><div class='head'>diff --git a/.editorconfig b/.editorconfig<br/>new file mode 100644<br/>index 0000000000..4633a7acae<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/.editorconfig?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>.editorconfig</a></div><div class='hunk'>@@ -0,0 +1,30 @@</div><div class='add'>+root = true</div><div class='add'>+</div><div class='add'>+[*]</div><div class='add'>+end_of_line = lf</div><div class='add'>+indent_size = 4</div><div class='add'>+indent_style = space</div><div class='add'>+insert_final_newline = true</div><div class='add'>+tab_width = 8</div><div class='add'>+trim_trailing_whitespace = true</div><div class='add'>+</div><div class='add'>+[*.bat]</div><div class='add'>+end_of_line = crlf</div><div class='add'>+</div><div class='add'>+[*.gemspec]</div><div class='add'>+indent_size = 2</div><div class='add'>+</div><div class='add'>+[*.rb]</div><div class='add'>+indent_size = 2</div><div class='add'>+</div><div class='add'>+[*.yml]</div><div class='add'>+indent_size = 2</div><div class='add'>+</div><div class='add'>+[{*[Mm]akefile*,*.mak,*.mk,depend}]</div><div class='add'>+indent_style = tab</div><div class='add'>+</div><div class='add'>+[enc/*]</div><div class='add'>+indent_size = 2</div><div class='add'>+</div><div class='add'>+[reg*.[ch]]</div><div class='add'>+indent_size = 2</div><div class='head'>diff --git a/.gdbinit b/.gdbinit<br/>new file mode 100644<br/>index 0000000000..49380951b8<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/.gdbinit?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>.gdbinit</a></div><div class='hunk'>@@ -0,0 +1,1351 @@</div><div class='add'>+set startup-with-shell off</div><div class='add'>+</div><div class='add'>+define hook-run</div><div class='add'>+  set $color_type = 0</div><div class='add'>+  set $color_highlite = 0</div><div class='add'>+  set $color_end = 0</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define ruby_gdb_init</div><div class='add'>+  if !$color_type</div><div class='add'>+    set $color_type = "\033[31m"</div><div class='add'>+  end</div><div class='add'>+  if !$color_highlite</div><div class='add'>+    set $color_highlite = "\033[36m"</div><div class='add'>+  end</div><div class='add'>+  if !$color_end</div><div class='add'>+    set $color_end = "\033[m"</div><div class='add'>+  end</div><div class='add'>+  if ruby_dummy_gdb_enums.special_consts</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+# set prompt \033[36m(gdb)\033[m\040</div><div class='add'>+</div><div class='add'>+define rp</div><div class='add'>+  ruby_gdb_init</div><div class='add'>+  if (VALUE)($arg0) &amp; RUBY_FIXNUM_FLAG</div><div class='add'>+    printf "FIXNUM: %ld\n", (long)($arg0) &gt;&gt; 1</div><div class='add'>+  else</div><div class='add'>+  if ((VALUE)($arg0) &amp; ~(~(VALUE)0&lt;&lt;RUBY_SPECIAL_SHIFT)) == RUBY_SYMBOL_FLAG</div><div class='add'>+    set $id = (($arg0) &gt;&gt; RUBY_SPECIAL_SHIFT)</div><div class='add'>+    printf "%sSYMBOL%s: ", $color_type, $color_end</div><div class='add'>+    rp_id $id</div><div class='add'>+  else</div><div class='add'>+  if ($arg0) == RUBY_Qfalse</div><div class='add'>+    echo false\n</div><div class='add'>+  else</div><div class='add'>+  if ($arg0) == RUBY_Qtrue</div><div class='add'>+    echo true\n</div><div class='add'>+  else</div><div class='add'>+  if ($arg0) == RUBY_Qnil</div><div class='add'>+    echo nil\n</div><div class='add'>+  else</div><div class='add'>+  if ($arg0) == RUBY_Qundef</div><div class='add'>+    echo undef\n</div><div class='add'>+  else</div><div class='add'>+  if (VALUE)($arg0) &amp; RUBY_IMMEDIATE_MASK</div><div class='add'>+    if ((VALUE)($arg0) &amp; RUBY_FLONUM_MASK) == RUBY_FLONUM_FLAG</div><div class='add'>+      printf "%sFLONUM%s: %g\n", $color_type, $color_end, (double)rb_float_value($arg0)</div><div class='add'>+    else</div><div class='add'>+      echo immediate\n</div><div class='add'>+    end</div><div class='add'>+  else</div><div class='add'>+  set $flags = ((struct RBasic*)($arg0))-&gt;flags</div><div class='add'>+  if ($flags &amp; RUBY_FL_PROMOTED) == RUBY_FL_PROMOTED</div><div class='add'>+    printf "[PROMOTED] "</div><div class='add'>+  end</div><div class='add'>+  if ($flags &amp; RUBY_T_MASK) == RUBY_T_NONE</div><div class='add'>+    printf "%sT_NONE%s: ", $color_type, $color_end</div><div class='add'>+    print (struct RBasic *)($arg0)</div><div class='add'>+  else</div><div class='add'>+  if ($flags &amp; RUBY_T_MASK) == RUBY_T_NIL</div><div class='add'>+    printf "%sT_NIL%s: ", $color_type, $color_end</div><div class='add'>+    print (struct RBasic *)($arg0)</div><div class='add'>+  else</div><div class='add'>+  if ($flags &amp; RUBY_T_MASK) == RUBY_T_OBJECT</div><div class='add'>+    printf "%sT_OBJECT%s: ", $color_type, $color_end</div><div class='add'>+    print ((struct RObject *)($arg0))-&gt;basic</div><div class='add'>+    if ($flags &amp; ROBJECT_EMBED)</div><div class='add'>+      print/x *((VALUE*)((struct RObject*)($arg0))-&gt;as.ary) @ (ROBJECT_EMBED_LEN_MAX+0)</div><div class='add'>+    else</div><div class='add'>+      print (((struct RObject *)($arg0))-&gt;as.heap)</div><div class='add'>+      if (((struct RObject*)($arg0))-&gt;as.heap.numiv) &gt; 0</div><div class='add'>+        print/x *(((struct RObject*)($arg0))-&gt;as.heap.ivptr) @ (((struct RObject*)($arg0))-&gt;as.heap.numiv)</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  else</div><div class='add'>+  if ($flags &amp; RUBY_T_MASK) == RUBY_T_CLASS</div><div class='add'>+    printf "%sT_CLASS%s%s: ", $color_type, ($flags &amp; RUBY_FL_SINGLETON) ? "*" : "", $color_end</div><div class='add'>+    rp_class $arg0</div><div class='add'>+  else</div><div class='add'>+  if ($flags &amp; RUBY_T_MASK) == RUBY_T_ICLASS</div><div class='add'>+    printf "%sT_ICLASS%s: ", $color_type, $color_end</div><div class='add'>+    rp_class $arg0</div><div class='add'>+  else</div><div class='add'>+  if ($flags &amp; RUBY_T_MASK) == RUBY_T_MODULE</div><div class='add'>+    printf "%sT_MODULE%s: ", $color_type, $color_end</div><div class='add'>+    rp_class $arg0</div><div class='add'>+  else</div><div class='add'>+  if ($flags &amp; RUBY_T_MASK) == RUBY_T_FLOAT</div><div class='add'>+    printf "%sT_FLOAT%s: %.16g ", $color_type, $color_end, (((struct RFloat*)($arg0))-&gt;float_value)</div><div class='add'>+    print (struct RFloat *)($arg0)</div><div class='add'>+  else</div><div class='add'>+  if ($flags &amp; RUBY_T_MASK) == RUBY_T_STRING</div><div class='add'>+    printf "%sT_STRING%s: ", $color_type, $color_end</div><div class='add'>+    rp_string $arg0 $flags</div><div class='add'>+  else</div><div class='add'>+  if ($flags &amp; RUBY_T_MASK) == RUBY_T_REGEXP</div><div class='add'>+    set $regsrc = ((struct RRegexp*)($arg0))-&gt;src</div><div class='add'>+    set $rsflags = ((struct RBasic*)$regsrc)-&gt;flags</div><div class='add'>+    printf "%sT_REGEXP%s: ", $color_type, $color_end</div><div class='add'>+    set $len = ($rsflags &amp; RUBY_FL_USER1) ? \</div><div class='add'>+            ((struct RString*)$regsrc)-&gt;as.heap.len : \</div><div class='add'>+            (($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='add'>+    set print address off</div><div class='add'>+    output *(char *)(($rsflags &amp; RUBY_FL_USER1) ? \</div><div class='add'>+	    ((struct RString*)$regsrc)-&gt;as.heap.ptr : \</div><div class='add'>+	    ((struct RString*)$regsrc)-&gt;as.ary) @ $len</div><div class='add'>+    set print address on</div><div class='add'>+    printf " len:%ld ", $len</div><div class='add'>+    if $flags &amp; RUBY_FL_USER6</div><div class='add'>+      printf "(none) "</div><div class='add'>+    end</div><div class='add'>+    if $flags &amp; RUBY_FL_USER5</div><div class='add'>+      printf "(literal) "</div><div class='add'>+    end</div><div class='add'>+    if $flags &amp; RUBY_FL_USER4</div><div class='add'>+      printf "(fixed) "</div><div class='add'>+    end</div><div class='add'>+    printf "encoding:%d ", ($flags &amp; RUBY_ENCODING_MASK) &gt;&gt; RUBY_ENCODING_SHIFT</div><div class='add'>+    print (struct RRegexp *)($arg0)</div><div class='add'>+  else</div><div class='add'>+  if ($flags &amp; RUBY_T_MASK) == RUBY_T_ARRAY</div><div class='add'>+    if ($flags &amp; RUBY_FL_USER1)</div><div class='add'>+      set $len = (($flags &amp; (RUBY_FL_USER3|RUBY_FL_USER4)) &gt;&gt; (RUBY_FL_USHIFT+3))</div><div class='add'>+      printf "%sT_ARRAY%s: len=%ld ", $color_type, $color_end, $len</div><div class='add'>+      printf "(embed) "</div><div class='add'>+      if ($len == 0)</div><div class='add'>+	printf "{(empty)} "</div><div class='add'>+      else</div><div class='add'>+	print/x *((VALUE*)((struct RArray*)($arg0))-&gt;as.ary) @ $len</div><div class='add'>+	printf " "</div><div class='add'>+      end</div><div class='add'>+    else</div><div class='add'>+      set $len = ((struct RArray*)($arg0))-&gt;as.heap.len</div><div class='add'>+      printf "%sT_ARRAY%s: len=%ld ", $color_type, $color_end, $len</div><div class='add'>+      if ($flags &amp; RUBY_FL_USER2)</div><div class='add'>+	printf "(shared) shared="</div><div class='add'>+	output/x ((struct RArray*)($arg0))-&gt;as.heap.aux.shared_root</div><div class='add'>+	printf " "</div><div class='add'>+      else</div><div class='add'>+	printf "(ownership) capa=%ld ", ((struct RArray*)($arg0))-&gt;as.heap.aux.capa</div><div class='add'>+      end</div><div class='add'>+      if ($len == 0)</div><div class='add'>+	printf "{(empty)} "</div><div class='add'>+      else</div><div class='add'>+	print/x *((VALUE*)((struct RArray*)($arg0))-&gt;as.heap.ptr) @ $len</div><div class='add'>+	printf " "</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+    print (struct RArray *)($arg0)</div><div class='add'>+  else</div><div class='add'>+  if ($flags &amp; RUBY_T_MASK) == RUBY_T_FIXNUM</div><div class='add'>+    printf "%sT_FIXNUM%s: ", $color_type, $color_end</div><div class='add'>+    print (struct RBasic *)($arg0)</div><div class='add'>+  else</div><div class='add'>+  if ($flags &amp; RUBY_T_MASK) == RUBY_T_HASH</div><div class='add'>+    printf "%sT_HASH%s: ", $color_type, $color_end,</div><div class='add'>+    if (((struct RHash *)($arg0))-&gt;basic.flags &amp; RHASH_ST_TABLE_FLAG)</div><div class='add'>+      printf "st len=%ld ", ((struct RHash *)($arg0))-&gt;as.st-&gt;num_entries</div><div class='add'>+    else</div><div class='add'>+      printf "li len=%ld bound=%ld ", \</div><div class='add'>+        ((((struct RHash *)($arg0))-&gt;basic.flags &amp; RHASH_AR_TABLE_SIZE_MASK) &gt;&gt; RHASH_AR_TABLE_SIZE_SHIFT), \</div><div class='add'>+        ((((struct RHash *)($arg0))-&gt;basic.flags &amp; RHASH_AR_TABLE_BOUND_MASK) &gt;&gt; RHASH_AR_TABLE_BOUND_SHIFT)</div><div class='add'>+    end</div><div class='add'>+    print (struct RHash *)($arg0)</div><div class='add'>+  else</div><div class='add'>+  if ($flags &amp; RUBY_T_MASK) == RUBY_T_STRUCT</div><div class='add'>+    set $len = (($flags &amp; (RUBY_FL_USER1|RUBY_FL_USER2)) ? \</div><div class='add'>+       ($flags &amp; (RUBY_FL_USER1|RUBY_FL_USER2)) &gt;&gt; (RUBY_FL_USHIFT+1) : \</div><div class='add'>+       ((struct RStruct *)($arg0))-&gt;as.heap.len)</div><div class='add'>+    printf "%sT_STRUCT%s: len=%ld ", $color_type, $color_end, $len</div><div class='add'>+    print (struct RStruct *)($arg0)</div><div class='add'>+    output/x *(($flags &amp; (RUBY_FL_USER1|RUBY_FL_USER2)) ? \</div><div class='add'>+              ((struct RStruct *)($arg0))-&gt;as.ary : \</div><div class='add'>+              ((struct RStruct *)($arg0))-&gt;as.heap.ptr) @ $len</div><div class='add'>+  else</div><div class='add'>+  if ($flags &amp; RUBY_T_MASK) == RUBY_T_BIGNUM</div><div class='add'>+    rp_bignum $arg0</div><div class='add'>+  else</div><div class='add'>+  if ($flags &amp; RUBY_T_MASK) == RUBY_T_RATIONAL</div><div class='add'>+    printf "%sT_RATIONAL%s: ", $color_type, $color_end</div><div class='add'>+    print (struct RRational *)($arg0)</div><div class='add'>+  else</div><div class='add'>+  if ($flags &amp; RUBY_T_MASK) == RUBY_T_COMPLEX</div><div class='add'>+    printf "%sT_COMPLEX%s: ", $color_type, $color_end</div><div class='add'>+    print (struct RComplex *)($arg0)</div><div class='add'>+  else</div><div class='add'>+  if ($flags &amp; RUBY_T_MASK) == RUBY_T_FILE</div><div class='add'>+    printf "%sT_FILE%s: ", $color_type, $color_end</div><div class='add'>+    print (struct RFile *)($arg0)</div><div class='add'>+    output *((struct RFile *)($arg0))-&gt;fptr</div><div class='add'>+    printf "\n"</div><div class='add'>+  else</div><div class='add'>+  if ($flags &amp; RUBY_T_MASK) == RUBY_T_TRUE</div><div class='add'>+    printf "%sT_TRUE%s: ", $color_type, $color_end</div><div class='add'>+    print (struct RBasic *)($arg0)</div><div class='add'>+  else</div><div class='add'>+  if ($flags &amp; RUBY_T_MASK) == RUBY_T_FALSE</div><div class='add'>+    printf "%sT_FALSE%s: ", $color_type, $color_end</div><div class='add'>+    print (struct RBasic *)($arg0)</div><div class='add'>+  else</div><div class='add'>+  if ($flags &amp; RUBY_T_MASK) == RUBY_T_DATA</div><div class='add'>+    if ((struct RTypedData *)($arg0))-&gt;typed_flag == 1</div><div class='add'>+      printf "%sT_DATA%s(%s): ", $color_type, $color_end, ((struct RTypedData *)($arg0))-&gt;type-&gt;wrap_struct_name</div><div class='add'>+      print (struct RTypedData *)($arg0)</div><div class='add'>+    else</div><div class='add'>+      printf "%sT_DATA%s: ", $color_type, $color_end</div><div class='add'>+      print (struct RData *)($arg0)</div><div class='add'>+    end</div><div class='add'>+  else</div><div class='add'>+  if ($flags &amp; RUBY_T_MASK) == RUBY_T_MATCH</div><div class='add'>+    printf "%sT_MATCH%s: ", $color_type, $color_end</div><div class='add'>+    print (struct RMatch *)($arg0)</div><div class='add'>+  else</div><div class='add'>+  if ($flags &amp; RUBY_T_MASK) == RUBY_T_SYMBOL</div><div class='add'>+    printf "%sT_SYMBOL%s: ", $color_type, $color_end</div><div class='add'>+    print (struct RSymbol *)($arg0)</div><div class='add'>+    set $id_type = ((struct RSymbol *)($arg0))-&gt;id &amp; RUBY_ID_SCOPE_MASK</div><div class='add'>+    if $id_type == RUBY_ID_LOCAL</div><div class='add'>+      printf "l"</div><div class='add'>+    else</div><div class='add'>+    if $id_type == RUBY_ID_INSTANCE</div><div class='add'>+      printf "i"</div><div class='add'>+    else</div><div class='add'>+    if $id_type == RUBY_ID_GLOBAL</div><div class='add'>+      printf "G"</div><div class='add'>+    else</div><div class='add'>+    if $id_type == RUBY_ID_ATTRSET</div><div class='add'>+      printf "a"</div><div class='add'>+    else</div><div class='add'>+    if $id_type == RUBY_ID_CONST</div><div class='add'>+      printf "C"</div><div class='add'>+    else</div><div class='add'>+    if $id_type == RUBY_ID_CLASS</div><div class='add'>+      printf "c"</div><div class='add'>+    else</div><div class='add'>+      printf "j"</div><div class='add'>+    end</div><div class='add'>+    end</div><div class='add'>+    end</div><div class='add'>+    end</div><div class='add'>+    end</div><div class='add'>+    end</div><div class='add'>+    set $id_fstr = ((struct RSymbol *)($arg0))-&gt;fstr</div><div class='add'>+    rp_string $id_fstr</div><div class='add'>+  else</div><div class='add'>+  if ($flags &amp; RUBY_T_MASK) == RUBY_T_UNDEF</div><div class='add'>+    printf "%sT_UNDEF%s: ", $color_type, $color_end</div><div class='add'>+    print (struct RBasic *)($arg0)</div><div class='add'>+  else</div><div class='add'>+  if ($flags &amp; RUBY_T_MASK) == RUBY_T_IMEMO</div><div class='add'>+    printf "%sT_IMEMO%s(", $color_type, $color_end</div><div class='add'>+    output (enum imemo_type)(($flags&gt;&gt;RUBY_FL_USHIFT)&amp;RUBY_IMEMO_MASK)</div><div class='add'>+    printf "): "</div><div class='add'>+    rp_imemo $arg0</div><div class='add'>+  else</div><div class='add'>+  if ($flags &amp; RUBY_T_MASK) == RUBY_T_NODE</div><div class='add'>+    printf "%sT_NODE%s(", $color_type, $color_end</div><div class='add'>+    output (enum node_type)(($flags&amp;RUBY_NODE_TYPEMASK)&gt;&gt;RUBY_NODE_TYPESHIFT)</div><div class='add'>+    printf "): "</div><div class='add'>+    print *(NODE *)($arg0)</div><div class='add'>+  else</div><div class='add'>+  if ($flags &amp; RUBY_T_MASK) == RUBY_T_ZOMBIE</div><div class='add'>+    printf "%sT_ZOMBIE%s: ", $color_type, $color_end</div><div class='add'>+    print (struct RData *)($arg0)</div><div class='add'>+  else</div><div class='add'>+  if ($flags &amp; RUBY_T_MASK) == RUBY_T_MOVED</div><div class='add'>+    printf "%sT_MOVED%s: ", $color_type, $color_end</div><div class='add'>+    print *(struct RMoved *)$arg0</div><div class='add'>+  else</div><div class='add'>+    printf "%sunknown%s: ", $color_type, $color_end</div><div class='add'>+    print (struct RBasic *)($arg0)</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+document rp</div><div class='add'>+  Print a Ruby's VALUE.</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define rp_id</div><div class='add'>+  set $id = (ID)$arg0</div><div class='add'>+  if $id == '!' || $id == '+' || $id == '-' || $id == '*' || $id == '/' || $id == '%' || $id == '&lt;' || $id == '&gt;' || $id == '`'</div><div class='add'>+    printf "(:%c)\n", $id</div><div class='add'>+  else</div><div class='add'>+  if $id == idDot2</div><div class='add'>+    printf "(:..)\n"</div><div class='add'>+  else</div><div class='add'>+  if $id == idDot3</div><div class='add'>+    printf "(:...)\n"</div><div class='add'>+  else</div><div class='add'>+  if $id == idUPlus</div><div class='add'>+    printf "(:+@)\n"</div><div class='add'>+  else</div><div class='add'>+  if $id == idUMinus</div><div class='add'>+    printf "(:-@)\n"</div><div class='add'>+  else</div><div class='add'>+  if $id == idPow</div><div class='add'>+    printf "(:**)\n"</div><div class='add'>+  else</div><div class='add'>+  if $id == idCmp</div><div class='add'>+    printf "(:&lt;=&gt;)\n"</div><div class='add'>+  else</div><div class='add'>+  if $id == idLTLT</div><div class='add'>+    printf "(:&lt;&lt;)\n"</div><div class='add'>+  else</div><div class='add'>+  if $id == idGTGT</div><div class='add'>+    printf "(:&gt;&gt;)\n"</div><div class='add'>+  else</div><div class='add'>+  if $id == idLE</div><div class='add'>+    printf "(:&lt;=)\n"</div><div class='add'>+  else</div><div class='add'>+  if $id == idGE</div><div class='add'>+    printf "(:&gt;=)\n"</div><div class='add'>+  else</div><div class='add'>+  if $id == idEq</div><div class='add'>+    printf "(:==)\n"</div><div class='add'>+  else</div><div class='add'>+  if $id == idEqq</div><div class='add'>+    printf "(:===)\n"</div><div class='add'>+  else</div><div class='add'>+  if $id == idNeq</div><div class='add'>+    printf "(:!=)\n"</div><div class='add'>+  else</div><div class='add'>+  if $id == idEqTilde</div><div class='add'>+    printf "(:=~)\n"</div><div class='add'>+  else</div><div class='add'>+  if $id == idNeqTilde</div><div class='add'>+    printf "(:!~)\n"</div><div class='add'>+  else</div><div class='add'>+  if $id == idAREF</div><div class='add'>+    printf "(:[])\n"</div><div class='add'>+  else</div><div class='add'>+  if $id == idASET</div><div class='add'>+    printf "(:[]=)\n"</div><div class='add'>+  else</div><div class='add'>+  if $id == idCOLON2</div><div class='add'>+    printf "(:'::')\n"</div><div class='add'>+  else</div><div class='add'>+  if $id == idANDOP</div><div class='add'>+    printf "(:&amp;&amp;)\n"</div><div class='add'>+  else</div><div class='add'>+  if $id == idOROP</div><div class='add'>+    printf "(:||)\n"</div><div class='add'>+  else</div><div class='add'>+  if $id == idANDDOT</div><div class='add'>+    printf "(:&amp;.)\n"</div><div class='add'>+  else</div><div class='add'>+    if $id &lt;= tLAST_OP_ID</div><div class='add'>+      printf "O"</div><div class='add'>+    else</div><div class='add'>+      set $id_type = $id &amp; RUBY_ID_SCOPE_MASK</div><div class='add'>+      if $id_type == RUBY_ID_LOCAL</div><div class='add'>+        printf "l"</div><div class='add'>+      else</div><div class='add'>+      if $id_type == RUBY_ID_INSTANCE</div><div class='add'>+        printf "i"</div><div class='add'>+      else</div><div class='add'>+      if $id_type == RUBY_ID_GLOBAL</div><div class='add'>+        printf "G"</div><div class='add'>+      else</div><div class='add'>+      if $id_type == RUBY_ID_ATTRSET</div><div class='add'>+        printf "a"</div><div class='add'>+      else</div><div class='add'>+      if $id_type == RUBY_ID_CONST</div><div class='add'>+        printf "C"</div><div class='add'>+      else</div><div class='add'>+      if $id_type == RUBY_ID_CLASS</div><div class='add'>+        printf "c"</div><div class='add'>+      else</div><div class='add'>+        printf "j"</div><div class='add'>+      end</div><div class='add'>+      end</div><div class='add'>+      end</div><div class='add'>+      end</div><div class='add'>+      end</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+    printf "(%ld): ", $id</div><div class='add'>+    print_id $id</div><div class='add'>+    echo \n</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+document rp_id</div><div class='add'>+  Print an ID.</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define output_string</div><div class='add'>+  set $flags = ((struct RBasic*)($arg0))-&gt;flags</div><div class='add'>+  set $len = ($flags &amp; RUBY_FL_USER1) ? \</div><div class='add'>+          ((struct RString*)($arg0))-&gt;as.heap.len : \</div><div class='add'>+          (($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='add'>+  if $len &gt; 0</div><div class='add'>+    output *(char *)(($flags &amp; RUBY_FL_USER1) ? \</div><div class='add'>+	    ((struct RString*)($arg0))-&gt;as.heap.ptr : \</div><div class='add'>+	    ((struct RString*)($arg0))-&gt;as.ary) @ $len</div><div class='add'>+  else</div><div class='add'>+    output ""</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define print_string</div><div class='add'>+  set $flags = ((struct RBasic*)($arg0))-&gt;flags</div><div class='add'>+  set $len = ($flags &amp; RUBY_FL_USER1) ? \</div><div class='add'>+          ((struct RString*)($arg0))-&gt;as.heap.len : \</div><div class='add'>+          (($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='add'>+  if $len &gt; 0</div><div class='add'>+    printf "%s", *(char *)(($flags &amp; RUBY_FL_USER1) ? \</div><div class='add'>+	    ((struct RString*)($arg0))-&gt;as.heap.ptr : \</div><div class='add'>+	    ((struct RString*)($arg0))-&gt;as.ary) @ $len</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define rp_string</div><div class='add'>+  output_string $arg0</div><div class='add'>+  printf " bytesize:%ld ", $len</div><div class='add'>+  if !($flags &amp; RUBY_FL_USER1)</div><div class='add'>+    printf "(embed) "</div><div class='add'>+  else</div><div class='add'>+    if ($flags &amp; RUBY_FL_USER2)</div><div class='add'>+      printf "(shared) "</div><div class='add'>+    end</div><div class='add'>+    if ($flags &amp; RUBY_FL_USER3)</div><div class='add'>+      printf "(assoc) "</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  printf "encoding:%d ", ($flags &amp; RUBY_ENCODING_MASK) &gt;&gt; RUBY_ENCODING_SHIFT</div><div class='add'>+  if ($flags &amp; RUBY_ENC_CODERANGE_MASK) == 0</div><div class='add'>+    printf "coderange:unknown "</div><div class='add'>+  else</div><div class='add'>+  if ($flags &amp; RUBY_ENC_CODERANGE_MASK) == RUBY_ENC_CODERANGE_7BIT</div><div class='add'>+    printf "coderange:7bit "</div><div class='add'>+  else</div><div class='add'>+  if ($flags &amp; RUBY_ENC_CODERANGE_MASK) == RUBY_ENC_CODERANGE_VALID</div><div class='add'>+    printf "coderange:valid "</div><div class='add'>+  else</div><div class='add'>+    printf "coderange:broken "</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  print (struct RString *)($arg0)</div><div class='add'>+end</div><div class='add'>+document rp_string</div><div class='add'>+  Print the content of a String.</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define rp_bignum</div><div class='add'>+  set $flags = ((struct RBignum*)($arg0))-&gt;basic.flags</div><div class='add'>+  set $len = (($flags &amp; RUBY_FL_USER2) ? \</div><div class='add'>+       ($flags &amp; (RUBY_FL_USER5|RUBY_FL_USER4|RUBY_FL_USER3)) &gt;&gt; (RUBY_FL_USHIFT+3) : \</div><div class='add'>+       ((struct RBignum*)($arg0))-&gt;as.heap.len)</div><div class='add'>+  printf "%sT_BIGNUM%s: sign=%d len=%ld ", $color_type, $color_end, \</div><div class='add'>+         (($flags &amp; RUBY_FL_USER1) != 0), $len</div><div class='add'>+  if $flags &amp; RUBY_FL_USER2</div><div class='add'>+    printf "(embed) "</div><div class='add'>+  end</div><div class='add'>+  print (struct RBignum *)($arg0)</div><div class='add'>+  set $ptr = (($flags &amp; RUBY_FL_USER2) ? \</div><div class='add'>+              ((struct RBignum*)($arg0))-&gt;as.ary : \</div><div class='add'>+              ((struct RBignum*)($arg0))-&gt;as.heap.digits)</div><div class='add'>+  set $len = $len-1</div><div class='add'>+  printf "0x%x", $ptr[$len]</div><div class='add'>+  while $len &gt; 0</div><div class='add'>+    set $len = $len-1</div><div class='add'>+    set $val = $ptr[$len]</div><div class='add'>+    set $w = sizeof($ptr[0])</div><div class='add'>+    printf "_"</div><div class='add'>+    if $w &gt; 8</div><div class='add'>+      printf "%.32x", $val</div><div class='add'>+    else</div><div class='add'>+    if $w &gt; 4</div><div class='add'>+      printf "%.16x", $val</div><div class='add'>+    else</div><div class='add'>+    if $w &gt; 2</div><div class='add'>+      printf "%.8x", $val</div><div class='add'>+    else</div><div class='add'>+    if $w &gt; 1</div><div class='add'>+      printf "%.4x", $val</div><div class='add'>+    else</div><div class='add'>+      printf "%.2x", $val</div><div class='add'>+    end</div><div class='add'>+    end</div><div class='add'>+    end</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  printf "\n"</div><div class='add'>+end</div><div class='add'>+document rp_bignum</div><div class='add'>+  Print the content of a Bignum.</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define rp_class</div><div class='add'>+  printf "(struct RClass *) %p", (void*)$arg0</div><div class='add'>+  if ((struct RClass *)($arg0))-&gt;ptr.origin_ != $arg0</div><div class='add'>+    printf " -&gt; %p", ((struct RClass *)($arg0))-&gt;ptr.origin_</div><div class='add'>+  end</div><div class='add'>+  printf "\n"</div><div class='add'>+  rb_classname $arg0</div><div class='add'>+  print/x *(struct RClass *)($arg0)</div><div class='add'>+  print *((struct RClass *)($arg0))-&gt;ptr</div><div class='add'>+end</div><div class='add'>+document rp_class</div><div class='add'>+  Print the content of a Class/Module.</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define rp_imemo</div><div class='add'>+  set $flags = (enum imemo_type)((((struct RBasic *)($arg0))-&gt;flags &gt;&gt; RUBY_FL_USHIFT) &amp; RUBY_IMEMO_MASK)</div><div class='add'>+  if $flags == imemo_cref</div><div class='add'>+    printf "(rb_cref_t *) %p\n", (void*)$arg0</div><div class='add'>+    print *(rb_cref_t *)$arg0</div><div class='add'>+  else</div><div class='add'>+  if $flags == imemo_svar</div><div class='add'>+    printf "(struct vm_svar *) %p\n", (void*)$arg0</div><div class='add'>+    print *(struct vm_svar *)$arg0</div><div class='add'>+  else</div><div class='add'>+  if $flags == imemo_throw_data</div><div class='add'>+    printf "(struct vm_throw_data *) %p\n", (void*)$arg0</div><div class='add'>+    print *(struct vm_throw_data *)$arg0</div><div class='add'>+  else</div><div class='add'>+  if $flags == imemo_ifunc</div><div class='add'>+    printf "(struct vm_ifunc *) %p\n", (void*)$arg0</div><div class='add'>+    print *(struct vm_ifunc *)$arg0</div><div class='add'>+  else</div><div class='add'>+  if $flags == imemo_memo</div><div class='add'>+    printf "(struct MEMO *) %p\n", (void*)$arg0</div><div class='add'>+    print *(struct MEMO *)$arg0</div><div class='add'>+  else</div><div class='add'>+  if $flags == imemo_ment</div><div class='add'>+    printf "(rb_method_entry_t *) %p\n", (void*)$arg0</div><div class='add'>+    print *(rb_method_entry_t *)$arg0</div><div class='add'>+  else</div><div class='add'>+  if $flags == imemo_iseq</div><div class='add'>+    printf "(rb_iseq_t *) %p\n", (void*)$arg0</div><div class='add'>+    print *(rb_iseq_t *)$arg0</div><div class='add'>+  else</div><div class='add'>+    printf "(struct RIMemo *) %p\n", (void*)$arg0</div><div class='add'>+    print *(struct RIMemo *)$arg0</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+document rp_imemo</div><div class='add'>+  Print the content of a memo</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define nd_type</div><div class='add'>+  print (enum node_type)((((NODE*)($arg0))-&gt;flags&amp;RUBY_NODE_TYPEMASK)&gt;&gt;RUBY_NODE_TYPESHIFT)</div><div class='add'>+end</div><div class='add'>+document nd_type</div><div class='add'>+  Print a Ruby' node type.</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define nd_file</div><div class='add'>+  print ((NODE*)($arg0))-&gt;nd_file</div><div class='add'>+end</div><div class='add'>+document nd_file</div><div class='add'>+  Print the source file name of a node.</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define nd_line</div><div class='add'>+  print ((unsigned int)((((NODE*)($arg0))-&gt;flags&gt;&gt;RUBY_NODE_LSHIFT)&amp;RUBY_NODE_LMASK))</div><div class='add'>+end</div><div class='add'>+document nd_line</div><div class='add'>+  Print the source line number of a node.</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+# Print members of ruby node.</div><div class='add'>+</div><div class='add'>+define nd_head</div><div class='add'>+  printf "%su1.node%s: ", $color_highlite, $color_end</div><div class='add'>+  rp ($arg0).u1.node</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define nd_alen</div><div class='add'>+  printf "%su2.argc%s: ", $color_highlite, $color_end</div><div class='add'>+  p ($arg0).u2.argc</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define nd_next</div><div class='add'>+  printf "%su3.node%s: ", $color_highlite, $color_end</div><div class='add'>+  rp ($arg0).u3.node</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+define nd_cond</div><div class='add'>+  printf "%su1.node%s: ", $color_highlite, $color_end</div><div class='add'>+  rp ($arg0).u1.node</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define nd_body</div><div class='add'>+  printf "%su2.node%s: ", $color_highlite, $color_end</div><div class='add'>+  rp ($arg0).u2.node</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define nd_else</div><div class='add'>+  printf "%su3.node%s: ", $color_highlite, $color_end</div><div class='add'>+  rp ($arg0).u3.node</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+define nd_orig</div><div class='add'>+  printf "%su3.value%s: ", $color_highlite, $color_end</div><div class='add'>+  rp ($arg0).u3.value</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+define nd_resq</div><div class='add'>+  printf "%su2.node%s: ", $color_highlite, $color_end</div><div class='add'>+  rp ($arg0).u2.node</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define nd_ensr</div><div class='add'>+  printf "%su3.node%s: ", $color_highlite, $color_end</div><div class='add'>+  rp ($arg0).u3.node</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+define nd_1st</div><div class='add'>+  printf "%su1.node%s: ", $color_highlite, $color_end</div><div class='add'>+  rp ($arg0).u1.node</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define nd_2nd</div><div class='add'>+  printf "%su2.node%s: ", $color_highlite, $color_end</div><div class='add'>+  rp ($arg0).u2.node</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+define nd_stts</div><div class='add'>+  printf "%su1.node%s: ", $color_highlite, $color_end</div><div class='add'>+  rp ($arg0).u1.node</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+define nd_entry</div><div class='add'>+  printf "%su3.entry%s: ", $color_highlite, $color_end</div><div class='add'>+  p ($arg0).u3.entry</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define nd_vid</div><div class='add'>+  printf "%su1.id%s: ", $color_highlite, $color_end</div><div class='add'>+  p ($arg0).u1.id</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define nd_cflag</div><div class='add'>+  printf "%su2.id%s: ", $color_highlite, $color_end</div><div class='add'>+  p ($arg0).u2.id</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define nd_cval</div><div class='add'>+  printf "%su3.value%s: ", $color_highlite, $color_end</div><div class='add'>+  rp ($arg0).u3.value</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define nd_tbl</div><div class='add'>+  printf "%su1.tbl%s: ", $color_highlite, $color_end</div><div class='add'>+  p ($arg0).u1.tbl</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+define nd_var</div><div class='add'>+  printf "%su1.node%s: ", $color_highlite, $color_end</div><div class='add'>+  rp ($arg0).u1.node</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define nd_ibdy</div><div class='add'>+  printf "%su2.node%s: ", $color_highlite, $color_end</div><div class='add'>+  rp ($arg0).u2.node</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define nd_iter</div><div class='add'>+  printf "%su3.node%s: ", $color_highlite, $color_end</div><div class='add'>+  rp ($arg0).u3.node</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+define nd_value</div><div class='add'>+  printf "%su2.node%s: ", $color_highlite, $color_end</div><div class='add'>+  rp ($arg0).u2.node</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define nd_aid</div><div class='add'>+  printf "%su3.id%s: ", $color_highlite, $color_end</div><div class='add'>+  p ($arg0).u3.id</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+define nd_lit</div><div class='add'>+  printf "%su1.value%s: ", $color_highlite, $color_end</div><div class='add'>+  rp ($arg0).u1.value</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define nd_rest</div><div class='add'>+  printf "%su2.argc%s: ", $color_highlite, $color_end</div><div class='add'>+  p ($arg0).u2.argc</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define nd_opt</div><div class='add'>+  printf "%su1.node%s: ", $color_highlite, $color_end</div><div class='add'>+  rp ($arg0).u1.node</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+define nd_recv</div><div class='add'>+  printf "%su1.node%s: ", $color_highlite, $color_end</div><div class='add'>+  rp ($arg0).u1.node</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define nd_mid</div><div class='add'>+  printf "%su2.id%s: ", $color_highlite, $color_end</div><div class='add'>+  p ($arg0).u2.id</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define nd_args</div><div class='add'>+  printf "%su3.node%s: ", $color_highlite, $color_end</div><div class='add'>+  rp ($arg0).u3.node</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define nd_defn</div><div class='add'>+  printf "%su3.node%s: ", $color_highlite, $color_end</div><div class='add'>+  rp ($arg0).u3.node</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+define nd_old</div><div class='add'>+  printf "%su1.id%s: ", $color_highlite, $color_end</div><div class='add'>+  p ($arg0).u1.id</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define nd_new</div><div class='add'>+  printf "%su2.id%s: ", $color_highlite, $color_end</div><div class='add'>+  p ($arg0).u2.id</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+define nd_cname</div><div class='add'>+  printf "%su1.id%s: ", $color_highlite, $color_end</div><div class='add'>+  p ($arg0).u1.id</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define nd_super</div><div class='add'>+  printf "%su3.node%s: ", $color_highlite, $color_end</div><div class='add'>+  rp ($arg0).u3.node</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+define nd_modl</div><div class='add'>+  printf "%su1.id%s: ", $color_highlite, $color_end</div><div class='add'>+  p ($arg0).u1.id</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define nd_clss</div><div class='add'>+  printf "%su1.value%s: ", $color_highlite, $color_end</div><div class='add'>+  rp ($arg0).u1.value</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+define nd_beg</div><div class='add'>+  printf "%su1.node%s: ", $color_highlite, $color_end</div><div class='add'>+  rp ($arg0).u1.node</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define nd_end</div><div class='add'>+  printf "%su2.node%s: ", $color_highlite, $color_end</div><div class='add'>+  rp ($arg0).u2.node</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define nd_state</div><div class='add'>+  printf "%su3.state%s: ", $color_highlite, $color_end</div><div class='add'>+  p ($arg0).u3.state</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define nd_rval</div><div class='add'>+  printf "%su2.value%s: ", $color_highlite, $color_end</div><div class='add'>+  rp ($arg0).u2.value</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+define nd_nth</div><div class='add'>+  printf "%su2.argc%s: ", $color_highlite, $color_end</div><div class='add'>+  p ($arg0).u2.argc</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+define nd_tag</div><div class='add'>+  printf "%su1.id%s: ", $color_highlite, $color_end</div><div class='add'>+  p ($arg0).u1.id</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define nd_tval</div><div class='add'>+  printf "%su2.value%s: ", $color_highlite, $color_end</div><div class='add'>+  rp ($arg0).u2.value</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define nd_tree</div><div class='add'>+  set $buf = (struct RString *)rb_str_buf_new(0)</div><div class='add'>+  call dump_node((VALUE)($buf), rb_str_tmp_new(0), 0, ($arg0))</div><div class='add'>+  printf "%s\n", $buf-&gt;as.heap.ptr</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define rb_p</div><div class='add'>+  call rb_p($arg0)</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define rb_numtable_entry</div><div class='add'>+  set $rb_numtable_tbl = $arg0</div><div class='add'>+  set $rb_numtable_id = (st_data_t)$arg1</div><div class='add'>+  set $rb_numtable_key = 0</div><div class='add'>+  set $rb_numtable_rec = 0</div><div class='add'>+  if $rb_numtable_tbl-&gt;entries_packed</div><div class='add'>+    set $rb_numtable_p = $rb_numtable_tbl-&gt;as.packed.bins</div><div class='add'>+    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='add'>+      if $rb_numtable_p.k == $rb_numtable_id</div><div class='add'>+	set $rb_numtable_key = $rb_numtable_p.k</div><div class='add'>+	set $rb_numtable_rec = $rb_numtable_p.v</div><div class='add'>+	set $rb_numtable_p = 0</div><div class='add'>+      else</div><div class='add'>+	set $rb_numtable_p = $rb_numtable_p + 1</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  else</div><div class='add'>+    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='add'>+    while $rb_numtable_p</div><div class='add'>+      if $rb_numtable_p-&gt;key == $rb_numtable_id</div><div class='add'>+	set $rb_numtable_key = $rb_numtable_p-&gt;key</div><div class='add'>+	set $rb_numtable_rec = $rb_numtable_p-&gt;record</div><div class='add'>+	set $rb_numtable_p = 0</div><div class='add'>+      else</div><div class='add'>+	set $rb_numtable_p = $rb_numtable_p-&gt;next</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define rb_id2name</div><div class='add'>+  ruby_gdb_init</div><div class='add'>+  printf "%sID%s: ", $color_type, $color_end</div><div class='add'>+  rp_id $arg0</div><div class='add'>+end</div><div class='add'>+document rb_id2name</div><div class='add'>+  Print the name of id</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define rb_method_entry</div><div class='add'>+  set $rb_method_entry_klass = (struct RClass *)$arg0</div><div class='add'>+  set $rb_method_entry_id = (ID)$arg1</div><div class='add'>+  set $rb_method_entry_me = (rb_method_entry_t *)0</div><div class='add'>+  while !$rb_method_entry_me &amp;&amp; $rb_method_entry_klass</div><div class='add'>+    rb_numtable_entry $rb_method_entry_klass-&gt;m_tbl_wrapper-&gt;tbl $rb_method_entry_id</div><div class='add'>+    set $rb_method_entry_me = (rb_method_entry_t *)$rb_numtable_rec</div><div class='add'>+    if !$rb_method_entry_me</div><div class='add'>+      set $rb_method_entry_klass = (struct RClass *)RCLASS_SUPER($rb_method_entry_klass)</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  if $rb_method_entry_me</div><div class='add'>+    print *$rb_method_entry_klass</div><div class='add'>+    print *$rb_method_entry_me</div><div class='add'>+  else</div><div class='add'>+    echo method not found\n</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+document rb_method_entry</div><div class='add'>+  Search method entry by class and id</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define rb_classname</div><div class='add'>+  # up to 128bit int</div><div class='add'>+  set $rb_classname = rb_mod_name($arg0)</div><div class='add'>+  if $rb_classname != RUBY_Qnil</div><div class='add'>+    rp $rb_classname</div><div class='add'>+  else</div><div class='add'>+    echo anonymous class/module\n</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define rb_ancestors</div><div class='add'>+  set $rb_ancestors_module = $arg0</div><div class='add'>+  while $rb_ancestors_module</div><div class='add'>+    rp_class $rb_ancestors_module</div><div class='add'>+    set $rb_ancestors_module = RCLASS_SUPER($rb_ancestors_module)</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+document rb_ancestors</div><div class='add'>+  Print ancestors.</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define rb_backtrace</div><div class='add'>+  call rb_backtrace()</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define iseq</div><div class='add'>+  if ruby_dummy_gdb_enums.special_consts</div><div class='add'>+  end</div><div class='add'>+  if ($arg0)-&gt;type == ISEQ_ELEMENT_NONE</div><div class='add'>+    echo [none]\n</div><div class='add'>+  end</div><div class='add'>+  if ($arg0)-&gt;type == ISEQ_ELEMENT_LABEL</div><div class='add'>+    print *(LABEL*)($arg0)</div><div class='add'>+  end</div><div class='add'>+  if ($arg0)-&gt;type == ISEQ_ELEMENT_INSN</div><div class='add'>+    print *(INSN*)($arg0)</div><div class='add'>+    if ((INSN*)($arg0))-&gt;insn_id != YARVINSN_jump</div><div class='add'>+      set $i = 0</div><div class='add'>+      set $operand_size = ((INSN*)($arg0))-&gt;operand_size</div><div class='add'>+      set $operands = ((INSN*)($arg0))-&gt;operands</div><div class='add'>+      while $i &lt; $operand_size</div><div class='add'>+	rp $operands[$i++]</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  if ($arg0)-&gt;type == ISEQ_ELEMENT_ADJUST</div><div class='add'>+    print *(ADJUST*)($arg0)</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define rb_ps</div><div class='add'>+  rb_ps_vm ruby_current_vm_ptr</div><div class='add'>+end</div><div class='add'>+document rb_ps</div><div class='add'>+Dump all threads and their callstacks</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define rb_ps_vm</div><div class='add'>+  print $ps_vm = (rb_vm_t*)$arg0</div><div class='add'>+  set $ps_thread_ln = $ps_vm-&gt;living_threads.n.next</div><div class='add'>+  set $ps_thread_ln_last = $ps_vm-&gt;living_threads.n.prev</div><div class='add'>+  while 1</div><div class='add'>+    set $ps_thread_th = (rb_thread_t *)$ps_thread_ln</div><div class='add'>+    set $ps_thread = (VALUE)($ps_thread_th-&gt;self)</div><div class='add'>+    rb_ps_thread $ps_thread</div><div class='add'>+    if $ps_thread_ln == $ps_thread_ln_last</div><div class='add'>+      loop_break</div><div class='add'>+    end</div><div class='add'>+    set $ps_thread_ln = $ps_thread_ln-&gt;next</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+document rb_ps_vm</div><div class='add'>+Dump all threads in a (rb_vm_t*) and their callstacks</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define print_lineno</div><div class='add'>+  set $cfp = $arg0</div><div class='add'>+  set $iseq = $cfp-&gt;iseq</div><div class='add'>+  set $pos = $cfp-&gt;pc - $iseq-&gt;body-&gt;iseq_encoded</div><div class='add'>+  if $pos != 0</div><div class='add'>+    set $pos = $pos - 1</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  set $index = 0</div><div class='add'>+  set $size = $iseq-&gt;body-&gt;insns_info.size</div><div class='add'>+  set $table = $iseq-&gt;body-&gt;insns_info.body</div><div class='add'>+  set $positions = $iseq-&gt;body-&gt;insns_info.positions</div><div class='add'>+  #printf "size: %d\n", $size</div><div class='add'>+  if $size == 0</div><div class='add'>+  else</div><div class='add'>+  if $size == 1</div><div class='add'>+    printf "%d", $table[0].line_no</div><div class='add'>+  else</div><div class='add'>+    if $positions</div><div class='add'>+      # get_insn_info_linear_search</div><div class='add'>+      set $index = 1</div><div class='add'>+      while $index &lt; $size</div><div class='add'>+        #printf "table[%d]: position: %d, line: %d, pos: %d\n", $i, $positions[$i], $table[$i].line_no, $pos</div><div class='add'>+        if $positions[$index] &gt; $pos</div><div class='add'>+          loop_break</div><div class='add'>+        end</div><div class='add'>+        set $index = $index + 1</div><div class='add'>+        if $positions[$index] == $pos</div><div class='add'>+          loop_break</div><div class='add'>+        end</div><div class='add'>+      end</div><div class='add'>+    else</div><div class='add'>+      # get_insn_info_succinct_bitvector</div><div class='add'>+      set $sd = $iseq-&gt;body-&gt;insns_info.succ_index_table</div><div class='add'>+      set $immediate_table_size = sizeof($sd-&gt;imm_part) / sizeof(uint64_t) * 9</div><div class='add'>+      if $pos &lt; $immediate_table_size</div><div class='add'>+        set $i = $pos / 9</div><div class='add'>+        set $j = $pos % 9</div><div class='add'>+        set $index = ((int)($sd-&gt;imm_part[$i] &gt;&gt; ($j * 7))) &amp; 0x7f</div><div class='add'>+      else</div><div class='add'>+        set $block_index = ($pos - $immediate_table_size) / 512</div><div class='add'>+        set $block = &amp;$sd-&gt;succ_part[$block_index]</div><div class='add'>+        set $block_bit_index = ($pos - $immediate_table_size) % 512</div><div class='add'>+        set $small_block_index = $block_bit_index / 64</div><div class='add'>+        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='add'>+        set $x = $block-&gt;bits[$small_block_index] &lt;&lt; (63 - $block_bit_index % 64)</div><div class='add'>+        set $x = ($x &amp; 0x5555555555555555) + ($x &gt;&gt; 1 &amp; 0x5555555555555555)</div><div class='add'>+        set $x = ($x &amp; 0x3333333333333333) + ($x &gt;&gt; 2 &amp; 0x3333333333333333)</div><div class='add'>+        set $x = ($x &amp; 0x0707070707070707) + ($x &gt;&gt; 4 &amp; 0x0707070707070707)</div><div class='add'>+        set $x = ($x &amp; 0x001f001f001f001f) + ($x &gt;&gt; 8 &amp; 0x001f001f001f001f)</div><div class='add'>+        set $x = ($x &amp; 0x0000003f0000003f) + ($x &gt;&gt;16 &amp; 0x0000003f0000003f)</div><div class='add'>+        set $popcnt = ($x &amp; 0x7f) + ($x &gt;&gt;32 &amp; 0x7f)</div><div class='add'>+        set $index = $block-&gt;rank + $small_block_popcount + $popcnt</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+    printf "%d", $table[$index-1].line_no</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define check_method_entry</div><div class='add'>+  set $imemo = (struct RBasic *)$arg0</div><div class='add'>+  if $imemo != RUBY_Qfalse</div><div class='add'>+    set $type = ($imemo-&gt;flags &gt;&gt; 12) &amp; 0x07</div><div class='add'>+    if $type == imemo_ment</div><div class='add'>+      set $me = (rb_callable_method_entry_t *)$imemo</div><div class='add'>+    else</div><div class='add'>+    if $type == imemo_svar</div><div class='add'>+      set $imemo = ((struct vm_svar *)$imemo)-&gt;cref_or_me</div><div class='add'>+      check_method_entry $imemo</div><div class='add'>+    end</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define print_id</div><div class='add'>+  set $id = $arg0</div><div class='add'>+  # rb_id_to_serial</div><div class='add'>+  if $id &gt; tLAST_OP_ID</div><div class='add'>+    set $serial = (rb_id_serial_t)($id &gt;&gt; RUBY_ID_SCOPE_SHIFT)</div><div class='add'>+  else</div><div class='add'>+    set $serial = (rb_id_serial_t)$id</div><div class='add'>+  end</div><div class='add'>+  if $serial &amp;&amp; $serial &lt;= ruby_global_symbols.last_id</div><div class='add'>+    set $idx = $serial / ID_ENTRY_UNIT</div><div class='add'>+    set $ids = (struct RArray *)ruby_global_symbols.ids</div><div class='add'>+    set $flags = $ids-&gt;basic.flags</div><div class='add'>+    if ($flags &amp; RUBY_FL_USER1)</div><div class='add'>+      set $idsptr = $ids-&gt;as.ary</div><div class='add'>+      set $idslen = (($flags &amp; (RUBY_FL_USER3|RUBY_FL_USER4)) &gt;&gt; (RUBY_FL_USHIFT+3))</div><div class='add'>+    else</div><div class='add'>+      set $idsptr = $ids-&gt;as.heap.ptr</div><div class='add'>+      set $idslen = $ids-&gt;as.heap.len</div><div class='add'>+    end</div><div class='add'>+    if $idx &lt; $idslen</div><div class='add'>+      set $t = 0</div><div class='add'>+      set $ary = (struct RArray *)$idsptr[$idx]</div><div class='add'>+      if $ary != RUBY_Qnil</div><div class='add'>+        set $flags = $ary-&gt;basic.flags</div><div class='add'>+        if ($flags &amp; RUBY_FL_USER1)</div><div class='add'>+          set $aryptr = $ary-&gt;as.ary</div><div class='add'>+          set $arylen = (($flags &amp; (RUBY_FL_USER3|RUBY_FL_USER4)) &gt;&gt; (RUBY_FL_USHIFT+3))</div><div class='add'>+        else</div><div class='add'>+          set $aryptr = $ary-&gt;as.heap.ptr</div><div class='add'>+          set $arylen = $ary-&gt;as.heap.len</div><div class='add'>+        end</div><div class='add'>+        set $result = $aryptr[($serial % ID_ENTRY_UNIT) * ID_ENTRY_SIZE + $t]</div><div class='add'>+	if $result != RUBY_Qnil</div><div class='add'>+          print_string $result</div><div class='add'>+	else</div><div class='add'>+	  echo undef</div><div class='add'>+	end</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define print_pathobj</div><div class='add'>+  set $flags = ((struct RBasic*)($arg0))-&gt;flags</div><div class='add'>+  if ($flags &amp; RUBY_T_MASK) == RUBY_T_STRING</div><div class='add'>+    print_string $arg0</div><div class='add'>+  end</div><div class='add'>+  if ($flags &amp; RUBY_T_MASK) == RUBY_T_ARRAY</div><div class='add'>+    if $flags &amp; RUBY_FL_USER1</div><div class='add'>+      set $str = ((struct RArray*)($arg0))-&gt;as.ary[0]</div><div class='add'>+    else</div><div class='add'>+      set $str = ((struct RArray*)($arg0))-&gt;as.heap.ptr[0]</div><div class='add'>+    end</div><div class='add'>+    print_string $str</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define rb_ps_thread</div><div class='add'>+  set $ps_thread = (struct RTypedData*)$arg0</div><div class='add'>+  set $ps_thread_th = (rb_thread_t*)$ps_thread-&gt;data</div><div class='add'>+  printf "* #&lt;Thread:%p rb_thread_t:%p native_thread:%p&gt;\n", \</div><div class='add'>+    $ps_thread, $ps_thread_th, $ps_thread_th-&gt;thread_id</div><div class='add'>+  set $cfp = $ps_thread_th-&gt;ec-&gt;cfp</div><div class='add'>+  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='add'>+  while $cfp &lt; $cfpend</div><div class='add'>+    if $cfp-&gt;iseq</div><div class='add'>+      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='add'>+        printf "%d:ifunc ", $cfpend-$cfp</div><div class='add'>+        set print symbol-filename on</div><div class='add'>+        output/a $cfp-&gt;iseq.body</div><div class='add'>+        set print symbol-filename off</div><div class='add'>+        printf "\n"</div><div class='add'>+      else</div><div class='add'>+      if $cfp-&gt;pc</div><div class='add'>+        set $location = $cfp-&gt;iseq-&gt;body-&gt;location</div><div class='add'>+        printf "%d:", $cfpend-$cfp</div><div class='add'>+        print_pathobj $location.pathobj</div><div class='add'>+        printf ":"</div><div class='add'>+        print_lineno $cfp</div><div class='add'>+        printf ":in `"</div><div class='add'>+        print_string $location.label</div><div class='add'>+        printf "'\n"</div><div class='add'>+      else</div><div class='add'>+        printf "%d: ???.rb:???:in `???'\n", $cfpend-$cfp</div><div class='add'>+      end</div><div class='add'>+      end</div><div class='add'>+    else</div><div class='add'>+      # if VM_FRAME_TYPE($cfp-&gt;flag) == VM_FRAME_MAGIC_CFUNC</div><div class='add'>+      set $ep = $cfp-&gt;ep</div><div class='add'>+      if ($ep[0] &amp; 0xffff0001) == 0x55550001</div><div class='add'>+        #define VM_ENV_FLAG_LOCAL 0x02</div><div class='add'>+        #define VM_ENV_PREV_EP(ep)   GC_GUARDED_PTR_REF(ep[VM_ENV_DATA_INDEX_SPECVAL])</div><div class='add'>+        set $me = 0</div><div class='add'>+        set $env_specval = $ep[-1]</div><div class='add'>+        set $env_me_cref = $ep[-2]</div><div class='add'>+        while ($env_specval &amp; 0x02) != 0</div><div class='add'>+          check_method_entry $env_me_cref</div><div class='add'>+          if $me != 0</div><div class='add'>+            loop_break</div><div class='add'>+          end</div><div class='add'>+          set $ep = $ep[0]</div><div class='add'>+          set $env_specval = $ep[-1]</div><div class='add'>+          set $env_me_cref = $ep[-2]</div><div class='add'>+        end</div><div class='add'>+        if $me == 0</div><div class='add'>+          check_method_entry $env_me_cref</div><div class='add'>+        end</div><div class='add'>+        printf "%d:", $cfpend-$cfp</div><div class='add'>+        set print symbol-filename on</div><div class='add'>+        output/a $me-&gt;def-&gt;body.cfunc.func</div><div class='add'>+        set print symbol-filename off</div><div class='add'>+        set $mid = $me-&gt;def-&gt;original_id</div><div class='add'>+        printf ":in `"</div><div class='add'>+        print_id $mid</div><div class='add'>+        printf "'\n"</div><div class='add'>+      else</div><div class='add'>+        printf "%d:unknown_frame:???:in `???'\n", $cfpend-$cfp</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+    set $cfp = $cfp + 1</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define rb_count_objects</div><div class='add'>+  set $objspace = ruby_current_vm_ptr-&gt;objspace</div><div class='add'>+  set $counts_00 = 0</div><div class='add'>+  set $counts_01 = 0</div><div class='add'>+  set $counts_02 = 0</div><div class='add'>+  set $counts_03 = 0</div><div class='add'>+  set $counts_04 = 0</div><div class='add'>+  set $counts_05 = 0</div><div class='add'>+  set $counts_06 = 0</div><div class='add'>+  set $counts_07 = 0</div><div class='add'>+  set $counts_08 = 0</div><div class='add'>+  set $counts_09 = 0</div><div class='add'>+  set $counts_0a = 0</div><div class='add'>+  set $counts_0b = 0</div><div class='add'>+  set $counts_0c = 0</div><div class='add'>+  set $counts_0d = 0</div><div class='add'>+  set $counts_0e = 0</div><div class='add'>+  set $counts_0f = 0</div><div class='add'>+  set $counts_10 = 0</div><div class='add'>+  set $counts_11 = 0</div><div class='add'>+  set $counts_12 = 0</div><div class='add'>+  set $counts_13 = 0</div><div class='add'>+  set $counts_14 = 0</div><div class='add'>+  set $counts_15 = 0</div><div class='add'>+  set $counts_16 = 0</div><div class='add'>+  set $counts_17 = 0</div><div class='add'>+  set $counts_18 = 0</div><div class='add'>+  set $counts_19 = 0</div><div class='add'>+  set $counts_1a = 0</div><div class='add'>+  set $counts_1b = 0</div><div class='add'>+  set $counts_1c = 0</div><div class='add'>+  set $counts_1d = 0</div><div class='add'>+  set $counts_1e = 0</div><div class='add'>+  set $counts_1f = 0</div><div class='add'>+  set $total = 0</div><div class='add'>+  set $i = 0</div><div class='add'>+  while $i &lt; $objspace-&gt;heap_pages.allocated_pages</div><div class='add'>+    printf "\rcounting... %d/%d", $i, $objspace-&gt;heap_pages.allocated_pages</div><div class='add'>+    set $page = $objspace-&gt;heap_pages.sorted[$i]</div><div class='add'>+    set $p = $page-&gt;start</div><div class='add'>+    set $pend = $p + $page-&gt;total_slots</div><div class='add'>+    while $p &lt; $pend</div><div class='add'>+      set $flags = $p-&gt;as.basic.flags &amp; 0x1f</div><div class='add'>+      eval "set $counts_%02x = $counts_%02x + 1", $flags, $flags</div><div class='add'>+      set $p = $p + 1</div><div class='add'>+    end</div><div class='add'>+    set $total = $total + $page-&gt;total_slots</div><div class='add'>+    set $i = $i + 1</div><div class='add'>+  end</div><div class='add'>+  printf "\rTOTAL: %d, FREE: %d\n", $total, $counts_00</div><div class='add'>+  printf "T_OBJECT: %d\n", $counts_01</div><div class='add'>+  printf "T_CLASS: %d\n", $counts_02</div><div class='add'>+  printf "T_MODULE: %d\n", $counts_03</div><div class='add'>+  printf "T_FLOAT: %d\n", $counts_04</div><div class='add'>+  printf "T_STRING: %d\n", $counts_05</div><div class='add'>+  printf "T_REGEXP: %d\n", $counts_06</div><div class='add'>+  printf "T_ARRAY: %d\n", $counts_07</div><div class='add'>+  printf "T_HASH: %d\n", $counts_08</div><div class='add'>+  printf "T_STRUCT: %d\n", $counts_09</div><div class='add'>+  printf "T_BIGNUM: %d\n", $counts_0a</div><div class='add'>+  printf "T_FILE: %d\n", $counts_0b</div><div class='add'>+  printf "T_DATA: %d\n", $counts_0c</div><div class='add'>+  printf "T_MATCH: %d\n", $counts_0d</div><div class='add'>+  printf "T_COMPLEX: %d\n", $counts_0e</div><div class='add'>+  printf "T_RATIONAL: %d\n", $counts_0f</div><div class='add'>+  #printf "UNKNOWN_10: %d\n", $counts_10</div><div class='add'>+  printf "T_NIL: %d\n", $counts_11</div><div class='add'>+  printf "T_TRUE: %d\n", $counts_12</div><div class='add'>+  printf "T_FALSE: %d\n", $counts_13</div><div class='add'>+  printf "T_SYMBOL: %d\n", $counts_14</div><div class='add'>+  printf "T_FIXNUM: %d\n", $counts_15</div><div class='add'>+  printf "T_UNDEF: %d\n", $counts_16</div><div class='add'>+  #printf "UNKNOWN_17: %d\n", $counts_17</div><div class='add'>+  #printf "UNKNOWN_18: %d\n", $counts_18</div><div class='add'>+  #printf "UNKNOWN_19: %d\n", $counts_19</div><div class='add'>+  printf "T_IMEMO: %d\n", $counts_1a</div><div class='add'>+  printf "T_NODE: %d\n", $counts_1b</div><div class='add'>+  printf "T_ICLASS: %d\n", $counts_1c</div><div class='add'>+  printf "T_ZOMBIE: %d\n", $counts_1d</div><div class='add'>+  #printf "UNKNOWN_1E: %d\n", $counts_1e</div><div class='add'>+  printf "T_MASK: %d\n", $counts_1f</div><div class='add'>+end</div><div class='add'>+document rb_count_objects</div><div class='add'>+  Counts all objects grouped by type.</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+# Details: https://bugs.ruby-lang.org/projects/ruby-master/wiki/MachineInstructionsTraceWithGDB</div><div class='add'>+define trace_machine_instructions</div><div class='add'>+  set logging on</div><div class='add'>+  set height 0</div><div class='add'>+  set width 0</div><div class='add'>+  display/i $pc</div><div class='add'>+  while !$exit_code</div><div class='add'>+    info line *$pc</div><div class='add'>+    si</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define SDR</div><div class='add'>+  call rb_vmdebug_stack_dump_raw_current()</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define rbi</div><div class='add'>+  if ((LINK_ELEMENT*)$arg0)-&gt;type == ISEQ_ELEMENT_LABEL</div><div class='add'>+    p *(LABEL*)$arg0</div><div class='add'>+  else</div><div class='add'>+  if ((LINK_ELEMENT*)$arg0)-&gt;type == ISEQ_ELEMENT_INSN</div><div class='add'>+    p *(INSN*)$arg0</div><div class='add'>+  else</div><div class='add'>+  if ((LINK_ELEMENT*)$arg0)-&gt;type == ISEQ_ELEMENT_ADJUST</div><div class='add'>+    p *(ADJUST*)$arg0</div><div class='add'>+  else</div><div class='add'>+    print *$arg0</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define dump_node</div><div class='add'>+  set $str = rb_parser_dump_tree($arg0, 0)</div><div class='add'>+  set $flags = ((struct RBasic*)($str))-&gt;flags</div><div class='add'>+  printf "%s", (char *)(($flags &amp; RUBY_FL_USER1) ? \</div><div class='add'>+                        ((struct RString*)$str)-&gt;as.heap.ptr : \</div><div class='add'>+                        ((struct RString*)$str)-&gt;as.ary)</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+define print_flags</div><div class='add'>+  printf "RUBY_FL_WB_PROTECTED: %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_WB_PROTECTED ? "1" : "0"</div><div class='add'>+  printf "RUBY_FL_PROMOTED0   : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_PROMOTED0 ? "1" : "0"</div><div class='add'>+  printf "RUBY_FL_PROMOTED1   : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_PROMOTED1 ? "1" : "0"</div><div class='add'>+  printf "RUBY_FL_FINALIZE    : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_FINALIZE ? "1" : "0"</div><div class='add'>+  printf "RUBY_FL_TAINT       : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_TAINT ? "1" : "0"</div><div class='add'>+  printf "RUBY_FL_UNTRUSTED   : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_UNTRUSTED ? "1" : "0"</div><div class='add'>+  printf "RUBY_FL_EXIVAR      : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_EXIVAR ? "1" : "0"</div><div class='add'>+  printf "RUBY_FL_FREEZE      : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_FREEZE ? "1" : "0"</div><div class='add'>+</div><div class='add'>+  printf "RUBY_FL_USER0       : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_USER0 ? "1" : "0"</div><div class='add'>+  printf "RUBY_FL_USER1       : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_USER1 ? "1" : "0"</div><div class='add'>+  printf "RUBY_FL_USER2       : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_USER2 ? "1" : "0"</div><div class='add'>+  printf "RUBY_FL_USER3       : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_USER3 ? "1" : "0"</div><div class='add'>+  printf "RUBY_FL_USER4       : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_USER4 ? "1" : "0"</div><div class='add'>+  printf "RUBY_FL_USER5       : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_USER5 ? "1" : "0"</div><div class='add'>+  printf "RUBY_FL_USER6       : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_USER6 ? "1" : "0"</div><div class='add'>+  printf "RUBY_FL_USER7       : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_USER7 ? "1" : "0"</div><div class='add'>+  printf "RUBY_FL_USER8       : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_USER8 ? "1" : "0"</div><div class='add'>+  printf "RUBY_FL_USER9       : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_USER9 ? "1" : "0"</div><div class='add'>+  printf "RUBY_FL_USER10      : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_USER10 ? "1" : "0"</div><div class='add'>+  printf "RUBY_FL_USER11      : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_USER11 ? "1" : "0"</div><div class='add'>+  printf "RUBY_FL_USER12      : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_USER12 ? "1" : "0"</div><div class='add'>+  printf "RUBY_FL_USER13      : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_USER13 ? "1" : "0"</div><div class='add'>+  printf "RUBY_FL_USER14      : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_USER14 ? "1" : "0"</div><div class='add'>+  printf "RUBY_FL_USER15      : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_USER15 ? "1" : "0"</div><div class='add'>+  printf "RUBY_FL_USER16      : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_USER16 ? "1" : "0"</div><div class='add'>+  printf "RUBY_FL_USER17      : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_USER17 ? "1" : "0"</div><div class='add'>+  printf "RUBY_FL_USER18      : %s\n", ((struct RBasic*)($arg0))-&gt;flags &amp; RUBY_FL_USER18 ? "1" : "0"</div><div class='add'>+end</div><div class='head'>diff --git a/.gitattributes b/.gitattributes<br/>new file mode 100644<br/>index 0000000000..d0c2d266b4<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/.gitattributes?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>.gitattributes</a></div><div class='hunk'>@@ -0,0 +1,8 @@</div><div class='add'>+*.gemspec diff=ruby</div><div class='add'>+*.rb diff=ruby</div><div class='add'>+bin svn-properties=svn:ignore=ruby</div><div class='add'>+bin/* diff=ruby</div><div class='add'>+tool/update-deps diff=ruby</div><div class='add'>+tool/make-snapshot diff=ruby</div><div class='add'>+tool/format-release diff=ruby</div><div class='add'>+tool/leaked-globals diff=ruby</div><div class='head'>diff --git a/.github/SECURITY.md b/.github/SECURITY.md<br/>new file mode 100644<br/>index 0000000000..56baa29942<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/.github/SECURITY.md?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>.github/SECURITY.md</a></div><div class='hunk'>@@ -0,0 +1,9 @@</div><div class='add'>+# Security Policy</div><div class='add'>+</div><div class='add'>+## Supported Versions</div><div class='add'>+</div><div class='add'>+See &lt;https://www.ruby-lang.org/en/downloads/branches/&gt;.</div><div class='add'>+</div><div class='add'>+## Reporting a Vulnerability</div><div class='add'>+</div><div class='add'>+See &lt;https://www.ruby-lang.org/en/security/&gt;.</div><div class='head'>diff --git a/.github/codeql/codeql-config.yml b/.github/codeql/codeql-config.yml<br/>new file mode 100644<br/>index 0000000000..7196708b21<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/.github/codeql/codeql-config.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>.github/codeql/codeql-config.yml</a></div><div class='hunk'>@@ -0,0 +1,4 @@</div><div class='add'>+name: "CodeQL config for the Ruby language"</div><div class='add'>+</div><div class='add'>+paths-ignore:</div><div class='add'>+  - '/ext/**/*/conftest.c'</div><div class='head'>diff --git a/.github/workflows/baseruby.yml b/.github/workflows/baseruby.yml<br/>new file mode 100644<br/>index 0000000000..bdb9011f25<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/.github/workflows/baseruby.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>.github/workflows/baseruby.yml</a></div><div class='hunk'>@@ -0,0 +1,47 @@</div><div class='add'>+name: BASERUBY Check</div><div class='add'>+</div><div class='add'>+on: [push, pull_request]</div><div class='add'>+</div><div class='add'>+jobs:</div><div class='add'>+  baseruby:</div><div class='add'>+    name: BASERUBY</div><div class='add'>+    runs-on: ubuntu-20.04</div><div class='add'>+    if: "!contains(github.event.head_commit.message, '[ci skip]')"</div><div class='add'>+    strategy:</div><div class='add'>+      matrix:</div><div class='add'>+        ruby:</div><div class='add'>+          - ruby-2.2</div><div class='add'>+#         - ruby-2.3</div><div class='add'>+#         - ruby-2.4</div><div class='add'>+#         - ruby-2.5</div><div class='add'>+#         - ruby-2.6</div><div class='add'>+          - ruby-2.7</div><div class='add'>+</div><div class='add'>+    steps:</div><div class='add'>+      - uses: actions/checkout@v2</div><div class='add'>+      - uses: ruby/setup-ruby@v1</div><div class='add'>+        with:</div><div class='add'>+          ruby-version: ${{ matrix.ruby }}</div><div class='add'>+          bundler: none</div><div class='add'>+      - run: echo "make=make -sj$((1 + $(nproc --all)))" &gt;&gt; $GITHUB_ENV</div><div class='add'>+      - run: sudo apt-get install build-essential autoconf bison</div><div class='add'>+      - run: autoconf</div><div class='add'>+      - run: ./configure --disable-install-doc</div><div class='add'>+      - run: $make update-unicode</div><div class='add'>+      - run: $make common-srcs</div><div class='add'>+      - run: $make incs</div><div class='add'>+      - run: $make all</div><div class='add'>+      - run: $make test</div><div class='add'>+      - uses: k0kubun/action-slack@v2.0.0</div><div class='add'>+        with:</div><div class='add'>+          payload: |</div><div class='add'>+            {</div><div class='add'>+              "ci": "GitHub Actions",</div><div class='add'>+              "env": "${{ github.workflow }} / BASERUBY @ ${{ matrix.ruby }}",</div><div class='add'>+              "url": "https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}",</div><div class='add'>+              "commit": "${{ github.sha }}",</div><div class='add'>+              "branch": "${{ github.ref }}".split('/').reverse()[0]</div><div class='add'>+            }</div><div class='add'>+        env:</div><div class='add'>+          SLACK_WEBHOOK_URL: ${{ secrets.SIMPLER_ALERTS_URL }} # ruby-lang slack: ruby/simpler-alerts-bot</div><div class='add'>+        if: failure() &amp;&amp; github.event_name == 'push'</div><div class='head'>diff --git a/.github/workflows/check_branch.yml b/.github/workflows/check_branch.yml<br/>new file mode 100644<br/>index 0000000000..37cf3a9a8f<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/.github/workflows/check_branch.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>.github/workflows/check_branch.yml</a></div><div class='hunk'>@@ -0,0 +1,22 @@</div><div class='add'>+# We bidirectionally synchronize github.com/ruby/ruby.git's master branch and</div><div class='add'>+# git.ruby-lang.org/ruby.git's master branch.</div><div class='add'>+# We can use a pull request's merge button only on the master branch.</div><div class='add'>+#</div><div class='add'>+# Therefore, we require to pass this "check_branch" on all protected branches</div><div class='add'>+# to prevent us from accidentally pushing commits to GitHub directly.</div><div class='add'>+#</div><div class='add'>+# Details: https://bugs.ruby-lang.org/issues/16094</div><div class='add'>+name: Pull Request</div><div class='add'>+on: [pull_request]</div><div class='add'>+jobs:</div><div class='add'>+  check_branch:</div><div class='add'>+    runs-on: ubuntu-latest</div><div class='add'>+    steps:</div><div class='add'>+      - name: Check if branch is master</div><div class='add'>+        run: |</div><div class='add'>+          if [ "$BASE_REF" != master ]; then</div><div class='add'>+            echo "Only master branch accepts a pull request, but it's '$BASE_REF'."</div><div class='add'>+            exit 1</div><div class='add'>+          fi</div><div class='add'>+        env:</div><div class='add'>+          BASE_REF: ${{ github.base_ref }}</div><div class='head'>diff --git a/.github/workflows/check_dependencies.yml b/.github/workflows/check_dependencies.yml<br/>new file mode 100644<br/>index 0000000000..c878caddeb<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/.github/workflows/check_dependencies.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>.github/workflows/check_dependencies.yml</a></div><div class='hunk'>@@ -0,0 +1,45 @@</div><div class='add'>+name: Check Dependencies</div><div class='add'>+on: [push, pull_request]</div><div class='add'>+jobs:</div><div class='add'>+  update-deps:</div><div class='add'>+    strategy:</div><div class='add'>+      matrix:</div><div class='add'>+        os: [ubuntu-20.04, macos-latest]</div><div class='add'>+      fail-fast: true</div><div class='add'>+    runs-on: ${{ matrix.os }}</div><div class='add'>+    if: "!contains(github.event.head_commit.message, '[ci skip]')"</div><div class='add'>+    steps:</div><div class='add'>+      - name: Install libraries</div><div class='add'>+        run: |</div><div class='add'>+          set -x</div><div class='add'>+          sudo apt-get update -q || :</div><div class='add'>+          sudo apt-get install --no-install-recommends -q -y build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm-dev bison autoconf ruby</div><div class='add'>+        if: "contains(matrix.os, 'ubuntu')"</div><div class='add'>+      - name: Install libraries</div><div class='add'>+        run: |</div><div class='add'>+          brew upgrade</div><div class='add'>+          brew install gdbm gmp libffi openssl@1.1 zlib autoconf automake libtool readline</div><div class='add'>+        if: "contains(matrix.os, 'macos')"</div><div class='add'>+      - name: git config</div><div class='add'>+        run: |</div><div class='add'>+          git config --global advice.detachedHead 0</div><div class='add'>+      - uses: actions/checkout@v2</div><div class='add'>+      - run: autoconf</div><div class='add'>+      - name: Run configure</div><div class='add'>+        run: ./configure -C --disable-install-doc --disable-rubygems --with-gcc 'optflags=-O0' 'debugflags=-save-temps=obj -g'</div><div class='add'>+      - run: make all golf</div><div class='add'>+      - run: ruby tool/update-deps --fix</div><div class='add'>+      - run: git diff --no-ext-diff --ignore-submodules --exit-code</div><div class='add'>+      - uses: k0kubun/action-slack@v2.0.0</div><div class='add'>+        with:</div><div class='add'>+          payload: |</div><div class='add'>+            {</div><div class='add'>+              "ci": "GitHub Actions",</div><div class='add'>+              "env": "${{ matrix.os }} / Dependencies need to update",</div><div class='add'>+              "url": "https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}",</div><div class='add'>+              "commit": "${{ github.sha }}",</div><div class='add'>+              "branch": "${{ github.ref }}".split('/').reverse()[0]</div><div class='add'>+            }</div><div class='add'>+        env:</div><div class='add'>+          SLACK_WEBHOOK_URL: ${{ secrets.SIMPLER_ALERTS_URL }} # ruby-lang slack: ruby/simpler-alerts-bot</div><div class='add'>+        if: failure() &amp;&amp; github.event_name == 'push'</div><div class='head'>diff --git a/.github/workflows/check_misc.yml b/.github/workflows/check_misc.yml<br/>new file mode 100644<br/>index 0000000000..2f4bbc7093<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/.github/workflows/check_misc.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>.github/workflows/check_misc.yml</a></div><div class='hunk'>@@ -0,0 +1,17 @@</div><div class='add'>+name: Miscellaneous checks</div><div class='add'>+on: [push, pull_request]</div><div class='add'>+</div><div class='add'>+jobs:</div><div class='add'>+  checks:</div><div class='add'>+    runs-on: ubuntu-latest</div><div class='add'>+    steps:</div><div class='add'>+      - uses: actions/checkout@v2</div><div class='add'>+      - name: Check if C-sources are US-ASCII</div><div class='add'>+        run: |</div><div class='add'>+          ! grep -r -n '[^	 -~]' *.[chy] include internal win32/*.[ch]</div><div class='add'>+      - name: Check for header macros</div><div class='add'>+        run: |</div><div class='add'>+          ! for header in ruby/*.h; do \</div><div class='add'>+            git grep -l -F -e $header -e HAVE_`echo $header | tr a-z./ A-Z__` -- . &gt; /dev/null || echo $header</div><div class='add'>+          done | grep -F .</div><div class='add'>+        working-directory: include</div><div class='head'>diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml<br/>new file mode 100644<br/>index 0000000000..9fbabd35c6<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/.github/workflows/codeql-analysis.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>.github/workflows/codeql-analysis.yml</a></div><div class='hunk'>@@ -0,0 +1,43 @@</div><div class='add'>+name: "Code scanning - action"</div><div class='add'>+</div><div class='add'>+on:</div><div class='add'>+  push:</div><div class='add'>+  pull_request:</div><div class='add'>+  schedule:</div><div class='add'>+    - cron: '0 12 * * 4'</div><div class='add'>+</div><div class='add'>+jobs:</div><div class='add'>+  CodeQL-Build:</div><div class='add'>+</div><div class='add'>+    # CodeQL runs on ubuntu-latest and windows-latest</div><div class='add'>+    runs-on: ubuntu-latest</div><div class='add'>+</div><div class='add'>+    steps:</div><div class='add'>+    - name: Install libraries</div><div class='add'>+      run: |</div><div class='add'>+        set -x</div><div class='add'>+        sudo apt-get update -q || :</div><div class='add'>+        sudo apt-get install --no-install-recommends -q -y build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm-dev bison autoconf ruby</div><div class='add'>+</div><div class='add'>+    - name: Checkout repository</div><div class='add'>+      uses: actions/checkout@v2</div><div class='add'>+      with:</div><div class='add'>+        fetch-depth: 2</div><div class='add'>+</div><div class='add'>+    - run: git checkout HEAD^2</div><div class='add'>+      if: ${{ github.event_name == 'pull_request' }}</div><div class='add'>+</div><div class='add'>+    - name: Remove an obsolete rubygems vendored file</div><div class='add'>+      run: sudo rm /usr/lib/ruby/vendor_ruby/rubygems/defaults/operating_system.rb</div><div class='add'>+</div><div class='add'>+    - name: Initialize CodeQL</div><div class='add'>+      uses: github/codeql-action/init@v1</div><div class='add'>+      with:</div><div class='add'>+        languages: cpp</div><div class='add'>+        config-file: ./.github/codeql/codeql-config.yml</div><div class='add'>+</div><div class='add'>+    - name: Autobuild</div><div class='add'>+      uses: github/codeql-action/autobuild@v1</div><div class='add'>+</div><div class='add'>+    - name: Perform CodeQL Analysis</div><div class='add'>+      uses: github/codeql-action/analyze@v1</div><div class='head'>diff --git a/.github/workflows/compilers.yml b/.github/workflows/compilers.yml<br/>new file mode 100644<br/>index 0000000000..532e4589e2<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/.github/workflows/compilers.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>.github/workflows/compilers.yml</a></div><div class='hunk'>@@ -0,0 +1,216 @@</div><div class='add'>+name: Compilations</div><div class='add'>+</div><div class='add'>+on: [push, pull_request]</div><div class='add'>+</div><div class='add'>+# Github actions does not support YAML anchors.  This creative use of</div><div class='add'>+# environment variables (plus the "echo ::set-env" hack) is to reroute that</div><div class='add'>+# restriction.</div><div class='add'>+env:</div><div class='add'>+  default_cc: clang-11</div><div class='add'>+  append_cc: ''</div><div class='add'>+  crosshost: ''</div><div class='add'>+</div><div class='add'>+  # -O1 is faster than -O3 in our tests... Majority of time are consumed trying</div><div class='add'>+  # to optimize binaries.  Also Github Actions runs on a relatively modern CPU</div><div class='add'>+  # compared to, say, GCC 4 or Clang 3.  We don't specify `-march=native`</div><div class='add'>+  # because compilers tend not understand what the CPU is.</div><div class='add'>+  optflags: '-O1'</div><div class='add'>+</div><div class='add'>+  # -g0 disables backtraces when SEGV.  Do not set that.</div><div class='add'>+  debugflags: '-ggdb3'</div><div class='add'>+</div><div class='add'>+  default_configure: &gt;-</div><div class='add'>+    --enable-debug-env</div><div class='add'>+    --disable-install-doc</div><div class='add'>+    --with-ext=-test-/cxxanyargs,+</div><div class='add'>+  append_configure: &gt;-</div><div class='add'>+    --without-valgrind</div><div class='add'>+    --without-jemalloc</div><div class='add'>+    --without-gmp</div><div class='add'>+</div><div class='add'>+  UPDATE_UNICODE: &gt;-</div><div class='add'>+    UNICODE_FILES=.</div><div class='add'>+    UNICODE_PROPERTY_FILES=.</div><div class='add'>+    UNICODE_AUXILIARY_FILES=.</div><div class='add'>+    UNICODE_EMOJI_FILES=.</div><div class='add'>+  CONFIGURE_TTY: never</div><div class='add'>+  GITPULLOPTIONS: --no-tags origin ${{github.ref}}</div><div class='add'>+  RUBY_DEBUG: ci rgengc</div><div class='add'>+  RUBY_TESTOPTS: &gt;-</div><div class='add'>+    -q</div><div class='add'>+    --color=always</div><div class='add'>+    --tty=no</div><div class='add'>+</div><div class='add'>+jobs:</div><div class='add'>+  compile:</div><div class='add'>+    strategy:</div><div class='add'>+      fail-fast: false</div><div class='add'>+      matrix:</div><div class='add'>+        entry:</div><div class='add'>+          - { key: default_cc, name: gcc-10,    value: gcc-10 }</div><div class='add'>+#         - { key: default_cc, name: gcc-9,     value: gcc-9 }</div><div class='add'>+#         - { key: default_cc, name: gcc-8,     value: gcc-8 }</div><div class='add'>+#         - { key: default_cc, name: gcc-7,     value: gcc-7 }</div><div class='add'>+#         - { key: default_cc, name: gcc-6,     value: gcc-6 }</div><div class='add'>+#         - { key: default_cc, name: gcc-5,     value: gcc-5 }</div><div class='add'>+          - { key: default_cc, name: gcc-4.8,   value: gcc-4.8 }</div><div class='add'>+          - { key: default_cc, name: clang-12,  value: clang-12 }</div><div class='add'>+#         - { key: default_cc, name: clang-11,  value: clang-11 }</div><div class='add'>+#         - { key: default_cc, name: clang-10,  value: clang-10 }</div><div class='add'>+#         - { key: default_cc, name: clang-9,   value: clang-9 }</div><div class='add'>+#         - { key: default_cc, name: clang-8,   value: clang-8 }</div><div class='add'>+#         - { key: default_cc, name: clang-7,   value: clang-7 }</div><div class='add'>+#         - { key: default_cc, name: clang-6.0, value: clang-6.0 }</div><div class='add'>+#         - { key: default_cc, name: clang-5.0, value: clang-5.0 }</div><div class='add'>+#         - { key: default_cc, name: clang-4.0, value: clang-4.0 }</div><div class='add'>+          - { key: default_cc, name: clang-3.9, value: clang-3.9 }</div><div class='add'>+</div><div class='add'>+          - { key: crosshost, name: aarch64-linux-gnu,     value: aarch64-linux-gnu }</div><div class='add'>+#         - { key: crosshost, name: arm-linux-gnueabi,     value: arm-linux-gnueabi }</div><div class='add'>+#         - { key: crosshost, name: arm-linux-gnueabihf,   value: arm-linux-gnueabihf }</div><div class='add'>+#         - { key: crosshost, name: i686-w64-mingw32,      value: i686-w64-mingw32 }</div><div class='add'>+#         - { key: crosshost, name: powerpc-linux-gnu,     value: powerpc-linux-gnu }</div><div class='add'>+          - { key: crosshost, name: powerpc64le-linux-gnu, value: powerpc64le-linux-gnu }</div><div class='add'>+          - { key: crosshost, name: s390x-linux-gnu,       value: s390x-linux-gnu }</div><div class='add'>+          - { key: crosshost, name: x86_64-w64-mingw32,    value: x86_64-w64-mingw32 }</div><div class='add'>+</div><div class='add'>+          - { key: append_cc, name: c99,   value: '-std=c99   -Werror=pedantic -pedantic-errors' }</div><div class='add'>+#         - { key: append_cc, name: c11,   value: '-std=c11   -Werror=pedantic -pedantic-errors' }</div><div class='add'>+#         - { key: append_cc, name: c17,   value: '-std=c17   -Werror=pedantic -pedantic-errors' }</div><div class='add'>+          - { key: append_cc, name: c2x,   value: '-std=c2x   -Werror=pedantic -pedantic-errors' }</div><div class='add'>+          - { key: CXXFLAGS,  name: c++98, value: '-std=c++98 -Werror=pedantic -pedantic-errors -Wno-c++11-long-long' }</div><div class='add'>+#         - { key: CXXFLAGS,  name: c++11, value: '-std=c++11 -Werror=pedantic -pedantic-errors -Wno-c++11-long-long' }</div><div class='add'>+#         - { key: CXXFLAGS,  name: c++14, value: '-std=c++14 -Werror=pedantic -pedantic-errors -Wno-c++11-long-long' }</div><div class='add'>+#         - { key: CXXFLAGS,  name: c++17, value: '-std=c++17 -Werror=pedantic -pedantic-errors -Wno-c++11-long-long' }</div><div class='add'>+          - { key: CXXFLAGS,  name: c++2a, value: '-std=c++2a -Werror=pedantic -pedantic-errors -Wno-c++11-long-long' }</div><div class='add'>+</div><div class='add'>+          - { key: optflags, name: '-O0', value: '-O0 -march=x86-64 -mtune=generic' }</div><div class='add'>+#         - { key: optflags, name: '-O3', value: '-O3 -march=x86-64 -mtune=generic' }</div><div class='add'>+</div><div class='add'>+          - { key: append_configure, name: gmp,                  value: '--with-gmp' }</div><div class='add'>+          - { key: append_configure, name: jemalloc,             value: '--with-jemalloc' }</div><div class='add'>+          - { key: append_configure, name: valgrind,             value: '--with-valgrind' }</div><div class='add'>+          - { key: append_configure, name: 'coroutine=ucontext', value: '--with-coroutine=ucontext' }</div><div class='add'>+          - { key: append_configure, name: 'coroutine=copy',     value: '--with-coroutine=copy' }</div><div class='add'>+          - { key: append_configure, name: disable-jit-support,  value: '--disable-jit-support' }</div><div class='add'>+          - { key: append_configure, name: disable-dln,          value: '--disable-dln' }</div><div class='add'>+          - { key: append_configure, name: disable-rubygems,     value: '--disable-rubygems' }</div><div class='add'>+</div><div class='add'>+          - { key: cppflags, name: OPT_THREADED_CODE=1,            value: '-DOPT_THREADED_CODE=1' }</div><div class='add'>+          - { key: cppflags, name: OPT_THREADED_CODE=2,            value: '-DOPT_THREADED_CODE=2' }</div><div class='add'>+          - { key: cppflags, name: OPT_THREADED_CODE=3,            value: '-DOPT_THREADED_CODE=3' }</div><div class='add'>+</div><div class='add'>+          - { key: cppflags, name: NDEBUG,                         value: '-DNDEBUG' }</div><div class='add'>+          - { key: cppflags, name: RUBY_DEBUG,                     value: '-DRUBY_DEBUG' }</div><div class='add'>+#         - { key: cppflags, name: ARRAY_DEBUG,                    value: '-DARRAY_DEBUG' }</div><div class='add'>+#         - { key: cppflags, name: BIGNUM_DEBUG,                   value: '-DBIGNUM_DEBUG' }</div><div class='add'>+#         - { key: cppflags, name: CCAN_LIST_DEBUG,                value: '-DCCAN_LIST_DEBUG' }</div><div class='add'>+#         - { key: cppflags, name: CPDEBUG=-1,                     value: '-DCPDEBUG=-1' }</div><div class='add'>+#         - { key: cppflags, name: ENC_DEBUG,                      value: '-DENC_DEBUG' }</div><div class='add'>+#         - { key: cppflags, name: GC_DEBUG,                       value: '-DGC_DEBUG' }</div><div class='add'>+#         - { key: cppflags, name: HASH_DEBUG,                     value: '-DHASH_DEBUG' }</div><div class='add'>+#         - { key: cppflags, name: ID_TABLE_DEBUG,                 value: '-DID_TABLE_DEBUG' }</div><div class='add'>+#         - { key: cppflags, name: RGENGC_DEBUG=-1,                value: '-DRGENGC_DEBUG=-1' }</div><div class='add'>+#         - { key: cppflags, name: SYMBOL_DEBUG,                   value: '-DSYMBOL_DEBUG' }</div><div class='add'>+#         - { key: cppflags, name: THREAD_DEBUG=-1,                value: '-DTHREAD_DEBUG=-1' }</div><div class='add'>+</div><div class='add'>+#         - { key: cppflags, name: RGENGC_CHECK_MODE,              value: '-DRGENGC_CHECK_MODE' }</div><div class='add'>+#         - { key: cppflags, name: TRANSIENT_HEAP_CHECK_MODE,      value: '-DTRANSIENT_HEAP_CHECK_MODE' }</div><div class='add'>+#         - { key: cppflags, name: VM_CHECK_MODE,                  value: '-DVM_CHECK_MODE' }</div><div class='add'>+</div><div class='add'>+          - { key: cppflags, name: USE_EMBED_CI=0,                 value: '-DUSE_EMBED_CI=0' }</div><div class='add'>+          - { key: cppflags, name: USE_FLONUM=0,                   value: '-DUSE_FLONUM=0' }</div><div class='add'>+#         - { key: cppflags, name: USE_GC_MALLOC_OBJ_INFO_DETAILS, value: '-DUSE_GC_MALLOC_OBJ_INFO_DETAILS' }</div><div class='add'>+          - { key: cppflags, name: USE_LAZY_LOAD,                  value: '-DUSE_LAZY_LOAD' }</div><div class='add'>+#         - { key: cppflags, name: USE_RINCGC=0,                   value: '-DUSE_RINCGC=0' }</div><div class='add'>+#         - { key: cppflags, name: USE_SYMBOL_GC=0,                value: '-DUSE_SYMBOL_GC=0' }</div><div class='add'>+#         - { key: cppflags, name: USE_THREAD_CACHE=0,             value: '-DUSE_THREAD_CACHE=0' }</div><div class='add'>+#         - { key: cppflags, name: USE_TRANSIENT_HEAP=0,           value: '-DUSE_TRANSIENT_HEAP=0' }</div><div class='add'>+#         - { key: cppflags, name: USE_RUBY_DEBUG_LOG=1,           value: '-DUSE_RUBY_DEBUG_LOG=1' }</div><div class='add'>+</div><div class='add'>+          - { key: cppflags, name: DEBUG_FIND_TIME_NUMGUESS,       value: '-DDEBUG_FIND_TIME_NUMGUESS' }</div><div class='add'>+          - { key: cppflags, name: DEBUG_INTEGER_PACK,             value: '-DDEBUG_INTEGER_PACK' }</div><div class='add'>+          - { key: cppflags, name: ENABLE_PATH_CHECK,              value: '-DENABLE_PATH_CHECK' }</div><div class='add'>+</div><div class='add'>+          - { key: cppflags, name: GC_DEBUG_STRESS_TO_CLASS,       value: '-DGC_DEBUG_STRESS_TO_CLASS' }</div><div class='add'>+#         - { key: cppflags, name: GC_ENABLE_LAZY_SWEEP=0,         value: '-DGC_ENABLE_LAZY_SWEEP=0' }</div><div class='add'>+#         - { key: cppflags, name: GC_PROFILE_DETAIL_MEMOTY,       value: '-DGC_PROFILE_DETAIL_MEMOTY' }</div><div class='add'>+#         - { key: cppflags, name: GC_PROFILE_MORE_DETAIL,         value: '-DGC_PROFILE_MORE_DETAIL' }</div><div class='add'>+</div><div class='add'>+#         - { key: cppflags, name: CALC_EXACT_MALLOC_SIZE,         value: '-DCALC_EXACT_MALLOC_SIZE' }</div><div class='add'>+#         - { key: cppflags, name: MALLOC_ALLOCATED_SIZE_CHECK,    value: '-DMALLOC_ALLOCATED_SIZE_CHECK' }</div><div class='add'>+</div><div class='add'>+#         - { key: cppflags, name: IBF_ISEQ_ENABLE_LOCAL_BUFFER,   value: '-DIBF_ISEQ_ENABLE_LOCAL_BUFFER' }</div><div class='add'>+</div><div class='add'>+#         - { key: cppflags, name: RGENGC_ESTIMATE_OLDMALLOC,      value: '-DRGENGC_ESTIMATE_OLDMALLOC' }</div><div class='add'>+#         - { key: cppflags, name: RGENGC_FORCE_MAJOR_GC,          value: '-DRGENGC_FORCE_MAJOR_GC' }</div><div class='add'>+#         - { key: cppflags, name: RGENGC_OBJ_INFO,                value: '-DRGENGC_OBJ_INFO' }</div><div class='add'>+#         - { key: cppflags, name: RGENGC_OLD_NEWOBJ_CHECK,        value: '-DRGENGC_OLD_NEWOBJ_CHECK' }</div><div class='add'>+#         - { key: cppflags, name: RGENGC_PROFILE,                 value: '-DRGENGC_PROFILE' }</div><div class='add'>+</div><div class='add'>+#         - { key: cppflags, name: VM_DEBUG_BP_CHECK,              value: '-DVM_DEBUG_BP_CHECK' }</div><div class='add'>+#         - { key: cppflags, name: VM_DEBUG_VERIFY_METHOD_CACHE,   value: '-DVM_DEBUG_VERIFY_METHOD_CACHE' }</div><div class='add'>+</div><div class='add'>+          - { key: cppflags, name: MJIT_FORCE_ENABLE,              value: '-DMJIT_FORCE_ENABLE' }</div><div class='add'>+</div><div class='add'>+    name: ${{ matrix.entry.name }}</div><div class='add'>+    runs-on: ubuntu-latest</div><div class='add'>+    container: ghcr.io/ruby/ruby-ci-image:latest</div><div class='add'>+    if: "!contains(github.event.head_commit.message, '[ci skip]')"</div><div class='add'>+    steps:</div><div class='add'>+      - run: mkdir build</div><div class='add'>+        working-directory:</div><div class='add'>+      - name: setenv</div><div class='add'>+        run: |</div><div class='add'>+          echo "${{ matrix.entry.key }}=${{ matrix.entry.value }}" &gt;&gt; $GITHUB_ENV</div><div class='add'>+          echo "make=make -sj$((1 + $(nproc --all)))" &gt;&gt; $GITHUB_ENV</div><div class='add'>+      - uses: actions/checkout@v2</div><div class='add'>+        with:</div><div class='add'>+          path: src</div><div class='add'>+      - run: autoconf</div><div class='add'>+        working-directory: src</div><div class='add'>+      - name: Run configure</div><div class='add'>+        run: |</div><div class='add'>+          if [ -n "${crosshost}" ]; then</div><div class='add'>+            ../src/configure -C \</div><div class='add'>+              ${default_configure} \</div><div class='add'>+              ${append_configure} \</div><div class='add'>+              --host="${crosshost}"</div><div class='add'>+          else</div><div class='add'>+            ../src/configure -C \</div><div class='add'>+              ${default_configure} \</div><div class='add'>+              ${append_configure} \</div><div class='add'>+              --with-gcc="${default_cc} ${append_cc}"</div><div class='add'>+          fi</div><div class='add'>+      - run: $make extract-extlibs</div><div class='add'>+      - run: $make incs</div><div class='add'>+      - run: $make</div><div class='add'>+      - run: $make test</div><div class='add'>+      - run: $make install</div><div class='add'>+        if: "matrix.entry.name == '-O3'"</div><div class='add'>+      - run: /usr/local/bin/gem install --no-doc timezone tzinfo</div><div class='add'>+        if: "matrix.entry.name == '-O3'"</div><div class='add'>+      - run: $make test-tool</div><div class='add'>+        if: "matrix.entry.name == '-O3'"</div><div class='add'>+      - run: $make test-all TESTS='-- ruby -ext-'</div><div class='add'>+        if: "matrix.entry.name == '-O3'"</div><div class='add'>+      - run: $make test-spec</div><div class='add'>+        if: "matrix.entry.name == '-O3'"</div><div class='add'>+</div><div class='add'>+      - uses: k0kubun/action-slack@v2.0.0</div><div class='add'>+        with:</div><div class='add'>+          payload: |</div><div class='add'>+            {</div><div class='add'>+              "ci": "GitHub Actions",</div><div class='add'>+              "env": "${{ github.workflow }} / ${{ matrix.entry.name }}",</div><div class='add'>+              "url": "https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}",</div><div class='add'>+              "commit": "${{ github.sha }}",</div><div class='add'>+              "branch": "${{ github.ref }}".split('/').reverse()[0]</div><div class='add'>+            }</div><div class='add'>+        env:</div><div class='add'>+          SLACK_WEBHOOK_URL: ${{ secrets.SIMPLER_ALERTS_URL }} # ruby-lang slack: ruby/simpler-alerts-bot</div><div class='add'>+        if: failure() &amp;&amp; github.event_name == 'push'</div><div class='add'>+</div><div class='add'>+defaults:</div><div class='add'>+  run:</div><div class='add'>+    working-directory: build</div><div class='head'>diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml<br/>new file mode 100644<br/>index 0000000000..f0355258f1<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/.github/workflows/macos.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>.github/workflows/macos.yml</a></div><div class='hunk'>@@ -0,0 +1,64 @@</div><div class='add'>+name: macOS</div><div class='add'>+on: [push, pull_request]</div><div class='add'>+jobs:</div><div class='add'>+  make:</div><div class='add'>+    runs-on: macos-latest</div><div class='add'>+    strategy:</div><div class='add'>+      matrix:</div><div class='add'>+        test_task: [ "check", "test-bundler-parallel", "test-bundled-gems", "leaked-globals" ]</div><div class='add'>+      fail-fast: false</div><div class='add'>+    env:</div><div class='add'>+      GITPULLOPTIONS: --no-tags origin ${{github.ref}}</div><div class='add'>+    if: "!contains(github.event.head_commit.message, '[ci skip]')"</div><div class='add'>+    steps:</div><div class='add'>+      - run: mkdir build</div><div class='add'>+        working-directory:</div><div class='add'>+      - name: Disable Firewall</div><div class='add'>+        run: |</div><div class='add'>+          sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off</div><div class='add'>+          sudo /usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate</div><div class='add'>+      - name: git config</div><div class='add'>+        run: |</div><div class='add'>+          git config --global advice.detachedHead 0</div><div class='add'>+      - uses: actions/checkout@v2</div><div class='add'>+        with:</div><div class='add'>+          path: src</div><div class='add'>+      - name: Install libraries</div><div class='add'>+        run: |</div><div class='add'>+          export WAITS='5 60'</div><div class='add'>+          tool/travis_retry.sh brew upgrade</div><div class='add'>+          tool/travis_retry.sh brew install gdbm gmp libffi openssl@1.1 zlib autoconf automake libtool readline</div><div class='add'>+        working-directory: src</div><div class='add'>+      - name: Set ENV</div><div class='add'>+        run: |</div><div class='add'>+          echo "JOBS=-j$((1 + $(sysctl -n hw.activecpu)))" &gt;&gt; $GITHUB_ENV</div><div class='add'>+      - run: autoconf</div><div class='add'>+        working-directory: src</div><div class='add'>+      - name: Run configure</div><div class='add'>+        run: ../src/configure -C --disable-install-doc --with-openssl-dir=$(brew --prefix openssl@1.1) --with-readline-dir=$(brew --prefix readline)</div><div class='add'>+      - run: make $JOBS incs</div><div class='add'>+      - run: make $JOBS</div><div class='add'>+      - run: make prepare-gems</div><div class='add'>+        if: matrix.test_task == 'check'</div><div class='add'>+      - run: make $JOBS -s ${{ matrix.test_task }}</div><div class='add'>+        timeout-minutes: 60</div><div class='add'>+        env:</div><div class='add'>+          RUBY_TESTOPTS: "-q --tty=no"</div><div class='add'>+          TEST_BUNDLED_GEMS_ALLOW_FAILURES: "rexml"</div><div class='add'>+      - uses: k0kubun/action-slack@v2.0.0</div><div class='add'>+        with:</div><div class='add'>+          payload: |</div><div class='add'>+            {</div><div class='add'>+              "ci": "GitHub Actions",</div><div class='add'>+              "env": "${{ github.workflow }} / ${{ matrix.test_task }}",</div><div class='add'>+              "url": "https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}",</div><div class='add'>+              "commit": "${{ github.sha }}",</div><div class='add'>+              "branch": "${{ github.ref }}".split('/').reverse()[0]</div><div class='add'>+            }</div><div class='add'>+        env:</div><div class='add'>+          SLACK_WEBHOOK_URL: ${{ secrets.SIMPLER_ALERTS_URL }} # ruby-lang slack: ruby/simpler-alerts-bot</div><div class='add'>+        if: failure() &amp;&amp; github.event_name == 'push'</div><div class='add'>+</div><div class='add'>+defaults:</div><div class='add'>+  run:</div><div class='add'>+    working-directory: build</div><div class='head'>diff --git a/.github/workflows/mingw.yml b/.github/workflows/mingw.yml<br/>new file mode 100644<br/>index 0000000000..c0366f2942<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/.github/workflows/mingw.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>.github/workflows/mingw.yml</a></div><div class='hunk'>@@ -0,0 +1,141 @@</div><div class='add'>+name: MinGW</div><div class='add'>+on: [push, pull_request]</div><div class='add'>+</div><div class='add'>+# Notes:</div><div class='add'>+# Actions console encoding causes issues, see test-all &amp; test-spec steps</div><div class='add'>+#</div><div class='add'>+jobs:</div><div class='add'>+  make:</div><div class='add'>+    runs-on: windows-2019</div><div class='add'>+    env:</div><div class='add'>+      MSYSTEM: MINGW64</div><div class='add'>+      MSYSTEM_PREFIX: /mingw64</div><div class='add'>+      MSYS2_ARCH: x86_64</div><div class='add'>+      CHOST: "x86_64-w64-mingw32"</div><div class='add'>+      CFLAGS:   "-march=x86-64 -mtune=generic -O3 -pipe -fstack-protector-strong"</div><div class='add'>+      CXXFLAGS: "-march=x86-64 -mtune=generic -O3 -pipe"</div><div class='add'>+      CPPFLAGS: "-D_FORTIFY_SOURCE=2 -D__USE_MINGW_ANSI_STDIO=1 -DFD_SETSIZE=2048"</div><div class='add'>+      LDFLAGS:  "-pipe -fstack-protector-strong"</div><div class='add'>+      UPDATE_UNICODE: "UNICODE_FILES=. UNICODE_PROPERTY_FILES=. UNICODE_AUXILIARY_FILES=. UNICODE_EMOJI_FILES=."</div><div class='add'>+      GITPULLOPTIONS: --no-tags origin ${{github.ref}}</div><div class='add'>+    strategy:</div><div class='add'>+      matrix:</div><div class='add'>+        test_task: [ "check" ] # to make job names consistent</div><div class='add'>+      fail-fast: false</div><div class='add'>+    if: "!contains(github.event.head_commit.message, '[ci skip]')"</div><div class='add'>+    steps:</div><div class='add'>+      - run: mkdir build</div><div class='add'>+        working-directory:</div><div class='add'>+      - name: git config</div><div class='add'>+        run: |</div><div class='add'>+          git config --system core.autocrlf false</div><div class='add'>+          git config --system core.eol lf</div><div class='add'>+          git config --system advice.detachedHead 0</div><div class='add'>+      - uses: actions/checkout@v2</div><div class='add'>+        with:</div><div class='add'>+          path: src</div><div class='add'>+      - name: Set up Ruby &amp; MSYS2</div><div class='add'>+        uses: MSP-Greg/setup-ruby-pkgs@v1</div><div class='add'>+        with:</div><div class='add'>+          ruby-version: 2.6</div><div class='add'>+          mingw: _upgrade_ gdbm gmp libffi libyaml openssl ragel readline</div><div class='add'>+          msys2: automake1.16 bison</div><div class='add'>+      - name: where check</div><div class='add'>+        run: |</div><div class='add'>+          # show where</div><div class='add'>+          Write-Host</div><div class='add'>+          $where = 'gcc.exe', 'ragel.exe', 'make.exe', 'bison.exe', 'libcrypto-1_1-x64.dll', 'libssl-1_1-x64.dll'</div><div class='add'>+          foreach ($e in $where) {</div><div class='add'>+            $rslt = where.exe $e 2&gt;&amp;1 | Out-String</div><div class='add'>+            if ($rslt.contains($e)) { Write-Host $rslt }</div><div class='add'>+            else { Write-Host "`nCan't find $e" }</div><div class='add'>+          }</div><div class='add'>+      - name: misc setup, autoreconf</div><div class='add'>+        run: |</div><div class='add'>+          mkdir install</div><div class='add'>+          mkdir temp</div><div class='add'>+          cd src</div><div class='add'>+          sh -c "autoreconf -fi"</div><div class='add'>+        working-directory:</div><div class='add'>+</div><div class='add'>+      - name: configure</div><div class='add'>+        run: |</div><div class='add'>+          # Actions uses UTF8, causes test failures, similar to normal OS setup</div><div class='add'>+          $PSDefaultParameterValues['*:Encoding'] = 'utf8'</div><div class='add'>+          [Console]::OutputEncoding = [System.Text.Encoding]::GetEncoding("IBM437")</div><div class='add'>+          [Console]::InputEncoding  = [System.Text.Encoding]::GetEncoding("IBM437")</div><div class='add'>+          $config_args = "--build=$env:CHOST --host=$env:CHOST --target=$env:CHOST"</div><div class='add'>+          Write-Host $config_args</div><div class='add'>+          sh -c "../src/configure --disable-install-doc --prefix=/install $config_args"</div><div class='add'>+          # Write-Host "-------------------------------------- config.log"</div><div class='add'>+          # Get-Content ./config.log | foreach {Write-Output $_}</div><div class='add'>+</div><div class='add'>+      - name: update</div><div class='add'>+        run: |</div><div class='add'>+          $jobs = [int](2 * $env:NUMBER_OF_PROCESSORS)</div><div class='add'>+          make -j $jobs incs</div><div class='add'>+</div><div class='add'>+      - name: download gems</div><div class='add'>+        run: |</div><div class='add'>+          $jobs = [int](2 * $env:NUMBER_OF_PROCESSORS)</div><div class='add'>+          make -j $jobs update-gems</div><div class='add'>+</div><div class='add'>+      - name: make all</div><div class='add'>+        timeout-minutes: 40</div><div class='add'>+        run: |</div><div class='add'>+          $jobs = [int](2 * $env:NUMBER_OF_PROCESSORS)</div><div class='add'>+          make -j $jobs</div><div class='add'>+</div><div class='add'>+      - name: make install</div><div class='add'>+        run: |</div><div class='add'>+          # Actions uses UTF8, causes test failures, similar to normal OS setup</div><div class='add'>+          $PSDefaultParameterValues['*:Encoding'] = 'utf8'</div><div class='add'>+          [Console]::OutputEncoding = [System.Text.Encoding]::GetEncoding("IBM437")</div><div class='add'>+          [Console]::InputEncoding  = [System.Text.Encoding]::GetEncoding("IBM437")</div><div class='add'>+          make DESTDIR=.. install-nodoc</div><div class='add'>+</div><div class='add'>+      - name: test</div><div class='add'>+        timeout-minutes: 5</div><div class='add'>+        run: |</div><div class='add'>+          make test</div><div class='add'>+</div><div class='add'>+      - name: test-all</div><div class='add'>+        timeout-minutes: 60</div><div class='add'>+        run: |</div><div class='add'>+          # Actions uses UTF8, causes test failures, similar to normal OS setup</div><div class='add'>+          $PSDefaultParameterValues['*:Encoding'] = 'utf8'</div><div class='add'>+          [Console]::OutputEncoding = [System.Text.Encoding]::GetEncoding("IBM437")</div><div class='add'>+          [Console]::InputEncoding  = [System.Text.Encoding]::GetEncoding("IBM437")</div><div class='add'>+          $jobs = [int](1.5 * $env:NUMBER_OF_PROCESSORS)</div><div class='add'>+          if ($env:BUNDLER_VERSION) { Remove-Item env:\BUNDLER_VERSION }</div><div class='add'>+          make test-all TESTOPTS="-j $jobs --retry --job-status=normal --show-skip --timeout-scale=1.5"</div><div class='add'>+</div><div class='add'>+      - name: test-spec</div><div class='add'>+        timeout-minutes: 10</div><div class='add'>+        working-directory: src/spec/ruby</div><div class='add'>+        run: |</div><div class='add'>+          $env:Path = "$pwd/../../../install/bin;$env:Path"</div><div class='add'>+          # Actions uses UTF8, causes test failures, similar to normal OS setup</div><div class='add'>+          $PSDefaultParameterValues['*:Encoding'] = 'utf8'</div><div class='add'>+          [Console]::OutputEncoding = [System.Text.Encoding]::GetEncoding("IBM437")</div><div class='add'>+          [Console]::InputEncoding  = [System.Text.Encoding]::GetEncoding("IBM437")</div><div class='add'>+          ruby -v</div><div class='add'>+          ruby ../mspec/bin/mspec -I../../tool/lib -j</div><div class='add'>+</div><div class='add'>+      - uses: k0kubun/action-slack@v2.0.0</div><div class='add'>+        with:</div><div class='add'>+          payload: |</div><div class='add'>+            {</div><div class='add'>+              "ci": "GitHub Actions",</div><div class='add'>+              "env": "${{ github.workflow }} / ${{ matrix.test_task }}",</div><div class='add'>+              "url": "https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}",</div><div class='add'>+              "commit": "${{ github.sha }}",</div><div class='add'>+              "branch": "${{ github.ref }}".split('/').reverse()[0]</div><div class='add'>+            }</div><div class='add'>+        env:</div><div class='add'>+          SLACK_WEBHOOK_URL: ${{ secrets.SIMPLER_ALERTS_URL }} # ruby-lang slack: ruby/simpler-alerts-bot</div><div class='add'>+        if: failure() &amp;&amp; github.event_name == 'push'</div><div class='add'>+</div><div class='add'>+defaults:</div><div class='add'>+  run:</div><div class='add'>+    working-directory: build</div><div class='head'>diff --git a/.github/workflows/mjit.yml b/.github/workflows/mjit.yml<br/>new file mode 100644<br/>index 0000000000..68889ecf3d<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/.github/workflows/mjit.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>.github/workflows/mjit.yml</a></div><div class='hunk'>@@ -0,0 +1,77 @@</div><div class='add'>+name: MJIT</div><div class='add'>+on: [push, pull_request]</div><div class='add'>+jobs:</div><div class='add'>+  make:</div><div class='add'>+    strategy:</div><div class='add'>+      matrix:</div><div class='add'>+        test_task: [ "check" ] # to make job names consistent</div><div class='add'>+        jit_opts: [ "--jit", "--jit-wait" ]</div><div class='add'>+      fail-fast: false</div><div class='add'>+    runs-on: ubuntu-latest</div><div class='add'>+    if: "!contains(github.event.head_commit.message, '[ci skip]')"</div><div class='add'>+    env:</div><div class='add'>+      TESTOPTS: '-q --tty=no'</div><div class='add'>+      RUN_OPTS: '--disable-gems ${{ matrix.jit_opts }} --jit-debug=-ggdb3'</div><div class='add'>+      GITPULLOPTIONS: --no-tags origin ${{github.ref}}</div><div class='add'>+    steps:</div><div class='add'>+      - run: mkdir build</div><div class='add'>+        working-directory:</div><div class='add'>+      - name: Install libraries</div><div class='add'>+        run: |</div><div class='add'>+          set -x</div><div class='add'>+          sudo apt-get update -q || :</div><div class='add'>+          sudo apt-get install --no-install-recommends -q -y build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm-dev bison autoconf ruby</div><div class='add'>+      - name: git config</div><div class='add'>+        run: |</div><div class='add'>+          git config --global advice.detachedHead 0</div><div class='add'>+      - uses: actions/checkout@v2</div><div class='add'>+        with:</div><div class='add'>+          path: src</div><div class='add'>+      - name: Fixed world writable dirs</div><div class='add'>+        run: |</div><div class='add'>+          chmod -v go-w $HOME $HOME/.config</div><div class='add'>+          sudo chmod -R go-w /usr/share</div><div class='add'>+          sudo bash -c 'IFS=:; for d in '"$PATH"'; do chmod -v go-w $d; done' || :</div><div class='add'>+      - name: Set ENV</div><div class='add'>+        run: |</div><div class='add'>+          echo "JOBS=-j$((1 + $(nproc --all)))" &gt;&gt; $GITHUB_ENV</div><div class='add'>+      - run: autoconf</div><div class='add'>+        working-directory: src</div><div class='add'>+      - name: Run configure</div><div class='add'>+        run: ../src/configure -C --disable-install-doc</div><div class='add'>+      - run: make $JOBS incs</div><div class='add'>+      - run: make $JOBS</div><div class='add'>+      - run: sudo make $JOBS -s install</div><div class='add'>+      - run: sudo apt-get install gdb # used by test / test-all failure</div><div class='add'>+      - name: Run test</div><div class='add'>+        run: |</div><div class='add'>+          ulimit -c unlimited</div><div class='add'>+          make $JOBS -s test RUN_OPTS="$RUN_OPTS"</div><div class='add'>+        timeout-minutes: 60</div><div class='add'>+      - name: Run test-all</div><div class='add'>+        run: |</div><div class='add'>+          ulimit -c unlimited</div><div class='add'>+          make $JOBS -s test-all RUN_OPTS="$RUN_OPTS"</div><div class='add'>+        timeout-minutes: 60</div><div class='add'>+      - name: Run test-spec</div><div class='add'>+        run: |</div><div class='add'>+          ulimit -c unlimited</div><div class='add'>+          make $JOBS -s test-spec RUN_OPTS="$RUN_OPTS"</div><div class='add'>+        timeout-minutes: 60</div><div class='add'>+      - uses: k0kubun/action-slack@v2.0.0</div><div class='add'>+        with:</div><div class='add'>+          payload: |</div><div class='add'>+            {</div><div class='add'>+              "ci": "GitHub Actions",</div><div class='add'>+              "env": "${{ github.workflow }} / ${{ matrix.test_task }} ${{ matrix.jit_opts }}",</div><div class='add'>+              "url": "https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}",</div><div class='add'>+              "commit": "${{ github.sha }}",</div><div class='add'>+              "branch": "${{ github.ref }}".split('/').reverse()[0]</div><div class='add'>+            }</div><div class='add'>+        env:</div><div class='add'>+          SLACK_WEBHOOK_URL: ${{ secrets.SIMPLER_ALERTS_URL }} # ruby-lang slack: ruby/simpler-alerts-bot</div><div class='add'>+        if: failure() &amp;&amp; github.event_name == 'push'</div><div class='add'>+</div><div class='add'>+defaults:</div><div class='add'>+  run:</div><div class='add'>+    working-directory: build</div><div class='head'>diff --git a/.github/workflows/spec_guards.yml b/.github/workflows/spec_guards.yml<br/>new file mode 100644<br/>index 0000000000..75b7d1220a<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/.github/workflows/spec_guards.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>.github/workflows/spec_guards.yml</a></div><div class='hunk'>@@ -0,0 +1,39 @@</div><div class='add'>+name: Rubyspec Version Guards Check</div><div class='add'>+</div><div class='add'>+on: [push, pull_request]</div><div class='add'>+</div><div class='add'>+jobs:</div><div class='add'>+  rubyspec:</div><div class='add'>+    name: Rubyspec</div><div class='add'>+    runs-on: ubuntu-20.04</div><div class='add'>+    if: "!contains(github.event.head_commit.message, '[ci skip]')"</div><div class='add'>+    strategy:</div><div class='add'>+      matrix:</div><div class='add'>+        # Specs from ruby/spec should still run on all supported Ruby versions.</div><div class='add'>+        # This also ensures the needed ruby_version_is guards are there, see spec/README.md.</div><div class='add'>+        ruby:</div><div class='add'>+          - ruby-2.5</div><div class='add'>+#         - ruby-2.6</div><div class='add'>+          - ruby-2.7</div><div class='add'>+</div><div class='add'>+    steps:</div><div class='add'>+      - uses: actions/checkout@v2</div><div class='add'>+      - uses: ruby/setup-ruby@v1</div><div class='add'>+        with:</div><div class='add'>+          ruby-version: ${{ matrix.ruby }}</div><div class='add'>+          bundler: none</div><div class='add'>+      - run: ruby ../mspec/bin/mspec</div><div class='add'>+        working-directory: spec/ruby</div><div class='add'>+      - uses: k0kubun/action-slack@v2.0.0</div><div class='add'>+        with:</div><div class='add'>+          payload: |</div><div class='add'>+            {</div><div class='add'>+              "ci": "GitHub Actions",</div><div class='add'>+              "env": "${{ github.workflow }} / rubyspec @ ${{ matrix.ruby }}",</div><div class='add'>+              "url": "https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}",</div><div class='add'>+              "commit": "${{ github.sha }}",</div><div class='add'>+              "branch": "${{ github.ref }}".split('/').reverse()[0]</div><div class='add'>+            }</div><div class='add'>+        env:</div><div class='add'>+          SLACK_WEBHOOK_URL: ${{ secrets.SIMPLER_ALERTS_URL }} # ruby-lang slack: ruby/simpler-alerts-bot</div><div class='add'>+        if: failure() &amp;&amp; github.event_name == 'push'</div><div class='head'>diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml<br/>new file mode 100644<br/>index 0000000000..fe517d2750<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/.github/workflows/ubuntu.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>.github/workflows/ubuntu.yml</a></div><div class='hunk'>@@ -0,0 +1,89 @@</div><div class='add'>+name: Ubuntu</div><div class='add'>+on: [push, pull_request]</div><div class='add'>+jobs:</div><div class='add'>+  make:</div><div class='add'>+    strategy:</div><div class='add'>+      matrix:</div><div class='add'>+        test_task: [ "check", "test-bundler-parallel", "test-bundled-gems", "test-all TESTS=--repeat-count=2", "leaked-globals" ]</div><div class='add'>+        os:</div><div class='add'>+          - ubuntu-20.04</div><div class='add'>+#         - ubuntu-18.04</div><div class='add'>+#         - ubuntu-16.04</div><div class='add'>+        debug: ["", "-DRUBY_DEBUG"]</div><div class='add'>+        exclude:</div><div class='add'>+          - test_task: test-bundler-parallel</div><div class='add'>+            os: ubuntu-16.04</div><div class='add'>+          - test_task: test-bundled-gems</div><div class='add'>+            os: ubuntu-16.04</div><div class='add'>+          - test_task: "test-all TESTS=--repeat-count=2"</div><div class='add'>+            os: ubuntu-16.04</div><div class='add'>+          - test_task: leaked-globals</div><div class='add'>+            os: ubuntu-16.04</div><div class='add'>+          - os: ubuntu-16.04</div><div class='add'>+            debug: -DRUBY_DEBUG</div><div class='add'>+          - test_task: "test-all TESTS=--repeat-count=2"</div><div class='add'>+            debug: -DRUBY_DEBUG</div><div class='add'>+          - test_task: leaked-globals</div><div class='add'>+            debug: -DRUBY_DEBUG</div><div class='add'>+      fail-fast: false</div><div class='add'>+    env:</div><div class='add'>+      GITPULLOPTIONS: --no-tags origin ${{github.ref}}</div><div class='add'>+      RUBY_DEBUG: ci</div><div class='add'>+    runs-on: ${{ matrix.os }}</div><div class='add'>+    if: "!contains(github.event.head_commit.message, '[ci skip]')"</div><div class='add'>+    steps:</div><div class='add'>+      - run: mkdir build</div><div class='add'>+        working-directory:</div><div class='add'>+      - name: Install libraries</div><div class='add'>+        run: |</div><div class='add'>+          set -x</div><div class='add'>+          sudo apt-get update -q || :</div><div class='add'>+          sudo apt-get install --no-install-recommends -q -y build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm-dev bison autoconf ruby</div><div class='add'>+      - name: git config</div><div class='add'>+        run: |</div><div class='add'>+          git config --global advice.detachedHead 0</div><div class='add'>+      - uses: actions/checkout@v2</div><div class='add'>+        with:</div><div class='add'>+          path: src</div><div class='add'>+      - name: Fixed world writable dirs</div><div class='add'>+        run: |</div><div class='add'>+          chmod -v go-w $HOME $HOME/.config</div><div class='add'>+          sudo chmod -R go-w /usr/share</div><div class='add'>+          sudo bash -c 'IFS=:; for d in '"$PATH"'; do chmod -v go-w $d; done' || :</div><div class='add'>+      - name: Set ENV</div><div class='add'>+        run: |</div><div class='add'>+          echo "JOBS=-j$((1 + $(nproc --all)))" &gt;&gt; $GITHUB_ENV</div><div class='add'>+      - run: autoconf</div><div class='add'>+        working-directory: src</div><div class='add'>+      - name: Run configure</div><div class='add'>+        run: ../src/configure -C --disable-install-doc cppflags=${{ matrix.debug }}</div><div class='add'>+      - run: make $JOBS incs</div><div class='add'>+      - run: make $JOBS</div><div class='add'>+      - run: make prepare-gems</div><div class='add'>+        if: matrix.test_task == 'check'</div><div class='add'>+      - name: Create dummy files in build dir</div><div class='add'>+        run: |</div><div class='add'>+          ./miniruby -e '(("a".."z").to_a+("A".."Z").to_a+("0".."9").to_a+%w[foo bar test zzz]).each{|basename|File.write("#{basename}.rb", "raise %(do not load #{basename}.rb)")}'</div><div class='add'>+        if: matrix.test_task == 'check'</div><div class='add'>+      - run: make $JOBS -s ${{ matrix.test_task }}</div><div class='add'>+        timeout-minutes: 30</div><div class='add'>+        env:</div><div class='add'>+          RUBY_TESTOPTS: "-q --tty=no"</div><div class='add'>+          TEST_BUNDLED_GEMS_ALLOW_FAILURES: ""</div><div class='add'>+      - uses: k0kubun/action-slack@v2.0.0</div><div class='add'>+        with:</div><div class='add'>+          payload: |</div><div class='add'>+            {</div><div class='add'>+              "ci": "GitHub Actions",</div><div class='add'>+              "env": "${{ matrix.os }} / ${{ matrix.test_task }}${{ matrix.debug }}",</div><div class='add'>+              "url": "https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}",</div><div class='add'>+              "commit": "${{ github.sha }}",</div><div class='add'>+              "branch": "${{ github.ref }}".split('/').reverse()[0]</div><div class='add'>+            }</div><div class='add'>+        env:</div><div class='add'>+          SLACK_WEBHOOK_URL: ${{ secrets.SIMPLER_ALERTS_URL }} # ruby-lang slack: ruby/simpler-alerts-bot</div><div class='add'>+        if: failure() &amp;&amp; github.event_name == 'push'</div><div class='add'>+</div><div class='add'>+defaults:</div><div class='add'>+  run:</div><div class='add'>+    working-directory: build</div><div class='head'>diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml<br/>new file mode 100644<br/>index 0000000000..98e59ae188<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/.github/workflows/windows.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>.github/workflows/windows.yml</a></div><div class='hunk'>@@ -0,0 +1,80 @@</div><div class='add'>+name: Windows</div><div class='add'>+on: [push, pull_request]</div><div class='add'>+jobs:</div><div class='add'>+  make:</div><div class='add'>+    strategy:</div><div class='add'>+      matrix:</div><div class='add'>+        test_task: [test]</div><div class='add'>+        os: [windows-2019]</div><div class='add'>+        vs: [2019]</div><div class='add'>+      fail-fast: false</div><div class='add'>+    runs-on: ${{ matrix.os }}</div><div class='add'>+    env:</div><div class='add'>+      GITPULLOPTIONS: --no-tags origin ${{github.ref}}</div><div class='add'>+      VCVARS: C:\Program Files (x86)\Microsoft Visual Studio\${{ matrix.vs }}\Enterprise\VC\Auxiliary\Build\vcvars64.bat</div><div class='add'>+    if: "!contains(github.event.head_commit.message, '[ci skip]')"</div><div class='add'>+    steps:</div><div class='add'>+      - run: md build</div><div class='add'>+        working-directory:</div><div class='add'>+      - uses: actions/cache@v2</div><div class='add'>+        with:</div><div class='add'>+          path: C:\vcpkg\downloads</div><div class='add'>+          key: ${{ runner.os }}-vcpkg-download-${{ matrix.os }}-${{ github.sha }}</div><div class='add'>+          restore-keys: |</div><div class='add'>+            ${{ runner.os }}-vcpkg-download-${{ matrix.os }}-</div><div class='add'>+            ${{ runner.os }}-vcpkg-download-</div><div class='add'>+      - name: Install libraries with vcpkg</div><div class='add'>+        run: |</div><div class='add'>+          vcpkg --triplet x64-windows install readline zlib</div><div class='add'>+      - uses: actions/cache@v2</div><div class='add'>+        with:</div><div class='add'>+          path: C:\Users\runneradmin\AppData\Local\Temp\chocolatey</div><div class='add'>+          key: ${{ runner.os }}-chocolatey-${{ matrix.os }}-${{ github.sha }}</div><div class='add'>+          restore-keys: |</div><div class='add'>+            ${{ runner.os }}-chocolatey-${{ matrix.os }}-</div><div class='add'>+            ${{ runner.os }}-chocolatey-</div><div class='add'>+      - name: Install libraries with chocolatey</div><div class='add'>+        run: |</div><div class='add'>+          choco install --no-progress openssl</div><div class='add'>+          choco install --no-progress winflexbison3 --version=2.5.18.20190508</div><div class='add'>+      - name: git config</div><div class='add'>+        run: |</div><div class='add'>+          git config --system advice.detachedHead 0</div><div class='add'>+      - uses: actions/checkout@v2</div><div class='add'>+        with:</div><div class='add'>+          path: src</div><div class='add'>+      - name: Configure</div><div class='add'>+        run: |</div><div class='add'>+          call "%VCVARS%"</div><div class='add'>+          ../src/win32/configure.bat --disable-install-doc --without-ext=+,dbm,gdbm --enable-bundled-libffi --with-opt-dir=C:/vcpkg/installed/x64-windows --with-openssl-dir="C:/Program Files/OpenSSL-Win64"</div><div class='add'>+      - name: nmake</div><div class='add'>+        run: |</div><div class='add'>+          call "%VCVARS%"</div><div class='add'>+          set YACC=win_bison</div><div class='add'>+          echo on</div><div class='add'>+          nmake incs</div><div class='add'>+          nmake extract-extlibs</div><div class='add'>+          nmake</div><div class='add'>+      - name: nmake test</div><div class='add'>+        timeout-minutes: 30</div><div class='add'>+        run: |</div><div class='add'>+          call "%VCVARS%"</div><div class='add'>+          nmake ${{ matrix.test_task }}</div><div class='add'>+      - uses: k0kubun/action-slack@v2.0.0</div><div class='add'>+        with:</div><div class='add'>+          payload: |</div><div class='add'>+            {</div><div class='add'>+              "ci": "GitHub Actions",</div><div class='add'>+              "env": "${{ matrix.os }} / ${{ matrix.test_task }}",</div><div class='add'>+              "url": "https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}",</div><div class='add'>+              "commit": "${{ github.sha }}",</div><div class='add'>+              "branch": "${{ github.ref }}".split('/').reverse()[0]</div><div class='add'>+            }</div><div class='add'>+        env:</div><div class='add'>+          SLACK_WEBHOOK_URL: ${{ secrets.SIMPLER_ALERTS_URL }} # ruby-lang slack: ruby/simpler-alerts-bot</div><div class='add'>+        if: failure() &amp;&amp; github.event_name == 'push'</div><div class='add'>+</div><div class='add'>+defaults:</div><div class='add'>+  run:</div><div class='add'>+    working-directory: build</div><div class='add'>+    shell: cmd</div><div class='head'>diff --git a/.gitignore b/.gitignore<br/>new file mode 100644<br/>index 0000000000..8d11d7278a<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/.gitignore?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>.gitignore</a></div><div class='hunk'>@@ -0,0 +1,230 @@</div><div class='add'>+*-*-*.def</div><div class='add'>+*-*-*.exp</div><div class='add'>+*-*-*.lib</div><div class='add'>+*.a</div><div class='add'>+*.bak</div><div class='add'>+*.bc</div><div class='add'>+*.bundle</div><div class='add'>+*.dSYM</div><div class='add'>+*.dmyh</div><div class='add'>+*.dylib</div><div class='add'>+*.elc</div><div class='add'>+*.i</div><div class='add'>+*.inc</div><div class='add'>+*.log</div><div class='add'>+*.o</div><div class='add'>+*.obj</div><div class='add'>+*.old</div><div class='add'>+*.orig</div><div class='add'>+*.pch</div><div class='add'>+*.pdb</div><div class='add'>+*.rbinc</div><div class='add'>+*.rej</div><div class='add'>+*.s</div><div class='add'>+*.sav</div><div class='add'>+*.sl</div><div class='add'>+*.so</div><div class='add'>+*.swp</div><div class='add'>+*.yarb</div><div class='add'>+*~</div><div class='add'>+.*.list</div><div class='add'>+.*.time</div><div class='add'>+.DS_Store</div><div class='add'>+.bundle</div><div class='add'>+.ccmalloc</div><div class='add'>+.ext</div><div class='add'>+.pc</div><div class='add'>+.ppack</div><div class='add'>+.svn</div><div class='add'>+.time</div><div class='add'>+.ruby-version</div><div class='add'>+Makefile</div><div class='add'>+cygruby*.def</div><div class='add'>+extconf.h</div><div class='add'>+y.output</div><div class='add'>+y.tab.c</div><div class='add'>+*.gcda</div><div class='add'>+*.gcno</div><div class='add'>+*.gcov</div><div class='add'>+*.vscode</div><div class='add'>+lcov*.info</div><div class='add'>+</div><div class='add'>+# /</div><div class='add'>+/*-fake.rb</div><div class='add'>+/*.dll</div><div class='add'>+/*.exe</div><div class='add'>+/*.res</div><div class='add'>+/*.pc</div><div class='add'>+/*.rc</div><div class='add'>+/*_prelude.c</div><div class='add'>+/.downloaded-cache</div><div class='add'>+/.top-enc.mk</div><div class='add'>+/build*/</div><div class='add'>+/COPYING.LIB</div><div class='add'>+/ChangeLog</div><div class='add'>+/Doxyfile</div><div class='add'>+/GNUmakefile</div><div class='add'>+/README.atheos</div><div class='add'>+/README.fat-patch</div><div class='add'>+/README.v6</div><div class='add'>+/TAGS</div><div class='add'>+/archive</div><div class='add'>+/autom4te*.cache</div><div class='add'>+/automake</div><div class='add'>+/benchmark/benchmark-driver</div><div class='add'>+/beos</div><div class='add'>+/bmlog-*</div><div class='add'>+/breakpoints.gdb</div><div class='add'>+/config.cache</div><div class='add'>+/config.h</div><div class='add'>+/config.h.in</div><div class='add'>+/config.status</div><div class='add'>+/config.status.lineno</div><div class='add'>+/configure</div><div class='add'>+/coverage/simplecov</div><div class='add'>+/coverage/simplecov-html</div><div class='add'>+/coverage/doclie</div><div class='add'>+/coverage/.last_run.json</div><div class='add'>+/coverage/.resultset.json*</div><div class='add'>+/coverage/assets</div><div class='add'>+/coverage/index.html</div><div class='add'>+/doc/capi</div><div class='add'>+/enc.mk</div><div class='add'>+/encdb.h</div><div class='add'>+/exts.mk</div><div class='add'>+/goruby</div><div class='add'>+/id.[ch]</div><div class='add'>+/largefile.h</div><div class='add'>+/lcov-c-out</div><div class='add'>+/lcov-rb-out</div><div class='add'>+/lcov-out</div><div class='add'>+/lex.c</div><div class='add'>+/libruby*.*</div><div class='add'>+/miniprelude.c</div><div class='add'>+/miniruby</div><div class='add'>+/newdate.rb</div><div class='add'>+/newline.c</div><div class='add'>+/newver.rb</div><div class='add'>+/parse.c</div><div class='add'>+/parse.h</div><div class='add'>+/patches</div><div class='add'>+/patches-master</div><div class='add'>+/pitest.rb</div><div class='add'>+/ppack</div><div class='add'>+/prelude.c</div><div class='add'>+/preview</div><div class='add'>+/probes.dmyh</div><div class='add'>+/probes.h</div><div class='add'>+/rbconfig.rb</div><div class='add'>+/rename2.h</div><div class='add'>+/repack</div><div class='add'>+/revision.h</div><div class='add'>+/revision.tmp</div><div class='add'>+/riscos</div><div class='add'>+/rubicon</div><div class='add'>+/ruby</div><div class='add'>+/ruby-runner</div><div class='add'>+/ruby-runner.h</div><div class='add'>+/ruby-man.rd.gz</div><div class='add'>+/run.gdb</div><div class='add'>+/sizes.c</div><div class='add'>+/static-ruby</div><div class='add'>+/test.rb</div><div class='add'>+/test-coverage.dat</div><div class='add'>+/tmp</div><div class='add'>+/transdb.h</div><div class='add'>+/uncommon.mk</div><div class='add'>+/verconf.h</div><div class='add'>+/verconf.mk</div><div class='add'>+/web</div><div class='add'>+/yasmdata.rb</div><div class='add'>+</div><div class='add'>+# /bin/</div><div class='add'>+</div><div class='add'>+/bin/*.exe</div><div class='add'>+/bin/*.dll</div><div class='add'>+</div><div class='add'>+# /benchmark/</div><div class='add'>+/benchmark/bm_require.data</div><div class='add'>+/benchmark/bmx_*.rb</div><div class='add'>+/benchmark/fasta.output.*</div><div class='add'>+/benchmark/wc.input</div><div class='add'>+</div><div class='add'>+/enc/*.def</div><div class='add'>+/enc/*.exp</div><div class='add'>+/enc/*.lib</div><div class='add'>+/enc/jis/props.h</div><div class='add'>+/enc/unicode/data</div><div class='add'>+</div><div class='add'>+# /coroutine/</div><div class='add'>+!/coroutine/**/*.s</div><div class='add'>+</div><div class='add'>+# /enc/trans/</div><div class='add'>+/enc/trans/*.c</div><div class='add'>+/enc/trans/*.def</div><div class='add'>+/enc/trans/*.exp</div><div class='add'>+/enc/trans/*.lib</div><div class='add'>+</div><div class='add'>+# /exe/</div><div class='add'>+/exe/goruby</div><div class='add'>+/exe/ruby</div><div class='add'>+</div><div class='add'>+# /ext/</div><div class='add'>+/ext/extinit.c</div><div class='add'>+/ext/configure-ext.mk</div><div class='add'>+/ext/*/exts.mk</div><div class='add'>+</div><div class='add'>+# /ext/-test-/cxxanyargs</div><div class='add'>+/ext/-test-/cxxanyargs/failure*.failed</div><div class='add'>+</div><div class='add'>+# /ext/-test-/win32/dln/</div><div class='add'>+/ext/-test-/win32/dln/dlntest.dll</div><div class='add'>+/ext/-test-/win32/dln/dlntest.exp</div><div class='add'>+/ext/-test-/win32/dln/dlntest.lib</div><div class='add'>+</div><div class='add'>+# /ext/etc/</div><div class='add'>+/ext/etc/constdefs.h</div><div class='add'>+</div><div class='add'>+# /ext/fiddle/</div><div class='add'>+/ext/fiddle/libffi-*</div><div class='add'>+</div><div class='add'>+# /ext/rbconfig/</div><div class='add'>+/ext/rbconfig/sizeof/sizes.c</div><div class='add'>+/ext/rbconfig/sizeof/limits.c</div><div class='add'>+</div><div class='add'>+# /ext/ripper/</div><div class='add'>+/ext/ripper/eventids1.c</div><div class='add'>+/ext/ripper/.eventids2-check</div><div class='add'>+/ext/ripper/eventids2table.c</div><div class='add'>+/ext/ripper/ripper.*</div><div class='add'>+/ext/ripper/ids1</div><div class='add'>+/ext/ripper/ids2</div><div class='add'>+</div><div class='add'>+# /ext/socket/</div><div class='add'>+/ext/socket/constants.h</div><div class='add'>+/ext/socket/constdefs.h</div><div class='add'>+/ext/socket/constdefs.c</div><div class='add'>+</div><div class='add'>+# /gems</div><div class='add'>+/gems/*.gem</div><div class='add'>+/gems/src</div><div class='add'>+/gems/*-*</div><div class='add'>+</div><div class='add'>+# /lib/</div><div class='add'>+/lib/ruby/[1-9]*.*</div><div class='add'>+/lib/ruby/vendor_ruby</div><div class='add'>+</div><div class='add'>+# /spec/bundler</div><div class='add'>+/.rspec_status</div><div class='add'>+</div><div class='add'>+# /tool/</div><div class='add'>+/tool/config.guess</div><div class='add'>+/tool/config.sub</div><div class='add'>+</div><div class='add'>+# /win32/</div><div class='add'>+/win32/*.ico</div><div class='add'>+</div><div class='add'>+# MJIT</div><div class='add'>+/rb_mjit_header.h</div><div class='add'>+/mjit_config.h</div><div class='add'>+/include/ruby-*/*/rb_mjit_min_header-*.h</div><div class='head'>diff --git a/.rspec_parallel b/.rspec_parallel<br/>new file mode 100644<br/>index 0000000000..aaff198a32<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/.rspec_parallel?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>.rspec_parallel</a></div><div class='hunk'>@@ -0,0 +1,2 @@</div><div class='add'>+--format progress</div><div class='add'>+--format ParallelTests::RSpec::RuntimeLogger --out tmp/parallel_runtime_rspec.log</div><div class='head'>diff --git a/.travis.yml b/.travis.yml<br/>new file mode 100644<br/>index 0000000000..d480307dd6<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/.travis.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>.travis.yml</a></div><div class='hunk'>@@ -0,0 +1,291 @@</div><div class='add'>+# -*- YAML -*-</div><div class='add'>+# Copyright (C) 2011 Urabe, Shyouhei.  All rights reserved.</div><div class='add'>+#</div><div class='add'>+# This file is  a part of the programming language  Ruby.  Permission is hereby</div><div class='add'>+# granted,  to either  redistribute  or  modify this  file,  provided that  the</div><div class='add'>+# conditions  mentioned in  the file  COPYING are  met.  Consult  the  file for</div><div class='add'>+# details.</div><div class='add'>+</div><div class='add'>+# This is  a Travis-CI  build configuration file.   The list  of configurations</div><div class='add'>+# available is located in</div><div class='add'>+#</div><div class='add'>+#     http://about.travis-ci.org/docs/user/build-configuration/</div><div class='add'>+#</div><div class='add'>+# and as Ruby itself is a project written in C language,</div><div class='add'>+#</div><div class='add'>+#     http://about.travis-ci.org/docs/user/languages/c/</div><div class='add'>+#</div><div class='add'>+# is also a good place to look at.</div><div class='add'>+</div><div class='add'>+language: c</div><div class='add'>+</div><div class='add'>+os: linux</div><div class='add'>+</div><div class='add'>+dist: xenial</div><div class='add'>+</div><div class='add'>+git:</div><div class='add'>+  quiet: true</div><div class='add'>+</div><div class='add'>+cache:</div><div class='add'>+  ccache: true</div><div class='add'>+  directories:</div><div class='add'>+    - $HOME/config_2nd</div><div class='add'>+    - $HOME/.downloaded-cache</div><div class='add'>+</div><div class='add'>+env:</div><div class='add'>+  global:</div><div class='add'>+    # Reset timestamps early</div><div class='add'>+    - _=$(touch NEWS &amp;&amp; find . -type f -exec touch -r NEWS {} +)</div><div class='add'>+    - CONFIGURE_TTY=no</div><div class='add'>+    - CCACHE_COMPILERCHECK=none</div><div class='add'>+    - CCACHE_NOCOMPRESS=1</div><div class='add'>+    - CCACHE_MAXSIZE=512Mi</div><div class='add'>+    - NPROC="`nproc`"</div><div class='add'>+    # JOBS and SETARCH are overridden when necessary; see below.</div><div class='add'>+    - JOBS=-j$((1+${NPROC}))</div><div class='add'>+    - SETARCH=</div><div class='add'>+    - RUBY_PREFIX=/tmp/ruby-prefix</div><div class='add'>+    - GEMS_FOR_TEST='timezone tzinfo'</div><div class='add'>+    - UPDATE_UNICODE="UNICODE_FILES=. UNICODE_PROPERTY_FILES=. UNICODE_AUXILIARY_FILES=. UNICODE_EMOJI_FILES=."</div><div class='add'>+    - BEFORE_INSTALL=true</div><div class='add'>+    # https://github.com/travis-ci/travis-build/blob/e411371dda21430a60f61b8f3f57943d2fe4d344/lib/travis/build/bash/travis_apt_get_options.bash#L7</div><div class='add'>+    - travis_apt_get_options='--allow-downgrades --allow-remove-essential --allow-change-held-packages'</div><div class='add'>+    - travis_apt_get_options="-yq --no-install-suggests --no-install-recommends $travis_apt_get_options"</div><div class='add'>+</div><div class='add'>+.org.ruby-lang.ci.matrix-definitions:</div><div class='add'>+</div><div class='add'>+  - &amp;make-test-only</div><div class='add'>+    script:</div><div class='add'>+      - $SETARCH make -s test TESTOPTS="${TESTOPTS=$JOBS -q --tty=no}"</div><div class='add'>+</div><div class='add'>+  - &amp;gcc-8</div><div class='add'>+    compiler: gcc-8</div><div class='add'>+    # # Not using addon to control retries</div><div class='add'>+    # addons:</div><div class='add'>+    #   apt:</div><div class='add'>+    #     sources:</div><div class='add'>+    #       - ubuntu-toolchain-r-test</div><div class='add'>+    before_install:</div><div class='add'>+      - bash -cx "${BEFORE_INSTALL}"</div><div class='add'>+      - tool/travis_retry.sh sudo -E apt-add-repository -y "ppa:ubuntu-toolchain-r/test"</div><div class='add'>+      - tool/travis_retry.sh sudo bash -c "rm -rf '${TRAVIS_ROOT}/var/lib/apt/lists/'* &amp;&amp; exec apt-get update -yq"</div><div class='add'>+      - &gt;-</div><div class='add'>+        tool/travis_retry.sh sudo -E apt-get $travis_apt_get_options install</div><div class='add'>+        ccache</div><div class='add'>+        gcc-8</div><div class='add'>+        g++-8</div><div class='add'>+        libffi-dev</div><div class='add'>+        libgdbm-dev</div><div class='add'>+        libncurses5-dev</div><div class='add'>+        libncursesw5-dev</div><div class='add'>+        libreadline6-dev</div><div class='add'>+        libssl-dev</div><div class='add'>+        libyaml-dev</div><div class='add'>+        openssl</div><div class='add'>+        zlib1g-dev</div><div class='add'>+</div><div class='add'>+  - &amp;clang-8</div><div class='add'>+    compiler: clang-8</div><div class='add'>+    addons:</div><div class='add'>+      apt:</div><div class='add'>+        # Not doing this manually unlike other sources, because it has been stable.</div><div class='add'>+        sources:</div><div class='add'>+          - llvm-toolchain-xenial-8</div><div class='add'>+        config:</div><div class='add'>+          retries: true</div><div class='add'>+    before_install:</div><div class='add'>+      - tool/travis_retry.sh sudo bash -c "rm -rf '${TRAVIS_ROOT}/var/lib/apt/lists/'* &amp;&amp; exec apt-get update -yq"</div><div class='add'>+      - &gt;-</div><div class='add'>+        tool/travis_retry.sh sudo -E apt-get $travis_apt_get_options install</div><div class='add'>+        clang-8</div><div class='add'>+        llvm-8-tools</div><div class='add'>+        libffi-dev</div><div class='add'>+        libgdbm-dev</div><div class='add'>+        libncurses5-dev</div><div class='add'>+        libncursesw5-dev</div><div class='add'>+        libreadline6-dev</div><div class='add'>+        libssl-dev</div><div class='add'>+        libyaml-dev</div><div class='add'>+        openssl</div><div class='add'>+        zlib1g-dev</div><div class='add'>+</div><div class='add'>+  # --------</div><div class='add'>+</div><div class='add'>+  - &amp;x86_64-linux</div><div class='add'>+    name: x86_64-linux</div><div class='add'>+    &lt;&lt;: *gcc-8</div><div class='add'>+</div><div class='add'>+  - &amp;arm64-linux</div><div class='add'>+    name: arm64-linux</div><div class='add'>+    arch: arm64</div><div class='add'>+    &lt;&lt;: *gcc-8</div><div class='add'>+</div><div class='add'>+  - &amp;s390x-linux</div><div class='add'>+    name: s390x-linux</div><div class='add'>+    arch: s390x</div><div class='add'>+    &lt;&lt;: *gcc-8</div><div class='add'>+</div><div class='add'>+  - &amp;i686-linux</div><div class='add'>+    name: i686-linux</div><div class='add'>+    compiler: gcc-8</div><div class='add'>+    env:</div><div class='add'>+      - GCC_FLAGS=-m32</div><div class='add'>+      - CXX='g++-8 -m32'</div><div class='add'>+      - debugflags=-g0</div><div class='add'>+      - SETARCH='setarch i686 --verbose --3gb'</div><div class='add'>+    # # Not using addon to control retries</div><div class='add'>+    # addons:</div><div class='add'>+    #   apt:</div><div class='add'>+    #     sources:</div><div class='add'>+    #       - ubuntu-toolchain-r-test</div><div class='add'>+    before_install:</div><div class='add'>+      - tool/travis_retry.sh sudo -E apt-add-repository -y "ppa:ubuntu-toolchain-r/test"</div><div class='add'>+      - tool/travis_retry.sh sudo bash -c "rm -rf '${TRAVIS_ROOT}/var/lib/apt/lists/'* &amp;&amp; exec apt-get update -yq"</div><div class='add'>+      - &gt;-</div><div class='add'>+        tool/travis_retry.sh sudo -E apt-get $travis_apt_get_options install</div><div class='add'>+        gcc-8-multilib</div><div class='add'>+        g++-8</div><div class='add'>+        g++-8-multilib</div><div class='add'>+        libstdc++-8-dev:i386</div><div class='add'>+        libffi-dev:i386</div><div class='add'>+        libffi6:i386</div><div class='add'>+        libgdbm-dev:i386</div><div class='add'>+        libgdbm3:i386</div><div class='add'>+        libncurses5-dev:i386</div><div class='add'>+        libncurses5:i386</div><div class='add'>+        libncursesw5-dev:i386</div><div class='add'>+        libreadline6-dev:i386</div><div class='add'>+        libreadline6:i386</div><div class='add'>+        libssl-dev:i386</div><div class='add'>+        libssl1.0.0:i386</div><div class='add'>+        linux-libc-dev:i386</div><div class='add'>+        zlib1g-dev:i386</div><div class='add'>+        zlib1g:i386</div><div class='add'>+</div><div class='add'>+  - &amp;arm32-linux</div><div class='add'>+    name: arm32-linux</div><div class='add'>+    arch: arm64</div><div class='add'>+    # https://packages.ubuntu.com/xenial/crossbuild-essential-armhf</div><div class='add'>+    compiler: arm-linux-gnueabihf-gcc</div><div class='add'>+    env:</div><div class='add'>+      - debugflags=-g0</div><div class='add'>+      - SETARCH='setarch linux32 --verbose --32bit'</div><div class='add'>+    before_install:</div><div class='add'>+      - sudo dpkg --add-architecture armhf</div><div class='add'>+      - tool/travis_retry.sh sudo bash -c "rm -rf '${TRAVIS_ROOT}/var/lib/apt/lists/'* &amp;&amp; exec apt-get update -yq"</div><div class='add'>+      - &gt;-</div><div class='add'>+        tool/travis_retry.sh sudo -E apt-get $travis_apt_get_options install</div><div class='add'>+        ccache</div><div class='add'>+        crossbuild-essential-armhf</div><div class='add'>+        libc6:armhf</div><div class='add'>+        libstdc++-5-dev:armhf</div><div class='add'>+        libffi-dev:armhf</div><div class='add'>+        libffi6:armhf</div><div class='add'>+        libgdbm-dev:armhf</div><div class='add'>+        libgdbm3:armhf</div><div class='add'>+        libncurses5-dev:armhf</div><div class='add'>+        libncurses5:armhf</div><div class='add'>+        libncursesw5-dev:armhf</div><div class='add'>+        libreadline6-dev:armhf</div><div class='add'>+        libreadline6:armhf</div><div class='add'>+        libssl-dev:armhf</div><div class='add'>+        libssl1.0.0:armhf</div><div class='add'>+        linux-libc-dev:armhf</div><div class='add'>+        zlib1g-dev:armhf</div><div class='add'>+        zlib1g:armhf</div><div class='add'>+</div><div class='add'>+matrix:</div><div class='add'>+  include:</div><div class='add'>+    # Build every commit:</div><div class='add'>+    - &lt;&lt;: *i686-linux</div><div class='add'>+    # Build every commit (Allowed Failures):</div><div class='add'>+    - &lt;&lt;: *arm32-linux</div><div class='add'>+    - &lt;&lt;: *arm64-linux</div><div class='add'>+    - &lt;&lt;: *s390x-linux</div><div class='add'>+  allow_failures:</div><div class='add'>+    - name: arm32-linux</div><div class='add'>+    - name: arm64-linux</div><div class='add'>+    - name: s390x-linux</div><div class='add'>+  fast_finish: true</div><div class='add'>+</div><div class='add'>+before_script:</div><div class='add'>+  - rm -fr .ext autom4te.cache</div><div class='add'>+  - |-</div><div class='add'>+    [ -d ~/.downloaded-cache ] ||</div><div class='add'>+    mkdir ~/.downloaded-cache</div><div class='add'>+  - ln -s ~/.downloaded-cache</div><div class='add'>+  - "&gt; config.status"</div><div class='add'>+  - "&gt; .rbconfig.time"</div><div class='add'>+  - sed -f tool/prereq.status template/Makefile.in common.mk &gt; Makefile</div><div class='add'>+  - make touch-unicode-files</div><div class='add'>+  - make -s $JOBS $UPDATE_UNICODE up</div><div class='add'>+  - make -s $JOBS srcs</div><div class='add'>+  - rm -f config.status Makefile rbconfig.rb .rbconfig.time</div><div class='add'>+  - |-</div><div class='add'>+    if [ -d ~/config_2nd ]; then</div><div class='add'>+      cp -pr ~/config_2nd build</div><div class='add'>+    else</div><div class='add'>+      mkdir build</div><div class='add'>+    fi</div><div class='add'>+  - mkdir config_1st config_2nd</div><div class='add'>+  - chmod -R a-w .</div><div class='add'>+  - chmod -R u+w build config_1st config_2nd</div><div class='add'>+  - cd build</div><div class='add'>+  - |-</div><div class='add'>+    case "$CC" in</div><div class='add'>+    gcc*)   CC="ccache $CC${GCC_FLAGS:+ }$GCC_FLAGS -fno-diagnostics-color";;</div><div class='add'>+    clang*) CC="ccache $CC${GCC_FLAGS:+ }$GCC_FLAGS -fno-color-diagnostics";;</div><div class='add'>+    esac</div><div class='add'>+  - |-</div><div class='add'>+    [ ! -f config.cache ] ||</div><div class='add'>+    [ "$CC" = "`sed -n s/^ac_cv_prog_CC=//p config.cache`" ] ||</div><div class='add'>+    (set -x; exec rm config.cache)</div><div class='add'>+  - $SETARCH ../configure -C --disable-install-doc --prefix=$RUBY_PREFIX $CONFIG_FLAG</div><div class='add'>+  - cp -pr config.cache config.status .ext/include ../config_1st</div><div class='add'>+  - $SETARCH make reconfig</div><div class='add'>+  - cp -pr config.cache config.status .ext/include ../config_2nd</div><div class='add'>+  - (cd .. &amp;&amp; exec diff -ru config_1st config_2nd)</div><div class='add'>+  - chmod u+w ..</div><div class='add'>+  - rm -rf ~/config_2nd</div><div class='add'>+  - mv ../config_2nd ~</div><div class='add'>+  - chmod u-w ..</div><div class='add'>+  - $SETARCH make -s $JOBS</div><div class='add'>+  - make -s install</div><div class='add'>+  - |-</div><div class='add'>+    [ -z "${GEMS_FOR_TEST}" ] ||</div><div class='add'>+    $RUBY_PREFIX/bin/gem install --no-document $GEMS_FOR_TEST</div><div class='add'>+  - echo "raise 'do not load ~/.irbrc in test'" &gt; ~/.irbrc</div><div class='add'>+</div><div class='add'>+script:</div><div class='add'>+  - $SETARCH make -s test -o showflags TESTOPTS="${TESTOPTS=$JOBS -q --tty=no}"</div><div class='add'>+  - travis_wait 50 $SETARCH make -s test-all -o exts TESTOPTS="${TESTOPTS} ${TEST_ALL_OPTS}" RUBYOPT="-w"</div><div class='add'>+  - $SETARCH make -s test-spec MSPECOPT=-ff # not using `-j` because sometimes `mspec -j` silently dies</div><div class='add'>+  - $SETARCH make -s -o showflags leaked-globals</div><div class='add'>+</div><div class='add'>+# Branch matrix.  Not all branches are Travis-ready so we limit branches here.</div><div class='add'>+branches:</div><div class='add'>+  only:</div><div class='add'>+    - master</div><div class='add'>+    - ruby_2_4</div><div class='add'>+    - ruby_2_5</div><div class='add'>+    - ruby_2_6</div><div class='add'>+    - ruby_2_7</div><div class='add'>+</div><div class='add'>+# We want to be notified when something happens.</div><div class='add'>+notifications:</div><div class='add'>+  irc:</div><div class='add'>+    channels:</div><div class='add'>+      - "chat.freenode.net#ruby-core"</div><div class='add'>+    on_success: change # [always|never|change] # default: always</div><div class='add'>+    on_failure: always # [always|never|change] # default: always</div><div class='add'>+    template:</div><div class='add'>+      - "%{message} by @%{author}: See %{build_url}"</div><div class='add'>+</div><div class='add'>+  webhooks:</div><div class='add'>+    urls:</div><div class='add'>+      - secure: mRsoS/UbqDkKkW5p3AEqM27d4SZnV6Gsylo3bm8T/deltQzTsGzZwrm7OIBXZv0UFZdE68XmPlyHfZFLSP2V9QZ7apXMf9/vw0GtcSe1gchtnjpAPF6lYBn7nMCbVPPx9cS0dwL927fjdRM1vj7IKZ2bk4F0lAJ25R25S6teqdk= # ruby-lang slack: ruby/simpler-alerts-bot (travis)</div><div class='add'>+    on_success: never</div><div class='add'>+    on_failure: always</div><div class='add'>+</div><div class='add'>+  email:</div><div class='add'>+    - ko1c-failure@atdot.net</div><div class='head'>diff --git a/BSDL b/BSDL<br/>new file mode 100644<br/>index 0000000000..66d93598aa<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/BSDL?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>BSDL</a></div><div class='hunk'>@@ -0,0 +1,22 @@</div><div class='add'>+Copyright (C) 1993-2013 Yukihiro Matsumoto. All rights reserved.</div><div class='add'>+</div><div class='add'>+Redistribution and use in source and binary forms, with or without</div><div class='add'>+modification, are permitted provided that the following conditions</div><div class='add'>+are met:</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='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='add'>+</div><div class='add'>+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND</div><div class='add'>+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</div><div class='add'>+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</div><div class='add'>+ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE</div><div class='add'>+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL</div><div class='add'>+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS</div><div class='add'>+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)</div><div class='add'>+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT</div><div class='add'>+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY</div><div class='add'>+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF</div><div class='add'>+SUCH DAMAGE.</div><div class='head'>diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md<br/>new file mode 100644<br/>index 0000000000..ffdf2dd4b8<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/CONTRIBUTING.md?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>CONTRIBUTING.md</a></div><div class='hunk'>@@ -0,0 +1,4 @@</div><div class='add'>+Please see the [official issue tracker] and wiki [HowToContribute].</div><div class='add'>+</div><div class='add'>+[official issue tracker]: https://bugs.ruby-lang.org</div><div class='add'>+[HowToContribute]: https://bugs.ruby-lang.org/projects/ruby/wiki/HowToContribute</div><div class='head'>diff --git a/COPYING b/COPYING<br/>index eeb586b392..48e5a96de7 100644<br/>--- a/<a href='/ruby.git/tree/COPYING?h=v3_0_0&amp;id=cfb52c86678519810cfa84b564a3d32a9200139d'>COPYING</a><br/>+++ b/<a href='/ruby.git/tree/COPYING?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>COPYING</a></div><div class='hunk'>@@ -1,340 +1,56 @@</div><div class='del'>-		    GNU GENERAL PUBLIC LICENSE</div><div class='del'>-		       Version 2, June 1991</div><div class='add'>+Ruby is copyrighted free software by Yukihiro Matsumoto &lt;matz@netlab.jp&gt;.</div><div class='add'>+You can redistribute it and/or modify it under either the terms of the</div><div class='add'>+2-clause BSDL (see the file BSDL), or the conditions below:</div><div class='ctx'> </div><div class='del'>- Copyright (C) 1989, 1991 Free Software Foundation, Inc.</div><div class='del'>-     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA</div><div class='del'>- Everyone is permitted to copy and distribute verbatim copies</div><div class='del'>- of this license document, but changing it is not allowed.</div><div class='add'>+1. You may make and give away verbatim copies of the source form of the</div><div class='add'>+   software without restriction, provided that you duplicate all of the</div><div class='add'>+   original copyright notices and associated disclaimers.</div><div class='ctx'> </div><div class='del'>-			    Preamble</div><div class='add'>+2. You may modify your copy of the software in any way, provided that</div><div class='add'>+   you do at least ONE of the following:</div><div class='ctx'> </div><div class='del'>-  The licenses for most software are designed to take away your</div><div class='del'>-freedom to share and change it.  By contrast, the GNU General Public</div><div class='del'>-License is intended to guarantee your freedom to share and change free</div><div class='del'>-software--to make sure the software is free for all its users.  This</div><div class='del'>-General Public License applies to most of the Free Software</div><div class='del'>-Foundation's software and to any other program whose authors commit to</div><div class='del'>-using it.  (Some other Free Software Foundation software is covered by</div><div class='del'>-the GNU Library General Public License instead.)  You can apply it to</div><div class='del'>-your programs, too.</div><div class='add'>+   a. place your modifications in the Public Domain or otherwise</div><div class='add'>+      make them Freely Available, such as by posting said</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='del'>-  When we speak of free software, we are referring to freedom, not</div><div class='del'>-price.  Our General Public Licenses are designed to make sure that you</div><div class='del'>-have the freedom to distribute copies of free software (and charge for</div><div class='del'>-this service if you wish), that you receive source code or can get it</div><div class='del'>-if you want it, that you can change the software or use pieces of it</div><div class='del'>-in new free programs; and that you know you can do these things.</div><div class='add'>+   b. use the modified software only within your corporation or</div><div class='add'>+      organization.</div><div class='ctx'> </div><div class='del'>-  To protect your rights, we need to make restrictions that forbid</div><div class='del'>-anyone to deny you these rights or to ask you to surrender the rights.</div><div class='del'>-These restrictions translate to certain responsibilities for you if you</div><div class='del'>-distribute copies of the software, or if you modify it.</div><div class='add'>+   c. give non-standard binaries non-standard names, with</div><div class='add'>+      instructions on where to get the original software distribution.</div><div class='ctx'> </div><div class='del'>-  For example, if you distribute copies of such a program, whether</div><div class='del'>-gratis or for a fee, you must give the recipients all the rights that</div><div class='del'>-you have.  You must make sure that they, too, receive or can get the</div><div class='del'>-source code.  And you must show them these terms so they know their</div><div class='del'>-rights.</div><div class='add'>+   d. make other distribution arrangements with the author.</div><div class='ctx'> </div><div class='del'>-  We protect your rights with two steps: (1) copyright the software, and</div><div class='del'>-(2) offer you this license which gives you legal permission to copy,</div><div class='del'>-distribute and/or modify the software.</div><div class='add'>+3. You may distribute the software in object code or binary form,</div><div class='add'>+   provided that you do at least ONE of the following:</div><div class='ctx'> </div><div class='del'>-  Also, for each author's protection and ours, we want to make certain</div><div class='del'>-that everyone understands that there is no warranty for this free</div><div class='del'>-software.  If the software is modified by someone else and passed on, we</div><div class='del'>-want its recipients to know that what they have is not the original, so</div><div class='del'>-that any problems introduced by others will not reflect on the original</div><div class='del'>-authors' reputations.</div><div class='add'>+   a. distribute the binaries and library files of the software,</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='del'>-  Finally, any free program is threatened constantly by software</div><div class='del'>-patents.  We wish to avoid the danger that redistributors of a free</div><div class='del'>-program will individually obtain patent licenses, in effect making the</div><div class='del'>-program proprietary.  To prevent this, we have made it clear that any</div><div class='del'>-patent must be licensed for everyone's free use or not licensed at all.</div><div class='add'>+   b. accompany the distribution with the machine-readable source of</div><div class='add'>+      the software.</div><div class='ctx'> </div><div class='del'>-  The precise terms and conditions for copying, distribution and</div><div class='del'>-modification follow.</div><div class='del'>-</div><div class='del'>-		    GNU GENERAL PUBLIC LICENSE</div><div class='del'>-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</div><div class='add'>+   c. give non-standard binaries non-standard names, with</div><div class='add'>+      instructions on where to get the original software distribution.</div><div class='ctx'> </div><div class='del'>-  0. This License applies to any program or other work which contains</div><div class='del'>-a notice placed by the copyright holder saying it may be distributed</div><div class='del'>-under the terms of this General Public License.  The "Program", below,</div><div class='del'>-refers to any such program or work, and a "work based on the Program"</div><div class='del'>-means either the Program or any derivative work under copyright law:</div><div class='del'>-that is to say, a work containing the Program or a portion of it,</div><div class='del'>-either verbatim or with modifications and/or translated into another</div><div class='del'>-language.  (Hereinafter, translation is included without limitation in</div><div class='del'>-the term "modification".)  Each licensee is addressed as "you".</div><div class='add'>+   d. make other distribution arrangements with the author.</div><div class='ctx'> </div><div class='del'>-Activities other than copying, distribution and modification are not</div><div class='del'>-covered by this License; they are outside its scope.  The act of</div><div class='del'>-running the Program is not restricted, and the output from the Program</div><div class='del'>-is covered only if its contents constitute a work based on the</div><div class='del'>-Program (independent of having been made by running the Program).</div><div class='del'>-Whether that is true depends on what the Program does.</div><div class='add'>+4. You may modify and include the part of the software into any other</div><div class='add'>+   software (possibly commercial).  But some files in the distribution</div><div class='add'>+   are not written by the author, so that they are not under these terms.</div><div class='ctx'> </div><div class='del'>-  1. You may copy and distribute verbatim copies of the Program's</div><div class='del'>-source code as you receive it, in any medium, provided that you</div><div class='del'>-conspicuously and appropriately publish on each copy an appropriate</div><div class='del'>-copyright notice and disclaimer of warranty; keep intact all the</div><div class='del'>-notices that refer to this License and to the absence of any warranty;</div><div class='del'>-and give any other recipients of the Program a copy of this License</div><div class='del'>-along with the Program.</div><div class='add'>+   For the list of those files and their copying conditions, see the</div><div class='add'>+   file LEGAL.</div><div class='ctx'> </div><div class='del'>-You may charge a fee for the physical act of transferring a copy, and</div><div class='del'>-you may at your option offer warranty protection in exchange for a fee.</div><div class='add'>+5. The scripts and library files supplied as input to or produced as</div><div class='add'>+   output from the software do not automatically fall under the</div><div class='add'>+   copyright of the software, but belong to whomever generated them,</div><div class='add'>+   and may be sold commercially, and may be aggregated with this</div><div class='add'>+   software.</div><div class='ctx'> </div><div class='del'>-  2. You may modify your copy or copies of the Program or any portion</div><div class='del'>-of it, thus forming a work based on the Program, and copy and</div><div class='del'>-distribute such modifications or work under the terms of Section 1</div><div class='del'>-above, provided that you also meet all of these conditions:</div><div class='del'>-</div><div class='del'>-    a) You must cause the modified files to carry prominent notices</div><div class='del'>-    stating that you changed the files and the date of any change.</div><div class='del'>-</div><div class='del'>-    b) You must cause any work that you distribute or publish, that in</div><div class='del'>-    whole or in part contains or is derived from the Program or any</div><div class='del'>-    part thereof, to be licensed as a whole at no charge to all third</div><div class='del'>-    parties under the terms of this License.</div><div class='del'>-</div><div class='del'>-    c) If the modified program normally reads commands interactively</div><div class='del'>-    when run, you must cause it, when started running for such</div><div class='del'>-    interactive use in the most ordinary way, to print or display an</div><div class='del'>-    announcement including an appropriate copyright notice and a</div><div class='del'>-    notice that there is no warranty (or else, saying that you provide</div><div class='del'>-    a warranty) and that users may redistribute the program under</div><div class='del'>-    these conditions, and telling the user how to view a copy of this</div><div class='del'>-    License.  (Exception: if the Program itself is interactive but</div><div class='del'>-    does not normally print such an announcement, your work based on</div><div class='del'>-    the Program is not required to print an announcement.)</div><div class='del'>-</div><div class='del'>-These requirements apply to the modified work as a whole.  If</div><div class='del'>-identifiable sections of that work are not derived from the Program,</div><div class='del'>-and can be reasonably considered independent and separate works in</div><div class='del'>-themselves, then this License, and its terms, do not apply to those</div><div class='del'>-sections when you distribute them as separate works.  But when you</div><div class='del'>-distribute the same sections as part of a whole which is a work based</div><div class='del'>-on the Program, the distribution of the whole must be on the terms of</div><div class='del'>-this License, whose permissions for other licensees extend to the</div><div class='del'>-entire whole, and thus to each and every part regardless of who wrote it.</div><div class='del'>-</div><div class='del'>-Thus, it is not the intent of this section to claim rights or contest</div><div class='del'>-your rights to work written entirely by you; rather, the intent is to</div><div class='del'>-exercise the right to control the distribution of derivative or</div><div class='del'>-collective works based on the Program.</div><div class='del'>-</div><div class='del'>-In addition, mere aggregation of another work not based on the Program</div><div class='del'>-with the Program (or with a work based on the Program) on a volume of</div><div class='del'>-a storage or distribution medium does not bring the other work under</div><div class='del'>-the scope of this License.</div><div class='del'>-</div><div class='del'>-  3. You may copy and distribute the Program (or a work based on it,</div><div class='del'>-under Section 2) in object code or executable form under the terms of</div><div class='del'>-Sections 1 and 2 above provided that you also do one of the following:</div><div class='del'>-</div><div class='del'>-    a) Accompany it with the complete corresponding machine-readable</div><div class='del'>-    source code, which must be distributed under the terms of Sections</div><div class='del'>-    1 and 2 above on a medium customarily used for software interchange; or,</div><div class='del'>-</div><div class='del'>-    b) Accompany it with a written offer, valid for at least three</div><div class='del'>-    years, to give any third party, for a charge no more than your</div><div class='del'>-    cost of physically performing source distribution, a complete</div><div class='del'>-    machine-readable copy of the corresponding source code, to be</div><div class='del'>-    distributed under the terms of Sections 1 and 2 above on a medium</div><div class='del'>-    customarily used for software interchange; or,</div><div class='del'>-</div><div class='del'>-    c) Accompany it with the information you received as to the offer</div><div class='del'>-    to distribute corresponding source code.  (This alternative is</div><div class='del'>-    allowed only for noncommercial distribution and only if you</div><div class='del'>-    received the program in object code or executable form with such</div><div class='del'>-    an offer, in accord with Subsection b above.)</div><div class='del'>-</div><div class='del'>-The source code for a work means the preferred form of the work for</div><div class='del'>-making modifications to it.  For an executable work, complete source</div><div class='del'>-code means all the source code for all modules it contains, plus any</div><div class='del'>-associated interface definition files, plus the scripts used to</div><div class='del'>-control compilation and installation of the executable.  However, as a</div><div class='del'>-special exception, the source code distributed need not include</div><div class='del'>-anything that is normally distributed (in either source or binary</div><div class='del'>-form) with the major components (compiler, kernel, and so on) of the</div><div class='del'>-operating system on which the executable runs, unless that component</div><div class='del'>-itself accompanies the executable.</div><div class='del'>-</div><div class='del'>-If distribution of executable or object code is made by offering</div><div class='del'>-access to copy from a designated place, then offering equivalent</div><div class='del'>-access to copy the source code from the same place counts as</div><div class='del'>-distribution of the source code, even though third parties are not</div><div class='del'>-compelled to copy the source along with the object code.</div><div class='del'>-</div><div class='del'>-  4. You may not copy, modify, sublicense, or distribute the Program</div><div class='del'>-except as expressly provided under this License.  Any attempt</div><div class='del'>-otherwise to copy, modify, sublicense or distribute the Program is</div><div class='del'>-void, and will automatically terminate your rights under this License.</div><div class='del'>-However, parties who have received copies, or rights, from you under</div><div class='del'>-this License will not have their licenses terminated so long as such</div><div class='del'>-parties remain in full compliance.</div><div class='del'>-</div><div class='del'>-  5. You are not required to accept this License, since you have not</div><div class='del'>-signed it.  However, nothing else grants you permission to modify or</div><div class='del'>-distribute the Program or its derivative works.  These actions are</div><div class='del'>-prohibited by law if you do not accept this License.  Therefore, by</div><div class='del'>-modifying or distributing the Program (or any work based on the</div><div class='del'>-Program), you indicate your acceptance of this License to do so, and</div><div class='del'>-all its terms and conditions for copying, distributing or modifying</div><div class='del'>-the Program or works based on it.</div><div class='del'>-</div><div class='del'>-  6. Each time you redistribute the Program (or any work based on the</div><div class='del'>-Program), the recipient automatically receives a license from the</div><div class='del'>-original licensor to copy, distribute or modify the Program subject to</div><div class='del'>-these terms and conditions.  You may not impose any further</div><div class='del'>-restrictions on the recipients' exercise of the rights granted herein.</div><div class='del'>-You are not responsible for enforcing compliance by third parties to</div><div class='del'>-this License.</div><div class='del'>-</div><div class='del'>-  7. If, as a consequence of a court judgment or allegation of patent</div><div class='del'>-infringement or for any other reason (not limited to patent issues),</div><div class='del'>-conditions are imposed on you (whether by court order, agreement or</div><div class='del'>-otherwise) that contradict the conditions of this License, they do not</div><div class='del'>-excuse you from the conditions of this License.  If you cannot</div><div class='del'>-distribute so as to satisfy simultaneously your obligations under this</div><div class='del'>-License and any other pertinent obligations, then as a consequence you</div><div class='del'>-may not distribute the Program at all.  For example, if a patent</div><div class='del'>-license would not permit royalty-free redistribution of the Program by</div><div class='del'>-all those who receive copies directly or indirectly through you, then</div><div class='del'>-the only way you could satisfy both it and this License would be to</div><div class='del'>-refrain entirely from distribution of the Program.</div><div class='del'>-</div><div class='del'>-If any portion of this section is held invalid or unenforceable under</div><div class='del'>-any particular circumstance, the balance of the section is intended to</div><div class='del'>-apply and the section as a whole is intended to apply in other</div><div class='del'>-circumstances.</div><div class='del'>-</div><div class='del'>-It is not the purpose of this section to induce you to infringe any</div><div class='del'>-patents or other property right claims or to contest validity of any</div><div class='del'>-such claims; this section has the sole purpose of protecting the</div><div class='del'>-integrity of the free software distribution system, which is</div><div class='del'>-implemented by public license practices.  Many people have made</div><div class='del'>-generous contributions to the wide range of software distributed</div><div class='del'>-through that system in reliance on consistent application of that</div><div class='del'>-system; it is up to the author/donor to decide if he or she is willing</div><div class='del'>-to distribute software through any other system and a licensee cannot</div><div class='del'>-impose that choice.</div><div class='del'>-</div><div class='del'>-This section is intended to make thoroughly clear what is believed to</div><div class='del'>-be a consequence of the rest of this License.</div><div class='del'>-</div><div class='del'>-  8. If the distribution and/or use of the Program is restricted in</div><div class='del'>-certain countries either by patents or by copyrighted interfaces, the</div><div class='del'>-original copyright holder who places the Program under this License</div><div class='del'>-may add an explicit geographical distribution limitation excluding</div><div class='del'>-those countries, so that distribution is permitted only in or among</div><div class='del'>-countries not thus excluded.  In such case, this License incorporates</div><div class='del'>-the limitation as if written in the body of this License.</div><div class='del'>-</div><div class='del'>-  9. The Free Software Foundation may publish revised and/or new versions</div><div class='del'>-of the General Public License from time to time.  Such new versions will</div><div class='del'>-be similar in spirit to the present version, but may differ in detail to</div><div class='del'>-address new problems or concerns.</div><div class='del'>-</div><div class='del'>-Each version is given a distinguishing version number.  If the Program</div><div class='del'>-specifies a version number of this License which applies to it and "any</div><div class='del'>-later version", you have the option of following the terms and conditions</div><div class='del'>-either of that version or of any later version published by the Free</div><div class='del'>-Software Foundation.  If the Program does not specify a version number of</div><div class='del'>-this License, you may choose any version ever published by the Free Software</div><div class='del'>-Foundation.</div><div class='del'>-</div><div class='del'>-  10. If you wish to incorporate parts of the Program into other free</div><div class='del'>-programs whose distribution conditions are different, write to the author</div><div class='del'>-to ask for permission.  For software which is copyrighted by the Free</div><div class='del'>-Software Foundation, write to the Free Software Foundation; we sometimes</div><div class='del'>-make exceptions for this.  Our decision will be guided by the two goals</div><div class='del'>-of preserving the free status of all derivatives of our free software and</div><div class='del'>-of promoting the sharing and reuse of software generally.</div><div class='del'>-</div><div class='del'>-			    NO WARRANTY</div><div class='del'>-</div><div class='del'>-  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY</div><div class='del'>-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN</div><div class='del'>-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES</div><div class='del'>-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED</div><div class='del'>-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF</div><div class='del'>-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS</div><div class='del'>-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE</div><div class='del'>-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,</div><div class='del'>-REPAIR OR CORRECTION.</div><div class='del'>-</div><div class='del'>-  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING</div><div class='del'>-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR</div><div class='del'>-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,</div><div class='del'>-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING</div><div class='del'>-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED</div><div class='del'>-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY</div><div class='del'>-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER</div><div class='del'>-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE</div><div class='del'>-POSSIBILITY OF SUCH DAMAGES.</div><div class='del'>-</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='del'>-</div><div class='del'>-  If you develop a new program, and you want it to be of the greatest</div><div class='del'>-possible use to the public, the best way to achieve this is to make it</div><div class='del'>-free software which everyone can redistribute and change under these terms.</div><div class='del'>-</div><div class='del'>-  To do so, attach the following notices to the program.  It is safest</div><div class='del'>-to attach them to the start of each source file to most effectively</div><div class='del'>-convey the exclusion of warranty; and each file should have at least</div><div class='del'>-the "copyright" line and a pointer to where the full notice is found.</div><div class='del'>-</div><div class='del'>-    &lt;one line to give the program's name and a brief idea of what it does.&gt;</div><div class='del'>-    Copyright (C) 19yy  &lt;name of author&gt;</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 2 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, write to the Free Software</div><div class='del'>-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-Also add information on how to contact you by electronic and paper mail.</div><div class='del'>-</div><div class='del'>-If the program is interactive, make it output a short notice like this</div><div class='del'>-when it starts in an interactive mode:</div><div class='del'>-</div><div class='del'>-    Gnomovision version 69, Copyright (C) 19yy name of author</div><div class='del'>-    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.</div><div class='del'>-    This is free software, and you are welcome to redistribute it</div><div class='del'>-    under certain conditions; type `show c' for details.</div><div class='del'>-</div><div class='del'>-The hypothetical commands `show w' and `show c' should show the appropriate</div><div class='del'>-parts of the General Public License.  Of course, the commands you use may</div><div class='del'>-be called something other than `show w' and `show c'; they could even be</div><div class='del'>-mouse-clicks or menu items--whatever suits your program.</div><div class='del'>-</div><div class='del'>-You should also get your employer (if you work as a programmer) or your</div><div class='del'>-school, if any, to sign a "copyright disclaimer" for the program, if</div><div class='del'>-necessary.  Here is a sample; alter the names:</div><div class='del'>-</div><div class='del'>-  Yoyodyne, Inc., hereby disclaims all copyright interest in the program</div><div class='del'>-  `Gnomovision' (which makes passes at compilers) written by James Hacker.</div><div class='del'>-</div><div class='del'>-  &lt;signature of Ty Coon&gt;, 1 April 1989</div><div class='del'>-  Ty Coon, President of Vice</div><div class='del'>-</div><div class='del'>-This General Public License does not permit incorporating your program into</div><div class='del'>-proprietary programs.  If your program is a subroutine library, you may</div><div class='del'>-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 Library General</div><div class='del'>-Public License instead of this License.</div><div class='add'>+6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR</div><div class='add'>+   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED</div><div class='add'>+   WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR</div><div class='add'>+   PURPOSE.</div><div class='head'>diff --git a/COPYING.ja b/COPYING.ja<br/>new file mode 100644<br/>index 0000000000..230376bc60<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/COPYING.ja?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>COPYING.ja</a></div><div class='hunk'>@@ -0,0 +1,51 @@</div><div class='add'>+æœ¬ãƒ—ãƒ­ã‚°ãƒ©ãƒ ã¯ãƒ•ãƒªãƒ¼ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã§ã™ï¼Ž2-clause BSDL</div><div class='add'>+ã¾ãŸã¯ä»¥ä¸‹ã«ç¤ºã™æ¡ä»¶ã§æœ¬ãƒ—ãƒ­ã‚°ãƒ©ãƒ ã‚’å†é…å¸ƒã§ãã¾ã™</div><div class='add'>+2-clause BSDLã«ã¤ã„ã¦ã¯BSDLãƒ•ã‚¡ã‚¤ãƒ«ã‚’å‚ç…§ã—ã¦ä¸‹ã•ã„ï¼Ž</div><div class='add'>+</div><div class='add'>+1. è¤‡è£½ã¯åˆ¶é™ãªãè‡ªç”±ã§ã™ï¼Ž</div><div class='add'>+</div><div class='add'>+2. ä»¥ä¸‹ã®æ¡ä»¶ã®ã„ãšã‚Œã‹ã‚’æº€ãŸã™æ™‚ã«æœ¬ãƒ—ãƒ­ã‚°ãƒ©ãƒ ã®ã‚½ãƒ¼ã‚¹ã‚’</div><div class='add'>+   è‡ªç”±ã«å¤‰æ›´ã§ãã¾ã™ï¼Ž</div><div class='add'>+</div><div class='add'>+   a.  ãƒãƒƒãƒˆãƒ‹ãƒ¥ãƒ¼ã‚ºã«ãƒã‚¹ãƒˆã—ãŸã‚Šï¼Œä½œè€…ã«å¤‰æ›´ã‚’é€ä»˜ã™ã‚‹</div><div class='add'>+       ãªã©ã®æ–¹æ³•ã§ï¼Œå¤‰æ›´ã‚’å…¬é–‹ã™ã‚‹ï¼Ž</div><div class='add'>+</div><div class='add'>+   b.  å¤‰æ›´ã—ãŸæœ¬ãƒ—ãƒ­ã‚°ãƒ©ãƒ ã‚’è‡ªåˆ†ã®æ‰€å±žã™ã‚‹çµ„ç¹”å†…éƒ¨ã ã‘ã§</div><div class='add'>+       ä½¿ã†ï¼Ž</div><div class='add'>+</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'>+   d.  ãã®ä»–ã®å¤‰æ›´æ¡ä»¶ã‚’ä½œè€…ã¨åˆæ„ã™ã‚‹ï¼Ž</div><div class='add'>+</div><div class='add'>+3. ä»¥ä¸‹ã®æ¡ä»¶ã®ã„ãšã‚Œã‹ã‚’æº€ãŸã™æ™‚ã«æœ¬ãƒ—ãƒ­ã‚°ãƒ©ãƒ ã‚’ã‚³ãƒ³ãƒ‘ã‚¤</div><div class='add'>+   ãƒ«ã—ãŸã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆã‚³ãƒ¼ãƒ‰ã‚„å®Ÿè¡Œå½¢å¼ã§ã‚‚é…å¸ƒã§ãã¾ã™ï¼Ž</div><div class='add'>+</div><div class='add'>+   a.  ãƒã‚¤ãƒŠãƒªã‚’å—ã‘å–ã£ãŸäººãŒã‚½ãƒ¼ã‚¹ã‚’å…¥æ‰‹ã§ãã‚‹ã‚ˆã†ã«ï¼Œ</div><div class='add'>+       ã‚½ãƒ¼ã‚¹ã®å…¥æ‰‹æ³•ã‚’æ˜Žç¤ºã™ã‚‹ï¼Ž</div><div class='add'>+</div><div class='add'>+   b.  æ©Ÿæ¢°å¯èª­ãªã‚½ãƒ¼ã‚¹ã‚³ãƒ¼ãƒ‰ã‚’æ·»ä»˜ã™ã‚‹ï¼Ž</div><div class='add'>+</div><div class='add'>+   c.  å¤‰æ›´ã‚’è¡Œã£ãŸãƒã‚¤ãƒŠãƒªã¯åå‰ã‚’å¤‰æ›´ã—ãŸã†ãˆï¼Œã‚ªãƒªã‚¸ãƒŠ</div><div class='add'>+       ãƒ«ã®ã‚½ãƒ¼ã‚¹ã‚³ãƒ¼ãƒ‰ã®å…¥æ‰‹æ³•ã‚’æ˜Žç¤ºã™ã‚‹ï¼Ž</div><div class='add'>+</div><div class='add'>+   d.  ãã®ä»–ã®é…å¸ƒæ¡ä»¶ã‚’ä½œè€…ã¨åˆæ„ã™ã‚‹ï¼Ž</div><div class='add'>+</div><div class='add'>+4. ä»–ã®ãƒ—ãƒ­ã‚°ãƒ©ãƒ ã¸ã®å¼•ç”¨ã¯ã„ã‹ãªã‚‹ç›®çš„ã§ã‚ã‚Œè‡ªç”±ã§ã™ï¼ŽãŸ</div><div class='add'>+   ã ã—ï¼Œæœ¬ãƒ—ãƒ­ã‚°ãƒ©ãƒ ã«å«ã¾ã‚Œã‚‹ä»–ã®ä½œè€…ã«ã‚ˆã‚‹ã‚³ãƒ¼ãƒ‰ã¯ï¼Œã</div><div class='add'>+   ã‚Œãžã‚Œã®ä½œè€…ã®æ„å‘ã«ã‚ˆã‚‹åˆ¶é™ãŒåŠ ãˆã‚‰ã‚Œã‚‹å ´åˆãŒã‚ã‚Šã¾ã™ï¼Ž</div><div class='add'>+</div><div class='add'>+   ãã‚Œã‚‰ãƒ•ã‚¡ã‚¤ãƒ«ã®ä¸€è¦§ã¨ãã‚Œãžã‚Œã®é…å¸ƒæ¡ä»¶ãªã©ã«ä»˜ã„ã¦ã¯</div><div class='add'>+   LEGALãƒ•ã‚¡ã‚¤ãƒ«ã‚’å‚ç…§ã—ã¦ãã ã•ã„ï¼Ž</div><div class='add'>+</div><div class='add'>+5. æœ¬ãƒ—ãƒ­ã‚°ãƒ©ãƒ ã¸ã®å…¥åŠ›ã¨ãªã‚‹ã‚¹ã‚¯ãƒªãƒ—ãƒˆãŠã‚ˆã³ï¼Œæœ¬ãƒ—ãƒ­ã‚°ãƒ©</div><div class='add'>+   ãƒ ã‹ã‚‰ã®å‡ºåŠ›ã®æ¨©åˆ©ã¯æœ¬ãƒ—ãƒ­ã‚°ãƒ©ãƒ ã®ä½œè€…ã§ã¯ãªãï¼Œãã‚Œãž</div><div class='add'>+   ã‚Œã®å…¥å‡ºåŠ›ã‚’ç”Ÿæˆã—ãŸäººã«å±žã—ã¾ã™ï¼Žã¾ãŸï¼Œæœ¬ãƒ—ãƒ­ã‚°ãƒ©ãƒ ã«</div><div class='add'>+   çµ„ã¿è¾¼ã¾ã‚Œã‚‹ãŸã‚ã®æ‹¡å¼µãƒ©ã‚¤ãƒ–ãƒ©ãƒªã«ã¤ã„ã¦ã‚‚åŒæ§˜ã§ã™ï¼Ž</div><div class='add'>+</div><div class='add'>+6. æœ¬ãƒ—ãƒ­ã‚°ãƒ©ãƒ ã¯ç„¡ä¿è¨¼ã§ã™ï¼Žä½œè€…ã¯æœ¬ãƒ—ãƒ­ã‚°ãƒ©ãƒ ã‚’ã‚µãƒãƒ¼ãƒˆ</div><div class='add'>+   ã™ã‚‹æ„å¿—ã¯ã‚ã‚Šã¾ã™ãŒï¼Œãƒ—ãƒ­ã‚°ãƒ©ãƒ è‡ªèº«ã®ãƒã‚°ã‚ã‚‹ã„ã¯æœ¬ãƒ—</div><div class='add'>+   ãƒ­ã‚°ãƒ©ãƒ ã®å®Ÿè¡Œãªã©ã‹ã‚‰ç™ºç”Ÿã™ã‚‹ã„ã‹ãªã‚‹æå®³ã«å¯¾ã—ã¦ã‚‚è²¬</div><div class='add'>+   ä»»ã‚’æŒã¡ã¾ã›ã‚“ï¼Ž</div><div class='head'>diff --git a/ChangeLog b/ChangeLog<br/>deleted file mode 100644<br/>index a2ddb65085..0000000000<br/>--- a/<a href='/ruby.git/tree/ChangeLog?h=v3_0_0&amp;id=cfb52c86678519810cfa84b564a3d32a9200139d'>ChangeLog</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,5149 +0,0 @@</div><div class='del'>-Fri Sep 17 01:04:25 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* stable version 1.4.2 released.</div><div class='del'>-</div><div class='del'>-Fri Sep 17 00:52:27 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (arg): assignable() may return 0.</div><div class='del'>-</div><div class='del'>-Thu Sep 16 20:46:23 1999  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): was doubly evaluating the return expression.</div><div class='del'>-</div><div class='del'>-Thu Sep 16 18:40:08 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* stable version 1.4.1 released.</div><div class='del'>-</div><div class='del'>-Thu Sep 16 11:33:22 1999  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_match): should return nil.</div><div class='del'>-</div><div class='del'>-Wed Sep 15 22:46:37 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_s_quote): should quote `-' too.</div><div class='del'>-</div><div class='del'>-Tue Sep 14 15:23:22 1999  Nobuyoshi Nakada  &lt;nobu.nakada@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): no need to ignore `\r' here.</div><div class='del'>-</div><div class='del'>-	* parse.y (nextc): strip `\r' from text.</div><div class='del'>-</div><div class='del'>-	* parse.y (nextc): support `__END__\r\n' type terminator.</div><div class='del'>-</div><div class='del'>-Mon Sep 13 10:49:19 1999  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): needless RTEST(ruby_verbose) removed.</div><div class='del'>-</div><div class='del'>-Wed Sep  8 11:37:38 1999  Tadayoshi Funaba  &lt;tadf@kt.rim.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (make_time_t): bit more strict comparison.</div><div class='del'>-</div><div class='del'>-Tue Sep  7 00:50:56 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (range_each): use rb_str_upto() for strings.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_upto): set upper limit by comparing curr &lt;= end.</div><div class='del'>-</div><div class='del'>-	* range.c (range_each): should check equality to handle magic</div><div class='del'>-	  increment.</div><div class='del'>-</div><div class='del'>-Mon Sep  6 22:43:33 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): break/next/redo available within -n/-p loop.</div><div class='del'>-</div><div class='del'>-Fri Sep  3 11:14:31 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* compar.c (cmp_equal): should not raise exception; protect by</div><div class='del'>-	  rb_rescue().</div><div class='del'>-</div><div class='del'>-Thu Sep 2 05:23:05 1999  WATANABE Hirofumi  &lt;eban@os.rim.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_expand_path): use dirsep, instead of character</div><div class='del'>-	  literal '/'.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_expand_path): reduce multiple dirsep at the top.</div><div class='del'>-</div><div class='del'>-Wed Sep  1 00:28:27 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call): call rb_undefined() if a method appears not to</div><div class='del'>-	  be exist explicitly from cache.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_method_boundp): check method cache before calling</div><div class='del'>-	  rb_get_method_body().</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_get_method_body): store method non-existence</div><div class='del'>-	  information in the cache.</div><div class='del'>-</div><div class='del'>-	* random.c (rb_f_srand): use getpid(2) to generate seed.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_match): do not apply partial mbc match for</div><div class='del'>-	  charset_not.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): put extended literal prefix (0xff)</div><div class='del'>-	  only before numeric literals, not before all &gt;0x80 char.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): put numeric literal in extended</div><div class='del'>-	  charset region, not normal charset bits.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_fastmap): calculate fastmap for charset and</div><div class='del'>-	  charset_not to treat numeric literal (e.g. \246) specially.</div><div class='del'>-</div><div class='del'>-Fri Aug 28 17:32:55 1999  Yasuhiro Fukuma  &lt;yasuf@big.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): should set return value (nil) explicitly if a</div><div class='del'>-	  value is ommited for return statement.</div><div class='del'>-</div><div class='del'>-Thu Aug 26 15:06:11 1999  Masaki Fukushima  &lt;fukusima@goto.info.waseda.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc): local variables may be placed beyond stack_end, so</div><div class='del'>-	  use an address from alloca(1) on non C_ALLOCA platforms.</div><div class='del'>-</div><div class='del'>-Thu Aug 26 01:24:17 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_f_sprintf): "%%" is legal, but "%3.14%" is not.</div><div class='del'>-</div><div class='del'>-Mon Aug 23 00:00:54 1999  Tsukada Takuya  &lt;tsukada@fminn.nagano.nagano.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_fastmap): wrong macro caused memory leak.</div><div class='del'>-</div><div class='del'>-Sat Aug 21 11:30:51 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ADJ): should not adjust addresses to data on heap.</div><div class='del'>-</div><div class='del'>-Fri Aug 20 20:50:58 1999  Kenji Nagasawa  &lt;kenn@hma.att.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* defines.h (PATH_SEP): path separator is ";" for OS/2.</div><div class='del'>-</div><div class='del'>-Thu Aug 19 10:50:43 1999  WATANABE Tetsuya  &lt;tetsu@jpn.hp.com&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc): add volatile to avoid GCC optimaize bug(?).</div><div class='del'>-</div><div class='del'>-Wed Aug 18 23:48:10 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* due to disk trouble, some change records were lost.  several</div><div class='del'>-	  modification made to eval.c, gc.c, io.c, pack.c,</div><div class='del'>-	  ext/extmk.rb.in, and lib/mkmf.rb.</div><div class='del'>-</div><div class='del'>-Fri Aug 13 15:41:39 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* stable version 1.4.0 released.</div><div class='del'>-</div><div class='del'>-Fri Aug 13 03:16:07 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (argf_forward): since $stdout may be non-IO, ARGF.file is</div><div class='del'>-	  not granteed to be IO.  check and forwarding added to every ARGF</div><div class='del'>-	  method.</div><div class='del'>-</div><div class='del'>-	* io.c (set_outfile): $stdout/$stderr may not be IO now.</div><div class='del'>-</div><div class='del'>-	* io.c (set_stdin): $stdin may not be IO now.</div><div class='del'>-</div><div class='del'>-	* range.c (rb_range_beg_len): round `end' to length as documented.</div><div class='del'>-</div><div class='del'>-	* io.c (Init_IO): preserve original stdin/stdout/stderr.</div><div class='del'>-</div><div class='del'>-Thu Aug 12 13:44:33 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (Init_load): require receives 1 argument.</div><div class='del'>-</div><div class='del'>-	* eval.c (frame_dup): should clear tmp to avoid dangling</div><div class='del'>-	  references.</div><div class='del'>-</div><div class='del'>-Wed Aug 11 13:33:13 1999  Katsuyuki Komatsu  &lt;komatsu@sarion.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): no automatic aggregate initialization.</div><div class='del'>-</div><div class='del'>-	* eval.c (module_setup): ditto.</div><div class='del'>-</div><div class='del'>-Wed Aug 11 18:18:41 1999  WATANABE Tetsuya  &lt;tetsu@jpn.hp.com&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (yield_under_i): automatic aggregate initialization is an</div><div class='del'>-	  ANSI feature.</div><div class='del'>-</div><div class='del'>-Wed Aug 11 10:10:02 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): parse `[].length==0' as `([].length)==0', not</div><div class='del'>-	  `([].length=)=0'</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): parse `[].length!=0' as `([].length)!=0', not</div><div class='del'>-	  `([].length!)=0'</div><div class='del'>-</div><div class='del'>-	* parse.y (peek): peek-in lexical buffer.</div><div class='del'>-</div><div class='del'>-Wed Aug 11 00:34:05 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_match): bug on backward jump adjustment concerning</div><div class='del'>-	  stop_paren.</div><div class='del'>-</div><div class='del'>-Tue Aug 10 14:54:25 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf.c (rb_nkf_guess): binary detection was wrong.</div><div class='del'>-</div><div class='del'>-Tue Aug 10 00:07:36 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_clone): should use CLONESETUP().</div><div class='del'>-</div><div class='del'>-Mon Aug  9 23:57:07 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.h (CLONESETUP): should have copied generic instance</div><div class='del'>-	  variables too.</div><div class='del'>-</div><div class='del'>-Mon Aug  9 10:46:54 1999  Katsuyuki Komatsu  &lt;komatsu@sarion.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: add check for &lt;arpa/nameser.h&gt; and</div><div class='del'>-	  &lt;resolv.h&gt;.</div><div class='del'>-</div><div class='del'>-Sat Aug  7 13:19:06 1999  EGUCHI Osamu  &lt;eguchi@shizuokanet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_cmp): comparing NaN should not return value.</div><div class='del'>-	  raises FloatDomainError.</div><div class='del'>-</div><div class='del'>-Sat Aug  7 03:09:08 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (blk_free): free copied frames too.</div><div class='del'>-</div><div class='del'>-	* eval.c (frame_dup): should copy previous frames from stack to</div><div class='del'>-	  heap to preserve frame information.</div><div class='del'>-</div><div class='del'>-Fri Aug  6 15:01:07 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.3.7 - version 1.4 beta</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (s_recv): UDPsocket#recvfrom now returns</div><div class='del'>-	  IPsocket#addr information.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_subary): ary[-3,3] should not return nil.</div><div class='del'>-</div><div class='del'>-Thu Aug  5 10:58:01 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_mark): protect old ruby_frame from GC during it</div><div class='del'>-	  replaced by eval().</div><div class='del'>-</div><div class='del'>-	* eval.c (eval): do not modify frame.prev; binding should preserve</div><div class='del'>-	  information about calling() too.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_yield_0): no arity check for mere yield; but only for</div><div class='del'>-	  Proc#call.</div><div class='del'>-</div><div class='del'>-Tue Aug  3 22:07:13 1999  Kazuhiro HIWADA  &lt;hiwada@kuee.kyoto-u.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_mod_clone): should check if iv_tbl, m_tbl are</div><div class='del'>-	  initialized.</div><div class='del'>-</div><div class='del'>-Tue Aug  3 19:03:02 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_any_cmp): use rb_with_disable_interrupt() to ensure</div><div class='del'>-	  clearance of rb_prohibit_interrupt even on failure.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_with_disable_interrupt): new function added.</div><div class='del'>-</div><div class='del'>-Sat Jul 31 23:23:44 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_create_0): set THREAD_RAISED flag on thread</div><div class='del'>-	  termination by exception.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_join): `$!' may not be nil for the threads</div><div class='del'>-	  created in rescue clause.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_status): ditto.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_join): should re-raise exception for already</div><div class='del'>-	  dead threads too.</div><div class='del'>-</div><div class='del'>-Fri Jul 30 17:56:54 1999  GOTO Kentaro  &lt;gotoken@math.sci.hokudai.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_mod_ge): wrong comparison.</div><div class='del'>-</div><div class='del'>-Fri Jul 30 12:15:44 1999  Katsuyuki Komatsu  &lt;komatsu@sarion.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/extconf.rb: win32 support.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: use append_library().</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb.in: ditto.</div><div class='del'>-</div><div class='del'>-Fri Jul 30 02:11:48 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_delete): should return nil for deleting non</div><div class='del'>-	  existing item.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_close): call rb_sys_wait() on explicit close.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_fptr_close): do not call rb_sys_wait() on finalize.</div><div class='del'>-</div><div class='del'>-	* eval.c (yield_under_i): cbase context should be maintaind for</div><div class='del'>-	  Module#module_eval().  suggested by &lt;inaba@st.rim.or.jp&gt;.</div><div class='del'>-</div><div class='del'>-Wed Jul 28 01:18:28 1999  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in: add -I$(hdrdir)/lib to install using ftools.</div><div class='del'>-</div><div class='del'>-	* util.c: use HAVE_FCNTL_H, not HAVE_FCNTL</div><div class='del'>-</div><div class='del'>-Wed Jul 28 18:24:45 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.3.6 - version 1.4 alpha</div><div class='del'>-</div><div class='del'>-Tue Jul 27 09:38:08 1999  EGUCHI Osamu  &lt;eguchi@shizuokanet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): reduce recursive rb_eval() calls by</div><div class='del'>-	  NODE_BLOCKs. </div><div class='del'>-</div><div class='del'>-Tue Jul 27 01:20:40 1999  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_expand_path): drive letter patch.</div><div class='del'>-</div><div class='del'>-Mon Jul 26 02:36:31 1999  Shugo Maeda  &lt;shugo@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_load): should clear ruby_nerr.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_join): oldbt should not be empty to unshift.</div><div class='del'>-</div><div class='del'>-Sun Jul 25 12:09:16 1999  Koji Arai  &lt;JCA02266@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (push_braces): should treat nested braces.</div><div class='del'>-</div><div class='del'>-Fri Jul 23 02:49:49 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_clear): dummy argument added; suggested by</div><div class='del'>-	  &lt;eguchi@shizuokanet.ne.jp&gt;.  thanks.</div><div class='del'>-</div><div class='del'>-Thu Jul 22 19:37:22 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_join): get_backtrace() may retrun Qnil.</div><div class='del'>-	  typecheck added.</div><div class='del'>-</div><div class='del'>-Tue Jul 20 14:36:43 1999  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (range_each): do not treat String specially (for future</div><div class='del'>-	  override).</div><div class='del'>-</div><div class='del'>-Tue Jul 20 02:28:34 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_gets): $_ should be nil, when get returns nil.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_gets): ditto.</div><div class='del'>-</div><div class='del'>-Mon Jul 19 17:13:09 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_fastmap): should continue fastmap compile</div><div class='del'>-	  for anychar_repeat, for it's repeat anyway.</div><div class='del'>-</div><div class='del'>-Mon Jul 26 13:33:45 1999  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/jcode.rb: replaced by faster code.</div><div class='del'>-</div><div class='del'>-Mon Jul 19 01:57:28 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: no longer use install program.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb.in: use miniruby to install programs.</div><div class='del'>-</div><div class='del'>-Sat Jul 17 00:06:21 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (ipaddr): don't do reverse lookup if</div><div class='del'>-	  attribute do_not_reverse_lookup is set for socket classes.</div><div class='del'>-	  Experimental.  Note this is a global attribute.</div><div class='del'>-</div><div class='del'>-Fri Jul 16 22:18:29 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_eof): use feof() to check EOF already met.</div><div class='del'>-</div><div class='del'>-	* io.c (read_all): should return nil at EOF.</div><div class='del'>-</div><div class='del'>-Fri Jul 16 13:39:42 1999  Wakou Aoyama  &lt;wakou@fsinet.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/telnet.rb: version 0.231.</div><div class='del'>-</div><div class='del'>-Fri Jul 16 10:58:22 1999  WATANABE Tetsuya  &lt;tetsu@jpn.hp.com&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_match): debug print removed.</div><div class='del'>-</div><div class='del'>-Fri Jul 16 09:58:15 1999  Katsuyuki Komatsu  &lt;komatsu@sarion.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* many files: clean up unsed variables found by gcc -Wall.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: better cygwin support etc.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb.in: ditto.</div><div class='del'>-</div><div class='del'>-	* instruby.rb: ditto.</div><div class='del'>-</div><div class='del'>-Fri Jul 16 01:37:50 1999  Koji Arai  &lt;JCA02266@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_squeeze_bang): the type of local variable `c'</div><div class='del'>-	  should be int, not char.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_reverse): should always return copy.</div><div class='del'>-</div><div class='del'>-Thu Jul 15 23:25:57 1999  NAKAMURA Hiroshi  &lt;nakahiro@sarion.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/debug.rb: better display &amp; frame treatment.</div><div class='del'>-</div><div class='del'>-Thu Jul 15 21:16:41 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_each): returns self for normal termination;</div><div class='del'>-	  returns nil for break.</div><div class='del'>-</div><div class='del'>-	* string.c: non bang methods (e.g. String#sub) should always</div><div class='del'>-	  return copy of the receiver.</div><div class='del'>-</div><div class='del'>-Thu Jul 15 21:09:15 1999  Masaki Fukushima  &lt;fukusima@goto.info.waseda.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (find_file): do not add empty string to the path.</div><div class='del'>-</div><div class='del'>-	* configure.in (with-search-path): should not add empty string if</div><div class='del'>-	  the option is not supplied.</div><div class='del'>-</div><div class='del'>-Thu Jul 15 17:49:08 1999  Ryo HAYASAKA  &lt;hayasaka@univ21.u-aizu.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c: move `#include "ruby.h"' forward.</div><div class='del'>-</div><div class='del'>-Thu Jul 15 16:54:16 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.3.5 - version 1.4 alpha</div><div class='del'>-</div><div class='del'>-Wed Jul 14 23:45:33 1999  Katsuyuki Komatsu  &lt;komatsu@sarion.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_init): initialize for the first time only.</div><div class='del'>-</div><div class='del'>-Tue Jul 13 00:15:19 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_index): re-defined; method to retrieve a key</div><div class='del'>-	  from the value.</div><div class='del'>-</div><div class='del'>-	* hash.c (Init_Hash): member? should be re-defined for Hash.</div><div class='del'>-</div><div class='del'>-Tue Jul 12 13:54:51 1999  EGUCHI Osamu  &lt;eguchi@shizuokanet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_file_sysopen): wrong number of argument.</div><div class='del'>-</div><div class='del'>-Mon Jul 12 11:52:35 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_missing): class name included in message.</div><div class='del'>-</div><div class='del'>-	* eval.c (print_undef): better error message.</div><div class='del'>-</div><div class='del'>-Sun Jul 11 05:36:17 1999  NAKAMURA, Hiroshi  &lt;nakahiro@sarion.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/debug.rb: patch to show proper position.</div><div class='del'>-</div><div class='del'>-Fri Jul  9 23:56:14 1999  WATANABE Hirofumi  &lt;eban@os.rim.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c (dln_find_1): path conv. moved to conv_to_posix_path.</div><div class='del'>-</div><div class='del'>-	* dln.c (conv_to_posix_path): path conv. should be done.</div><div class='del'>-</div><div class='del'>-Fri Jul  9 10:26:47 1999  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (RANDOM_NUMBER): should place parentheses.</div><div class='del'>-</div><div class='del'>-Fri Jul  8 11:00:51 1999  Shugo Maeda  &lt;shugo@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_div): division may be out of fixnum range.</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigdivmod): proper sign calculation to result.</div><div class='del'>-</div><div class='del'>-Wed Jul  7 18:27:41 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (st_delete_safe): was modifying wrong slot.</div><div class='del'>-</div><div class='del'>-Mon Jul  5 13:17:46 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_call_finalizer_at_exit): close all files at exit.</div><div class='del'>-</div><div class='del'>-Fri Jul  2 18:00:21 1999  Minero Aoki  &lt;aamine@dp.u-netsurf.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/Mail/README: Mail-0.3.0 added to the distribution.</div><div class='del'>-</div><div class='del'>-Fri Jul  2 01:45:32 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_fastmap): avoid allocation of register</div><div class='del'>-	  variables for each invocation of re_match().  Suggested by</div><div class='del'>-	  Zasukhin Ruslan &lt;ruslan@paradigmasoft.com&gt;.  Thanks.</div><div class='del'>-</div><div class='del'>-Tue Jun 29 20:39:24 1999  Koji Arai  &lt;JCA02266@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/lib/tk.rb (TkVariable): bug fix; should value type check</div><div class='del'>-	  be added?</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_each_line): a bug in paragraph mode.</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file): shifted too much to skip #!.</div><div class='del'>-</div><div class='del'>-Tue Jun 29 06:50:21 1999  Wakou Aoyama  &lt;wakou@fsinet.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/CGI.rb: 0.30 - cleanup release, incompatible.</div><div class='del'>-</div><div class='del'>-	* lib/telnet.rb: 0.22 - timeout added.</div><div class='del'>-</div><div class='del'>-Tue Jun 29 10:49:25 1999  SHIROYAMA Takayuki  &lt;psi@fortune.nest.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: better Rhapsody support.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: Rhapsody/NEXTSTEP support.</div><div class='del'>-</div><div class='del'>-Tue Jun 29 01:42:13 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (chld_changed): should use POSIX.1 style wait.</div><div class='del'>-</div><div class='del'>-Mon Jun 28 21:07:36 1999  KIMURA Koichi  &lt;kbk@kt.rim.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb.nt: wrong result for have_library().</div><div class='del'>-</div><div class='del'>-Mon Jun 28 15:24:05 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* missing/isinf.c: OSF/1 raises SIGFPE on one()/zero().</div><div class='del'>-</div><div class='del'>-	* regex.c (re_search): should search til EOS, for patterns may</div><div class='del'>-	  match beyond the end of range.</div><div class='del'>-</div><div class='del'>-Mon Jun 28 12:49:12 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_select): should not accept Time objects as an</div><div class='del'>-	  argument for it is time interval.</div><div class='del'>-</div><div class='del'>-	* process.c (rb_f_sleep): ditto.</div><div class='del'>-</div><div class='del'>-	* file.c (test_s): should return nil for false condition.</div><div class='del'>-</div><div class='del'>-Mon Jun 28 12:23:52 1999  Katsuyuki Komatsu  &lt;komatsu@sarion.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_dbl2big): typo.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_f_test): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_crypt): wrong message.</div><div class='del'>-</div><div class='del'>-Sun Jun 27 19:50:11 1999  Tadayoshi Funaba  &lt;tadf@kt.rim.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_exit): should have treat signed integer status, not</div><div class='del'>-	  VALUE.</div><div class='del'>-</div><div class='del'>-	* process.c (rb_f_exit_bang): should work like exit().</div><div class='del'>-</div><div class='del'>-Sun Jun 27 16:21:32 1999  WATANABE Hirofumi  &lt;eban@os.rim.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_rindex): wrong position to search.</div><div class='del'>-</div><div class='del'>-Sat Jun 26 04:05:30 1999  Takaaki Tateishi  &lt;ttate@jaist.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (configure_args): --with-search-path to specify</div><div class='del'>-	  additional ruby search path.</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_prog_init): additional search path.</div><div class='del'>-</div><div class='del'>-Fri Jun 25 13:09:12 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): needed to initialize natint.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): add start_paren to avoid too much</div><div class='del'>-	  finalization on maybe_finalize_jump.</div><div class='del'>-</div><div class='del'>-Fri Jun 25 13:07:20 1999  Koji Oda  &lt;oda@bsd1.qnes.nec.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* missing/isinf.c: include "config.h" added.</div><div class='del'>-</div><div class='del'>-Fri Jun 25 07:25:05 1999  Katsuyuki Komatsu  &lt;komatsu@sarion.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: initialize $(topdir).</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb.in (install_rb): install lib/*.rb properly.</div><div class='del'>-</div><div class='del'>-	* configure.in (linux): specifies -rpath on --enable-shared.</div><div class='del'>-</div><div class='del'>-	* configure.in (aix): ruby.imp must reside in $(topdir).</div><div class='del'>-</div><div class='del'>-Thu Jun 24 19:11:29 1999  Yoshida Masato  &lt;yoshidam@yoshidam.net&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_str_extend): multi-byte identifier in expression</div><div class='del'>-	  interpolation in strings.</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): support multi-byte char identifiers.</div><div class='del'>-</div><div class='del'>-Thu Jun 24 15:27:13 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (f_arg): check duplicate argument names.</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_mark): marking wrong member for NODE_ARGS.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_rindex): POSITION specifies start point, not</div><div class='del'>-	  end point.</div><div class='del'>-</div><div class='del'>-Thu Jun 24 13:00:17 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (print_mbc): wrong boundary.</div><div class='del'>-</div><div class='del'>-	* pack.c (uv_to_utf8): raises ArgError for too big value.</div><div class='del'>-</div><div class='del'>-Thu Jun 24 11:02:51 1999  Yoshida Masato  &lt;yoshidam@yoshidam.net&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (uv_to_utf8): mask needed.</div><div class='del'>-</div><div class='del'>-Wed Jun 23 21:03:56 1999  Tadayoshi Funaba  &lt;tadf@kt.rim.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.h (struct RFile): remove iv_tbl from struct. instance</div><div class='del'>-	  variables are handled as generic ivs.</div><div class='del'>-</div><div class='del'>-Wed Jun 23 22:06:26 1999  Tadayoshi Funaba  &lt;tadf@kt.rim.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (utf8_to_uv): pack to 7 bytes sequence.</div><div class='del'>-</div><div class='del'>-	* pack.c (uv_to_utf8): wrong boundary.</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): should treat as unsigned long.</div><div class='del'>-</div><div class='del'>-Wed Jun 23 15:10:11 1999  Inaba Hiroto  &lt;inaba@sdd.tokyo-sc.toshiba.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parse_string): failed to parse nested braces.</div><div class='del'>-</div><div class='del'>-	* parse.y (parse_regx): nested braces within #{} available.</div><div class='del'>-</div><div class='del'>-Wed Jun 23 11:18:38 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (slow_search): wrong shift width for mbcs.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_save_context): should not clear th-&gt;locals.</div><div class='del'>-</div><div class='del'>-Wed Jun 23 02:06:14 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): UMINUS binds too tight with digits. changed so</div><div class='del'>-	  that -2**2 =&gt; -4.</div><div class='del'>-</div><div class='del'>-	* parse.y (close_paren): `do' for expr termination now works it</div><div class='del'>-	  used to be.</div><div class='del'>-</div><div class='del'>-Wed Jun 22 18:26:42 1999  Koji Arai  &lt;JCA02266@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): should initialize local variable `j'.</div><div class='del'>-</div><div class='del'>-Wed Jun 22 15:24:59 1999  Koji Arai  &lt;JCA02266@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (here_document): a bug for multiline heredoc.</div><div class='del'>-</div><div class='del'>-Tue Jun 22 15:06:36 1999  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (ruby_socket): forgot to return fd</div><div class='del'>-	  explicitly.</div><div class='del'>-</div><div class='del'>-Tue Jun 22 13:34:12 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* rubyio.h (MakeOpenFile): should initialize member `iv_tbl'.</div><div class='del'>-</div><div class='del'>-Wed Jun 22 10:35:51 1999  Katsuyuki Komatsu  &lt;komatsu@sarion.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_gets_internal): getc(3) may not set errno on</div><div class='del'>-	  interrupt.</div><div class='del'>-</div><div class='del'>-Mon Jun 21 22:39:28 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (call_required_libraries): ruby_sourceline should be</div><div class='del'>-	  cleared before loading libraries.</div><div class='del'>-</div><div class='del'>-	* io.c (set_stdin): do not use reopen(), so that we don't need to</div><div class='del'>-	  dup original stdin before assigning $stdin.</div><div class='del'>-</div><div class='del'>-Mon Jun 21 18:04:27 1999  Ryo HAYASAKA  &lt;hayasaka@univ21.u-aizu.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/dbm/dbm.c: include &lt;cdefs.h&gt; for solaris 2.6.</div><div class='del'>-</div><div class='del'>-Mon Jun 21 15:59:47 1999  Nobuyoshi Nakada  &lt;nobu.nokada@softhome.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (ip_addrsetup): forgot to put `else'.</div><div class='del'>-</div><div class='del'>-Mon Jun 21 15:38:37 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (fptr_finalize): remove rb_syswait() invocation to avoid</div><div class='del'>-	  wait4(2) within GC.  rb_syswait() moved to rb_io_fptr_close().</div><div class='del'>-</div><div class='del'>-Mon Jun 21 12:05:59 1999  Tadayoshi Funaba  &lt;tadf@kt.rim.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_s_glob): remove MAXPATHLEN restriction.</div><div class='del'>-</div><div class='del'>-	* ext/md5/md5init.c (md5_hexdigest): should have used "%02x".</div><div class='del'>-</div><div class='del'>-Sun Jun 20 19:50:38 1999  Minero Aoki  &lt;aamine@dp.u-netsurf.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_each_line): should have checked string</div><div class='del'>-	  boundary.</div><div class='del'>-</div><div class='del'>-Sat Jun 19 22:24:12 1999  Kenji Nagasawa  &lt;kenn@hma.att.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* OS/2 patch improved.</div><div class='del'>-</div><div class='del'>-Fri Jun 18 08:30:17 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_byte): add data length check.</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c (_timer_for_tcl): was doing busy-wait.</div><div class='del'>-</div><div class='del'>-Tue Jun 15 10:01:21 1999  Katsuyuki Komatsu  &lt;komatsu@sarion.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: remove trailing slash from interpreter embedded</div><div class='del'>-	  shared library path.</div><div class='del'>-</div><div class='del'>-	* configure.in (INSTALL_DLLIB): install shared lib with 0555.</div><div class='del'>-</div><div class='del'>-	* instruby.rb: changed mode for shared library into 0555.</div><div class='del'>-</div><div class='del'>-Fri Jun 11 23:27:00 1999  Tadayoshi Funaba  &lt;tadf@kt.rim.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (etc_passwd): should return nil, not exception for</div><div class='del'>-	  call after last passwd entry.</div><div class='del'>-</div><div class='del'>-Fri Jun 11 15:21:21 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_mark_locations): add safty margin 1.</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_run): should protect toplevel node tree.</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (etc_group): dumps core if there's no more group.</div><div class='del'>-</div><div class='del'>-Fri Jun 11 01:50:25 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_run): Init_stack() was called too late; local</div><div class='del'>-	  variables happend to be higher (or lower) than stack_start.</div><div class='del'>-</div><div class='del'>-Thu Jun 10 16:41:48 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c: do not call `initialize' for IO objects.  So with Array,</div><div class='del'>-	  Hash, Range, and Time objects.</div><div class='del'>-	</div><div class='del'>-	* ext/curses/curses.c (curses_getch): made thread aware using</div><div class='del'>-	  rb_read_check().</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c (window_getch): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c (curses_getstr): made (partially) thread</div><div class='del'>-	  aware using rb_read_check().</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c (window_getstr): ditto.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_read_check): new function to help making something</div><div class='del'>-	  (like extension libraries) thread aware.</div><div class='del'>-</div><div class='del'>-	* eval.c (is_defined): `defined? super' should be true even for</div><div class='del'>-	  private superclass methods.</div><div class='del'>-</div><div class='del'>-Fri Jun 10 13:42:10 1999  Koji Arai  &lt;JCA02266@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): template `Z' should be allowed.</div><div class='del'>-</div><div class='del'>-Wed Jun  9 13:26:38 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_loading): modified to avoid nested race</div><div class='del'>-	  condition of require().</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c (ip_invoke): queue invocation on non</div><div class='del'>-	  main threads.</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c (lib_mainloop): flush invocation</div><div class='del'>-	  queues periodically.</div><div class='del'>-</div><div class='del'>-	* version.c (ruby_show_version): now print the message to stdout.</div><div class='del'>-</div><div class='del'>-	* version.c (ruby_show_copyright): ditto.</div><div class='del'>-</div><div class='del'>-Tue Jun  8 00:00:34 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): append sentinel (NUL) to the string.</div><div class='del'>-</div><div class='del'>-	* ext/md5/md5init.c (md5_hexdigest): new method to obtain</div><div class='del'>-	  printable hash string.</div><div class='del'>-</div><div class='del'>-	* ext/md5/md5init.c (md5_update): should return self.</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): undocumented template 'U' for UTF8.</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): ditto.</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_byte): should replace getc() with rb_getc().</div><div class='del'>-</div><div class='del'>-	* io.c (rb_getc): getc() replacement uses READ_DATA_PENDING() and</div><div class='del'>-	  rb_thread_wait_fd().</div><div class='del'>-</div><div class='del'>-Mon Jun  7 23:23:38 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_mod_clone): should call CLOSESETUP().</div><div class='del'>-</div><div class='del'>-	* eval.c (bind_clone): should call CLONESETUP() for new clone.</div><div class='del'>-</div><div class='del'>-Sat Jun  5 10:32:40 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_oct): binary (e.g. 0b10111) support.</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_const_set): raise warning, not exception.</div><div class='del'>-</div><div class='del'>-	* parse.y (yycompile): initialize parser internal variables.</div><div class='del'>-</div><div class='del'>-	* parse.y (close_paren): set lex_state to EXPR_PAREN after closing</div><div class='del'>-	  parenthesis.</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): returns kDO for `do' right after method_call.</div><div class='del'>-</div><div class='del'>-Thu Jun  3 11:05:30 1999  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (read_backslash): should decode \b within class.</div><div class='del'>-</div><div class='del'>-Thu Jun  3 01:06:18 1999  Katsuyuki Komatsu  &lt;komatsu@sarion.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c (dln_load): AIX improvement (aix_findmain removed).</div><div class='del'>-</div><div class='del'>-Wed Jun  2 00:41:31 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): new undocumented template Z which strips</div><div class='del'>-	  stuff after first null.</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): should preserve specified length of the</div><div class='del'>-	  resulting string.</div><div class='del'>-</div><div class='del'>-Tue Jun  1 15:29:33 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (ruby_socket): retry after GC, if socket(2)</div><div class='del'>-	  failed on EMFILE or ENFILE.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_s_socketpair): ditto.</div><div class='del'>-</div><div class='del'>-	* eval.c (module_setup): need to add PUSH_VAR/POP_VAR to clear</div><div class='del'>-	  dyna vars link list.</div><div class='del'>-</div><div class='del'>-	* version.h (RUBY_RELEASE_CODE): integer macro contant for source</div><div class='del'>-	  version detection.</div><div class='del'>-</div><div class='del'>-Sun May 30 22:19:12 1999  Kenji Nagasawa  &lt;kenn@tcp-ip.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: emx/gcc 0.9d now fixes things about</div><div class='del'>-	  AF_UNIX.</div><div class='del'>-</div><div class='del'>-	* process.c: OS/2 EMX kludge.</div><div class='del'>-</div><div class='del'>-	* Makefile.in (strncasecmp.o): added dependency.</div><div class='del'>-</div><div class='del'>-Mon May 31 16:06:28 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.3.4 - preliminary release for 1.4</div><div class='del'>-</div><div class='del'>-Mon May 31 15:57:41 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_fptr_close): close on IO which main_thread is</div><div class='del'>-	  waiting cause serious exception, that vanishes the actual fd</div><div class='del'>-	  closing.  Invocation of rb_thread_fd_close() is deferred</div><div class='del'>-	  a little.</div><div class='del'>-</div><div class='del'>-Sat May 29 18:27:13 1999  Koji Arai  &lt;JCA02266@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_match): stack boundary check needed.</div><div class='del'>-</div><div class='del'>-Sat May 29 12:27:00 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c (ip_invoke): proper ref count management</div><div class='del'>-	  to avoid leak.  I HATE REF COUNTING!!</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_run): moved ruby_require_libraries() to handle `-r'</div><div class='del'>-	  from ruby_options() to avoid stack corruption for threads</div><div class='del'>-	  created in libraries.</div><div class='del'>-</div><div class='del'>-Sat May 29 02:22:12 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_yield_0): when `for' appeared in blocks, it</div><div class='del'>-	  introduced new scope for local variables.</div><div class='del'>-</div><div class='del'>-Fri May 28 17:16:49 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_squeeze_bang): squeeze AND of the arguments.</div><div class='del'>-	  UNDOCUMENTED.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_count): new UNDOCUMENTED method.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_delete_bang): delete AND of the arg ranges.</div><div class='del'>-	  UNDOCUMENTED FEATURE for 1.3.x.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (setipaddr): re-wrote using ip_addrsetup().</div><div class='del'>-</div><div class='del'>-	* ext/sockt/socket.c (ip_addrsetup): decode symbolic address</div><div class='del'>-	  &lt;broadcast&gt;.</div><div class='del'>-</div><div class='del'>-Thu May 27 12:27:42 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (tr_trans): should handle NUL (\0) within strings.</div><div class='del'>-</div><div class='del'>-Tue May 25 16:45:11 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_syscall): syscall may return values other than zero</div><div class='del'>-	  on success.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_match): handle empty loop properly (hopefully).</div><div class='del'>-</div><div class='del'>-	* regex.c (re_match): remove empty group check, because it does</div><div class='del'>-	  not help non-grouping parentheses (?:..).</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_fastmap): treating try_next, finalize_push</div><div class='del'>-	  wrong way.</div><div class='del'>-</div><div class='del'>-	* regex.c: remove some obsolete functions such as</div><div class='del'>-	  group_match_null_string_p().</div><div class='del'>-</div><div class='del'>-Mon May 24 14:47:54 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (read_backslash): read backslash by regex.</div><div class='del'>-</div><div class='del'>-Sun May 23 19:44:58 1999  WATANABE Hirofumi  &lt;eban@os.rim.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c (getDevice): portability patch.</div><div class='del'>-</div><div class='del'>-Fri May 21 23:01:26 1999  Katsuyuki Komatsu  &lt;komatsu@sarion.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/getaddrinfo.c (GET_AI): should set error code.</div><div class='del'>-</div><div class='del'>-Thu May 20 03:43:44 1999  Jun-ichiro itojun Hagino  &lt;itojun@itojun.org&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: you should use sockaddr_storage to handle</div><div class='del'>-	  IPv6 addresses.</div><div class='del'>-</div><div class='del'>-	* ext/socket/getaddrinfo.c (getaddrinfo): prevent retrieving</div><div class='del'>-	  AF_INET6 address if hints.ai_flags == AI_PASSIVE.</div><div class='del'>-</div><div class='del'>-Wed May 19 12:27:07 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (exec_end_proc): should protect exceptions.</div><div class='del'>-</div><div class='del'>-	* gc.c (run_final): ditto.</div><div class='del'>-</div><div class='del'>-	* parse.y (f_rest_arg): allow just * for rest arg.</div><div class='del'>-</div><div class='del'>-	* parse.y (mlhs_basic): allow * without formal argument.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_match): the variable `part' should be initialized.</div><div class='del'>-</div><div class='del'>-Tue May 18 15:25:45 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_search): a bug in range adjustment.</div><div class='del'>-</div><div class='del'>-Tue May 18 11:35:59 1999  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c (conv_to_posix_path): path_len argument added.</div><div class='del'>-</div><div class='del'>-Mon May 17 12:26:31 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_rev): should treat Fixnum as signed long.</div><div class='del'>-</div><div class='del'>-	* eval.c (massign): add strict number check for yield (and call).</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_arity): new method to return number of arguments.</div><div class='del'>-</div><div class='del'>-	* eval.c (method_arity): new method to return number of arguments.</div><div class='del'>-</div><div class='del'>-	* parse.y (read_escape): char may be unsigned.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_succ): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (tr_trans): ditto.</div><div class='del'>-</div><div class='del'>-	* object.c (Init_Object): methods `&amp;', `|', `^' are added to nil.</div><div class='del'>-</div><div class='del'>-	* range.c (rb_range_beg_len): it should be OK for [0..-len-1].</div><div class='del'>-</div><div class='del'>-	* regex.c (re_search): search for byte literal within mbcs.</div><div class='del'>-</div><div class='del'>-	* regex.c (is_in_list): parsh</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_fastmap): should have not alter the loop</div><div class='del'>-	  variable `j' if TRASLATE_P().</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): escaped characters should be read</div><div class='del'>-	  by PATFETCH_RAW(c).</div><div class='del'>-</div><div class='del'>-Sat May 15 11:23:51 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_match): endline2 (\Z) should not match at the point</div><div class='del'>-	  between a newline and end-of-line, like endline ($).</div><div class='del'>-</div><div class='del'>-	* class.c (include_class_new): should initialize iv_tbl to share</div><div class='del'>-	  between module and iclass.</div><div class='del'>-</div><div class='del'>-Fri May 14 08:50:27 1999  Akira Endo  &lt;akendo@t3.rim.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_fastmap): it should be k != 0 to skip.</div><div class='del'>-</div><div class='del'>-Fri May 14 12:46:56 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_load): a bug in old marshal format support.</div><div class='del'>-</div><div class='del'>-	* instruby.rb: make site_ruby directory.</div><div class='del'>-</div><div class='del'>-Fri May 14 10:18:02 1999  WATANABE Tetsuya  &lt;tetsu@jpn.hp.com&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_match): a bug in inline `.*' etc.</div><div class='del'>-</div><div class='del'>-Fri May 14 09:58:46 1999  Minero Aoki  &lt;aamine@dp.u-netsurf.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (addpath): should have specified string length.</div><div class='del'>-</div><div class='del'>-Thu May 13 10:40:44 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval_string_wrap): new function.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): POSIX line match should alter</div><div class='del'>-	  behavior for `^' and `$' to begbuf and endbuf2 respectively.</div><div class='del'>-</div><div class='del'>-	* ext/pty/pty.c: un-ANSI-fy function arguments.</div><div class='del'>-</div><div class='del'>-Wed May 12 14:19:38 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (iv_get): in case of inheritance of generated struct</div><div class='del'>-	  class, __member__ and __size__ should also be inherited.</div><div class='del'>-	  Thanks for Pros Yeboah &lt;yeboah@tu-harburg.de&gt;.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_gets_internal): should check number of arguments</div><div class='del'>-	  before checking rb_rs == rb_default_rs.  Thanks for Koji Arai</div><div class='del'>-	  &lt;JCA02266@nifty.ne.jp&gt;.</div><div class='del'>-</div><div class='del'>-Tue May 11 08:29:28 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): .?, .+ did not work.</div><div class='del'>-</div><div class='del'>-Mon May 10 00:59:33 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/jcode.rb: forgot to squeeze on reverse (complement) case.</div><div class='del'>-</div><div class='del'>-	* string.c (tr_squeeze): should not set modify flag to be honest,</div><div class='del'>-	  if the string is not modified.</div><div class='del'>-</div><div class='del'>-	* signal.c (Init_signal): SIGTERM should not be handled.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_match): seeking for longest match is now optional,</div><div class='del'>-	  which can be set using RE_OPTION_POSIXMATCH.  This satisfies</div><div class='del'>-	  POSIX longest match as much as Emacs's posix-* functions, which</div><div class='del'>-	  are known to be incomplete.</div><div class='del'>-</div><div class='del'>-Sun May  9 13:04:01 1999  Katsuyuki Komatsu  &lt;komatsu@sarion.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_s_getaddrinfo): conversion from</div><div class='del'>-	  Fixnums to C integers needed.</div><div class='del'>-</div><div class='del'>-Sun May  9 11:51:43 1999  Koji Arai  &lt;JCA02266@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (range_eqq): reverse condition.</div><div class='del'>-</div><div class='del'>-	* range.c (range_s_new): default should be end inclusive.</div><div class='del'>-</div><div class='del'>-Sat May  8 03:27:51 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (thread_connect): replace nasty</div><div class='del'>-	  rb_thread_fd_writable() with rb_thread_select().</div><div class='del'>-</div><div class='del'>-Fri May  7 20:49:00 1999  Katsuyuki Komatsu  &lt;komatsu@sarion.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/getaddrinfo.c (inet_pton): wrong parameter to</div><div class='del'>-	  inet_aton().</div><div class='del'>-</div><div class='del'>-	* ext/socket/addrinfo.h (__P): silly cut and paste typo.</div><div class='del'>-</div><div class='del'>-Fri May  7 17:03:57 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (glob): removed GPL'ed glob.c completely.</div><div class='del'>-</div><div class='del'>-Fri May  7 08:17:19 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/sdbm/extconf.rb: sdbm extension added to the distribution.</div><div class='del'>-</div><div class='del'>-Fri May  7 01:42:20 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (tcp_s_gethostbyname): aboid using struct</div><div class='del'>-	  sockaddr_storage.</div><div class='del'>-</div><div class='del'>-Thu May  6 13:21:41 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_indexes): should not use rb_ary_concat().</div><div class='del'>-</div><div class='del'>-Thu May  4 12:34:18 1999  Koji Arai  &lt;JCA02266@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parse_string): there shuould be newline escape by</div><div class='del'>-	  backslashes in strings.</div><div class='del'>-</div><div class='del'>-	* parse.y (parse_qstring): ditto.</div><div class='del'>-</div><div class='del'>-Mon May  3 04:37:20 1999  Koji Arai  &lt;JCA02266@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/extconf.rb: better search for libX11.</div><div class='del'>-</div><div class='del'>-	* range.c (range_s_new): embarrassing =/== typo.</div><div class='del'>-</div><div class='del'>-	* re.c (Init_Regexp): failed to set default kcode.</div><div class='del'>-</div><div class='del'>-Mon May  3 02:39:55 1999  WATANABE Tetsuya  &lt;tetsu@jpn.hp.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (open_inet): typo (res and res0).</div><div class='del'>-</div><div class='del'>-Tue May  4 02:07:49 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* mkconfig.rb: leave undefined $(VARIABLE) unexpanded in the</div><div class='del'>-	  Config::CONFIG hash table.</div><div class='del'>-</div><div class='del'>-Mon May  3 09:37:22 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): expand exactn{n} at compile time.</div><div class='del'>-	  handles stop_paren specially.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): expand x{n} at compile time.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_search): posix line match should be checked.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_search): a bug in anchor condition.</div><div class='del'>-</div><div class='del'>-Fri Apr 30 18:57:41 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.3.3</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_rindex): position should be END point, not</div><div class='del'>-	  START point.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_search): pos means end point on reverse now.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_s_create): should clear ary-&gt;ptr to avoid</div><div class='del'>-	  potential gc crash.</div><div class='del'>-</div><div class='del'>-Fri Apr 30 15:24:58 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/addrinfo.h: compatibility hack for ipv4.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: itojun's ipv6 patches applied.</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: detect ipv6 features based on itojun's</div><div class='del'>-	  ipv6 patches.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb.in (enable_config): can handle --enable-xxx now.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb (enable_config): ditto.</div><div class='del'>-</div><div class='del'>-Fri Apr 30 05:22:23 1999  Shugo Maeda  &lt;shugo@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_aset): last index should not append.</div><div class='del'>-</div><div class='del'>-Thu Apr 29 18:55:31 1999  WATANABE Hirofumi  &lt;eban@os.rim.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c (conv_to_posix_path): remove const from args.</div><div class='del'>-</div><div class='del'>-	* ruby.c (rubylib_mangle): remove Fatal(), the obsolete function.</div><div class='del'>-</div><div class='del'>-Tue Apr 27 14:11:45 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (fname): lazy workaround for keywords did not work well.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb.in: `--with-xxx=yyy' argument configuration.</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el: forgot to handle $`.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb.in: better AIX link support proposed by</div><div class='del'>-	  &lt;komatsu@sarion.co.jp&gt;.</div><div class='del'>-</div><div class='del'>-Mon Apr 26 16:46:59 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb.in: AIX shared library support modified.</div><div class='del'>-</div><div class='del'>-	* ext/aix_mksym.rb: ditto.</div><div class='del'>-</div><div class='del'>-	* configure.in: ditto.</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_f_sprintf): should allocate proper sized buffer</div><div class='del'>-	  for float numbers.</div><div class='del'>-</div><div class='del'>-Sat Apr 24 00:00:16 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (operation): syntax like `a.[]=(1,2)' is allowed.</div><div class='del'>-</div><div class='del'>-Fri Apr 23 23:54:09 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (argf_binmode): binmode method added to ARGF.</div><div class='del'>-</div><div class='del'>-Fri Apr 23 13:55:22 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_f_chomp): should assign the result to $_.  or maybe</div><div class='del'>-	  sub/gsub/chop/chomp should NOT assign $_ altogether.</div><div class='del'>-</div><div class='del'>-Thu Apr 22 16:50:54 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_callcc): call scope_dup() for all scopes in</div><div class='del'>-	  the interpreter stack.</div><div class='del'>-</div><div class='del'>-Tue Apr 20 11:24:18 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_dump): `#' should be escaped.</div><div class='del'>-</div><div class='del'>-Tue Apr 20 02:32:42 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parse_regx): option /p for posix match added.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_desc): did not print options properly.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_file_s_open): intialize was called twice.</div><div class='del'>-</div><div class='del'>-Mon Apr 19 18:56:21 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (DEFAULT_KCODE): can specify default code for</div><div class='del'>-	  $KCODE by --with-default-kcode=(euc|sjis|utf8|none).</div><div class='del'>-</div><div class='del'>-	* regex.c (IS_A_LETTER): a byte sequence shorter than mbc should</div><div class='del'>-	  not match with \w etc.</div><div class='del'>-</div><div class='del'>-Mon Apr 19 13:49:11 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (eval): should restore ruby_dyna_vars.</div><div class='del'>-</div><div class='del'>-Fri Apr 16 21:40:43 1999  Nobuyoshi Nakada  &lt;gea02117@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (f_backquote): pipe_open may return nil.</div><div class='del'>-</div><div class='del'>-	* io.c (f_open): rb_io_open may return nil.</div><div class='del'>-</div><div class='del'>-	* io.c (io_s_foreach): ditto.</div><div class='del'>-</div><div class='del'>-	* io.c (io_s_readlines): ditto.</div><div class='del'>-</div><div class='del'>-	* io.c (io_defset): wrong message.</div><div class='del'>-</div><div class='del'>-Fri Apr 16 15:09:20 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_str2inum): strtoul() returns long, not int.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_load): size of VALUE and ID may be different.</div><div class='del'>-</div><div class='del'>-	* util.c (mmprepare): int is too small to cast from pointers.</div><div class='del'>-</div><div class='del'>-	* config.guess: avoid 'linux-gnu' for alpha-unknown-linux.</div><div class='del'>-</div><div class='del'>-Thu Apr 15 23:46:20 1999  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (rubylib_mangle): mangle path by RUBYLIB_PREFIX.</div><div class='del'>-</div><div class='del'>-Wed Apr 14 23:52:51 1999  SHIROYAMA Takayuki  &lt;psi@fortune.nest.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* node.h (NODE_LMASK): should be long to avoid overflow.</div><div class='del'>-</div><div class='del'>-Wed Apr 14 13:14:35 1999  Katsuyuki Komatsu  &lt;komatsu@sarion.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c: AIX dynamic link.</div><div class='del'>-</div><div class='del'>-	* ext/aix_ld.rb: ditto.</div><div class='del'>-</div><div class='del'>-Wed Apr 14 12:19:09 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/thread.rb: Queue#{enq,deq} added.</div><div class='del'>-</div><div class='del'>-Tue Apr 13 17:43:56 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_s_create): Hash::[] acts more like casting.</div><div class='del'>-</div><div class='del'>-Tue Apr 13 00:33:52 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_stdio_set): warning for assignment to the variables</div><div class='del'>-	  $std{in,out,err}.</div><div class='del'>-</div><div class='del'>-Mon Apr 12 23:12:32 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_reopen): check for reopening same IO.</div><div class='del'>-</div><div class='del'>-Fri Apr  9 17:45:11 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_compile_string): bug for nested eval().</div><div class='del'>-</div><div class='del'>-	* regex.c (re_match): should pop non-greedy stack items on</div><div class='del'>-	  failure, after best_regs are fixed.</div><div class='del'>-</div><div class='del'>-Thu Apr  8 17:30:40 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (PACK_LENGTH_ADJUST): need to adjust for `*' length.</div><div class='del'>-</div><div class='del'>-Tue Apr  6 23:28:44 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (void_check): add void context checks.</div><div class='del'>-</div><div class='del'>-Mon Apr  5 12:23:42 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_s_at): should copy gmt-mode.</div><div class='del'>-</div><div class='del'>-	* eval.c (eval_node): preserve ruby_eval_tree.</div><div class='del'>-</div><div class='del'>-Fri Apr  2 14:00:34 1999  NAKAMURA, Hiroshi  &lt;nakahiro@sarion.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/debug.rb: wrong command interpreting.</div><div class='del'>-</div><div class='del'>-Fri Apr  2 11:46:22 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.3.2</div><div class='del'>-</div><div class='del'>-Fri Apr  2 10:40:04 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_s_pipe): forgot to define IO::pipe.</div><div class='del'>-</div><div class='del'>-Thu Apr  1 14:40:46 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (assign): modified for rhs change.</div><div class='del'>-</div><div class='del'>-	* parse.y (stmt): unparenthesisized method calls can be right hand</div><div class='del'>-	  side expression of the assignment.</div><div class='del'>-</div><div class='del'>-Sat Mar 27 22:42:47 1999  Koji Arai  &lt;JCA02266@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/nkf/nkf.c (rb_nkf_kconv): check size output_ctr before</div><div class='del'>-	  decrement.</div><div class='del'>-</div><div class='del'>-Thu Mar 25 09:11:03 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_s_at): preserve gmt-mode for result.</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_compile_string): do not use cur_mid, use</div><div class='del'>-	  compile_for_eval instead.</div><div class='del'>-</div><div class='del'>-	* st.c (PTR_NOT_EQUAL): wrong logical condition.</div><div class='del'>-</div><div class='del'>-Wed Mar 24 13:06:43 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (yycompile): should clear cur_mid after compilation.</div><div class='del'>-</div><div class='del'>-	* io.c (next_argv): need to check type for ARGV.shift.</div><div class='del'>-</div><div class='del'>-	* eval.c (blk_copy_prev): need to preverse outer scope as well as</div><div class='del'>-	  outer frames.</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_compile_string): return can appear within eval().</div><div class='del'>-</div><div class='del'>-Tue Mar 23 10:15:07 1999  EGUCHI Osamu  &lt;eguchi@shizuokanet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: AC_C_CONST check added.</div><div class='del'>-</div><div class='del'>-Tue Mar 23 02:07:35 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_plus): preserve gmt-mode for result.</div><div class='del'>-</div><div class='del'>-Mon Mar 22 01:32:37 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): adjust line numbers before expression</div><div class='del'>-	  interpolation within strings.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): defined? returns nil for false condition.</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_nonzero_p): returns nil for false condition.</div><div class='del'>-</div><div class='del'>-Sat Mar 20 13:07:43 1999  Keiju Ishitsuka  &lt;keiju@rational.com&gt;</div><div class='del'>-</div><div class='del'>-	* lib/weakref.rb: avoid leak for two weakrefs for one object.</div><div class='del'>-</div><div class='del'>-Fri Mar 19 11:26:45 1999  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_run): needed to eval END{} on exit.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_exit): ditto.</div><div class='del'>-</div><div class='del'>-Fri Mar 19 02:17:27 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* signal.c (Init_signal): handles terminating signals HUP, TERM,</div><div class='del'>-	  QUIT, PIPE, etc.</div><div class='del'>-</div><div class='del'>-Thu Mar 18 15:47:18 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_and): bug in sign calculation.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_or): ditto.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_select): forgot to use to_io to retrieve IO, after</div><div class='del'>-	  calling select(2).</div><div class='del'>-</div><div class='del'>-Tue Mar 16 19:54:31 1999  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb.in: static linking cause infinite make loop.</div><div class='del'>-</div><div class='del'>-Tue Mar 16 18:50:04 1999  Yoshida Masato  &lt;yoshidam@yoshidam.net&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (tcp_s_gethostbyname): typo, not NUM2INT(),</div><div class='del'>-	  but INT2NUM().</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (mkhostent): ditto.</div><div class='del'>-</div><div class='del'>-Tue Mar 16 12:31:44 1999  Ryo HAYASAKA  &lt;hayasaka@cheer.u-aizu.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (utime_internal): suppress warning by const.</div><div class='del'>-</div><div class='del'>-	* time.c (time_gmtime): ditto.</div><div class='del'>-</div><div class='del'>-Tue Mar 16 10:23:05 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_clone): Time object can be cloned.</div><div class='del'>-</div><div class='del'>-Tue Mar 16 03:13:10 1999  Koji Arai  &lt;JCA02266@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file): argv[argc] should be NULL.</div><div class='del'>-</div><div class='del'>-Mon Mar 15 22:12:08 1999  Tadayoshi Funaba  &lt;tadf@kt.rim.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_f_sprintf): typo in arg_num check at exit.</div><div class='del'>-</div><div class='del'>-Mon Mar 15 16:42:22 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_dup): dup2 should copy class too.</div><div class='del'>-</div><div class='del'>-Mon Mar 15 15:12:53 1999  Yasuhiro Fukuma  &lt;yasuf@big.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: install program relative path check.</div><div class='del'>-</div><div class='del'>-Mon Mar 15 14:05:25 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_s_new): 2nd argument is now option.</div><div class='del'>-	  Regexp::EXTENDED can be specified.</div><div class='del'>-</div><div class='del'>-Fri Mar 12 10:47:49 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_index): str.index("") should always match at</div><div class='del'>-	  offset point.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_upto): can specify end point exclusion.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_index): negative offset.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_match): begline should not match at the point</div><div class='del'>-	  between a newline and end-of-string.  endline neither.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): context_indep_anchors .</div><div class='del'>-</div><div class='del'>-	* parse.y (parse_regx): need not to push backslashes before</div><div class='del'>-	  escaped characters.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_join): re-raises exception within target.</div><div class='del'>-</div><div class='del'>-Fri Mar 12 01:09:36 1999  Koji Arai  &lt;JCA02266@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/readline/readline.c (readline_s_vi_editing_mode): wrong</div><div class='del'>-	  number of arguments.</div><div class='del'>-</div><div class='del'>-Fri Mar 12 02:12:50 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (PACK_ITEM_ADJUST): "a".unpack("C3") =&gt; [97, nil, nil]</div><div class='del'>-</div><div class='del'>-Thu Mar 11 18:23:50 1999  WATANABE Tetsuya  &lt;tetsu@jpn.hp.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (Init_socket): UDPsocket was ommited.</div><div class='del'>-</div><div class='del'>-Thu Mar 11 16:43:30 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (PACK_LENGTH_ADJUST): push fixed number of items per</div><div class='del'>-	  template to result array.</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): I/N/C etc. push nil in the array for "".</div><div class='del'>-</div><div class='del'>-Tue Mar  9 00:19:21 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (ruby_unsetenv): use ruby_setenv(name, 0).</div><div class='del'>-</div><div class='del'>-	* hash.c (env_delete): ditto.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_upto): do not check `beg&lt;end' to generate</div><div class='del'>-	  strings for the pattern like "a".upto("#a").</div><div class='del'>-</div><div class='del'>-	* range.c (range_each): treat strings as special case.</div><div class='del'>-</div><div class='del'>-	* range.c (range_each): no longer use upto for generic cases.</div><div class='del'>-</div><div class='del'>-Sun Mar  7 14:21:32 1999  IKARASHI Akira  &lt;ikarashi@itlb.te.noda.sut.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_index): wrong end point calculation.</div><div class='del'>-</div><div class='del'>-Sat Mar  6 02:19:12 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (match_index): MatchingData#index(n) added.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_subseq): ary[n..-1] returns an sub-array unless</div><div class='del'>-	  n is too small negative index.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_match_method): Regexp#match(str) added.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_indexes): understands ranges as indexes.</div><div class='del'>-</div><div class='del'>-	* re.c (match_size): MatchingData#size added.</div><div class='del'>-</div><div class='del'>-Fri Mar  5 01:04:57 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_fill): modified for range.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_aset): a[n..m] revisited.</div><div class='del'>-</div><div class='del'>-Thu Mar  4 14:23:29 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_subseq): a[n..m] revisited.</div><div class='del'>-</div><div class='del'>-	* parse.y (method_call): allow Const::method{}.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_replace_method): should replace original array.</div><div class='del'>-</div><div class='del'>-Thu Mar  4 02:30:22 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: remove --disable-thread, thread feature is no</div><div class='del'>-	  longer optional.</div><div class='del'>-</div><div class='del'>-Thu Mar  4 00:32:17 1999  Yasuhiro Fukuma  &lt;yasuf@big.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (read_escape): wrong arguments for scan_oct,scan_hex.</div><div class='del'>-</div><div class='del'>-Wed Mar  3 11:51:53 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (Init_socket): rename class names as</div><div class='del'>-	  TCPsocket -&gt; TCPSocket etc.</div><div class='del'>-</div><div class='del'>-Tue Mar  2 19:46:42 1999  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in (LDSHARED): use gcc -Wl,-G for solaris with gcc.</div><div class='del'>-</div><div class='del'>-Tue Mar  2 17:04:19 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): backslashes do not concatenate comment lines</div><div class='del'>-	  anymore.</div><div class='del'>-</div><div class='del'>-Mon Mar  1 14:05:12 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call0): adjust argv for optional arguments.  super</div><div class='del'>-	  without arguments emit superclasse method with the value from</div><div class='del'>-	  optinal arguments.  enabled as experiment.</div><div class='del'>-</div><div class='del'>-Sun Feb 28 14:04:07 1999  WATANABE Hirofumi  &lt;eban@os.rim.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (nextc): backslash at the eof cause infinite loop</div><div class='del'>-</div><div class='del'>-Sun Feb 28 11:01:26 1999  Tadayoshi Funaba  &lt;tadf@kt.rim.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (make_time_t): month range check added.</div><div class='del'>-</div><div class='del'>-Sat Feb 27 02:36:05 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (Init_Regexp): add escape as alias of quote.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_s_quote): char-code can be specified now.</div><div class='del'>-</div><div class='del'>-Fri Feb 26 18:45:36 1999  Yasuhiro Fukuma  &lt;yasuf@big.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (error_print): bug for error message with newlines.</div><div class='del'>-</div><div class='del'>-Fri Feb 26 12:00:04 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (make_time_t): future check modified to allow 1969-12-31</div><div class='del'>-	  at certain timezone.</div><div class='del'>-</div><div class='del'>-	* time.c (time_arg): year &gt;= 1000 should be past.</div><div class='del'>-</div><div class='del'>-	* version.c (Init_version): constant RELEASE_DATE added.</div><div class='del'>-</div><div class='del'>-Fri Feb 26 01:08:30 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_substr): returns nil for out-of-range access.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_subseq): returns nil for out-of-range access.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_store): negative index message has changed.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_aset): reallocation needed.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_aset): allow char append to the string.</div><div class='del'>-</div><div class='del'>-Thu Feb 25 23:30:17 1999  Tadayoshi Funaba  &lt;tadf@kt.rim.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_load): tm_year should be packed in 17 bits, not 18.</div><div class='del'>-</div><div class='del'>-Thu Feb 25 12:50:25 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* missing/dup2.c: replaced by public domain version.</div><div class='del'>-</div><div class='del'>-	* time.c (make_time_t): add `future check' in loops.</div><div class='del'>-</div><div class='del'>-	* object.c (rb_num2dbl): forbid implicit conversion from nil, or</div><div class='del'>-	  strings.  thus `Time.now + str' should raise error.</div><div class='del'>-</div><div class='del'>-	* object.c (rb_Float): convert nil into 0.0.</div><div class='del'>-</div><div class='del'>-	* object.c (rb_Integer): conversion method improved.</div><div class='del'>-</div><div class='del'>-Thu Feb 25 03:27:50 1999  Shugo Maeda  &lt;shugo@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call): should handle T_ICLASS properly.</div><div class='del'>-</div><div class='del'>-Thu Feb 25 00:04:00 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (Init_Exception): global function Exception() removed.</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_class2name): returns "nil"/"true"/"false" for them.</div><div class='del'>-</div><div class='del'>-	* time.c (time_dump): time marshaling format compressed size from</div><div class='del'>-	  11 bytes to 8 bytes.  thanx to tadf@kt.rim.or.jp.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_obj_call_init): should specify arguments explicitly.</div><div class='del'>-</div><div class='del'>-Wed Feb 24 15:43:28 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): comment concatenation requires preceding space</div><div class='del'>-	  before backslash at the end of line.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_pipe): global pipe is obsolete now.</div><div class='del'>-</div><div class='del'>-	* object.c (Init_Object): remove true.to_i, false.to_i.</div><div class='del'>-</div><div class='del'>-Tue Feb 23 14:21:41 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): warn if identifier! immediately followed by `='.</div><div class='del'>-</div><div class='del'>-Tue Feb 23 12:32:41 1999  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_load): tilde expandion moved to find_file.</div><div class='del'>-</div><div class='del'>-	* eval.c (find_file): tilde expandion added.</div><div class='del'>-</div><div class='del'>-Tue Feb 23 10:50:20 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (require_method): require can handle multiple fnames.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_foreach_iter): hash key may be nil.</div><div class='del'>-</div><div class='del'>-Mon Feb 22 17:44:02 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_match): should not pop failure point on success for</div><div class='del'>-	  non-greedy matches.</div><div class='del'>-</div><div class='del'>-	* io.c (Init_IO): remove global_functions getc, readchar, ungetc,</div><div class='del'>-	  seek, tell, rewind.</div><div class='del'>-</div><div class='del'>-Sat Feb 20 22:54:26 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_num2long): no implicit conversion from boolean.</div><div class='del'>-</div><div class='del'>-Sat Feb 20 09:58:42 1999  EGUCHI Osamu  &lt;eguchi@shizuokanet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_to_s): portable Infinity and NaN support.</div><div class='del'>-</div><div class='del'>-Sat Feb 20 07:13:31 1999  WATANABE Tetsuya  &lt;tetsu@jpn.hp.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_file_sysopen): forgot to initialize a local variable.</div><div class='del'>-</div><div class='del'>-Fri Feb 19 23:05:07 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_subseq): range check changed.</div><div class='del'>-</div><div class='del'>-	* marshal.c: increment MARSHAL_MINOR for Time format change.</div><div class='del'>-</div><div class='del'>-	* time.c (time_old_load): support old marshal format.</div><div class='del'>-</div><div class='del'>-	* time.c (time_load): changed for new format Y/M/D/h/m/s/usec.</div><div class='del'>-</div><div class='del'>-	* time.c (time_dump): marshal dump format has changed.</div><div class='del'>-</div><div class='del'>-Fri Feb 19 00:25:57 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_arg): should reject "sep\0" and such.</div><div class='del'>-</div><div class='del'>-	* time.c (time_plus): Time#+ should not receive Time object</div><div class='del'>-	  operand.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_substr): nagative length raises exception now.</div><div class='del'>-</div><div class='del'>-	* array.c (beg_len): if end == -1, it points end of the array.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_subseq): nagative length raises exception now.</div><div class='del'>-</div><div class='del'>-Thu Feb 18 20:57:04 1999  Tadayoshi Funaba  &lt;tadf@kt.rim.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (rb_strftime): strftime() may return 0 on success too.</div><div class='del'>-</div><div class='del'>-	* time.c (time_strftime): `\0' within format string shoule not be</div><div class='del'>-	  ommited in the result.</div><div class='del'>-</div><div class='del'>-	* time.c (rb_strftime): zero length format.</div><div class='del'>-</div><div class='del'>-	* time.c (time_to_a): yday start with 1 now.</div><div class='del'>-</div><div class='del'>-	* time.c (time_zone): support for long timezone name.</div><div class='del'>-</div><div class='del'>-	* time.c (time_yday): yday start with 1 now.</div><div class='del'>-</div><div class='del'>-	* time.c (time_minus): minus calculation was wrong.</div><div class='del'>-</div><div class='del'>-	* time.c (time_minus): sec, usec should be at least `long', maybe</div><div class='del'>-	  they should be `time_t'.</div><div class='del'>-</div><div class='del'>-	* time.c (time_plus): addition with float was wrong.</div><div class='del'>-</div><div class='del'>-	* time.c (time_to_s): support for long timezone name.</div><div class='del'>-</div><div class='del'>-	* time.c (time_gm_or_local): too far future check moved.</div><div class='del'>-</div><div class='del'>-	* time.c (time_arg): treat 2 digit year as 69-99 =&gt; 1969-1999,</div><div class='del'>-	  00-68 =&gt; 2000-2068</div><div class='del'>-</div><div class='del'>-Thu Feb 18 03:56:47 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* missing/fnmatch.c: moved to missing directory.</div><div class='del'>-</div><div class='del'>-Wed Feb 17 16:22:26 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (rb_struct_alloc): actual initialization now be done in</div><div class='del'>-	  `initialize'.</div><div class='del'>-</div><div class='del'>-Wed Feb 17 09:47:15 1999  okabe katsuyuki  &lt;hgc02147@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_search): use mbclen() instead of ismbchar().</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_s_quote): should handle mbchars properly.</div><div class='del'>-</div><div class='del'>-Wed Feb 17 01:25:26 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): stop comment concatenation by backslash follows</div><div class='del'>-	  after &gt;= 0x80 char.  may cause problem with Latin chars.</div><div class='del'>-</div><div class='del'>-	* eval.c (error_print): exception in rb_obj_as_string() caused</div><div class='del'>-	  SEGV. protect it by PUSH_TAG/POP_TAG.</div><div class='del'>-</div><div class='del'>-	* error.c (exc_exception): `Exception#exception' should return self.</div><div class='del'>-</div><div class='del'>-Wed Feb 17 01:12:22 1999  Hirotaka Ichikawa  &lt;hirotaka.ichikawa@tosmec.toshiba.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: BeOS patch.</div><div class='del'>-</div><div class='del'>-Tue Feb 16 14:25:00 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): should reallocate mbc space for</div><div class='del'>-	  character class unless current_mbctype is ASCII.</div><div class='del'>-</div><div class='del'>-Mon Feb 15 15:48:30 1999  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: specify `-Wl,-E' only for GNU ld.</div><div class='del'>-</div><div class='del'>-Mon Feb 15 11:43:22 1999  GOTO Kentaro  &lt;gotoken@math.sci.hokudai.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_inspecting_p): should return Qfalse.</div><div class='del'>-</div><div class='del'>-Sun Feb 14 22:36:40 1999  EGUCHI Osamu  &lt;eguchi@shizuokanet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (rb_f_sprintf): `%G' was ommited.</div><div class='del'>-</div><div class='del'>-Sun Feb 14 12:47:48 1999  EGUCHI Osamu  &lt;eguchi@shizuokanet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (Init_Numeric): allow divide by zero on FreeBSD.</div><div class='del'>-</div><div class='del'>-	* numeric.c (Init_Numeric): FloatDomainError added.</div><div class='del'>-</div><div class='del'>-	* configure.in (AC_REPLACE_FUNCS): add checks for functions</div><div class='del'>-	  insinf, isnan, and finite.</div><div class='del'>-</div><div class='del'>-Sat Feb 13 01:24:16 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_create_0): should protect th-&gt;thread.</div><div class='del'>-</div><div class='del'>-Fri Feb 12 16:16:47 1999  Yasuhiro Fukuma  &lt;yasuf@big.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_inspect): wrong mbc position.</div><div class='del'>-</div><div class='del'>-Fri Feb 12 16:21:17 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_fd_close): </div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_fptr_close): tell scheduler that fd is closed.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_reopen): ditto.</div><div class='del'>-</div><div class='del'>-	* io.c (READ_CHECK): check if closed after thread context switch.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (bsock_close_read): do not check</div><div class='del'>-	  the return value from shutdown(2).</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (bsock_close_write): ditto.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_new): need to dup(fd) for close_read</div><div class='del'>-	  and close_write.</div><div class='del'>-</div><div class='del'>-	* parse.y (here_document): handle newlines within #{}.</div><div class='del'>-</div><div class='del'>-	* regex.h: should replace symbols for ruby.</div><div class='del'>-</div><div class='del'>-Fri Feb 12 00:46:28 1999  Shugo Maeda  &lt;shugo@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_object): should update the method name in message.</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_object): limit should be converted into Fixnum.</div><div class='del'>-</div><div class='del'>-Wed Feb 10 15:20:03 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_match): empty pattern should not cause infinite</div><div class='del'>-	  pattern match loop.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): RE_OPTIMIZE_ANCHOR for /.*/, not</div><div class='del'>-	  for /(.|\n)/.</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_pow): `fixnum**nil' should raise TypeError.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_big_pow): need to normalize results.</div><div class='del'>-</div><div class='del'>-Wed Feb 10 01:42:41 1999  EGUCHI Osamu  &lt;eguchi@shizuokanet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_pow): `(5**1).type' should be Integer.</div><div class='del'>-</div><div class='del'>-Tue Feb  9 01:22:49 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): do not ignore newlines in mbchars.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_file_s_open): mode can be specified by flags like</div><div class='del'>-	  open(2), e.g. File::open(path, File::CREAT|File::WRONLY).</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_open): bit-wise mode flags for pipes</div><div class='del'>-</div><div class='del'>-	* io.c (Init_IO): bit flags for open.</div><div class='del'>-</div><div class='del'>-Sat Feb  6 22:56:21 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_sub_bang): should not overwrite match data by</div><div class='del'>-	  regexp match within the block.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_gsub_bang): ditto.</div><div class='del'>-</div><div class='del'>-Sat Feb  6 03:06:17 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (match_getter): accessng $~ without matching caused SEGV.</div><div class='del'>-</div><div class='del'>-Fri Feb  5 22:11:08 1999  EGUCHI Osamu  &lt;eguchi@shizuokanet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): binary literal support, like 0b01001.</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): octal numbers can contain `_'s.</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): warns if non-octal number follows immediately</div><div class='del'>-	  after octal literal.</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): now need at least one digit after prefix such</div><div class='del'>-	  as 0x, or 0b.</div><div class='del'>-</div><div class='del'>-	* bignum.c (rb_str2inum): recognize binary numbers like 0b0101.</div><div class='del'>-</div><div class='del'>-Fri Feb  5 03:26:56 1999  Yasuhiro Fukuma  &lt;yasuf@big.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): -e without program prints error.</div><div class='del'>-</div><div class='del'>-Fri Feb  5 00:01:50 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (terms): needed to clear heredoc_end.</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_div): allow float division by zero.</div><div class='del'>-</div><div class='del'>-Thu Feb  4 11:56:24 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* missing/strtod.c: for compatibility.</div><div class='del'>-</div><div class='del'>-	* configure.in (strtod): add strtod compatible check.</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_num2long): missing/vsnprintf.c does not supprt</div><div class='del'>-	  floating points.</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_to_s): ditto.</div><div class='del'>-</div><div class='del'>-Wed Feb  3 23:02:12 1999  Yoshida Masato  &lt;yoshidam@yoshidam.net&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): use ismbchar() to get next char.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_search): wrong mbchar shift.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_search): needed to reset $KCODE after match.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_fastmap): mbchars should match with \w.</div><div class='del'>-</div><div class='del'>-Wed Feb  3 22:35:12 1999  EGUCHI Osamu  &lt;eguchi@shizuokanet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): too big float raise warning, not error.</div><div class='del'>-</div><div class='del'>-Tue Feb  2 23:41:42 1999  Yoshida Masato  &lt;yoshidam@yoshidam.net&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_match): wrong boundary.</div><div class='del'>-</div><div class='del'>-	* regex.c (IS_A_LETTER): re_mbctab[c] may not be 1 for mbc.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_search): mbchar support for shifting ranges.</div><div class='del'>-</div><div class='del'>-	* regex.c (MBC2WC): wrong conversion.</div><div class='del'>-</div><div class='del'>-Wed Feb  3 15:03:16 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parse_regx): need to escape parens if terminators are</div><div class='del'>-	  not any kind of parenthesis.</div><div class='del'>-</div><div class='del'>-	* parse.y (parse_qstring): ditto.</div><div class='del'>-</div><div class='del'>-	* parse.y (parse_string): ditto.</div><div class='del'>-</div><div class='del'>-Tue Feb  2 17:11:26 1999  WATANABE Tetsuya  &lt;tetsu@jpn.hp.com&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_gsub_bang): too small realoc condition.</div><div class='del'>-</div><div class='del'>-Mon Feb  1 10:01:17 1999  EGUCHI Osamu  &lt;eguchi@shizuokanet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): range check for the float literal.</div><div class='del'>-</div><div class='del'>-Sat Jan 30 18:34:16 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (usage): -h option to show brief command description.</div><div class='del'>-</div><div class='del'>-Sat Jan 30 08:45:16 1999  IKARASHI Akira  &lt;ikarashi@itlb.te.noda.sut.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/cgi-lib.rb: cookie support added.</div><div class='del'>-</div><div class='del'>-Sat Jan 30 13:38:24 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): mbchars should match with \w</div><div class='del'>-	  within character classs.  Was matching with \W.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_match): \w should match with multi byte characters,</div><div class='del'>-	  not its first byte.</div><div class='del'>-</div><div class='del'>-Sat Jan 30 10:06:41 1999  Yoshida Masato  &lt;yoshidam@yoshidam.net&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_s_new): UTF-8 flag handle (/u, /U).</div><div class='del'>-</div><div class='del'>-	* re.c (rb_kcode): $KCODE handle for UTF-8.</div><div class='del'>-</div><div class='del'>-Sat Jan 30 01:51:16 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_delete_if): RTEST() missing.</div><div class='del'>-</div><div class='del'>-	* hash.c (delete_if_i): ditto.</div><div class='del'>-</div><div class='del'>-	* enum.c (Init_Enumerable): select (=find_all), detect (=find)</div><div class='del'>-	  added as aliases.</div><div class='del'>-</div><div class='del'>-Fri Jan 29 21:32:19 1999  WATANABE Tetsuya  &lt;tetsu@jpn.hp.com&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_f_setenv): SEGV caused by small typo.</div><div class='del'>-</div><div class='del'>-Fri Jan 29 00:15:58 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/parsedate.rb (parsedate): support date format like</div><div class='del'>-	  23-Feb-93, which is required by HTTP/1.1.</div><div class='del'>-</div><div class='del'>-	* variable.c (find_class_path): avoid calling rb_iv_set().</div><div class='del'>-</div><div class='del'>-	* eval.c (backtrace): do not need to modify $SAFE internally.</div><div class='del'>-</div><div class='del'>-	* variable.c (classname): inline __classid__ access.</div><div class='del'>-</div><div class='del'>-	* eval.c (THREAD_ALLOC): needed to initialize wrapper.</div><div class='del'>-</div><div class='del'>-	* lib/ftools.rb (makedirs): allows slash at the end of the path.</div><div class='del'>-</div><div class='del'>-	* numeric.c (rb_fix_induced_from): ensure result to be Fixnum.</div><div class='del'>-</div><div class='del'>-Thu Jan 28 17:31:43 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_to_s): float format changed to "%16.10g".</div><div class='del'>-</div><div class='del'>-Thu Jan 28 02:13:11 1999  Yoshinori Toki  &lt;toki@freedom.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_store): expand allocated buffer by 3/2.</div><div class='del'>-</div><div class='del'>-Wed Jan 27 17:50:02 1999  Kazuhiro HIWADA  &lt;hiwada@kuee.kyoto-u.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (dbl2big): raised error if double is too big to cast</div><div class='del'>-	  into long.  check added.</div><div class='del'>-</div><div class='del'>-Wed Jan 27 03:16:18 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_mod_const_at): can't list constants of the</div><div class='del'>-	  untainted objects in safe mode.</div><div class='del'>-</div><div class='del'>-	* class.c (method_list): can't list methods of untainted objects</div><div class='del'>-	  in safe mode.</div><div class='del'>-</div><div class='del'>-Tue Jan 26 02:40:41 1999  GOTO Kentaro  &lt;gotoken@math.sci.hokudai.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* prec.c: Precision support for numbers.</div><div class='del'>-</div><div class='del'>-Thu Jan 21 19:08:14 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_raise): calls `exception' method, not `new'.</div><div class='del'>-</div><div class='del'>-	* error.c (exc_exception): renamed from `new'.</div><div class='del'>-</div><div class='del'>-Wed Jan 20 03:39:48 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (yycompile): rb_in_compile renamed to ruby_in_compile.</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file): define DATA iff __END__ appeared in script.</div><div class='del'>-</div><div class='del'>-Tue Jan 19 14:57:51 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (here_document): need to protect lex_lastline.</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): disable %//, %'', %``.</div><div class='del'>-</div><div class='del'>-Tue Jan 19 05:01:16 1999  Koji Arai  &lt;JCA02266@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (beg_len): round range value too much.</div><div class='del'>-</div><div class='del'>-Mon Jan 18 13:02:27 1999  Kuroda Jun  &lt;jkuro@dwe.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (env_keys): strchr() may return NULL.</div><div class='del'>-</div><div class='del'>-Mon Jan 18 17:51:47 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* instruby.rb (wdir): install libruby.a in archdir.</div><div class='del'>-</div><div class='del'>-	* lib/ftools.rb (install): removes file before installing.</div><div class='del'>-</div><div class='del'>-Mon Jan 18 16:55:31 1999  MAEDA shugo  &lt;shugo@aianet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_callcc): experimental continuation support.</div><div class='del'>-</div><div class='del'>-Sun Jan 17 19:45:37 1999  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): nil packing caused SEGV.</div><div class='del'>-</div><div class='del'>-Sat Jan 16 13:18:03 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_concat): character (fixnum) can be append to</div><div class='del'>-	  strings</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_unshift): unshift returns array.</div><div class='del'>-</div><div class='del'>-Sat Jan 16 01:39:19 1999  Yoshida Masato  &lt;yoshidam@tau.bekkoame.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_split_method): UTF-8 support.</div><div class='del'>-</div><div class='del'>-	* regex.c: UTF-8 support.</div><div class='del'>-</div><div class='del'>-Thu Jan 14 00:42:55 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_gsub_bang): forget to add offset for null match.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_local_aset): can't modify in tainted mode.</div><div class='del'>-</div><div class='del'>-	* hash.c (env_each_key): avoid generating temporary array.</div><div class='del'>-</div><div class='del'>-Wed Jan 13 23:58:50 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_f_setenv): name and value can be tainted.</div><div class='del'>-</div><div class='del'>-Wed Jan  6 02:42:08 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (Init_Bignum): forgot to define Bignum#===.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_sweep): if add_heap() is called during GC, objects on</div><div class='del'>-	  allocated heap page(s) are not marked, should not be recycled.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_sweep): should refer latest freelist.</div><div class='del'>-</div><div class='del'>-	* gc.c (id2ref): modified to support performance patch.</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_id): performance patch (no bignum for id).</div><div class='del'>-</div><div class='del'>-Tue Jan  5 01:56:18 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* config.guess: merge up-to-date from autoconf 2.12.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_join): avoid calling rb_protect_inspect() till</div><div class='del'>-	  it is really needed.</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_inspect): show detailed information for the</div><div class='del'>-	  instance variables (infinite loop can avoid now).</div><div class='del'>-</div><div class='del'>-	* struct.c (rb_struct_inspect): avoid infinite loop.</div><div class='del'>-</div><div class='del'>-Sun Jan  3 01:37:58 1999  Takao KAWAMURA  &lt;kawamura@ike.tottori-u.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-end-of-defun): moved too much.</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el (ruby-mode-variables): set paragraph-separator</div><div class='del'>-	  for the mode.</div><div class='del'>-</div><div class='del'>-	* misc/ruby-mode.el: proper font-lock for `def' and `nil' etc.</div><div class='del'>-</div><div class='del'>-Sat Jan  2 17:09:06 1999  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_jump_tag): new api to invoke JUMP_TAG.  tag values</div><div class='del'>-	  can obtained from rb_eval_string_protect()/rb_load_protect().</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_rescue): now catches all exceptions but SystemExit.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval_string_protect): eval string with protection.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_load_protect): load file with protection.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_puts): avoid infinite loop for cyclic arrays.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_local_aref): thread local hash tables.</div><div class='del'>-</div><div class='del'>-	* object.c (rb_equal): check exact equal before calling `=='.</div><div class='del'>-</div><div class='del'>-Thu Dec 31 22:28:53 1998  MAEDA shugo  &lt;shugo@aianet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_require): feature names should be provided with</div><div class='del'>-	  DLEXT extension.</div><div class='del'>-</div><div class='del'>-	* marshal.c (Init_marshal): need to provide `marshal.so'.</div><div class='del'>-</div><div class='del'>-Wed Dec 30 02:29:16 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (classname): do not call rb_ivar_set().</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_run): finalizers were called too early.</div><div class='del'>-</div><div class='del'>-Fri Dec 25 12:19:30 1998  Fukuda Masaki  &lt;fukuda@wni.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (rb_gc_mark): should not return on FL_EXIVAR.</div><div class='del'>-</div><div class='del'>-Fri Dec 25 11:56:51 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_mark): proper scanning for temporary region.</div><div class='del'>-</div><div class='del'>-	* eval.c (TMP_ALLOC): protection for C_ALLOCA was broken.</div><div class='del'>-</div><div class='del'>-Thu Dec 24 18:26:04 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* development version 1.3 released.</div><div class='del'>-</div><div class='del'>-Thu Dec 24 00:17:00 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_load): top self should be set properly.</div><div class='del'>-</div><div class='del'>-	* variable.c (classname): check __classpath__ iff it is defined.</div><div class='del'>-</div><div class='del'>-	* variable.c (classname): invalid warning at -v with static linked</div><div class='del'>-	  ruby interpreter.</div><div class='del'>-</div><div class='del'>-	* eval.c (is_defined): modified for expr::Const support.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): invoke method expr::Const if expr is not class</div><div class='del'>-	  nor module.</div><div class='del'>-</div><div class='del'>-	* parse.y (primary): enable expr::identifier as method</div><div class='del'>-	  invocation.</div><div class='del'>-</div><div class='del'>-Wed Dec 23 03:04:36 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_match): avoid too many loop pops for (?:..).</div><div class='del'>-</div><div class='del'>-Tue Dec 22 18:01:08 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* experimental version 1.1d1 released.</div><div class='del'>-</div><div class='del'>-Mon Dec 21 01:33:03 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (TMP_PROTECT): add volatile to ensure GC protection.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_gsub_bang): calculate buffer size properly.</div><div class='del'>-</div><div class='del'>-	* parse.y (lex_get_str): needed to return Qnil at EOS.</div><div class='del'>-</div><div class='del'>-	* eval.c (find_file): check policy modified, raise exception</div><div class='del'>-	  immediately for tainted load_path.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_f_setenv): do not depend on setenv() nor putenv().</div><div class='del'>-</div><div class='del'>-Thu Dec 17 06:29:23 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tk/tkutil.c (tk_s_new): use rb_obj_instance_eval(), instead</div><div class='del'>-	  of rb_yield_0().</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_require): forgot to call find_file in some cases.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_require): `require "feature.so"' to load dynamic</div><div class='del'>-	  libraries.  old `require "feature.o"' is still OK.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): yield without value dumped core.</div><div class='del'>-</div><div class='del'>-Wed Dec 16 16:28:31 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* experimental version 1.1d0 (pre1.2) released.</div><div class='del'>-</div><div class='del'>-Wed Dec 16 10:43:34 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_search): bound check before calling re_match().</div><div class='del'>-</div><div class='del'>-Tue Dec 15 13:59:01 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (exc_to_s): returns class name for unset mesg.</div><div class='del'>-</div><div class='del'>-	* error.c (exc_initialize): do not initialize @mesg by "".</div><div class='del'>-</div><div class='del'>-	* parse.y (nextc): __END__ should handle CR+LF newlines.</div><div class='del'>-</div><div class='del'>-Wed Dec  9 13:37:12 1998  MAEDA shugo  &lt;shugo@aianet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (encodes): use buffering for B-encoding.</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): Q-encoding by 'M'.</div><div class='del'>-</div><div class='del'>-Tue Dec  8 14:10:00 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (generic_ivar_get): any object can have instance</div><div class='del'>-	  variables now.  great improvement.</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_name_class): do not set __classpath__ by default,</div><div class='del'>-	  use __classid__ instead.</div><div class='del'>-</div><div class='del'>-Mon Dec  7 22:08:22 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.h (struct RFile): IO objects can have instance variables now.</div><div class='del'>-</div><div class='del'>-	* parse.y (primary): allows `def obj::foo; .. end'.</div><div class='del'>-</div><div class='del'>-Mon Dec  7 18:24:50 1998  WATANABE Tetsuya  &lt;tetsu@jpn.hp.com&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (set_arg0): $0 supprt for HP-UX.</div><div class='del'>-</div><div class='del'>-Mon Dec  7 01:30:28 1998  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c (dln_strerror): better error messages on win32.</div><div class='del'>-</div><div class='del'>-Sat Dec  5 23:27:23 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (here_document): indentable here-doc delimiter by</div><div class='del'>-	  `&lt;&lt;-'.  Proposed by Clemens &lt;c.hintze@gmx.net&gt;.  Thanks.</div><div class='del'>-</div><div class='del'>-Thu Dec  3 16:50:17 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb.in (realclean): trouble on install.</div><div class='del'>-</div><div class='del'>-Sun Nov 29 22:25:39 1998  Takaaki Tateishi  &lt;ttate@jaist.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (f_exec): check number of argument.</div><div class='del'>-</div><div class='del'>-Thu Nov 26 17:27:30 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.1c9 released.</div><div class='del'>-</div><div class='del'>-Wed Nov 25 13:07:12 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_dup): do not copy additional data (STR_NO_ORIG).</div><div class='del'>-</div><div class='del'>-	* parse.y (yycompile): reduce known memory leak (hard to remove).</div><div class='del'>-</div><div class='del'>-Wed Nov 25 03:41:21 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (st_init_table_with_size): round size up to prime number.</div><div class='del'>-</div><div class='del'>-Sat Nov 21 23:27:23 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_aset): reduce copying key strings.</div><div class='del'>-</div><div class='del'>-	* gc.c (looks_pointerp): declare as inline function if possible.</div><div class='del'>-</div><div class='del'>-	* st.c (PTR_NOT_EQUAL): compare hash values first before calling</div><div class='del'>-	  comparing function.</div><div class='del'>-</div><div class='del'>-	* st.c (ADD_DIRECT): save hash value in entries to reduce hash</div><div class='del'>-	  calculation.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_gsub_bang): avoid rb_scan_args() to speed-up.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_sub_bang): ditto.</div><div class='del'>-</div><div class='del'>-Sat Nov 21 18:44:06 1998  Masaki Fukushima  &lt;fukusima@goto.info.waseda.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_s_now): had memory leak.</div><div class='del'>-</div><div class='del'>-	* ext/md5/md5init.c (md5_new): had memory leak.</div><div class='del'>-</div><div class='del'>-	* ext/md5/md5init.c (md5_clone): ditto.</div><div class='del'>-</div><div class='del'>-Fri Nov 20 23:23:23 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/delegate.rb: do not propagate hash and eql?.</div><div class='del'>-</div><div class='del'>-Thu Nov 19 01:40:52 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* sample/ruby-mode.el (ruby-expr-beg): failed to find reserved</div><div class='del'>-	  word boundary.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): avoid calling `concat' method.  calls</div><div class='del'>-	  rb_ary_concat() directly for efficiency.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): actual rest arguments extended arrays too much.</div><div class='del'>-</div><div class='del'>-Wed Nov 18 14:30:24 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_define_global_function): global functions now be</div><div class='del'>-	  module function of the Kernel.</div><div class='del'>-</div><div class='del'>-Wed Nov 18 10:48:09 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (read_all): SEGV on large files.</div><div class='del'>-</div><div class='del'>-Tue Nov 17 18:11:20 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.1c8 released.</div><div class='del'>-</div><div class='del'>-Tue Nov 17 16:58:47 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (arg): assignment to attribute name start with capital</div><div class='del'>-	  should be allowed.</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_alloc): needed to mark terminated threads too.</div><div class='del'>-</div><div class='del'>-Tue Nov 17 12:33:48 1998  Motoyuki Kasahara  &lt;m-kasahr@sra.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb.in (create_makefile): Set `libdir' to `@libdir@',</div><div class='del'>-	  Set `pkglibdir' to `$libdir/$(RUBY_INSTALL_NAME)'.</div><div class='del'>-</div><div class='del'>-Tue Nov 17 10:30:46 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (f_sprintf): %l%%c -&gt; %%l%c</div><div class='del'>-</div><div class='del'>-Tue Nov 17 01:08:50 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (ret_args): distinguish `a' and `*a' for the arguments</div><div class='del'>-	  of yield and return.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): flip3 should work like sed.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): flip{2,3} now have independent state for each</div><div class='del'>-	  scope to work fine with thread.</div><div class='del'>-</div><div class='del'>-Mon Nov 16 23:26:29 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (primary): exec else clause if no exception raised.</div><div class='del'>-</div><div class='del'>-Sun Nov 15 15:44:07 1998  Tadayoshi Funaba  &lt;tadf@kt.rim.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb.in (install): bug in target.</div><div class='del'>-</div><div class='del'>-Sat Nov 14 11:02:05 1998  Motoyuki Kasahara  &lt;m-kasahr@sra.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* Makefile.in (install): Give the argument `$(DESTDIR)' to</div><div class='del'>-	`instruby.rb'.</div><div class='del'>-	* instruby.rb: Recognize ARG[0] as `destdir'.</div><div class='del'>-	* instruby.rb: Give the argument `destdir' to `extmk.rb'.</div><div class='del'>-	* ext/extmk.rb.in: Recognize ARG[1] as `$destdir'.</div><div class='del'>-</div><div class='del'>-	* instruby.rb: Create the installation directories (bindir, libdir,</div><div class='del'>-	archdir, pkglibdir, archdir, and mandir) under `destdir', and</div><div class='del'>-	install all files under there.</div><div class='del'>-	* ext/extmk.rb.in: Likewise.</div><div class='del'>-	</div><div class='del'>-Sat Nov 14 10:56:55 1998  Motoyuki Kasahara  &lt;m-kasahr@sra.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* instruby.rb: Add the variable `pkglibdir'.</div><div class='del'>-	* instruby.rb: Set the variable `libdir' to `$(libdir)', not</div><div class='del'>-	`$(libdir)/$(ruby_install_name)'. `libruby.so' and `libruby.so.LIB'</div><div class='del'>-	are installed at `libdir'.</div><div class='del'>-	* instruby.rb: Set the variable `archdir' to `$(pkglibdir)/$(arch)'.</div><div class='del'>-</div><div class='del'>-Fri Nov 13 19:43:29 1998  KIMURA Koichi  &lt;kbk@kt.rim.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* missing/nt.c (SafeFree): wrong free offset.</div><div class='del'>-</div><div class='del'>-Thu Nov 12 20:11:53 1998  Koji Arai  &lt;JCA02266@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* sample/ruby-mode.el: wrong highlight.</div><div class='del'>-</div><div class='del'>-	* parse.y (parse_regx): newline in regexp was ignored.</div><div class='del'>-</div><div class='del'>-Wed Nov 11 10:54:57 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (here_document): &lt;&lt;'FOO' should not escape anything.</div><div class='del'>-</div><div class='del'>-	* parse.y (here_document): bare &lt;&lt; here-doc available, even though</div><div class='del'>-	  it's deprecated.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_file_s_readlink): return value should be tainted.</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (setup_passwd): information (eg. GCOS name) should</div><div class='del'>-	  be tainted (modified at Perl Conference).</div><div class='del'>-</div><div class='del'>-Tue Nov 10 00:22:11 1998  EGUCHI Osamu  &lt;eguchi@shizuokanet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* configure.in: elf supprt for FreeBSD 3.x</div><div class='del'>-</div><div class='del'>-Tue Nov 10 00:05:43 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): here document available in eval.</div><div class='del'>-</div><div class='del'>-Mon Nov  9 17:55:19 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.1c7 released.</div><div class='del'>-</div><div class='del'>-Fri Nov  6 19:25:27 1998  Takao KAWAMURA  &lt;kawamura@ike.tottori-u.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* sample/ruby-mode.el: font-lock patch.</div><div class='del'>-</div><div class='del'>-Thu Nov  5 15:42:22 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* sample/README, lib/README: simple description for each file.</div><div class='del'>-</div><div class='del'>-Wed Nov  4 18:14:19 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (assign): attribute assignment should be called as public.</div><div class='del'>-</div><div class='del'>-Tue Nov  3 23:36:39 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_dump): dumps core for negative char value.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): out of boundary access for empty</div><div class='del'>-	  regexp.</div><div class='del'>-</div><div class='del'>-Mon Nov  2 22:54:01 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_aset): `str[str]' replaces first match.</div><div class='del'>-</div><div class='del'>-Mon Nov  2 18:24:33 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_create): was accessing modified status.</div><div class='del'>-</div><div class='del'>-Sun Nov  1 01:18:52 1998  EGUCHI Osamu  &lt;eguchi@shizuokanet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (xrealloc): size 0 needs round up to 1.</div><div class='del'>-</div><div class='del'>-Sat Oct 31 23:18:34 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_split_method): negative LIMIT means number of</div><div class='del'>-	  splitted fields are unlimited, as in perl.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_split_method): if LIMIT is unspecified,</div><div class='del'>-	  trailing null fields are stripped.</div><div class='del'>-</div><div class='del'>-Sat Oct 31 04:16:14 1998  Inaba Hiroto  &lt;inaba@st.rim.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_aref): regexp index SEGVed.</div><div class='del'>-</div><div class='del'>-Fri Oct 30 14:33:47 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (reg_match): returns nil for unmatch.</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_entries): new method.</div><div class='del'>-</div><div class='del'>-	* eval.c (block_pass): do not push block, substitute it.</div><div class='del'>-</div><div class='del'>-Fri Oct 30 01:28:52 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* range.c (range_check): avoid &lt;=&gt; check for Fixnums.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_aset): accept negative index.</div><div class='del'>-</div><div class='del'>-Wed Oct 28 22:00:54 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_match): access out of boundary fixed.</div><div class='del'>-</div><div class='del'>-Wed Oct 28 11:37:42 1998  TAMITO  &lt;tommy@valley.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (f_select): fd number comparison bug.</div><div class='del'>-</div><div class='del'>-Tue Oct 27 23:07:11 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* sample/ruby-mode.el (ruby-parse-region): forgot to support %w()</div><div class='del'>-	  style array literal.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): unused block raises warning.</div><div class='del'>-</div><div class='del'>-Mon Oct 26 09:37:53 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (dvar_asgn_push): dvar pushed too many times if</div><div class='del'>-	  variable-in-block first appear in loops.</div><div class='del'>-</div><div class='del'>-Sun Oct 25 22:59:27 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (set_list_bits): was using wrong offset.</div><div class='del'>-</div><div class='del'>-Thu Oct 22 00:07:11 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_obj_method): method retrieved from tainted object</div><div class='del'>-	  should be tainted too.</div><div class='del'>-</div><div class='del'>-	* eval.c (method_call): safe_level should be restored during</div><div class='del'>-	  Method#call.</div><div class='del'>-</div><div class='del'>-Wed Oct 21 14:21:06 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (Init_IO): new constants IO::SEEK_{SET,CUR,END}.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_f_ungetc): ungetc pushes a char back into STDIN.</div><div class='del'>-</div><div class='del'>-Mon Oct 19 11:50:00 1998  Motoyuki Kasahara  &lt;m-kasahr@sra.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb: Load '@top_srcdir@/lib/find.rb', not</div><div class='del'>-	'../lib/find.rb'.</div><div class='del'>-	* ext/extmk.rb: Distinguish between `top_srcdir' and `topdir'.</div><div class='del'>-	* Makefile.in (CFLAGS): Add `-I.'.</div><div class='del'>-	* Makefile.in (lex.c): Give `@srcdir@/keywords' to gperf, not</div><div class='del'>-	`keywords'.</div><div class='del'>-	* instruby.rb: Use `CONFIG["bindir"]', instead of `prefix + "/bin"'.</div><div class='del'>-	* instruby.rb: Use `CONFIG["libdir"]', instead of `prefix + "/lib"'.</div><div class='del'>-	* instruby.rb Use `CONFIG["mandir"]', instead of `prefix + "/man"'.</div><div class='del'>-	* instruby.rb (wdir): Add the variable to preserve the current</div><div class='del'>-	working directory.</div><div class='del'>-	* instruby.rb: Chdir to wdir before install `config.h' and</div><div class='del'>-	`rbconfig.rb'.</div><div class='del'>-</div><div class='del'>-Mon Oct 19 10:07:01 1998  EGUCHI Osamu  &lt;eguchi@shizuokanet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): reduce recursive calls to rb_eval().</div><div class='del'>-</div><div class='del'>-Fri Oct 16 15:31:45 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_new_internal): timeval must be positive.</div><div class='del'>-</div><div class='del'>-Thu Oct 15 13:54:48 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (arg): local variabls can be accessed within right side</div><div class='del'>- 	  expression in assignment, notably in blocks.</div><div class='del'>-</div><div class='del'>-Wed Oct 14 00:18:33 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (Init_Array): Array#=== is now for equal check, not</div><div class='del'>-	  inclusion check.</div><div class='del'>-</div><div class='del'>-	* parse.y (when_args): `when a, *b' style new syntax for array</div><div class='del'>-	  expansion in `case'.</div><div class='del'>-</div><div class='del'>-Tue Oct 13 14:30:32 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (rb_obj_untaint): taint marks can be unset.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): taint propagation for embedded strings.</div><div class='del'>-</div><div class='del'>-Mon Oct 12 13:27:15 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call0): check stack depth more frequently.</div><div class='del'>-</div><div class='del'>-Mon Oct 12 08:08:30 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_p): can print even in secure mode.</div><div class='del'>-</div><div class='del'>-Sun Oct 11 22:50:13 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_const_set): taint check for modification.</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_ivar_set): taint check for modification.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_modify): taint check for modification.</div><div class='del'>-</div><div class='del'>-	* hash.c (rb_hash_modify): taint check for modification.</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_modify): taint check for modification.</div><div class='del'>-</div><div class='del'>-	* ruby.h (FL_TAINT): taint for all objects, not only strings.</div><div class='del'>-</div><div class='del'>-Fri Oct  9 17:01:14 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (read_all): read() returns "" at immediate EOF.</div><div class='del'>-</div><div class='del'>-	* io.c (io_read): read(nil) read all until EOF.</div><div class='del'>-</div><div class='del'>-Thu Oct  8 13:32:13 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_dump): marshal can dump Time object now.</div><div class='del'>-</div><div class='del'>-	* marshal.c (Init_marshal): rename marshal methods `_dump_to' to</div><div class='del'>- 	  `_dump', `_load_from' to `_load'.</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_intern): "+=".intern generates proper symbol.</div><div class='del'>-</div><div class='del'>-Mon Oct  5 18:31:53 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.1c6 released.</div><div class='del'>-</div><div class='del'>-Fri Oct  2 14:22:33 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_search): `/\s*(--)$/ =~ "- --"' did not match,</div><div class='del'>-	  because of wrong optimize condition.</div><div class='del'>-</div><div class='del'>-Mon Oct  1 01:55:16 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (rb_intern): should not raise exceptions.</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): symbol like `:foo?=' should not be allowed.</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb.in: makes *.a for static link modules.</div><div class='del'>-</div><div class='del'>-Wed Sep 30 14:13:06 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_start): supports making a subclass of the</div><div class='del'>-	  Thread class.</div><div class='del'>-</div><div class='del'>-Tue Sep 29 17:46:01 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_thread_join): join is now an instance method.</div><div class='del'>-</div><div class='del'>-Fri Sep 25 12:01:19 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): `@foo!' should be an error.</div><div class='del'>-</div><div class='del'>-Thu Sep 24 14:55:06 1998  WATANABE Tetsuya  &lt;tetsu@jpn.hp.com&gt;</div><div class='del'>-</div><div class='del'>-	* ext/etc/etc.c (Init_etc): wrong field definition.</div><div class='del'>-</div><div class='del'>-Thu Sep 17 17:09:05 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_reopen): was creating FILE* for wrong fd.</div><div class='del'>-</div><div class='del'>-Tue Sep 15 05:28:11 1998  Koji Arai  &lt;JCA02266@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): forgot to fixup for the pattern</div><div class='del'>- 	  like (?=(A)|(B)).</div><div class='del'>-</div><div class='del'>-Tue Sep 15 01:06:08 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (rb_io_gets_internal): do not set $_ by default, only</div><div class='del'>-	  gets/readline set the variable.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_load): load toplevel class is set to anonymous</div><div class='del'>-	  module if safe_level &gt;= 5, to encapsulate modification.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_f_load): set frame properly.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_each_line): do not set $_.</div><div class='del'>-</div><div class='del'>-Mon Sep 14 14:42:27 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_match): beginning and end of the string, do not</div><div class='del'>-	  automatically match `\b'.</div><div class='del'>-</div><div class='del'>-	* string.c (scan_once): comsume at leaset on character.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_search): wrong behavior for negative range.</div><div class='del'>-</div><div class='del'>-Sat Sep 12 21:21:26 1998  Koji Arai  &lt;JCA02266@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_search): range value should be maintained.</div><div class='del'>-</div><div class='del'>-Thu Sep 10 10:55:00 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (backref_error): yyerror does not understand formats.</div><div class='del'>-</div><div class='del'>-Tue Sep  8 18:05:33 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.1c5 released.</div><div class='del'>-</div><div class='del'>-Tue Sep  8 10:03:39 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_each_line): wrong line splitting with newline at</div><div class='del'>- 	  top of the string.</div><div class='del'>-</div><div class='del'>-	* string.c: non bang methods return copied string.</div><div class='del'>-</div><div class='del'>-	* eval.c (f_END): needed to initialize frame-&gt;argc;</div><div class='del'>-</div><div class='del'>-Fri Sep  4 11:27:40 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigadd): proper sign combination.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_search): wrong return value for \A.</div><div class='del'>-</div><div class='del'>-Thu Sep  3 14:08:14 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.1c4 released.</div><div class='del'>-</div><div class='del'>-Tue Sep  1 10:47:16 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (slow_search): do not compare llen and blen.  llen may</div><div class='del'>-	  be longer than blen, if little contains 0xff.</div><div class='del'>-</div><div class='del'>-	* regex.c (mbctab_euc): set 0x8e as multibyte character.</div><div class='del'>-</div><div class='del'>-	* string.c (str_inspect): mask character for octal output.</div><div class='del'>-</div><div class='del'>-Mon Aug 31 15:32:41 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_search): use calculated offset if exactn is the</div><div class='del'>-	  first opcode in the compiled regexp.</div><div class='del'>-</div><div class='del'>-	* regex.c (bm_search): use Boyer-Moore search for simple search.</div><div class='del'>-</div><div class='del'>-	* regex.c (must_instr): wrong length check if pattern includes</div><div class='del'>-	  byte escape by 0xff.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): need not to check current_mbctype.</div><div class='del'>-</div><div class='del'>-Sat Aug 29 16:31:40 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_check_safe_str): avoid calling rb_id2name() in normal </div><div class='del'>-	  cases to speed-up.</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_raise): do not save context of terminated thread.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): mask \nnn over 256.</div><div class='del'>-</div><div class='del'>-Sat Aug 29 02:09:46 1998  Koji Arai  &lt;JCA02266@nifty.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (f_sprintf): wrong buffer size check.</div><div class='del'>-</div><div class='del'>-Fri Aug 28 01:57:04 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): accepts (?ix-ix) and (?ix-ix:...).</div><div class='del'>-</div><div class='del'>-Fri Aug 28 12:25:33 1998  Hiroshi Igarashi  &lt;igarashi@ueda.info.waseda.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_require_modules): load modules in appearing order.</div><div class='del'>-</div><div class='del'>-Fri Aug 28 01:57:04 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): accepts (?ix-ix) and (?ix-ix:...).</div><div class='del'>-</div><div class='del'>-Thu Aug 27 12:54:28 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.1c3 released.</div><div class='del'>-</div><div class='del'>-Wed Aug 26 14:40:56 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): check whether ruby_class is properly set,</div><div class='del'>-	  before accessing it.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_obj_instance_eval): ruby_class should be Qnil for</div><div class='del'>-	  special objects like Fixnums.</div><div class='del'>-</div><div class='del'>-	* ext/tkutil/tkutil.c (Init_tkutil): removes calls to</div><div class='del'>-	  rb_yield_0().  used instance_eval() instead in the tk.rb.</div><div class='del'>-</div><div class='del'>-Wed Aug 26 11:47:00 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_match): pop non-greedy stack elements on success.</div><div class='del'>-</div><div class='del'>-Wed Aug 26 09:25:35 1998  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.h: add #define environ for cygwin32.</div><div class='del'>-</div><div class='del'>-Tue Aug 25 08:57:41 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (rb_ary_sort_bang): temporarily freeze sorting array.</div><div class='del'>-</div><div class='del'>-Mon Aug 24 18:46:44 1998  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dln.c (dln_find_1): path check was too strict.</div><div class='del'>-</div><div class='del'>-Mon Aug 24 15:28:11 1998  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (f_arglist): opt_nl added after f_args.</div><div class='del'>-</div><div class='del'>-Fri Aug 21 01:06:01 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: grand renaming on socket.c.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (inet_aton): supply inet_aton for those</div><div class='del'>-	  systems that do not have it.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (setipaddr): use inet_aton instead of</div><div class='del'>-	  inet_addr.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (tcp_s_gethostbyname): new method: works</div><div class='del'>-	  like Socket.gethostbyname but returning array contains ip-addrs</div><div class='del'>-	  as octet decimal string format like "127.0.0.1".</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (mkhostent): return format changed to</div><div class='del'>-	  [host, aliases, type, ipaddr..]  as documented.</div><div class='del'>-</div><div class='del'>-Wed Aug 19 00:31:09 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_ctl): forgot to place TRAP_END at right position.</div><div class='del'>-</div><div class='del'>-Fri Aug 14 11:01:47 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (call_trace_func): save __FILE__, __LINE__ before</div><div class='del'>- 	  executing trace_func, since trace function should not corrupt</div><div class='del'>- 	  line number information.</div><div class='del'>-</div><div class='del'>-Thu Aug 13 15:09:02 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_s_new): was marking unallocated region on GC.</div><div class='del'>-</div><div class='del'>-Tue Aug 11 11:57:35 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.1c2 released.</div><div class='del'>-</div><div class='del'>-Mon Aug 10 14:05:30 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (f_system): removed fflush(stdin).</div><div class='del'>-</div><div class='del'>-Fri Aug  7 17:44:44 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (err_snprintf): replace sprintf for fixed sized buffer,</div><div class='del'>- 	  with snprintf to avoid buffer over-run.  For systems which does</div><div class='del'>-	  dot provide snprintf, missing/snprintf.c added.</div><div class='del'>-</div><div class='del'>-Wed Aug  5 00:47:35 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (rb_reg_search): recycle match object.</div><div class='del'>-</div><div class='del'>-Mon Aug  3 09:17:55 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_gsub_bang): do not allocate temporary string.</div><div class='del'>-</div><div class='del'>-	* string.c (rb_str_sub_bang): use inline replace.</div><div class='del'>-</div><div class='del'>-Wed Jul 29 00:36:08 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (hash_s_new): the default value can be specified.</div><div class='del'>-</div><div class='del'>-	* hash.c (hash_default): method to set the default value.</div><div class='del'>-</div><div class='del'>-	* hash.c (hash_aref): now returns the default value.</div><div class='del'>-</div><div class='del'>-Tue Jul 28 13:03:25 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_s_new): argument to specify initial value is added.</div><div class='del'>-</div><div class='del'>-	* array.c (ary_s_new): specifies size, not capacity.</div><div class='del'>-</div><div class='del'>-Mon Jul 27 12:39:34 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_replace): zero fill for expansion gap.</div><div class='del'>-</div><div class='del'>-	* regex.c (mbctab_euc): set flags on for 0xA1-0xFE.  suggested by</div><div class='del'>-	  &lt;inaba@st.rim.or.jp&gt;.</div><div class='del'>-</div><div class='del'>-	* string.c (str_inspect): consider current_mbctype.</div><div class='del'>-</div><div class='del'>-Sun Jul 26 15:37:11 1998  Tadayoshi Funaba  &lt;tadf@kt.rim.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_s_new): Array.new(1&lt;&lt;30) dumps core.</div><div class='del'>-</div><div class='del'>-Fri Jul 24 13:40:19 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.1c1 released.</div><div class='del'>-</div><div class='del'>-Fri Jul 24 02:10:22 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_bytes2): allocated buffer size was too short.</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_object): saves all options, not only casefold flag.</div><div class='del'>-</div><div class='del'>-	* re.c (reg_clone): now copies options properly.</div><div class='del'>-</div><div class='del'>-	* re.c (reg_get_kcode): code number was wrong.</div><div class='del'>-</div><div class='del'>-Thu Jul 23 13:11:32 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_attr): argument should be symbol or string.</div><div class='del'>-</div><div class='del'>-Wed Jul 22 11:59:34 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (calculate_must_string): wrong offset added.</div><div class='del'>-</div><div class='del'>-Wed Jul 22 11:59:59 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* st.c (rehash): still had a GC problem.  fixed.</div><div class='del'>-</div><div class='del'>-Tue Jul 21 13:19:30 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (gc_mark_threads): crashed on GC before thread allocation.</div><div class='del'>-</div><div class='del'>-	* st.c (rehash): GC during rehash caused SEGV.</div><div class='del'>-</div><div class='del'>-Tue Jul 21 01:25:10 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (f_sprintf): integer formatter totally re-written.</div><div class='del'>-</div><div class='del'>-	* sprintf.c (remove_sign_bits): support uppercase hexadecimal.</div><div class='del'>-</div><div class='del'>-Sat Jul 18 00:14:13 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (f_sprintf): proper sign position for %X and %O.</div><div class='del'>-</div><div class='del'>-Fri Jul 17 14:10:20 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.1c0 released.</div><div class='del'>-</div><div class='del'>-Fri Jul 17 08:01:49 1998  Tadayoshi Funaba  &lt;tadf@kt.rim.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (f_exec): Check_SafeStr() added.</div><div class='del'>-</div><div class='del'>-	* process.c (f_system): Check_SafeStr() moved before fork().</div><div class='del'>-</div><div class='del'>-Thu Jul 16 22:58:48 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (scan_once): substrings to the block should not be</div><div class='del'>- 	  tainted.  use reg_nth_match(), not str_substr().</div><div class='del'>-</div><div class='del'>-	* string.c (str_substr): needed to transfer taint.</div><div class='del'>-</div><div class='del'>-Thu Jul 16 16:15:57 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* gc.c (xmalloc): object allocation count added to GC trigger.</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_save_context): avoid marking uninitialized stack</div><div class='del'>-	  in thread_mark.  GC may be triggered by REALLOC_N().</div><div class='del'>-</div><div class='del'>-Wed Jul 15 15:11:57 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* experimental release 1.1b9_31.</div><div class='del'>-</div><div class='del'>-Wed Jul 15 15:05:27 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_create): exit() and abort() in threads now</div><div class='del'>- 	  forwarded to main_thread.</div><div class='del'>-</div><div class='del'>-Tue Jul 14 14:03:47 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (obj_instance_variables): list names that is not</div><div class='del'>-	  instance variables.</div><div class='del'>-</div><div class='del'>-	* gc.c (GC_MALLOC_LIMIT): choose smaller limit value.</div><div class='del'>-</div><div class='del'>-Mon Jul 13 12:39:38 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (str2cstr): should not return NULL.</div><div class='del'>-</div><div class='del'>-Fri Jul 10 11:51:46 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (gettable): needed to add dyna_in_block() check.</div><div class='del'>-</div><div class='del'>-Thu Jul  9 17:38:23 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* experimental release 1.1b9_30.</div><div class='del'>-</div><div class='del'>-Thu Jul  9 16:01:48 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* sprintf.c (fmt_setup): format specifier for long needed.</div><div class='del'>-</div><div class='del'>-	* sprintf.c (f_sprintf): ditto.</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix2str): ditto.</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_create): no more ITIMER_REAL.</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_create): thread finalization needed before</div><div class='del'>-	  aborting thread if thread_abort is set.</div><div class='del'>-</div><div class='del'>-Wed Jul  8 18:17:33 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big_pow): abandon power by bignum (too big).</div><div class='del'>-</div><div class='del'>-Tue Jul  7 13:58:43 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_catch): add C level catch/throw feature.</div><div class='del'>-</div><div class='del'>-Mon Jul  6 15:18:09 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (arg): proper return values for `||=' and `&amp;&amp;='.</div><div class='del'>-</div><div class='del'>-Fri Jul  3 16:05:11 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* experimental release 1.1b9_29.</div><div class='del'>-</div><div class='del'>-Fri Jul  3 11:20:46 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_byte): byte should not extend sign bit.</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_mul): use FIX2LONG() instead of FIX2INT() for</div><div class='del'>-	  64bit architectures.</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_bytes): remove weird casting bwetween pointer and int.</div><div class='del'>-</div><div class='del'>-	* process.c (proc_setsid): new method Process#setsid().</div><div class='del'>-</div><div class='del'>-Thu Jul  2 12:49:21 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (w_object): remove `write_bignum' label for 64bit</div><div class='del'>- 	  architectures.</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_bytes): needs int, not long.</div><div class='del'>-</div><div class='del'>-Wed Jul  1 14:21:06 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_plus): should not allow addition with strings.</div><div class='del'>-</div><div class='del'>-Wed Jul  1 13:09:01 1998  Keiju ISHITSUKA  &lt;keiju@rational.com&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_uminus): wrong coerce direction.</div><div class='del'>-</div><div class='del'>-Tue Jun 30 10:13:44 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (f_p): accepts arbitrary number of arguments.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_yield_0): there's some case that iterator_p() returns </div><div class='del'>-	  true even if the_block was not set.  check added.</div><div class='del'>-</div><div class='del'>-Tue Jun 30 01:05:20 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (BEGIN_CALLARGS): adjust the_block before evaluating the</div><div class='del'>-	  receiver's value and the arguments.</div><div class='del'>-</div><div class='del'>-Fri Jun 26 18:02:50 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* experimental release 1.1b9_28.</div><div class='del'>-</div><div class='del'>-Fri Jun 26 11:01:26 1998  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_aset_method): needed to convert to string.</div><div class='del'>-</div><div class='del'>-Thu Jun 25 02:05:50 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_search): optimize for `.*' at beginning of the</div><div class='del'>-	  pattern.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_search): optimize for character class repeat at</div><div class='del'>-	  beginning of the pattern.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): detect optimization potential for</div><div class='del'>-	  the compiled patterns.</div><div class='del'>-</div><div class='del'>-Thu Jun 25 00:02:26 1998  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (reg_s_new): flag value was wrong.</div><div class='del'>-</div><div class='del'>-Wed Jun 24 23:45:06 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_search): wrong anchor handling for reverse search.</div><div class='del'>-</div><div class='del'>-Wed Jun 24 02:18:57 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (mlhs): `((a,b)),c = [[1,2]],3' assigns a=1,b=2,c=3.</div><div class='del'>-</div><div class='del'>-Tue Jun 23 11:46:16 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): `&amp;&amp;=' and `||=' added.</div><div class='del'>-</div><div class='del'>-Sat Jun 20 02:53:50 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (assignable): nesting local variables should have higher</div><div class='del'>- 	  priority than normal local variables for assignment too.</div><div class='del'>-</div><div class='del'>-Fri Jun 19 18:28:19 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* experimental release 1.1b9_27.</div><div class='del'>-</div><div class='del'>-Fri Jun 19 14:34:49 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (assign): support hack for nested multiple assignment.</div><div class='del'>-</div><div class='del'>-	* parse.y (mlhs): nested multiple assignment.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): in-block variables now honors static scope.</div><div class='del'>-</div><div class='del'>-	* configure.in: RSHIFT check moved to configure.</div><div class='del'>-</div><div class='del'>-Thu Jun 18 16:46:04 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* experimental release 1.1b9_26.</div><div class='del'>-</div><div class='del'>-Thu Jun 18 13:37:19 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_s_ftype): uses lstat(2) instead of stat(2).</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_s_glob): there can be buffer overrun, check added.</div><div class='del'>-</div><div class='del'>-	* eval.c (f_binding): handles in-block variables declared after</div><div class='del'>-	  binding's generation.</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_floor): floor, ceil, round added to Float.</div><div class='del'>-</div><div class='del'>-Wed Jun 17 11:20:00 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (gettable): nesting local variables should have higher</div><div class='del'>- 	  priority than normal local variables.</div><div class='del'>-</div><div class='del'>-Tue Jun 16 12:30:46 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (str2inum): handles `+ddd'.</div><div class='del'>-</div><div class='del'>-	* struct.c (make_struct): name parameter can be nil for unnamed</div><div class='del'>-	  structures.</div><div class='del'>-</div><div class='del'>-Mon Jun 15 16:30:10 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (class_s_inherited): prohibiting to make subclass of</div><div class='del'>-	  class Class.</div><div class='del'>-</div><div class='del'>-	* object.c (module_s_new): support for making subclass of Module.</div><div class='del'>-</div><div class='del'>-	* parse.y (yycompile): clear eval_tree before compiling.</div><div class='del'>-</div><div class='del'>-Fri Jun 12 17:58:18 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (eval): write back the_dyna_var into the block.</div><div class='del'>-</div><div class='del'>-Thu Jun 11 18:19:18 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* experimental release 1.1b9_25.</div><div class='del'>-</div><div class='del'>-	* eval.c (dvar_add_compiling): register dyna_var at compile time.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): RE_DUP_MAX iteration is too big.</div><div class='del'>-</div><div class='del'>-Wed Jun 10 15:12:04 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_eof): do not block other threads.</div><div class='del'>-</div><div class='del'>-	* signal.c (trap): reserve SIGALRM for thread.</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_create): use ITIMER_REAL also to avoid system</div><div class='del'>-	  call blocking.</div><div class='del'>-</div><div class='del'>-	* io.c (f_syscall): add TRAP_BEG, TRAP_END around system calls.</div><div class='del'>-</div><div class='del'>-	* io.c (io_ctl): add TRAP_BEG, TRAP_END around system calls.</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_collect): did not collect false values.</div><div class='del'>-</div><div class='del'>-	* array.c (ary_new2): forgot to initialize capa field.</div><div class='del'>-</div><div class='del'>-Tue Jun  9 18:36:15 1998  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_split_method): split dumped core for "\xff".</div><div class='del'>-</div><div class='del'>-Tue Jun  9 16:22:12 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* experimental release 1.1b9_24.</div><div class='del'>-</div><div class='del'>-Tue Jun  9 16:04:07 1998  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/kconv/kconv.c (kconv_guess): more precise decision for EUC,</div><div class='del'>-	  using jless algorithm (3 sequential EUC hiragana characters).</div><div class='del'>-</div><div class='del'>-Tue Jun  9 15:12:44 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/kconv/kconv.c (kconv_guess): wrong guess for EUC as SJIS in</div><div class='del'>-	  some cases (0xe0 - 0xef).</div><div class='del'>-</div><div class='del'>-	* gc.c (xmalloc): insert size check for big (negative in signed)</div><div class='del'>-	  allocation size.</div><div class='del'>-</div><div class='del'>-Tue Jun  9 02:54:51 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/parsedate.rb: wday moved to the last in the return values.</div><div class='del'>-</div><div class='del'>-Mon Jun  8 10:40:16 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_split_method): split dumped core for "\0".</div><div class='del'>-</div><div class='del'>-Sat Jun  6 22:50:52 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (calculate_must_string): wrong condition for</div><div class='del'>-	  {start,stop}_nowidth.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_match): various features imported from GNU regex.c</div><div class='del'>- 	  0.12, such as nested grouping, avoiding infinite loop with empty</div><div class='del'>- 	  match, etc.</div><div class='del'>-</div><div class='del'>-	* regex.c (register_info_type): now use union.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_search): more precise anchor(^) check.</div><div class='del'>-</div><div class='del'>-Wed Jun  3 18:07:54 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (reg_raise): check rb_in_compile, not rb_in_eval.</div><div class='del'>-</div><div class='del'>-Mon Jun  1 05:26:06 1998  WATANABE Tetsuya  &lt;tetsu@jpn.hp.com&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (trnext): casting to signed char* needed.</div><div class='del'>-</div><div class='del'>-Tue Jun  2 16:00:12 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (udp_addrsetup): error check enhanced.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_s_getservbyaname): use strtoul(), if</div><div class='del'>-	  possible.</div><div class='del'>-</div><div class='del'>-Sat May 30 07:10:02 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (reg_prepare_re): no more needless regular expression</div><div class='del'>- 	  recompile on casefold conditions.</div><div class='del'>-</div><div class='del'>-Thu May 28 18:02:55 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (nil_plus): no more `+' method for nil.</div><div class='del'>-</div><div class='del'>-Wed May 27 17:33:46 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (hash_fetch): new method.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_search): check whether translate table is set.</div><div class='del'>-</div><div class='del'>-Tue May 26 11:39:50 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* experimental release 1.1b9_23.</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): no UPLUS/UMINUS for 1st argument if</div><div class='del'>-	  parenthesises are omitted.</div><div class='del'>-</div><div class='del'>-Tue May 26 01:09:55 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): (?XI) for turns off the</div><div class='del'>-	  corresponding option.</div><div class='del'>-</div><div class='del'>-Mon May 25 12:38:56 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): inline i option (?i).</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): inline x option (?x).</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): x option for regexp.</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_s_open): returns block's evaluated value.</div><div class='del'>-</div><div class='del'>-	* io.c (f_open): returns block's evaluated value.</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c (curses_addstr): nil argument caused SEGV.</div><div class='del'>-</div><div class='del'>-Fri May 22 11:52:45 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): push mark on (?:), so that</div><div class='del'>-	  laststart check for {a,b} can be done.</div><div class='del'>-</div><div class='del'>-Thu May 21 17:31:16 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_match): wrong match (too non-greedy) for `{a,b}?'.</div><div class='del'>-</div><div class='del'>-	* io.c (io_lineno): new method IO#lineno, IO#lineno=.</div><div class='del'>-</div><div class='del'>-Wed May 20 06:04:43 1998  MAEDA shugo  &lt;shugo@aianet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* BeOS patch.</div><div class='del'>-</div><div class='del'>-Wed May 20 16:32:19 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (BIGDN): use RSHIFT(), instead of mere `&gt;&gt;'.</div><div class='del'>-</div><div class='del'>-Tue May 19 16:36:26 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* experimental release 1.1b9_22.</div><div class='del'>-</div><div class='del'>-Tue May 19 16:31:57 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (assignable): specification changed for in-block</div><div class='del'>- 	  variable definition.</div><div class='del'>-</div><div class='del'>-	* eval.c (dyna_var_asgn): error in in-block variables' compile</div><div class='del'>- 	  time definition.</div><div class='del'>-</div><div class='del'>-	* parse.y (str_extend): wrong nesting detection.</div><div class='del'>-</div><div class='del'>-Tue May 19 09:47:55 1998  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (num2int): re-defined (extensions may use this).</div><div class='del'>-</div><div class='del'>-Mon May 18 16:40:50 1998  MAEDA shugo  &lt;shugo@aianet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (get_syserr): BeOS support.</div><div class='del'>-</div><div class='del'>-	* configure.in: modified for BeOS.</div><div class='del'>-</div><div class='del'>-	* string.c (str_dump): do not call isascii().</div><div class='del'>-</div><div class='del'>-	* sprintf.c (remove_sign_bits): forgot to initialize end pointer.</div><div class='del'>-</div><div class='del'>-	* glob.c: #include &lt;alloca.h&gt; added.</div><div class='del'>-</div><div class='del'>-Mon May 18 14:52:21 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-	</div><div class='del'>-	* experimental release 1.1b9_21.</div><div class='del'>-</div><div class='del'>-Mon May 18 03:27:57 1998  MAEDA shugo  &lt;shugo@aianet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_s_expand_path): optional second argument</div><div class='del'>-	  `default_directory' added.</div><div class='del'>-</div><div class='del'>-Sat May 16 22:06:52 1998  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (RAISE_ERROR): wrong error message</div><div class='del'>-</div><div class='del'>-Fri May 15 14:43:25 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* experimental release 1.1b9_20.</div><div class='del'>-</div><div class='del'>-Thu May 14 14:44:21 1998  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* sun4 cc patches for intern.h and regex.h.</div><div class='del'>-</div><div class='del'>-Thu May 14 14:03:16 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (RANDOM_MAX): guessing proper maximum value for random</div><div class='del'>- 	  numbers.</div><div class='del'>-</div><div class='del'>-	* random.c (f_rand): use drand48 if possible.</div><div class='del'>-</div><div class='del'>-Wed May 13 19:05:20 1998  MAEDA shugo  &lt;shugo@aianet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* BeOS patches for io.c, error.c and config.guess.</div><div class='del'>-</div><div class='del'>-Wed May 13 14:56:23 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* experimental release 1.1b9_19.</div><div class='del'>-</div><div class='del'>-	* most of the Mac and BeOS patches merged, except path separators.</div><div class='del'>-</div><div class='del'>-	* error.c (err_append): generated SyntaxError was String.</div><div class='del'>-</div><div class='del'>-	* ruby.h: xxx2INT, xxx2UINT checks values as int, not long.</div><div class='del'>-</div><div class='del'>-	* ruby.h: remove typedef's. INT, UINT, UCHAR, USHORT.</div><div class='del'>-</div><div class='del'>-Tue May 12 17:38:00 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* experimental release 1.1b9_18.</div><div class='del'>-</div><div class='del'>-Tue May 12 11:38:08 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (syserr_errno): returns errno of the SystemCallError.</div><div class='del'>-</div><div class='del'>-	* error.c (rb_sys_fail): saves errno in the Exception.</div><div class='del'>-</div><div class='del'>-	* error.c (set_syserr): no need to protect syserr_list.</div><div class='del'>-</div><div class='del'>-	* error.c (rb_sys_fail): no more bufsize limit.</div><div class='del'>-</div><div class='del'>-	* error.c (set_syserr): integer value of errno can be accessed by</div><div class='del'>-	  Errno::EXXX::Errno.</div><div class='del'>-</div><div class='del'>-Sun May 10 03:10:33 1998  WATANABE Tetsuya  &lt;tetsu@jpn.hp.com&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_tell etc.): moved from File class to IO class.</div><div class='del'>-</div><div class='del'>-Fri May  8 12:26:37 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_unpack): should be unsigned int (was signed int).</div><div class='del'>-</div><div class='del'>-Thu May  7 16:34:10 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): `V', `N' uses newly created NUM2UINT().</div><div class='del'>-</div><div class='del'>-	* ruby.h (NUM2UINT): new macro.</div><div class='del'>-</div><div class='del'>-	* bignum.c (big2uint): try to convert bignum into UINT.</div><div class='del'>-</div><div class='del'>-	* re.c (reg_match): needed to return false for match with nil.</div><div class='del'>-</div><div class='del'>-	* gc.c (obj_free): wrong condition to free string.</div><div class='del'>-</div><div class='del'>-Wed May  6 21:08:08 1998  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_process_options): modified for DJGPP.</div><div class='del'>-</div><div class='del'>-Wed May  6 15:48:03 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* experimental release 1.1b9_17.</div><div class='del'>-</div><div class='del'>-Wed May  6 01:37:39 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c: remove global variable `errat'.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_longjmp): embed error position information in the</div><div class='del'>- 	  exception object.</div><div class='del'>-</div><div class='del'>-Sat May  2 12:20:02 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (reg_search): supports reverse search.</div><div class='del'>-</div><div class='del'>-	* string.c (str_index_method): does update $~ etc.</div><div class='del'>-</div><div class='del'>-	* eval.c (f_load): needed to clear the_dyna_vars.</div><div class='del'>-</div><div class='del'>-	* eval.c (dyna_var_asgn): do not push dyna_var, which is id == 0.</div><div class='del'>-</div><div class='del'>-	* error.c (Init_Exception): NotImplementError is no longer</div><div class='del'>-	  StandardError, which is not handled by default rescue.</div><div class='del'>-</div><div class='del'>-Fri May  1 00:35:51 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): `-d' turns on verbose flag too.</div><div class='del'>-</div><div class='del'>-	* error.c (exception): last argument may be the superclass of the</div><div class='del'>-	  defining exception(s).</div><div class='del'>-</div><div class='del'>-	* io.c (Init_IO): EOFError is now subclass of the IOError.</div><div class='del'>-</div><div class='del'>-	* io.c (Init_IO): forgot to define IOError.</div><div class='del'>-</div><div class='del'>-	* error.c (Init_Exception): old Exception class renamed to</div><div class='del'>-	  StandardError.  Exception now replaces old GlobalExit.</div><div class='del'>-</div><div class='del'>-	* error.c (Init_Exception): Exception is now the root of the</div><div class='del'>-	  Global Exits.  There's no longer GlobalExit class.</div><div class='del'>-</div><div class='del'>-	* util.c (ruby_mktemp): check TMP, TMPDIR first.</div><div class='del'>-</div><div class='del'>-Thu Apr 30 01:08:35 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/tk.rb: call 'unknown', if proc not defined.</div><div class='del'>-</div><div class='del'>-	* eval.c (handle_rescue): default rescue handles `Exceptional' not </div><div class='del'>-	  only the instance of the `Exception's.</div><div class='del'>-</div><div class='del'>-	* eval.c (f_raise): exception can be any object.</div><div class='del'>-</div><div class='del'>-	* time.c (time_gm_or_local): call time_gmtime or time_localtime.</div><div class='del'>-</div><div class='del'>-	* eval.c (f_raise): raises TypeError if the class which is not a</div><div class='del'>-	  subclass of String is specified (checked in exc_new()).</div><div class='del'>-</div><div class='del'>-	* error.c (exc_new): need to check whether invalid class (not a</div><div class='del'>-	  subclass of String) is specified.</div><div class='del'>-</div><div class='del'>-Wed Apr 29 21:05:44 1998  WATANABE Hirofumi  &lt;eban@os.rim.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): option '-e' via tempfile.</div><div class='del'>-</div><div class='del'>-Tue Apr 28 15:27:58 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* experimental release 1.1b9_16.</div><div class='del'>-</div><div class='del'>-Tue Apr 28 00:07:38 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (obj_is_proc): type check predicate.</div><div class='del'>-</div><div class='del'>-	* eval.c (obj_is_block): ditto.</div><div class='del'>-</div><div class='del'>-Mon Apr 27 16:59:17 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/gtk/gtk.c (Init_gtk): use timeout, not idle to avoid</div><div class='del'>-	  comsuming CPU too much.</div><div class='del'>-</div><div class='del'>-	* lib/tk.rb: use tcltklib#_invoke instead of `_eval'.</div><div class='del'>-</div><div class='del'>-Mon Apr 27 16:59:17 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_sort): use dup, not clone.</div><div class='del'>-</div><div class='del'>-Mon Apr 27 13:46:27 1998  Tadahiro Maebashi  &lt;maebashi@iij.ad.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c (ip_invoke): invoke tcl command</div><div class='del'>-	  directly.  need not worry about escaping tcl characters.</div><div class='del'>-</div><div class='del'>-Mon Apr 27 12:04:43 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* random.c (f_rand): do not call srand() implicitly.</div><div class='del'>-</div><div class='del'>-Fri Apr 24 14:35:45 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* experimental release 1.1b9_15.</div><div class='del'>-</div><div class='del'>-	* parse.y (assignable): dyna_var_asgn actually defines nested</div><div class='del'>-	  local variables in outer context.</div><div class='del'>-</div><div class='del'>-	* random.c (f_rand): call srand(), if it has not called yet.</div><div class='del'>-</div><div class='del'>-	* random.c (f_srand): use tv_usec as the default seed.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): values of nested local variables should be</div><div class='del'>- 	  independent.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_yield_0): local variables wrong nested conditions.</div><div class='del'>-</div><div class='del'>-Wed Apr 22 23:27:17 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (select_get_io): get IO object by `to_io'.</div><div class='del'>-</div><div class='del'>-	* io.c (io_to_io): method to retrieve IO object, from delegating</div><div class='del'>- 	  object for example.</div><div class='del'>-</div><div class='del'>-Wed Apr 22 16:52:37 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* experimental release 1.1b9_14.</div><div class='del'>-</div><div class='del'>-	* string.c (str_modify): check for embedded pointer reference.</div><div class='del'>-</div><div class='del'>-	* gc.c (obj_free): ditto.</div><div class='del'>-</div><div class='del'>-	* pack.c (pack_pack): p/P template to embed pointers.</div><div class='del'>-</div><div class='del'>-Wed Apr 22 00:07:10 1998  Tadayoshi Funaba  &lt;tadf@kt.rim.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_rindex): embarrassing typo.</div><div class='del'>-</div><div class='del'>-Tue Apr 21 12:31:48 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* experimental release 1.1b9_13.</div><div class='del'>-</div><div class='del'>-	* configure.in (RUBY_LIB): supports --program-{prefix,suffix}.</div><div class='del'>-</div><div class='del'>-	* array.c (ary_rindex): new method.</div><div class='del'>-</div><div class='del'>-	* io.c (io_binmode): should return self.</div><div class='del'>-</div><div class='del'>-Tue Apr 21 08:23:04 1998  Tadayoshi Funaba  &lt;tadf@kt.rim.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (here_document): calling parse_string with wrong</div><div class='del'>-	  arguments.</div><div class='del'>-</div><div class='del'>-	* struct.c (struct_aset): problem member assignment with name.</div><div class='del'>-</div><div class='del'>-Mon Apr 20 14:47:49 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* experimental release 1.1b9_12.</div><div class='del'>-</div><div class='del'>-	* time.c (time_arg): args may be string (support for reduced</div><div class='del'>-	  implicit type conversion).</div><div class='del'>-</div><div class='del'>-	* lib/base64.rb: changed to use pack/unpack with `m' template.</div><div class='del'>-</div><div class='del'>-Mon Apr 20 06:23:20 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (mod_remove_const): new method.</div><div class='del'>-</div><div class='del'>-Sat Apr 18 03:53:27 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (hash_each_with_index): removed.  use Enumerable's</div><div class='del'>-	  each_with_index instead.</div><div class='del'>-</div><div class='del'>-	* class.c (rb_include_module): check for super modules, since</div><div class='del'>- 	  module's included modules may be changed.</div><div class='del'>-</div><div class='del'>-Fri Apr 17 21:50:47 1998  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* marshal.c (r_long): r_byte() may return signed byte.</div><div class='del'>-</div><div class='del'>-Fri Apr 17 11:58:30 1998  NAGAI Hidetoshi  &lt;nagai@dumbo.ai.kyutech.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c (lib_mainloop): thread and interrupt check.</div><div class='del'>-</div><div class='del'>-Fri Apr 17 11:06:30 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (find_file): try to fopen() to check whether file exists.</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file): ditto.</div><div class='del'>-</div><div class='del'>-	* struct.c (struct_aset): struct member can be set by member name.</div><div class='del'>-</div><div class='del'>-Fri Apr 17 00:47:19 1998  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb.in: added m68k-human support</div><div class='del'>-</div><div class='del'>-	* file.c (LOCK_SH): defines moved.</div><div class='del'>-</div><div class='del'>-	* array.c (ary_flatten_bang): simplified loop.</div><div class='del'>-</div><div class='del'>-Thu Apr 16 16:52:01 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* experimental release 1.1b9_11.</div><div class='del'>-</div><div class='del'>-	* lib/tk.rb: thread support (experimental - maybe slow).</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_longjmp): trace event on exception in raising</div><div class='del'>- 	  context, just before raising exception.</div><div class='del'>-</div><div class='del'>-	* struct.c (struct_s_members): forgot to check singletons.</div><div class='del'>-</div><div class='del'>-	* struct.c (struct_aref): members can be accessed by names too.</div><div class='del'>-</div><div class='del'>-	* array.c (ary_flatten): new method.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_longjmp): prints exception information with `-d'.</div><div class='del'>-</div><div class='del'>-	* object.c (any_to_s): remove class name restriction.</div><div class='del'>-</div><div class='del'>-Thu Apr 16 01:38:02 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (thread_flock): do not block other threads.</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_trap_eval): signals are now delivered to the</div><div class='del'>- 	  current thread again.  In case that the current thread is dead,</div><div class='del'>- 	  signals are forwarded to the main thread.</div><div class='del'>-</div><div class='del'>-	* string.c (str_new4): need not to duplicate frozen strings.</div><div class='del'>-</div><div class='del'>-Wed Apr 15 08:33:47 1998  Tadayoshi Funaba  &lt;tadf@kt.rim.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (struct_inspect): remove restriction for struct names.</div><div class='del'>-</div><div class='del'>-Wed Apr 15 02:55:02 1998  Kazuya 'Sharl' Masuda  &lt;sharl@www.ufo.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* x68 patches to config.sub, ext/extmk.rb.in</div><div class='del'>-</div><div class='del'>-Wed Apr 15 01:22:56 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_dup_frozen): do not duplicate frozen strings.</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): allow nested parenthesises.</div><div class='del'>-</div><div class='del'>-	* io.c (obj_displayln): prints newline after `display'ing the</div><div class='del'>-	  receiver.</div><div class='del'>-</div><div class='del'>-	* io.c (io_puts): avoid generating "\n" each time.  use RS_default</div><div class='del'>- 	  instead.</div><div class='del'>-</div><div class='del'>-	* io.c (f_p): ditto.</div><div class='del'>-</div><div class='del'>-Tue Apr 14 22:18:17 1998  Tadayoshi Funaba  &lt;tadf@kt.rim.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (struct_aref): should not subtract negative index.</div><div class='del'>-</div><div class='del'>-Tue Apr 14 11:34:50 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* experimental release 1.1b9_10.</div><div class='del'>-</div><div class='del'>-	* parse.y: token names prefixed by `t'.</div><div class='del'>-</div><div class='del'>-	* struct.c (struct_s_def): supports subclassing of Struct.</div><div class='del'>-</div><div class='del'>-	* io.c (io_s_new): supports subclassing of IO.</div><div class='del'>-</div><div class='del'>-Mon Apr 13 11:07:39 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (f_binding): need to restore method name.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call0): raises SystemStackError, not Fatal.</div><div class='del'>-</div><div class='del'>-	* io.c (obj_display): same as `print self'.</div><div class='del'>-</div><div class='del'>-	* io.c (f_p): can now be called in the method form.</div><div class='del'>-</div><div class='del'>-	* re.c (reg_regsub): needed to be mbchar aware.</div><div class='del'>-</div><div class='del'>-Mon Apr 13 13:18:32 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_trap_eval): all signals delivered to main_thread.</div><div class='del'>-</div><div class='del'>-Mon Apr 13 12:47:03 1998  TAKAHASHI Masayoshi  &lt;maki@inac.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (kcode_set_option): did not set SJIS on SJIS condition.</div><div class='del'>-</div><div class='del'>-Sun Apr 12 22:14:07 1998  Kazunori NISHI  &lt;kazunori@swlab.csce.kyushu-u.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_uniq_bang): should be `==', not `='. embarrassing.</div><div class='del'>-</div><div class='del'>-Sat Apr 11 02:13:30 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_subseq): SEGVed for `[][1,1]'.</div><div class='del'>-</div><div class='del'>-Fri Apr 10 21:29:06 1998  Tadayoshi Funaba  &lt;tadf@kt.rim.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_subseq): add check for beg larger than array length.</div><div class='del'>-</div><div class='del'>-Wed Apr  8 17:24:11 1998  MAEDA shugo  &lt;shugo@po.aianet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_s_open): can be called with block (like IO#open).</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_s_chdir): print directory path on error.</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_s_chroot): ditto</div><div class='del'>-</div><div class='del'>-	* dir.c (Init_Dir): needed to override `new'.</div><div class='del'>-</div><div class='del'>-Thu Apr  9 18:24:58 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* experimental release 1.1b9_09.</div><div class='del'>-</div><div class='del'>-	* string.c (str_cmp): do not depend on sentinel at the end of the</div><div class='del'>-	  strings. </div><div class='del'>-</div><div class='del'>-	* string.c (str_chomp_bang): forgot to set the sentinel.</div><div class='del'>-</div><div class='del'>-Wed Apr  8 00:59:13 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c (big2int): converted int may be too big to fit in</div><div class='del'>-	  signed int.</div><div class='del'>-</div><div class='del'>-	* parse.y (arg): `foo += 1' should not cause an error.</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_const_defined): returned false even if the</div><div class='del'>-	  constant is defined at the top level.</div><div class='del'>-</div><div class='del'>-	* eval.c (f_local_variables): dyna_var-&gt;id may be null.  should</div><div class='del'>-	  have checked before calling str_new2().</div><div class='del'>-</div><div class='del'>-Tue Apr  7 01:15:15 1998  Kaneko Naoshi  &lt;wbs01621@mail.wbs.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (reg_regsub): need to check string boundary.</div><div class='del'>-</div><div class='del'>-Tue Apr  7 19:19:12 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_cmp): returns either 1, 0, -1.</div><div class='del'>-</div><div class='del'>-	* array.c (ary_cmp): should check array length, too</div><div class='del'>-</div><div class='del'>-Tue Apr  7 18:50:16 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* experimental release 1.1b9_08.</div><div class='del'>-</div><div class='del'>-Tue Apr  7 18:31:27 1998  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* instruby.rb (mandir): dll installation for cygwin32</div><div class='del'>-</div><div class='del'>-Tue Apr  7 01:16:45 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* config.sub (maybe_os): TOWNS support?</div><div class='del'>-</div><div class='del'>-	* config.guess: too strict check for libc versions on linuxes.</div><div class='del'>-</div><div class='del'>-	* experimental release 1.1b9_07.</div><div class='del'>-</div><div class='del'>-	* array.c (ary_cmp): compare each element using `&lt;=&gt;'.</div><div class='del'>-</div><div class='del'>-	* hash.c (hash_each_with_index): yields [value, key] pair.</div><div class='del'>-</div><div class='del'>-	* class.c (class_protected_instance_methods): list protected</div><div class='del'>-	  method names.</div><div class='del'>-</div><div class='del'>-	* class.c (ins_methods_i): exclude protected methods.</div><div class='del'>-</div><div class='del'>-	* eval.c (PUSH_BLOCK): dynamic variables can be accessed from</div><div class='del'>- 	  eval() with bindings.</div><div class='del'>-</div><div class='del'>-Mon Apr  6 14:49:06 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_yield): must return evaluated value.</div><div class='del'>-</div><div class='del'>-Fri Apr  3 13:07:29 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_schedule): context switch bypassed on wrong</div><div class='del'>-	  conditions.</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_name_class): set classname by id before String</div><div class='del'>- 	  class is initialized (1.0 behavior restored).</div><div class='del'>-</div><div class='del'>-Fri Apr  3 11:25:45 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (num2int): no implicit conversion from string.</div><div class='del'>-</div><div class='del'>-	* numeric.c (num2int): check whether `to_i' returns an Integer.</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_zero_p): new method.</div><div class='del'>-</div><div class='del'>-	* numeric.c (num_nonzero_p): new method.  returns the receiver if</div><div class='del'>- 	  it's not zero.</div><div class='del'>-</div><div class='del'>-	* eval.c (obj_instance_eval): the_class should be the object's</div><div class='del'>-	  singleton class.</div><div class='del'>-</div><div class='del'>-	* error.c (exc_s_new): message is converted into a string.</div><div class='del'>-</div><div class='del'>-Thu Apr  2 18:31:46 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (obj_call_init): every object call `initialize'.</div><div class='del'>-</div><div class='del'>-Wed Apr  1 08:51:53 1998  Tadayoshi Funaba  &lt;tadf@kt.rim.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (stmt): UNTIL_MOD should be for stmt, not only for expr.</div><div class='del'>-</div><div class='del'>-Wed Apr  1 01:20:31 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (true_and): boolean operators &amp;, | and ^.</div><div class='del'>-</div><div class='del'>-Tue Mar 31 13:23:58 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_compact_bang): returns nil, if it does not modify</div><div class='del'>-	  the array like String's bang methods.</div><div class='del'>-</div><div class='del'>-	* array.c (ary_uniq_bang): new method to remove duplicate items.</div><div class='del'>-</div><div class='del'>-	* eval.c (bind_s_new): new method.</div><div class='del'>-</div><div class='del'>-	* numeric.c (num2int): raise exception if Fixnums too big to</div><div class='del'>- 	  convert into `int' in case that sizeof(int) &lt; sizeof(INT).</div><div class='del'>-</div><div class='del'>-	* string.c (str_center): SEGV on negative width.</div><div class='del'>-</div><div class='del'>-	* eval.c (eval): forgot to set sourcefile.</div><div class='del'>-</div><div class='del'>-Mon Mar 30 11:12:29 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (f_test): raises exception for unkown command.</div><div class='del'>-</div><div class='del'>-	* eval.c (Init_eval): `class_eval': alias to the module_eval.</div><div class='del'>-</div><div class='del'>-Mon Mar 30 18:50:42 1998  Tadayoshi Funaba  &lt;tadf@kt.rim.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_capitalize_bang): did not check string modification.</div><div class='del'>-</div><div class='del'>-	* string.c (str_delete_bang): wrong conversion.</div><div class='del'>-</div><div class='del'>-	* string.c (str_intern): typo in error message.</div><div class='del'>-</div><div class='del'>-Mon Mar 30 01:44:13 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (obj_instance_eval): accepts block as evaluation body.</div><div class='del'>-	  No compilation needed each time.</div><div class='del'>-</div><div class='del'>-	* eval.c (mod_module_eval): ditto</div><div class='del'>-</div><div class='del'>-	* file.c (file_s_umask): umask did not return old values, if no</div><div class='del'>- 	  argument given.</div><div class='del'>-</div><div class='del'>-Sun Mar 29 00:54:23 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (f_throw): nil returned always.</div><div class='del'>-</div><div class='del'>-Sat Mar 28 20:40:12 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* experimental release 1.1b9_06.</div><div class='del'>-</div><div class='del'>-Sat Mar 28 16:07:11 1998  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_closed): should not cause exception fot closed IO.</div><div class='del'>-</div><div class='del'>-	* string.c (str_tr): returned nil for success.</div><div class='del'>-</div><div class='del'>-Sat Mar 28 00:47:19 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (f_local_variables): new method to return an array of</div><div class='del'>- 	  local variable names.</div><div class='del'>-</div><div class='del'>-	* variable.c (obj_instance_variables): now returns an array of</div><div class='del'>-	  variable names, as described in the reference.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_attr): honors default method visibility of the</div><div class='del'>-	  current scope.</div><div class='del'>-</div><div class='del'>-Fri Mar 27 13:49:27 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* experimental release 1.1b9_05.</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_prog_init): `site_ruby' added to load_path.</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_prog_init): load-path order changed.  Paths in</div><div class='del'>- 	  the RUBYLIB environment variable comes first in non-tainted</div><div class='del'>- 	  mode.</div><div class='del'>-</div><div class='del'>-Thu Mar 26 11:51:09 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call): new feature: `protected' methods.</div><div class='del'>-</div><div class='del'>-	* string.c (str_dump): new method.</div><div class='del'>-</div><div class='del'>-	* eval.c (block_pass): block argument can be nil, which means no</div><div class='del'>-	  block is supplied for the method.</div><div class='del'>-</div><div class='del'>-Wed Mar 25 21:20:13 1998  Tadayoshi Funaba  &lt;tadf@kt.rim.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_reverse_bang): string copied to wrong place.</div><div class='del'>-</div><div class='del'>-Wed Mar 25 08:12:07 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_modulo): caused SEGV if left operand is not a</div><div class='del'>- 	  float value.</div><div class='del'>-</div><div class='del'>-	* eval.c (f_eval): optional third and fourth argument to specify</div><div class='del'>-	  file-name and line-number.</div><div class='del'>-</div><div class='del'>-	* eval.c (eval): file-name and line-number set properly.</div><div class='del'>-</div><div class='del'>-	* parse.y (assign_in_cond): literal assignment is now warning, not </div><div class='del'>-	  compile error.</div><div class='del'>-</div><div class='del'>-	* error.c (Warn): Warn() always print message, OTOH Waring()</div><div class='del'>-	  prints when verbose flag is set.</div><div class='del'>-</div><div class='del'>-Tue Mar 24 12:50:06 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_prog_init): `.' should come last in the load-path.</div><div class='del'>-</div><div class='del'>-	* eval.c (Init_eval): `__send__', alias for `send'.</div><div class='del'>-</div><div class='del'>-Mon Mar 23 12:44:12 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_chomp_bang): now takes `rs' as an argument.</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_free): main_thread should not be freed.</div><div class='del'>-</div><div class='del'>-Fri Mar 20 16:40:34 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_chomp_bang): chomp! (and other ! methods) returns</div><div class='del'>- 	  nil if it does not modify the string.</div><div class='del'>-</div><div class='del'>-	* string.c (str_sub_iter_s): should check last pattern since it</div><div class='del'>- 	  may be matched to null.</div><div class='del'>-</div><div class='del'>-Thu Mar 19 13:48:55 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* experimental release 1.1b9_04.</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): `10e0.9' should cause syntax error.</div><div class='del'>-</div><div class='del'>-Wed Mar 18 17:46:31 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file): new file object constant DATA.  Only</div><div class='del'>-	  available for the script from the file.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_match): forwading failure point popped too much. </div><div class='del'>-</div><div class='del'>-Tue Mar 17 18:23:06 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* math.c (math_frexp): newly added.</div><div class='del'>-</div><div class='del'>-	* math.c (math_ldexp): ditto.</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigdivmod): calculates modulo.</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_remainder): returns reminder, formerly introduced</div><div class='del'>- 	  as modulo.</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_modulo): calculates proper `modulo'.</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigdivmod): wrong sign for reminder.</div><div class='del'>-</div><div class='del'>-Mon Mar 16 17:07:28 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* experimental release 1.1b9_03.</div><div class='del'>-</div><div class='del'>-Mon Mar 16 16:33:53 1998  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_finalize): needed to add pipe_finalize to pipes on</div><div class='del'>-	  cygwin32.</div><div class='del'>-</div><div class='del'>-Mon Mar 16 14:11:06 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (ins_methods_i): needed to consider NOEX_UNDEF.</div><div class='del'>-</div><div class='del'>-Mon Mar 16 13:23:53 1998  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_check_closed): check for `fptr-&gt;f2 == NULL'.</div><div class='del'>-</div><div class='del'>-	* io.c (io_fptr_close): ditto.</div><div class='del'>-</div><div class='del'>-Mon Mar 16 11:49:25 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_atexit): free()ing referencing pipe_list.</div><div class='del'>-</div><div class='del'>-	* range.c (range_length): returns zero, if the first is greater</div><div class='del'>-	  than the last.</div><div class='del'>-</div><div class='del'>-	* signal.c (trap_restore_mask): restore signal mask before raising </div><div class='del'>-	  exceptions and throws.</div><div class='del'>-</div><div class='del'>-Fri Mar 13 13:49:24 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* experimental release 1.1b9_02.</div><div class='del'>-</div><div class='del'>-	* object.c (mod_clone): need to dups constants and instance</div><div class='del'>-	  variables.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): forgot to initialize body for NODE_DEFS.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): retrieve self from calling frame, since self</div><div class='del'>-	  changes sometimes.</div><div class='del'>-</div><div class='del'>-	* env.h (FRAME): need to save self in the calling frame.</div><div class='del'>-</div><div class='del'>-	* io.c (f_gets_method): rs should be initialized by RS.</div><div class='del'>-</div><div class='del'>-Thu Mar 12 15:33:57 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* experimental release 1.1b9_01.</div><div class='del'>-</div><div class='del'>-	* range.c (range_s_new): check values by `first &lt;= last'.</div><div class='del'>-</div><div class='del'>-	* parse.y (lastline_set): fixed offset for $_ and $~ in the local</div><div class='del'>-	  variable space.</div><div class='del'>-</div><div class='del'>-Wed Mar 11 02:14:17 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_gets): handle normal case specially for speed.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_disable_super): function to disable superclass's</div><div class='del'>-	  method explicitly.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): inherits previous method definition's</div><div class='del'>-	  NOEX_UNDEF-ness, if exists.</div><div class='del'>-</div><div class='del'>-	* class.c (rb_define_method): disables superclass's overriding</div><div class='del'>- 	  method by default.</div><div class='del'>-</div><div class='del'>-Wed Mar 11 01:40:48 1998  MAEDA shugo  &lt;shugo@po.aianet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (flo_gt,etc.): do not depend on `&lt;=&gt;', to handle NaN.</div><div class='del'>-</div><div class='del'>-Tue Mar 10 00:03:24 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file): understands multiple options in #! line.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): support for [:alpha:] etc.</div><div class='del'>-</div><div class='del'>-Mon Mar  9 16:53:51 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.h (GetOpenFile): embed io_check_closed in GetOpenFile.</div><div class='del'>-</div><div class='del'>-	* sprintf.c (f_sprintf): zero padding failed for negative</div><div class='del'>-	  integers.</div><div class='del'>-</div><div class='del'>-	* sprintf.c (remove_sign_bits): failed to remove some bits.</div><div class='del'>-</div><div class='del'>-Sat Mar  7 21:51:46 1998  MAEDA shugo  &lt;shugo@po.aianet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (ins_methods_i): body may be NULL for some case.</div><div class='del'>-</div><div class='del'>-Fri Mar  6 17:23:07 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (mbcinit): table driven mbchar detection.</div><div class='del'>-</div><div class='del'>-	* object.c (obj_alloc): check for allocating instance for the</div><div class='del'>-	  primitive classes (mostly perfect).</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c (curses_finalize): restore original state at </div><div class='del'>-	  interpreter temination.</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c (curses_addstr): forgot to check argument</div><div class='del'>-	  type (caused SEGV).  now uses STR2CSTR() macro.</div><div class='del'>-</div><div class='del'>-Thu Mar  5 13:47:39 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (block_pass): accepts method object as block args.</div><div class='del'>-</div><div class='del'>-	* eval.c (f_missing): use any_to_s() for stringify.</div><div class='del'>-</div><div class='del'>-Wed Mar  4 01:39:52 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (block_arg): new syntax - block argument in the</div><div class='del'>-	  calling arglist.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call): no module search. simplified a lot.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): block arg support.</div><div class='del'>-</div><div class='del'>-	* parse.y (f_block_arg): new syntax - block argument in the</div><div class='del'>- 	  formal arglist.</div><div class='del'>-</div><div class='del'>-Tue Mar  3 14:20:15 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (obj_method): returns bound method object.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call): argument check for empty methods.</div><div class='del'>-</div><div class='del'>-	* ruby.h (NUM2CHR): new macro, originally from curses module.</div><div class='del'>-</div><div class='del'>-Tue Mar  3 13:03:35 1998  MAEDA shugo  &lt;shugo@po.aianet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_putc): new method.</div><div class='del'>-</div><div class='del'>-Tue Mar  3 11:21:28 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_inspect): more strict charcode detection.</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_stop): stopping only thread raises ThreadError</div><div class='del'>-	  exception.</div><div class='del'>-</div><div class='del'>-Tue Mar  3 08:04:56 1998  Tadayoshi Funaba  &lt;tadf@kt.rim.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* struct.c (struct_alloc): imcomplete struct initialization made</div><div class='del'>- 	  GC to access unallocated addresses.</div><div class='del'>-</div><div class='del'>-Mon Mar  2 16:28:27 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_stop_method): remove Thread#stop.</div><div class='del'>-</div><div class='del'>-Fri Feb 27 18:16:26 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.1b9 released.</div><div class='del'>-</div><div class='del'>-Fri Feb 27 09:36:35 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (hash_delete_nil): needed to compare value to nil, since</div><div class='del'>-	  nil is the valid key for hashes.</div><div class='del'>-</div><div class='del'>-	* hash.c (hash_foreach_iter): rehashing causes IndexError.</div><div class='del'>-</div><div class='del'>-	* hash.c (hash_foreach_iter): rehash check by pointer comparison.</div><div class='del'>-</div><div class='del'>-Thu Feb 26 17:22:13 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (fname): convert reswords into symbols.</div><div class='del'>-</div><div class='del'>-	* parse.y (reswords): reserved words are now embedded in the</div><div class='del'>- 	  syntax (sigh).</div><div class='del'>-</div><div class='del'>-	* parse.y: now reserved words can be method names safely.</div><div class='del'>-</div><div class='del'>-Wed Feb 25 15:50:07 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (mod_module_eval): clear the_scope's PRIVATE flag before</div><div class='del'>-	  calling eval().</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_call_finalizer_at_exit): run finalizers before any data </div><div class='del'>-	  object being freed.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): needed to keep prot_tag-&gt;retval before</div><div class='del'>-	  evaluating the ensure clause.</div><div class='del'>-</div><div class='del'>-Tue Feb 24 11:16:32 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): reserved words can be appear as method names at</div><div class='del'>- 	  right after 'def' and `.'(dot), like foo.next.</div><div class='del'>-</div><div class='del'>-	* eval.c (return_check): checks for return out of thread (formerly</div><div class='del'>- 	  done in return_value).</div><div class='del'>-</div><div class='del'>-	* eval.c (POP_TAG): copy retval to outer level.</div><div class='del'>-</div><div class='del'>-	* eval.c (return_value): just set retval, no check, no unwinding.</div><div class='del'>-</div><div class='del'>-	* parse.y (nextc): line continuation by backslash at end of line.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): forgot to clear pending_exact on</div><div class='del'>-	  closing parentheses.</div><div class='del'>-</div><div class='del'>-	* parse.y (assignable): should not assign dyna_var to true, if it</div><div class='del'>- 	  is already defined.</div><div class='del'>-</div><div class='del'>-Mon Feb 23 14:35:03 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (obj_is_kind_of): no longer accepts true/false/nil.</div><div class='del'>-</div><div class='del'>-	* object.c ({true,false,nil}_to_i): can be converted into integers.</div><div class='del'>-</div><div class='del'>-Mon Feb 23 12:11:51 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (reg_s_quote): needed to be mbchar aware.</div><div class='del'>-</div><div class='del'>-	* eval.c (proc_s_new): wrong iter mark.</div><div class='del'>-</div><div class='del'>-Sat Feb 21 22:59:30 1998  MAEDA shugo  &lt;shugo@po.aianet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (f_syscall): no argument check.</div><div class='del'>-</div><div class='del'>-Fri Feb 20 10:17:51 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.1b8 released.</div><div class='del'>-</div><div class='del'>-	* ext/kconv/kconv.c (kconv_kconv): default output code now be</div><div class='del'>-	  determined according to the value of $KCODE.</div><div class='del'>-</div><div class='del'>-	* re.c (rb_get_kcode): can retrieve $KCODE from C code. </div><div class='del'>-</div><div class='del'>-	* parse.y (stmt): if/unless modifiers returns nil, if condition is </div><div class='del'>-	  not established.</div><div class='del'>-</div><div class='del'>-Thu Feb 19 11:06:47 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/kconv/kconv.c (kconv_kconv): charcode can be specified by</div><div class='del'>-	  code name (JIS, SJIS, EUC like value of $KCODE).</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): forgot to fixup_jump for (?:..).</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): needed to clear pending_exact on</div><div class='del'>-	  non-registering grouping (?:...).</div><div class='del'>-</div><div class='del'>-Wed Feb 18 19:54:21 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (here_document): needed to set lex_state to EXPR_END.</div><div class='del'>-</div><div class='del'>-Wed Feb 18 18:45:10 1998  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* patches for cygwin32 applied.</div><div class='del'>-</div><div class='del'>-Wed Feb 18 00:41:31 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_sub_s): needed to be mbchar aware to increment one</div><div class='del'>- 	  character.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_match): \Z matches newline just before the end of</div><div class='del'>-	  the string.</div><div class='del'>-</div><div class='del'>-Tue Feb 17 00:04:32 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_arg): Time.gm and Time.local now understands</div><div class='del'>- 	  Time#to_a format.</div><div class='del'>-</div><div class='del'>-	* string.c (str_sub_s): replace happened twice for null pattern.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_search): null pattern should not match after newline </div><div class='del'>-	  at the end of string.</div><div class='del'>-</div><div class='del'>-	* time.c (time_isdst): now returns boolean value.</div><div class='del'>-</div><div class='del'>-	* error.c (rb_check_type): treat special constants in messages.</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): new form `::Const' to see toplevel constants.</div><div class='del'>-</div><div class='del'>-	* parse.y (cond): SEGV on `if ()'.</div><div class='del'>-</div><div class='del'>-	* gc.c (obj_free): some data needed explicit free().</div><div class='del'>-</div><div class='del'>-Mon Feb 16 23:55:40 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (blk_free): release duplicated block informations.</div><div class='del'>-</div><div class='del'>-	* eval.c (blk_copy_prev): duplicate outer block information into</div><div class='del'>- 	  the heap, when proc/binding created.</div><div class='del'>-</div><div class='del'>-Mon Feb 16 14:38:25 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_mon): now 1 for January and so on.</div><div class='del'>-</div><div class='del'>-	* time.c (time_year): year in 19xx (no + 1900 needed anymore).</div><div class='del'>-</div><div class='del'>-Mon Feb 16 13:28:33 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): need to fetch mbchar's second byte</div><div class='del'>- 	  without translation.</div><div class='del'>-</div><div class='del'>-Mon Feb 16 12:29:27 1998  MAEDA shugo  &lt;shugo@po.aianet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (f_pass_block): pass iterator block to other method.</div><div class='del'>-</div><div class='del'>-Fri Feb 13 08:16:11 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (parse_regx): handle \s before read_escape().</div><div class='del'>-</div><div class='del'>-	* parse.y (read_escape): `\s' in strings as space.</div><div class='del'>-</div><div class='del'>-Tue Feb 10 17:29:08 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.1b7 released.</div><div class='del'>-</div><div class='del'>-	* string.c (str_aset): string insertion by `str[n] = str2'.</div><div class='del'>-</div><div class='del'>-	* string.c (str_oct): does recognize `0x'.</div><div class='del'>-</div><div class='del'>- 	* sprintf.c (f_sprintf): use baes 10 for conversion from string to</div><div class='del'>- 	  integer.</div><div class='del'>-</div><div class='del'>-Mon Feb  9 14:51:56 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (do_coerce): proper error message.</div><div class='del'>-</div><div class='del'>-	* string.c (str_sum): bug - masked by wrong value. (sigh..)</div><div class='del'>-</div><div class='del'>-Sat Feb  7 15:11:14 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_empty): new method</div><div class='del'>-</div><div class='del'>-Fri Feb  6 01:42:15 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* time.c (time_asctime): use asctime(3), not strftime(3).</div><div class='del'>-</div><div class='del'>-Thu Feb  5 18:58:46 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_fptr_close): do not free path on close().</div><div class='del'>-</div><div class='del'>-	* array.c (ary_filter): new method.</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_each_with_index): new method.</div><div class='del'>-</div><div class='del'>-Thu Feb  5 14:10:35 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (primary): singleton class def can be appeared inside</div><div class='del'>- 	  method bodies.</div><div class='del'>-</div><div class='del'>-	* hash.c (hash_replace): replace content.</div><div class='del'>-</div><div class='del'>-	* string.c (str_replace_method): replace content.</div><div class='del'>-</div><div class='del'>-	* array.c (ary_replace_method): replace elements.</div><div class='del'>-</div><div class='del'>-	* string.c (str_succ_bang): String#succ!</div><div class='del'>-</div><div class='del'>-Thu Feb  5 18:20:30 1998  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_upcase_bang): multi byte character support.</div><div class='del'>-</div><div class='del'>-Wed Feb  4 13:55:26 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (ary_reverse): SEGV on empty array reverse.</div><div class='del'>-</div><div class='del'>-Tue Feb  3 12:24:07 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (match_to_a): non matching element should be nil.</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_load_script): load script after all initialization.</div><div class='del'>-</div><div class='del'>-	* bignum.c (str2inum): need to interpret prefix `0' of `0x'.</div><div class='del'>-</div><div class='del'>-Tue Feb  3 10:00:18 1998  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix_rshift): use `sizeof(INT)*8' instead of 32.</div><div class='del'>-</div><div class='del'>-Mon Feb  2 14:09:24 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (set_arg0): grab environment region too.</div><div class='del'>-</div><div class='del'>-Thu Jan 29 18:36:25 1998  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* process.c (rb_proc_exec): check `sh' to be exist.</div><div class='del'>-</div><div class='del'>-Thu Jan 29 18:18:19 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_stdio_set): assignment to $stdin or $stdout does</div><div class='del'>-	  reopen() as well as $stderr.</div><div class='del'>-</div><div class='del'>-Thu Jan 29 14:18:40 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (mod_ancestors): should not include singleton classes.</div><div class='del'>-</div><div class='del'>-	* object.c (obj_type): should not return internal class.</div><div class='del'>-</div><div class='del'>-	* io.c (io_reopen): unwillingly closes stdio streams.</div><div class='del'>-</div><div class='del'>-Thu Jan 29 11:50:35 1998  Toshihiko SHIMOKAWA  &lt;toshi@csce.kyushu-u.ac.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (udp_addrsetup): forgot to use htons().</div><div class='del'>-</div><div class='del'>-Tue Jan 27 23:15:24 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* keywords: __FILE__, __LINE__ are available again.</div><div class='del'>-</div><div class='del'>-Fri Jan 23 14:19:28 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.1b6 released.</div><div class='del'>-</div><div class='del'>-	* object.c (mod_to_s): need to duplicate classpath.</div><div class='del'>-</div><div class='del'>-	* error.c (exc_inspect): need to duplicate classpath.</div><div class='del'>-</div><div class='del'>-Thu Jan 22 00:37:47 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.h (STR2CSTR): new macro to retrieve char*.</div><div class='del'>-</div><div class='del'>-	* class.c (rb_define_method): `initialize' should always be</div><div class='del'>-	  private, even if it defined by C extensions.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): `initialize' should always be private.</div><div class='del'>-</div><div class='del'>-Thu Jan 22 16:21:08 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): some singleton class def cause SEGV.</div><div class='del'>-</div><div class='del'>-	* eval.c (TMP_ALLOC): replace ALLOCA_N, where thread context</div><div class='del'>- 	  switch may happen.</div><div class='del'>-</div><div class='del'>-Wed Jan 21 01:43:42 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (PUSH_FRAME): do not use ALLOCA_N().  crash on some</div><div class='del'>-	  platforms that use missing/alloca.c.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): too many pops for non register</div><div class='del'>-	  subexpr.</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): open parentheses after identifiers are argument </div><div class='del'>-	  list, even if whitespaces have seen.</div><div class='del'>-</div><div class='del'>-Tue Jan 20 15:19:59 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (terms): quoted word list by %w(a b c).</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/extconf.rb: more accurate check for tcl/tk libs.</div><div class='del'>-</div><div class='del'>-	* file.c (rb_stat): most of the FileTest methods (and function</div><div class='del'>- 	  `test') accept File objects as the argument.</div><div class='del'>-</div><div class='del'>-Tue Jan 19 18:19:24 1998  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb.in (install): there should be no newline after install:</div><div class='del'>-</div><div class='del'>-	* re.c (MIN): renamed from min().  there's a local variable named</div><div class='del'>- 	  min in the file, so that some cpp will raise an error.</div><div class='del'>-</div><div class='del'>-Mon Jan 19 16:30:05 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.1b5 released.</div><div class='del'>-</div><div class='del'>-	* process.c (rb_syswait): no exception raised.</div><div class='del'>-</div><div class='del'>-Fri Jan 16 00:43:43 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.h (CLONESETUP): copies its singleton classes too.</div><div class='del'>-</div><div class='del'>-	* class.c (singleton_class_attached): saves binded object in the</div><div class='del'>-	  singleton classes.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): calls singleton_method_added even in the</div><div class='del'>-	  singleton class clauses.</div><div class='del'>-</div><div class='del'>-Fri Jan 15 23:22:43 1998  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (proc_options): -S does not recognize PATH.</div><div class='del'>-</div><div class='del'>-Thu Jan 15 02:03:12 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_clear_cache_by_id): clear only affected cache</div><div class='del'>-	  entries.</div><div class='del'>-</div><div class='del'>-Wed Jan 14 02:14:48 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: new UDP/IP socket classes.</div><div class='del'>-</div><div class='del'>-Tue Jan 13 10:00:18 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_cmp): ignorecase($=) works wrong.</div><div class='del'>-</div><div class='del'>-Fri Jan  9 13:19:55 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.1b4 released.</div><div class='del'>-</div><div class='del'>-	* eval.c (f_missing): class name omitted from the error message.</div><div class='del'>-</div><div class='del'>-	* error.c (exc_inspect): description changed.</div><div class='del'>-</div><div class='del'>-	* string.c (Init_String): GlobalExit's superclass did not filled,</div><div class='del'>-	  since GlobalExit created earlier than String.</div><div class='del'>-</div><div class='del'>-Thu Jan  8 12:10:09 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (aryset): expr in the brackets can be null.</div><div class='del'>-</div><div class='del'>-Wed Jan  7 21:13:56 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_reopen): keep stderr unclosed.</div><div class='del'>-</div><div class='del'>-	* io.c (io_errset): keep stderr unclosed.</div><div class='del'>-</div><div class='del'>-Tue Jan  6 00:27:43 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y: syntax modified for `while expr do .. end' etc.</div><div class='del'>-</div><div class='del'>-	* process.c (f_exec,f_system): can supply arbitrary name for the</div><div class='del'>- 	  new process.</div><div class='del'>-</div><div class='del'>-Mon Jan  5 16:59:13 1998  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (file_s_basename): removes any extention by ".*".</div><div class='del'>-</div><div class='del'>-Sun Jan  4 19:36:22 1998  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): needed to update lex_p (reading point).</div><div class='del'>-</div><div class='del'>-Sat Jan  3 19:14:14 1998  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* class.c,object.c: duplicate defines mKernel and cFinxnum.</div><div class='del'>-</div><div class='del'>-Fri Jan  2 20:38:59 1998  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c (NUM2CHAR): uses the first character for</div><div class='del'>- 	  string arguments.</div><div class='del'>-</div><div class='del'>-	* array.c (ary_fill): did not extend array for ranges.</div><div class='del'>-</div><div class='del'>-	* array.c (beg_len): did not return end pos bigger than size.</div><div class='del'>-</div><div class='del'>-Fri Jan  2 02:09:16 1998  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* dir.c (dir_s_chdir): bug in nil check.</div><div class='del'>-</div><div class='del'>-	* array.c (ary_fill): bug in nil check.</div><div class='del'>-</div><div class='del'>-Tue Dec 30 11:46:23 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* hash.c (env_path_tainted): checks directories in PATH</div><div class='del'>-	  environment variable are not world writable.</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file): invoke specified interpreter if the #! line</div><div class='del'>- 	  does not contain the word `ruby'.</div><div class='del'>-</div><div class='del'>-Fri Dec 26 03:26:41 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (uscore_get): type information included in the error</div><div class='del'>- 	  message.</div><div class='del'>-</div><div class='del'>-	* variable.c (f_untrace_var): does not free trace-data within</div><div class='del'>- 	  trace procedure.</div><div class='del'>-</div><div class='del'>-Thu Dec 25 02:50:29 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.1b3 released.</div><div class='del'>-</div><div class='del'>-	* ruby.h: inlining some functions on gcc 2.x</div><div class='del'>-</div><div class='del'>-Tue Dec 23 02:47:33 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): public/private information kept in the current </div><div class='del'>-	  scope, to remove undesired state from the class/module.</div><div class='del'>-</div><div class='del'>-	* time.c (time_strftime): remove hidden limit of 100 bytes of</div><div class='del'>-	  result string, using malloc'ed buffer. </div><div class='del'>-</div><div class='del'>-	* hash.c (hash_update): merges the contents of another hash,</div><div class='del'>-	  overriding existing keys.</div><div class='del'>-</div><div class='del'>-	* regex.c (must_instr): totally re-written.</div><div class='del'>-</div><div class='del'>-	* io.c (read_all): try to allocate proper sized buffer using</div><div class='del'>-	  fstat(2) for speedup.</div><div class='del'>-</div><div class='del'>-Sat Dec 20 00:27:28 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (must_instr): need to skip 2 bytes for mbchars.</div><div class='del'>-</div><div class='del'>-Fri Dec 19 01:18:29 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.1b2 released.</div><div class='del'>-</div><div class='del'>-	* eval.c (check_errat): check and convert (if necessary) traceback </div><div class='del'>-	  information before assigning to the variable $@.</div><div class='del'>-</div><div class='del'>-	* eval.c (f_raise): optional third argument to specify traceback</div><div class='del'>-	  information.</div><div class='del'>-</div><div class='del'>-	* io.c (f_open): prevent infinite recursive call.</div><div class='del'>-</div><div class='del'>-Thu Dec 18 19:33:47 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_rindex): now accepts regexp as index.</div><div class='del'>-</div><div class='del'>-Thu Dec 18 18:42:50 1997  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/extconf.rb: modified to detect win32 socket lib.</div><div class='del'>-</div><div class='del'>-Thu Dec 18 00:25:03 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* re.c (reg_equal): checks for source and casefold and kcode matching.</div><div class='del'>-</div><div class='del'>-	* marshal.c: became built-in module.</div><div class='del'>-</div><div class='del'>-	* ext/marshal/marshal.c (r_object): displays struct name for</div><div class='del'>-	  non-compatible struct.</div><div class='del'>-</div><div class='del'>-	* string.c (str_index_method): now searches character (fixnum) in</div><div class='del'>-	  the string.</div><div class='del'>-</div><div class='del'>-	* string.c (str_include): redefine `include?'.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_match): start_nowidth saves current stack position</div><div class='del'>-	  to stop_nowidth.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): add space to stop_nowidth to save</div><div class='del'>-	  runtime stack position.</div><div class='del'>-</div><div class='del'>-Tue Dec 16 14:57:43 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (scan_once): wrong exception for regexp that match with </div><div class='del'>-	  null string (use substr instead of subseq).</div><div class='del'>-</div><div class='del'>-Sat Dec 13 00:13:32 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (expr): remove bare assocs from expr rule.</div><div class='del'>-</div><div class='del'>-	* rbconfig.rb: renamed from config.rb (it was too generic name).</div><div class='del'>-</div><div class='del'>-Fri Dec 12 00:50:25 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (expr): warns if BEGIN or END appear in the method</div><div class='del'>- 	  bodies.</div><div class='del'>-</div><div class='del'>-	* string.c (str_match): calls y =~ x if y is neither String nor</div><div class='del'>-	  Regexp so that eregex.rb works.  </div><div class='del'>-</div><div class='del'>-	* eval.c (f_at_exit): to register end proc.</div><div class='del'>-</div><div class='del'>-	* class.c (rb_define_module_function): define 'function' method</div><div class='del'>-	  for the Module, not private method.</div><div class='del'>-</div><div class='del'>-	* class.c (rb_define_function): function to define `function' method.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): inherit visibility from superclass's method</div><div class='del'>-	  except when it is set to `function'</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): new visibility status `function'.</div><div class='del'>-</div><div class='del'>-	* parse.y (yycompile): do not clear eval_tree. thus enable multipe </div><div class='del'>-	  command line script by optn `-e'.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): END execute just once.</div><div class='del'>-</div><div class='del'>-	* parse.y (expr): BEGIN/END built in the syntax.</div><div class='del'>-</div><div class='del'>-Thu Dec 11 13:14:35 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (mod_le): Module (or Class) comparison.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_remove_method): raises NameError if named method does </div><div class='del'>-	  not exist.</div><div class='del'>-</div><div class='del'>-	* ext/curses/curses.c: remove CHECK macro for BSD curses.</div><div class='del'>-	</div><div class='del'>-Thu Dec 11 12:44:01 1997  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c: sun4 cc patch</div><div class='del'>-</div><div class='del'>-Wed Dec 10 15:21:36 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/marshal/marshal.c (marshal_load): can supply evolution proc</div><div class='del'>-	  object as optional second argument.</div><div class='del'>-</div><div class='del'>-	* re.c (reg_source): get source string of the regular expression.</div><div class='del'>-</div><div class='del'>-Tue Dec  9 10:05:17 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.1b1 released.</div><div class='del'>-</div><div class='del'>-	* parse.y (tokadd): token buffer overrun.</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_prog_init): forgot to protect rb_argv0 from gc.</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_run): call finalizers at process termination.</div><div class='del'>-</div><div class='del'>-	* gc.c (gc_call_finalizer_at_exit): call free proc for every Data</div><div class='del'>- 	  Wrapper, and finalizer for specified objects at termination.</div><div class='del'>-</div><div class='del'>-	* version.c (show_version): version format changed.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_match): wrong match with non-greedy if they appear</div><div class='del'>-	  more than once in regular expressions.</div><div class='del'>-</div><div class='del'>-	* sample/ruby-mode.el (ruby-expr-beg): forgot to handle modifiers.</div><div class='del'>-</div><div class='del'>-Mon Dec  8 19:00:15 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_puts): just put a newline if no argument given.</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c (lib_mainloop): thread-aware tk handle</div><div class='del'>- 	  when $tk_thread_safe is set.</div><div class='del'>-</div><div class='del'>-	* ext/tcltklib/tcltklib.c (lib_mainloop): use Tcl_DoOneEvent()</div><div class='del'>-	  instead of Tk_MainLoop().</div><div class='del'>-</div><div class='del'>-Mon Dec  6 07:11:16 1997  MAEDA shugo  &lt;shugo@po.aianet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_puts): core dumped without any argument.</div><div class='del'>-</div><div class='del'>-Fri Dec  5 18:17:17 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (mod_remove_method): remove (not undef) a method from the </div><div class='del'>-	  class/module.</div><div class='del'>-</div><div class='del'>-	* variable.c (obj_remove_instance_variable): method to remove</div><div class='del'>-	  instance variables.</div><div class='del'>-</div><div class='del'>-Thu Dec  4 13:50:29 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.1b0 released.</div><div class='del'>-</div><div class='del'>-	* string.c (str_aref): called str_index for regexp.</div><div class='del'>-</div><div class='del'>-Mon Dec  1 15:24:41 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* compar.c (cmp_between): wrong comparison made.</div><div class='del'>-</div><div class='del'>-Wed Nov 26 18:18:05 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* lib/mkmf.rb: generate Makefile for extention modules out of ruby </div><div class='del'>-	  source tree. use like `ruby -r mkmf extconf.rb'.</div><div class='del'>-</div><div class='del'>-	* numeric.c (fix2str): enlarge buffer to prevent overflow on some</div><div class='del'>-	  machines.</div><div class='del'>-</div><div class='del'>-	* parse.y (here_document): wrong line number generated after here-doc.</div><div class='del'>-</div><div class='del'>-Fri Nov 21 13:17:12 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): skip multibyte characters in comments.</div><div class='del'>-</div><div class='del'>-Wed Nov 19 17:19:20 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (nil_to_a): nil.to_a =&gt; [].</div><div class='del'>-</div><div class='del'>-	* parse.y (call_args): wrong node generation.</div><div class='del'>-</div><div class='del'>-Tue Nov 18 10:13:08 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* array.c (Init_Array): Array#=== works as Array#include?</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): insert initialize code for jump_n, </div><div class='del'>-	  before entering loops.</div><div class='del'>-</div><div class='del'>-	* re.c (reg_search): does not save registers unless $&amp; etc appear</div><div class='del'>-	  in the script.</div><div class='del'>-</div><div class='del'>-Mon Nov 17 13:01:43 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (is_defined): add defined? check for receivers and</div><div class='del'>- 	  arguments for calls.</div><div class='del'>-</div><div class='del'>-	* re.c (reg_search): cache last match object.</div><div class='del'>-</div><div class='del'>-	* re.c (match_aref): $[0] etc. are available.</div><div class='del'>-</div><div class='del'>-Sat Nov 15 00:11:36 1997  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_s_popen): "rb" detection</div><div class='del'>-</div><div class='del'>-Fri Nov 14 18:28:40 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (scan_once): returns whole match if the pattern does</div><div class='del'>-	  not contain any parentheses.</div><div class='del'>-</div><div class='del'>-Thu Nov 13 14:39:06 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_sub): returns copy of the receiver string, even if </div><div class='del'>-	  any substitution occurred.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): no-width match by (?=..), (?!..).</div><div class='del'>-</div><div class='del'>-Wed Nov 12 13:44:47 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* time.c: remove coerce from Time class.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_match): non-greedy match by ??, *? +?, {n,m}?.</div><div class='del'>-</div><div class='del'>-Mon Nov 10 11:24:51 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): non-resitering parens (?:..).</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): new meta character \&lt; (wordbeg)</div><div class='del'>-	  and \&gt; (wordend).</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): embedded comment for regular</div><div class='del'>-	  expression by (?#...).</div><div class='del'>-</div><div class='del'>-Fri Nov  7 16:58:24 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): perl5 regxp \A and \Z available.</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): can expand compile stack dynamically.</div><div class='del'>-</div><div class='del'>-	* regex.c (PUSH_FAILURE_POINT): wrong compare condition.</div><div class='del'>-</div><div class='del'>-Wed Nov  2 16:00:00 1997  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_sub_s): "".sub! "", "" =&gt; "\000"</div><div class='del'>-</div><div class='del'>-Fri Oct 31 15:52:10 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (assoc): keyword assoc like {fg-&gt;"black"}.</div><div class='del'>-</div><div class='del'>-Thu Oct 30 17:33:38 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_println): print with newline, which is not affected by</div><div class='del'>-	  the values of $/ and $\.</div><div class='del'>-</div><div class='del'>-Thu Oct 30 16:54:01 1997  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (str_chop_bang): "".chop caused SEGV.</div><div class='del'>-</div><div class='del'>-	* string.c (str_chomp_bang): method to chop out last newline.</div><div class='del'>-</div><div class='del'>-Mon Oct 27 13:49:13 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/extmk.rb.in: library may have pathname contains `.'</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_rescue): should not protect SystemError.</div><div class='del'>-</div><div class='del'>-Fri Oct 24 10:58:53 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_s_with_open_stream): ensures to close stream.</div><div class='del'>-</div><div class='del'>-Thu Oct 23 11:17:44 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_errset): value of $stderr can be changed (to any IO</div><div class='del'>- 	  object).</div><div class='del'>-</div><div class='del'>-	* io.c (next_argv): $&lt; can be anything that responds to `write'.</div><div class='del'>-</div><div class='del'>-	* file.c (file_s_with_open_file): ensures to close file.</div><div class='del'>-</div><div class='del'>-	* error.c (exception): create error under the current class/module.</div><div class='del'>-</div><div class='del'>-	* range.c (range_eqq): fixnum check for last needed too.</div><div class='del'>-</div><div class='del'>-Wed Oct 22 12:52:30 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c: Socket::Constants added.</div><div class='del'>-</div><div class='del'>-	* file.c: File::Constants added for inclusion.</div><div class='del'>-</div><div class='del'>-	* array.c (ary_join): call ary_join() recursively for the 1st</div><div class='del'>- 	  array element.</div><div class='del'>-</div><div class='del'>-Mon Oct 20 12:18:29 1997  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (load_file): wrong condition for #! check with -x.</div><div class='del'>-</div><div class='del'>-	* file.c (file_s_dirname): did return "" for "/a".</div><div class='del'>-</div><div class='del'>-Fri Oct 17 14:29:09 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c: now works on alpha-linux.</div><div class='del'>-</div><div class='del'>-	* bignum.c (bigadd): some undefined side effect order assumed.</div><div class='del'>-</div><div class='del'>-Wed Oct 15 17:49:24 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* intern.h: function prototypes added.</div><div class='del'>-</div><div class='del'>-Mon Oct 13 16:54:18 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (rb_define_class_id): call superclass's `inherited'</div><div class='del'>- 	  method when making subclasses.</div><div class='del'>-</div><div class='del'>-	* parse.y (nextc): clear lex_lastline at the end of file.</div><div class='del'>-</div><div class='del'>-	* object.c (Init_Object): need to undef Class#append_features.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): no warning on extending classes or modules.</div><div class='del'>-</div><div class='del'>-Thu Oct  9 11:17:50 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (error_print): the exception name follows after the error </div><div class='del'>-	  message.</div><div class='del'>-</div><div class='del'>-	* eval.c (compile_error): error message slightly changed.</div><div class='del'>-</div><div class='del'>-	* parse.y (nextc): script parsing will be terminated by __END__ at</div><div class='del'>- 	  beginning of line.</div><div class='del'>-</div><div class='del'>-	* eval.c (compile_error): `__END__' is no longer a keyword.</div><div class='del'>-</div><div class='del'>-	* parse.y (nextc): protect lastline read from script stream.</div><div class='del'>-</div><div class='del'>-Tue Oct  7 14:06:06 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.1 alpha9 released.</div><div class='del'>-</div><div class='del'>-	* eval.c (mod_append_features): renamed from extend_class.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): defining method calls `method_added'.</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_options): exception while processing options must</div><div class='del'>-	  terminate the interpreter.</div><div class='del'>-</div><div class='del'>-	* error.c (Init_Exception): wrong method configuration.  `new'</div><div class='del'>-	  should have been a singleton method.</div><div class='del'>-</div><div class='del'>-Mon Oct  6 18:55:38 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/kconv/kconv.c (kconv_guess): code to guess character code</div><div class='del'>-	  from string.</div><div class='del'>-</div><div class='del'>-Mon Oct  6 18:38:17 1997  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* pack.c: now encode/decode base64 by `m' template.</div><div class='del'>-</div><div class='del'>-Fri Oct  3 10:51:10 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* MANIFEST: needed to include lex.c in the distribution.</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_options): f_require() called too early.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_provide): module extentions should always be `.o'.</div><div class='del'>-</div><div class='del'>-Thu Oct  2 11:38:31 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.1 alpha8 released.</div><div class='del'>-</div><div class='del'>-	* ext/marshal/marshal.c (r_object): remove temporal regist for</div><div class='del'>- 	  structs. (caused problem if structs form cycles.)</div><div class='del'>-</div><div class='del'>-	* parse.y (match_gen): static binding for match(=~) calls</div><div class='del'>-	  with regexp literals.</div><div class='del'>-</div><div class='del'>-Wed Oct  1 15:26:55 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c: protect retval in struct tag from GC for C_ALLOCA.</div><div class='del'>-</div><div class='del'>-	* eval.c: no more pointer value from setjmp/longjmp.</div><div class='del'>-</div><div class='del'>-Wed Oct  1 14:01:49 1997  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/marshal/marshal.c (w_byte): argument must be char.</div><div class='del'>-</div><div class='del'>-Wed Oct  1 10:30:22 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (mod_const_at): global constants now belongs to the</div><div class='del'>-	  class Object.</div><div class='del'>-</div><div class='del'>-	* object.c (Init_Object): new global constant NIL.</div><div class='del'>-</div><div class='del'>-	* ext/marshal/marshal.c (marshal_dump): try to set binmode.</div><div class='del'>-</div><div class='del'>-	* ext/marshal/marshal.c (r_object): forgot to re-regist structs in </div><div class='del'>-	  the object table.</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_options): call Init_ext() before any require()</div><div class='del'>- 	  calls by `-r'.</div><div class='del'>-</div><div class='del'>-Fri Sep 30 14:29:22 1997  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/marshal/marshal.c (w_object): marshal dumped core.</div><div class='del'>-</div><div class='del'>-Tue Sep 30 10:27:39 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* sample/test.rb: bignum test suits added.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): new pseudo variable `true' and `false'.</div><div class='del'>-</div><div class='del'>-	* parse.y: new keywords `true' and `false' added.</div><div class='del'>-</div><div class='del'>-Mon Sep 29 13:37:58 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (forbid_setid): forbid some options in suid mode.</div><div class='del'>-</div><div class='del'>-	* ruby.h (NUM2DBL): new macro to convert into doubles.</div><div class='del'>-</div><div class='del'>-Mon Sep 27 09:53:48 1997  EGUCHI Osamu  &lt;eguchi@shizuokanet.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* bignum.c: modified for speeding.</div><div class='del'>-</div><div class='del'>-Fri Sep 26 18:27:59 1997  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* sample/from.rb: some extensions.</div><div class='del'>-</div><div class='del'>-Mon Sep 29 13:15:56 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (lhs): no more syntax error on `obj.CONSTANT = value'.</div><div class='del'>-</div><div class='del'>-Fri Sep 26 14:41:46 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (ruby_run): deferred calling Init_ext() just before eval_node.</div><div class='del'>-</div><div class='del'>-Fri Sep 26 13:27:24 1997  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_isatty): forgot to return TRUE value.</div><div class='del'>-</div><div class='del'>-Fri Sep 25 11:10:58 1997  EGUCHI Osamu  &lt;eguchi@shizuokanet.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c: use _setjmp/_longjmp instead of setjmp/longjmp on some</div><div class='del'>-	  platforms.</div><div class='del'>-</div><div class='del'>-Wed Sep 24 17:43:13 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* string.c (Init_String): String#taint and String#taint? added.</div><div class='del'>-</div><div class='del'>-	* class.c (mod_ancestors): ancestors include the class itself.</div><div class='del'>-</div><div class='del'>-Wed Sep 24 00:57:00 1997  Katsuyuki Okabe  &lt;HGC02147@niftyserve.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* X68000 patch.</div><div class='del'>-</div><div class='del'>-Tue Sep 23 20:42:30 1997  EGUCHI Osamu  &lt;eguchi@shizuokanet.or.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (node_newnode): SEGV on null node setup.</div><div class='del'>-</div><div class='del'>-Mon Sep 22 11:22:46 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_prog_init): wrong safe condition check.</div><div class='del'>-</div><div class='del'>-Sun Sep 21 14:46:02 1997  MAEDA shugo  &lt;shugo@po.aianet.ne.jp&gt;</div><div class='del'>-</div><div class='del'>-	* error.c (exc_inspect): garbage added to classpath.</div><div class='del'>-</div><div class='del'>-Fri Sep 19 11:49:23 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (newtok): forgot to adjust buffer size when shrinking</div><div class='del'>-	  the token buffer.</div><div class='del'>-</div><div class='del'>-	* enum.c (enum_find): rb_eval_cmd() does not return value.</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_open): close fds on pipe exec. fcntl(fd, F_SETFD, 1)</div><div class='del'>-	  no longer used.</div><div class='del'>-</div><div class='del'>-Tue Sep 16 17:54:25 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* file.c (f_test): problem if wrong command specified.</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_prog_init): close stdaux and stdprn for MSDOS.</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_prog_init): should not add path from environment</div><div class='del'>-	  variable, if ruby is running under seuid.</div><div class='del'>-</div><div class='del'>-	* process.c (init_ids): check suid check for setuid/seteuid etc.</div><div class='del'>-</div><div class='del'>-Mon Sep 15 00:42:04 1997  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* regex.c (re_compile_pattern): \w{3} and \W{3} did not work.</div><div class='del'>-</div><div class='del'>-Thu Sep 11 10:31:48 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.1 alpha7 released.</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (sock_new): no setbuf() for NT.</div><div class='del'>-</div><div class='del'>-	* io.c (rb_fopen,rb_fdopen): set close-on-exec for every fd.</div><div class='del'>-</div><div class='del'>-Wed Sep 10 15:55:31 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/marshal/marshal.c (r_bytes0): extra big length check.</div><div class='del'>-</div><div class='del'>-Tue Sep  9 16:27:14 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (pipe_fptr_atexit): clean up popen()'ed fptr.</div><div class='del'>-</div><div class='del'>-	* error.c (set_syserr): some system has error code that is bigger</div><div class='del'>-	  than sys_nerr. grrr.</div><div class='del'>-</div><div class='del'>-Mon Sep  8 18:33:33 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* io.c (io_s_new): dereferenced nil for optional mode.</div><div class='del'>-</div><div class='del'>-Fri Sep  5 10:26:03 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (class_instance_methods): do not include methods which</div><div class='del'>-	  are changed to private in subclasses.</div><div class='del'>-</div><div class='del'>-Thu Sep  4 12:38:53 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* variable.c (f_global_variables): list name of the global</div><div class='del'>-	  variables.</div><div class='del'>-</div><div class='del'>-	* object.c (obj_id): returns unique integer.</div><div class='del'>-</div><div class='del'>-Wed Sep  3 14:05:16 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.1 alpha6 released.</div><div class='del'>-</div><div class='del'>-	* eval.c (mod_s_constants): context sensitive constant list.</div><div class='del'>-</div><div class='del'>-	* variable.c (mod_constants): no more `all' option.</div><div class='del'>-</div><div class='del'>-	* variable.c (mod_const_of): the values for autoload classes are</div><div class='del'>-	  their name strings.</div><div class='del'>-</div><div class='del'>-	* class.c (class_instance_methods): no special treatment for</div><div class='del'>-	  singleton classes.</div><div class='del'>-</div><div class='del'>-	* object.c (obj_singleton_methods): returns list of singleton</div><div class='del'>-	  method names.</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): no here document after `class' keyword.</div><div class='del'>-</div><div class='del'>-	* eval.c (f_load): expand path if fname begins with `~'.</div><div class='del'>-</div><div class='del'>-Tue Sep  2 13:19:48 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (ins_methods_i): do not list undef'ed methods.</div><div class='del'>-</div><div class='del'>-Mon Sep  1 13:42:48 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.1 alpha5 released.</div><div class='del'>-</div><div class='del'>-	* object.c (mod_attr_reader): create methods to define attribute</div><div class='del'>- 	  reader/write/accessor.</div><div class='del'>-</div><div class='del'>-	* class.c (rb_define_attr): always defines accessors.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call): alias occured in the module body caused SEGV.</div><div class='del'>-</div><div class='del'>-	* parse.y: did not generate here document strings properly.</div><div class='del'>-</div><div class='del'>-Mon Sep  1 11:43:57 1997  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-	</div><div class='del'>-	* parse.y (yylex): heredoc dropped an extra character.</div><div class='del'>-</div><div class='del'>-Fri Aug 29 11:10:21 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* class.c (class_instance_methods): same method names should not</div><div class='del'>- 	  appear more than twice.</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): spaces can follow =begin/=end.</div><div class='del'>-</div><div class='del'>-	* variable.c (find_class_path): look for class_tbl also for</div><div class='del'>-	  unnamed fundamental classes, such as Object, String, etc.</div><div class='del'>-</div><div class='del'>-	* variable.c (rb_name_class): can't name class before String class</div><div class='del'>- 	  is initilialized.</div><div class='del'>-</div><div class='del'>-	* inits.c (rb_call_inits): unrecognized dependency from GC to</div><div class='del'>-	  Array.</div><div class='del'>-</div><div class='del'>-	* variable.c (find_class_path): could not find class if Object's</div><div class='del'>- 	  iv_tbl is NULL.</div><div class='del'>-</div><div class='del'>-Thu Aug 28 13:12:05 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.1 alpha4 released.</div><div class='del'>-</div><div class='del'>-	* variable.c (mod_constants): wrong condition for singleton</div><div class='del'>-	  class. </div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): revised `=begin' skip code.</div><div class='del'>-</div><div class='del'>-	* parse.y (here_document): forgot to free(eos).</div><div class='del'>-</div><div class='del'>-	* parse.y (yylex): spaces after `&lt;&lt;' prohibited for here</div><div class='del'>- 	  documents to avoid confusing with operator `&lt;&lt;'.</div><div class='del'>-</div><div class='del'>-	* eval.c (is_defined): separated from rb_eval().</div><div class='del'>-</div><div class='del'>-Wed Aug 27 11:32:42 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.1 alpha3 released.</div><div class='del'>-</div><div class='del'>-	* variable.c (mod_name): returns name of the class/module.</div><div class='del'>-</div><div class='del'>-	* parse.y (here_document): finally here document available now.</div><div class='del'>-</div><div class='del'>-	* variable.c (fc_i): some classes/modules does not have iv_tbl.</div><div class='del'>-</div><div class='del'>-	* variable.c (find_class_path): avoid inifinite loop.</div><div class='del'>-</div><div class='del'>-Tue Aug 26 13:43:47 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): undef'ing non-existing method will raise</div><div class='del'>-	  NameError exception.</div><div class='del'>-</div><div class='del'>-	* object.c (class_s_new): needed to create metaclass too.</div><div class='del'>-</div><div class='del'>-	* eval.c (error_print): no class name print for anonymous class.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_longjmp): proper exception raised if raise() called</div><div class='del'>- 	  without arguments, with $! or $@ set.</div><div class='del'>-</div><div class='del'>-	* object.c (Init_Object): superclass()'s method argument setting</div><div class='del'>- 	  was wrong again.</div><div class='del'>-</div><div class='del'>-	* class.c (mod_anscestors): list superclasses and included modules </div><div class='del'>-	  in priority order.</div><div class='del'>-</div><div class='del'>-Mon Aug 25 11:53:11 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.1 alpha2 released.</div><div class='del'>-</div><div class='del'>-	* sample/ruby-mode.el (ruby-parse-region): auto-indent now</div><div class='del'>- 	  supports "\\" in the strings.</div><div class='del'>-</div><div class='del'>-	* struct.c (struct_getmember): new API to get member value from C</div><div class='del'>-	  language side.</div><div class='del'>-</div><div class='del'>-Sat Aug 23 21:39:05 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (asignable): remove unnecessary local variable</div><div class='del'>-	  initialize by nil.</div><div class='del'>-</div><div class='del'>-Fri Aug 22 14:26:40 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (error_print): modified exception print format.</div><div class='del'>-</div><div class='del'>-Thu Aug 21 16:10:58 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* sample/ruby-mode.el (ruby-calculate-indent): wrong indent level</div><div class='del'>-	  calculated with keyword operators.</div><div class='del'>-</div><div class='del'>-Thu Aug 21 11:36:58 1997  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* parse.y (arg): ary[0] += 1 cause SEGV</div><div class='del'>-</div><div class='del'>-Wed Aug 20 17:28:50 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ruby.c (ruby_process_options): require() all modules after</div><div class='del'>- 	  processing all options</div><div class='del'>-</div><div class='del'>-	* process.c (rb_proc_exec): more security checks added.</div><div class='del'>-</div><div class='del'>-	* process.c (rb_proc_exec): insecure path on exec.</div><div class='del'>-</div><div class='del'>-	* hash.c (f_getenv): PATH modification security check.</div><div class='del'>-</div><div class='del'>-Tue Aug 19 00:15:38 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.1 alpha1 released.</div><div class='del'>-</div><div class='del'>-	* eval.c (mod_eval): work as normal eval() if second binding</div><div class='del'>- 	  argument given.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_call): did not raise ArgumentError if too many</div><div class='del'>- 	  arguments more than optional arguments (without rest arg).</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): did not work well for op_asgn2 (attribute</div><div class='del'>-	  self assignment).</div><div class='del'>-</div><div class='del'>-	* eval.c (Init_Thread): returns main thread.</div><div class='del'>-</div><div class='del'>-Mon Aug 18 09:25:56 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* object.c (inspect_i): did not display T_DATA instance variables.</div><div class='del'>-</div><div class='del'>-	* parse.y: provides more accurate line number information.</div><div class='del'>-</div><div class='del'>-	* eval.c (thread_value): include value's backtrace information in</div><div class='del'>-	  the variable `$@'. </div><div class='del'>-</div><div class='del'>-	* eval.c (f_abort): print backtrace and exit.</div><div class='del'>-</div><div class='del'>-Sat Aug 16 00:17:44 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (class_new_instance): do not make instance from virtual</div><div class='del'>-	  classes. </div><div class='del'>-</div><div class='del'>-	* object.c (class_s_new): do not make subclass of singleton class.</div><div class='del'>-</div><div class='del'>-Fri Aug 15 15:49:46 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* eval.c (call_trace_func): block context switch in the trace</div><div class='del'>-          function.</div><div class='del'>-</div><div class='del'>-	* eval.c (rb_eval): clear method cache at class extention.</div><div class='del'>-</div><div class='del'>-	* object.c (obj_type): returns object's class even if it defines</div><div class='del'>-	  singleton methods.</div><div class='del'>-</div><div class='del'>-Fri Aug 15 19:40:43 1997  WATANABE Hirofumi  &lt;watanabe@ase.ptg.sony.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* ext/socket/socket.c (Init_socket): small typo caused SEGV.</div><div class='del'>-</div><div class='del'>-Wed Aug 13 17:51:46 1997  Yukihiro Matsumoto  &lt;matz@netlab.co.jp&gt;</div><div class='del'>-</div><div class='del'>-	* version 1.1 alpha0 released.</div><div class='del'>-</div><div class='head'>diff --git a/GPL b/GPL<br/>new file mode 100644<br/>index 0000000000..d159169d10<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/GPL?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>GPL</a></div><div class='hunk'>@@ -0,0 +1,339 @@</div><div class='add'>+                    GNU GENERAL PUBLIC LICENSE</div><div class='add'>+                       Version 2, June 1991</div><div class='add'>+</div><div class='add'>+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,</div><div class='add'>+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 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'>+                            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'>+License is intended to guarantee your freedom to share and change free</div><div class='add'>+software--to make sure the software is free for all its users.  This</div><div class='add'>+General Public License applies to most of the Free Software</div><div class='add'>+Foundation's software and to any other program whose authors commit to</div><div class='add'>+using it.  (Some other Free Software Foundation software is covered by</div><div class='add'>+the GNU Lesser General Public License instead.)  You can apply it to</div><div class='add'>+your programs, too.</div><div class='add'>+</div><div class='add'>+  When we speak of free software, we are referring to freedom, not</div><div class='add'>+price.  Our General Public Licenses are designed to make sure that you</div><div class='add'>+have the freedom to distribute copies of free software (and charge for</div><div class='add'>+this service if you wish), that you receive source code or can get it</div><div class='add'>+if you want it, that you can change the software or use pieces of it</div><div class='add'>+in new free programs; and that you know you can do 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'>+anyone to deny you these rights or to ask you to surrender the rights.</div><div class='add'>+These restrictions translate to certain responsibilities for you if you</div><div class='add'>+distribute copies of the software, or if you modify it.</div><div class='add'>+</div><div class='add'>+  For example, if you distribute copies of such a program, whether</div><div class='add'>+gratis or for a fee, you must give the recipients all the rights that</div><div class='add'>+you have.  You must make sure that they, too, receive or can get the</div><div class='add'>+source code.  And you must show them these terms so they know their</div><div class='add'>+rights.</div><div class='add'>+</div><div class='add'>+  We protect your rights with two steps: (1) copyright the software, and</div><div class='add'>+(2) offer you this license which gives you legal permission to copy,</div><div class='add'>+distribute and/or modify the software.</div><div class='add'>+</div><div class='add'>+  Also, for each author's protection and ours, we want to make certain</div><div class='add'>+that everyone understands that there is no warranty for this free</div><div class='add'>+software.  If the software is modified by someone else and passed on, we</div><div class='add'>+want its recipients to know that what they have is not the original, so</div><div class='add'>+that any problems introduced by others will not reflect on the original</div><div class='add'>+authors' reputations.</div><div class='add'>+</div><div class='add'>+  Finally, any free program is threatened constantly by software</div><div class='add'>+patents.  We wish to avoid the danger that redistributors of a free</div><div class='add'>+program will individually obtain patent licenses, in effect making the</div><div class='add'>+program proprietary.  To prevent this, we have made it clear that any</div><div class='add'>+patent must be licensed for everyone's free use or not licensed at all.</div><div class='add'>+</div><div class='add'>+  The precise terms and conditions for copying, distribution and</div><div class='add'>+modification follow.</div><div class='add'>+</div><div class='add'>+                    GNU 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 applies to any program or other work which contains</div><div class='add'>+a notice placed by the copyright holder saying it may be distributed</div><div class='add'>+under the terms of this General Public License.  The "Program", below,</div><div class='add'>+refers to any such program or work, and a "work based on the Program"</div><div class='add'>+means either the Program or any derivative work under copyright law:</div><div class='add'>+that is to say, a work containing the Program or a portion of it,</div><div class='add'>+either verbatim or with modifications and/or translated into another</div><div class='add'>+language.  (Hereinafter, translation is included without limitation in</div><div class='add'>+the term "modification".)  Each licensee is addressed as "you".</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 the Program is not restricted, and the output from the Program</div><div class='add'>+is covered only if its contents constitute a work based on the</div><div class='add'>+Program (independent of having been made by running the Program).</div><div class='add'>+Whether that is true depends on what the Program does.</div><div class='add'>+</div><div class='add'>+  1. You may copy and distribute verbatim copies of the Program's</div><div class='add'>+source code as you receive it, in any medium, provided that you</div><div class='add'>+conspicuously and appropriately publish on each copy an appropriate</div><div class='add'>+copyright notice and disclaimer of warranty; keep intact all the</div><div class='add'>+notices that refer to this License and to the absence of any warranty;</div><div class='add'>+and give any other recipients of the Program a copy of this License</div><div class='add'>+along with the Program.</div><div class='add'>+</div><div class='add'>+You may charge a fee for the physical act of transferring a copy, and</div><div class='add'>+you may at your option offer warranty protection in exchange for a fee.</div><div class='add'>+</div><div class='add'>+  2. You may modify your copy or copies of the Program or any portion</div><div class='add'>+of it, thus forming a work based on the Program, 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) You must cause the modified files 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'>+    b) You must cause any work that you distribute or publish, that in</div><div class='add'>+    whole or in part contains or is derived from the Program or any</div><div class='add'>+    part thereof, to be licensed as a whole at no charge to all third</div><div class='add'>+    parties under the terms of this License.</div><div class='add'>+</div><div class='add'>+    c) If the modified program normally reads commands interactively</div><div class='add'>+    when run, you must cause it, when started running for such</div><div class='add'>+    interactive use in the most ordinary way, to print or display an</div><div class='add'>+    announcement including an appropriate copyright notice and a</div><div class='add'>+    notice that there is no warranty (or else, saying that you provide</div><div class='add'>+    a warranty) and that users may redistribute the program under</div><div class='add'>+    these conditions, and telling the user how to view a copy of this</div><div class='add'>+    License.  (Exception: if the Program itself is interactive but</div><div class='add'>+    does not normally print such an announcement, your work based on</div><div class='add'>+    the Program is not required to print an announcement.)</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 Program,</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 Program, 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 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 Program.</div><div class='add'>+</div><div class='add'>+In addition, mere aggregation of another work not based on the Program</div><div class='add'>+with the Program (or with a work based on the Program) 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 copy and distribute the Program (or a work based on it,</div><div class='add'>+under Section 2) in object code or executable form under the terms of</div><div class='add'>+Sections 1 and 2 above provided that you also do one of the following:</div><div class='add'>+</div><div class='add'>+    a) Accompany it with the complete corresponding machine-readable</div><div class='add'>+    source code, which must be distributed under the terms of Sections</div><div class='add'>+    1 and 2 above on a medium customarily used for software interchange; or,</div><div class='add'>+</div><div class='add'>+    b) Accompany it with a written offer, valid for at least three</div><div class='add'>+    years, to give any third party, for a charge no more than your</div><div class='add'>+    cost of physically performing source distribution, a complete</div><div class='add'>+    machine-readable copy of the corresponding source code, to be</div><div class='add'>+    distributed under the terms of Sections 1 and 2 above on a medium</div><div class='add'>+    customarily used for software interchange; or,</div><div class='add'>+</div><div class='add'>+    c) Accompany it with the information you received as to the offer</div><div class='add'>+    to distribute corresponding source code.  (This alternative is</div><div class='add'>+    allowed only for noncommercial distribution and only if you</div><div class='add'>+    received the program in object code or executable form with such</div><div class='add'>+    an offer, in accord with Subsection b above.)</div><div class='add'>+</div><div class='add'>+The source code for a work means the preferred form of the work for</div><div class='add'>+making modifications to it.  For an executable work, complete source</div><div class='add'>+code means all the source code for all modules it contains, plus any</div><div class='add'>+associated interface definition files, plus the scripts used to</div><div class='add'>+control compilation and installation of the executable.  However, as a</div><div class='add'>+special exception, the source code distributed need not include</div><div class='add'>+anything that is normally distributed (in either source or binary</div><div class='add'>+form) with the major components (compiler, kernel, and so on) of the</div><div class='add'>+operating system on which the executable runs, unless that component</div><div class='add'>+itself accompanies the executable.</div><div class='add'>+</div><div class='add'>+If distribution of executable or object code is made by offering</div><div class='add'>+access to copy from a designated place, then offering equivalent</div><div class='add'>+access to copy the source code from the same place counts as</div><div class='add'>+distribution of 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'>+  4. You may not copy, modify, sublicense, or distribute the Program</div><div class='add'>+except as expressly provided under this License.  Any attempt</div><div class='add'>+otherwise to copy, modify, sublicense or distribute the Program is</div><div class='add'>+void, and will automatically terminate your rights under this License.</div><div class='add'>+However, parties who have received copies, or rights, from you under</div><div class='add'>+this License will not have their licenses terminated so long as such</div><div class='add'>+parties remain in full compliance.</div><div class='add'>+</div><div class='add'>+  5. 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 Program 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 Program (or any work based on the</div><div class='add'>+Program), 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 Program or works based on it.</div><div class='add'>+</div><div class='add'>+  6. Each time you redistribute the Program (or any work based on the</div><div class='add'>+Program), the recipient automatically receives a license from the</div><div class='add'>+original licensor to copy, distribute or modify the Program subject to</div><div class='add'>+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 to</div><div class='add'>+this License.</div><div class='add'>+</div><div class='add'>+  7. 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 Program at all.  For example, if a patent</div><div class='add'>+license would not permit royalty-free redistribution of the Program 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 Program.</div><div class='add'>+</div><div class='add'>+If any portion of this section is held invalid or unenforceable under</div><div class='add'>+any particular circumstance, the balance of the section is intended to</div><div class='add'>+apply and the section as a whole is intended to apply in other</div><div class='add'>+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'>+  8. If the distribution and/or use of the Program 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 Program under this License</div><div class='add'>+may add an explicit geographical distribution limitation excluding</div><div class='add'>+those countries, so that distribution is permitted only in or among</div><div class='add'>+countries not thus excluded.  In such case, this License incorporates</div><div class='add'>+the limitation as if written in the body of this License.</div><div class='add'>+</div><div class='add'>+  9. The Free Software Foundation may publish revised and/or new versions</div><div class='add'>+of the General Public License from time to time.  Such new versions will</div><div class='add'>+be similar in spirit to the present version, but may differ in detail to</div><div class='add'>+address new problems or concerns.</div><div class='add'>+</div><div class='add'>+Each version is given a distinguishing version number.  If the Program</div><div class='add'>+specifies a version number of this License which applies to it and "any</div><div class='add'>+later version", you have the option of following the terms and conditions</div><div class='add'>+either of that version or of any later version published by the Free</div><div class='add'>+Software Foundation.  If the Program does not specify a version number of</div><div class='add'>+this License, you may choose any version ever published by the Free Software</div><div class='add'>+Foundation.</div><div class='add'>+</div><div class='add'>+  10. If you wish to incorporate parts of the Program into other free</div><div class='add'>+programs whose distribution conditions are different, write to the author</div><div class='add'>+to ask for permission.  For software which is copyrighted by the Free</div><div class='add'>+Software Foundation, write to the Free Software Foundation; we sometimes</div><div class='add'>+make exceptions for this.  Our decision will be guided by the two goals</div><div class='add'>+of preserving the free status of all derivatives of our free software and</div><div class='add'>+of promoting the sharing and reuse of software generally.</div><div class='add'>+</div><div class='add'>+                            NO WARRANTY</div><div class='add'>+</div><div class='add'>+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY</div><div class='add'>+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN</div><div class='add'>+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES</div><div class='add'>+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED</div><div class='add'>+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF</div><div class='add'>+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS</div><div class='add'>+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE</div><div class='add'>+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,</div><div class='add'>+REPAIR OR CORRECTION.</div><div class='add'>+</div><div class='add'>+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING</div><div class='add'>+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR</div><div class='add'>+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,</div><div class='add'>+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING</div><div class='add'>+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED</div><div class='add'>+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY</div><div class='add'>+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER</div><div class='add'>+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE</div><div class='add'>+POSSIBILITY OF SUCH 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 Programs</div><div class='add'>+</div><div class='add'>+  If you develop a new program, and you want it to be of the greatest</div><div class='add'>+possible use to the public, the best way to achieve this is to make it</div><div class='add'>+free software which everyone can redistribute and change under these terms.</div><div class='add'>+</div><div class='add'>+  To do so, attach the following notices to the program.  It is safest</div><div class='add'>+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</div><div class='add'>+the "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 program'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 program 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 along</div><div class='add'>+    with this program; if not, write to the Free Software Foundation, Inc.,</div><div class='add'>+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 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'>+If the program is interactive, make it output a short notice like this</div><div class='add'>+when it starts in an interactive mode:</div><div class='add'>+</div><div class='add'>+    Gnomovision version 69, Copyright (C) year name of author</div><div class='add'>+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.</div><div class='add'>+    This is free software, and you are welcome to redistribute it</div><div class='add'>+    under certain conditions; type `show c' for details.</div><div class='add'>+</div><div class='add'>+The hypothetical commands `show w' and `show c' should show the appropriate</div><div class='add'>+parts of the General Public License.  Of course, the commands you use may</div><div class='add'>+be called something other than `show w' and `show c'; they could even be</div><div class='add'>+mouse-clicks or menu items--whatever suits your program.</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 program, 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 program</div><div class='add'>+  `Gnomovision' (which makes passes at compilers) written by James Hacker.</div><div class='add'>+</div><div class='add'>+  &lt;signature of Ty Coon&gt;, 1 April 1989</div><div class='add'>+  Ty Coon, President of Vice</div><div class='add'>+</div><div class='add'>+This General Public License does not permit incorporating your program into</div><div class='add'>+proprietary programs.  If your program is a subroutine library, you may</div><div class='add'>+consider it more useful to permit linking proprietary applications with the</div><div class='add'>+library.  If this is what you want to do, use the GNU Lesser General</div><div class='add'>+Public License instead of this License.</div><div class='head'>diff --git a/KNOWNBUGS.rb b/KNOWNBUGS.rb<br/>new file mode 100644<br/>index 0000000000..35a8e75876<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/KNOWNBUGS.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>KNOWNBUGS.rb</a></div><div class='hunk'>@@ -0,0 +1,7 @@</div><div class='add'>+#</div><div class='add'>+# IMPORTANT: Always keep the first 7 lines (comments),</div><div class='add'>+# even if this file is otherwise empty.</div><div class='add'>+#</div><div class='add'>+# This test file includes tests which point out known bugs.</div><div class='add'>+# So all tests will cause failure.</div><div class='add'>+#</div><div class='head'>diff --git a/LEGAL b/LEGAL<br/>new file mode 100644<br/>index 0000000000..2a7964e771<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/LEGAL?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>LEGAL</a></div><div class='hunk'>@@ -0,0 +1,1051 @@</div><div class='add'>+# -*- rdoc -*-</div><div class='add'>+</div><div class='add'>+= LEGAL NOTICE INFORMATION</div><div class='add'>+--------------------------</div><div class='add'>+</div><div class='add'>+All the files in this distribution are covered under either the Ruby's</div><div class='add'>+license (see the file COPYING) or public-domain except some files</div><div class='add'>+mentioned below.</div><div class='add'>+</div><div class='add'>+[addr2line.c]</div><div class='add'>+</div><div class='add'>+  A part of this file is from FreeBSD.</div><div class='add'>+</div><div class='add'>+  &gt;&gt;&gt;</div><div class='add'>+    Copyright (c) 1986, 1988, 1991, 1993::</div><div class='add'>+    The Regents of the University of California.  All rights reserved.</div><div class='add'>+</div><div class='add'>+    (c) UNIX System Laboratories, Inc.</div><div class='add'>+</div><div class='add'>+    All or some portions of this file are derived from material licensed</div><div class='add'>+    to the University of California by American Telephone and Telegraph</div><div class='add'>+    Co. or Unix System Laboratories, Inc. and are reproduced herein with</div><div class='add'>+    the permission of UNIX System Laboratories, Inc.</div><div class='add'>+</div><div class='add'>+    Redistribution and use in source and binary forms, with or without</div><div class='add'>+    modification, are permitted provided that the following conditions</div><div class='add'>+    are met:</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='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='add'>+    4. Neither the name of the University nor the names of its contributors</div><div class='add'>+       may be used to endorse or promote products derived from this software</div><div class='add'>+       without specific prior written permission.</div><div class='add'>+</div><div class='add'>+    THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND</div><div class='add'>+    ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</div><div class='add'>+    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</div><div class='add'>+    ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE</div><div class='add'>+    FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL</div><div class='add'>+    DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS</div><div class='add'>+    OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)</div><div class='add'>+    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT</div><div class='add'>+    LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY</div><div class='add'>+    OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF</div><div class='add'>+    SUCH DAMAGE.</div><div class='add'>+</div><div class='add'>+	@(#)subr_prf.c	8.3 (Berkeley) 1/21/94</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+[ccan/build_assert/build_assert.h]</div><div class='add'>+[ccan/check_type/check_type.h]</div><div class='add'>+[ccan/container_of/container_of.h]</div><div class='add'>+[ccan/str/str.h]</div><div class='add'>+</div><div class='add'>+  These files are licensed under the {CC0}[https://creativecommons.org/choose/zero/].</div><div class='add'>+</div><div class='add'>+[ccan/list/list.h]</div><div class='add'>+</div><div class='add'>+  This file is licensed under the {MIT License}[rdoc-label:label-MIT+License].</div><div class='add'>+</div><div class='add'>+[coroutine]</div><div class='add'>+</div><div class='add'>+  Unless otherwise specified, these files are licensed under the</div><div class='add'>+  {MIT License}[rdoc-label:label-MIT+License].</div><div class='add'>+</div><div class='add'>+[include/ruby/onigmo.h]</div><div class='add'>+[include/ruby/oniguruma.h]</div><div class='add'>+[regcomp.c]</div><div class='add'>+[regenc.c]</div><div class='add'>+[regenc.h]</div><div class='add'>+[regerror.c]</div><div class='add'>+[regexec.c]</div><div class='add'>+[regint.h]</div><div class='add'>+[regparse.c]</div><div class='add'>+[regparse.h]</div><div class='add'>+[enc/ascii.c]</div><div class='add'>+[enc/big5.c]</div><div class='add'>+[enc/cp949.c]</div><div class='add'>+[enc/emacs_mule.c]</div><div class='add'>+[enc/encdb.c]</div><div class='add'>+[enc/euc_jp.c]</div><div class='add'>+[enc/euc_kr.c]</div><div class='add'>+[enc/euc_tw.c]</div><div class='add'>+[enc/gb18030.c]</div><div class='add'>+[enc/gb2312.c]</div><div class='add'>+[enc/gbk.c]</div><div class='add'>+[enc/iso_8859_1.c]</div><div class='add'>+[enc/iso_8859_10.c]</div><div class='add'>+[enc/iso_8859_11.c]</div><div class='add'>+[enc/iso_8859_13.c]</div><div class='add'>+[enc/iso_8859_14.c]</div><div class='add'>+[enc/iso_8859_15.c]</div><div class='add'>+[enc/iso_8859_16.c]</div><div class='add'>+[enc/iso_8859_2.c]</div><div class='add'>+[enc/iso_8859_3.c]</div><div class='add'>+[enc/iso_8859_4.c]</div><div class='add'>+[enc/iso_8859_5.c]</div><div class='add'>+[enc/iso_8859_6.c]</div><div class='add'>+[enc/iso_8859_7.c]</div><div class='add'>+[enc/iso_8859_8.c]</div><div class='add'>+[enc/iso_8859_9.c]</div><div class='add'>+[enc/koi8_r.c]</div><div class='add'>+[enc/koi8_u.c]</div><div class='add'>+[enc/shift_jis.c]</div><div class='add'>+[enc/unicode.c]</div><div class='add'>+[enc/us_ascii.c]</div><div class='add'>+[enc/utf_16be.c]</div><div class='add'>+[enc/utf_16le.c]</div><div class='add'>+[enc/utf_32be.c]</div><div class='add'>+[enc/utf_32le.c]</div><div class='add'>+[enc/utf_8.c]</div><div class='add'>+[enc/windows_1251.c]</div><div class='add'>+[enc/windows_31j.c]</div><div class='add'>+</div><div class='add'>+  Onigmo (Oniguruma-mod) LICENSE</div><div class='add'>+</div><div class='add'>+  &gt;&gt;&gt;</div><div class='add'>+    Copyright (c) 2002-2009::  K.Kosako  &lt;sndgk393 AT ybb DOT ne DOT jp&gt;</div><div class='add'>+    Copyright (c) 2011-2014::  K.Takata  &lt;kentkt AT csc DOT jp&gt;</div><div class='add'>+    All rights reserved.</div><div class='add'>+</div><div class='add'>+    Redistribution and use in source and binary forms, with or without</div><div class='add'>+    modification, are permitted provided that the following conditions</div><div class='add'>+    are met:</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='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='add'>+</div><div class='add'>+    THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND</div><div class='add'>+    ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</div><div class='add'>+    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</div><div class='add'>+    ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE</div><div class='add'>+    FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL</div><div class='add'>+    DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS</div><div class='add'>+    OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)</div><div class='add'>+    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT</div><div class='add'>+    LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY</div><div class='add'>+    OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF</div><div class='add'>+    SUCH DAMAGE.</div><div class='add'>+</div><div class='add'>+  Oniguruma LICENSE</div><div class='add'>+</div><div class='add'>+  &gt;&gt;&gt;</div><div class='add'>+    Copyright (c) 2002-2009::  K.Kosako  &lt;sndgk393 AT ybb DOT ne DOT jp&gt;</div><div class='add'>+    All rights reserved.</div><div class='add'>+</div><div class='add'>+    Redistribution and use in source and binary forms, with or without</div><div class='add'>+    modification, are permitted provided that the following conditions</div><div class='add'>+    are met:</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='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='add'>+</div><div class='add'>+    THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND</div><div class='add'>+    ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</div><div class='add'>+    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</div><div class='add'>+    ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE</div><div class='add'>+    FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL</div><div class='add'>+    DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS</div><div class='add'>+    OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)</div><div class='add'>+    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT</div><div class='add'>+    LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY</div><div class='add'>+    OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF</div><div class='add'>+    SUCH DAMAGE.</div><div class='add'>+</div><div class='add'>+  * https://github.com/k-takata/Onigmo/</div><div class='add'>+  * https://github.com/kkos/oniguruma</div><div class='add'>+  * https://svnweb.freebsd.org/ports/head/devel/oniguruma/</div><div class='add'>+</div><div class='add'>+    When this software is partly used or it is distributed with Ruby,</div><div class='add'>+    this of Ruby follows the license of Ruby.</div><div class='add'>+</div><div class='add'>+[enc/windows_1250.c]</div><div class='add'>+[enc/windows_1252.c]</div><div class='add'>+</div><div class='add'>+  &gt;&gt;&gt;</div><div class='add'>+    Copyright (c) 2006-2007::  Byte      &lt;byte AT mail DOT kna DOT ru&gt;</div><div class='add'>+                               K.Kosako  &lt;sndgk393 AT ybb DOT ne DOT jp&gt;</div><div class='add'>+    All rights reserved.</div><div class='add'>+</div><div class='add'>+    Redistribution and use in source and binary forms, with or without</div><div class='add'>+    modification, are permitted provided that the following conditions</div><div class='add'>+    are met:</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='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='add'>+</div><div class='add'>+    THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND</div><div class='add'>+    ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</div><div class='add'>+    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</div><div class='add'>+    ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE</div><div class='add'>+    FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL</div><div class='add'>+    DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS</div><div class='add'>+    OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)</div><div class='add'>+    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT</div><div class='add'>+    LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY</div><div class='add'>+    OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF</div><div class='add'>+    SUCH DAMAGE.</div><div class='add'>+</div><div class='add'>+[enc/cesu_8.c]</div><div class='add'>+[enc/windows_1253.c]</div><div class='add'>+[enc/windows_1254.c]</div><div class='add'>+[enc/windows_1257.c]</div><div class='add'>+</div><div class='add'>+  &gt;&gt;&gt;</div><div class='add'>+    Copyright (c) 2002-2007::  K.Kosako  &lt;sndgk393 AT ybb DOT ne DOT jp&gt;</div><div class='add'>+    All rights reserved.</div><div class='add'>+</div><div class='add'>+    Redistribution and use in source and binary forms, with or without</div><div class='add'>+    modification, are permitted provided that the following conditions</div><div class='add'>+    are met:</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='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='add'>+</div><div class='add'>+    THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND</div><div class='add'>+    ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</div><div class='add'>+    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</div><div class='add'>+    ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE</div><div class='add'>+    FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL</div><div class='add'>+    DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS</div><div class='add'>+    OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)</div><div class='add'>+    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT</div><div class='add'>+    LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY</div><div class='add'>+    OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF</div><div class='add'>+    SUCH DAMAGE.</div><div class='add'>+</div><div class='add'>+[enc/trans/GB/GB12345%UCS.src]</div><div class='add'>+[enc/trans/GB/UCS%GB12345.src]</div><div class='add'>+[enc/trans/GB/GB2312%UCS.src]</div><div class='add'>+[enc/trans/GB/UCS%GB2312.src]</div><div class='add'>+</div><div class='add'>+  These files have this explanatory texts.</div><div class='add'>+</div><div class='add'>+  &gt;&gt;&gt;</div><div class='add'>+    This mapping data was created from files provided by Unicode, Inc.</div><div class='add'>+    (The Unicode Consortium). The files were used to create a product supporting</div><div class='add'>+    Unicode, as explicitly permitted in the files' copyright notices.</div><div class='add'>+    Please note that Unicode, Inc. never made any claims as to fitness of these</div><div class='add'>+    files for any particular purpose, and has ceased to publish the files many</div><div class='add'>+    years ago.</div><div class='add'>+</div><div class='add'>+[enc/trans/JIS/JISX0201-KANA%UCS.src]</div><div class='add'>+[enc/trans/JIS/JISX0208\@1990%UCS.src]</div><div class='add'>+[enc/trans/JIS/JISX0212%UCS.src]</div><div class='add'>+[enc/trans/JIS/UCS%JISX0201-KANA.src]</div><div class='add'>+[enc/trans/JIS/UCS%JISX0208@1990.src]</div><div class='add'>+[enc/trans/JIS/UCS%JISX0212.src]</div><div class='add'>+</div><div class='add'>+  These files are copyrighted as the following.</div><div class='add'>+</div><div class='add'>+  &gt;&gt;&gt;</div><div class='add'>+    Â© 2015 UnicodeÂ®, Inc.</div><div class='add'>+</div><div class='add'>+    For terms of use, see http://www.unicode.org/terms_of_use.html</div><div class='add'>+</div><div class='add'>+[enc/trans/JIS/JISX0213-1%UCS@BMP.src]</div><div class='add'>+[enc/trans/JIS/JISX0213-1%UCS@SIP.src]</div><div class='add'>+[enc/trans/JIS/JISX0213-2%UCS@BMP.src]</div><div class='add'>+[enc/trans/JIS/JISX0213-2%UCS@SIP.src]</div><div class='add'>+</div><div class='add'>+  These files are copyrighted as the following.</div><div class='add'>+</div><div class='add'>+  &gt;&gt;&gt;</div><div class='add'>+    Copyright (C) 2001:: earthian@tama.or.jp, All Rights Reserved.</div><div class='add'>+    Copyright (C) 2001:: I'O, All Rights Reserved.</div><div class='add'>+    Copyright (C) 2006:: Project X0213, All Rights Reserved.</div><div class='add'>+    You can use, modify, distribute this table freely.</div><div class='add'>+</div><div class='add'>+[enc/trans/JIS/UCS@BMP%JISX0213-1.src]</div><div class='add'>+[enc/trans/JIS/UCS@BMP%JISX0213-2.src]</div><div class='add'>+[enc/trans/JIS/UCS@SIP%JISX0213-1.src]</div><div class='add'>+[enc/trans/JIS/UCS@SIP%JISX0213-2.src]</div><div class='add'>+</div><div class='add'>+  These files are copyrighted as the following.</div><div class='add'>+</div><div class='add'>+  &gt;&gt;&gt;</div><div class='add'>+    Copyright (C) 2001:: earthian@tama.or.jp, All Rights Reserved.</div><div class='add'>+    Copyright (C) 2001:: I'O, All Rights Reserved.</div><div class='add'>+    You can use, modify, distribute this table freely.</div><div class='add'>+</div><div class='add'>+[enc/trans/ucm/glibc-BIG5-2.3.3.ucm]</div><div class='add'>+[enc/trans/ucm/glibc-BIG5HKSCS-2.3.3.ucm]</div><div class='add'>+</div><div class='add'>+  &gt;&gt;&gt;</div><div class='add'>+    Copyright (C) 2001-2005:: International Business Machines</div><div class='add'>+                              Corporation and others.  All Rights Reserved.</div><div class='add'>+</div><div class='add'>+[enc/trans/ucm/windows-950-2000.ucm]</div><div class='add'>+[enc/trans/ucm/windows-950_hkscs-2001.ucm]</div><div class='add'>+</div><div class='add'>+  &gt;&gt;&gt;</div><div class='add'>+    Copyright (C) 2001-2002:: International Business Machines</div><div class='add'>+                              Corporation and others.  All Rights Reserved.</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+[configure]</div><div class='add'>+</div><div class='add'>+  This file is free software.</div><div class='add'>+</div><div class='add'>+  &gt;&gt;&gt;</div><div class='add'>+    Copyright (C) 1992-1996, 1998-2012:: Free Software Foundation, Inc.</div><div class='add'>+</div><div class='add'>+    This configure script is free software; the Free Software Foundation</div><div class='add'>+    gives unlimited permission to copy, distribute and modify it.</div><div class='add'>+</div><div class='add'>+[aclocal.m4]</div><div class='add'>+</div><div class='add'>+  This file is free software.</div><div class='add'>+</div><div class='add'>+  &gt;&gt;&gt;</div><div class='add'>+    Copyright (C) 1996-2020:: Free Software Foundation, Inc.</div><div class='add'>+</div><div class='add'>+    This file is free software; the Free Software Foundation</div><div class='add'>+    gives unlimited permission to copy and/or distribute it,</div><div class='add'>+    with or without modifications, as long as this notice is preserved.</div><div class='add'>+</div><div class='add'>+[tool/config.guess]</div><div class='add'>+[tool/config.sub]</div><div class='add'>+</div><div class='add'>+  As long as you distribute these files with the file configure, they</div><div class='add'>+  are covered under the Ruby's license.</div><div class='add'>+</div><div class='add'>+  &gt;&gt;&gt;</div><div class='add'>+    Copyright 1992-2018:: Free Software Foundation, Inc.</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 3 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, see &lt;https://www.gnu.org/licenses/&gt;.</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</div><div class='add'>+    program.  This Exception is an additional permission under section 7</div><div class='add'>+    of the GNU General Public License, version 3 ("GPLv3").</div><div class='add'>+</div><div class='add'>+[parse.c]</div><div class='add'>+[parse.h]</div><div class='add'>+</div><div class='add'>+  These files are licensed under the GPL, but are incorporated into Ruby and</div><div class='add'>+  redistributed under the terms of the Ruby license, as permitted by the</div><div class='add'>+  exception to the GPL below.</div><div class='add'>+</div><div class='add'>+  &gt;&gt;&gt;</div><div class='add'>+    Copyright (C) 1984, 1989-1990, 2000-2015, 2018:: Free Software Foundation, Inc.</div><div class='add'>+</div><div class='add'>+    This program 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 3 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, see &lt;http://www.gnu.org/licenses/&gt;.</div><div class='add'>+</div><div class='add'>+    As a special exception, you may create a larger work that contains</div><div class='add'>+    part or all of the Bison parser skeleton and distribute that work</div><div class='add'>+    under terms of your choice, so long as that work isn't itself a</div><div class='add'>+    parser generator using the skeleton or a modified version thereof</div><div class='add'>+    as a parser skeleton.  Alternatively, if you modify or redistribute</div><div class='add'>+    the parser skeleton itself, you may (at your option) remove this</div><div class='add'>+    special exception, which will cause the skeleton and the resulting</div><div class='add'>+    Bison output files to be licensed under the GNU General Public</div><div class='add'>+    License without this special exception.</div><div class='add'>+</div><div class='add'>+    This special exception was added by the Free Software Foundation in</div><div class='add'>+    version 2.2 of Bison.</div><div class='add'>+</div><div class='add'>+[missing/dtoa.c]</div><div class='add'>+</div><div class='add'>+  This file is under these licenses.</div><div class='add'>+</div><div class='add'>+  &gt;&gt;&gt;</div><div class='add'>+    Copyright (c) 1991, 2000, 2001:: by Lucent Technologies.</div><div class='add'>+</div><div class='add'>+    Permission to use, copy, modify, and distribute this software for any</div><div class='add'>+    purpose without fee is hereby granted, provided that this entire notice</div><div class='add'>+    is included in all copies of any software which is or includes a copy</div><div class='add'>+    or modification of this software and in all copies of the supporting</div><div class='add'>+    documentation for such software.</div><div class='add'>+</div><div class='add'>+    THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED</div><div class='add'>+    WARRANTY.  IN PARTICULAR, NEITHER THE AUTHOR NOR LUCENT MAKES ANY</div><div class='add'>+    REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY</div><div class='add'>+    OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.</div><div class='add'>+</div><div class='add'>+  &gt;&gt;&gt;</div><div class='add'>+    Copyright (c) 2004-2008:: David Schultz &lt;das@FreeBSD.ORG&gt;</div><div class='add'>+                              All rights reserved.</div><div class='add'>+</div><div class='add'>+    Redistribution and use in source and binary forms, with or without</div><div class='add'>+    modification, are permitted provided that the following conditions</div><div class='add'>+    are met:</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='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='add'>+</div><div class='add'>+    THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND</div><div class='add'>+    ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</div><div class='add'>+    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</div><div class='add'>+    ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE</div><div class='add'>+    FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL</div><div class='add'>+    DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS</div><div class='add'>+    OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)</div><div class='add'>+    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT</div><div class='add'>+    LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY</div><div class='add'>+    OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF</div><div class='add'>+    SUCH DAMAGE.</div><div class='add'>+</div><div class='add'>+[win32/win32.c]</div><div class='add'>+[include/ruby/win32.h]</div><div class='add'>+</div><div class='add'>+  You can apply the Artistic License to these files. (or GPL,</div><div class='add'>+  alternatively)</div><div class='add'>+</div><div class='add'>+  &gt;&gt;&gt;</div><div class='add'>+    Copyright (c) 1993:: Intergraph Corporation</div><div class='add'>+</div><div class='add'>+    You may distribute under the terms of either the GNU General Public</div><div class='add'>+    License or the Artistic License, as specified in the perl README file.</div><div class='add'>+</div><div class='add'>+[missing/mt19937.c]</div><div class='add'>+</div><div class='add'>+  This file is under the new-style BSD license.</div><div class='add'>+</div><div class='add'>+  &gt;&gt;&gt;</div><div class='add'>+    A C-program for MT19937, with initialization improved 2002/2/10.::</div><div class='add'>+    Coded by Takuji Nishimura and Makoto Matsumoto.  </div><div class='add'>+    This is a faster version by taking Shawn Cokus's optimization,</div><div class='add'>+    Matthe Bellew's simplification, Isaku Wada's real version.</div><div class='add'>+</div><div class='add'>+    Before using, initialize the state by using init_genrand(seed)</div><div class='add'>+    or init_by_array(init_key, key_length).</div><div class='add'>+</div><div class='add'>+    Copyright (C) 1997 - 2002:: Makoto Matsumoto and Takuji Nishimura,</div><div class='add'>+                                All rights reserved.</div><div class='add'>+</div><div class='add'>+    Redistribution and use in source and binary forms, with or without</div><div class='add'>+    modification, are permitted provided that the following conditions</div><div class='add'>+    are met:</div><div class='add'>+</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='add'>+</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='add'>+</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='add'>+</div><div class='add'>+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</div><div class='add'>+    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</div><div class='add'>+    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</div><div class='add'>+    A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR</div><div class='add'>+    CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,</div><div class='add'>+    EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,</div><div class='add'>+    PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR</div><div class='add'>+    PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF</div><div class='add'>+    LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING</div><div class='add'>+    NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS</div><div class='add'>+    SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+    Any feedback is very welcome.</div><div class='add'>+    http://www.math.keio.ac.jp/matumoto/emt.html</div><div class='add'>+    email: matumoto@math.keio.ac.jp</div><div class='add'>+</div><div class='add'>+  The Wayback Machine url: http://web.archive.org/web/19990429082237/http://www.math.keio.ac.jp/matumoto/emt.html</div><div class='add'>+</div><div class='add'>+[missing/procstat_vm.c]</div><div class='add'>+</div><div class='add'>+  This file is under the new-style BSD license.</div><div class='add'>+</div><div class='add'>+  &gt;&gt;&gt;</div><div class='add'>+    Copyright (c) 2007:: Robert N. M. Watson</div><div class='add'>+                         All rights reserved.</div><div class='add'>+</div><div class='add'>+    Redistribution and use in source and binary forms, with or without</div><div class='add'>+    modification, are permitted provided that the following conditions</div><div class='add'>+    are met:</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='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='add'>+</div><div class='add'>+    THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND</div><div class='add'>+    ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</div><div class='add'>+    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</div><div class='add'>+    ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE</div><div class='add'>+    FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL</div><div class='add'>+    DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS</div><div class='add'>+    OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)</div><div class='add'>+    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT</div><div class='add'>+    LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY</div><div class='add'>+    OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF</div><div class='add'>+    SUCH DAMAGE.</div><div class='add'>+</div><div class='add'>+    $FreeBSD: head/usr.bin/procstat/procstat_vm.c 261780 2014-02-11 21:57:37Z jhb $</div><div class='add'>+</div><div class='add'>+[vsnprintf.c]</div><div class='add'>+</div><div class='add'>+  This file is under the {old-style BSD license}[rdoc-label:label-Old-style+BSD+license].</div><div class='add'>+</div><div class='add'>+  &gt;&gt;&gt;</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='add'>+</div><div class='add'>+    This code is derived from software contributed to Berkeley by</div><div class='add'>+    Chris Torek.</div><div class='add'>+</div><div class='add'>+[st.c]</div><div class='add'>+[strftime.c]</div><div class='add'>+[include/ruby/st.h]</div><div class='add'>+[missing/acosh.c]</div><div class='add'>+[missing/alloca.c]</div><div class='add'>+[missing/dup2.c]</div><div class='add'>+[missing/erf.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/lgamma_r.c]</div><div class='add'>+[missing/memcmp.c]</div><div class='add'>+[missing/memmove.c]</div><div class='add'>+[missing/strchr.c]</div><div class='add'>+[missing/strerror.c]</div><div class='add'>+[missing/strstr.c]</div><div class='add'>+[missing/tgamma.c]</div><div class='add'>+[ext/date/date_strftime.c]</div><div class='add'>+[ext/digest/sha1/sha1.c]</div><div class='add'>+[ext/digest/sha1/sha1.h]</div><div class='add'>+</div><div class='add'>+  These files are all under public domain.</div><div class='add'>+</div><div class='add'>+[missing/crypt.c]</div><div class='add'>+</div><div class='add'>+  This file is under the {old-style BSD license}[rdoc-label:label-Old-style+BSD+license].</div><div class='add'>+</div><div class='add'>+  &gt;&gt;&gt;</div><div class='add'>+    Copyright (c) 1989, 1993::</div><div class='add'>+    The Regents of the University of California.  All rights reserved.</div><div class='add'>+</div><div class='add'>+    This code is derived from software contributed to Berkeley by</div><div class='add'>+    Tom Truscott.</div><div class='add'>+</div><div class='add'>+[missing/setproctitle.c]</div><div class='add'>+</div><div class='add'>+  This file is under the {old-style BSD license}[rdoc-label:label-Old-style+BSD+license].</div><div class='add'>+</div><div class='add'>+  &gt;&gt;&gt;</div><div class='add'>+    Copyright 2003:: Damien Miller</div><div class='add'>+    Copyright (c) 1983, 1995-1997:: Eric P. Allman</div><div class='add'>+    Copyright (c) 1988, 1993::</div><div class='add'>+    The Regents of the University of California.  All rights reserved.</div><div class='add'>+</div><div class='add'>+[missing/strlcat.c]</div><div class='add'>+[missing/strlcpy.c]</div><div class='add'>+</div><div class='add'>+  These files are under an ISC-style license.</div><div class='add'>+</div><div class='add'>+  &gt;&gt;&gt;</div><div class='add'>+    Copyright (c) 1998, 2015:: Todd C. Miller &lt;Todd.Miller@courtesan.com&gt;</div><div class='add'>+</div><div class='add'>+    Permission to use, copy, modify, and distribute this software for any</div><div class='add'>+    purpose with or without fee is hereby granted, provided that the above</div><div class='add'>+    copyright notice and this permission notice appear in all copies.</div><div class='add'>+</div><div class='add'>+    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES</div><div class='add'>+    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF</div><div class='add'>+    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR</div><div class='add'>+    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES</div><div class='add'>+    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN</div><div class='add'>+    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF</div><div class='add'>+    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.</div><div class='add'>+</div><div class='add'>+[missing/langinfo.c]</div><div class='add'>+</div><div class='add'>+  This file is from http://www.cl.cam.ac.uk/~mgk25/ucs/langinfo.c.</div><div class='add'>+  Ruby uses a modified version. The file contains the following</div><div class='add'>+  author/copyright notice:</div><div class='add'>+</div><div class='add'>+  &gt;&gt;&gt;</div><div class='add'>+    Markus.Kuhn@cl.cam.ac.uk -- 2002-03-11::</div><div class='add'>+    Permission to use, copy, modify, and distribute this software</div><div class='add'>+    for any purpose and without fee is hereby granted. The author</div><div class='add'>+    disclaims all warranties with regard to this software.</div><div class='add'>+</div><div class='add'>+[ext/digest/md5/md5.c]</div><div class='add'>+[ext/digest/md5/md5.h]</div><div class='add'>+</div><div class='add'>+  These files are under the following license.  Ruby uses modified</div><div class='add'>+  versions of them.</div><div class='add'>+</div><div class='add'>+  &gt;&gt;&gt;</div><div class='add'>+    Copyright (C) 1999, 2000:: Aladdin Enterprises.  All rights reserved.</div><div class='add'>+</div><div class='add'>+    This software is provided 'as-is', without any express or implied</div><div class='add'>+    warranty.  In no event will the authors be held liable for any damages</div><div class='add'>+    arising from the use of this software.</div><div class='add'>+</div><div class='add'>+    Permission is granted to anyone to use this software for any purpose,</div><div class='add'>+    including commercial applications, and to alter it and redistribute it</div><div class='add'>+    freely, subject to the following restrictions:</div><div class='add'>+</div><div class='add'>+    1. The origin of this software must not be misrepresented; you must not</div><div class='add'>+       claim that you wrote the original software. If you use this software</div><div class='add'>+       in a product, an acknowledgment in the product documentation would be</div><div class='add'>+       appreciated but is not required.</div><div class='add'>+    2. Altered source versions must be plainly marked as such, and must not be</div><div class='add'>+       misrepresented as being the original software.</div><div class='add'>+    3. This notice may not be removed or altered from any source distribution.</div><div class='add'>+</div><div class='add'>+    L. Peter Deutsch</div><div class='add'>+    ghost@aladdin.com</div><div class='add'>+</div><div class='add'>+[ext/digest/rmd160/rmd160.c]</div><div class='add'>+[ext/digest/rmd160/rmd160.h]</div><div class='add'>+</div><div class='add'>+  These files have the following copyright information, and by the</div><div class='add'>+  author we are allowed to use it under the new-style BSD license.</div><div class='add'>+</div><div class='add'>+  &gt;&gt;&gt;</div><div class='add'>+    AUTHOR::  Antoon Bosselaers, ESAT-COSIC</div><div class='add'>+              (Arranged for libc by Todd C. Miller)</div><div class='add'>+    DATE::    1 March 1996</div><div class='add'>+</div><div class='add'>+    Copyright (c):: Katholieke Universiteit Leuven</div><div class='add'>+    1996, All Rights Reserved</div><div class='add'>+</div><div class='add'>+[ext/digest/sha2/sha2.c]</div><div class='add'>+[ext/digest/sha2/sha2.h]</div><div class='add'>+</div><div class='add'>+  These files are under the new-style BSD license.</div><div class='add'>+</div><div class='add'>+  &gt;&gt;&gt;</div><div class='add'>+    Copyright 2000:: Aaron D. Gifford.  All rights reserved.</div><div class='add'>+</div><div class='add'>+    Redistribution and use in source and binary forms, with or without</div><div class='add'>+    modification, are permitted provided that the following conditions</div><div class='add'>+    are met:</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='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='add'>+    3. Neither the name of the copyright holder nor the names of contributors</div><div class='add'>+       may be used to endorse or promote products derived from this software</div><div class='add'>+       without specific prior written permission.</div><div class='add'>+</div><div class='add'>+    THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) AND CONTRIBUTOR(S) ``AS IS'' AND</div><div class='add'>+    ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</div><div class='add'>+    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</div><div class='add'>+    ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR(S) OR CONTRIBUTOR(S) BE LIABLE</div><div class='add'>+    FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL</div><div class='add'>+    DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS</div><div class='add'>+    OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)</div><div class='add'>+    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT</div><div class='add'>+    LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY</div><div class='add'>+    OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF</div><div class='add'>+    SUCH DAMAGE.</div><div class='add'>+</div><div class='add'>+[ext/json/generator/generator.c]</div><div class='add'>+</div><div class='add'>+  The file contains the following copyright notice.</div><div class='add'>+</div><div class='add'>+  &gt;&gt;&gt;</div><div class='add'>+    Copyright 2001-2004:: Unicode, Inc.</div><div class='add'>+</div><div class='add'>+    Disclaimer::</div><div class='add'>+</div><div class='add'>+      This source code is provided as is by Unicode, Inc. No claims are</div><div class='add'>+      made as to fitness for any particular purpose. No warranties of any</div><div class='add'>+      kind are expressed or implied. The recipient agrees to determine</div><div class='add'>+      applicability of information provided. If this file has been</div><div class='add'>+      purchased on magnetic or optical media from Unicode, Inc., the</div><div class='add'>+      sole remedy for any claim will be exchange of defective media</div><div class='add'>+      within 90 days of receipt.</div><div class='add'>+</div><div class='add'>+    Limitations on Rights to Redistribute This Code::</div><div class='add'>+</div><div class='add'>+      Unicode, Inc. hereby grants the right to freely use the information</div><div class='add'>+      supplied in this file in the creation of products supporting the</div><div class='add'>+      Unicode Standard, and to make copies of this file in any form</div><div class='add'>+      for internal or external distribution as long as this notice</div><div class='add'>+      remains attached.</div><div class='add'>+</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='add'>+</div><div class='add'>+  These files are under the following license.  So to speak, it is</div><div class='add'>+  copyrighted semi-public-domain software.</div><div class='add'>+</div><div class='add'>+  &gt;&gt;&gt;</div><div class='add'>+    Copyright (C) 1987:: Fujitsu LTD. (Itaru ICHIKAWA)</div><div class='add'>+</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/psych]</div><div class='add'>+[test/psych]</div><div class='add'>+</div><div class='add'>+  The files under these directories are under the following license, except for</div><div class='add'>+  ext/psych/yaml.</div><div class='add'>+</div><div class='add'>+  &gt;&gt;&gt;</div><div class='add'>+    Copyright 2009:: Aaron Patterson, et al.</div><div class='add'>+</div><div class='add'>+    Permission is hereby granted, free of charge, to any person obtaining a copy of</div><div class='add'>+    this software and associated documentation files (the 'Software'), to deal in</div><div class='add'>+    the Software without restriction, including without limitation the rights to</div><div class='add'>+    use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies</div><div class='add'>+    of the Software, and to permit persons to whom the Software is furnished to do</div><div class='add'>+    so, subject to the following conditions:</div><div class='add'>+</div><div class='add'>+    The above copyright notice and this permission notice shall be included in all</div><div class='add'>+    copies or substantial portions of the Software.</div><div class='add'>+</div><div class='add'>+    THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR</div><div class='add'>+    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,</div><div class='add'>+    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE</div><div class='add'>+    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER</div><div class='add'>+    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,</div><div class='add'>+    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE</div><div class='add'>+    SOFTWARE.</div><div class='add'>+</div><div class='add'>+[ext/psych/yaml]</div><div class='add'>+</div><div class='add'>+  The files under this directory are under the following license.</div><div class='add'>+</div><div class='add'>+  &gt;&gt;&gt;</div><div class='add'>+    Copyright (c) 2006:: Kirill Simonov</div><div class='add'>+</div><div class='add'>+    Permission is hereby granted, free of charge, to any person obtaining a copy of</div><div class='add'>+    this software and associated documentation files (the "Software"), to deal in</div><div class='add'>+    the Software without restriction, including without limitation the rights to</div><div class='add'>+    use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies</div><div class='add'>+    of the Software, and to permit persons to whom the Software is furnished to do</div><div class='add'>+    so, subject to the following conditions:</div><div class='add'>+</div><div class='add'>+    The above copyright notice and this permission notice shall be included in all</div><div class='add'>+    copies or substantial portions of the Software.</div><div class='add'>+</div><div class='add'>+    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR</div><div class='add'>+    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,</div><div class='add'>+    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE</div><div class='add'>+    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER</div><div class='add'>+    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,</div><div class='add'>+    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE</div><div class='add'>+    SOFTWARE.</div><div class='add'>+</div><div class='add'>+[ext/pty/pty.c]</div><div class='add'>+</div><div class='add'>+  &gt;&gt;&gt;</div><div class='add'>+    C) Copyright 1998:: by Akinori Ito.</div><div class='add'>+</div><div class='add'>+    This software may be redistributed freely for this purpose, in full</div><div class='add'>+    or in part, provided that this entire copyright notice is included</div><div class='add'>+    on any copies of this software and applications and derivations thereof.</div><div class='add'>+</div><div class='add'>+    This software is provided on an "as is" basis, without warranty of any</div><div class='add'>+    kind, either expressed or implied, as to any matter including, but not</div><div class='add'>+    limited to warranty of fitness of purpose, or merchantability, or</div><div class='add'>+    results obtained from use of 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='add'>+</div><div class='add'>+  These files are under the new-style BSD license.</div><div class='add'>+</div><div class='add'>+  &gt;&gt;&gt;</div><div class='add'>+    Copyright (C) 1995, 1996, 1997, 1998, and 1999:: WIDE Project.</div><div class='add'>+    All rights reserved.</div><div class='add'>+</div><div class='add'>+    Redistribution and use in source and binary forms, with or without</div><div class='add'>+    modification, are permitted provided that the following conditions</div><div class='add'>+    are met:</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='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='add'>+    3. Neither the name of the project nor the names of its contributors</div><div class='add'>+       may be used to endorse or promote products derived from this software</div><div class='add'>+       without specific prior written permission.</div><div class='add'>+</div><div class='add'>+    THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND</div><div class='add'>+    ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</div><div class='add'>+    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</div><div class='add'>+    ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE</div><div class='add'>+    FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL</div><div class='add'>+    DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS</div><div class='add'>+    OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)</div><div class='add'>+    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT</div><div class='add'>+    LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY</div><div class='add'>+    OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF</div><div class='add'>+    SUCH DAMAGE.</div><div class='add'>+</div><div class='add'>+[ext/win32ole/win32ole.c]</div><div class='add'>+</div><div class='add'>+  You can apply the Artistic License to this file. (or GPL,</div><div class='add'>+  alternatively)</div><div class='add'>+</div><div class='add'>+  &gt;&gt;&gt;</div><div class='add'>+    (c) 1995:: Microsoft Corporation. All rights reserved.</div><div class='add'>+    Developed by ActiveWare Internet Corp., http://www.ActiveWare.com</div><div class='add'>+</div><div class='add'>+    Other modifications Copyright (c) 1997, 1998:: by Gurusamy Sarathy</div><div class='add'>+    &lt;gsar@umich.edu&gt; and Jan Dubois &lt;jan.dubois@ibm.net&gt;</div><div class='add'>+</div><div class='add'>+    You may distribute under the terms of either the GNU General Public</div><div class='add'>+    License or the Artistic License, as specified in the README file</div><div class='add'>+    of the Perl distribution.</div><div class='add'>+</div><div class='add'>+  The Wayback Machine url: http://web.archive.org/web/19970607104352/http://www.activeware.com:80/</div><div class='add'>+</div><div class='add'>+[lib/rdoc/generator/template/darkfish/css/fonts.css]</div><div class='add'>+</div><div class='add'>+  This file is licensed under the {SIL Open Font License}[http://scripts.sil.org/OFL].</div><div class='add'>+</div><div class='add'>+[spec/mspec]</div><div class='add'>+[spec/ruby]</div><div class='add'>+</div><div class='add'>+  The files under these directories are under the following license.</div><div class='add'>+</div><div class='add'>+  &gt;&gt;&gt;</div><div class='add'>+    Copyright (c) 2008:: Engine Yard, Inc. All rights reserved.</div><div class='add'>+</div><div class='add'>+    Permission is hereby granted, free of charge, to any person</div><div class='add'>+    obtaining a copy of this software and associated documentation</div><div class='add'>+    files (the "Software"), to deal in the Software without</div><div class='add'>+    restriction, including without limitation the rights to use,</div><div class='add'>+    copy, modify, merge, publish, distribute, sublicense, and/or sell</div><div class='add'>+    copies of the Software, and to permit persons to whom the</div><div class='add'>+    Software is furnished to do so, subject to the following</div><div class='add'>+    conditions:</div><div class='add'>+</div><div class='add'>+    The above copyright notice and this permission notice shall be</div><div class='add'>+    included in all copies or substantial portions of the Software.</div><div class='add'>+</div><div class='add'>+    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</div><div class='add'>+    EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES</div><div class='add'>+    OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</div><div class='add'>+    NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT</div><div class='add'>+    HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,</div><div class='add'>+    WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING</div><div class='add'>+    FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR</div><div class='add'>+    OTHER DEALINGS IN THE SOFTWARE.</div><div class='add'>+</div><div class='add'>+[lib/rubygems.rb]</div><div class='add'>+[lib/rubygems]</div><div class='add'>+[test/rubygems]</div><div class='add'>+</div><div class='add'>+  RubyGems is under the following license.</div><div class='add'>+</div><div class='add'>+  &gt;&gt;&gt;</div><div class='add'>+    RubyGems is copyrighted free software by Chad Fowler, Rich Kilmer, Jim</div><div class='add'>+    Weirich and others.  You can redistribute it and/or modify it under</div><div class='add'>+    either the terms of the {MIT license}[rdoc-label:label-MIT+License], or the conditions</div><div class='add'>+    below:</div><div class='add'>+</div><div class='add'>+    1. You may make and give away verbatim copies of the source form of the</div><div class='add'>+       software without restriction, provided that you duplicate all of the</div><div class='add'>+       original copyright notices and associated disclaimers.</div><div class='add'>+</div><div class='add'>+    2. You may modify your copy of the software in any way, provided that</div><div class='add'>+       you do at least ONE of the following:</div><div class='add'>+</div><div class='add'>+       a. place your modifications in the Public Domain or otherwise</div><div class='add'>+          make them Freely Available, such as by posting said</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='add'>+</div><div class='add'>+       b. use the modified software only within your corporation or</div><div class='add'>+          organization.</div><div class='add'>+</div><div class='add'>+       c. give non-standard executables non-standard names, with</div><div class='add'>+          instructions on where to get the original software distribution.</div><div class='add'>+</div><div class='add'>+       d. make other distribution arrangements with the author.</div><div class='add'>+</div><div class='add'>+    3. You may distribute the software in object code or executable</div><div class='add'>+       form, provided that you do at least ONE of the following:</div><div class='add'>+</div><div class='add'>+       a. distribute the executables and library files of the software,</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='add'>+</div><div class='add'>+       b. accompany the distribution with the machine-readable source of</div><div class='add'>+          the software.</div><div class='add'>+</div><div class='add'>+       c. give non-standard executables non-standard names, with</div><div class='add'>+          instructions on where to get the original software distribution.</div><div class='add'>+</div><div class='add'>+       d. make other distribution arrangements with the author.</div><div class='add'>+</div><div class='add'>+    4. You may modify and include the part of the software into any other</div><div class='add'>+       software (possibly commercial).</div><div class='add'>+</div><div class='add'>+    5. The scripts and library files supplied as input to or produced as</div><div class='add'>+       output from the software do not automatically fall under the</div><div class='add'>+       copyright of the software, but belong to whomever generated them,</div><div class='add'>+       and may be sold commercially, and may be aggregated with this</div><div class='add'>+       software.</div><div class='add'>+</div><div class='add'>+    6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR</div><div class='add'>+       IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED</div><div class='add'>+       WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR</div><div class='add'>+       PURPOSE.</div><div class='add'>+</div><div class='add'>+[lib/bundler]</div><div class='add'>+[lib/bundler.rb]</div><div class='add'>+[lib/bundler.gemspec]</div><div class='add'>+[spec/bundler]</div><div class='add'>+[man/bundle-*,gemfile.*]</div><div class='add'>+</div><div class='add'>+  Bundler is under the following license.</div><div class='add'>+</div><div class='add'>+  &gt;&gt;&gt;</div><div class='add'>+    Portions copyright (c) 2010:: Andre Arko</div><div class='add'>+    Portions copyright (c) 2009:: Engine Yard</div><div class='add'>+</div><div class='add'>+    {MIT License}[rdoc-label:label-MIT+License]</div><div class='add'>+</div><div class='add'>+[lib/did_you_mean]</div><div class='add'>+[lib/did_you_mean.rb]</div><div class='add'>+[test/did_you_mean]</div><div class='add'>+</div><div class='add'>+  did_you_mean is under the following license.</div><div class='add'>+</div><div class='add'>+  &gt;&gt;&gt;</div><div class='add'>+    Copyright (c) 2014-2016 Yuki Nishijima</div><div class='add'>+</div><div class='add'>+    {MIT License}[rdoc-label:label-MIT+License]</div><div class='add'>+</div><div class='add'>+[benchmark/so_ackermann.rb]</div><div class='add'>+[benchmark/so_array.rb]</div><div class='add'>+[benchmark/so_binary_trees.rb]</div><div class='add'>+[benchmark/so_concatenate.rb]</div><div class='add'>+[benchmark/so_count_words.yml]</div><div class='add'>+[benchmark/so_exception.rb]</div><div class='add'>+[benchmark/so_fannkuch.rb]</div><div class='add'>+[benchmark/so_fasta.rb]</div><div class='add'>+[benchmark/so_k_nucleotide.yml]</div><div class='add'>+[benchmark/so_lists.rb]</div><div class='add'>+[benchmark/so_mandelbrot.rb]</div><div class='add'>+[benchmark/so_matrix.rb]</div><div class='add'>+[benchmark/so_meteor_contest.rb]</div><div class='add'>+[benchmark/so_nbody.rb]</div><div class='add'>+[benchmark/so_nested_loop.rb]</div><div class='add'>+[benchmark/so_nsieve.rb]</div><div class='add'>+[benchmark/so_nsieve_bits.rb]</div><div class='add'>+[benchmark/so_object.rb]</div><div class='add'>+[benchmark/so_partial_sums.rb]</div><div class='add'>+[benchmark/so_pidigits.rb]</div><div class='add'>+[benchmark/so_random.rb]</div><div class='add'>+[benchmark/so_reverse_complement.yml]</div><div class='add'>+[benchmark/so_sieve.rb]</div><div class='add'>+[benchmark/so_spectralnorm.rb]</div><div class='add'>+</div><div class='add'>+  These files are very old copy of then-called "The Great Computer Language</div><div class='add'>+  Shootout".  LEGAL SITUATION OF THESE FILES ARE UNCLEAR because the original</div><div class='add'>+  site has been lost.  Upstream diverged to delete several benchmarks listed</div><div class='add'>+  above.</div><div class='add'>+</div><div class='add'>+== MIT License</div><div class='add'>+&gt;&gt;&gt;</div><div class='add'>+      Permission is hereby granted, free of charge, to any person obtaining</div><div class='add'>+      a copy of this software and associated documentation files (the</div><div class='add'>+      "Software"), to deal in the Software without restriction, including</div><div class='add'>+      without limitation the rights to use, copy, modify, merge, publish,</div><div class='add'>+      distribute, sublicense, and/or sell copies of the Software, and to</div><div class='add'>+      permit persons to whom the Software is furnished to do so, subject to</div><div class='add'>+      the following conditions:</div><div class='add'>+</div><div class='add'>+      The above copyright notice and this permission notice shall be</div><div class='add'>+      included in all copies or substantial portions of the Software.</div><div class='add'>+</div><div class='add'>+      THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</div><div class='add'>+      EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</div><div class='add'>+      MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND</div><div class='add'>+      NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE</div><div class='add'>+      LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION</div><div class='add'>+      OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION</div><div class='add'>+      WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</div><div class='add'>+</div><div class='add'>+== Old-style BSD license</div><div class='add'>+&gt;&gt;&gt;</div><div class='add'>+      Redistribution and use in source and binary forms, with or without</div><div class='add'>+      modification, are permitted provided that the following conditions</div><div class='add'>+      are met:</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='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='add'>+      3. Neither the name of the University nor the names of its contributors</div><div class='add'>+         may be used to endorse or promote products derived from this software</div><div class='add'>+         without specific prior written permission.</div><div class='add'>+</div><div class='add'>+      THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND</div><div class='add'>+      ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</div><div class='add'>+      IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</div><div class='add'>+      ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE</div><div class='add'>+      FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL</div><div class='add'>+      DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS</div><div class='add'>+      OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)</div><div class='add'>+      HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT</div><div class='add'>+      LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY</div><div class='add'>+      OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF</div><div class='add'>+      SUCH DAMAGE.</div><div class='add'>+</div><div class='add'>+      IMPORTANT NOTE::</div><div class='add'>+</div><div class='add'>+      From ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change</div><div class='add'>+      paragraph 3 above is now null and void.</div><div class='head'>diff --git a/MANIFEST b/MANIFEST<br/>deleted file mode 100644<br/>index 5d7538217b..0000000000<br/>--- a/<a href='/ruby.git/tree/MANIFEST?h=v3_0_0&amp;id=cfb52c86678519810cfa84b564a3d32a9200139d'>MANIFEST</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,245 +0,0 @@</div><div class='del'>-COPYING</div><div class='del'>-COPYING.LIB</div><div class='del'>-ChangeLog</div><div class='del'>-MANIFEST</div><div class='del'>-Makefile.in</div><div class='del'>-README</div><div class='del'>-README.jp</div><div class='del'>-README.EXT</div><div class='del'>-README.EXT.jp</div><div class='del'>-ToDo</div><div class='del'>-array.c</div><div class='del'>-bignum.c</div><div class='del'>-class.c</div><div class='del'>-compar.c</div><div class='del'>-configure</div><div class='del'>-configure.bat</div><div class='del'>-configure.in</div><div class='del'>-config_h.dj</div><div class='del'>-config_s.dj</div><div class='del'>-config.guess</div><div class='del'>-config.sub</div><div class='del'>-defines.h</div><div class='del'>-dir.c</div><div class='del'>-dln.c</div><div class='del'>-dln.h</div><div class='del'>-dmyext.c</div><div class='del'>-enum.c</div><div class='del'>-env.h</div><div class='del'>-error.c</div><div class='del'>-eval.c</div><div class='del'>-file.c</div><div class='del'>-gc.c</div><div class='del'>-hash.c</div><div class='del'>-inits.c</div><div class='del'>-install-sh</div><div class='del'>-instruby.rb</div><div class='del'>-intern.h</div><div class='del'>-io.c</div><div class='del'>-keywords</div><div class='del'>-lex.c</div><div class='del'>-main.c</div><div class='del'>-marshal.c</div><div class='del'>-math.c</div><div class='del'>-mkconfig.rb</div><div class='del'>-node.h</div><div class='del'>-numeric.c</div><div class='del'>-object.c</div><div class='del'>-pack.c</div><div class='del'>-parse.c</div><div class='del'>-parse.y</div><div class='del'>-prec.c</div><div class='del'>-process.c</div><div class='del'>-random.c</div><div class='del'>-range.c</div><div class='del'>-re.c</div><div class='del'>-re.h</div><div class='del'>-regex.c</div><div class='del'>-regex.h</div><div class='del'>-ruby.1</div><div class='del'>-ruby.c</div><div class='del'>-ruby.h</div><div class='del'>-rubyio.h</div><div class='del'>-rubysig.h</div><div class='del'>-rubytest.rb</div><div class='del'>-signal.c</div><div class='del'>-sprintf.c</div><div class='del'>-st.c</div><div class='del'>-st.h</div><div class='del'>-string.c</div><div class='del'>-struct.c</div><div class='del'>-time.c</div><div class='del'>-top.sed</div><div class='del'>-util.h</div><div class='del'>-util.c</div><div class='del'>-variable.c</div><div class='del'>-version.c</div><div class='del'>-version.h</div><div class='del'>-beos/ruby.def.in</div><div class='del'>-cygwin/GNUmakefile.in</div><div class='del'>-ext/Setup</div><div class='del'>-ext/Setup.dj</div><div class='del'>-ext/Setup.emx</div><div class='del'>-ext/Setup.x68</div><div class='del'>-ext/aix_mksym.rb</div><div class='del'>-ext/mswin32_extmk.rb</div><div class='del'>-ext/extmk.rb.in</div><div class='del'>-lib/English.rb</div><div class='del'>-lib/Env.rb</div><div class='del'>-lib/README</div><div class='del'>-lib/base64.rb</div><div class='del'>-lib/cgi.rb</div><div class='del'>-lib/cgi-lib.rb</div><div class='del'>-lib/complex.rb</div><div class='del'>-lib/date.rb</div><div class='del'>-lib/date2.rb</div><div class='del'>-lib/debug.rb</div><div class='del'>-lib/delegate.rb</div><div class='del'>-lib/e2mmap.rb</div><div class='del'>-lib/eregex.rb</div><div class='del'>-lib/find.rb</div><div class='del'>-lib/final.rb</div><div class='del'>-lib/finalize.rb</div><div class='del'>-lib/ftplib.rb</div><div class='del'>-lib/ftools.rb</div><div class='del'>-lib/getopts.rb</div><div class='del'>-lib/getoptlong.rb</div><div class='del'>-lib/importenv.rb</div><div class='del'>-lib/irb/bind.rb</div><div class='del'>-lib/irb/completion.rb</div><div class='del'>-lib/irb/frame.rb</div><div class='del'>-lib/irb/input-method.rb</div><div class='del'>-lib/irb/loader.rb</div><div class='del'>-lib/irb/main.rb</div><div class='del'>-lib/irb/multi-irb.rb</div><div class='del'>-lib/irb/ruby-lex.rb</div><div class='del'>-lib/irb/ruby-token.rb</div><div class='del'>-lib/irb/slex.rb</div><div class='del'>-lib/irb/version.rb</div><div class='del'>-lib/irb/xmp.rb</div><div class='del'>-lib/jcode.rb</div><div class='del'>-lib/mailread.rb</div><div class='del'>-lib/mathn.rb</div><div class='del'>-lib/matrix.rb</div><div class='del'>-lib/mkmf.rb</div><div class='del'>-lib/monitor.rb</div><div class='del'>-lib/mutex_m.rb</div><div class='del'>-lib/net/pop.rb</div><div class='del'>-lib/net/session.rb</div><div class='del'>-lib/net/smtp.rb</div><div class='del'>-lib/observer.rb</div><div class='del'>-lib/open3.rb</div><div class='del'>-lib/ostruct.rb</div><div class='del'>-lib/parsearg.rb</div><div class='del'>-lib/parsedate.rb</div><div class='del'>-lib/ping.rb</div><div class='del'>-lib/profile.rb</div><div class='del'>-lib/pstore.rb</div><div class='del'>-lib/rational.rb</div><div class='del'>-lib/readbytes.rb</div><div class='del'>-lib/shellwords.rb</div><div class='del'>-lib/singleton.rb</div><div class='del'>-lib/sync.rb</div><div class='del'>-lib/telnet.rb</div><div class='del'>-lib/tempfile.rb</div><div class='del'>-lib/thread.rb</div><div class='del'>-lib/thwait.rb</div><div class='del'>-lib/timeout.rb</div><div class='del'>-lib/tracer.rb</div><div class='del'>-lib/weakref.rb</div><div class='del'>-misc/README</div><div class='del'>-misc/inf-ruby.el</div><div class='del'>-misc/ruby-mode.el</div><div class='del'>-misc/rubydb2x.el</div><div class='del'>-misc/rubydb3x.el</div><div class='del'>-missing/alloca.c</div><div class='del'>-missing/crypt.c</div><div class='del'>-missing/dir.h</div><div class='del'>-missing/dup2.c</div><div class='del'>-missing/file.h</div><div class='del'>-missing/finite.c</div><div class='del'>-missing/flock.c</div><div class='del'>-missing/fnmatch.c</div><div class='del'>-missing/fnmatch.h</div><div class='del'>-missing/isinf.c</div><div class='del'>-missing/isnan.c</div><div class='del'>-missing/memcmp.c</div><div class='del'>-missing/memmove.c</div><div class='del'>-missing/mkdir.c</div><div class='del'>-missing/os2.c</div><div class='del'>-missing/strcasecmp.c</div><div class='del'>-missing/strncasecmp.c</div><div class='del'>-missing/strchr.c</div><div class='del'>-missing/strdup.c</div><div class='del'>-missing/strerror.c</div><div class='del'>-missing/strftime.c</div><div class='del'>-missing/strstr.c</div><div class='del'>-missing/strtod.c</div><div class='del'>-missing/strtol.c</div><div class='del'>-missing/strtoul.c</div><div class='del'>-missing/vsnprintf.c</div><div class='del'>-missing/x68.c</div><div class='del'>-sample/README</div><div class='del'>-sample/biorhythm.rb</div><div class='del'>-sample/cal.rb</div><div class='del'>-sample/cbreak.rb</div><div class='del'>-sample/clnt.rb</div><div class='del'>-sample/dbmtest.rb</div><div class='del'>-sample/dir.rb</div><div class='del'>-sample/dualstack-fetch.rb</div><div class='del'>-sample/dualstack-httpd.rb</div><div class='del'>-sample/eval.rb</div><div class='del'>-sample/export.rb</div><div class='del'>-sample/exyacc.rb</div><div class='del'>-sample/fact.rb</div><div class='del'>-sample/fib.awk</div><div class='del'>-sample/fib.pl</div><div class='del'>-sample/fib.py</div><div class='del'>-sample/fib.rb</div><div class='del'>-sample/fib.scm</div><div class='del'>-sample/freq.rb</div><div class='del'>-sample/from.rb</div><div class='del'>-sample/fullpath.rb</div><div class='del'>-sample/getopts.test</div><div class='del'>-sample/goodfriday.rb</div><div class='del'>-sample/irb.rb</div><div class='del'>-sample/less.rb</div><div class='del'>-sample/list.rb</div><div class='del'>-sample/list2.rb</div><div class='del'>-sample/list3.rb</div><div class='del'>-sample/mine.rb</div><div class='del'>-sample/mkproto.rb</div><div class='del'>-sample/mpart.rb</div><div class='del'>-sample/mrshtest.rb</div><div class='del'>-sample/observ.rb</div><div class='del'>-sample/occur.pl</div><div class='del'>-sample/occur.rb</div><div class='del'>-sample/occur2.rb</div><div class='del'>-sample/philos.rb</div><div class='del'>-sample/pi.rb</div><div class='del'>-sample/rename.rb</div><div class='del'>-sample/rcs.awk</div><div class='del'>-sample/rcs.dat</div><div class='del'>-sample/rcs.rb</div><div class='del'>-sample/rd2html.rb</div><div class='del'>-sample/regx.rb</div><div class='del'>-sample/sieve.rb</div><div class='del'>-sample/svr.rb</div><div class='del'>-sample/test.rb</div><div class='del'>-sample/time.rb</div><div class='del'>-sample/trojan.rb</div><div class='del'>-sample/tsvr.rb</div><div class='del'>-sample/uumerge.rb</div><div class='del'>-win32/Makefile</div><div class='del'>-win32/config.h</div><div class='del'>-win32/config.status</div><div class='del'>-win32/ntsetup.bat</div><div class='del'>-win32/ruby.def</div><div class='del'>-win32/sdbm.c</div><div class='del'>-win32/sdbm.h</div><div class='del'>-win32/win32.c</div><div class='del'>-win32/win32.h</div><div class='del'>-x68/fconvert.c</div><div class='del'>-x68/select.c</div><div class='del'>-x68/_dtos18.c</div><div class='del'>-x68/_round.c</div><div class='head'>diff --git a/Makefile.in b/Makefile.in<br/>deleted file mode 100644<br/>index 865318ba70..0000000000<br/>--- a/<a href='/ruby.git/tree/Makefile.in?h=v3_0_0&amp;id=cfb52c86678519810cfa84b564a3d32a9200139d'>Makefile.in</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,262 +0,0 @@</div><div class='del'>-SHELL = /bin/sh</div><div class='del'>-</div><div class='del'>-#### Start of system configuration section. ####</div><div class='del'>-</div><div class='del'>-srcdir = @srcdir@</div><div class='del'>-VPATH = @srcdir@:@srcdir@/missing</div><div class='del'>-</div><div class='del'>-CC = @CC@</div><div class='del'>-YACC = @YACC@</div><div class='del'>-PURIFY =</div><div class='del'>-AUTOCONF = autoconf</div><div class='del'>-@SET_MAKE@</div><div class='del'>-</div><div class='del'>-prefix = @prefix@</div><div class='del'>-CFLAGS = @CFLAGS@ -I. -I@srcdir@ -I@includedir@</div><div class='del'>-LDFLAGS = @STATIC@ $(CFLAGS) @LDFLAGS@</div><div class='del'>-XLDFLAGS = @XLDFLAGS@</div><div class='del'>-EXTLIBS = </div><div class='del'>-LIBS = @LIBS@ $(EXTLIBS)</div><div class='del'>-MISSING = @LIBOBJS@ @ALLOCA@</div><div class='del'>-LDSHARED = @LIBRUBY_LDSHARED@</div><div class='del'>-DLDFLAGS = @LIBRUBY_DLDFLAGS@</div><div class='del'>-SOLIBS = @SOLIBS@</div><div class='del'>-</div><div class='del'>-RUBY_INSTALL_NAME=@RUBY_INSTALL_NAME@</div><div class='del'>-EXEEXT = @EXEEXT@</div><div class='del'>-PROGRAM=$(RUBY_INSTALL_NAME)$(EXEEXT)</div><div class='del'>-</div><div class='del'>-#### End of system configuration section. ####</div><div class='del'>-</div><div class='del'>-MAJOR=	@MAJOR@</div><div class='del'>-MINOR=	@MINOR@</div><div class='del'>-TEENY=	@TEENY@</div><div class='del'>-</div><div class='del'>-LIBRUBY_A     = @LIBRUBY_A@</div><div class='del'>-LIBRUBY_SO    = @LIBRUBY_SO@</div><div class='del'>-LIBRUBY_ALIASES= @LIBRUBY_ALIASES@</div><div class='del'>-LIBRUBY	      = @LIBRUBY@</div><div class='del'>-LIBRUBYARG    = @LIBRUBYARG@</div><div class='del'>-</div><div class='del'>-EXTOBJS	      = </div><div class='del'>-</div><div class='del'>-MAINOBJ	      = main.@OBJEXT@</div><div class='del'>-</div><div class='del'>-OBJS	      = array.@OBJEXT@ \</div><div class='del'>-		bignum.@OBJEXT@ \</div><div class='del'>-		class.@OBJEXT@ \</div><div class='del'>-		compar.@OBJEXT@ \</div><div class='del'>-		dir.@OBJEXT@ \</div><div class='del'>-		dln.@OBJEXT@ \</div><div class='del'>-		enum.@OBJEXT@ \</div><div class='del'>-		error.@OBJEXT@ \</div><div class='del'>-		eval.@OBJEXT@ \</div><div class='del'>-		file.@OBJEXT@ \</div><div class='del'>-		gc.@OBJEXT@ \</div><div class='del'>-		hash.@OBJEXT@ \</div><div class='del'>-		inits.@OBJEXT@ \</div><div class='del'>-		io.@OBJEXT@ \</div><div class='del'>-		marshal.@OBJEXT@ \</div><div class='del'>-		math.@OBJEXT@ \</div><div class='del'>-		numeric.@OBJEXT@ \</div><div class='del'>-		object.@OBJEXT@ \</div><div class='del'>-		pack.@OBJEXT@ \</div><div class='del'>-		parse.@OBJEXT@ \</div><div class='del'>-		process.@OBJEXT@ \</div><div class='del'>-		prec.@OBJEXT@ \</div><div class='del'>-		random.@OBJEXT@ \</div><div class='del'>-		range.@OBJEXT@ \</div><div class='del'>-		re.@OBJEXT@ \</div><div class='del'>-		regex.@OBJEXT@ \</div><div class='del'>-		ruby.@OBJEXT@ \</div><div class='del'>-		signal.@OBJEXT@ \</div><div class='del'>-		sprintf.@OBJEXT@ \</div><div class='del'>-		st.@OBJEXT@ \</div><div class='del'>-		string.@OBJEXT@ \</div><div class='del'>-		struct.@OBJEXT@ \</div><div class='del'>-		time.@OBJEXT@ \</div><div class='del'>-		util.@OBJEXT@ \</div><div class='del'>-		variable.@OBJEXT@ \</div><div class='del'>-		version.@OBJEXT@ \</div><div class='del'>-		$(MISSING)</div><div class='del'>-</div><div class='del'>-all:		miniruby$(EXEEXT) rbconfig.rb</div><div class='del'>-		@./miniruby$(EXEEXT) -Xext extmk.rb @EXTSTATIC@</div><div class='del'>-</div><div class='del'>-miniruby$(EXEEXT):	config.status $(LIBRUBY_A) $(MAINOBJ) dmyext.@OBJEXT@</div><div class='del'>-		@rm -f $@</div><div class='del'>-		$(PURIFY) $(CC) $(LDFLAGS) $(MAINOBJ) dmyext.@OBJEXT@ $(LIBRUBY_A) $(LIBS) -o $@</div><div class='del'>-</div><div class='del'>-$(PROGRAM):     $(LIBRUBY) $(MAINOBJ) $(EXTOBJS) </div><div class='del'>-		@rm -f $@</div><div class='del'>-		$(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) $(MAINOBJ) $(EXTOBJS) $(LIBRUBYARG) $(LIBS) -o $@</div><div class='del'>-</div><div class='del'>-$(LIBRUBY_A):	$(OBJS) dmyext.@OBJEXT@</div><div class='del'>-		@AR@ rcu $@ $(OBJS) dmyext.@OBJEXT@</div><div class='del'>-		@-@RANLIB@ $@ 2&gt; /dev/null || true</div><div class='del'>-</div><div class='del'>-$(LIBRUBY_SO):	$(OBJS) dmyext.@OBJEXT@</div><div class='del'>-		$(LDSHARED) $(DLDFLAGS) $(SOLIBS) $(OBJS) dmyext.@OBJEXT@ -o $@</div><div class='del'>-		@-./miniruby -e 'ARGV.each{|link| File.delete link if File.exist? link; \</div><div class='del'>-						  File.symlink "$(LIBRUBY_SO)", link}' \</div><div class='del'>-				$(LIBRUBY_ALIASES) || true</div><div class='del'>-</div><div class='del'>-install:	rbconfig.rb</div><div class='del'>-		./miniruby$(EXEEXT) $(srcdir)/instruby.rb $(DESTDIR)</div><div class='del'>-</div><div class='del'>-clean:;		@rm -f $(OBJS) $(LIBRUBY_A) $(LIBRUBY_SO) $(LIBRUBY_ALIASES) $(MAINOBJ) rbconfig.rb</div><div class='del'>-		@rm -f ext/extinit.c ext/extinit.@OBJEXT@ dmyext.@OBJEXT@</div><div class='del'>-		@-./miniruby$(EXEEXT) -Xext extmk.rb clean 2&gt; /dev/null || true</div><div class='del'>-		@rm -f $(PROGRAM) miniruby$(EXEEXT)</div><div class='del'>-</div><div class='del'>-distclean:	clean</div><div class='del'>-		@rm -f Makefile ext/extmk.rb config.h</div><div class='del'>-		@rm -f ext/config.cache config.cache config.log config.status</div><div class='del'>-		@rm -f *~ core *.core gmon.out y.tab.c y.output ruby.imp</div><div class='del'>-</div><div class='del'>-realclean:	distclean</div><div class='del'>-		@rm -f parse.c</div><div class='del'>-		@rm -f lex.c</div><div class='del'>-</div><div class='del'>-test:		miniruby$(EXEEXT)</div><div class='del'>-		@./miniruby$(EXEEXT) $(srcdir)/rubytest.rb</div><div class='del'>-</div><div class='del'>-rbconfig.rb:	miniruby$(EXEEXT)</div><div class='del'>-		@./miniruby$(EXEEXT) $(srcdir)/mkconfig.rb rbconfig.rb</div><div class='del'>-</div><div class='del'>-config.status:	$(srcdir)/configure</div><div class='del'>-		$(SHELL) ./config.status --recheck</div><div class='del'>-</div><div class='del'>-$(srcdir)/configure: $(srcdir)/configure.in</div><div class='del'>-		cd $(srcdir) &amp;&amp; $(AUTOCONF)</div><div class='del'>-</div><div class='del'>-.c.@OBJEXT@:</div><div class='del'>-	$(CC) $(CFLAGS) $(CPPFLAGS) -c $&lt;</div><div class='del'>-</div><div class='del'>-lex.c: keywords</div><div class='del'>-	gperf -p -j1 -i 1 -g -o -t -N rb_reserved_word -k1,3,$$ @srcdir@/keywords &gt; lex.c</div><div class='del'>-</div><div class='del'>-parse.c: parse.y</div><div class='del'>-	$(YACC) $&lt;</div><div class='del'>-	mv -f y.tab.c parse.c</div><div class='del'>-</div><div class='del'>-alloca.@OBJEXT@: @srcdir@/missing/alloca.c</div><div class='del'>-	$(CC) -I. $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/alloca.c</div><div class='del'>-</div><div class='del'>-crypt.@OBJEXT@: @srcdir@/missing/crypt.c</div><div class='del'>-	$(CC) -I. $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/crypt.c</div><div class='del'>-</div><div class='del'>-dup2.@OBJEXT@: @srcdir@/missing/dup2.c</div><div class='del'>-	$(CC) -I. $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/dup2.c</div><div class='del'>-</div><div class='del'>-finite.@OBJEXT@: @srcdir@/missing/finite.c</div><div class='del'>-	$(CC) -I. $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/finite.c</div><div class='del'>-</div><div class='del'>-flock.@OBJEXT@: @srcdir@/missing/flock.c</div><div class='del'>-	$(CC) -I. $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/flock.c</div><div class='del'>-</div><div class='del'>-isinf.@OBJEXT@: @srcdir@/missing/isinf.c</div><div class='del'>-	$(CC) -I. $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/isinf.c</div><div class='del'>-</div><div class='del'>-isnan.@OBJEXT@: @srcdir@/missing/isnan.c</div><div class='del'>-	$(CC) -I. $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/isnan.c</div><div class='del'>-</div><div class='del'>-fnmatch.@OBJEXT@: @srcdir@/missing/fnmatch.c</div><div class='del'>-	$(CC) -I. $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/fnmatch.c</div><div class='del'>-</div><div class='del'>-memcmp.@OBJEXT@: @srcdir@/missing/memcmp.c</div><div class='del'>-	$(CC) $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/memcmp.c</div><div class='del'>-</div><div class='del'>-memmove.@OBJEXT@: @srcdir@/missing/memmove.c</div><div class='del'>-	$(CC) $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/memmove.c</div><div class='del'>-</div><div class='del'>-mkdir.@OBJEXT@: @srcdir@/missing/mkdir.c</div><div class='del'>-	$(CC) $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/mkdir.c</div><div class='del'>-</div><div class='del'>-vsnprintf.@OBJEXT@: @srcdir@/missing/vsnprintf.c</div><div class='del'>-	$(CC) $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/vsnprintf.c</div><div class='del'>-</div><div class='del'>-strcasecmp.@OBJEXT@: @srcdir@/missing/strcasecmp.c</div><div class='del'>-	$(CC) $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/strcasecmp.c</div><div class='del'>-</div><div class='del'>-strncasecmp.@OBJEXT@: @srcdir@/missing/strncasecmp.c</div><div class='del'>-	$(CC) $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/strncasecmp.c</div><div class='del'>-</div><div class='del'>-strchr.@OBJEXT@: @srcdir@/missing/strchr.c</div><div class='del'>-	$(CC) $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/strchr.c</div><div class='del'>-</div><div class='del'>-strdup.@OBJEXT@: @srcdir@/missing/strdup.c</div><div class='del'>-	$(CC) $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/strdup.c</div><div class='del'>-</div><div class='del'>-strerror.@OBJEXT@: @srcdir@/missing/strerror.c</div><div class='del'>-	$(CC) $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/strerror.c</div><div class='del'>-</div><div class='del'>-strftime.@OBJEXT@: @srcdir@/missing/strftime.c</div><div class='del'>-	$(CC) -I. $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/strftime.c</div><div class='del'>-</div><div class='del'>-strstr.@OBJEXT@: @srcdir@/missing/strstr.c</div><div class='del'>-	$(CC) $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/strstr.c</div><div class='del'>-</div><div class='del'>-strtod.@OBJEXT@: @srcdir@/missing/strtod.c</div><div class='del'>-	$(CC) $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/strtod.c</div><div class='del'>-</div><div class='del'>-strtol.@OBJEXT@: @srcdir@/missing/strtol.c</div><div class='del'>-	$(CC) $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/strtol.c</div><div class='del'>-</div><div class='del'>-strtoul.@OBJEXT@: @srcdir@/missing/strtoul.c</div><div class='del'>-	$(CC) $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/strtoul.c</div><div class='del'>-</div><div class='del'>-nt.@OBJEXT@: @srcdir@/missing/nt.c</div><div class='del'>-	$(CC) $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/nt.c</div><div class='del'>-</div><div class='del'>-x68.@OBJEXT@: @srcdir@/missing/x68.c</div><div class='del'>-	$(CC) $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/x68.c</div><div class='del'>-</div><div class='del'>-os2.@OBJEXT@: @srcdir@/missing/os2.c</div><div class='del'>-	$(CC) $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/os2.c</div><div class='del'>-</div><div class='del'>-dl_os2.@OBJEXT@: @srcdir@/missing/dl_os2.c</div><div class='del'>-	$(CC) $(CFLAGS) $(CPPFLAGS) -c @srcdir@/missing/dl_os2.c</div><div class='del'>-</div><div class='del'>-# Prevent GNU make v3 from overflowing arg limit on SysV.</div><div class='del'>-.NOEXPORT:</div><div class='del'>-###</div><div class='del'>-parse.@OBJEXT@: parse.y ruby.h config.h defines.h intern.h env.h node.h st.h regex.h util.h lex.c</div><div class='del'>-###</div><div class='del'>-array.@OBJEXT@: array.c ruby.h config.h defines.h intern.h</div><div class='del'>-bignum.@OBJEXT@: bignum.c ruby.h config.h defines.h intern.h</div><div class='del'>-class.@OBJEXT@: class.c ruby.h config.h defines.h intern.h node.h st.h</div><div class='del'>-compar.@OBJEXT@: compar.c ruby.h config.h defines.h intern.h</div><div class='del'>-dir.@OBJEXT@: dir.c ruby.h config.h defines.h intern.h</div><div class='del'>-dln.@OBJEXT@: dln.c config.h defines.h dln.h</div><div class='del'>-dmyext.@OBJEXT@: dmyext.c</div><div class='del'>-enum.@OBJEXT@: enum.c ruby.h config.h defines.h intern.h</div><div class='del'>-error.@OBJEXT@: error.c ruby.h config.h defines.h intern.h env.h</div><div class='del'>-eval.@OBJEXT@: eval.c ruby.h config.h defines.h intern.h node.h env.h rubysig.h st.h dln.h</div><div class='del'>-file.@OBJEXT@: file.c ruby.h config.h defines.h intern.h rubyio.h rubysig.h</div><div class='del'>-gc.@OBJEXT@: gc.c ruby.h config.h defines.h intern.h rubysig.h st.h node.h env.h re.h regex.h</div><div class='del'>-hash.@OBJEXT@: hash.c ruby.h config.h defines.h intern.h st.h rubysig.h util.h</div><div class='del'>-inits.@OBJEXT@: inits.c ruby.h config.h defines.h intern.h</div><div class='del'>-io.@OBJEXT@: io.c ruby.h config.h defines.h intern.h rubyio.h rubysig.h env.h</div><div class='del'>-main.@OBJEXT@: main.c ruby.h config.h defines.h intern.h</div><div class='del'>-marshal.@OBJEXT@: marshal.c ruby.h config.h defines.h intern.h rubyio.h st.h</div><div class='del'>-prec.@OBJEXT@: prec.c ruby.h config.h defines.h intern.h</div><div class='del'>-math.@OBJEXT@: math.c ruby.h config.h defines.h intern.h</div><div class='del'>-numeric.@OBJEXT@: numeric.c ruby.h config.h defines.h intern.h</div><div class='del'>-object.@OBJEXT@: object.c ruby.h config.h defines.h intern.h st.h</div><div class='del'>-pack.@OBJEXT@: pack.c ruby.h config.h defines.h intern.h</div><div class='del'>-process.@OBJEXT@: process.c ruby.h config.h defines.h intern.h rubysig.h st.h</div><div class='del'>-random.@OBJEXT@: random.c ruby.h config.h defines.h intern.h</div><div class='del'>-range.@OBJEXT@: range.c ruby.h config.h defines.h intern.h</div><div class='del'>-re.@OBJEXT@: re.c ruby.h config.h defines.h intern.h re.h regex.h</div><div class='del'>-regex.@OBJEXT@: regex.c config.h regex.h util.h</div><div class='del'>-ruby.@OBJEXT@: ruby.c ruby.h config.h defines.h intern.h dln.h util.h</div><div class='del'>-signal.@OBJEXT@: signal.c ruby.h config.h defines.h intern.h rubysig.h</div><div class='del'>-sprintf.@OBJEXT@: sprintf.c ruby.h config.h defines.h intern.h</div><div class='del'>-st.@OBJEXT@: st.c config.h st.h</div><div class='del'>-string.@OBJEXT@: string.c ruby.h config.h defines.h intern.h re.h regex.h</div><div class='del'>-struct.@OBJEXT@: struct.c ruby.h config.h defines.h intern.h</div><div class='del'>-time.@OBJEXT@: time.c ruby.h config.h defines.h intern.h</div><div class='del'>-util.@OBJEXT@: util.c ruby.h config.h defines.h intern.h util.h</div><div class='del'>-variable.@OBJEXT@: variable.c ruby.h config.h defines.h intern.h env.h node.h st.h</div><div class='del'>-version.@OBJEXT@: version.c ruby.h config.h defines.h intern.h version.h</div><div class='head'>diff --git a/NEWS.md b/NEWS.md<br/>new file mode 100644<br/>index 0000000000..2dcfacb6e2<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/NEWS.md?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>NEWS.md</a></div><div class='hunk'>@@ -0,0 +1,820 @@</div><div class='add'>+# NEWS for Ruby 3.0.0</div><div class='add'>+</div><div class='add'>+This document is a list of user visible feature changes</div><div class='add'>+since the **2.7.0** release, except for bug fixes.</div><div class='add'>+</div><div class='add'>+Note that each entry is kept so brief that no reason behind or reference</div><div class='add'>+information is supplied with.  For a full list of changes with all</div><div class='add'>+sufficient information, see the ChangeLog file or Redmine</div><div class='add'>+(e.g. `https://bugs.ruby-lang.org/issues/$FEATURE_OR_BUG_NUMBER`).</div><div class='add'>+</div><div class='add'>+## Language changes</div><div class='add'>+</div><div class='add'>+* Keyword arguments are now separated from positional arguments.</div><div class='add'>+  Code that resulted in deprecation warnings in Ruby 2.7 will now</div><div class='add'>+  result in ArgumentError or different behavior. [[Feature #14183]]</div><div class='add'>+</div><div class='add'>+* Procs accepting a single rest argument and keywords are no longer</div><div class='add'>+  subject to autosplatting.  This now matches the behavior of Procs</div><div class='add'>+  accepting a single rest argument and no keywords.</div><div class='add'>+  [[Feature #16166]]</div><div class='add'>+</div><div class='add'>+    ```ruby</div><div class='add'>+    pr = proc{|*a, **kw| [a, kw]}</div><div class='add'>+</div><div class='add'>+    pr.call([1])</div><div class='add'>+    # 2.7 =&gt; [[1], {}]</div><div class='add'>+    # 3.0 =&gt; [[[1]], {}]</div><div class='add'>+</div><div class='add'>+    pr.call([1, {a: 1}])</div><div class='add'>+    # 2.7 =&gt; [[1], {:a=&gt;1}] # and deprecation warning</div><div class='add'>+    # 3.0 =&gt; [[[1, {:a=&gt;1}]], {}]</div><div class='add'>+    ```</div><div class='add'>+</div><div class='add'>+* Arguments forwarding (`...`) now supports leading arguments.</div><div class='add'>+  [[Feature #16378]]</div><div class='add'>+</div><div class='add'>+    ```ruby</div><div class='add'>+    def method_missing(meth, ...)</div><div class='add'>+      send(:"do_#{meth}", ...)</div><div class='add'>+    end</div><div class='add'>+    ```</div><div class='add'>+</div><div class='add'>+* Pattern matching (`case/in`) is no longer experimental. [[Feature #17260]]</div><div class='add'>+</div><div class='add'>+* One-line pattern matching is redesigned.  [EXPERIMENTAL]</div><div class='add'>+</div><div class='add'>+    * `=&gt;` is added. It can be used like a rightward assignment.</div><div class='add'>+      [[Feature #17260]]</div><div class='add'>+</div><div class='add'>+        ```ruby</div><div class='add'>+        0 =&gt; a</div><div class='add'>+        p a #=&gt; 0</div><div class='add'>+</div><div class='add'>+        {b: 0, c: 1} =&gt; {b:}</div><div class='add'>+        p b #=&gt; 0</div><div class='add'>+        ```</div><div class='add'>+</div><div class='add'>+    * `in` is changed to return `true` or `false`. [[Feature #17371]]</div><div class='add'>+</div><div class='add'>+        ```ruby</div><div class='add'>+        # version 3.0</div><div class='add'>+        0 in 1 #=&gt; false</div><div class='add'>+</div><div class='add'>+        # version 2.7</div><div class='add'>+        0 in 1 #=&gt; raise NoMatchingPatternError</div><div class='add'>+        ```</div><div class='add'>+</div><div class='add'>+* Find-pattern is added.  [EXPERIMENTAL]</div><div class='add'>+  [[Feature #16828]]</div><div class='add'>+</div><div class='add'>+    ```ruby</div><div class='add'>+    case ["a", 1, "b", "c", 2, "d", "e", "f", 3]</div><div class='add'>+    in [*pre, String =&gt; x, String =&gt; y, *post]</div><div class='add'>+      p pre  #=&gt; ["a", 1]</div><div class='add'>+      p x    #=&gt; "b"</div><div class='add'>+      p y    #=&gt; "c"</div><div class='add'>+      p post #=&gt; [2, "d", "e", "f", 3]</div><div class='add'>+    end</div><div class='add'>+    ```</div><div class='add'>+</div><div class='add'>+* Endless method definition is added.  [EXPERIMENTAL]</div><div class='add'>+  [[Feature #16746]]</div><div class='add'>+</div><div class='add'>+    ```ruby</div><div class='add'>+    def square(x) = x * x</div><div class='add'>+    ```</div><div class='add'>+</div><div class='add'>+* Interpolated String literals are no longer frozen when</div><div class='add'>+  `# frozen-string-literal: true` is used. [[Feature #17104]]</div><div class='add'>+</div><div class='add'>+* Magic comment `shareable_constant_value` added to freeze constants.</div><div class='add'>+  See {Magic Comments}[rdoc-ref:doc/syntax/comments.rdoc@Magic+Comments] for more details.</div><div class='add'>+  [[Feature #17273]]</div><div class='add'>+</div><div class='add'>+* A {static analysis}[rdoc-label:label-Static+analysis] foundation is</div><div class='add'>+  introduced.</div><div class='add'>+    * {RBS}[rdoc-label:label-RBS] is introduced. It is a type definition</div><div class='add'>+      language for Ruby programs.</div><div class='add'>+    * {TypeProf}[rdoc-label:label-TypeProf] is experimentally bundled. It is a</div><div class='add'>+      type analysis tool for Ruby programs.</div><div class='add'>+</div><div class='add'>+* Deprecation warnings are no longer shown by default (since Ruby 2.7.2).</div><div class='add'>+  Turn them on with `-W:deprecated` (or with `-w` to show other warnings too).</div><div class='add'>+  [[Feature #16345]]</div><div class='add'>+</div><div class='add'>+* $SAFE and $KCODE are now normal global variables with no special behavior.</div><div class='add'>+  C-API methods related to $SAFE have been removed.</div><div class='add'>+  [[Feature #16131]] [[Feature #17136]]</div><div class='add'>+</div><div class='add'>+* yield in singleton class definitions in methods is now a SyntaxError</div><div class='add'>+  instead of a warning. yield in a class definition outside of a method</div><div class='add'>+  is now a SyntaxError instead of a LocalJumpError.  [[Feature #15575]]</div><div class='add'>+</div><div class='add'>+* When a class variable is overtaken by the same definition in an</div><div class='add'>+  ancestor class/module, a RuntimeError is now raised (previously,</div><div class='add'>+  it only issued a warning in verbose mode).  Additionally, accessing a</div><div class='add'>+  class variable from the toplevel scope is now a RuntimeError.</div><div class='add'>+  [[Bug #14541]]</div><div class='add'>+</div><div class='add'>+* Assigning to a numbered parameter is now a SyntaxError instead of</div><div class='add'>+  a warning.</div><div class='add'>+</div><div class='add'>+## Command line options</div><div class='add'>+</div><div class='add'>+### `--help` option</div><div class='add'>+</div><div class='add'>+When the environment variable `RUBY_PAGER` or `PAGER` is present and has</div><div class='add'>+a non-empty value, and the standard input and output are tty, the `--help`</div><div class='add'>+option shows the help message via the pager designated by the value.</div><div class='add'>+[[Feature #16754]]</div><div class='add'>+</div><div class='add'>+### `--backtrace-limit` option</div><div class='add'>+</div><div class='add'>+The `--backtrace-limit` option limits the maximum length of a backtrace.</div><div class='add'>+[[Feature #8661]]</div><div class='add'>+</div><div class='add'>+## Core classes updates</div><div class='add'>+</div><div class='add'>+Outstanding ones only.</div><div class='add'>+</div><div class='add'>+* Array</div><div class='add'>+</div><div class='add'>+    * The following methods now return Array instances instead of</div><div class='add'>+      subclass instances when called on subclass instances:</div><div class='add'>+      [[Bug #6087]]</div><div class='add'>+</div><div class='add'>+        * Array#drop</div><div class='add'>+        * Array#drop_while</div><div class='add'>+        * Array#flatten</div><div class='add'>+        * Array#slice!</div><div class='add'>+        * Array#slice / Array#[]</div><div class='add'>+        * Array#take</div><div class='add'>+        * Array#take_while</div><div class='add'>+        * Array#uniq</div><div class='add'>+        * Array#*</div><div class='add'>+</div><div class='add'>+    * Can be sliced with Enumerator::ArithmeticSequence</div><div class='add'>+</div><div class='add'>+        ```ruby</div><div class='add'>+        dirty_data = ['--', 'data1', '--', 'data2', '--', 'data3']</div><div class='add'>+        dirty_data[(1..).step(2)] # take each second element</div><div class='add'>+        # =&gt; ["data1", "data2", "data3"]</div><div class='add'>+        ```</div><div class='add'>+</div><div class='add'>+* Binding</div><div class='add'>+</div><div class='add'>+    * Binding#eval when called with one argument will use "(eval)"</div><div class='add'>+      for `__FILE__` and 1 for `__LINE__` in the evaluated code.</div><div class='add'>+      [[Bug #4352]] [[Bug #17419]]</div><div class='add'>+</div><div class='add'>+* ConditionVariable</div><div class='add'>+</div><div class='add'>+    * ConditionVariable#wait may now invoke the `block`/`unblock` scheduler</div><div class='add'>+      hooks in a non-blocking context. [[Feature #16786]]</div><div class='add'>+</div><div class='add'>+* Dir</div><div class='add'>+</div><div class='add'>+    * Dir.glob and Dir.[] now sort the results by default, and</div><div class='add'>+      accept the `sort:` keyword option.  [[Feature #8709]]</div><div class='add'>+</div><div class='add'>+* ENV</div><div class='add'>+</div><div class='add'>+    * ENV.except has been added, which returns a hash excluding the</div><div class='add'>+      given keys and their values.  [[Feature #15822]]</div><div class='add'>+</div><div class='add'>+    * Windows: Read ENV names and values as UTF-8 encoded Strings</div><div class='add'>+      [[Feature #12650]]</div><div class='add'>+</div><div class='add'>+* Encoding</div><div class='add'>+</div><div class='add'>+    * Added new encoding IBM720.  [[Feature #16233]]</div><div class='add'>+</div><div class='add'>+    * Changed default for Encoding.default_external to UTF-8 on Windows</div><div class='add'>+      [[Feature #16604]]</div><div class='add'>+</div><div class='add'>+* Fiber</div><div class='add'>+</div><div class='add'>+    * Fiber.new(blocking: true/false) allows you to create non-blocking</div><div class='add'>+      execution contexts. [[Feature #16786]]</div><div class='add'>+</div><div class='add'>+    * Fiber#blocking? tells whether the fiber is non-blocking. [[Feature #16786]]</div><div class='add'>+</div><div class='add'>+    * Fiber#backtrace and Fiber#backtrace_locations provide per-fiber backtrace.</div><div class='add'>+      [[Feature #16815]]</div><div class='add'>+</div><div class='add'>+    * The limitation of Fiber#transfer is relaxed. [[Bug #17221]]</div><div class='add'>+</div><div class='add'>+* GC</div><div class='add'>+</div><div class='add'>+    * GC.auto_compact= and GC.auto_compact have been added to control</div><div class='add'>+      when compaction runs.  Setting `auto_compact=` to true will cause</div><div class='add'>+      compaction to occur during major collections.  At the moment,</div><div class='add'>+      compaction adds significant overhead to major collections, so please</div><div class='add'>+      test first!  [[Feature #17176]]</div><div class='add'>+</div><div class='add'>+* Hash</div><div class='add'>+</div><div class='add'>+    * Hash#transform_keys and Hash#transform_keys! now accept a hash that maps</div><div class='add'>+      keys to new keys.  [[Feature #16274]]</div><div class='add'>+</div><div class='add'>+    * Hash#except has been added, which returns a hash excluding the</div><div class='add'>+      given keys and their values.  [[Feature #15822]]</div><div class='add'>+</div><div class='add'>+* IO</div><div class='add'>+</div><div class='add'>+    * IO#nonblock? now defaults to `true`. [[Feature #16786]]</div><div class='add'>+</div><div class='add'>+    * IO#wait_readable, IO#wait_writable, IO#read, IO#write and other</div><div class='add'>+      related methods (e.g. IO#puts, IO#gets) may invoke the scheduler hook</div><div class='add'>+      `#io_wait(io, events, timeout)` in a non-blocking execution context.</div><div class='add'>+      [[Feature #16786]]</div><div class='add'>+</div><div class='add'>+* Kernel</div><div class='add'>+</div><div class='add'>+    * Kernel#clone when called with the `freeze: false` keyword will call</div><div class='add'>+      `#initialize_clone` with the `freeze: false` keyword.</div><div class='add'>+      [[Bug #14266]]</div><div class='add'>+</div><div class='add'>+    * Kernel#clone when called with the `freeze: true` keyword will call</div><div class='add'>+      `#initialize_clone` with the `freeze: true` keyword, and will</div><div class='add'>+      return a frozen copy even if the receiver is unfrozen.</div><div class='add'>+      [[Feature #16175]]</div><div class='add'>+</div><div class='add'>+    * Kernel#eval when called with two arguments will use "(eval)"</div><div class='add'>+      for `__FILE__` and 1 for `__LINE__` in the evaluated code.</div><div class='add'>+      [[Bug #4352]]</div><div class='add'>+</div><div class='add'>+    * Kernel#lambda now warns if called without a literal block.</div><div class='add'>+      [[Feature #15973]]</div><div class='add'>+</div><div class='add'>+    * Kernel.sleep invokes the scheduler hook `#kernel_sleep(...)` in a</div><div class='add'>+      non-blocking execution context. [[Feature #16786]]</div><div class='add'>+</div><div class='add'>+* Module</div><div class='add'>+</div><div class='add'>+    * Module#include and Module#prepend now affect classes and modules</div><div class='add'>+      that have already included or prepended the receiver, mirroring the</div><div class='add'>+      behavior if the arguments were included in the receiver before</div><div class='add'>+      the other modules and classes included or prepended the receiver.</div><div class='add'>+      [[Feature #9573]]</div><div class='add'>+</div><div class='add'>+        ```ruby</div><div class='add'>+        class C; end</div><div class='add'>+        module M1; end</div><div class='add'>+        module M2; end</div><div class='add'>+        C.include M1</div><div class='add'>+        M1.include M2</div><div class='add'>+        p C.ancestors #=&gt; [C, M1, M2, Object, Kernel, BasicObject]</div><div class='add'>+        ```</div><div class='add'>+</div><div class='add'>+    * Module#public, Module#protected, Module#private, Module#public_class_method,</div><div class='add'>+      Module#private_class_method, toplevel "private" and "public" methods</div><div class='add'>+      now accept single array argument with a list of method names. [[Feature #17314]]</div><div class='add'>+</div><div class='add'>+    * Module#attr_accessor, Module#attr_reader, Module#attr_writer and Module#attr</div><div class='add'>+      methods now return an array of defined method names as symbols.</div><div class='add'>+      [[Feature #17314]]</div><div class='add'>+</div><div class='add'>+    * Module#alias_method now returns the defined alias as a symbol.</div><div class='add'>+      [[Feature #17314]]</div><div class='add'>+</div><div class='add'>+* Mutex</div><div class='add'>+</div><div class='add'>+    * `Mutex` is now acquired per-`Fiber` instead of per-`Thread`. This change</div><div class='add'>+      should be compatible for essentially all usages and avoids blocking when</div><div class='add'>+      using a scheduler. [[Feature #16792]]</div><div class='add'>+</div><div class='add'>+* Proc</div><div class='add'>+</div><div class='add'>+    * Proc#== and Proc#eql? are now defined and will return true for</div><div class='add'>+      separate Proc instances if the procs were created from the same block.</div><div class='add'>+      [[Feature #14267]]</div><div class='add'>+</div><div class='add'>+* Queue / SizedQueue</div><div class='add'>+</div><div class='add'>+    * Queue#pop, SizedQueue#push and related methods may now invoke the</div><div class='add'>+      `block`/`unblock` scheduler hooks in a non-blocking context.</div><div class='add'>+      [[Feature #16786]]</div><div class='add'>+</div><div class='add'>+* Ractor</div><div class='add'>+</div><div class='add'>+    * New class added to enable parallel execution. See rdoc-ref:ractor.md for</div><div class='add'>+      more details.</div><div class='add'>+</div><div class='add'>+* Random</div><div class='add'>+</div><div class='add'>+    * `Random::DEFAULT` now refers to the `Random` class instead of being a `Random` instance,</div><div class='add'>+      so it can work with `Ractor`.</div><div class='add'>+      [[Feature #17322]]</div><div class='add'>+</div><div class='add'>+    * `Random::DEFAULT` is deprecated since its value is now confusing and it is no longer global,</div><div class='add'>+      use `Kernel.rand`/`Random.rand` directly, or create a `Random` instance with `Random.new` instead.</div><div class='add'>+      [[Feature #17351]]</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+* String</div><div class='add'>+</div><div class='add'>+    * The following methods now return or yield String instances</div><div class='add'>+      instead of subclass instances when called on subclass instances:</div><div class='add'>+      [[Bug #10845]]</div><div class='add'>+</div><div class='add'>+        * String#*</div><div class='add'>+        * String#capitalize</div><div class='add'>+        * String#center</div><div class='add'>+        * String#chomp</div><div class='add'>+        * String#chop</div><div class='add'>+        * String#delete</div><div class='add'>+        * String#delete_prefix</div><div class='add'>+        * String#delete_suffix</div><div class='add'>+        * String#downcase</div><div class='add'>+        * String#dump</div><div class='add'>+        * String#each_char</div><div class='add'>+        * String#each_grapheme_cluster</div><div class='add'>+        * String#each_line</div><div class='add'>+        * String#gsub</div><div class='add'>+        * String#ljust</div><div class='add'>+        * String#lstrip</div><div class='add'>+        * String#partition</div><div class='add'>+        * String#reverse</div><div class='add'>+        * String#rjust</div><div class='add'>+        * String#rpartition</div><div class='add'>+        * String#rstrip</div><div class='add'>+        * String#scrub</div><div class='add'>+        * String#slice!</div><div class='add'>+        * String#slice / String#[]</div><div class='add'>+        * String#split</div><div class='add'>+        * String#squeeze</div><div class='add'>+        * String#strip</div><div class='add'>+        * String#sub</div><div class='add'>+        * String#succ / String#next</div><div class='add'>+        * String#swapcase</div><div class='add'>+        * String#tr</div><div class='add'>+        * String#tr_s</div><div class='add'>+        * String#upcase</div><div class='add'>+</div><div class='add'>+* Symbol</div><div class='add'>+</div><div class='add'>+    * Symbol#to_proc now returns a lambda Proc.  [[Feature #16260]]</div><div class='add'>+</div><div class='add'>+    * Symbol#name has been added, which returns the name of the symbol</div><div class='add'>+      if it is named.  The returned string is frozen.  [[Feature #16150]]</div><div class='add'>+</div><div class='add'>+* Fiber</div><div class='add'>+</div><div class='add'>+    * Introduce Fiber.set_scheduler for intercepting blocking operations and</div><div class='add'>+      Fiber.scheduler for accessing the current scheduler. See</div><div class='add'>+      rdoc-ref:fiber.md for more details about what operations are supported and</div><div class='add'>+      how to implement the scheduler hooks. [[Feature #16786]]</div><div class='add'>+</div><div class='add'>+    * Fiber.blocking? tells whether the current execution context is</div><div class='add'>+      blocking. [[Feature #16786]]</div><div class='add'>+</div><div class='add'>+    * Thread#join invokes the scheduler hooks `block`/`unblock` in a</div><div class='add'>+      non-blocking execution context. [[Feature #16786]]</div><div class='add'>+</div><div class='add'>+* Thread</div><div class='add'>+</div><div class='add'>+    * Thread.ignore_deadlock accessor has been added for disabling the</div><div class='add'>+      default deadlock detection, allowing the use of signal handlers to</div><div class='add'>+      break deadlock. [[Bug #13768]]</div><div class='add'>+</div><div class='add'>+* Warning</div><div class='add'>+</div><div class='add'>+    * Warning#warn now supports a category keyword argument.</div><div class='add'>+      [[Feature #17122]]</div><div class='add'>+</div><div class='add'>+## Stdlib updates</div><div class='add'>+</div><div class='add'>+Outstanding ones only.</div><div class='add'>+</div><div class='add'>+* BigDecimal</div><div class='add'>+</div><div class='add'>+    * Update to BigDecimal 3.0.0</div><div class='add'>+</div><div class='add'>+    * This version is Ractor compatible.</div><div class='add'>+</div><div class='add'>+* Bundler</div><div class='add'>+</div><div class='add'>+    * Update to Bundler 2.2.3</div><div class='add'>+</div><div class='add'>+* CGI</div><div class='add'>+</div><div class='add'>+    * Update to 0.2.0</div><div class='add'>+</div><div class='add'>+    * This version is Ractor compatible.</div><div class='add'>+</div><div class='add'>+* CSV</div><div class='add'>+</div><div class='add'>+    * Update to CSV 3.1.9</div><div class='add'>+</div><div class='add'>+* Date</div><div class='add'>+</div><div class='add'>+    * Update to Date 3.1.1</div><div class='add'>+</div><div class='add'>+    * This version is Ractor compatible.</div><div class='add'>+</div><div class='add'>+* Digest</div><div class='add'>+</div><div class='add'>+    * Update to Digest 3.0.0</div><div class='add'>+</div><div class='add'>+    * This version is Ractor compatible.</div><div class='add'>+</div><div class='add'>+* Etc</div><div class='add'>+</div><div class='add'>+    * Update to Etc 1.2.0</div><div class='add'>+</div><div class='add'>+    * This version is Ractor compatible.</div><div class='add'>+</div><div class='add'>+* Fiddle</div><div class='add'>+</div><div class='add'>+    * Update to Fiddle 1.0.5</div><div class='add'>+</div><div class='add'>+* IRB</div><div class='add'>+</div><div class='add'>+    * Update to IRB 1.2.6</div><div class='add'>+</div><div class='add'>+* JSON</div><div class='add'>+</div><div class='add'>+    * Update to JSON 2.5.0</div><div class='add'>+</div><div class='add'>+    * This version is Ractor compatible.</div><div class='add'>+</div><div class='add'>+* Set</div><div class='add'>+</div><div class='add'>+    * Update to set 1.0.0</div><div class='add'>+</div><div class='add'>+    * SortedSet has been removed for dependency and performance reasons.</div><div class='add'>+</div><div class='add'>+    * Set#join is added as a shorthand for `.to_a.join`.</div><div class='add'>+</div><div class='add'>+    * Set#&lt;=&gt; is added.</div><div class='add'>+</div><div class='add'>+* Socket</div><div class='add'>+</div><div class='add'>+    * Add :connect_timeout to TCPSocket.new [[Feature #17187]]</div><div class='add'>+</div><div class='add'>+* Net::HTTP</div><div class='add'>+</div><div class='add'>+    * Net::HTTP#verify_hostname= and Net::HTTP#verify_hostname have been</div><div class='add'>+      added to skip hostname verification.  [[Feature #16555]]</div><div class='add'>+</div><div class='add'>+    * Net::HTTP.get, Net::HTTP.get_response, and Net::HTTP.get_print</div><div class='add'>+      can take the request headers as a Hash in the second argument when the</div><div class='add'>+      first argument is a URI.  [[Feature #16686]]</div><div class='add'>+</div><div class='add'>+* Net::SMTP</div><div class='add'>+</div><div class='add'>+    * Add SNI support.</div><div class='add'>+</div><div class='add'>+    * Net::SMTP.start arguments are keyword arguments.</div><div class='add'>+</div><div class='add'>+    * TLS should not check the host name by default.</div><div class='add'>+</div><div class='add'>+* OpenStruct</div><div class='add'>+</div><div class='add'>+    * Initialization is no longer lazy. [[Bug #12136]]</div><div class='add'>+</div><div class='add'>+    * Builtin methods can now be overridden safely. [[Bug #15409]]</div><div class='add'>+</div><div class='add'>+    * Implementation uses only methods ending with `!`.</div><div class='add'>+</div><div class='add'>+    * Ractor compatible.</div><div class='add'>+</div><div class='add'>+    * Improved support for YAML. [[Bug #8382]]</div><div class='add'>+</div><div class='add'>+    * Use officially discouraged. Read OpenStruct@Caveats section.</div><div class='add'>+</div><div class='add'>+* Pathname</div><div class='add'>+</div><div class='add'>+    * Ractor compatible.</div><div class='add'>+</div><div class='add'>+* Psych</div><div class='add'>+</div><div class='add'>+    * Update to Psych 3.3.0</div><div class='add'>+</div><div class='add'>+    * This version is Ractor compatible.</div><div class='add'>+</div><div class='add'>+* Reline</div><div class='add'>+</div><div class='add'>+    * Update to Reline 0.1.5</div><div class='add'>+</div><div class='add'>+* RubyGems</div><div class='add'>+</div><div class='add'>+    * Update to RubyGems 3.2.3</div><div class='add'>+</div><div class='add'>+* StringIO</div><div class='add'>+</div><div class='add'>+    * Update to StringIO 3.0.0</div><div class='add'>+</div><div class='add'>+    * This version is Ractor compatible.</div><div class='add'>+</div><div class='add'>+* StringScanner</div><div class='add'>+</div><div class='add'>+    * Update to StringScanner 3.0.0</div><div class='add'>+</div><div class='add'>+    * This version is Ractor compatible.</div><div class='add'>+</div><div class='add'>+## Compatibility issues</div><div class='add'>+</div><div class='add'>+Excluding feature bug fixes.</div><div class='add'>+</div><div class='add'>+* Regexp literals and all Range objects are frozen. [[Feature #8948]] [[Feature #16377]] [[Feature #15504]]</div><div class='add'>+</div><div class='add'>+    ```ruby</div><div class='add'>+    /foo/.frozen? #=&gt; true</div><div class='add'>+    (42...).frozen? # =&gt; true</div><div class='add'>+    ```</div><div class='add'>+</div><div class='add'>+* EXPERIMENTAL: Hash#each consistently yields a 2-element array. [[Bug #12706]]</div><div class='add'>+</div><div class='add'>+    * Now `{ a: 1 }.each(&amp;-&gt;(k, v) { })` raises an ArgumentError</div><div class='add'>+      due to lambda's arity check.</div><div class='add'>+</div><div class='add'>+* When writing to STDOUT redirected to a closed pipe, no broken pipe</div><div class='add'>+  error message will be shown now.  [[Feature #14413]]</div><div class='add'>+</div><div class='add'>+* `TRUE`/`FALSE`/`NIL` constants are no longer defined.</div><div class='add'>+</div><div class='add'>+* Integer#zero? overrides Numeric#zero? for optimization.  [[Misc #16961]]</div><div class='add'>+</div><div class='add'>+* Enumerable#grep and Enumerable#grep_v when passed a Regexp and no block no longer modify</div><div class='add'>+  Regexp.last_match. [[Bug #17030]]</div><div class='add'>+</div><div class='add'>+* Requiring 'open-uri' no longer redefines `Kernel#open`.</div><div class='add'>+  Call `URI.open` directly or `use URI#open` instead. [[Misc #15893]]</div><div class='add'>+</div><div class='add'>+* SortedSet has been removed for dependency and performance reasons.</div><div class='add'>+</div><div class='add'>+## Stdlib compatibility issues</div><div class='add'>+</div><div class='add'>+* Default gems</div><div class='add'>+</div><div class='add'>+    * The following libraries are promoted to default gems from stdlib.</div><div class='add'>+</div><div class='add'>+        * English</div><div class='add'>+        * abbrev</div><div class='add'>+        * base64</div><div class='add'>+        * drb</div><div class='add'>+        * debug</div><div class='add'>+        * erb</div><div class='add'>+        * find</div><div class='add'>+        * net-ftp</div><div class='add'>+        * net-http</div><div class='add'>+        * net-imap</div><div class='add'>+        * net-protocol</div><div class='add'>+        * open-uri</div><div class='add'>+        * optparse</div><div class='add'>+        * pp</div><div class='add'>+        * prettyprint</div><div class='add'>+        * resolv-replace</div><div class='add'>+        * resolv</div><div class='add'>+        * rinda</div><div class='add'>+        * set</div><div class='add'>+        * securerandom</div><div class='add'>+        * shellwords</div><div class='add'>+        * tempfile</div><div class='add'>+        * tmpdir</div><div class='add'>+        * time</div><div class='add'>+        * tsort</div><div class='add'>+        * un</div><div class='add'>+        * weakref</div><div class='add'>+</div><div class='add'>+    * The following extensions are promoted to default gems from stdlib.</div><div class='add'>+</div><div class='add'>+        * digest</div><div class='add'>+        * io-nonblock</div><div class='add'>+        * io-wait</div><div class='add'>+        * nkf</div><div class='add'>+        * pathname</div><div class='add'>+        * syslog</div><div class='add'>+        * win32ole</div><div class='add'>+</div><div class='add'>+* Bundled gems</div><div class='add'>+</div><div class='add'>+    * net-telnet and xmlrpc have been removed from the bundled gems.</div><div class='add'>+      If you are interested in maintaining them, please comment on</div><div class='add'>+      your plan to https://github.com/ruby/xmlrpc</div><div class='add'>+      or https://github.com/ruby/net-telnet.</div><div class='add'>+</div><div class='add'>+* SDBM has been removed from the Ruby standard library. [[Bug #8446]]</div><div class='add'>+</div><div class='add'>+    * The issues of sdbm will be handled at https://github.com/ruby/sdbm</div><div class='add'>+</div><div class='add'>+* WEBrick has been removed from the Ruby standard library. [[Feature #17303]]</div><div class='add'>+</div><div class='add'>+    * The issues of WEBrick will be handled at https://github.com/ruby/webrick</div><div class='add'>+</div><div class='add'>+## C API updates</div><div class='add'>+</div><div class='add'>+* C API functions related to $SAFE have been removed.</div><div class='add'>+  [[Feature #16131]]</div><div class='add'>+</div><div class='add'>+* C API header file `ruby/ruby.h` was split. [[GH-2991]]</div><div class='add'>+</div><div class='add'>+    This should have no impact on extension libraries,</div><div class='add'>+    but users might experience slow compilations.</div><div class='add'>+</div><div class='add'>+* Memory view interface [EXPERIMENTAL]</div><div class='add'>+</div><div class='add'>+    * The memory view interface is a C-API set to exchange a raw memory area,</div><div class='add'>+      such as a numeric array or a bitmap image, between extension libraries.</div><div class='add'>+      The extension libraries can share also the metadata of the memory area</div><div class='add'>+      that consists of the shape, the element format, and so on.</div><div class='add'>+      Using these kinds of metadata, the extension libraries can share even</div><div class='add'>+      a multidimensional array appropriately.</div><div class='add'>+      This feature is designed by referring to Python's buffer protocol.</div><div class='add'>+      [[Feature #13767]] [[Feature #14722]]</div><div class='add'>+</div><div class='add'>+* Ractor related C APIs are introduced (experimental) in "include/ruby/ractor.h".</div><div class='add'>+</div><div class='add'>+## Implementation improvements</div><div class='add'>+</div><div class='add'>+* New method cache mechanism for Ractor. [[Feature #16614]]</div><div class='add'>+</div><div class='add'>+    * Inline method caches pointed from ISeq can be accessed by multiple Ractors</div><div class='add'>+      in parallel and synchronization is needed even for method caches. However,</div><div class='add'>+      such synchronization can be overhead so introducing new inline method cache</div><div class='add'>+      mechanisms, (1) Disposable inline method cache (2) per-Class method cache</div><div class='add'>+      and (3) new invalidation mechanism. (1) can avoid per-method call</div><div class='add'>+      synchronization because it only uses atomic operations.</div><div class='add'>+      See the ticket for more details.</div><div class='add'>+</div><div class='add'>+* The number of hashes allocated when using a keyword splat in</div><div class='add'>+  a method call has been reduced to a maximum of 1, and passing</div><div class='add'>+  a keyword splat to a method that accepts specific keywords</div><div class='add'>+  does not allocate a hash.</div><div class='add'>+</div><div class='add'>+* `super` is optimized when the same type of method is called in the previous call</div><div class='add'>+  if it's not refinements or an attr reader or writer.</div><div class='add'>+</div><div class='add'>+### JIT</div><div class='add'>+</div><div class='add'>+* Performance improvements of JIT-ed code</div><div class='add'>+</div><div class='add'>+    * Microarchitectural optimizations</div><div class='add'>+</div><div class='add'>+        * Native functions shared by multiple methods are deduplicated on JIT compaction.</div><div class='add'>+</div><div class='add'>+        * Decrease code size of hot paths by some optimizations and partitioning cold paths.</div><div class='add'>+</div><div class='add'>+    * Instance variables</div><div class='add'>+</div><div class='add'>+        * Eliminate some redundant checks.</div><div class='add'>+</div><div class='add'>+        * Skip checking a class and a object multiple times in a method when possible.</div><div class='add'>+</div><div class='add'>+        * Optimize accesses in some core classes like Hash and their subclasses.</div><div class='add'>+</div><div class='add'>+    * Method inlining support for some C methods</div><div class='add'>+</div><div class='add'>+        * `Kernel`: `#class`, `#frozen?`</div><div class='add'>+</div><div class='add'>+        * `Integer`: `#-@`, `#~`, `#abs`, `#bit_length`, `#even?`, `#integer?`, `#magnitude`,</div><div class='add'>+          `#odd?`, `#ord`, `#to_i`, `#to_int`, `#zero?`</div><div class='add'>+</div><div class='add'>+        * `Struct`: reader methods for 10th or later members</div><div class='add'>+</div><div class='add'>+    * Constant references are inlined.</div><div class='add'>+</div><div class='add'>+    * Always generate appropriate code for `==`, `nil?`, and `!` calls depending on</div><div class='add'>+      a receiver class.</div><div class='add'>+</div><div class='add'>+    * Reduce the number of PC accesses on branches and method returns.</div><div class='add'>+</div><div class='add'>+    * Optimize C method calls a little.</div><div class='add'>+</div><div class='add'>+* Compilation process improvements</div><div class='add'>+</div><div class='add'>+    * It does not keep temporary files in /tmp anymore.</div><div class='add'>+</div><div class='add'>+    * Throttle GC and compaction of JIT-ed code.</div><div class='add'>+</div><div class='add'>+    * Avoid GC-ing JIT-ed code when not necessary.</div><div class='add'>+</div><div class='add'>+    * GC-ing JIT-ed code is executed in a background thread.</div><div class='add'>+</div><div class='add'>+    * Reduce the number of locks between Ruby and JIT threads.</div><div class='add'>+</div><div class='add'>+## Static analysis</div><div class='add'>+</div><div class='add'>+### RBS</div><div class='add'>+</div><div class='add'>+* RBS is a new language for type definition of Ruby programs.</div><div class='add'>+  It allows writing types of classes and modules with advanced</div><div class='add'>+  types including union types, overloading, generics, and</div><div class='add'>+  _interface types_ for duck typing.</div><div class='add'>+</div><div class='add'>+* Ruby ships with type definitions for core/stdlib classes.</div><div class='add'>+</div><div class='add'>+* `rbs` gem is bundled to load and process RBS files.</div><div class='add'>+</div><div class='add'>+### TypeProf</div><div class='add'>+</div><div class='add'>+* TypeProf is a type analysis tool for Ruby code based on abstract interpretation.</div><div class='add'>+</div><div class='add'>+    * It reads non-annotated Ruby code, tries inferring its type signature, and prints</div><div class='add'>+      the analysis result in RBS format.</div><div class='add'>+</div><div class='add'>+    * Though it supports only a subset of the Ruby language yet, we will continuously</div><div class='add'>+      improve the coverage of language features, analysis performance, and usability.</div><div class='add'>+</div><div class='add'>+```ruby</div><div class='add'>+# test.rb</div><div class='add'>+def foo(x)</div><div class='add'>+  if x &gt; 10</div><div class='add'>+    x.to_s</div><div class='add'>+  else</div><div class='add'>+    nil</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+foo(42)</div><div class='add'>+```</div><div class='add'>+</div><div class='add'>+```</div><div class='add'>+$ typeprof test.rb</div><div class='add'>+# Classes</div><div class='add'>+class Object</div><div class='add'>+  def foo : (Integer) -&gt; String?</div><div class='add'>+end</div><div class='add'>+```</div><div class='add'>+</div><div class='add'>+## Miscellaneous changes</div><div class='add'>+</div><div class='add'>+* Methods using `ruby2_keywords` will no longer keep empty keyword</div><div class='add'>+  splats, those are now removed just as they are for methods not</div><div class='add'>+  using `ruby2_keywords`.</div><div class='add'>+</div><div class='add'>+* When an exception is caught in the default handler, the error</div><div class='add'>+  message and backtrace are printed in order from the innermost.</div><div class='add'>+  [[Feature #8661]]</div><div class='add'>+</div><div class='add'>+* Accessing an uninitialized instance variable no longer emits a</div><div class='add'>+  warning in verbose mode. [[Feature #17055]]</div><div class='add'>+</div><div class='add'>+[Bug #4352]:      https://bugs.ruby-lang.org/issues/4352</div><div class='add'>+[Bug #6087]:      https://bugs.ruby-lang.org/issues/6087</div><div class='add'>+[Bug #8382]:      https://bugs.ruby-lang.org/issues/8382</div><div class='add'>+[Bug #8446]:      https://bugs.ruby-lang.org/issues/8446</div><div class='add'>+[Feature #8661]:  https://bugs.ruby-lang.org/issues/8661</div><div class='add'>+[Feature #8709]:  https://bugs.ruby-lang.org/issues/8709</div><div class='add'>+[Feature #8948]:  https://bugs.ruby-lang.org/issues/8948</div><div class='add'>+[Feature #9573]:  https://bugs.ruby-lang.org/issues/9573</div><div class='add'>+[Bug #10845]:     https://bugs.ruby-lang.org/issues/10845</div><div class='add'>+[Bug #12136]:     https://bugs.ruby-lang.org/issues/12136</div><div class='add'>+[Feature #12650]: https://bugs.ruby-lang.org/issues/12650</div><div class='add'>+[Bug #12706]:     https://bugs.ruby-lang.org/issues/12706</div><div class='add'>+[Feature #13767]: https://bugs.ruby-lang.org/issues/13767</div><div class='add'>+[Bug #13768]:     https://bugs.ruby-lang.org/issues/13768</div><div class='add'>+[Feature #14183]: https://bugs.ruby-lang.org/issues/14183</div><div class='add'>+[Bug #14266]:     https://bugs.ruby-lang.org/issues/14266</div><div class='add'>+[Feature #14267]: https://bugs.ruby-lang.org/issues/14267</div><div class='add'>+[Feature #14413]: https://bugs.ruby-lang.org/issues/14413</div><div class='add'>+[Bug #14541]:     https://bugs.ruby-lang.org/issues/14541</div><div class='add'>+[Feature #14722]: https://bugs.ruby-lang.org/issues/14722</div><div class='add'>+[Bug #15409]:     https://bugs.ruby-lang.org/issues/15409</div><div class='add'>+[Feature #15504]: https://bugs.ruby-lang.org/issues/15504</div><div class='add'>+[Feature #15575]: https://bugs.ruby-lang.org/issues/15575</div><div class='add'>+[Feature #15822]: https://bugs.ruby-lang.org/issues/15822</div><div class='add'>+[Misc #15893]:    https://bugs.ruby-lang.org/issues/15893</div><div class='add'>+[Feature #15921]: https://bugs.ruby-lang.org/issues/15921</div><div class='add'>+[Feature #15973]: https://bugs.ruby-lang.org/issues/15973</div><div class='add'>+[Feature #16131]: https://bugs.ruby-lang.org/issues/16131</div><div class='add'>+[Feature #16150]: https://bugs.ruby-lang.org/issues/16150</div><div class='add'>+[Feature #16166]: https://bugs.ruby-lang.org/issues/16166</div><div class='add'>+[Feature #16175]: https://bugs.ruby-lang.org/issues/16175</div><div class='add'>+[Feature #16233]: https://bugs.ruby-lang.org/issues/16233</div><div class='add'>+[Feature #16260]: https://bugs.ruby-lang.org/issues/16260</div><div class='add'>+[Feature #16274]: https://bugs.ruby-lang.org/issues/16274</div><div class='add'>+[Feature #16345]: https://bugs.ruby-lang.org/issues/16345</div><div class='add'>+[Feature #16377]: https://bugs.ruby-lang.org/issues/16377</div><div class='add'>+[Feature #16378]: https://bugs.ruby-lang.org/issues/16378</div><div class='add'>+[Feature #16555]: https://bugs.ruby-lang.org/issues/16555</div><div class='add'>+[Feature #16604]: https://bugs.ruby-lang.org/issues/16604</div><div class='add'>+[Feature #16614]: https://bugs.ruby-lang.org/issues/16614</div><div class='add'>+[Feature #16686]: https://bugs.ruby-lang.org/issues/16686</div><div class='add'>+[Feature #16746]: https://bugs.ruby-lang.org/issues/16746</div><div class='add'>+[Feature #16754]: https://bugs.ruby-lang.org/issues/16754</div><div class='add'>+[Feature #16786]: https://bugs.ruby-lang.org/issues/16786</div><div class='add'>+[Feature #16792]: https://bugs.ruby-lang.org/issues/16792</div><div class='add'>+[Feature #16815]: https://bugs.ruby-lang.org/issues/16815</div><div class='add'>+[Feature #16828]: https://bugs.ruby-lang.org/issues/16828</div><div class='add'>+[Misc #16961]:    https://bugs.ruby-lang.org/issues/16961</div><div class='add'>+[Bug #17030]:     https://bugs.ruby-lang.org/issues/17030</div><div class='add'>+[Feature #17055]: https://bugs.ruby-lang.org/issues/17055</div><div class='add'>+[Feature #17104]: https://bugs.ruby-lang.org/issues/17104</div><div class='add'>+[Feature #17122]: https://bugs.ruby-lang.org/issues/17122</div><div class='add'>+[Feature #17136]: https://bugs.ruby-lang.org/issues/17136</div><div class='add'>+[Feature #17176]: https://bugs.ruby-lang.org/issues/17176</div><div class='add'>+[Feature #17187]: https://bugs.ruby-lang.org/issues/17187</div><div class='add'>+[Bug #17221]:     https://bugs.ruby-lang.org/issues/17221</div><div class='add'>+[Feature #17260]: https://bugs.ruby-lang.org/issues/17260</div><div class='add'>+[Feature #17273]: https://bugs.ruby-lang.org/issues/17273</div><div class='add'>+[Feature #17303]: https://bugs.ruby-lang.org/issues/17303</div><div class='add'>+[Feature #17314]: https://bugs.ruby-lang.org/issues/17314</div><div class='add'>+[Feature #17322]: https://bugs.ruby-lang.org/issues/17322</div><div class='add'>+[Feature #17351]: https://bugs.ruby-lang.org/issues/17351</div><div class='add'>+[Feature #17371]: https://bugs.ruby-lang.org/issues/17371</div><div class='add'>+[Bug #17419]:     https://bugs.ruby-lang.org/issues/17419</div><div class='add'>+[GH-2991]:        https://github.com/ruby/ruby/pull/2991</div><div class='head'>diff --git a/README b/README<br/>deleted file mode 100644<br/>index 2a99cae28b..0000000000<br/>--- a/<a href='/ruby.git/tree/README?h=v3_0_0&amp;id=cfb52c86678519810cfa84b564a3d32a9200139d'>README</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,151 +0,0 @@</div><div class='del'>-* What's Ruby</div><div class='del'>-</div><div class='del'>-Ruby is the interpreted scripting language for quick and</div><div class='del'>-easy object-oriented programming.  It has many features to</div><div class='del'>-process text files and to do system management tasks (as in</div><div class='del'>-Perl).  It is simple, straight-forward, and 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(ex. class, method calls)</div><div class='del'>-  + *Advanced* Object-Oriented features(ex. 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 architecture)</div><div class='del'>-  + Highly Portable(works on many UNIX machines, and on DOS,</div><div class='del'>-    Windows, Mac, BeOS etc.)</div><div class='del'>-</div><div class='del'>-* How to get Ruby</div><div class='del'>-</div><div class='del'>-The Ruby distribution can be found on:</div><div class='del'>-</div><div class='del'>-  ftp://ftp.netlab.co.jp/pub/lang/ruby/</div><div class='del'>-</div><div class='del'>-You can get it by anonymous CVS.  How to check out is:</div><div class='del'>-</div><div class='del'>-  $ cvs -d :pserver:anonymous@cvs.netlab.co.jp:/home/cvs login</div><div class='del'>-  (Logging in to anonymous@cvs.netlab.co.jp)</div><div class='del'>-  CVS password: guest</div><div class='del'>-  $ cvs -d :pserver:anonymous@cvs.netlab.co.jp:/home/cvs checkout ruby</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.</div><div class='del'>-To subscribe this list, please send the following phrase</div><div class='del'>-</div><div class='del'>-        subscribe Your-Last-Name Your-First-Name </div><div class='del'>-e.g.</div><div class='del'>-        subscribe Joseph Smith</div><div class='del'>-</div><div class='del'>-in the mail body (not subject) to the address &lt;ruby-talk-ctl@netlab.co.jp&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. Run ./configure, which will generate config.h and Makefile.</div><div class='del'>-</div><div class='del'>-  2. Edit defines.h if you need.  Probably this step will not need.</div><div class='del'>-</div><div class='del'>-  3. Remove comment mark(#) before the module names from ext/Setup (or</div><div class='del'>-     add module names if not present), if you want to link modules</div><div class='del'>-     statically.</div><div class='del'>-</div><div class='del'>-     If you don't want to compile non static extension modules</div><div class='del'>-     (probably on architectures which does not allow dynamic loading),</div><div class='del'>-     remove comment mark from the line "#option nodynamic" in</div><div class='del'>-     ext/Setup.</div><div class='del'>-</div><div class='del'>-  4. Run make.</div><div class='del'>-</div><div class='del'>-  5. Optionally, run 'make test' to check whether the compiled Ruby</div><div class='del'>-     interpreter works well.  If you see the message "test succeeded",</div><div class='del'>-     your ruby works as it should (hopefully).</div><div class='del'>-</div><div class='del'>-  6. Run 'make install'</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'>-If you fail to compile ruby, please send the detailed error report with</div><div class='del'>-the error log and machine/OS type, to help others.</div><div class='del'>-</div><div class='del'>-* Copying</div><div class='del'>-</div><div class='del'>-Ruby is copyrighted free software by Yukihiro Matsumoto &lt;matz@netlab.co.jp&gt;.</div><div class='del'>-You can redistribute it and/or modify it under either the terms of the GPL</div><div class='del'>-(see COPYING file), or the 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) rename any non-standard executables so the names do not conflict</div><div class='del'>-	  with standard executables, which must also be provided.</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).  But some files in the distribution</div><div class='del'>-     are not written by the author, so that they are not under this terms.</div><div class='del'>-     They are gc.c(partly), utils.c(partly), regex.[ch], st.[ch] and some</div><div class='del'>-     files under the ./missing directory.  See each file for the copying</div><div class='del'>-     condition.</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 MERCHANTIBILITY AND FITNESS FOR A PARTICULAR</div><div class='del'>-     PURPOSE.</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'>-   http://www.netlab.co.jp/ruby/</div><div class='del'>-</div><div class='del'>-* The Author</div><div class='del'>-</div><div class='del'>-Feel free to send comments and bug reports to the author.  Here is the </div><div class='del'>-author's latest mail address:</div><div class='del'>-</div><div class='del'>-  matz@netlab.co.jp</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='del'>-Local variables:</div><div class='del'>-mode: indented-text</div><div class='del'>-end:</div><div class='head'>diff --git a/README.EXT b/README.EXT<br/>index c0f7048bdf..48b8d964c4 100644<br/>--- a/<a href='/ruby.git/tree/README.EXT?h=v3_0_0&amp;id=cfb52c86678519810cfa84b564a3d32a9200139d'>README.EXT</a><br/>+++ b/<a href='/ruby.git/tree/README.EXT?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>README.EXT</a></div><div class='hunk'>@@ -1,985 +1 @@</div><div class='del'>-.\" README.EXT -  -*- Text -*- created at: Mon Aug  7 16:45:54 JST 1995</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'>-1. 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 static type and data themselves have</div><div class='del'>-types.  So, data need to be converted across the languages.</div><div class='del'>-</div><div class='del'>-Data in Ruby represented C type `VALUE'.  Each VALUE data have its</div><div class='del'>-data-type.</div><div class='del'>-</div><div class='del'>-To retrieve an C data from the VALUE, you need to:</div><div class='del'>-</div><div class='del'>- (1) Identify VALUE's data type</div><div class='del'>- (2) Convert VALUE into C data</div><div class='del'>-</div><div class='del'>-Converting to wrong data type may cause serious problems.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-1.1 Data-types</div><div class='del'>-</div><div class='del'>-Ruby interpreter has data-types as below:</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_FIXNUM	Fixnum(31bit integer)</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_TRUE		true</div><div class='del'>-	T_FALSE		false</div><div class='del'>-	T_DATA		data</div><div class='del'>-</div><div class='del'>-Otherwise, there are several other types used internally:</div><div class='del'>-</div><div class='del'>-	T_ICLASS</div><div class='del'>-	T_MATCH</div><div class='del'>-	T_VARMAP</div><div class='del'>-	T_SCOPE</div><div class='del'>-	T_NODE</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'>-1.2 Check Data Type of the VALUE</div><div class='del'>-</div><div class='del'>-The macro TYPE() defined in ruby.h shows 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, the code will be like:</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'>-      Fail("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'>-It raises an exception, if the VALUE does not have the type specified.</div><div class='del'>-</div><div class='del'>-There are 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'>-1.3 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, true, false</div><div class='del'>-respectively.  They are singletons for the data type.</div><div class='del'>-</div><div class='del'>-The T_FIXNUM data is the 31bit length fixed integer (63bit length on</div><div class='del'>-some machines), which can be convert to the C integer by using</div><div class='del'>-FIX2INT() macro.  There also be NUM2INT() which converts any Ruby</div><div class='del'>-numbers into C integer.  The NUM2INT() macro includes type check, so</div><div class='del'>-the exception will be raised if conversion failed.</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.  VALUE of the type which has corresponding structure</div><div class='del'>-can be cast to retrieve the pointer to the struct.  The casting macro</div><div class='del'>-RXXXX for each data type like RARRAY(obj).  see "ruby.h".</div><div class='del'>-</div><div class='del'>-For example, `RSTRING(size)-&gt;len' is the way to get the size of the</div><div class='del'>-Ruby String object.  The allocated region can be accessed by</div><div class='del'>-`RSTRING(str)-&gt;ptr'.  For arrays, `RARRAY(ary)-&gt;len' and</div><div class='del'>-`RARRAY(ary)-&gt;ptr' respectively.</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 about the result.  It will be the cause of interesting</div><div class='del'>-bugs.</div><div class='del'>-</div><div class='del'>-1.4 Convert C data into VALUE</div><div class='del'>-</div><div class='del'>-To convert C data to the values of Ruby:</div><div class='del'>-</div><div class='del'>-  * FIXNUM</div><div class='del'>-</div><div class='del'>-    left shift 1 bit, and turn on 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 VALUE is pointer or not, by checking LSB.  </div><div class='del'>-</div><div class='del'>-Notice Ruby does not allow arbitrary pointer value to be VALUE.  They</div><div class='del'>-should be pointers to the structures which Ruby knows.  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 value, use these macros.</div><div class='del'>-</div><div class='del'>-  INT2FIX()	for integers within 31bits.</div><div class='del'>-  INT2NUM()	for arbitrary sized integer.</div><div class='del'>-</div><div class='del'>-INT2NUM() converts integers into Bignums, if it is out of FIXNUM</div><div class='del'>-range, but bit slower.</div><div class='del'>-</div><div class='del'>-1.5 Manipulate Ruby data</div><div class='del'>-</div><div class='del'>-As I already told, it is not recommended to modify object's internal</div><div class='del'>-structure.  To manipulate objects, use functions supplied by Ruby</div><div class='del'>-interpreter.  Useful functions are listed below (not all):</div><div class='del'>-</div><div class='del'>- String functions</div><div class='del'>-</div><div class='del'>-  rb_str_new(char *ptr, int 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(char *ptr)</div><div class='del'>-</div><div class='del'>-    Creates a new Ruby string from 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_cat(VALUE str, char *ptr, int len)</div><div class='del'>-</div><div class='del'>-    Appends len bytes data from ptr to the Ruby string.</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 element.</div><div class='del'>-</div><div class='del'>-  rb_ary_new2(int len)</div><div class='del'>-</div><div class='del'>-    Creates an array with no element, with allocating internal buffer</div><div class='del'>-    for len elements.</div><div class='del'>-</div><div class='del'>-  rb_ary_new3(int n, ...)</div><div class='del'>-</div><div class='del'>-    Creates an n-elements array from arguments.</div><div class='del'>-</div><div class='del'>-  rb_ary_new4(int n, VALUE *elts)</div><div class='del'>-</div><div class='del'>-    Creates an n-elements array from C array.</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'>-  rb_ary_entry(VALUE ary, int idx)</div><div class='del'>-</div><div class='del'>-    Array operations.  The first argument to each functions must be an </div><div class='del'>-    array.  They may dump core if other types given.</div><div class='del'>-</div><div class='del'>-2. Extend Ruby with C</div><div class='del'>-</div><div class='del'>-2.1 Add 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 the API to define things below:</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'>-2.1.1 Class/module definition</div><div class='del'>-</div><div class='del'>-To define class or module, use functions below:</div><div class='del'>-</div><div class='del'>-  VALUE rb_define_class(char *name, VALUE super)</div><div class='del'>-  VALUE rb_define_module(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 the variable to use later.</div><div class='del'>-</div><div class='del'>-2.1.2 Method/singleton method definition</div><div class='del'>-</div><div class='del'>-To define methods or singleton methods, use functions below:</div><div class='del'>-</div><div class='del'>-  void rb_define_method(VALUE klass, char *name, </div><div class='del'>-		        VALUE (*func)(), int argc)</div><div class='del'>-</div><div class='del'>-  void rb_define_singleton_method(VALUE object, char *name, </div><div class='del'>-			          VALUE (*func)(), 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 believe you don't need that much. :-)</div><div class='del'>-</div><div class='del'>-If `argc' is negative, it specifies 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 like:</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 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're two more functions to define method.  One is to define</div><div class='del'>-private method:</div><div class='del'>-</div><div class='del'>-  void rb_define_private_method(VALUE klass, char *name, </div><div class='del'>-			        VALUE (*func)(), int argc)</div><div class='del'>-</div><div class='del'>-The other is to define module function, which is private AND singleton</div><div class='del'>-method of the module.  For example, sqrt is the module function</div><div class='del'>-defined in Math module.  It can be call in the form like:</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 function</div><div class='del'>-</div><div class='del'>-  void rb_define_module_function(VALUE module, char *name, </div><div class='del'>-				 VALUE (*func)(), int argc)</div><div class='del'>-</div><div class='del'>-Oh, in addition, function-like method, which is private method defined</div><div class='del'>-in Kernel module, can be defined using:</div><div class='del'>-</div><div class='del'>-  void rb_define_global_function(char *name, VALUE (*func)(), int argc)</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2.1.3 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, char *name, VALUE val)</div><div class='del'>-  void rb_define_global_const(char *name, VALUE val)</div><div class='del'>-</div><div class='del'>-The former is to define constant under specified class/module.  The</div><div class='del'>-latter is to define global constant.</div><div class='del'>-</div><div class='del'>-2.2 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'>-2.2.1 Evaluate Ruby Program in String</div><div class='del'>-</div><div class='del'>-Easiest way to call Ruby's function from C program is to evaluate the</div><div class='del'>-string as Ruby program.  This function will do the job.</div><div class='del'>-</div><div class='del'>-  VALUE rb_eval_string(char *str)</div><div class='del'>-</div><div class='del'>-Evaluation is done under 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'>-2.2.2 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 symbols (which data type is ID).  ID is the</div><div class='del'>-integer number to represent Ruby's identifiers such as variable names.</div><div class='del'>-It can be accessed from Ruby in the form like:</div><div class='del'>-</div><div class='del'>- :Identifier</div><div class='del'>-</div><div class='del'>-You can get the symbol value from string within C code, by using</div><div class='del'>-</div><div class='del'>-  rb_intern(char *name)</div><div class='del'>-</div><div class='del'>-In addition, the symbols for one character operators (e.g +) is the</div><div class='del'>-code for that character.</div><div class='del'>-</div><div class='del'>-2.2.3 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 the method of the recv, which name is specified</div><div class='del'>-by the symbol mid.</div><div class='del'>-</div><div class='del'>-2.2.4 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 worlds.</div><div class='del'>-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 2.1.3 for defining new constant.</div><div class='del'>-</div><div class='del'>-3. Information sharing between Ruby and C</div><div class='del'>-</div><div class='del'>-3.1 Ruby constant that C can be accessed from C</div><div class='del'>-</div><div class='del'>-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 the 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'>-3.2 Global variables shared between C and Ruby</div><div class='del'>-</div><div class='del'>-Information can be shared between two worlds, 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(char *name, VALUE *var)</div><div class='del'>-</div><div class='del'>-This function defines the variable which is shared by the both world.</div><div class='del'>-The value of the global variable pointed 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) variable by the</div><div class='del'>-function below.</div><div class='del'>-</div><div class='del'>-  void rb_define_readonly_variable(char *name, VALUE *var)</div><div class='del'>-</div><div class='del'>-You can defined 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(char *name, VALUE *var,</div><div class='del'>-				 VALUE (*getter)(), VALUE (*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'>-  void rb_define_virtual_variable(char *name,</div><div class='del'>-				  VALUE (*getter)(), VALUE (*setter)())</div><div class='del'>-</div><div class='del'>-This function defines the Ruby global variable without 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'>-The prototypes of the getter and setter functions are as following:</div><div class='del'>-</div><div class='del'>-  (*getter)(ID id, void *data, struct global_entry* entry);</div><div class='del'>-  (*setter)(VALUE val, ID id, void *data, struct global_entry* entry);</div><div class='del'>-</div><div class='del'>-3.3 Encapsulate C data into Ruby object</div><div class='del'>-</div><div class='del'>-To wrapping and objectify the C pointer as Ruby object (so called</div><div class='del'>-DATA), use Data_Wrap_Struct().</div><div class='del'>-</div><div class='del'>-  Data_Wrap_Struct(klass,mark,free,ptr)</div><div class='del'>-</div><div class='del'>-Data_Wrap_Struct() returns a created DATA object.  The class argument</div><div class='del'>-is the class for the DATA object.  The mark argument is the function</div><div class='del'>-to mark Ruby objects pointed by this data.  The free argument is the</div><div class='del'>-function to free the pointer allocation.  The functions, mark and</div><div class='del'>-free, will be called from garbage collector.</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'>-  Data_Make_Struct(klass, type, mark, free, 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 = ALLOC(type), Data_Wrap_Struct(klass, mark, free, sval))</div><div class='del'>-</div><div class='del'>-Arguments, klass, mark, free, works like their counterpart of</div><div class='del'>-Data_Wrap_Struct().  The pointer to allocated structure will be</div><div class='del'>-assigned to sval, which should be the pointer to the type specified.</div><div class='del'>-</div><div class='del'>-To retrieve the C pointer from the Data object, use the macro</div><div class='del'>-Data_Get_Struct().</div><div class='del'>-</div><div class='del'>-  Data_Get_Struct(obj, type, sval)</div><div class='del'>-</div><div class='del'>-The pointer to the structure will be assigned to the variable sval.</div><div class='del'>-</div><div class='del'>-See example below for detail. </div><div class='del'>-</div><div class='del'>-4. Example - Creating dbm extension</div><div class='del'>-</div><div class='del'>-OK, here's the example to make extension library.  This is the</div><div class='del'>-extension to access dbm.  The full source is included in ext/</div><div class='del'>-directory in the Ruby's source tree.</div><div class='del'>-</div><div class='del'>-(1) 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'>-(2) create MANIFEST file</div><div class='del'>-</div><div class='del'>-  % cd ext/dbm</div><div class='del'>-  % touch MANIFEST</div><div class='del'>-</div><div class='del'>-There should be MANIFEST file in the directory for the extension</div><div class='del'>-library.  Make empty file now.</div><div class='del'>-</div><div class='del'>-(3) 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'>-(4) write 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 plural source</div><div class='del'>-files, avoid choosing ``LIBRARY.c'' for a file name.  It may conflict</div><div class='del'>-with intermediate file ``LIBRARY.o'' on some platforms.</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'>---</div><div class='del'>-Init_dbm()</div><div class='del'>-{</div><div class='del'>-    /* define DBM class */</div><div class='del'>-    cDBM = rb_define_class("DBM", rb_cObject);</div><div class='del'>-    /* DBM includes Enumerate 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'>---</div><div class='del'>-</div><div class='del'>-The dbm extension wrap dbm struct in C world using Data_Make_Struct.</div><div class='del'>-</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'>-</div><div class='del'>-obj = Data_Make_Struct(klass,struct dbmdata,0,free_dbm,dbmp);</div><div class='del'>---</div><div class='del'>-</div><div class='del'>-This code wraps dbmdata structure into Ruby object.  We avoid wrapping</div><div class='del'>-DBM* directly, because we want to cache size information.</div><div class='del'>-</div><div class='del'>-To retrieve dbmdata structure from Ruby object, we define the macro below:</div><div class='del'>-</div><div class='del'>---</div><div class='del'>-#define GetDBM(obj, dbmp) {\</div><div class='del'>-    Data_Get_Struct(obj, struct dbmdata, dbmp);\</div><div class='del'>-    if (dbmp-&gt;di_dbm == 0) closed_dbm();\</div><div class='del'>-}</div><div class='del'>---</div><div class='del'>-</div><div class='del'>-This sort of complicated macro do the retrieving and close check for</div><div class='del'>-the DBM.</div><div class='del'>-</div><div class='del'>-There are three kind of way to receiving method arguments.  First, the</div><div class='del'>-methods with fixed number of arguments receives arguments like this:</div><div class='del'>-</div><div class='del'>---</div><div class='del'>-static VALUE</div><div class='del'>-fdbm_delete(obj, keystr)</div><div class='del'>-    VALUE obj, keystr;</div><div class='del'>-{</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, the methods with arbitrary number of arguments receives</div><div class='del'>-arguments like this:</div><div class='del'>-</div><div class='del'>---</div><div class='del'>-static VALUE</div><div class='del'>-fdbm_s_open(argc, argv, klass)</div><div class='del'>-    int argc;</div><div class='del'>-    VALUE *argv;</div><div class='del'>-    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'>-</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.  For example "11" means, the method requires at least one</div><div class='del'>-argument, and at most receives two arguments.</div><div class='del'>-</div><div class='del'>-The methods with arbitrary number of arguments can receives arguments</div><div class='del'>-by Ruby's array, like this:</div><div class='del'>-</div><div class='del'>---</div><div class='del'>-static VALUE</div><div class='del'>-fdbm_indexes(obj, args)</div><div class='del'>-    VALUE obj, args;</div><div class='del'>-{</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'>-** Notice</div><div class='del'>-</div><div class='del'>-GC should know about global variables which refers Ruby's objects, but</div><div class='del'>-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'>-(5) prepare extconf.rb</div><div class='del'>-</div><div class='del'>-If there exists the file named extconf.rb, it will be executed to</div><div class='del'>-generate Makefile.  If not, compilation scheme try to generate</div><div class='del'>-Makefile anyway.</div><div class='del'>-</div><div class='del'>-The extconf.rb is the file to check compilation condition 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 the</div><div class='del'>-condition.</div><div class='del'>-</div><div class='del'>-  have_library(lib, func): check whether library containing function exists.</div><div class='del'>-  have_func(func): check whether function exists</div><div class='del'>-  have_header(header): check whether header file exists</div><div class='del'>-  create_makefile(target): generate Makefile</div><div class='del'>-</div><div class='del'>-The value of variables below will affect Makefile.</div><div class='del'>-</div><div class='del'>-  $CFLAGS: included in CFLAGS make variable (such as -I)</div><div class='del'>-  $LDFLAGS: included in LDFLAGS make variable (such as -L)</div><div class='del'>-</div><div class='del'>-If compilation condition is not fulfilled, you do not call</div><div class='del'>-``create_makefile''.  Makefile will not generated, compilation will</div><div class='del'>-not be done.</div><div class='del'>-</div><div class='del'>-(6) 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 dependency.  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 no harm.  Prepare it.</div><div class='del'>-</div><div class='del'>-(7) put file names into MANIFEST (optional)</div><div class='del'>-</div><div class='del'>-  % find * -type f -print &gt; MANIFEST</div><div class='del'>-  % vi MANIFEST</div><div class='del'>-</div><div class='del'>-Append file names into MANIFEST.  The compilation scheme requires</div><div class='del'>-MANIFEST only to be exist.  But, you'd better take this step to</div><div class='del'>-distinguish required files.</div><div class='del'>-</div><div class='del'>-(8) generate Makefile</div><div class='del'>-</div><div class='del'>-Try generate Makefile by:</div><div class='del'>-</div><div class='del'>-  ruby extconf.rb</div><div class='del'>-</div><div class='del'>-You don't need this step, if you put extension library under 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'>-(9) 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 neither, if you</div><div class='del'>-put extension library under ext directory of the ruby source tree.</div><div class='del'>-</div><div class='del'>-(9) debug</div><div class='del'>-</div><div class='del'>-You may need to rb_debug the extension.  The extensions can be linked</div><div class='del'>-statically by adding directory name in the ext/Setup file, so that you</div><div class='del'>-can inspect the extension with the debugger.</div><div class='del'>-</div><div class='del'>-(10) 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 restriction about your code depending 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</div><div class='del'>-  error.c</div><div class='del'>-  eval.c</div><div class='del'>-  gc.c</div><div class='del'>-  object.c</div><div class='del'>-  parse.y</div><div class='del'>-  variable.c</div><div class='del'>-</div><div class='del'>-utility functions</div><div class='del'>-</div><div class='del'>-  dln.c</div><div class='del'>-  fnmatch.c</div><div class='del'>-  glob.c</div><div class='del'>-  regex.c</div><div class='del'>-  st.c</div><div class='del'>-  util.c</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'>-  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'>-class library</div><div class='del'>-</div><div class='del'>-  array.c</div><div class='del'>-  bignum.c</div><div class='del'>-  compar.c</div><div class='del'>-  dir.c</div><div class='del'>-  enum.c</div><div class='del'>-  file.c</div><div class='del'>-  hash.c</div><div class='del'>-  io.c</div><div class='del'>-  math.c</div><div class='del'>-  numeric.c</div><div class='del'>-  pack.c</div><div class='del'>-  process.c</div><div class='del'>-  random.c</div><div class='del'>-  range.c</div><div class='del'>-  re.c</div><div class='del'>-  signal.c</div><div class='del'>-  sprintf.c</div><div class='del'>-  string.c</div><div class='del'>-  struct.c</div><div class='del'>-  time.c</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 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'>-const: nil object</div><div class='del'>-</div><div class='del'>- Qtrue</div><div class='del'>-</div><div class='del'>-const: true object(default true value)</div><div class='del'>-</div><div class='del'>- Qfalse</div><div class='del'>-</div><div class='del'>-const: 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 C pointer into Ruby object.  If object has references to other</div><div class='del'>-Ruby object, they should be marked by using mark function during GC</div><div class='del'>-process.  Otherwise, mark should be 0.  When this object is no longer</div><div class='del'>-referred by anywhere, the pointer will be discarded by free 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'>-** defining class/module</div><div class='del'>-</div><div class='del'>- VALUE rb_define_class(char *name, VALUE super)</div><div class='del'>-</div><div class='del'>-Defines new Ruby class as subclass of super.</div><div class='del'>-</div><div class='del'>- VALUE rb_define_class_under(VALUE module, char *name, VALUE super)</div><div class='del'>-</div><div class='del'>-Creates new Ruby class as subclass of super, under the module's</div><div class='del'>-namespace.</div><div class='del'>-</div><div class='del'>- VALUE rb_define_module(char *name)</div><div class='del'>-</div><div class='del'>-Defines new Ruby module.</div><div class='del'>-</div><div class='del'>- VALUE rb_define_module_under(VALUE module, char *name, VALUE super)</div><div class='del'>-</div><div class='del'>-Defines 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</div><div class='del'>-ignore.</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 module's attribute.</div><div class='del'>-</div><div class='del'>-** Defining Global Variables</div><div class='del'>-</div><div class='del'>- void rb_define_variable(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 the 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(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 defined variable is read-only.</div><div class='del'>-</div><div class='del'>- void rb_define_virtual_variable(char *name,</div><div class='del'>-				VALUE (*getter)(), VALUE (*setter)())</div><div class='del'>-</div><div class='del'>-Defines a virtual variable, whose behavior is defined by pair of C</div><div class='del'>-functions.  The getter function is called when the variable is</div><div class='del'>-referred. The setter function is called when the value is set to the</div><div class='del'>-variable.  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(char *name, VALUE *var,</div><div class='del'>-				VALUE (*getter)(), VALUE (*setter)())</div><div class='del'>-</div><div class='del'>-Defines hooked variable.  It's virtual variable with C variable.  The</div><div class='del'>-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 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'>-GC requires to mark the C global variables which hold Ruby values.</div><div class='del'>-</div><div class='del'>- void rb_global_variable(VALUE *var)</div><div class='del'>-</div><div class='del'>-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, 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(char *name, VALUE val)</div><div class='del'>-</div><div class='del'>-Defines global constant.  This is just work as</div><div class='del'>-</div><div class='del'>-     rb_define_const(cKernal, 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, char *name, VALUE (*func)(), 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 the Ruby array of</div><div class='del'>-the method arguments.</div><div class='del'>-</div><div class='del'>- rb_define_private_method(VALUE klass, char *name, VALUE (*func)(), 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, char *name, VALUE (*func)(), 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_scan_args(int argc, VALUE *argv, char *fmt, ...)</div><div class='del'>-</div><div class='del'>-Retrieve argument from argc, argv.  The fmt is the format string for</div><div class='del'>-the arguments, such as "12" for 1 non-optional argument, 2 optional</div><div class='del'>-arguments.  If `*' appears at the end of fmt, it means the rest of</div><div class='del'>-the arguments are assigned to corresponding variable, packed in</div><div class='del'>-array.</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 the method.  To retrieve mid from method name, use rb_intern().</div><div class='del'>-</div><div class='del'>- VALUE rb_funcall2(VALUE recv, ID mid, int argc, VALUE *argv)</div><div class='del'>-</div><div class='del'>-Invokes method, passing arguments by array of values.</div><div class='del'>-</div><div class='del'>- VALUE rb_eval_string(char *str)</div><div class='del'>-</div><div class='del'>-Compiles and executes the string as Ruby program.</div><div class='del'>-</div><div class='del'>- ID rb_intern(char *name)</div><div class='del'>-</div><div class='del'>-Returns ID corresponding 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'>-** Instance Variables</div><div class='del'>-</div><div class='del'>- VALUE rb_iv_get(VALUE obj, 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, 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_iterate(VALUE (*func1)(), void *arg1, VALUE (*func2)(), void *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'>- </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)(), void *arg1, VALUE (*func2)(), void *arg2)</div><div class='del'>-</div><div class='del'>-Calls the function func1, with arg1 as the argument.  If exception</div><div class='del'>-occurs during func1, it calls func2 with arg2 as the argument.  The</div><div class='del'>-return value of rb_rescue() is the return value from func1 if no</div><div class='del'>-exception occurs, from func2 otherwise.</div><div class='del'>-</div><div class='del'>- VALUE rb_ensure(VALUE (*func1)(), void *arg1, void (*func2)(), void *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, whenever execution terminated.  The return value from</div><div class='del'>-rb_ensure() is that of func1.</div><div class='del'>-</div><div class='del'>-** Exceptions and Errors</div><div class='del'>-</div><div class='del'>- void rb_warn(char *fmt, ...)</div><div class='del'>-</div><div class='del'>-Prints warning message according to the printf-like format.</div><div class='del'>-</div><div class='del'>- void rb_warning(char *fmt, ...)</div><div class='del'>-</div><div class='del'>-Prints warning message according to the printf-like format, if</div><div class='del'>-$VERBOSE is true.</div><div class='del'>-</div><div class='del'>- void rb_raise(VALUE exception, char *fmt, ...)</div><div class='del'>-</div><div class='del'>-Raises an exception of class exception.  The fmt is the format string</div><div class='del'>-just like printf().</div><div class='del'>-</div><div class='del'>- void rb_fatal(char *fmt, ...)</div><div class='del'>-</div><div class='del'>-Raises fatal error, terminates the interpreter.  No exception handling</div><div class='del'>-will be done for fatal error, but ensure blocks will be executed.</div><div class='del'>-</div><div class='del'>- void rb_bug(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'>-** Initialize and Starts the Interpreter</div><div class='del'>-</div><div class='del'>-The embedding API are below (not needed for extension libraries):</div><div class='del'>-</div><div class='del'>- void ruby_init(int argc, char **argv, char **envp)</div><div class='del'>-</div><div class='del'>-Initializes the interpreter.</div><div class='del'>-</div><div class='del'>- void ruby_run()</div><div class='del'>-</div><div class='del'>-Starts execution of the interpreter.</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'>-Appendix B. Functions Available in extconf.rb</div><div class='del'>-</div><div class='del'>-These functions are available in extconf.rb:</div><div class='del'>-</div><div class='del'>- have_library(lib, func)</div><div class='del'>-</div><div class='del'>-Checks whether library which contains specified function exists.</div><div class='del'>-Returns true if the library exists.</div><div class='del'>-</div><div class='del'>- have_func(func)</div><div class='del'>-</div><div class='del'>-Checks whether func exists.  Returns true if the function exists.  To</div><div class='del'>-check functions in the additional library, you need to check that</div><div class='del'>-library first using have_library().</div><div class='del'>-</div><div class='del'>- have_header(header)</div><div class='del'>-</div><div class='del'>-Checks for the header files.  Returns true if the header file exists.</div><div class='del'>-</div><div class='del'>- create_makefile(target)</div><div class='del'>-</div><div class='del'>-Generates the Makefile for the extension library.  If you don't invoke</div><div class='del'>-this method, the compilation will not be done.</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * Local variables:</div><div class='del'>- * fill-column: 70</div><div class='del'>- * end:</div><div class='del'>- */</div><div class='add'>+Moved to doc/extension.rdoc</div><div class='head'>diff --git a/README.EXT.ja b/README.EXT.ja<br/>new file mode 100644<br/>index 0000000000..f884ecbb0e<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/README.EXT.ja?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>README.EXT.ja</a></div><div class='hunk'>@@ -0,0 +1 @@</div><div class='add'>+doc/extension.ja.rdocã«ç§»å‹•ã—ã¾ã—ãŸ</div><div class='head'>diff --git a/README.EXT.jp b/README.EXT.jp<br/>deleted file mode 100644<br/>index da3902b8cc..0000000000<br/>--- a/<a href='/ruby.git/tree/README.EXT.jp?h=v3_0_0&amp;id=cfb52c86678519810cfa84b564a3d32a9200139d'>README.EXT.jp</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,1168 +0,0 @@</div><div class='del'>-.\" README.EXT -  -*- Text -*- 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'>-1¡¥´ðÁÃÃÎ¼±</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'>-1.1 ¥Ç¡¼¥¿¥¿¥¤¥×</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_FIXNUM	Fixnum(31bitÄ¹À°¿ô)</div><div class='del'>-	T_HASH		Ï¢ÁÛÇÛÎó</div><div class='del'>-	T_STRUCT	(Ruby¤Î)¹½Â¤ÂÎ</div><div class='del'>-	T_BIGNUM	Â¿ÇÜÄ¹À°¿ô</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'>-</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_VARMAP</div><div class='del'>-	T_SCOPE</div><div class='del'>-	T_NODE</div><div class='del'>-</div><div class='del'>-¤Û¤È¤ó¤É¤Î¥¿¥¤¥×¤ÏC¤Î¹½Â¤ÂÎ¤Ç¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤¹¡¥</div><div class='del'>-</div><div class='del'>-1.2 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'>-      TypeError("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'>-1.3 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¤Î¥µ¥¤¥º¤ò»ý¤ÄÀ°¿ô¤Ç</div><div class='del'>-¤¹¡¥FIXNUM¤òC¤ÎÀ°¿ô¤ËÊÑ´¹¤¹¤ë¤¿¤á¤Ë¤Ï¥Þ¥¯¥í¡ÖFIX2INT()¡×¤ò»È</div><div class='del'>-¤¤¤Þ¤¹¡¥¤½¤ì¤«¤é¡¤FIXNUM¤Ë¸Â¤é¤ºRuby¤Î¥Ç¡¼¥¿¤òÀ°¿ô¤ËÊÑ´¹¤¹¤ë</div><div class='del'>-¡ÖNUM2INT()¡×¤È¤¤¤¦¥Þ¥¯¥í¤¬¤¢¤ê¤Þ¤¹¡¥¤³¤Î¥Þ¥¯¥í¤Ï¥Ç¡¼¥¿¥¿¥¤</div><div class='del'>-¥×¤Î¥Á¥§¥Ã¥¯Ìµ¤·¤Ç»È¤¨¤Þ¤¹(À°¿ô¤ËÊÑ´¹¤Ç¤­¤Ê¤¤¾ì¹ç¤Ë¤ÏÎã³°¤¬</div><div class='del'>-È¯À¸¤¹¤ë)¡¥</div><div class='del'>-</div><div class='del'>-Æ±ÍÍ¤Ë¥Á¥§¥Ã¥¯Ìµ¤·¤Ç»È¤¨¤ëÊÑ´¹¥Þ¥¯¥í¤Ïdouble¤ò¼è¤ê½Ð¤¹</div><div class='del'>-¡ÖNUM2DBL()¡×¤Èchar*¤ò¼è¤ê½Ð¤¹¡ÖSTR2CSTR()¡×¤¬¤¢¤ê¤Þ¤¹¡¥</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'>-Îã¤¨¤Ð¡¤Ê¸»úÎóstr¤ÎÄ¹¤µ¤òÆÀ¤ë¤¿¤á¤Ë¤Ï¡ÖRSTRING(str)-&gt;len¡×¤È</div><div class='del'>-¤·¡¤Ê¸»úÎóstr¤òchar*¤È¤·¤ÆÆÀ¤ë¤¿¤á¤Ë¤Ï¡ÖRSTRING(str)-&gt;ptr¡×</div><div class='del'>-¤È¤·¤Þ¤¹¡¥ÇÛÎó¤Î¾ì¹ç¤Ë¤Ï¡¤¤½¤ì¤¾¤ì¡ÖRARRAY(ary)-&gt;len¡×¡¤</div><div class='del'>-¡ÖRARRAY(ary)-&gt;ptr¡×¤È¤Ê¤ê¤Þ¤¹¡¥</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'>-1.4 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°ÊÆâ¤Ë¼ý¤Þ¤ë¼«¿®¤¬¤¢¤ë»þ</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'>-1.5 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(char *ptr, int len)</div><div class='del'>-</div><div class='del'>-    ¿·¤·¤¤Ruby¤ÎÊ¸»úÎó¤òÀ¸À®¤¹¤ë¡¥</div><div class='del'>-</div><div class='del'>-  rb_str_new2(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_cat(VALUE str, char *ptr, int len)</div><div class='del'>-</div><div class='del'>-    Ruby¤ÎÊ¸»úÎóstr¤Ëlen¥Ð¥¤¥È¤ÎÊ¸»úÎóptr¤òÄÉ²Ã¤¹¤ë¡¥</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(int 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(int n, ...)</div><div class='del'>-</div><div class='del'>-    °ú¿ô¤Ç»ØÄê¤·¤¿nÍ×ÁÇ¤ò´Þ¤àÇÛÎó¤òÀ¸À®¤¹¤ë¡¥</div><div class='del'>-</div><div class='del'>-  rb_ary_new4(int n, VALUE *elts)</div><div class='del'>-</div><div class='del'>-    ÇÛÎó¤ÇÍ¿¤¨¤¿nÍ×ÁÇ¤ÎÇÛÎó¤òÀ¸À®¤¹¤ë¡¥</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'>-  rb_ary_entry(VALUE ary, int idx)</div><div class='del'>-</div><div class='del'>-    Array¤ÎÆ±Ì¾¤Î¥á¥½¥Ã¥É¤ÈÆ±¤¸Æ¯¤­¤ò¤¹¤ë´Ø¿ô¡¥Âè1°ú¿ô¤ÏÉ¬¤º</div><div class='del'>-    ÇÛÎó¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡¥</div><div class='del'>-</div><div class='del'>-2¡¥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'>-2.1 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'>-2.1.1 ¥¯¥é¥¹/¥â¥¸¥å¡¼¥ëÄêµÁ</div><div class='del'>-</div><div class='del'>-¥¯¥é¥¹¤ä¥â¥¸¥å¡¼¥ë¤òÄêµÁ¤¹¤ë¤¿¤á¤Ë¤Ï¡¤°Ê²¼¤Î´Ø¿ô¤ò»È¤¤¤Þ¤¹¡¥</div><div class='del'>-</div><div class='del'>-  VALUE rb_define_class(char *name, VALUE super)</div><div class='del'>-  VALUE rb_define_module(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(VALUE outer, char *name, VALUE super)</div><div class='del'>-  VALUE rb_define_module(VALUE outer, char *name)</div><div class='del'>-</div><div class='del'>-2.1.2 ¥á¥½¥Ã¥É/ÆÃ°Û¥á¥½¥Ã¥ÉÄêµÁ</div><div class='del'>-</div><div class='del'>-¥á¥½¥Ã¥É¤äÆÃ°Û¥á¥½¥Ã¥É¤òÄêµÁ¤¹¤ë¤Ë¤Ï°Ê²¼¤Î´Ø¿ô¤ò»È¤¤¤Þ¤¹¡¥</div><div class='del'>-</div><div class='del'>-  void rb_define_method(VALUE class, char *name, </div><div class='del'>-		        VALUE (*func)(), int argc)</div><div class='del'>-</div><div class='del'>-  void rb_define_singleton_method(VALUE object, char *name, </div><div class='del'>-			          VALUE (*func)(), int argc)</div><div class='del'>-</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'>-¥á¥½¥Ã¥É¤òÄêµÁ¤¹¤ë´Ø¿ô¤Ï¤â¤¦Æó¤Ä¤¢¤ê¤Þ¤¹¡¥¤Ò¤È¤Ä¤Ïprivate¥á</div><div class='del'>-¥½¥Ã¥É¤òÄêµÁ¤¹¤ë´Ø¿ô¤Ç¡¤°ú¿ô¤Ïrb_define_method()¤ÈÆ±¤¸¤Ç¤¹¡¥</div><div class='del'>-</div><div class='del'>-  void rb_define_private_method(VALUE class, char *name, </div><div class='del'>-			        VALUE (*func)(), int argc)</div><div class='del'>-</div><div class='del'>-private¥á¥½¥Ã¥É¤È¤Ï´Ø¿ô·Á¼°¤Ç¤·¤«¸Æ¤Ó½Ð¤¹¤³¤È¤Î½ÐÍè¤Ê¤¤¥á¥½¥Ã</div><div class='del'>-¥É¤Ç¤¹¡¥</div><div class='del'>-</div><div class='del'>-¤â¤¦¤Ò¤È¤Ä¤Ï¥â¥¸¥å¡¼¥ë´Ø¿ô¤òÄêµÁ¤¹¤ë¤â¤Î¤Ç¤¹¡¥¥â¥¸¥å¡¼¥ë´Ø¿ô</div><div class='del'>-¤È¤Ï¥â¥¸¥å¡¼¥ë¤ÎÆÃ°Û¥á¥½¥Ã¥É¤Ç¤¢¤ê¡¤Æ±»þ¤Ëprivate¥á¥½¥Ã¥É¤Ç</div><div class='del'>-¤â¤¢¤ë¤â¤Î¤Ç¤¹¡¥Îã¤ò¤¢¤²¤ë¤ÈMath¥â¥¸¥å¡¼¥ë¤Îsqrt()¤Ê¤É¤¬¤¢¤²</div><div class='del'>-¤é¤ì¤Þ¤¹¡¥¤³¤Î¥á¥½¥Ã¥É¤Ï</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, char *name, </div><div class='del'>-		                 VALUE (*func)(), 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(char *name, VALUE (*func)(), int argc)</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-2.1.3 Äê¿ôÄêµÁ</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 class, char *name, VALUE val)</div><div class='del'>-  void rb_define_global_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'>-2.2 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'>-2.2.1 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(char *str)</div><div class='del'>-</div><div class='del'>-¤³¤ÎÉ¾²Á¤Ï¸½ºß¤Î´Ä¶­¤Ç¹Ô¤ï¤ì¤Þ¤¹¡¥¤Ä¤Þ¤ê¡¤¸½ºß¤Î¥í¡¼¥«¥ëÊÑ¿ô</div><div class='del'>-¤Ê¤É¤ò¼õ¤±·Ñ¤®¤Þ¤¹¡¥</div><div class='del'>-</div><div class='del'>-2.2.2 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'>-¤Ç¥¢¥¯¥»¥¹¤Ç¤­¤Þ¤¹¡¥C¤«¤é¤³¤ÎÀ°¿ô¤òÆÀ¤ë¤¿¤á¤Ë¤Ï´Ø¿ô</div><div class='del'>-</div><div class='del'>-  rb_intern(char *name)</div><div class='del'>-</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'>-</div><div class='del'>-2.2.3 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_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'>-2.2.4 ÊÑ¿ô/Äê¿ô¤ò»²¾È/¹¹¿·¤¹¤ë</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'>-3¡¥Ruby¤ÈC¤È¤Î¾ðÊó¶¦Í­</div><div class='del'>-</div><div class='del'>-C¸À¸ì¤ÈRuby¤Î´Ö¤Ç¾ðÊó¤ò¶¦Í­¤¹¤ëÊýË¡¤Ë¤Ä¤¤¤Æ²òÀâ¤·¤Þ¤¹¡¥</div><div class='del'>-</div><div class='del'>-3.1 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'>-3.2 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(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(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(char *name, VALUE *var,</div><div class='del'>-				 VALUE (*getter)(), VALUE (*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'>-¤½¤ì¤«¤é¡¤C¤Î´Ø¿ô¤Ë¤è¤Ã¤Æ¼Â¸½¤µ¤ì¤ëRuby¤ÎÂç°èÊÑ¿ô¤òÄêµÁ¤¹¤ë</div><div class='del'>-´Ø¿ô¤¬¤¢¤ê¤Þ¤¹¡¥</div><div class='del'>-</div><div class='del'>-  void rb_define_virtual_variable(char *name,</div><div class='del'>-				  VALUE (*getter)(), VALUE (*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, void *data, struct global_entry* entry);</div><div class='del'>-  (*setter)(VALUE val, ID id, void *data, struct global_entry* entry);</div><div class='del'>-</div><div class='del'>-3.3 C¤Î¥Ç¡¼¥¿¤òRuby¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤¹¤ë</div><div class='del'>-</div><div class='del'>-C¤ÎÀ¤³¦¤ÇÄêµÁ¤µ¤ì¤¿¥Ç¡¼¥¿(¹½Â¤ÂÎ)¤òRuby¤Î¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤Æ</div><div class='del'>-¼è¤ê°·¤¤¤¿¤¤¾ì¹ç¤¬¤¢¤ê¤¨¤Þ¤¹¡¥¤³¤Î¤è¤¦¤Ê¾ì¹ç¤Ë¤Ï¡¤Data¤È¤¤¤¦</div><div class='del'>-Ruby¥ª¥Ö¥¸¥§¥¯¥È¤ËC¤Î¹½Â¤ÂÎ(¤Ø¤Î¥Ý¥¤¥ó¥¿)¤ò¤¯¤ë¤à¤³¤È¤ÇRuby</div><div class='del'>-¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤Æ¼è¤ê°·¤¨¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡¥</div><div class='del'>-</div><div class='del'>-Data¥ª¥Ö¥¸¥§¥¯¥È¤òÀ¸À®¤·¤Æ¹½Â¤ÂÎ¤òRuby¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥«¥×¥»¥ë</div><div class='del'>-²½¤¹¤ë¤¿¤á¤Ë¤Ï¡¤°Ê²¼¤Î¥Þ¥¯¥í¤ò»È¤¤¤Þ¤¹¡¥</div><div class='del'>-</div><div class='del'>-  Data_Wrap_Struct(class,mark,free,ptr)</div><div class='del'>-</div><div class='del'>-¤³¤Î¥Þ¥¯¥í¤ÎÌá¤êÃÍ¤ÏÀ¸À®¤µ¤ì¤¿Data¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¹¡¥</div><div class='del'>-</div><div class='del'>-class¤Ï¤³¤ÎData¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¯¥é¥¹¤Ç¤¹¡¥ptr¤Ï¥«¥×¥»¥ë²½¤¹¤ë</div><div class='del'>-C¤Î¹½Â¤ÂÎ¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¹¡¥mark¤Ï¤³¤Î¹½Â¤ÂÎ¤¬Ruby¤Î¥ª¥Ö¥¸¥§</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'>-free¤Ï¤³¤Î¹½Â¤ÂÎ¤¬¤â¤¦ÉÔÍ×¤Ë¤Ê¤Ã¤¿»þ¤Ë¸Æ¤Ð¤ì¤ë´Ø¿ô¤Ç¤¹¡¥¤³¤Î</div><div class='del'>-´Ø¿ô¤¬¥¬¡¼¥Ù¡¼¥¸¥³¥ì¥¯¥¿¤«¤é¸Æ¤Ð¤ì¤Þ¤¹¡¥</div><div class='del'>-</div><div class='del'>-C¤Î¹½Â¤ÂÎ¤Î³äÅö¤ÈData¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀ¸À®¤òÆ±»þ¤Ë¹Ô¤¦¥Þ¥¯¥í¤È</div><div class='del'>-¤·¤Æ°Ê²¼¤Î¤â¤Î¤¬Äó¶¡¤µ¤ì¤Æ¤¤¤Þ¤¹¡¥</div><div class='del'>-</div><div class='del'>-  Data_Make_Struct(class, type, mark, free, sval)</div><div class='del'>-</div><div class='del'>-¤³¤Î¥Þ¥¯¥í¤ÎÌá¤êÃÍ¤ÏÀ¸À®¤µ¤ì¤¿Data¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¹¡¥</div><div class='del'>-</div><div class='del'>-class, mark, free¤ÏData_Wrap_Struct¤ÈÆ±¤¸Æ¯¤­¤ò¤·¤Þ¤¹¡¥type</div><div class='del'>-¤Ï³ä¤êÅö¤Æ¤ëC¹½Â¤ÂÎ¤Î·¿¤Ç¤¹¡¥³ä¤êÅö¤Æ¤é¤ì¤¿¹½Â¤ÂÎ¤ÏÊÑ¿ôsval</div><div class='del'>-¤ËÂåÆþ¤µ¤ì¤Þ¤¹¡¥¤³¤ÎÊÑ¿ô¤Î·¿¤Ï (type*) ¤Ç¤¢¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¡¥</div><div class='del'>-</div><div class='del'>-Data¥ª¥Ö¥¸¥§¥¯¥È¤«¤é¥Ý¥¤¥ó¥¿¤ò¼è¤ê½Ð¤¹¤Î¤Ï°Ê²¼¤Î¥Þ¥¯¥í¤òÍÑ¤¤</div><div class='del'>-¤Þ¤¹¡¥</div><div class='del'>-</div><div class='del'>-  Data_Get_Struct(obj, type, sval)</div><div class='del'>-</div><div class='del'>-C¤Î¹½Â¤ÂÎ¤Ø¤Î¥Ý¥¤¥ó¥¿¤ÏÊÑ¿ôsval¤ËÂåÆþ¤µ¤ì¤Þ¤¹¡¥</div><div class='del'>-</div><div class='del'>-¤³¤ì¤é¤ÎData¤Î»È¤¤Êý¤Ï¤Á¤ç¤Ã¤ÈÊ¬¤«¤ê¤Ë¤¯¤¤¤Î¤Ç¡¤¸å¤ÇÀâÌÀ¤¹¤ë</div><div class='del'>-ÎãÂê¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡¥</div><div class='del'>-</div><div class='del'>-4¡¥ÎãÂê - dbm¥Ñ¥Ã¥±¡¼¥¸¤òºî¤ë</div><div class='del'>-</div><div class='del'>-¤³¤³¤Þ¤Ç¤ÎÀâÌÀ¤Ç¤È¤ê¤¢¤¨¤º³ÈÄ¥¥é¥¤¥Ö¥é¥ê¤Ïºî¤ì¤ë¤Ï¤º¤Ç¤¹¡¥</div><div class='del'>-Ruby¤Îext¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¹¤Ç¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ëdbm¥é¥¤¥Ö¥é¥ê¤òÎã¤Ë</div><div class='del'>-¤·¤ÆÃÊ³¬Åª¤ËÀâÌÀ¤·¤Þ¤¹¡¥</div><div class='del'>-</div><div class='del'>-(1) ¥Ç¥£¥ì¥¯¥È¥ê¤òºî¤ë</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'>-(2) MANIFEST¥Õ¥¡¥¤¥ë¤òºî¤ë</div><div class='del'>-</div><div class='del'>-  % cd ext/dbm</div><div class='del'>-  % touch MANIFEST</div><div class='del'>-</div><div class='del'>-³ÈÄ¥¥é¥¤¥Ö¥é¥ê¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Ë¤ÏMANIFEST¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬</div><div class='del'>-É¬Í×¤Ê¤Î¤Ç¡¤¤È¤ê¤¢¤¨¤º¶õ¤Î¥Õ¥¡¥¤¥ë¤òºî¤Ã¤Æ¤ª¤­¤Þ¤¹¡¥¸å¤Ç¤³¤Î</div><div class='del'>-¥Õ¥¡¥¤¥ë¤Ë¤ÏÉ¬Í×¤Ê¥Õ¥¡¥¤¥ë°ìÍ÷¤¬Æþ¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡¥</div><div class='del'>-</div><div class='del'>-MANIFEST¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤Ï¡¤ÀÅÅª¥ê¥ó¥¯¤Îmake¤Î»þ¤Ë¥Ç¥£¥ì¥¯¥È¥ê</div><div class='del'>-¤¬³ÈÄ¥¥é¥¤¥Ö¥é¥ê¤ò´Þ¤ó¤Ç¤¤¤ë¤«¤É¤¦¤«È½Äê¤¹¤ë¤¿¤á¤Ë»È¤ï¤ì¤ì¤Æ</div><div class='del'>-¤¤¤Þ¤¹¡¥¥À¥¤¥Ê¥ß¥Ã¥¯¥é¥¤¥Ö¥é¥ê¤òºî¤ë¾ì¹ç¤Ë¤ÏÉ¬¤º¤·¤âÉ¬Í×¤Ç¤Ï</div><div class='del'>-¤¢¤ê¤Þ¤»¤ó¡¥</div><div class='del'>-</div><div class='del'>-(3) Àß·×¤¹¤ë</div><div class='del'>-</div><div class='del'>-¤Þ¤¢¡¤ÅöÁ³¤Ê¤ó¤Ç¤¹¤±¤É¡¤¤É¤¦¤¤¤¦µ¡Ç½¤ò¼Â¸½¤¹¤ë¤«¤É¤¦¤«¤Þ¤ºÀß</div><div class='del'>-·×¤¹¤ëÉ¬Í×¤¬¤¢¤ê¤Þ¤¹¡¥¤É¤ó¤Ê¥¯¥é¥¹¤ò¤Ä¤¯¤ë¤«¡¤¤½¤Î¥¯¥é¥¹¤Ë¤Ï</div><div class='del'>-¤É¤ó¤Ê¥á¥½¥Ã¥É¤¬¤¢¤ë¤«¡¤¥¯¥é¥¹¤¬Äó¶¡¤¹¤ëÄê¿ô¤Ê¤É¤Ë¤Ä¤¤¤ÆÀß·×</div><div class='del'>-¤·¤Þ¤¹¡¥dbm¥¯¥é¥¹¤Ë¤Ä¤¤¤Æ¤Ïext/dbm.doc¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡¥</div><div class='del'>-</div><div class='del'>-(4) 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'>-¤È¤¬¾×ÆÍ¤¹¤ë¤«¤é¤Ç¤¹¡¥</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'>---</div><div class='del'>-Init_dbm()</div><div class='del'>-{</div><div class='del'>-    /* DBM¥¯¥é¥¹¤òÄêµÁ¤¹¤ë */</div><div class='del'>-    cDBM = rb_define_class("DBM", rb_cObject);</div><div class='del'>-    /* DBM¤ÏEnumerate¥â¥¸¥å¡¼¥ë¤ò¥¤¥ó¥¯¥ë¡¼¥É¤¹¤ë */</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'>-    /* DBM¥Ç¡¼¥¿¤ò³ÊÇ¼¤¹¤ë¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ôÌ¾¤Î¤¿¤á¤ÎID */</div><div class='del'>-    id_dbm = rb_intern("dbm");</div><div class='del'>-}</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'>-</div><div class='del'>-dbm.c¤Ç¤ÏData_Make_Struct¤ò°Ê²¼¤Î¤è¤¦¤Ë»È¤Ã¤Æ¤¤¤Þ¤¹¡¥</div><div class='del'>-</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'>-</div><div class='del'>-obj = Data_Make_Struct(class,struct dbmdata,0,free_dbm,dbmp);</div><div class='del'>---</div><div class='del'>-</div><div class='del'>-¤³¤³¤Ç¤Ïdbmstruct¹½Â¤ÂÎ¤Ø¤Î¥Ý¥¤¥ó¥¿¤ò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'>---</div><div class='del'>-#define GetDBM(obj, dbmp) {\</div><div class='del'>-    Data_Get_Struct(obj, struct dbmdata, dbmp);\</div><div class='del'>-    if (dbmp-&gt;di_dbm == 0) closed_dbm();\</div><div class='del'>-}</div><div class='del'>---</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'>---</div><div class='del'>-static VALUE</div><div class='del'>-fdbm_delete(obj, keystr)</div><div class='del'>-    VALUE obj, keystr;</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°ú¿ô¤¬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'>---</div><div class='del'>-static VALUE</div><div class='del'>-fdbm_s_open(argc, argv, class)</div><div class='del'>-    int argc;</div><div class='del'>-    VALUE *argv;</div><div class='del'>-    VALUE class;</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ÊÑ¿ô°Ê¹ß¤Ë»ØÄê¤·¤¿ÊÑ¿ô¤ËÃÍ¤òÂåÆþ¤·¤Æ¤¯¤ì¤Þ¤¹¡¥¤³¤Î</div><div class='del'>-¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï¡¤Âè1Ê¸»úÌÜ¤¬¾ÊÎ¬¤Ç¤­¤Ê¤¤°ú¿ô¤Î¿ô¡¤Âè2Ê¸»úÌÜ¤¬</div><div class='del'>-¾ÊÎ¬¤Ç¤­¤ë°ú¿ô¤Î¿ô¡¤Âè3Ê¸»úÌÜ¤¬ÂÐ±þ¤¹¤ëÁê¼ê¤¬Ìµ¤¤¤¢¤Þ¤ê¤Î°ú</div><div class='del'>-¿ô¤¬¤¢¤ë¤«¤É¤¦¤«¤ò¼¨¤¹"*"¤Ç¤¹¡¥2Ê¸»úÌÜ¤È3Ê¸»úÌÜ¤Ï¾ÊÎ¬¤Ç¤­¤Þ</div><div class='del'>-¤¹¡¥dbm.c¤ÎÎã¤Ç¤Ï¡¤¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï"11"¤Ç¤¹¤«¤é¡¤°ú¿ô¤ÏºÇÄã1¤Ä</div><div class='del'>-¤Ç¡¤2¤Ä¤Þ¤Çµö¤µ¤ì¤ë¤È¤¤¤¦°ÕÌ£¤Ë¤Ê¤ê¤Þ¤¹¡¥¾ÊÎ¬¤µ¤ì¤Æ¤¤¤ë»þ¤Î</div><div class='del'>-ÊÑ¿ô¤ÎÃÍ¤Ïnil(C¸À¸ì¤Î¥ì¥Ù¥ë¤Ç¤ÏQnil)¤Ë¤Ê¤ê¤Þ¤¹¡¥</div><div class='del'>-</div><div class='del'>-Ruby¤ÎÇÛÎó¤Ç°ú¿ô¤ò¼õ¤±¼è¤ë¤â¤Î¤Ïindexes¤¬¤¢¤ê¤Þ¤¹¡¥¼ÂÁõ¤Ï¤³</div><div class='del'>-¤¦¤Ç¤¹¡¥</div><div class='del'>-</div><div class='del'>---</div><div class='del'>-static VALUE</div><div class='del'>-fdbm_indexes(obj, args)</div><div class='del'>-    VALUE obj, args;</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°ú¿ô¤Ï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'>-(5) 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): ´Ø¿ô¤ÎÂ¸ºß¥Á¥§¥Ã¥¯</div><div class='del'>-  have_header(header): ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤ÎÂ¸ºß¥Á¥§¥Ã¥¯</div><div class='del'>-  create_makefile(target): Makefile¤ÎÀ¸À®</div><div class='del'>-</div><div class='del'>-°Ê²¼¤ÎÊÑ¿ô¤ò»È¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡¥</div><div class='del'>-</div><div class='del'>-  $CFLAGS: ¥³¥ó¥Ñ¥¤¥ë»þ¤ËÄÉ²ÃÅª¤Ë»ØÄê¤¹¤ë¥Õ¥é¥°(-I¤Ê¤É)</div><div class='del'>-  $LDFLAGS: ¥ê¥ó¥¯»þ¤ËÄÉ²ÃÅª¤Ë»ØÄê¤¹¤ë¥Õ¥é¥°(-L¤Ê¤É)</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'>-(6) 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'>-(7) MANIFEST¥Õ¥¡¥¤¥ë¤Ë¥Õ¥¡¥¤¥ëÌ¾¤òÆþ¤ì¤ë</div><div class='del'>-</div><div class='del'>-  % find * -type f -print &gt; MANIFEST</div><div class='del'>-  % vi MANIFEST</div><div class='del'>-</div><div class='del'>-*.o, *~¤Ê¤ÉÉÔÉ¬Í×¤Ê¥Õ¥¡¥¤¥ë°Ê³°¤ÏMANIFEST¤ËÄÉ²Ã¤·¤Æ¤ª¤­¤Þ¤¹¡¥</div><div class='del'>-make»þ¤Ë¤ÏMANIFEST¤ÎÆâÍÆ¤Ï»²¾È¤·¤Þ¤»¤ó¤Î¤Ç¡¤¶õ¤Î¤Þ¤Þ¤Ç¤âÌäÂê</div><div class='del'>-¤Ïµ¯¤­¤Þ¤»¤ó¤¬¡¤¥Ñ¥Ã¥±¡¼¥¸¥ó¥°¤Î»þ¤Ë»²¾È¤¹¤ë¤³¤È¤¬¤¢¤ë¤Î¤È¡¤</div><div class='del'>-É¬Í×¤Ê¥Õ¥¡¥¤¥ë¤ò¶èÊÌ¤Ç¤­¤ë¤Î¤Ç¡¤ÍÑ°Õ¤·¤Æ¤ª¤¤¤¿Êý¤¬ÎÉ¤¤¤Ç¤·¤ç</div><div class='del'>-¤¦¡¥</div><div class='del'>-</div><div class='del'>-(8) 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'>-¥Ç¥£¥ì¥¯¥È¥ê¤òext°Ê²¼¤ËÍÑ°Õ¤·¤¿¾ì¹ç¤Ë¤ÏRubyÁ´ÂÎ¤Îmake¤Î»þ¤Ë</div><div class='del'>-¼«Æ°Åª¤ËMakefile¤¬À¸À®¤µ¤ì¤Þ¤¹¤Î¤Ç¡¤¤³¤Î¥¹¥Æ¥Ã¥×¤ÏÉÔÍ×¤Ç¤¹¡¥</div><div class='del'>-</div><div class='del'>-(9) 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'>-(10) ¥Ç¥Ð¥Ã¥°</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'>-(11) ¤Ç¤­¤¢¤¬¤ê</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'>-  eval.c</div><div class='del'>-  gc.c</div><div class='del'>-  object.c</div><div class='del'>-  parse.y</div><div class='del'>-  variable.c</div><div class='del'>-</div><div class='del'>-¥æ¡¼¥Æ¥£¥ê¥Æ¥£´Ø¿ô</div><div class='del'>-</div><div class='del'>-  dln.c</div><div class='del'>-  fnmatch.c</div><div class='del'>-  glob.c</div><div class='del'>-  regex.c</div><div class='del'>-  st.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'>-  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'>-¥¯¥é¥¹¥é¥¤¥Ö¥é¥ê</div><div class='del'>-</div><div class='del'>-  array.c</div><div class='del'>-  bignum.c</div><div class='del'>-  compar.c</div><div class='del'>-  dir.c</div><div class='del'>-  enum.c</div><div class='del'>-  file.c</div><div class='del'>-  hash.c</div><div class='del'>-  io.c</div><div class='del'>-  marshal.c</div><div class='del'>-  math.c</div><div class='del'>-  numeric.c</div><div class='del'>-  pack.c</div><div class='del'>-  process.c</div><div class='del'>-  random.c</div><div class='del'>-  range.c</div><div class='del'>-  re.c</div><div class='del'>-  signal.c</div><div class='del'>-  sprintf.c</div><div class='del'>-  string.c</div><div class='del'>-  struct.c</div><div class='del'>-  time.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 class, 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(class, 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'>-TYPE(value)</div><div class='del'>-FIXNUM_P(value)</div><div class='del'>-NIL_P(value)</div><div class='del'>-void Check_Type(VALUE value, int type)</div><div class='del'>-void Check_SafeStr(VALUE value)</div><div class='del'>-</div><div class='del'>-** ·¿ÊÑ´¹</div><div class='del'>-</div><div class='del'>-FIX2INT(value)</div><div class='del'>-INT2FIX(i)</div><div class='del'>-NUM2INT(value)</div><div class='del'>-INT2NUM(i)</div><div class='del'>-NUM2DBL(value)</div><div class='del'>-rb_float_new(f)</div><div class='del'>-STR2CSTR(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(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, 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(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, char *name, VALUE super)</div><div class='del'>-</div><div class='del'>-  ¿·¤·¤¤Ruby¥â¥¸¥å¡¼¥ë¤òÄêµÁ¤·¡¤module¤ÎÄê¿ô¤È¤·¤ÆÄêµÁ¤¹¤ë¡¥</div><div class='del'>-</div><div class='del'>-void rb_include_module(VALUE class, 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(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(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(char *name,</div><div class='del'>-				VALUE (*getter)(), VALUE (*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(char *name, VALUE *var,</div><div class='del'>-			       VALUE (*getter)(), VALUE (*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, 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(char *name, VALUE val)</div><div class='del'>-</div><div class='del'>-  Âç°èÄê¿ô¤òÄêµÁ¤¹¤ë¡¥</div><div class='del'>-</div><div class='del'>-     rb_define_const(cKernal, 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 class, char *name, VALUE (*func)(), 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 class, char *name, VALUE (*func)(), 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 class, char *name, VALUE (*func)(), int argc)</div><div class='del'>-</div><div class='del'>-  ÆÃ°Û¥á¥½¥Ã¥É¤òÄêµÁ¤¹¤ë¡¥°ú¿ô¤Ïrb_define_method()¤ÈÆ±¤¸¡¥</div><div class='del'>-</div><div class='del'>-rb_scan_args(int argc, VALUE *argv, char *fmt, ...)</div><div class='del'>-</div><div class='del'>-  argc,argv·Á¼°¤ÇÍ¿¤¨¤é¤ì¤¿°ú¿ô¤òÊ¬²ò¤¹¤ë¡¥fmt¤ÏÉ¬¿Ü°ú¿ô¤Î¿ô, </div><div class='del'>-  ÉÕ²Ã°ú¿ô¤Î¿ô, »Ä¤ê¤Î°ú¿ô¤¬¤¢¤ë¤«¤ò»ØÄê¤¹¤ëÊ¸»úÎó¤Ç, "¿ô»ú</div><div class='del'>-  ¿ô»ú*"¤È¤¤¤¦·Á¼°¤Ç¤¢¤ë¡¥ 2 ÈÖÌÜ¤Î¿ô»ú¤È"*"¤Ï¤½¤ì¤¾¤ì¾ÊÎ¬²Ä</div><div class='del'>-  Ç½¤Ç¤¢¤ë¡¥É¬¿Ü°ú¿ô¤¬°ì¤Ä¤â¤Ê¤¤¾ì¹ç¤Ï0¤ò»ØÄê¤¹¤ë¡¥Âè3°ú¿ô°Ê</div><div class='del'>-  ¹ß¤ÏÊÑ¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç, ³ºÅö¤¹¤ëÍ×ÁÇ¤¬¤½¤ÎÊÑ¿ô¤Ë³ÊÇ¼¤µ¤ì¤ë¡¥</div><div class='del'>-  ÉÕ²Ã°ú¿ô¤ËÂÐ±þ¤¹¤ë°ú¿ô¤¬Í¿¤¨¤é¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤ÏÊÑ¿ô¤ËQnil¤¬</div><div class='del'>-  ÂåÆþ¤µ¤ì¤ë¡¥</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'>-</div><div class='del'>-VALUE rb_funcall2(VALUE recv, ID mid, int argc, VALUE *argv)</div><div class='del'>-</div><div class='del'>-  ¥á¥½¥Ã¥É¸Æ¤Ó½Ð¤·¡¥°ú¿ô¤òargc,argv·Á¼°¤ÇÅÏ¤¹¡¥</div><div class='del'>-</div><div class='del'>-VALUE rb_eval_string(char *str)</div><div class='del'>-</div><div class='del'>-  Ê¸»úÎó¤òRuby¤È¥¹¥¯¥ê¥×¥È¤·¤Æ¥³¥ó¥Ñ¥¤¥ë¡¦¼Â¹Ô¤¹¤ë¡¥</div><div class='del'>-</div><div class='del'>-ID rb_intern(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 class)</div><div class='del'>-</div><div class='del'>-  class¤ÎÌ¾Á°¤òÊÖ¤¹(¥Ç¥Ð¥Ã¥°ÍÑ)¡¥class¤¬Ì¾Á°¤ò»ý¤¿¤Ê¤¤»þ¤Ë¤Ï, </div><div class='del'>-  ÁÄÀè¤òÁÌ¤Ã¤ÆÌ¾Á°¤ò»ý¤Ä¥¯¥é¥¹¤ÎÌ¾Á°¤òÊÖ¤¹¡¥</div><div class='del'>-</div><div class='del'>-** ¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô</div><div class='del'>-</div><div class='del'>-VALUE rb_iv_get(VALUE obj, 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, 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_iterate(VALUE (*func1)(), void *arg1, VALUE (*func2)(), void *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'>-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)(), void *arg1, VALUE (*func2)(), void *arg2)</div><div class='del'>-</div><div class='del'>-  ´Ø¿ôfunc1¤òarg1¤ò°ú¿ô¤Ë¸Æ¤Ó½Ð¤¹¡¥func1¤Î¼Â¹ÔÃæ¤ËÎã³°¤¬È¯À¸</div><div class='del'>-  ¤·¤¿»þ¤Ë¤Ï func2¤òarg2¤ò°ú¿ô¤È¤·¤Æ¸Æ¤Ö¡¥Ìá¤êÃÍ¤ÏÎã³°¤¬È¯À¸</div><div class='del'>-  ¤·¤Ê¤«¤Ã¤¿»þ¤Ïfunc1¤ÎÌá¤êÃÍ, Îã³°¤¬È¯À¸¤·¤¿»þ¤Ë¤Ïfunc2¤ÎÌá</div><div class='del'>-  ¤êÃÍ¤Ç¤¢¤ë¡¥</div><div class='del'>-</div><div class='del'>-VALUE rb_ensure(VALUE (*func1)(), void *arg1, void (*func2)(), void *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'>-** Îã³°¡¦¥¨¥é¡¼</div><div class='del'>-</div><div class='del'>-void rb_warning(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, 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, 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(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(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'>-** 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(int argc, char **argv, char **envp)</div><div class='del'>-</div><div class='del'>-  Ruby¥¤¥ó¥¿¥×¥ê¥¿¤Î½é´ü²½¤ò¹Ô¤Ê¤¦¡¥</div><div class='del'>-</div><div class='del'>-void ruby_run()</div><div class='del'>-</div><div class='del'>-  Ruby¥¤¥ó¥¿¥×¥ê¥¿¤ò¼Â¹Ô¤¹¤ë¡¥</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'>-Appendix B. 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_library(lib, func)</div><div class='del'>-</div><div class='del'>-  ´Ø¿ôfunc¤òÄêµÁ¤·¤Æ¤¤¤ë¥é¥¤¥Ö¥é¥êlib¤ÎÂ¸ºß¤ò¥Á¥§¥Ã¥¯¤¹¤ë¡¥</div><div class='del'>-  ¥é¥¤¥Ö¥é¥ê¤¬Â¸ºß¤¹¤ë»þ¡¤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'>-  ¤·¤Ê¤¬¤é¥Á¥§¥Ã¥¯¤¹¤ë¡¥¥é¥¤¥Ö¥é¥ê¤¬¸«ÉÕ¤«¤Ã¤¿»þ¡¤true¤òÊÖ¤¹¡¥</div><div class='del'>-  ·ë²Ì¤ò¥­¥ã¥Ã¥·¥å¤·¤Ê¤¤¡¥</div><div class='del'>-</div><div class='del'>-have_func(func)</div><div class='del'>-</div><div class='del'>-  ´Ø¿ôfunc¤ÎÂ¸ºß¤ò¥Á¥§¥Ã¥¯¤¹¤ë¡¥func¤¬É¸½à¤Ç¤Ï¥ê¥ó¥¯¤µ¤ì¤Ê¤¤</div><div class='del'>-  ¥é¥¤¥Ö¥é¥êÆâ¤Î¤â¤Î¤Ç¤¢¤ë»þ¤Ë¤ÏÀè¤Ëhave_library¤Ç¤½¤Î¥é¥¤¥Ö</div><div class='del'>-  ¥é¥ê¤ò¥Á¥§¥Ã¥¯¤·¤Æ¤ª¤¯»ö¡¥´Ø¿ô¤¬Â¸ºß¤¹¤ë»þtrue¤òÊÖ¤¹¡¥</div><div class='del'>-</div><div class='del'>-have_header(header)</div><div class='del'>-</div><div class='del'>-  ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤ÎÂ¸ºß¤ò¥Á¥§¥Ã¥¯¤¹¤ë¡¥¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹</div><div class='del'>-  ¤ë»þtrue¤òÊÖ¤¹¡¥</div><div class='del'>-</div><div class='del'>-find_header(header)</div><div class='del'>-</div><div class='del'>-  ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤ÎÂ¸ºß¤ò -Ipath ¤òÄÉ²Ã¤·¤Ê¤¬¤é¥Á¥§¥Ã¥¯¤¹¤ë¡¥</div><div class='del'>-  ¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤¬¸«ÉÕ¤«¤Ã¤¿»þtrue¤òÊÖ¤¹¡¥·ë²Ì¤ò¥­¥ã¥Ã¥·¥å¤·</div><div class='del'>-  ¤Ê¤¤¡¥</div><div class='del'>-</div><div class='del'>-create_makefile(target)</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'>-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'>-dir_config(target)</div><div class='del'>-</div><div class='del'>-  --with-&lt;target&gt;-dir, --with-&lt;target&gt;-include, --with-&lt;target&gt;-lib</div><div class='del'>-  ¤Î¤¤¤º¤ì¤«¤Ç»ØÄê¤µ¤ì¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ò $CFLAGS ¤ä $LDFLAGS</div><div class='del'>-  ¤ËÄÉ²Ã¤¹¤ë¡¥</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * Local variables:</div><div class='del'>- * fill-column: 60</div><div class='del'>- * end:</div><div class='del'>- */</div><div class='head'>diff --git a/README.ja.md b/README.ja.md<br/>new file mode 100644<br/>index 0000000000..bee6433c62<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/README.ja.md?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>README.ja.md</a></div><div class='hunk'>@@ -0,0 +1,185 @@</div><div class='add'>+[![Build Status](https://travis-ci.org/ruby/ruby.svg?branch=master)](https://travis-ci.org/ruby/ruby)</div><div class='add'>+[![Build status](https://ci.appveyor.com/api/projects/status/0sy8rrxut4o0k960/branch/master?svg=true)](https://ci.appveyor.com/project/ruby/ruby/branch/master)</div><div class='add'>+[![Actions Status](https://github.com/ruby/ruby/workflows/macOS/badge.svg)](https://github.com/ruby/ruby/actions?query=workflow%3A"macOS")</div><div class='add'>+[![Actions Status](https://github.com/ruby/ruby/workflows/MinGW/badge.svg)](https://github.com/ruby/ruby/actions?query=workflow%3A"MinGW")</div><div class='add'>+[![Actions Status](https://github.com/ruby/ruby/workflows/MJIT/badge.svg)](https://github.com/ruby/ruby/actions?query=workflow%3A"MJIT")</div><div class='add'>+[![Actions Status](https://github.com/ruby/ruby/workflows/Ubuntu/badge.svg)](https://github.com/ruby/ruby/actions?query=workflow%3A"Ubuntu")</div><div class='add'>+[![Actions Status](https://github.com/ruby/ruby/workflows/Windows/badge.svg)](https://github.com/ruby/ruby/actions?query=workflow%3A"Windows")</div><div class='add'>+</div><div class='add'>+# Rubyã¨ã¯</div><div class='add'>+</div><div class='add'>+Rubyã¯ã‚·ãƒ³ãƒ—ãƒ«ã‹ã¤å¼·åŠ›ãªã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆæŒ‡å‘ã‚¹ã‚¯ãƒªãƒ—ãƒˆè¨€èªžã§ã™ï¼Ž Rubyã¯ç´”ç²‹ãªã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆæŒ‡å‘è¨€èªžã¨ã—ã¦è¨­è¨ˆã•ã‚Œã¦ã„ã‚‹ã®ã§ï¼Œ</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'>+## 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-like/POSIXäº’æ›ãƒ—ãƒ©ãƒƒãƒˆãƒ•ã‚©ãƒ¼ãƒ ä¸Šã§å‹•ãã ã‘ã§ãªãï¼ŒWindowsï¼Œ macOSï¼Œ</div><div class='add'>+    Haikuãªã©ã®ä¸Šã§ã‚‚å‹•ã cf.</div><div class='add'>+    https://github.com/ruby/ruby/blob/master/doc/contributing.rdoc#platform-maintainers</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'>+https://www.ruby-lang.org/ja/downloads/</div><div class='add'>+</div><div class='add'>+ã‚’å‚ç…§ã—ã¦ãã ã•ã„ï¼Ž</div><div class='add'>+</div><div class='add'>+### Git</div><div class='add'>+</div><div class='add'>+ãƒŸãƒ©ãƒ¼ã‚’GitHubã«å…¬é–‹ã—ã¦ã„ã¾ã™ï¼Ž ä»¥ä¸‹ã®ã‚³ãƒžãƒ³ãƒ‰ã§ãƒªãƒã‚¸ãƒˆãƒªã‚’å–å¾—ã§ãã¾ã™ï¼Ž</div><div class='add'>+</div><div class='add'>+    $ git clone https://github.com/ruby/ruby.git</div><div class='add'>+</div><div class='add'>+ä»–ã®ãƒ–ãƒ©ãƒ³ãƒã®ä¸€è¦§ã¯æ¬¡ã®ã‚³ãƒžãƒ³ãƒ‰ã§è¦‹ã‚‰ã‚Œã¾ã™ï¼Ž</div><div class='add'>+</div><div class='add'>+    $ git ls-remote https://github.com/ruby/ruby.git</div><div class='add'>+</div><div class='add'>+Rubyãƒªãƒã‚¸ãƒˆãƒªã®æœ¬æ¥ã®masterã¯ https://git.ruby-lang.org/ruby.git ã«ã‚ã‚Šã¾ã™ï¼Ž</div><div class='add'>+ã‚³ãƒŸãƒƒã‚¿ã¯ã“ã¡ã‚‰ã‚’ä½¿ã„ã¾ã™ï¼Ž</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 https://svn.ruby-lang.org/repos/ruby/branches/ruby_2_6/ ruby</div><div class='add'>+</div><div class='add'>+ä»–ã«é–‹ç™ºä¸­ã®ãƒ–ãƒ©ãƒ³ãƒã®ä¸€è¦§ã¯æ¬¡ã®ã‚³ãƒžãƒ³ãƒ‰ã§è¦‹ã‚‰ã‚Œã¾ã™ï¼Ž</div><div class='add'>+</div><div class='add'>+    $ svn ls https://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'>+https://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'>+Rubyã®ãƒ¡ãƒ¼ãƒªãƒ³ã‚°ãƒªã‚¹ãƒˆãŒã‚ã‚Šã¾ã™ï¼Žå‚åŠ å¸Œæœ›ã®æ–¹ã¯</div><div class='add'>+</div><div class='add'>+mailto:ruby-list-request@ruby-lang.org</div><div class='add'>+</div><div class='add'>+ã¾ã§æœ¬æ–‡ã«</div><div class='add'>+</div><div class='add'>+    subscribe</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'>+mailto:ruby-dev-request@ruby-lang.org</div><div class='add'>+</div><div class='add'>+ã¾ã§ruby-listã¨åŒæ§˜ã®æ–¹æ³•ã§ãƒ¡ãƒ¼ãƒ«ã—ã¦ãã ã•ã„ï¼Ž</div><div class='add'>+</div><div class='add'>+Rubyæ‹¡å¼µãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã«ã¤ã„ã¦è©±ã—åˆã†ruby-extãƒ¡ãƒ¼ãƒªãƒ³ã‚°ãƒªã‚¹ãƒˆã¨æ•°å­¦é–¢ä¿‚ã®è©±é¡Œã«ã¤ã„ã¦è©±ã—åˆã†ruby-mathãƒ¡ãƒ¼ãƒªãƒ³ã‚°ãƒªã‚¹ãƒˆã¨</div><div class='add'>+è‹±èªžã§rubyã«ã¤ã„ã¦è©±ã—åˆã†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'>+1.  ã‚‚ã— `configure` ãƒ•ã‚¡ã‚¤ãƒ«ãŒè¦‹ã¤ã‹ã‚‰ãªã„ï¼Œã‚‚ã—ãã¯ `configure.ac` ã‚ˆã‚Šå¤ã„ã‚ˆã†ãªã‚‰ï¼Œ `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'>+    ç’°å¢ƒã«ã‚ˆã£ã¦ã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®Cã‚³ãƒ³ãƒ‘ã‚¤ãƒ©ç”¨ã‚ªãƒ—ã‚·ãƒ§ãƒ³ãŒä»˜ãã¾ã™ï¼Ž `configure` ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã§ `optflags=..`</div><div class='add'>+    `warnflags=..` ç­‰ã§ä¸Šæ›¸ãã§ãã¾ã™ï¼Ž</div><div class='add'>+</div><div class='add'>+3.  (å¿…è¦ãªã‚‰ã°)`include/ruby/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'>+    `ext/Setup` ã«è¨˜è¿°ã—ãŸãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯é™çš„ã«ãƒªãƒ³ã‚¯ã•ã‚Œã¾ã™ï¼Ž</div><div class='add'>+</div><div class='add'>+    ãƒ€ã‚¤ãƒŠãƒŸãƒƒã‚¯ãƒ­ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã‚’ã‚µãƒãƒ¼ãƒˆã—ã¦ã„ãªã„ã‚¢ãƒ¼ã‚­ãƒ†ã‚¯ãƒãƒ£ã§ã¯ `Setup` ã®1è¡Œç›®ã®ã€Œ`option nodynamic`ã€ã¨ã„ã†è¡Œã®ã‚³</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 check`ã§ãƒ†ã‚¹ãƒˆã‚’è¡Œã†ï¼Ž</div><div class='add'>+</div><div class='add'>+    ã€Œ`check succeeded`ã€ã¨è¡¨ç¤ºã•ã‚Œã‚Œã°æˆåŠŸã§ã™ï¼ŽãŸã ã—ãƒ†ã‚¹ãƒˆã«æˆåŠŸã—ã¦ã‚‚å®Œç’§ã ã¨ä¿è¨¼ã•ã‚Œã¦ã„ã‚‹è¨³ã§ã¯ã‚ã‚Šã¾ã›ã‚“ï¼Ž</div><div class='add'>+</div><div class='add'>+7.  `make install`</div><div class='add'>+</div><div class='add'>+    ä»¥ä¸‹ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’ä½œã£ã¦ï¼Œãã“ã«ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ ãƒ«ã—ã¾ã™ï¼Ž</div><div class='add'>+</div><div class='add'>+    *   `${DESTDIR}${prefix}/bin`</div><div class='add'>+    *   `${DESTDIR}${prefix}/include/ruby-${MAJOR}.${MINOR}.${TEENY}`</div><div class='add'>+    *   `${DESTDIR}${prefix}/include/ruby-${MAJOR}.${MINOR}.${TEENY}/${PLATFORM}`</div><div class='add'>+    *   `${DESTDIR}${prefix}/lib`</div><div class='add'>+    *   `${DESTDIR}${prefix}/lib/ruby`</div><div class='add'>+    *   `${DESTDIR}${prefix}/lib/ruby/${MAJOR}.${MINOR}.${TEENY}`</div><div class='add'>+    *   `${DESTDIR}${prefix}/lib/ruby/${MAJOR}.${MINOR}.${TEENY}/${PLATFORM}`</div><div class='add'>+    *   `${DESTDIR}${prefix}/lib/ruby/site_ruby`</div><div class='add'>+    *   `${DESTDIR}${prefix}/lib/ruby/site_ruby/${MAJOR}.${MINOR}.${TEENY}`</div><div class='add'>+    *   `${DESTDIR}${prefix}/lib/ruby/site_ruby/${MAJOR}.${MINOR}.${TEENY}/${PLATFORM}`</div><div class='add'>+    *   `${DESTDIR}${prefix}/lib/ruby/vendor_ruby`</div><div class='add'>+    *   `${DESTDIR}${prefix}/lib/ruby/vendor_ruby/${MAJOR}.${MINOR}.${TEENY}`</div><div class='add'>+    *   `${DESTDIR}${prefix}/lib/ruby/vendor_ruby/${MAJOR}.${MINOR}.${TEENY}/${PLATFORM}`</div><div class='add'>+    *   `${DESTDIR}${prefix}/lib/ruby/gems/${MAJOR}.${MINOR}.${TEENY}`</div><div class='add'>+    *   `${DESTDIR}${prefix}/share/man/man1`</div><div class='add'>+    *   `${DESTDIR}${prefix}/share/ri/${MAJOR}.${MINOR}.${TEENY}/system`</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+    Rubyã®APIãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒ'*x.y.z*'ã§ã‚ã‚Œã°ï¼Œ`${MAJOR}`ã¯</div><div class='add'>+    '*x*'ã§ï¼Œ`${MINOR}`ã¯'*y*'ï¼Œ`${TEENY}`ã¯'*z*'ã§ã™ï¼Ž</div><div class='add'>+</div><div class='add'>+    **æ³¨æ„**: APIãƒãƒ¼ã‚¸ãƒ§ãƒ³ã® `teeny` ã¯ï¼ŒRubyãƒ—ãƒ­ã‚°ãƒ©ãƒ ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã¨ã¯ç•°ãªã‚‹ã“ã¨ãŒã‚ã‚Šã¾ã™ï¼Ž</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'>+UNIXã§ã‚ã‚Œã° `configure` ãŒã»ã¨ã‚“ã©ã®å·®ç•°ã‚’å¸åŽã—ã¦ãã‚Œã‚‹ã¯ãšã§ã™ãŒï¼Œæ€ã‚ã¬è¦‹è½ã¨ã—ãŒã‚ã£ãŸå ´åˆ(ã‚ã‚‹äº‹ãŒå¤šã„)ï¼Œä½œè€…ã«ãã®</div><div class='add'>+ã“ã¨ã‚’å ±å‘Šã™ã‚Œã°ï¼Œè§£æ±ºã§ãã‚‹å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ï¼Ž</div><div class='add'>+</div><div class='add'>+ã‚¢ãƒ¼ã‚­ãƒ†ã‚¯ãƒãƒ£ã«ã‚‚ã£ã¨ã‚‚ä¾å­˜ã™ã‚‹ã®ã¯GCéƒ¨ã§ã™ï¼ŽRubyã®GCã¯å¯¾è±¡</div><div class='add'>+ã®ã‚¢ãƒ¼ã‚­ãƒ†ã‚¯ãƒãƒ£ãŒ`setjmp()`ã¾ãŸã¯`getcontext()`ã«ã‚ˆã£ã¦å…¨ã¦ã®ãƒ¬ã‚¸ã‚¹ã‚¿ã‚’ `jmp_buf` ã‚„ `ucontext_t`</div><div class='add'>+ã«æ ¼ç´ã™ã‚‹ã“ã¨ã¨ï¼Œ `jmp_buf` ã‚„ `ucontext_t` ã¨ã‚¹ã‚¿ãƒƒã‚¯ãŒ32bitã‚¢ãƒ©ã‚¤ãƒ³ãƒ¡ãƒ³ãƒˆã•ã‚Œã¦ã„ã‚‹ã“ã¨ã‚’ä»®å®š</div><div class='add'>+ã—ã¦ã„ã¾ã™ï¼Žç‰¹ã«å‰è€…ãŒæˆç«‹ã—ãªã„å ´åˆã®å¯¾å¿œã¯éžå¸¸ã«å›°é›£ã§ã—ã‚‡ã†ï¼Ž å¾Œè€…ã®è§£æ±ºã¯æ¯”è¼ƒçš„ç°¡å˜ã§ï¼Œ `gc.c` ã§ã‚¹ã‚¿ãƒƒã‚¯ã‚’ãƒžãƒ¼ã‚¯ã—ã¦ã„ã‚‹</div><div class='add'>+éƒ¨åˆ†ã«ã‚¢ãƒ©ã‚¤ãƒ³ãƒ¡ãƒ³ãƒˆã®ãƒã‚¤ãƒˆæ•°ã ã‘ãšã‚‰ã—ã¦ãƒžãƒ¼ã‚¯ã™ã‚‹ã‚³ãƒ¼ãƒ‰ã‚’è¿½åŠ ã™ã‚‹ã ã‘ã§æ¸ˆã¿ã¾ã™ï¼Ž`defined(__mc68000__)`ã§æ‹¬ã‚‰ã‚Œã¦ã„</div><div class='add'>+ã‚‹éƒ¨åˆ†ã‚’å‚è€ƒã«ã—ã¦ãã ã•ã„ï¼Ž</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'>+[COPYING.ja](COPYING.ja) ãƒ•ã‚¡ã‚¤ãƒ«ã‚’å‚ç…§ã—ã¦ãã ã•ã„ï¼Ž</div><div class='add'>+</div><div class='add'>+## ãƒ•ã‚£ãƒ¼ãƒ‰ãƒãƒƒã‚¯</div><div class='add'>+</div><div class='add'>+Rubyã«é–¢ã™ã‚‹è³ªå•ã¯ Ruby-Talkï¼ˆè‹±èªžï¼‰ã‚„ Ruby-Listï¼ˆæ—¥æœ¬èªžï¼‰ (https://www.ruby-lang.org/ja/community/mailing-lists) ã‚„ï¼Œ</div><div class='add'>+stackoverflow (https://ja.stackoverflow.com/) ãªã©ã®Webã‚µã‚¤ãƒˆã«æŠ•ç¨¿ã—ã¦ãã ã•ã„ï¼Ž</div><div class='add'>+</div><div class='add'>+ãƒã‚°å ±å‘Šã¯ https://bugs.ruby-lang.org ã§å—ã‘ä»˜ã‘ã¦ã„ã¾ã™ï¼Ž</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+## è‘—è€…</div><div class='add'>+</div><div class='add'>+Rubyã®ã‚ªãƒªã‚¸ãƒŠãƒ«ç‰ˆã¯ï¼Œ1995å¹´ã«ã¾ã¤ã‚‚ã¨ã‚†ãã²ã‚æ°ã«ã‚ˆã£ã¦è¨­è¨ˆãƒ»é–‹ç™ºã•ã‚Œã¾ã—ãŸï¼Ž</div><div class='add'>+</div><div class='add'>+&lt;mailto:matz@ruby-lang.org&gt;</div><div class='head'>diff --git a/README.jp b/README.jp<br/>deleted file mode 100644<br/>index 64610577f2..0000000000<br/>--- a/<a href='/ruby.git/tree/README.jp?h=v3_0_0&amp;id=cfb52c86678519810cfa84b564a3d32a9200139d'>README.jp</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,196 +0,0 @@</div><div class='del'>-* Ruby¤È¤Ï</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'>-</div><div class='del'>-Ruby¤Ï¥Æ¥­¥¹¥È½èÍý´Ø·¸¤ÎÇ½ÎÏ¤Ê¤É¤ËÍ¥¤ì¡¤Perl¤ÈÆ±¤¸¤¯¤é¤¤¶¯ÎÏ</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'>-  + ÉáÄÌ¤Î¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þµ¡Ç½(¥¯¥é¥¹¡¤¥á¥½¥Ã¥É¥³¡¼¥ë¤Ê¤É)</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¾å¤ÇÆ°¤¯¤À¤±¤Ç¤Ê¤¯¡¤DOS¤äWindows¡¤</div><div class='del'>-    Mac¡¤BeOS¤Ê¤É¤Î¾å¤Ç¤âÆ°¤¯</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-* Æþ¼êË¡</div><div class='del'>-</div><div class='del'>-** ftp¤Ç</div><div class='del'>-</div><div class='del'>-°Ê²¼¤Î¾ì½ê¤Ë¤ª¤¤¤Æ¤¢¤ê¤Þ¤¹¡¥</div><div class='del'>-</div><div class='del'>-  ftp://ftp.netlab.co.jp/pub/lang/ruby/</div><div class='del'>-</div><div class='del'>-** CVS¤Ç</div><div class='del'>-</div><div class='del'>-  $ cvs -d :pserver:anonymous@cvs.netlab.co.jp:/home/cvs login</div><div class='del'>-  (Logging in to anonymous@cvs.netlab.co.jp)</div><div class='del'>-  CVS password: guest</div><div class='del'>-  $ cvs -d :pserver:anonymous@cvs.netlab.co.jp:/home/cvs checkout ruby</div><div class='del'>-</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'>-   http://www.netlab.co.jp/ruby/jp/</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'>-   ruby-list-ctl@netlab.co.jp</div><div class='del'>-</div><div class='del'>-¤Þ¤ÇËÜÊ¸¤Ë</div><div class='del'>-</div><div class='del'>-   subscribe YourFirstName YourFamilyName</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'>-»²²Ã´õË¾¤ÎÊý¤Ï</div><div class='del'>-</div><div class='del'>-   ruby-dev-ctl@netlab.co.jp</div><div class='del'>-</div><div class='del'>-¤Þ¤Çruby-list¤ÈÆ±ÍÍ¤ÎÊýË¡¤Ç¥á¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£ </div><div class='del'>-</div><div class='del'>-Ruby³ÈÄ¥¥â¥¸¥å¡¼¥ë¤Ë¤Ä¤¤¤ÆÏÃ¤·¹ç¤¦ruby-ext¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤È</div><div class='del'>-±Ñ¸ì¤ÇÏÃ¤·¹ç¤¦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'>-°Ê²¼¤Î¼ê½ç¤Ç¹Ô¤Ã¤Æ¤¯¤À¤µ¤¤¡¥</div><div class='del'>-</div><div class='del'>-  1. configure¤ò¼Â¹Ô¤·¤ÆMakefile¤Ê¤É¤òÀ¸À®¤¹¤ë</div><div class='del'>-</div><div class='del'>-  2. (É¬Í×¤Ê¤é¤Ð)defines.h¤òÊÔ½¸¤¹¤ë</div><div class='del'>-</div><div class='del'>-     Â¿Ê¬¡¤É¬Í×Ìµ¤¤¤È»×¤¤¤Þ¤¹¡¥</div><div class='del'>-</div><div class='del'>-  3. (É¬Í×¤Ê¤é¤Ð)ext/Setup¤ËÀÅÅª¤Ë¥ê¥ó¥¯¤¹¤ë³ÈÄ¥¥â¥¸¥å¡¼¥ë¤ò</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'>-     ¥Á¥ã¤Ç¤ÏSetup¤Î1¹ÔÌÜ¤Î¡Öoption nodynamic¡×¤È¤¤¤¦¹Ô¤Î¥³</div><div class='del'>-     ¥á¥ó¥È¤ò³°¤¹É¬Í×¤¬¤¢¤ê¤Þ¤¹¡¥¤Þ¤¿¡¤¤³¤Î¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Ç</div><div class='del'>-     ³ÈÄ¥¥â¥¸¥å¡¼¥ë¤òÍøÍÑ¤¹¤ë¤¿¤á¤Ë¤Ï¡¤¤¢¤é¤«¤¸¤áÀÅÅª¤Ë¥ê¥ó</div><div class='del'>-     ¥¯¤·¤Æ¤ª¤¯É¬Í×¤¬¤¢¤ê¤Þ¤¹¡¥</div><div class='del'>-</div><div class='del'>-  4. make¤ò¼Â¹Ô¤·¤Æ¥³¥ó¥Ñ¥¤¥ë¤¹¤ë</div><div class='del'>-</div><div class='del'>-  5. make test¤Ç¥Æ¥¹¥È¤ò¹Ô¤¦¡¥</div><div class='del'>-</div><div class='del'>-     ¡Ötest succeeded¡×¤ÈÉ½¼¨¤µ¤ì¤ì¤ÐÀ®¸ù¤Ç¤¹¡¥¤¿¤À¤·¥Æ¥¹¥È</div><div class='del'>-     ¤ËÀ®¸ù¤·¤Æ¤â´°àú¤À¤ÈÊÝ¾Ú¤µ¤ì¤Æ¤¤¤ëÌõ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡¥</div><div class='del'>-</div><div class='del'>-  6. make install</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'>-* °Ü¿¢</div><div class='del'>-</div><div class='del'>-UNIX¤Ç¤¢¤ì¤Ðconfigure¤¬¤Û¤È¤ó¤É¤Îº¹°Û¤òµÛ¼ý¤·¤Æ¤¯¤ì¤ë¤Ï¤º¤Ç</div><div class='del'>-¤¹¤¬¡¤»×¤ï¤Ì¸«Íî¤È¤·¤¬¤¢¤Ã¤¿¾ì¹ç(¤¢¤ë¤Ë°ã¤¤¤Ê¤¤)¡¤ºî¼Ô¤Ë¤½¤Î</div><div class='del'>-¤³¤È¤ò¥ì¥Ý¡¼¥È¤¹¤ì¤Ð¡¤²ò·è¤Ç¤­¤ë¤«¤âÃÎ¤ì¤Þ¤»¤ó¡¥</div><div class='del'>-</div><div class='del'>-¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Ë¤â¤Ã¤È¤â°ÍÂ¸¤¹¤ë¤Î¤ÏGCÉô¤Ç¤¹¡¥Ruby¤ÎGC¤ÏÂÐ¾Ý</div><div class='del'>-¤Î¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤¬setjmp()¤Ë¤è¤Ã¤ÆÁ´¤Æ¤Î¥ì¥¸¥¹¥¿¤ò jmp_buf¤Ë</div><div class='del'>-³ÊÇ¼¤¹¤ë¤³¤È¤È¡¤jmp_buf¤È¥¹¥¿¥Ã¥¯¤¬32bit¥¢¥é¥¤¥ó¥á¥ó¥È¤µ¤ì¤Æ</div><div class='del'>-¤¤¤ë¤³¤È¤ò²¾Äê¤·¤Æ¤¤¤Þ¤¹¡¥ÆÃ¤ËÁ°¼Ô¤¬À®Î©¤·¤Ê¤¤¾ì¹ç¤ÎÂÐ±þ¤ÏÈó</div><div class='del'>-¾ï¤Ëº¤Æñ¤Ç¤·¤ç¤¦¡¥¸å¼Ô¤Î²ò·è¤ÏÈæ³ÓÅª´ÊÃ±¤Ç¡¤gc.c¤Ç¥¹¥¿¥Ã¥¯¤ò</div><div class='del'>-¥Þ¡¼¥¯¤·¤Æ¤¤¤ëÉôÊ¬¤Ë¥¢¥é¥¤¥ó¥á¥ó¥È¤Î¥Ð¥¤¥È¿ô¤À¤±¤º¤é¤·¤Æ¥Þ¡¼</div><div class='del'>-¥¯¤¹¤ë¥³¡¼¥É¤òÄÉ²Ã¤¹¤ë¤À¤±¤ÇºÑ¤ß¤Þ¤¹¡¥¡Ödefined(THINK_C)¡×¤Ç</div><div class='del'>-³ç¤é¤ì¤Æ¤¤¤ëÉôÊ¬¤ò»²¹Í¤Ë¤·¤Æ¤¯¤À¤µ¤¤</div><div class='del'>-</div><div class='del'>-# ¼ÂºÝ¤Ë¤ÏRuby¤ÏThink C¤Ç¤Ï¥³¥ó¥Ñ¥¤¥ë¤Ç¤­¤Þ¤»¤ó¡¥</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'>-</div><div class='del'>-* ÇÛÉÛ¾ò·ï</div><div class='del'>-</div><div class='del'>-Ruby¤Ï¥Õ¥ê¡¼¥½¥Õ¥È¥¦¥§¥¢¤Ç¤¹¡¥GPL(the GNU General Public</div><div class='del'>-Licence)¤Þ¤¿¤Ï°Ê²¼¤Ë¼¨¤¹¾ò·ï¤ÇRuby¤òºÆÇÛÉÛ¤Ç¤­¤Þ¤¹¡¥GPL¤Ë¤Ä</div><div class='del'>-¤¤¤Æ¤ÏCOPYING¥Õ¥¡¥¤¥ë¤ò»²¾È¤·¤Æ²¼¤µ¤¤¡¥</div><div class='del'>-</div><div class='del'>-  1. Ê£À½¤ÏÀ©¸Â¤Ê¤¯¼«Í³¤Ç¤¹¡¥</div><div class='del'>-</div><div class='del'>-  2. °Ê²¼¤Î¾ò·ï¤Î¤¤¤º¤ì¤«¤òËþ¤¿¤¹»þ¤Ë¼ê¸µ¤ÎRuby¤Î¥½¡¼¥¹¤ò¼«</div><div class='del'>-     Í³¤ËÊÑ¹¹¤Ç¤­¤Þ¤¹¡¥</div><div class='del'>-</div><div class='del'>-     (a) ¥Í¥Ã¥È¥Ë¥å¡¼¥º¤Ë¥Ý¥¹¥È¤·¤¿¤ê¡¤ºî¼Ô¤ËÊÑ¹¹¤òÁ÷ÉÕ¤¹¤ë</div><div class='del'>-         ¤Ê¤É¤ÎÊýË¡¤Ç¡¤ÊÑ¹¹¤ò¸ø³«¤¹¤ë¡¥</div><div class='del'>-</div><div class='del'>-     (b) ÊÑ¹¹¤·¤¿Ruby¤ò¼«Ê¬¤Î½êÂ°¤¹¤ëÁÈ¿¥ÆâÉô¤À¤±¤Ç»È¤¦¡¥</div><div class='del'>-</div><div class='del'>-     (c) ÊÑ¹¹ÅÀ¤òÌÀ¼¨¤·¤¿¤¦¤¨¡¤¥½¥Õ¥È¥¦¥§¥¢¤ÎÌ¾Á°¤òÊÑ¹¹¤¹¤ë¡¥</div><div class='del'>-         ¤½¤Î¥½¥Õ¥È¥¦¥§¥¢¤òÇÛÉÛ¤¹¤ë»þ¤Ë¤ÏÊÑ¹¹Á°¤ÎRuby¤âÆ±»þ</div><div class='del'>-         ¤ËÇÛÉÛ¤¹¤ë¡¥¤Þ¤¿¤ÏÊÑ¹¹Á°¤ÎRuby¤Î¥½¡¼¥¹¤ÎÆþ¼êË¡¤òÌÀ</div><div class='del'>-         ¼¨¤¹¤ë¡¥</div><div class='del'>-</div><div class='del'>-     (d) ¤½¤ÎÂ¾¤ÎÊÑ¹¹¾ò·ï¤òºî¼Ô¤È¹ç°Õ¤¹¤ë¡¥</div><div class='del'>-</div><div class='del'>-  3. °Ê²¼¤Î¾ò·ï¤Î¤¤¤º¤ì¤«¤òËþ¤¿¤¹»þ¤ËRuby¤ò¥ª¥Ö¥¸¥§¥¯¥È¥³¡¼</div><div class='del'>-     ¥É¤ä¼Â¹Ô·Á¼°¤Ç¤âÇÛÉÛ¤Ç¤­¤Þ¤¹¡¥</div><div class='del'>-</div><div class='del'>-     (a) ¥Ð¥¤¥Ê¥ê¤ò¼õ¤±¼è¤Ã¤¿¿Í¤¬¥½¡¼¥¹¤òÆþ¼ê¤Ç¤­¤ë¤è¤¦¤Ë¡¤</div><div class='del'>-         ¥½¡¼¥¹¤ÎÆþ¼êË¡¤òÌÀ¼¨¤¹¤ë¡¥</div><div class='del'>-</div><div class='del'>-     (b) µ¡³£²ÄÆÉ¤Ê¥½¡¼¥¹¥³¡¼¥É¤òÅºÉÕ¤¹¤ë¡¥</div><div class='del'>-</div><div class='del'>-     (c) ÊÑ¹¹¤ò¹Ô¤Ã¤¿¥Ð¥¤¥Ê¥ê¤ÏÌ¾Á°¤òÊÑ¹¹¤·¤¿¤¦¤¨¡¤¥ª¥ê¥¸¥Ê</div><div class='del'>-         ¥ë¤Î¥½¡¼¥¹¥³¡¼¥É¤ÎÆþ¼êË¡¤òÌÀ¼¨¤¹¤ë¡¥</div><div class='del'>-</div><div class='del'>-     (d) ¤½¤ÎÂ¾¤ÎÇÛÉÛ¾ò·ï¤òºî¼Ô¤È¹ç°Õ¤¹¤ë¡¥</div><div class='del'>-</div><div class='del'>-  4. Â¾¤Î¥×¥í¥°¥é¥à¤Ø¤Î°úÍÑ¤Ï¤¤¤«¤Ê¤ëÌÜÅª¤Ç¤¢¤ì¼«Í³¤Ç¤¹¡¥¤¿</div><div class='del'>-     ¤À¤·¡¤Ruby¤Ë´Þ¤Þ¤ì¤ëÂ¾¤Îºî¼Ô¤Ë¤è¤ë¥³¡¼¥É¤Ï¡¤¤½¤ì¤¾¤ì¤Î</div><div class='del'>-     ºî¼Ô¤Î°Õ¸þ¤Ë¤è¤ëÀ©¸Â¤¬²Ã¤¨¤é¤ì¤Þ¤¹¡¥¶ñÂÎÅª¤Ë¤Ïgc.c(°ìÉô)¡¤</div><div class='del'>-     util.c(°ìÉô)¡¤st.[ch]¡¤regex.[ch] ¤ª¤è¤Ó ./missing¥Ç¥£</div><div class='del'>-     ¥ì¥¯¥È¥ê²¼¤Î¥Õ¥¡¥¤¥ë·²¤¬³ºÅö¤·¤Þ¤¹¡¥¤½¤ì¤¾¤ì¤ÎÇÛÉÛ¾ò·ï</div><div class='del'>-     ¤Ê¤É¤ËÉÕ¤¤¤Æ¤Ï³Æ¥Õ¥¡¥¤¥ë¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡¥</div><div class='del'>-</div><div class='del'>-  5. Ruby¤Ø¤ÎÆþÎÏ¤È¤Ê¤ë¥¹¥¯¥ê¥×¥È¤ª¤è¤Ó¡¤Ruby¤«¤é¤Î½ÐÎÏ¤Î¸¢</div><div class='del'>-     Íø¤ÏRuby¤Îºî¼Ô¤Ç¤Ï¤Ê¤¯¡¤¤½¤ì¤¾¤ì¤ÎÆþ½ÐÎÏ¤òÀ¸À®¤·¤¿¿Í¤Ë</div><div class='del'>-     Â°¤·¤Þ¤¹¡¥¤Þ¤¿¡¤Ruby¤ËÁÈ¤ß¹þ¤à¤¿¤á¤Î³ÈÄ¥¥é¥¤¥Ö¥é¥ê¤Ë¤Ä</div><div class='del'>-     ¤¤¤Æ¤âÆ±ÍÍ¤Ç¤¹¡¥</div><div class='del'>-</div><div class='del'>-  6. Ruby¤ÏÌµÊÝ¾Ú¤Ç¤¹¡¥ºî¼Ô¤ÏRuby¤ò¥µ¥Ý¡¼¥È¤¹¤ë°Õ»Ö¤Ï¤¢¤ê¤Þ</div><div class='del'>-     ¤¹¤¬¡¤Ruby¼«¿È¤Î¥Ð¥°¤¢¤ë¤¤¤Ï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'>-¥³¥á¥ó¥È¡¤¥Ð¥°¥ì¥Ý¡¼¥È¤½¤ÎÂ¾¤Ï matz@netlab.co.jp ¤Þ¤Ç¡¥</div><div class='del'>--------------------------------------------------------</div><div class='del'>-created at: Thu Aug  3 11:57:36 JST 1995</div><div class='del'>-Local variables:</div><div class='del'>-mode: indented-text</div><div class='del'>-end:</div><div class='head'>diff --git a/README.md b/README.md<br/>new file mode 100644<br/>index 0000000000..350b560905<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/README.md?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>README.md</a></div><div class='hunk'>@@ -0,0 +1,171 @@</div><div class='add'>+[![Build Status](https://travis-ci.org/ruby/ruby.svg?branch=master)](https://travis-ci.org/ruby/ruby)</div><div class='add'>+[![Build status](https://ci.appveyor.com/api/projects/status/0sy8rrxut4o0k960/branch/master?svg=true)](https://ci.appveyor.com/project/ruby/ruby/branch/master)</div><div class='add'>+[![Actions Status](https://github.com/ruby/ruby/workflows/macOS/badge.svg)](https://github.com/ruby/ruby/actions?query=workflow%3A"macOS")</div><div class='add'>+[![Actions Status](https://github.com/ruby/ruby/workflows/MinGW/badge.svg)](https://github.com/ruby/ruby/actions?query=workflow%3A"MinGW")</div><div class='add'>+[![Actions Status](https://github.com/ruby/ruby/workflows/MJIT/badge.svg)](https://github.com/ruby/ruby/actions?query=workflow%3A"MJIT")</div><div class='add'>+[![Actions Status](https://github.com/ruby/ruby/workflows/Ubuntu/badge.svg)](https://github.com/ruby/ruby/actions?query=workflow%3A"Ubuntu")</div><div class='add'>+[![Actions Status](https://github.com/ruby/ruby/workflows/Windows/badge.svg)](https://github.com/ruby/ruby/actions?query=workflow%3A"Windows")</div><div class='add'>+</div><div class='add'>+# What's Ruby</div><div class='add'>+</div><div class='add'>+Ruby is an interpreted object-oriented programming language often</div><div class='add'>+used for web development. It also offers many scripting features</div><div class='add'>+to process plain text and serialized files, or manage system tasks.</div><div class='add'>+It is simple, straightforward, and extensible.</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 (e.g. class, method calls)</div><div class='add'>+*   **Advanced** Object-oriented Features (e.g. 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 architectures)</div><div class='add'>+*   Highly Portable (works on many Unix-like/POSIX compatible platforms as</div><div class='add'>+    well as Windows, macOS, etc.) cf.</div><div class='add'>+    https://github.com/ruby/ruby/blob/master/doc/contributing.rdoc#label-Platform+Maintainers</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+## How to get Ruby</div><div class='add'>+</div><div class='add'>+For a complete list of ways to install Ruby, including using third-party tools</div><div class='add'>+like rvm, see:</div><div class='add'>+</div><div class='add'>+https://www.ruby-lang.org/en/downloads/</div><div class='add'>+</div><div class='add'>+### Git</div><div class='add'>+</div><div class='add'>+The mirror of the Ruby source tree can be checked out with the following command:</div><div class='add'>+</div><div class='add'>+    $ git clone https://github.com/ruby/ruby.git</div><div class='add'>+</div><div class='add'>+There are some other branches under development. Try the following command</div><div class='add'>+to see the list of branches:</div><div class='add'>+</div><div class='add'>+    $ git ls-remote https://github.com/ruby/ruby.git</div><div class='add'>+</div><div class='add'>+You may also want to use https://git.ruby-lang.org/ruby.git (actual master of Ruby source)</div><div class='add'>+if you are a committer.</div><div class='add'>+</div><div class='add'>+### Subversion</div><div class='add'>+</div><div class='add'>+Stable branches for older Ruby versions can be checked out with the following command:</div><div class='add'>+</div><div class='add'>+    $ svn co https://svn.ruby-lang.org/repos/ruby/branches/ruby_2_6/ ruby</div><div class='add'>+</div><div class='add'>+Try the following command to see the list of branches:</div><div class='add'>+</div><div class='add'>+    $ svn ls https://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'>+https://www.ruby-lang.org/</div><div class='add'>+</div><div class='add'>+## Mailing list</div><div class='add'>+</div><div class='add'>+There is a mailing list to discuss Ruby. To subscribe to this list, please</div><div class='add'>+send the following phrase:</div><div class='add'>+</div><div class='add'>+    subscribe</div><div class='add'>+</div><div class='add'>+in the mail body (not subject) to the address</div><div class='add'>+[ruby-talk-request@ruby-lang.org](mailto:ruby-talk-request@ruby-lang.org?subject=Join%20Ruby%20Mailing%20List&amp;body=subscribe).</div><div class='add'>+</div><div class='add'>+## How to compile and install</div><div class='add'>+</div><div class='add'>+1.  If you want to use Microsoft Visual C++ to compile Ruby, read</div><div class='add'>+    [win32/README.win32](win32/README.win32) instead of this document.</div><div class='add'>+</div><div class='add'>+2.  If `./configure` does not exist or is older than `configure.ac`, run</div><div class='add'>+    `autoconf` to (re)generate configure.</div><div class='add'>+</div><div class='add'>+3.  Run `./configure`, which will generate `config.h` and `Makefile`.</div><div class='add'>+</div><div class='add'>+    Some C compiler flags may be added by default depending on your</div><div class='add'>+    environment. Specify `optflags=..` and `warnflags=..` as necessary to</div><div class='add'>+    override them.</div><div class='add'>+</div><div class='add'>+4.  Edit `include/ruby/defines.h` if you need. Usually this step will not be needed.</div><div class='add'>+</div><div class='add'>+5.  Remove comment mark(`#`) before the module names from `ext/Setup` (or add</div><div class='add'>+    module names if not present), if you want to link modules statically.</div><div class='add'>+</div><div class='add'>+    If you don't want to compile non static extension modules (probably on</div><div class='add'>+    architectures which do not allow dynamic loading), remove comment mark</div><div class='add'>+    from the line "`#option nodynamic`" in `ext/Setup`.</div><div class='add'>+</div><div class='add'>+    Usually this step will not be needed.</div><div class='add'>+</div><div class='add'>+6.  Run `make`.</div><div class='add'>+</div><div class='add'>+    * On Mac, set RUBY\_CODESIGN environment variable with a signing identity.</div><div class='add'>+      It uses the identity to sign `ruby` binary. See also codesign(1).</div><div class='add'>+</div><div class='add'>+7.  Optionally, run '`make check`' to check whether the compiled Ruby</div><div class='add'>+    interpreter works well. If you see the message "`check succeeded`", your</div><div class='add'>+    Ruby works as it should (hopefully).</div><div class='add'>+</div><div class='add'>+8.  Run '`make install`'.</div><div class='add'>+</div><div class='add'>+    This command will create the following directories and install files into</div><div class='add'>+    them.</div><div class='add'>+</div><div class='add'>+    *   `${DESTDIR}${prefix}/bin`</div><div class='add'>+    *   `${DESTDIR}${prefix}/include/ruby-${MAJOR}.${MINOR}.${TEENY}`</div><div class='add'>+    *   `${DESTDIR}${prefix}/include/ruby-${MAJOR}.${MINOR}.${TEENY}/${PLATFORM}`</div><div class='add'>+    *   `${DESTDIR}${prefix}/lib`</div><div class='add'>+    *   `${DESTDIR}${prefix}/lib/ruby`</div><div class='add'>+    *   `${DESTDIR}${prefix}/lib/ruby/${MAJOR}.${MINOR}.${TEENY}`</div><div class='add'>+    *   `${DESTDIR}${prefix}/lib/ruby/${MAJOR}.${MINOR}.${TEENY}/${PLATFORM}`</div><div class='add'>+    *   `${DESTDIR}${prefix}/lib/ruby/site_ruby`</div><div class='add'>+    *   `${DESTDIR}${prefix}/lib/ruby/site_ruby/${MAJOR}.${MINOR}.${TEENY}`</div><div class='add'>+    *   `${DESTDIR}${prefix}/lib/ruby/site_ruby/${MAJOR}.${MINOR}.${TEENY}/${PLATFORM}`</div><div class='add'>+    *   `${DESTDIR}${prefix}/lib/ruby/vendor_ruby`</div><div class='add'>+    *   `${DESTDIR}${prefix}/lib/ruby/vendor_ruby/${MAJOR}.${MINOR}.${TEENY}`</div><div class='add'>+    *   `${DESTDIR}${prefix}/lib/ruby/vendor_ruby/${MAJOR}.${MINOR}.${TEENY}/${PLATFORM}`</div><div class='add'>+    *   `${DESTDIR}${prefix}/lib/ruby/gems/${MAJOR}.${MINOR}.${TEENY}`</div><div class='add'>+    *   `${DESTDIR}${prefix}/share/man/man1`</div><div class='add'>+    *   `${DESTDIR}${prefix}/share/ri/${MAJOR}.${MINOR}.${TEENY}/system`</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+    If Ruby's API version is '*x.y.z*', the `${MAJOR}` is '*x*', the</div><div class='add'>+    `${MINOR}` is '*y*', and the `${TEENY}` is '*z*'.</div><div class='add'>+</div><div class='add'>+    **NOTE**: teeny of the API version may be different from one of Ruby's</div><div class='add'>+    program version</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 the</div><div class='add'>+error log and machine/OS type, to help others.</div><div class='add'>+</div><div class='add'>+Some extension libraries may not get compiled because of lack of necessary</div><div class='add'>+external libraries and/or headers, then you will need to run '`make distclean-ext`'</div><div class='add'>+to remove old configuration after installing them in such case.</div><div class='add'>+</div><div class='add'>+## Copying</div><div class='add'>+</div><div class='add'>+See the file [COPYING](COPYING).</div><div class='add'>+</div><div class='add'>+## Feedback</div><div class='add'>+</div><div class='add'>+Questions about the Ruby language can be asked on the Ruby-Talk mailing list</div><div class='add'>+(https://www.ruby-lang.org/en/community/mailing-lists) or on websites like</div><div class='add'>+(https://stackoverflow.com).</div><div class='add'>+</div><div class='add'>+Bugs should be reported at https://bugs.ruby-lang.org. Read [HowToReport] for more information.</div><div class='add'>+</div><div class='add'>+[HowToReport]: https://bugs.ruby-lang.org/projects/ruby/wiki/HowToReport</div><div class='add'>+</div><div class='add'>+## Contributing</div><div class='add'>+</div><div class='add'>+See the file [CONTRIBUTING.md](CONTRIBUTING.md)</div><div class='add'>+</div><div class='add'>+## The Author</div><div class='add'>+</div><div class='add'>+Ruby was originally designed and developed by Yukihiro Matsumoto (Matz) in 1995.</div><div class='add'>+</div><div class='add'>+&lt;matz@ruby-lang.org&gt;</div><div class='head'>diff --git a/ToDo b/ToDo<br/>deleted file mode 100644<br/>index 1ecd529b3e..0000000000<br/>--- a/<a href='/ruby.git/tree/ToDo?h=v3_0_0&amp;id=cfb52c86678519810cfa84b564a3d32a9200139d'>ToDo</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,56 +0,0 @@</div><div class='del'>-Language Spec.</div><div class='del'>-</div><div class='del'>-* compile time string concatenation, "hello" "world" =&gt; "helloworld"</div><div class='del'>-* ../... outside condition invokes operator method too.</div><div class='del'>-* %w(a\ b\ c abc) =&gt; ["a b c", "abc"]</div><div class='del'>-* package or access control for global variables</div><div class='del'>-* class variable (prefix?)</div><div class='del'>-* named arguments like foo(nation:="german") or foo(nation: "german").</div><div class='del'>-* method to retrieve argument information (need new C API)</div><div class='del'>-* multiple return values, yield values.  maybe incompatible ???</div><div class='del'>-* cascading method invocation ???</div><div class='del'>-* def Class#method .. end ??</div><div class='del'>-* class Foo::Bar&lt;Baz .. end, module Boo::Bar .. end</div><div class='del'>-* def Foo::Bar::baz() .. end ??</div><div class='del'>-</div><div class='del'>-Hacking Interpreter</div><div class='del'>-</div><div class='del'>-* non-blocking open (e.g. named pipe) for thread</div><div class='del'>-* avoid blocking with gethostbyname/gethostbyaddr</div><div class='del'>-* objectify interpreters</div><div class='del'>-* remove rb_eval() recursions</div><div class='del'>-* syntax tree -&gt; bytecode ???</div><div class='del'>-* scrambled script, or script filter</div><div class='del'>-* setuid ruby</div><div class='del'>-</div><div class='del'>-Standard Libraries</div><div class='del'>-</div><div class='del'>-* Struct::new([name,]member,...) ??</div><div class='del'>-* String#scanf(?)</div><div class='del'>-* Object#fmt(?)</div><div class='del'>-* Time::strptime</div><div class='del'>-* Integer[num], Float[num];  Fixnum[num]?</div><div class='del'>-* method to detect non-number trailer for to_i/to_f.</div><div class='del'>-* Stream or Port, abstract superclass of IO ?</div><div class='del'>-* String#{pred,prev}, String#downto</div><div class='del'>-* optional stepsize argument for succ()</div><div class='del'>-</div><div class='del'>-Extension Libraries</div><div class='del'>-</div><div class='del'>-* FastCGI ruby</div><div class='del'>-* ptk.rb pTk wrapper that is compatible to tk.rb</div><div class='del'>-</div><div class='del'>-Ruby Libraries</div><div class='del'>-</div><div class='del'>-* net/pop.rb net/smtp.rb</div><div class='del'>-* httplib.rb, urllib.rb, nttplib.rb, etc.</div><div class='del'>-* format like perl's</div><div class='del'>-</div><div class='del'>-Tools</div><div class='del'>-</div><div class='del'>-* extension library maker like XS or SWIG</div><div class='del'>-* freeze or undump to bundle everything</div><div class='del'>-</div><div class='del'>-Misc</div><div class='del'>-</div><div class='del'>-* publish Ruby books</div><div class='head'>diff --git a/aclocal.m4 b/aclocal.m4<br/>new file mode 100644<br/>index 0000000000..940d91e83f<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/aclocal.m4?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>aclocal.m4</a></div><div class='hunk'>@@ -0,0 +1,48 @@</div><div class='add'>+# generated automatically by aclocal 1.16.2 -*- Autoconf -*-</div><div class='add'>+</div><div class='add'>+# Copyright (C) 1996-2020 Free Software Foundation, Inc.</div><div class='add'>+</div><div class='add'>+# This file is free software; the Free Software Foundation</div><div class='add'>+# gives unlimited permission to copy and/or distribute it,</div><div class='add'>+# with or without modifications, as long as this notice is preserved.</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, to the extent permitted by law; without</div><div class='add'>+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A</div><div class='add'>+# PARTICULAR PURPOSE.</div><div class='add'>+</div><div class='add'>+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='add'>+m4_include([tool/m4/_colorize_result_prepare.m4])</div><div class='add'>+m4_include([tool/m4/ac_msg_result.m4])</div><div class='add'>+m4_include([tool/m4/colorize_result.m4])</div><div class='add'>+m4_include([tool/m4/ruby_append_option.m4])</div><div class='add'>+m4_include([tool/m4/ruby_append_options.m4])</div><div class='add'>+m4_include([tool/m4/ruby_check_builtin_func.m4])</div><div class='add'>+m4_include([tool/m4/ruby_check_builtin_setjmp.m4])</div><div class='add'>+m4_include([tool/m4/ruby_check_printf_prefix.m4])</div><div class='add'>+m4_include([tool/m4/ruby_check_setjmp.m4])</div><div class='add'>+m4_include([tool/m4/ruby_check_signedness.m4])</div><div class='add'>+m4_include([tool/m4/ruby_check_sizeof.m4])</div><div class='add'>+m4_include([tool/m4/ruby_check_sysconf.m4])</div><div class='add'>+m4_include([tool/m4/ruby_cppoutfile.m4])</div><div class='add'>+m4_include([tool/m4/ruby_decl_attribute.m4])</div><div class='add'>+m4_include([tool/m4/ruby_default_arch.m4])</div><div class='add'>+m4_include([tool/m4/ruby_define_if.m4])</div><div class='add'>+m4_include([tool/m4/ruby_defint.m4])</div><div class='add'>+m4_include([tool/m4/ruby_dtrace_available.m4])</div><div class='add'>+m4_include([tool/m4/ruby_dtrace_postprocess.m4])</div><div class='add'>+m4_include([tool/m4/ruby_func_attribute.m4])</div><div class='add'>+m4_include([tool/m4/ruby_mingw32.m4])</div><div class='add'>+m4_include([tool/m4/ruby_prepend_option.m4])</div><div class='add'>+m4_include([tool/m4/ruby_prog_gnu_ld.m4])</div><div class='add'>+m4_include([tool/m4/ruby_replace_funcs.m4])</div><div class='add'>+m4_include([tool/m4/ruby_replace_type.m4])</div><div class='add'>+m4_include([tool/m4/ruby_rm_recursive.m4])</div><div class='add'>+m4_include([tool/m4/ruby_setjmp_type.m4])</div><div class='add'>+m4_include([tool/m4/ruby_stack_grow_direction.m4])</div><div class='add'>+m4_include([tool/m4/ruby_try_cflags.m4])</div><div class='add'>+m4_include([tool/m4/ruby_try_cxxflags.m4])</div><div class='add'>+m4_include([tool/m4/ruby_try_ldflags.m4])</div><div class='add'>+m4_include([tool/m4/ruby_type_attribute.m4])</div><div class='add'>+m4_include([tool/m4/ruby_universal_arch.m4])</div><div class='add'>+m4_include([tool/m4/ruby_werror_flag.m4])</div><div class='head'>diff --git a/addr2line.c b/addr2line.c<br/>new file mode 100644<br/>index 0000000000..dc4364aaf5<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/addr2line.c?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>addr2line.c</a></div><div class='hunk'>@@ -0,0 +1,2716 @@</div><div class='add'>+/**********************************************************************</div><div class='add'>+</div><div class='add'>+  addr2line.c -</div><div class='add'>+</div><div class='add'>+  $Author$</div><div class='add'>+</div><div class='add'>+  Copyright (C) 2010 Shinichiro Hamaji</div><div class='add'>+</div><div class='add'>+**********************************************************************/</div><div class='add'>+</div><div class='add'>+#if defined(__clang__)</div><div class='add'>+#pragma clang diagnostic ignored "-Wgnu-empty-initializer"</div><div class='add'>+#pragma clang diagnostic ignored "-Wgcc-compat"</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#include "ruby/internal/config.h"</div><div class='add'>+#include "ruby/defines.h"</div><div class='add'>+#include "ruby/missing.h"</div><div class='add'>+#include "addr2line.h"</div><div class='add'>+</div><div class='add'>+#include &lt;stdio.h&gt;</div><div class='add'>+#include &lt;errno.h&gt;</div><div class='add'>+</div><div class='add'>+#ifdef HAVE_LIBPROC_H</div><div class='add'>+#include &lt;libproc.h&gt;</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#include "ruby/internal/stdbool.h"</div><div class='add'>+</div><div class='add'>+#if defined(USE_ELF) || defined(HAVE_MACH_O_LOADER_H)</div><div class='add'>+</div><div class='add'>+#include &lt;fcntl.h&gt;</div><div class='add'>+#include &lt;limits.h&gt;</div><div class='add'>+#include &lt;stdio.h&gt;</div><div class='add'>+#include &lt;stdint.h&gt;</div><div class='add'>+#include &lt;stdlib.h&gt;</div><div class='add'>+#include &lt;string.h&gt;</div><div class='add'>+#include &lt;sys/mman.h&gt;</div><div class='add'>+#include &lt;sys/types.h&gt;</div><div class='add'>+#include &lt;sys/stat.h&gt;</div><div class='add'>+#include &lt;unistd.h&gt;</div><div class='add'>+</div><div class='add'>+/* Make alloca work the best possible way.  */</div><div class='add'>+#ifdef __GNUC__</div><div class='add'>+# ifndef alloca</div><div class='add'>+#  define alloca __builtin_alloca</div><div class='add'>+# endif</div><div class='add'>+#else</div><div class='add'>+# ifdef HAVE_ALLOCA_H</div><div class='add'>+#  include &lt;alloca.h&gt;</div><div class='add'>+# else</div><div class='add'>+#  ifdef _AIX</div><div class='add'>+#pragma alloca</div><div class='add'>+#  else</div><div class='add'>+#   ifndef alloca		/* predefined by HP cc +Olibcalls */</div><div class='add'>+void *alloca();</div><div class='add'>+#   endif</div><div class='add'>+#  endif /* AIX */</div><div class='add'>+# endif	/* HAVE_ALLOCA_H */</div><div class='add'>+#endif /* __GNUC__ */</div><div class='add'>+</div><div class='add'>+#ifdef HAVE_DLADDR</div><div class='add'>+# include &lt;dlfcn.h&gt;</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#ifdef HAVE_MACH_O_LOADER_H</div><div class='add'>+# include &lt;crt_externs.h&gt;</div><div class='add'>+# include &lt;mach-o/fat.h&gt;</div><div class='add'>+# include &lt;mach-o/loader.h&gt;</div><div class='add'>+# include &lt;mach-o/nlist.h&gt;</div><div class='add'>+# include &lt;mach-o/stab.h&gt;</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#ifdef USE_ELF</div><div class='add'>+# ifdef __OpenBSD__</div><div class='add'>+#  include &lt;elf_abi.h&gt;</div><div class='add'>+# else</div><div class='add'>+#  include &lt;elf.h&gt;</div><div class='add'>+# endif</div><div class='add'>+</div><div class='add'>+#ifndef ElfW</div><div class='add'>+# if SIZEOF_VOIDP == 8</div><div class='add'>+#  define ElfW(x) Elf64##_##x</div><div class='add'>+# else</div><div class='add'>+#  define ElfW(x) Elf32##_##x</div><div class='add'>+# endif</div><div class='add'>+#endif</div><div class='add'>+#ifndef ELF_ST_TYPE</div><div class='add'>+# if SIZEOF_VOIDP == 8</div><div class='add'>+#  define ELF_ST_TYPE ELF64_ST_TYPE</div><div class='add'>+# else</div><div class='add'>+#  define ELF_ST_TYPE ELF32_ST_TYPE</div><div class='add'>+# endif</div><div class='add'>+#endif</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#ifdef SHF_COMPRESSED</div><div class='add'>+# if defined(ELFCOMPRESS_ZLIB) &amp;&amp; defined(HAVE_LIBZ)</div><div class='add'>+   /* FreeBSD 11.0 lacks ELFCOMPRESS_ZLIB */</div><div class='add'>+#  include &lt;zlib.h&gt;</div><div class='add'>+#  define SUPPORT_COMPRESSED_DEBUG_LINE</div><div class='add'>+# endif</div><div class='add'>+#else /* compatibility with glibc &lt; 2.22 */</div><div class='add'>+# define SHF_COMPRESSED 0</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#ifndef PATH_MAX</div><div class='add'>+#define PATH_MAX 4096</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#define DW_LNS_copy                     0x01</div><div class='add'>+#define DW_LNS_advance_pc               0x02</div><div class='add'>+#define DW_LNS_advance_line             0x03</div><div class='add'>+#define DW_LNS_set_file                 0x04</div><div class='add'>+#define DW_LNS_set_column               0x05</div><div class='add'>+#define DW_LNS_negate_stmt              0x06</div><div class='add'>+#define DW_LNS_set_basic_block          0x07</div><div class='add'>+#define DW_LNS_const_add_pc             0x08</div><div class='add'>+#define DW_LNS_fixed_advance_pc         0x09</div><div class='add'>+#define DW_LNS_set_prologue_end         0x0a /* DWARF3 */</div><div class='add'>+#define DW_LNS_set_epilogue_begin       0x0b /* DWARF3 */</div><div class='add'>+#define DW_LNS_set_isa                  0x0c /* DWARF3 */</div><div class='add'>+</div><div class='add'>+/* Line number extended opcode name. */</div><div class='add'>+#define DW_LNE_end_sequence             0x01</div><div class='add'>+#define DW_LNE_set_address              0x02</div><div class='add'>+#define DW_LNE_define_file              0x03</div><div class='add'>+#define DW_LNE_set_discriminator        0x04  /* DWARF4 */</div><div class='add'>+</div><div class='add'>+PRINTF_ARGS(static int kprintf(const char *fmt, ...), 1, 2);</div><div class='add'>+</div><div class='add'>+typedef struct line_info {</div><div class='add'>+    const char *dirname;</div><div class='add'>+    const char *filename;</div><div class='add'>+    const char *path; /* object path */</div><div class='add'>+    int line;</div><div class='add'>+</div><div class='add'>+    uintptr_t base_addr;</div><div class='add'>+    uintptr_t saddr;</div><div class='add'>+    const char *sname; /* function name */</div><div class='add'>+</div><div class='add'>+    struct line_info *next;</div><div class='add'>+} line_info_t;</div><div class='add'>+</div><div class='add'>+struct dwarf_section {</div><div class='add'>+    char *ptr;</div><div class='add'>+    size_t size;</div><div class='add'>+    uint64_t flags;</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+typedef struct obj_info {</div><div class='add'>+    const char *path; /* object path */</div><div class='add'>+    char *mapped;</div><div class='add'>+    size_t mapped_size;</div><div class='add'>+    void *uncompressed;</div><div class='add'>+    uintptr_t base_addr;</div><div class='add'>+    uintptr_t vmaddr;</div><div class='add'>+    struct dwarf_section debug_abbrev;</div><div class='add'>+    struct dwarf_section debug_info;</div><div class='add'>+    struct dwarf_section debug_line;</div><div class='add'>+    struct dwarf_section debug_ranges;</div><div class='add'>+    struct dwarf_section debug_str;</div><div class='add'>+    struct obj_info *next;</div><div class='add'>+} obj_info_t;</div><div class='add'>+</div><div class='add'>+#define DWARF_SECTION_COUNT 5</div><div class='add'>+</div><div class='add'>+static struct dwarf_section *</div><div class='add'>+obj_dwarf_section_at(obj_info_t *obj, int n)</div><div class='add'>+{</div><div class='add'>+    struct dwarf_section *ary[] = {</div><div class='add'>+        &amp;obj-&gt;debug_abbrev,</div><div class='add'>+        &amp;obj-&gt;debug_info,</div><div class='add'>+        &amp;obj-&gt;debug_line,</div><div class='add'>+        &amp;obj-&gt;debug_ranges,</div><div class='add'>+        &amp;obj-&gt;debug_str</div><div class='add'>+    };</div><div class='add'>+    if (n &lt; 0 || DWARF_SECTION_COUNT &lt;= n) {</div><div class='add'>+        abort();</div><div class='add'>+    }</div><div class='add'>+    return ary[n];</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+struct debug_section_definition {</div><div class='add'>+    const char *name;</div><div class='add'>+    struct dwarf_section *dwarf;</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+/* Avoid consuming stack as this module may be used from signal handler */</div><div class='add'>+static char binary_filename[PATH_MAX + 1];</div><div class='add'>+</div><div class='add'>+static unsigned long</div><div class='add'>+uleb128(char **p)</div><div class='add'>+{</div><div class='add'>+    unsigned long r = 0;</div><div class='add'>+    int s = 0;</div><div class='add'>+    for (;;) {</div><div class='add'>+	unsigned char b = *(unsigned char *)(*p)++;</div><div class='add'>+	if (b &lt; 0x80) {</div><div class='add'>+	    r += (unsigned long)b &lt;&lt; s;</div><div class='add'>+	    break;</div><div class='add'>+	}</div><div class='add'>+	r += (b &amp; 0x7f) &lt;&lt; s;</div><div class='add'>+	s += 7;</div><div class='add'>+    }</div><div class='add'>+    return r;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static long</div><div class='add'>+sleb128(char **p)</div><div class='add'>+{</div><div class='add'>+    long r = 0;</div><div class='add'>+    int s = 0;</div><div class='add'>+    for (;;) {</div><div class='add'>+	unsigned char b = *(unsigned char *)(*p)++;</div><div class='add'>+	if (b &lt; 0x80) {</div><div class='add'>+	    if (b &amp; 0x40) {</div><div class='add'>+		r -= (0x80 - b) &lt;&lt; s;</div><div class='add'>+	    }</div><div class='add'>+	    else {</div><div class='add'>+		r += (b &amp; 0x3f) &lt;&lt; s;</div><div class='add'>+	    }</div><div class='add'>+	    break;</div><div class='add'>+	}</div><div class='add'>+	r += (b &amp; 0x7f) &lt;&lt; s;</div><div class='add'>+	s += 7;</div><div class='add'>+    }</div><div class='add'>+    return r;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static const char *</div><div class='add'>+get_nth_dirname(unsigned long dir, char *p)</div><div class='add'>+{</div><div class='add'>+    if (!dir--) {</div><div class='add'>+	return "";</div><div class='add'>+    }</div><div class='add'>+    while (dir--) {</div><div class='add'>+	while (*p) p++;</div><div class='add'>+	p++;</div><div class='add'>+	if (!*p) {</div><div class='add'>+	    kprintf("Unexpected directory number %lu in %s\n",</div><div class='add'>+		    dir, binary_filename);</div><div class='add'>+	    return "";</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    return p;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+fill_filename(int file, char *include_directories, char *filenames, line_info_t *line, obj_info_t *obj)</div><div class='add'>+{</div><div class='add'>+    int i;</div><div class='add'>+    char *p = filenames;</div><div class='add'>+    char *filename;</div><div class='add'>+    unsigned long dir;</div><div class='add'>+    for (i = 1; i &lt;= file; i++) {</div><div class='add'>+	filename = p;</div><div class='add'>+	if (!*p) {</div><div class='add'>+	    /* Need to output binary file name? */</div><div class='add'>+	    kprintf("Unexpected file number %d in %s at %tx\n",</div><div class='add'>+		    file, binary_filename, filenames - obj-&gt;mapped);</div><div class='add'>+	    return;</div><div class='add'>+	}</div><div class='add'>+	while (*p) p++;</div><div class='add'>+	p++;</div><div class='add'>+	dir = uleb128(&amp;p);</div><div class='add'>+	/* last modified. */</div><div class='add'>+	uleb128(&amp;p);</div><div class='add'>+	/* size of the file. */</div><div class='add'>+	uleb128(&amp;p);</div><div class='add'>+</div><div class='add'>+	if (i == file) {</div><div class='add'>+	    line-&gt;filename = filename;</div><div class='add'>+	    line-&gt;dirname = get_nth_dirname(dir, include_directories);</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+fill_line(int num_traces, void **traces, uintptr_t addr, int file, int line,</div><div class='add'>+	  char *include_directories, char *filenames,</div><div class='add'>+	  obj_info_t *obj, line_info_t *lines, int offset)</div><div class='add'>+{</div><div class='add'>+    int i;</div><div class='add'>+    addr += obj-&gt;base_addr - obj-&gt;vmaddr;</div><div class='add'>+    for (i = offset; i &lt; num_traces; i++) {</div><div class='add'>+	uintptr_t a = (uintptr_t)traces[i];</div><div class='add'>+	/* We assume one line code doesn't result &gt;100 bytes of native code.</div><div class='add'>+       We may want more reliable way eventually... */</div><div class='add'>+	if (addr &lt; a &amp;&amp; a &lt; addr + 100) {</div><div class='add'>+	    fill_filename(file, include_directories, filenames, &amp;lines[i], obj);</div><div class='add'>+	    lines[i].line = line;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+struct LineNumberProgramHeader {</div><div class='add'>+    uint64_t unit_length;</div><div class='add'>+    uint16_t version;</div><div class='add'>+    uint8_t format; /* 4 or 8 */</div><div class='add'>+    uint64_t header_length;</div><div class='add'>+    uint8_t minimum_instruction_length;</div><div class='add'>+    uint8_t maximum_operations_per_instruction;</div><div class='add'>+    uint8_t default_is_stmt;</div><div class='add'>+    int8_t line_base;</div><div class='add'>+    uint8_t line_range;</div><div class='add'>+    uint8_t opcode_base;</div><div class='add'>+    /* uint8_t standard_opcode_lengths[opcode_base-1]; */</div><div class='add'>+    const char *include_directories;</div><div class='add'>+    const char *filenames;</div><div class='add'>+    const char *cu_start;</div><div class='add'>+    const char *cu_end;</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+parse_debug_line_header(const char **pp, struct LineNumberProgramHeader *header)</div><div class='add'>+{</div><div class='add'>+    const char *p = *pp;</div><div class='add'>+    header-&gt;unit_length = *(uint32_t *)p;</div><div class='add'>+    p += sizeof(uint32_t);</div><div class='add'>+</div><div class='add'>+    header-&gt;format = 4;</div><div class='add'>+    if (header-&gt;unit_length == 0xffffffff) {</div><div class='add'>+	header-&gt;unit_length = *(uint64_t *)p;</div><div class='add'>+	p += sizeof(uint64_t);</div><div class='add'>+        header-&gt;format = 8;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    header-&gt;cu_end = p + header-&gt;unit_length;</div><div class='add'>+</div><div class='add'>+    header-&gt;version = *(uint16_t *)p;</div><div class='add'>+    p += sizeof(uint16_t);</div><div class='add'>+    if (header-&gt;version &gt; 4) return -1;</div><div class='add'>+</div><div class='add'>+    header-&gt;header_length = header-&gt;format == 4 ? *(uint32_t *)p : *(uint64_t *)p;</div><div class='add'>+    p += header-&gt;format;</div><div class='add'>+    header-&gt;cu_start = p + header-&gt;header_length;</div><div class='add'>+</div><div class='add'>+    header-&gt;minimum_instruction_length = *(uint8_t *)p++;</div><div class='add'>+</div><div class='add'>+    if (header-&gt;version &gt;= 4) {</div><div class='add'>+        /* maximum_operations_per_instruction = *(uint8_t *)p; */</div><div class='add'>+        if (*p != 1) return -1; /* For non-VLIW architectures, this field is 1 */</div><div class='add'>+        p++;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    header-&gt;default_is_stmt = *(uint8_t *)p++;</div><div class='add'>+    header-&gt;line_base = *(int8_t *)p++;</div><div class='add'>+    header-&gt;line_range = *(uint8_t *)p++;</div><div class='add'>+    header-&gt;opcode_base = *(uint8_t *)p++;</div><div class='add'>+    /* header-&gt;standard_opcode_lengths = (uint8_t *)p - 1; */</div><div class='add'>+    p += header-&gt;opcode_base - 1;</div><div class='add'>+</div><div class='add'>+    header-&gt;include_directories = p;</div><div class='add'>+</div><div class='add'>+    /* temporary measure for compress-debug-sections */</div><div class='add'>+    if (p &gt;= header-&gt;cu_end) return -1;</div><div class='add'>+</div><div class='add'>+    /* skip include directories */</div><div class='add'>+    while (*p) {</div><div class='add'>+	p = memchr(p, '\0', header-&gt;cu_end - p);</div><div class='add'>+	if (!p) return -1;</div><div class='add'>+	p++;</div><div class='add'>+    }</div><div class='add'>+    p++;</div><div class='add'>+</div><div class='add'>+    header-&gt;filenames = p;</div><div class='add'>+</div><div class='add'>+    *pp = header-&gt;cu_start;</div><div class='add'>+</div><div class='add'>+    return 0;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+parse_debug_line_cu(int num_traces, void **traces, char **debug_line,</div><div class='add'>+		obj_info_t *obj, line_info_t *lines, int offset)</div><div class='add'>+{</div><div class='add'>+    const char *p = (const char *)*debug_line;</div><div class='add'>+    struct LineNumberProgramHeader header;</div><div class='add'>+</div><div class='add'>+    /* The registers. */</div><div class='add'>+    unsigned long addr = 0;</div><div class='add'>+    unsigned int file = 1;</div><div class='add'>+    unsigned int line = 1;</div><div class='add'>+    /* unsigned int column = 0; */</div><div class='add'>+    int is_stmt;</div><div class='add'>+    /* int basic_block = 0; */</div><div class='add'>+    /* int end_sequence = 0; */</div><div class='add'>+    /* int prologue_end = 0; */</div><div class='add'>+    /* int epilogue_begin = 0; */</div><div class='add'>+    /* unsigned int isa = 0; */</div><div class='add'>+</div><div class='add'>+    if (parse_debug_line_header(&amp;p, &amp;header))</div><div class='add'>+        return -1;</div><div class='add'>+    is_stmt = header.default_is_stmt;</div><div class='add'>+</div><div class='add'>+#define FILL_LINE()						    \</div><div class='add'>+    do {							    \</div><div class='add'>+	fill_line(num_traces, traces, addr, file, line,		    \</div><div class='add'>+                  (char *)header.include_directories,               \</div><div class='add'>+                  (char *)header.filenames,                         \</div><div class='add'>+		  obj, lines, offset);				    \</div><div class='add'>+	/*basic_block = prologue_end = epilogue_begin = 0;*/	    \</div><div class='add'>+    } while (0)</div><div class='add'>+</div><div class='add'>+    while (p &lt; header.cu_end) {</div><div class='add'>+	unsigned long a;</div><div class='add'>+	unsigned char op = *p++;</div><div class='add'>+	switch (op) {</div><div class='add'>+	case DW_LNS_copy:</div><div class='add'>+	    FILL_LINE();</div><div class='add'>+	    break;</div><div class='add'>+	case DW_LNS_advance_pc:</div><div class='add'>+	    a = uleb128((char **)&amp;p);</div><div class='add'>+	    addr += a;</div><div class='add'>+	    break;</div><div class='add'>+	case DW_LNS_advance_line: {</div><div class='add'>+	    long a = sleb128((char **)&amp;p);</div><div class='add'>+	    line += a;</div><div class='add'>+	    break;</div><div class='add'>+	}</div><div class='add'>+	case DW_LNS_set_file:</div><div class='add'>+	    file = (unsigned int)uleb128((char **)&amp;p);</div><div class='add'>+	    break;</div><div class='add'>+	case DW_LNS_set_column:</div><div class='add'>+	    /*column = (unsigned int)*/(void)uleb128((char **)&amp;p);</div><div class='add'>+	    break;</div><div class='add'>+	case DW_LNS_negate_stmt:</div><div class='add'>+	    is_stmt = !is_stmt;</div><div class='add'>+	    break;</div><div class='add'>+	case DW_LNS_set_basic_block:</div><div class='add'>+	    /*basic_block = 1; */</div><div class='add'>+	    break;</div><div class='add'>+	case DW_LNS_const_add_pc:</div><div class='add'>+	    a = ((255UL - header.opcode_base) / header.line_range) *</div><div class='add'>+		header.minimum_instruction_length;</div><div class='add'>+	    addr += a;</div><div class='add'>+	    break;</div><div class='add'>+	case DW_LNS_fixed_advance_pc:</div><div class='add'>+	    a = *(unsigned char *)p++;</div><div class='add'>+	    addr += a;</div><div class='add'>+	    break;</div><div class='add'>+	case DW_LNS_set_prologue_end:</div><div class='add'>+	    /* prologue_end = 1; */</div><div class='add'>+	    break;</div><div class='add'>+	case DW_LNS_set_epilogue_begin:</div><div class='add'>+	    /* epilogue_begin = 1; */</div><div class='add'>+	    break;</div><div class='add'>+	case DW_LNS_set_isa:</div><div class='add'>+	    /* isa = (unsigned int)*/(void)uleb128((char **)&amp;p);</div><div class='add'>+	    break;</div><div class='add'>+	case 0:</div><div class='add'>+	    a = *(unsigned char *)p++;</div><div class='add'>+	    op = *p++;</div><div class='add'>+	    switch (op) {</div><div class='add'>+	    case DW_LNE_end_sequence:</div><div class='add'>+		/* end_sequence = 1; */</div><div class='add'>+		FILL_LINE();</div><div class='add'>+		addr = 0;</div><div class='add'>+		file = 1;</div><div class='add'>+		line = 1;</div><div class='add'>+		/* column = 0; */</div><div class='add'>+		is_stmt = header.default_is_stmt;</div><div class='add'>+		/* end_sequence = 0; */</div><div class='add'>+		/* isa = 0; */</div><div class='add'>+		break;</div><div class='add'>+	    case DW_LNE_set_address:</div><div class='add'>+		addr = *(unsigned long *)p;</div><div class='add'>+		p += sizeof(unsigned long);</div><div class='add'>+		break;</div><div class='add'>+	    case DW_LNE_define_file:</div><div class='add'>+		kprintf("Unsupported operation in %s\n",</div><div class='add'>+			binary_filename);</div><div class='add'>+		break;</div><div class='add'>+	    case DW_LNE_set_discriminator:</div><div class='add'>+		/* TODO:currently ignore */</div><div class='add'>+		uleb128((char **)&amp;p);</div><div class='add'>+		break;</div><div class='add'>+	    default:</div><div class='add'>+		kprintf("Unknown extended opcode: %d in %s\n",</div><div class='add'>+			op, binary_filename);</div><div class='add'>+	    }</div><div class='add'>+	    break;</div><div class='add'>+	default: {</div><div class='add'>+            uint8_t adjusted_opcode = op - header.opcode_base;</div><div class='add'>+            uint8_t operation_advance = adjusted_opcode / header.line_range;</div><div class='add'>+            /* NOTE: this code doesn't support VLIW */</div><div class='add'>+            addr += operation_advance * header.minimum_instruction_length;</div><div class='add'>+            line += header.line_base + (adjusted_opcode % header.line_range);</div><div class='add'>+	    FILL_LINE();</div><div class='add'>+	}</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    *debug_line = (char *)p;</div><div class='add'>+    return 0;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+parse_debug_line(int num_traces, void **traces,</div><div class='add'>+		 char *debug_line, unsigned long size,</div><div class='add'>+		 obj_info_t *obj, line_info_t *lines, int offset)</div><div class='add'>+{</div><div class='add'>+    char *debug_line_end = debug_line + size;</div><div class='add'>+    while (debug_line &lt; debug_line_end) {</div><div class='add'>+	if (parse_debug_line_cu(num_traces, traces, &amp;debug_line, obj, lines, offset))</div><div class='add'>+	    return -1;</div><div class='add'>+    }</div><div class='add'>+    if (debug_line != debug_line_end) {</div><div class='add'>+	kprintf("Unexpected size of .debug_line in %s\n",</div><div class='add'>+		binary_filename);</div><div class='add'>+    }</div><div class='add'>+    return 0;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/* read file and fill lines */</div><div class='add'>+static uintptr_t</div><div class='add'>+fill_lines(int num_traces, void **traces, int check_debuglink,</div><div class='add'>+	   obj_info_t **objp, line_info_t *lines, int offset);</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+append_obj(obj_info_t **objp)</div><div class='add'>+{</div><div class='add'>+    obj_info_t *newobj = calloc(1, sizeof(obj_info_t));</div><div class='add'>+    if (*objp) (*objp)-&gt;next = newobj;</div><div class='add'>+    *objp = newobj;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#ifdef USE_ELF</div><div class='add'>+/* Ideally we should check 4 paths to follow gnu_debuglink:</div><div class='add'>+ *</div><div class='add'>+ *   - /usr/lib/debug/.build-id/ab/cdef1234.debug</div><div class='add'>+ *   - /usr/bin/ruby.debug</div><div class='add'>+ *   - /usr/bin/.debug/ruby.debug</div><div class='add'>+ *   - /usr/lib/debug/usr/bin/ruby.debug.</div><div class='add'>+ *</div><div class='add'>+ * but we handle only two cases for now as the two formats are</div><div class='add'>+ * used by some linux distributions.</div><div class='add'>+ *</div><div class='add'>+ * See GDB's info for detail.</div><div class='add'>+ * https://sourceware.org/gdb/onlinedocs/gdb/Separate-Debug-Files.html</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+// check the path pattern of "/usr/lib/debug/usr/bin/ruby.debug"</div><div class='add'>+static void</div><div class='add'>+follow_debuglink(const char *debuglink, int num_traces, void **traces,</div><div class='add'>+		 obj_info_t **objp, line_info_t *lines, int offset)</div><div class='add'>+{</div><div class='add'>+    static const char global_debug_dir[] = "/usr/lib/debug";</div><div class='add'>+    const size_t global_debug_dir_len = sizeof(global_debug_dir) - 1;</div><div class='add'>+    char *p;</div><div class='add'>+    obj_info_t *o1 = *objp, *o2;</div><div class='add'>+    size_t len;</div><div class='add'>+</div><div class='add'>+    p = strrchr(binary_filename, '/');</div><div class='add'>+    if (!p) {</div><div class='add'>+	return;</div><div class='add'>+    }</div><div class='add'>+    p[1] = '\0';</div><div class='add'>+</div><div class='add'>+    len = strlen(binary_filename);</div><div class='add'>+    if (len &gt;= PATH_MAX - global_debug_dir_len)</div><div class='add'>+	len = PATH_MAX - global_debug_dir_len - 1;</div><div class='add'>+    memmove(binary_filename + global_debug_dir_len, binary_filename, len);</div><div class='add'>+    memcpy(binary_filename, global_debug_dir, global_debug_dir_len);</div><div class='add'>+    len += global_debug_dir_len;</div><div class='add'>+    strlcpy(binary_filename + len, debuglink, PATH_MAX - len);</div><div class='add'>+</div><div class='add'>+    append_obj(objp);</div><div class='add'>+    o2 = *objp;</div><div class='add'>+    o2-&gt;base_addr = o1-&gt;base_addr;</div><div class='add'>+    o2-&gt;path = o1-&gt;path;</div><div class='add'>+    fill_lines(num_traces, traces, 0, objp, lines, offset);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+// check the path pattern of "/usr/lib/debug/.build-id/ab/cdef1234.debug"</div><div class='add'>+static void</div><div class='add'>+follow_debuglink_build_id(const char *build_id, size_t build_id_size, int num_traces, void **traces,</div><div class='add'>+                          obj_info_t **objp, line_info_t *lines, int offset)</div><div class='add'>+{</div><div class='add'>+    static const char global_debug_dir[] = "/usr/lib/debug/.build-id/";</div><div class='add'>+    const size_t global_debug_dir_len = sizeof(global_debug_dir) - 1;</div><div class='add'>+    char *p;</div><div class='add'>+    obj_info_t *o1 = *objp, *o2;</div><div class='add'>+    size_t i;</div><div class='add'>+</div><div class='add'>+    if (PATH_MAX &lt; global_debug_dir_len + 1 + build_id_size * 2 + 6) return;</div><div class='add'>+</div><div class='add'>+    memcpy(binary_filename, global_debug_dir, global_debug_dir_len);</div><div class='add'>+    p = binary_filename + global_debug_dir_len;</div><div class='add'>+    for (i = 0; i &lt; build_id_size; i++) {</div><div class='add'>+        static const char tbl[] = "0123456789abcdef";</div><div class='add'>+        unsigned char n = build_id[i];</div><div class='add'>+        *p++ = tbl[n / 16];</div><div class='add'>+        *p++ = tbl[n % 16];</div><div class='add'>+        if (i == 0) *p++ = '/';</div><div class='add'>+    }</div><div class='add'>+    strcpy(p, ".debug");</div><div class='add'>+</div><div class='add'>+    append_obj(objp);</div><div class='add'>+    o2 = *objp;</div><div class='add'>+    o2-&gt;base_addr = o1-&gt;base_addr;</div><div class='add'>+    o2-&gt;path = o1-&gt;path;</div><div class='add'>+    fill_lines(num_traces, traces, 0, objp, lines, offset);</div><div class='add'>+}</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+enum</div><div class='add'>+{</div><div class='add'>+    DW_TAG_compile_unit = 0x11,</div><div class='add'>+    DW_TAG_inlined_subroutine = 0x1d,</div><div class='add'>+    DW_TAG_subprogram = 0x2e,</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+/* Attributes encodings */</div><div class='add'>+enum</div><div class='add'>+{</div><div class='add'>+    DW_AT_sibling = 0x01,</div><div class='add'>+    DW_AT_location = 0x02,</div><div class='add'>+    DW_AT_name = 0x03,</div><div class='add'>+    /* Reserved 0x04 */</div><div class='add'>+    /* Reserved 0x05 */</div><div class='add'>+    /* Reserved 0x06 */</div><div class='add'>+    /* Reserved 0x07 */</div><div class='add'>+    /* Reserved 0x08 */</div><div class='add'>+    DW_AT_ordering = 0x09,</div><div class='add'>+    /* Reserved 0x0a */</div><div class='add'>+    DW_AT_byte_size = 0x0b,</div><div class='add'>+    /* Reserved 0x0c */</div><div class='add'>+    DW_AT_bit_size = 0x0d,</div><div class='add'>+    /* Reserved 0x0e */</div><div class='add'>+    /* Reserved 0x0f */</div><div class='add'>+    DW_AT_stmt_list = 0x10,</div><div class='add'>+    DW_AT_low_pc = 0x11,</div><div class='add'>+    DW_AT_high_pc = 0x12,</div><div class='add'>+    DW_AT_language = 0x13,</div><div class='add'>+    /* Reserved 0x14 */</div><div class='add'>+    DW_AT_discr = 0x15,</div><div class='add'>+    DW_AT_discr_value = 0x16,</div><div class='add'>+    DW_AT_visibility = 0x17,</div><div class='add'>+    DW_AT_import = 0x18,</div><div class='add'>+    DW_AT_string_length = 0x19,</div><div class='add'>+    DW_AT_common_reference = 0x1a,</div><div class='add'>+    DW_AT_comp_dir = 0x1b,</div><div class='add'>+    DW_AT_const_value = 0x1c,</div><div class='add'>+    DW_AT_containing_type = 0x1d,</div><div class='add'>+    DW_AT_default_value = 0x1e,</div><div class='add'>+    /* Reserved 0x1f */</div><div class='add'>+    DW_AT_inline = 0x20,</div><div class='add'>+    DW_AT_is_optional = 0x21,</div><div class='add'>+    DW_AT_lower_bound = 0x22,</div><div class='add'>+    /* Reserved 0x23 */</div><div class='add'>+    /* Reserved 0x24 */</div><div class='add'>+    DW_AT_producer = 0x25,</div><div class='add'>+    /* Reserved 0x26 */</div><div class='add'>+    DW_AT_prototyped = 0x27,</div><div class='add'>+    /* Reserved 0x28 */</div><div class='add'>+    /* Reserved 0x29 */</div><div class='add'>+    DW_AT_return_addr = 0x2a,</div><div class='add'>+    /* Reserved 0x2b */</div><div class='add'>+    DW_AT_start_scope = 0x2c,</div><div class='add'>+    /* Reserved 0x2d */</div><div class='add'>+    DW_AT_bit_stride = 0x2e,</div><div class='add'>+    DW_AT_upper_bound = 0x2f,</div><div class='add'>+    /* Reserved 0x30 */</div><div class='add'>+    DW_AT_abstract_origin = 0x31,</div><div class='add'>+    DW_AT_accessibility = 0x32,</div><div class='add'>+    DW_AT_address_class = 0x33,</div><div class='add'>+    DW_AT_artificial = 0x34,</div><div class='add'>+    DW_AT_base_types = 0x35,</div><div class='add'>+    DW_AT_calling_convention = 0x36,</div><div class='add'>+    DW_AT_count = 0x37,</div><div class='add'>+    DW_AT_data_member_location = 0x38,</div><div class='add'>+    DW_AT_decl_column = 0x39,</div><div class='add'>+    DW_AT_decl_file = 0x3a,</div><div class='add'>+    DW_AT_decl_line = 0x3b,</div><div class='add'>+    DW_AT_declaration = 0x3c,</div><div class='add'>+    DW_AT_discr_list = 0x3d,</div><div class='add'>+    DW_AT_encoding = 0x3e,</div><div class='add'>+    DW_AT_external = 0x3f,</div><div class='add'>+    DW_AT_frame_base = 0x40,</div><div class='add'>+    DW_AT_friend = 0x41,</div><div class='add'>+    DW_AT_identifier_case = 0x42,</div><div class='add'>+    /* Reserved 0x43 */</div><div class='add'>+    DW_AT_namelist_item = 0x44,</div><div class='add'>+    DW_AT_priority = 0x45,</div><div class='add'>+    DW_AT_segment = 0x46,</div><div class='add'>+    DW_AT_specification = 0x47,</div><div class='add'>+    DW_AT_static_link = 0x48,</div><div class='add'>+    DW_AT_type = 0x49,</div><div class='add'>+    DW_AT_use_location = 0x4a,</div><div class='add'>+    DW_AT_variable_parameter = 0x4b,</div><div class='add'>+    DW_AT_virtuality = 0x4c,</div><div class='add'>+    DW_AT_vtable_elem_location = 0x4d,</div><div class='add'>+    DW_AT_allocated = 0x4e,</div><div class='add'>+    DW_AT_associated = 0x4f,</div><div class='add'>+    DW_AT_data_location = 0x50,</div><div class='add'>+    DW_AT_byte_stride = 0x51,</div><div class='add'>+    DW_AT_entry_pc = 0x52,</div><div class='add'>+    DW_AT_use_UTF8 = 0x53,</div><div class='add'>+    DW_AT_extension = 0x54,</div><div class='add'>+    DW_AT_ranges = 0x55,</div><div class='add'>+    DW_AT_trampoline = 0x56,</div><div class='add'>+    DW_AT_call_column = 0x57,</div><div class='add'>+    DW_AT_call_file = 0x58,</div><div class='add'>+    DW_AT_call_line = 0x59,</div><div class='add'>+    DW_AT_description = 0x5a,</div><div class='add'>+    DW_AT_binary_scale = 0x5b,</div><div class='add'>+    DW_AT_decimal_scale = 0x5c,</div><div class='add'>+    DW_AT_small = 0x5d,</div><div class='add'>+    DW_AT_decimal_sign = 0x5e,</div><div class='add'>+    DW_AT_digit_count = 0x5f,</div><div class='add'>+    DW_AT_picture_string = 0x60,</div><div class='add'>+    DW_AT_mutable = 0x61,</div><div class='add'>+    DW_AT_threads_scaled = 0x62,</div><div class='add'>+    DW_AT_explicit = 0x63,</div><div class='add'>+    DW_AT_object_pointer = 0x64,</div><div class='add'>+    DW_AT_endianity = 0x65,</div><div class='add'>+    DW_AT_elemental = 0x66,</div><div class='add'>+    DW_AT_pure = 0x67,</div><div class='add'>+    DW_AT_recursive = 0x68,</div><div class='add'>+    DW_AT_signature = 0x69,</div><div class='add'>+    DW_AT_main_subprogram = 0x6a,</div><div class='add'>+    DW_AT_data_bit_offset = 0x6b,</div><div class='add'>+    DW_AT_const_expr = 0x6c,</div><div class='add'>+    DW_AT_enum_class = 0x6d,</div><div class='add'>+    DW_AT_linkage_name = 0x6e,</div><div class='add'>+    DW_AT_string_length_bit_size = 0x6f,</div><div class='add'>+    DW_AT_string_length_byte_size = 0x70,</div><div class='add'>+    DW_AT_rank = 0x71,</div><div class='add'>+    DW_AT_str_offsets_base = 0x72,</div><div class='add'>+    DW_AT_addr_base = 0x73,</div><div class='add'>+    DW_AT_rnglists_base = 0x74,</div><div class='add'>+    /* Reserved 0x75 */</div><div class='add'>+    DW_AT_dwo_name = 0x76,</div><div class='add'>+    DW_AT_reference = 0x77,</div><div class='add'>+    DW_AT_rvalue_reference = 0x78,</div><div class='add'>+    DW_AT_macros = 0x79,</div><div class='add'>+    DW_AT_call_all_calls = 0x7a,</div><div class='add'>+    DW_AT_call_all_source_calls = 0x7b,</div><div class='add'>+    DW_AT_call_all_tail_calls = 0x7c,</div><div class='add'>+    DW_AT_call_return_pc = 0x7d,</div><div class='add'>+    DW_AT_call_value = 0x7e,</div><div class='add'>+    DW_AT_call_origin = 0x7f,</div><div class='add'>+    DW_AT_call_parameter = 0x80,</div><div class='add'>+    DW_AT_call_pc = 0x81,</div><div class='add'>+    DW_AT_call_tail_call = 0x82,</div><div class='add'>+    DW_AT_call_target = 0x83,</div><div class='add'>+    DW_AT_call_target_clobbered = 0x84,</div><div class='add'>+    DW_AT_call_data_location = 0x85,</div><div class='add'>+    DW_AT_call_data_value = 0x86,</div><div class='add'>+    DW_AT_noreturn = 0x87,</div><div class='add'>+    DW_AT_alignment = 0x88,</div><div class='add'>+    DW_AT_export_symbols = 0x89,</div><div class='add'>+    DW_AT_deleted = 0x8a,</div><div class='add'>+    DW_AT_defaulted = 0x8b,</div><div class='add'>+    DW_AT_loclists_base = 0x8c,</div><div class='add'>+    DW_AT_lo_user = 0x2000,</div><div class='add'>+    DW_AT_hi_user = 0x3fff</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+/* Attribute form encodings */</div><div class='add'>+enum</div><div class='add'>+{</div><div class='add'>+    DW_FORM_addr = 0x01,</div><div class='add'>+    /* Reserved 0x02 */</div><div class='add'>+    DW_FORM_block2 = 0x03,</div><div class='add'>+    DW_FORM_block4 = 0x04,</div><div class='add'>+    DW_FORM_data2 = 0x05,</div><div class='add'>+    DW_FORM_data4 = 0x06,</div><div class='add'>+    DW_FORM_data8 = 0x07,</div><div class='add'>+    DW_FORM_string = 0x08,</div><div class='add'>+    DW_FORM_block = 0x09,</div><div class='add'>+    DW_FORM_block1 = 0x0a,</div><div class='add'>+    DW_FORM_data1 = 0x0b,</div><div class='add'>+    DW_FORM_flag = 0x0c,</div><div class='add'>+    DW_FORM_sdata = 0x0d,</div><div class='add'>+    DW_FORM_strp = 0x0e,</div><div class='add'>+    DW_FORM_udata = 0x0f,</div><div class='add'>+    DW_FORM_ref_addr = 0x10,</div><div class='add'>+    DW_FORM_ref1 = 0x11,</div><div class='add'>+    DW_FORM_ref2 = 0x12,</div><div class='add'>+    DW_FORM_ref4 = 0x13,</div><div class='add'>+    DW_FORM_ref8 = 0x14,</div><div class='add'>+    DW_FORM_ref_udata = 0x15,</div><div class='add'>+    DW_FORM_indirect = 0x16,</div><div class='add'>+    DW_FORM_sec_offset = 0x17,</div><div class='add'>+    DW_FORM_exprloc = 0x18,</div><div class='add'>+    DW_FORM_flag_present = 0x19,</div><div class='add'>+    DW_FORM_strx = 0x1a,</div><div class='add'>+    DW_FORM_addrx = 0x1b,</div><div class='add'>+    DW_FORM_ref_sup4 = 0x1c,</div><div class='add'>+    DW_FORM_strp_sup = 0x1d,</div><div class='add'>+    DW_FORM_data16 = 0x1e,</div><div class='add'>+    DW_FORM_line_strp = 0x1f,</div><div class='add'>+    DW_FORM_ref_sig8 = 0x20,</div><div class='add'>+    DW_FORM_implicit_const = 0x21,</div><div class='add'>+    DW_FORM_loclistx = 0x22,</div><div class='add'>+    DW_FORM_rnglistx = 0x23,</div><div class='add'>+    DW_FORM_ref_sup8 = 0x24,</div><div class='add'>+    DW_FORM_strx1 = 0x25,</div><div class='add'>+    DW_FORM_strx2 = 0x26,</div><div class='add'>+    DW_FORM_strx3 = 0x27,</div><div class='add'>+    DW_FORM_strx4 = 0x28,</div><div class='add'>+    DW_FORM_addrx1 = 0x29,</div><div class='add'>+    DW_FORM_addrx2 = 0x2a,</div><div class='add'>+    DW_FORM_addrx3 = 0x2b,</div><div class='add'>+    DW_FORM_addrx4 = 0x2c</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+enum {</div><div class='add'>+    VAL_none = 0,</div><div class='add'>+    VAL_cstr = 1,</div><div class='add'>+    VAL_data = 2,</div><div class='add'>+    VAL_uint = 3,</div><div class='add'>+    VAL_int = 4</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+# define ABBREV_TABLE_SIZE 256</div><div class='add'>+typedef struct {</div><div class='add'>+    obj_info_t *obj;</div><div class='add'>+    char *file;</div><div class='add'>+    char *current_cu;</div><div class='add'>+    uint64_t current_low_pc;</div><div class='add'>+    char *debug_line_cu_end;</div><div class='add'>+    char *debug_line_files;</div><div class='add'>+    char *debug_line_directories;</div><div class='add'>+    char *p;</div><div class='add'>+    char *cu_end;</div><div class='add'>+    char *pend;</div><div class='add'>+    char *q0;</div><div class='add'>+    char *q;</div><div class='add'>+    int format; // 4 or 8</div><div class='add'>+    uint8_t address_size;</div><div class='add'>+    int level;</div><div class='add'>+    char *abbrev_table[ABBREV_TABLE_SIZE];</div><div class='add'>+} DebugInfoReader;</div><div class='add'>+</div><div class='add'>+typedef struct {</div><div class='add'>+    ptrdiff_t pos;</div><div class='add'>+    int tag;</div><div class='add'>+    int has_children;</div><div class='add'>+} DIE;</div><div class='add'>+</div><div class='add'>+typedef struct {</div><div class='add'>+    union {</div><div class='add'>+        char *ptr;</div><div class='add'>+        uint64_t uint64;</div><div class='add'>+        int64_t int64;</div><div class='add'>+    } as;</div><div class='add'>+    uint64_t off;</div><div class='add'>+    uint64_t at;</div><div class='add'>+    uint64_t form;</div><div class='add'>+    size_t size;</div><div class='add'>+    int type;</div><div class='add'>+} DebugInfoValue;</div><div class='add'>+</div><div class='add'>+/* TODO: Big Endian */</div><div class='add'>+#define MERGE_2INTS(a,b,sz) (((uint64_t)(b)&lt;&lt;sz)|(a))</div><div class='add'>+</div><div class='add'>+static uint16_t</div><div class='add'>+get_uint16(const uint8_t *p)</div><div class='add'>+{</div><div class='add'>+    return (uint16_t)MERGE_2INTS(p[0],p[1],8);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static uint32_t</div><div class='add'>+get_uint32(const uint8_t *p)</div><div class='add'>+{</div><div class='add'>+    return (uint32_t)MERGE_2INTS(get_uint16(p),get_uint16(p+2),16);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static uint64_t</div><div class='add'>+get_uint64(const uint8_t *p)</div><div class='add'>+{</div><div class='add'>+    return MERGE_2INTS(get_uint32(p),get_uint32(p+4),32);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static uint8_t</div><div class='add'>+read_uint8(char **ptr)</div><div class='add'>+{</div><div class='add'>+    const unsigned char *p = (const unsigned char *)*ptr;</div><div class='add'>+    *ptr = (char *)(p + 1);</div><div class='add'>+    return *p;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static uint16_t</div><div class='add'>+read_uint16(char **ptr)</div><div class='add'>+{</div><div class='add'>+    const unsigned char *p = (const unsigned char *)*ptr;</div><div class='add'>+    *ptr = (char *)(p + 2);</div><div class='add'>+    return get_uint16(p);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static uint32_t</div><div class='add'>+read_uint24(char **ptr)</div><div class='add'>+{</div><div class='add'>+    const unsigned char *p = (const unsigned char *)*ptr;</div><div class='add'>+    *ptr = (char *)(p + 3);</div><div class='add'>+    return (*p &lt;&lt; 16) | get_uint16(p+1);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static uint32_t</div><div class='add'>+read_uint32(char **ptr)</div><div class='add'>+{</div><div class='add'>+    const unsigned char *p = (const unsigned char *)*ptr;</div><div class='add'>+    *ptr = (char *)(p + 4);</div><div class='add'>+    return get_uint32(p);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static uint64_t</div><div class='add'>+read_uint64(char **ptr)</div><div class='add'>+{</div><div class='add'>+    const unsigned char *p = (const unsigned char *)*ptr;</div><div class='add'>+    *ptr = (char *)(p + 8);</div><div class='add'>+    return get_uint64(p);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static uintptr_t</div><div class='add'>+read_uintptr(char **ptr)</div><div class='add'>+{</div><div class='add'>+    const unsigned char *p = (const unsigned char *)*ptr;</div><div class='add'>+    *ptr = (char *)(p + SIZEOF_VOIDP);</div><div class='add'>+#if SIZEOF_VOIDP == 8</div><div class='add'>+    return get_uint64(p);</div><div class='add'>+#else</div><div class='add'>+    return get_uint32(p);</div><div class='add'>+#endif</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static uint64_t</div><div class='add'>+read_uint(DebugInfoReader *reader)</div><div class='add'>+{</div><div class='add'>+    if (reader-&gt;format == 4) {</div><div class='add'>+        return read_uint32(&amp;reader-&gt;p);</div><div class='add'>+    } else { /* 64 bit */</div><div class='add'>+        return read_uint64(&amp;reader-&gt;p);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static uint64_t</div><div class='add'>+read_uleb128(DebugInfoReader *reader)</div><div class='add'>+{</div><div class='add'>+    return uleb128(&amp;reader-&gt;p);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int64_t</div><div class='add'>+read_sleb128(DebugInfoReader *reader)</div><div class='add'>+{</div><div class='add'>+    return sleb128(&amp;reader-&gt;p);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+debug_info_reader_init(DebugInfoReader *reader, obj_info_t *obj)</div><div class='add'>+{</div><div class='add'>+    reader-&gt;file = obj-&gt;mapped;</div><div class='add'>+    reader-&gt;obj = obj;</div><div class='add'>+    reader-&gt;p = obj-&gt;debug_info.ptr;</div><div class='add'>+    reader-&gt;pend = obj-&gt;debug_info.ptr + obj-&gt;debug_info.size;</div><div class='add'>+    reader-&gt;debug_line_cu_end = obj-&gt;debug_line.ptr;</div><div class='add'>+    reader-&gt;current_low_pc = 0;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+di_read_debug_abbrev_cu(DebugInfoReader *reader)</div><div class='add'>+{</div><div class='add'>+    uint64_t prev = 0;</div><div class='add'>+    char *p = reader-&gt;q0;</div><div class='add'>+    for (;;) {</div><div class='add'>+        uint64_t abbrev_number = uleb128(&amp;p);</div><div class='add'>+        if (abbrev_number &lt;= prev) break;</div><div class='add'>+        if (abbrev_number &lt; ABBREV_TABLE_SIZE) {</div><div class='add'>+            reader-&gt;abbrev_table[abbrev_number] = p;</div><div class='add'>+        }</div><div class='add'>+        prev = abbrev_number;</div><div class='add'>+        uleb128(&amp;p); /* tag */</div><div class='add'>+        p++; /* has_children */</div><div class='add'>+        /* skip content */</div><div class='add'>+        for (;;) {</div><div class='add'>+            uint64_t at = uleb128(&amp;p);</div><div class='add'>+            uint64_t form = uleb128(&amp;p);</div><div class='add'>+            if (!at &amp;&amp; !form) break;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+di_read_debug_line_cu(DebugInfoReader *reader)</div><div class='add'>+{</div><div class='add'>+    const char *p;</div><div class='add'>+    struct LineNumberProgramHeader header;</div><div class='add'>+</div><div class='add'>+    p = (const char *)reader-&gt;debug_line_cu_end;</div><div class='add'>+    if (parse_debug_line_header(&amp;p, &amp;header))</div><div class='add'>+        return -1;</div><div class='add'>+</div><div class='add'>+    reader-&gt;debug_line_cu_end = (char *)header.cu_end;</div><div class='add'>+    reader-&gt;debug_line_directories = (char *)header.include_directories;</div><div class='add'>+    reader-&gt;debug_line_files = (char *)header.filenames;</div><div class='add'>+</div><div class='add'>+    return 0;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+set_uint_value(DebugInfoValue *v, uint64_t n)</div><div class='add'>+{</div><div class='add'>+    v-&gt;as.uint64 = n;</div><div class='add'>+    v-&gt;type = VAL_uint;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+set_int_value(DebugInfoValue *v, int64_t n)</div><div class='add'>+{</div><div class='add'>+    v-&gt;as.int64 = n;</div><div class='add'>+    v-&gt;type = VAL_int;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+set_cstr_value(DebugInfoValue *v, char *s)</div><div class='add'>+{</div><div class='add'>+    v-&gt;as.ptr = s;</div><div class='add'>+    v-&gt;off = 0;</div><div class='add'>+    v-&gt;type = VAL_cstr;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+set_cstrp_value(DebugInfoValue *v, char *s, uint64_t off)</div><div class='add'>+{</div><div class='add'>+    v-&gt;as.ptr = s;</div><div class='add'>+    v-&gt;off = off;</div><div class='add'>+    v-&gt;type = VAL_cstr;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+set_data_value(DebugInfoValue *v, char *s)</div><div class='add'>+{</div><div class='add'>+    v-&gt;as.ptr = s;</div><div class='add'>+    v-&gt;type = VAL_data;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static const char *</div><div class='add'>+get_cstr_value(DebugInfoValue *v)</div><div class='add'>+{</div><div class='add'>+    if (v-&gt;as.ptr) {</div><div class='add'>+        return v-&gt;as.ptr + v-&gt;off;</div><div class='add'>+    } else {</div><div class='add'>+        return NULL;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+debug_info_reader_read_value(DebugInfoReader *reader, uint64_t form, DebugInfoValue *v)</div><div class='add'>+{</div><div class='add'>+    switch (form) {</div><div class='add'>+      case DW_FORM_addr:</div><div class='add'>+        if (reader-&gt;address_size == 4) {</div><div class='add'>+            set_uint_value(v, read_uint32(&amp;reader-&gt;p));</div><div class='add'>+        } else if (reader-&gt;address_size == 8) {</div><div class='add'>+            set_uint_value(v, read_uint64(&amp;reader-&gt;p));</div><div class='add'>+        } else {</div><div class='add'>+            fprintf(stderr,"unknown address_size:%d", reader-&gt;address_size);</div><div class='add'>+            abort();</div><div class='add'>+        }</div><div class='add'>+        break;</div><div class='add'>+      case DW_FORM_block2:</div><div class='add'>+        v-&gt;size = read_uint16(&amp;reader-&gt;p);</div><div class='add'>+        set_data_value(v, reader-&gt;p);</div><div class='add'>+        reader-&gt;p += v-&gt;size;</div><div class='add'>+        break;</div><div class='add'>+      case DW_FORM_block4:</div><div class='add'>+        v-&gt;size = read_uint32(&amp;reader-&gt;p);</div><div class='add'>+        set_data_value(v, reader-&gt;p);</div><div class='add'>+        reader-&gt;p += v-&gt;size;</div><div class='add'>+        break;</div><div class='add'>+      case DW_FORM_data2:</div><div class='add'>+        set_uint_value(v, read_uint16(&amp;reader-&gt;p));</div><div class='add'>+        break;</div><div class='add'>+      case DW_FORM_data4:</div><div class='add'>+        set_uint_value(v, read_uint32(&amp;reader-&gt;p));</div><div class='add'>+        break;</div><div class='add'>+      case DW_FORM_data8:</div><div class='add'>+        set_uint_value(v, read_uint64(&amp;reader-&gt;p));</div><div class='add'>+        break;</div><div class='add'>+      case DW_FORM_string:</div><div class='add'>+        v-&gt;size = strlen(reader-&gt;p);</div><div class='add'>+        set_cstr_value(v, reader-&gt;p);</div><div class='add'>+        reader-&gt;p += v-&gt;size + 1;</div><div class='add'>+        break;</div><div class='add'>+      case DW_FORM_block:</div><div class='add'>+        v-&gt;size = uleb128(&amp;reader-&gt;p);</div><div class='add'>+        set_data_value(v, reader-&gt;p);</div><div class='add'>+        reader-&gt;p += v-&gt;size;</div><div class='add'>+        break;</div><div class='add'>+      case DW_FORM_block1:</div><div class='add'>+        v-&gt;size = read_uint8(&amp;reader-&gt;p);</div><div class='add'>+        set_data_value(v, reader-&gt;p);</div><div class='add'>+        reader-&gt;p += v-&gt;size;</div><div class='add'>+        break;</div><div class='add'>+      case DW_FORM_data1:</div><div class='add'>+        set_uint_value(v, read_uint8(&amp;reader-&gt;p));</div><div class='add'>+        break;</div><div class='add'>+      case DW_FORM_flag:</div><div class='add'>+        set_uint_value(v, read_uint8(&amp;reader-&gt;p));</div><div class='add'>+        break;</div><div class='add'>+      case DW_FORM_sdata:</div><div class='add'>+        set_int_value(v, read_sleb128(reader));</div><div class='add'>+        break;</div><div class='add'>+      case DW_FORM_strp:</div><div class='add'>+        set_cstrp_value(v, reader-&gt;obj-&gt;debug_str.ptr, read_uint(reader));</div><div class='add'>+        break;</div><div class='add'>+      case DW_FORM_udata:</div><div class='add'>+        set_uint_value(v, read_uleb128(reader));</div><div class='add'>+        break;</div><div class='add'>+      case DW_FORM_ref_addr:</div><div class='add'>+        if (reader-&gt;address_size == 4) {</div><div class='add'>+            set_uint_value(v, read_uint32(&amp;reader-&gt;p));</div><div class='add'>+        } else if (reader-&gt;address_size == 8) {</div><div class='add'>+            set_uint_value(v, read_uint64(&amp;reader-&gt;p));</div><div class='add'>+        } else {</div><div class='add'>+            fprintf(stderr,"unknown address_size:%d", reader-&gt;address_size);</div><div class='add'>+            abort();</div><div class='add'>+        }</div><div class='add'>+        break;</div><div class='add'>+      case DW_FORM_ref1:</div><div class='add'>+        set_uint_value(v, read_uint8(&amp;reader-&gt;p));</div><div class='add'>+        break;</div><div class='add'>+      case DW_FORM_ref2:</div><div class='add'>+        set_uint_value(v, read_uint16(&amp;reader-&gt;p));</div><div class='add'>+        break;</div><div class='add'>+      case DW_FORM_ref4:</div><div class='add'>+        set_uint_value(v, read_uint32(&amp;reader-&gt;p));</div><div class='add'>+        break;</div><div class='add'>+      case DW_FORM_ref8:</div><div class='add'>+        set_uint_value(v, read_uint64(&amp;reader-&gt;p));</div><div class='add'>+        break;</div><div class='add'>+      case DW_FORM_ref_udata:</div><div class='add'>+        set_uint_value(v, uleb128(&amp;reader-&gt;p));</div><div class='add'>+        break;</div><div class='add'>+      case DW_FORM_indirect:</div><div class='add'>+        /* TODO: read the referred value */</div><div class='add'>+        set_uint_value(v, uleb128(&amp;reader-&gt;p));</div><div class='add'>+        break;</div><div class='add'>+      case DW_FORM_sec_offset:</div><div class='add'>+        set_uint_value(v, read_uint(reader)); /* offset */</div><div class='add'>+        /* addrptr: debug_addr */</div><div class='add'>+        /* lineptr: debug_line */</div><div class='add'>+        /* loclist: debug_loclists */</div><div class='add'>+        /* loclistptr: debug_loclists */</div><div class='add'>+        /* macptr: debug_macro */</div><div class='add'>+        /* rnglist: debug_rnglists */</div><div class='add'>+        /* rnglistptr: debug_rnglists */</div><div class='add'>+        /* stroffsetsptr: debug_str_offsets */</div><div class='add'>+        break;</div><div class='add'>+      case DW_FORM_exprloc:</div><div class='add'>+        v-&gt;size = (size_t)read_uleb128(reader);</div><div class='add'>+        set_data_value(v, reader-&gt;p);</div><div class='add'>+        reader-&gt;p += v-&gt;size;</div><div class='add'>+        break;</div><div class='add'>+      case DW_FORM_flag_present:</div><div class='add'>+        set_uint_value(v, 1);</div><div class='add'>+        break;</div><div class='add'>+      case DW_FORM_strx:</div><div class='add'>+        set_uint_value(v, uleb128(&amp;reader-&gt;p));</div><div class='add'>+        break;</div><div class='add'>+      case DW_FORM_addrx:</div><div class='add'>+        /* TODO: read .debug_addr */</div><div class='add'>+        set_uint_value(v, uleb128(&amp;reader-&gt;p));</div><div class='add'>+        break;</div><div class='add'>+      case DW_FORM_ref_sup4:</div><div class='add'>+        set_uint_value(v, read_uint32(&amp;reader-&gt;p));</div><div class='add'>+        break;</div><div class='add'>+      case DW_FORM_strp_sup:</div><div class='add'>+        set_uint_value(v, read_uint(reader));</div><div class='add'>+        /* *p = reader-&gt;sup_file + reader-&gt;sup_str-&gt;sh_offset + ret; */</div><div class='add'>+        break;</div><div class='add'>+      case DW_FORM_data16:</div><div class='add'>+        v-&gt;size = 16;</div><div class='add'>+        set_data_value(v, reader-&gt;p);</div><div class='add'>+        reader-&gt;p += v-&gt;size;</div><div class='add'>+        break;</div><div class='add'>+      case DW_FORM_line_strp:</div><div class='add'>+        set_uint_value(v, read_uint(reader));</div><div class='add'>+        /* *p = reader-&gt;file + reader-&gt;line-&gt;sh_offset + ret; */</div><div class='add'>+        break;</div><div class='add'>+      case DW_FORM_ref_sig8:</div><div class='add'>+        set_uint_value(v, read_uint64(&amp;reader-&gt;p));</div><div class='add'>+        break;</div><div class='add'>+      case DW_FORM_implicit_const:</div><div class='add'>+        set_int_value(v, sleb128(&amp;reader-&gt;q));</div><div class='add'>+        break;</div><div class='add'>+      case DW_FORM_loclistx:</div><div class='add'>+        set_uint_value(v, read_uleb128(reader));</div><div class='add'>+        break;</div><div class='add'>+      case DW_FORM_rnglistx:</div><div class='add'>+        set_uint_value(v, read_uleb128(reader));</div><div class='add'>+        break;</div><div class='add'>+      case DW_FORM_ref_sup8:</div><div class='add'>+        set_uint_value(v, read_uint64(&amp;reader-&gt;p));</div><div class='add'>+        break;</div><div class='add'>+      case DW_FORM_strx1:</div><div class='add'>+        set_uint_value(v, read_uint8(&amp;reader-&gt;p));</div><div class='add'>+        break;</div><div class='add'>+      case DW_FORM_strx2:</div><div class='add'>+        set_uint_value(v, read_uint16(&amp;reader-&gt;p));</div><div class='add'>+        break;</div><div class='add'>+      case DW_FORM_strx3:</div><div class='add'>+        set_uint_value(v, read_uint24(&amp;reader-&gt;p));</div><div class='add'>+        break;</div><div class='add'>+      case DW_FORM_strx4:</div><div class='add'>+        set_uint_value(v, read_uint32(&amp;reader-&gt;p));</div><div class='add'>+        break;</div><div class='add'>+      case DW_FORM_addrx1:</div><div class='add'>+        set_uint_value(v, read_uint8(&amp;reader-&gt;p));</div><div class='add'>+        break;</div><div class='add'>+      case DW_FORM_addrx2:</div><div class='add'>+        set_uint_value(v, read_uint16(&amp;reader-&gt;p));</div><div class='add'>+        break;</div><div class='add'>+      case DW_FORM_addrx3:</div><div class='add'>+        set_uint_value(v, read_uint24(&amp;reader-&gt;p));</div><div class='add'>+        break;</div><div class='add'>+      case DW_FORM_addrx4:</div><div class='add'>+        set_uint_value(v, read_uint32(&amp;reader-&gt;p));</div><div class='add'>+        break;</div><div class='add'>+      case 0:</div><div class='add'>+        goto fail;</div><div class='add'>+        break;</div><div class='add'>+    }</div><div class='add'>+    return;</div><div class='add'>+</div><div class='add'>+  fail:</div><div class='add'>+    fprintf(stderr, "%d: unsupported form: %#"PRIx64"\n", __LINE__, form);</div><div class='add'>+    exit(1);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/* find abbrev in current compilation unit */</div><div class='add'>+static char *</div><div class='add'>+di_find_abbrev(DebugInfoReader *reader, uint64_t abbrev_number)</div><div class='add'>+{</div><div class='add'>+    char *p;</div><div class='add'>+    if (abbrev_number &lt; ABBREV_TABLE_SIZE) {</div><div class='add'>+        return reader-&gt;abbrev_table[abbrev_number];</div><div class='add'>+    }</div><div class='add'>+    p = reader-&gt;abbrev_table[ABBREV_TABLE_SIZE-1];</div><div class='add'>+    /* skip 255th record */</div><div class='add'>+    uleb128(&amp;p); /* tag */</div><div class='add'>+    p++; /* has_children */</div><div class='add'>+    /* skip content */</div><div class='add'>+    for (;;) {</div><div class='add'>+        uint64_t at = uleb128(&amp;p);</div><div class='add'>+        uint64_t form = uleb128(&amp;p);</div><div class='add'>+        if (!at &amp;&amp; !form) break;</div><div class='add'>+    }</div><div class='add'>+    for (uint64_t n = uleb128(&amp;p); abbrev_number != n; n = uleb128(&amp;p)) {</div><div class='add'>+        if (n == 0) {</div><div class='add'>+            fprintf(stderr,"%d: Abbrev Number %"PRId64" not found\n",__LINE__, abbrev_number);</div><div class='add'>+            exit(1);</div><div class='add'>+        }</div><div class='add'>+        uleb128(&amp;p); /* tag */</div><div class='add'>+        p++; /* has_children */</div><div class='add'>+        /* skip content */</div><div class='add'>+        for (;;) {</div><div class='add'>+            uint64_t at = uleb128(&amp;p);</div><div class='add'>+            uint64_t form = uleb128(&amp;p);</div><div class='add'>+            if (!at &amp;&amp; !form) break;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    return p;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#if 0</div><div class='add'>+static void</div><div class='add'>+hexdump0(const unsigned char *p, size_t n)</div><div class='add'>+{</div><div class='add'>+    size_t i;</div><div class='add'>+    fprintf(stderr, "     0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F\n");</div><div class='add'>+    for (i=0; i &lt; n; i++){</div><div class='add'>+        switch (i &amp; 15) {</div><div class='add'>+          case 0:</div><div class='add'>+            fprintf(stderr, "%02zd: %02X ", i/16, p[i]);</div><div class='add'>+            break;</div><div class='add'>+          case 15:</div><div class='add'>+            fprintf(stderr, "%02X\n", p[i]);</div><div class='add'>+            break;</div><div class='add'>+          default:</div><div class='add'>+            fprintf(stderr, "%02X ", p[i]);</div><div class='add'>+            break;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    if ((i &amp; 15) != 15) {</div><div class='add'>+        fprintf(stderr, "\n");</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+#define hexdump(p,n) hexdump0((const unsigned char *)p, n)</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+div_inspect(DebugInfoValue *v)</div><div class='add'>+{</div><div class='add'>+    switch (v-&gt;type) {</div><div class='add'>+      case VAL_uint:</div><div class='add'>+        fprintf(stderr,"%d: type:%d size:%zx v:%lx\n",__LINE__,v-&gt;type,v-&gt;size,v-&gt;as.uint64);</div><div class='add'>+        break;</div><div class='add'>+      case VAL_int:</div><div class='add'>+        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='add'>+        break;</div><div class='add'>+      case VAL_cstr:</div><div class='add'>+        fprintf(stderr,"%d: type:%d size:%zx v:'%s'\n",__LINE__,v-&gt;type,v-&gt;size,v-&gt;as.ptr);</div><div class='add'>+        break;</div><div class='add'>+      case VAL_data:</div><div class='add'>+        fprintf(stderr,"%d: type:%d size:%zx v:\n",__LINE__,v-&gt;type,v-&gt;size);</div><div class='add'>+        hexdump(v-&gt;as.ptr, 16);</div><div class='add'>+        break;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+static DIE *</div><div class='add'>+di_read_die(DebugInfoReader *reader, DIE *die)</div><div class='add'>+{</div><div class='add'>+    uint64_t abbrev_number = uleb128(&amp;reader-&gt;p);</div><div class='add'>+    if (abbrev_number == 0) {</div><div class='add'>+        reader-&gt;level--;</div><div class='add'>+        return NULL;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    reader-&gt;q = di_find_abbrev(reader, abbrev_number);</div><div class='add'>+</div><div class='add'>+    die-&gt;pos = reader-&gt;p - reader-&gt;obj-&gt;debug_info.ptr - 1;</div><div class='add'>+    die-&gt;tag = (int)uleb128(&amp;reader-&gt;q); /* tag */</div><div class='add'>+    die-&gt;has_children = *reader-&gt;q++; /* has_children */</div><div class='add'>+    if (die-&gt;has_children) {</div><div class='add'>+        reader-&gt;level++;</div><div class='add'>+    }</div><div class='add'>+    return die;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static DebugInfoValue *</div><div class='add'>+di_read_record(DebugInfoReader *reader, DebugInfoValue *vp)</div><div class='add'>+{</div><div class='add'>+    uint64_t at = uleb128(&amp;reader-&gt;q);</div><div class='add'>+    uint64_t form = uleb128(&amp;reader-&gt;q);</div><div class='add'>+    if (!at || !form) return NULL;</div><div class='add'>+    vp-&gt;at = at;</div><div class='add'>+    vp-&gt;form = form;</div><div class='add'>+    debug_info_reader_read_value(reader, form, vp);</div><div class='add'>+    return vp;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+di_skip_records(DebugInfoReader *reader)</div><div class='add'>+{</div><div class='add'>+    for (;;) {</div><div class='add'>+        DebugInfoValue v = {{}};</div><div class='add'>+        uint64_t at = uleb128(&amp;reader-&gt;q);</div><div class='add'>+        uint64_t form = uleb128(&amp;reader-&gt;q);</div><div class='add'>+        if (!at || !form) return;</div><div class='add'>+        debug_info_reader_read_value(reader, form, &amp;v);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+typedef struct {</div><div class='add'>+    uint64_t low_pc;</div><div class='add'>+    uint64_t high_pc;</div><div class='add'>+    uint64_t ranges;</div><div class='add'>+    bool low_pc_set;</div><div class='add'>+    bool high_pc_set;</div><div class='add'>+    bool ranges_set;</div><div class='add'>+} ranges_t;</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+ranges_set(ranges_t *ptr, DebugInfoValue *v)</div><div class='add'>+{</div><div class='add'>+    switch (v-&gt;at) {</div><div class='add'>+      case DW_AT_low_pc:</div><div class='add'>+        ptr-&gt;low_pc = v-&gt;as.uint64;</div><div class='add'>+        ptr-&gt;low_pc_set = true;</div><div class='add'>+        break;</div><div class='add'>+      case DW_AT_high_pc:</div><div class='add'>+        if (v-&gt;form == DW_FORM_addr) {</div><div class='add'>+            ptr-&gt;high_pc = v-&gt;as.uint64;</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            ptr-&gt;high_pc = ptr-&gt;low_pc + v-&gt;as.uint64;</div><div class='add'>+        }</div><div class='add'>+        ptr-&gt;high_pc_set = true;</div><div class='add'>+        break;</div><div class='add'>+      case DW_AT_ranges:</div><div class='add'>+        ptr-&gt;ranges = v-&gt;as.uint64;</div><div class='add'>+        ptr-&gt;ranges_set = true;</div><div class='add'>+        break;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static uintptr_t</div><div class='add'>+ranges_include(DebugInfoReader *reader, ranges_t *ptr, uint64_t addr)</div><div class='add'>+{</div><div class='add'>+    if (ptr-&gt;high_pc_set) {</div><div class='add'>+        if (ptr-&gt;ranges_set || !ptr-&gt;low_pc_set) {</div><div class='add'>+            exit(1);</div><div class='add'>+        }</div><div class='add'>+        if (ptr-&gt;low_pc &lt;= addr &amp;&amp; addr &lt;= ptr-&gt;high_pc) {</div><div class='add'>+            return (uintptr_t)ptr-&gt;low_pc;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    else if (ptr-&gt;ranges_set) {</div><div class='add'>+        /* TODO: support base address selection entry */</div><div class='add'>+        char *p = reader-&gt;obj-&gt;debug_ranges.ptr + ptr-&gt;ranges;</div><div class='add'>+        uint64_t base = ptr-&gt;low_pc_set ? ptr-&gt;low_pc : reader-&gt;current_low_pc;</div><div class='add'>+        for (;;) {</div><div class='add'>+            uintptr_t from = read_uintptr(&amp;p);</div><div class='add'>+            uintptr_t to = read_uintptr(&amp;p);</div><div class='add'>+            if (!from &amp;&amp; !to) break;</div><div class='add'>+            if (from == UINTPTR_MAX) {</div><div class='add'>+                /* base address selection entry */</div><div class='add'>+                base = to;</div><div class='add'>+            }</div><div class='add'>+            else if (base + from &lt;= addr &amp;&amp; addr &lt; base + to) {</div><div class='add'>+                return from;</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    else if (ptr-&gt;low_pc_set) {</div><div class='add'>+        if (ptr-&gt;low_pc == addr) {</div><div class='add'>+            return (uintptr_t)ptr-&gt;low_pc;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    return false;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#if 0</div><div class='add'>+static void</div><div class='add'>+ranges_inspect(DebugInfoReader *reader, ranges_t *ptr)</div><div class='add'>+{</div><div class='add'>+    if (ptr-&gt;high_pc_set) {</div><div class='add'>+        if (ptr-&gt;ranges_set || !ptr-&gt;low_pc_set) {</div><div class='add'>+            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='add'>+            exit(1);</div><div class='add'>+        }</div><div class='add'>+        fprintf(stderr,"low_pc:%"PRIx64" high_pc:%"PRIx64"\n",ptr-&gt;low_pc,ptr-&gt;high_pc);</div><div class='add'>+    }</div><div class='add'>+    else if (ptr-&gt;ranges_set) {</div><div class='add'>+        char *p = reader-&gt;obj-&gt;debug_ranges.ptr + ptr-&gt;ranges;</div><div class='add'>+        fprintf(stderr,"low_pc:%"PRIx64" ranges:%"PRIx64" %lx ",ptr-&gt;low_pc,ptr-&gt;ranges, p-reader-&gt;obj-&gt;mapped);</div><div class='add'>+        for (;;) {</div><div class='add'>+            uintptr_t from = read_uintptr(&amp;p);</div><div class='add'>+            uintptr_t to = read_uintptr(&amp;p);</div><div class='add'>+            if (!from &amp;&amp; !to) break;</div><div class='add'>+            fprintf(stderr,"%"PRIx64"-%"PRIx64" ",ptr-&gt;low_pc+from,ptr-&gt;low_pc+to);</div><div class='add'>+        }</div><div class='add'>+        fprintf(stderr,"\n");</div><div class='add'>+    }</div><div class='add'>+    else if (ptr-&gt;low_pc_set) {</div><div class='add'>+        fprintf(stderr,"low_pc:%"PRIx64"\n",ptr-&gt;low_pc);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        fprintf(stderr,"empty\n");</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+di_read_cu(DebugInfoReader *reader)</div><div class='add'>+{</div><div class='add'>+    uint64_t unit_length;</div><div class='add'>+    uint16_t version;</div><div class='add'>+    uint64_t debug_abbrev_offset;</div><div class='add'>+    reader-&gt;format = 4;</div><div class='add'>+    reader-&gt;current_cu = reader-&gt;p;</div><div class='add'>+    unit_length = read_uint32(&amp;reader-&gt;p);</div><div class='add'>+    if (unit_length == 0xffffffff) {</div><div class='add'>+        unit_length = read_uint64(&amp;reader-&gt;p);</div><div class='add'>+        reader-&gt;format = 8;</div><div class='add'>+    }</div><div class='add'>+    reader-&gt;cu_end = reader-&gt;p + unit_length;</div><div class='add'>+    version = read_uint16(&amp;reader-&gt;p);</div><div class='add'>+    if (version &gt; 5) {</div><div class='add'>+        return -1;</div><div class='add'>+    }</div><div class='add'>+    else if (version == 5) {</div><div class='add'>+        /* unit_type = */ read_uint8(&amp;reader-&gt;p);</div><div class='add'>+        reader-&gt;address_size = read_uint8(&amp;reader-&gt;p);</div><div class='add'>+        debug_abbrev_offset = read_uint(reader);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        debug_abbrev_offset = read_uint(reader);</div><div class='add'>+        reader-&gt;address_size = read_uint8(&amp;reader-&gt;p);</div><div class='add'>+    }</div><div class='add'>+    reader-&gt;q0 = reader-&gt;obj-&gt;debug_abbrev.ptr + debug_abbrev_offset;</div><div class='add'>+</div><div class='add'>+    reader-&gt;level = 0;</div><div class='add'>+    di_read_debug_abbrev_cu(reader);</div><div class='add'>+    if (di_read_debug_line_cu(reader)) return -1;</div><div class='add'>+</div><div class='add'>+#if defined(__GNUC__) &amp;&amp; !defined(__clang__) &amp;&amp; !defined(__INTEL_COMPILER_BUILD_DATE)</div><div class='add'>+    /* Though DWARF specifies "the applicable base address defaults to the base</div><div class='add'>+       address of the compilation unit", but GCC seems to use zero as default */</div><div class='add'>+#else</div><div class='add'>+    do {</div><div class='add'>+        DIE die;</div><div class='add'>+</div><div class='add'>+        if (!di_read_die(reader, &amp;die)) continue;</div><div class='add'>+</div><div class='add'>+        if (die.tag != DW_TAG_compile_unit) {</div><div class='add'>+            di_skip_records(reader);</div><div class='add'>+            break;</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        /* enumerate abbrev */</div><div class='add'>+        for (;;) {</div><div class='add'>+            DebugInfoValue v = {{}};</div><div class='add'>+            if (!di_read_record(reader, &amp;v)) break;</div><div class='add'>+            switch (v.at) {</div><div class='add'>+              case DW_AT_low_pc:</div><div class='add'>+                reader-&gt;current_low_pc = v.as.uint64;</div><div class='add'>+                break;</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+    } while (0);</div><div class='add'>+#endif</div><div class='add'>+    return 0;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+read_abstract_origin(DebugInfoReader *reader, uint64_t abstract_origin, line_info_t *line)</div><div class='add'>+{</div><div class='add'>+    char *p = reader-&gt;p;</div><div class='add'>+    char *q = reader-&gt;q;</div><div class='add'>+    int level = reader-&gt;level;</div><div class='add'>+    DIE die;</div><div class='add'>+</div><div class='add'>+    reader-&gt;p = reader-&gt;current_cu + abstract_origin;</div><div class='add'>+    if (!di_read_die(reader, &amp;die)) goto finish;</div><div class='add'>+</div><div class='add'>+    /* enumerate abbrev */</div><div class='add'>+    for (;;) {</div><div class='add'>+        DebugInfoValue v = {{}};</div><div class='add'>+        if (!di_read_record(reader, &amp;v)) break;</div><div class='add'>+        switch (v.at) {</div><div class='add'>+          case DW_AT_name:</div><div class='add'>+            line-&gt;sname = get_cstr_value(&amp;v);</div><div class='add'>+            break;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+  finish:</div><div class='add'>+    reader-&gt;p = p;</div><div class='add'>+    reader-&gt;q = q;</div><div class='add'>+    reader-&gt;level = level;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+debug_info_read(DebugInfoReader *reader, int num_traces, void **traces,</div><div class='add'>+         line_info_t *lines, int offset) {</div><div class='add'>+    while (reader-&gt;p &lt; reader-&gt;cu_end) {</div><div class='add'>+        DIE die;</div><div class='add'>+        ranges_t ranges = {};</div><div class='add'>+        line_info_t line = {};</div><div class='add'>+</div><div class='add'>+        if (!di_read_die(reader, &amp;die)) continue;</div><div class='add'>+        /* fprintf(stderr,"%d:%tx: &lt;%d&gt;\n",__LINE__,die.pos,reader-&gt;level,die.tag); */</div><div class='add'>+</div><div class='add'>+        if (die.tag != DW_TAG_subprogram &amp;&amp; die.tag != DW_TAG_inlined_subroutine) {</div><div class='add'>+          skip_die:</div><div class='add'>+            di_skip_records(reader);</div><div class='add'>+            continue;</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        /* enumerate abbrev */</div><div class='add'>+        for (;;) {</div><div class='add'>+            DebugInfoValue v = {{}};</div><div class='add'>+            /* ptrdiff_t pos = reader-&gt;p - reader-&gt;p0; */</div><div class='add'>+            if (!di_read_record(reader, &amp;v)) break;</div><div class='add'>+            /* fprintf(stderr,"\n%d:%tx: AT:%lx FORM:%lx\n",__LINE__,pos,v.at,v.form); */</div><div class='add'>+            /* div_inspect(&amp;v); */</div><div class='add'>+            switch (v.at) {</div><div class='add'>+              case DW_AT_name:</div><div class='add'>+                line.sname = get_cstr_value(&amp;v);</div><div class='add'>+                break;</div><div class='add'>+              case DW_AT_call_file:</div><div class='add'>+                fill_filename((int)v.as.uint64, reader-&gt;debug_line_directories, reader-&gt;debug_line_files, &amp;line, reader-&gt;obj);</div><div class='add'>+                break;</div><div class='add'>+              case DW_AT_call_line:</div><div class='add'>+                line.line = (int)v.as.uint64;</div><div class='add'>+                break;</div><div class='add'>+              case DW_AT_low_pc:</div><div class='add'>+              case DW_AT_high_pc:</div><div class='add'>+              case DW_AT_ranges:</div><div class='add'>+                ranges_set(&amp;ranges, &amp;v);</div><div class='add'>+                break;</div><div class='add'>+              case DW_AT_declaration:</div><div class='add'>+                goto skip_die;</div><div class='add'>+              case DW_AT_inline:</div><div class='add'>+                /* 1 or 3 */</div><div class='add'>+                break; /* goto skip_die; */</div><div class='add'>+              case DW_AT_abstract_origin:</div><div class='add'>+                read_abstract_origin(reader, v.as.uint64, &amp;line);</div><div class='add'>+                break; /* goto skip_die; */</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+        /* ranges_inspect(reader, &amp;ranges); */</div><div class='add'>+        /* fprintf(stderr,"%d:%tx: %x ",__LINE__,diepos,die.tag); */</div><div class='add'>+        for (int i=offset; i &lt; num_traces; i++) {</div><div class='add'>+            uintptr_t addr = (uintptr_t)traces[i];</div><div class='add'>+            uintptr_t offset = addr - reader-&gt;obj-&gt;base_addr + reader-&gt;obj-&gt;vmaddr;</div><div class='add'>+            uintptr_t saddr = ranges_include(reader, &amp;ranges, offset);</div><div class='add'>+            if (saddr) {</div><div class='add'>+                /* 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='add'>+                if (lines[i].sname) {</div><div class='add'>+                    line_info_t *lp = malloc(sizeof(line_info_t));</div><div class='add'>+                    memcpy(lp, &amp;lines[i], sizeof(line_info_t));</div><div class='add'>+                    lines[i].next = lp;</div><div class='add'>+                    lp-&gt;dirname = line.dirname;</div><div class='add'>+                    lp-&gt;filename = line.filename;</div><div class='add'>+                    lp-&gt;line = line.line;</div><div class='add'>+                    lp-&gt;saddr = 0;</div><div class='add'>+                }</div><div class='add'>+                lines[i].path = reader-&gt;obj-&gt;path;</div><div class='add'>+                lines[i].base_addr = line.base_addr;</div><div class='add'>+                lines[i].sname = line.sname;</div><div class='add'>+                lines[i].saddr = saddr + reader-&gt;obj-&gt;base_addr - reader-&gt;obj-&gt;vmaddr;</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#ifdef USE_ELF</div><div class='add'>+static unsigned long</div><div class='add'>+uncompress_debug_section(ElfW(Shdr) *shdr, char *file, char **ptr)</div><div class='add'>+{</div><div class='add'>+#ifdef SUPPORT_COMPRESSED_DEBUG_LINE</div><div class='add'>+    ElfW(Chdr) *chdr = (ElfW(Chdr) *)(file + shdr-&gt;sh_offset);</div><div class='add'>+    unsigned long destsize = chdr-&gt;ch_size;</div><div class='add'>+    int ret = 0;</div><div class='add'>+</div><div class='add'>+    if (chdr-&gt;ch_type != ELFCOMPRESS_ZLIB) {</div><div class='add'>+	/* unsupported compression type */</div><div class='add'>+	return 0;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    *ptr = malloc(destsize);</div><div class='add'>+    if (!*ptr) return 0;</div><div class='add'>+    ret = uncompress((Bytef *)*ptr, &amp;destsize,</div><div class='add'>+	    (const Bytef*)chdr + sizeof(ElfW(Chdr)),</div><div class='add'>+            shdr-&gt;sh_size - sizeof(ElfW(Chdr)));</div><div class='add'>+    if (ret != Z_OK) goto fail;</div><div class='add'>+    return destsize;</div><div class='add'>+</div><div class='add'>+fail:</div><div class='add'>+    free(*ptr);</div><div class='add'>+#endif</div><div class='add'>+    return 0;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/* read file and fill lines */</div><div class='add'>+static uintptr_t</div><div class='add'>+fill_lines(int num_traces, void **traces, int check_debuglink,</div><div class='add'>+	   obj_info_t **objp, line_info_t *lines, int offset)</div><div class='add'>+{</div><div class='add'>+    int i, j;</div><div class='add'>+    char *shstr;</div><div class='add'>+    ElfW(Ehdr) *ehdr;</div><div class='add'>+    ElfW(Shdr) *shdr, *shstr_shdr;</div><div class='add'>+    ElfW(Shdr) *gnu_debuglink_shdr = NULL;</div><div class='add'>+    ElfW(Shdr) *note_gnu_build_id = NULL;</div><div class='add'>+    int fd;</div><div class='add'>+    off_t filesize;</div><div class='add'>+    char *file;</div><div class='add'>+    ElfW(Shdr) *symtab_shdr = NULL, *strtab_shdr = NULL;</div><div class='add'>+    ElfW(Shdr) *dynsym_shdr = NULL, *dynstr_shdr = NULL;</div><div class='add'>+    obj_info_t *obj = *objp;</div><div class='add'>+    uintptr_t dladdr_fbase = 0;</div><div class='add'>+</div><div class='add'>+    fd = open(binary_filename, O_RDONLY);</div><div class='add'>+    if (fd &lt; 0) {</div><div class='add'>+	goto fail;</div><div class='add'>+    }</div><div class='add'>+    filesize = lseek(fd, 0, SEEK_END);</div><div class='add'>+    if (filesize &lt; 0) {</div><div class='add'>+	int e = errno;</div><div class='add'>+	close(fd);</div><div class='add'>+	kprintf("lseek: %s\n", strerror(e));</div><div class='add'>+	goto fail;</div><div class='add'>+    }</div><div class='add'>+#if SIZEOF_OFF_T &gt; SIZEOF_SIZE_T</div><div class='add'>+    if (filesize &gt; (off_t)SIZE_MAX) {</div><div class='add'>+	close(fd);</div><div class='add'>+	kprintf("Too large file %s\n", binary_filename);</div><div class='add'>+	goto fail;</div><div class='add'>+    }</div><div class='add'>+#endif</div><div class='add'>+    lseek(fd, 0, SEEK_SET);</div><div class='add'>+    /* async-signal unsafe */</div><div class='add'>+    file = (char *)mmap(NULL, (size_t)filesize, PROT_READ, MAP_SHARED, fd, 0);</div><div class='add'>+    if (file == MAP_FAILED) {</div><div class='add'>+	int e = errno;</div><div class='add'>+	close(fd);</div><div class='add'>+	kprintf("mmap: %s\n", strerror(e));</div><div class='add'>+	goto fail;</div><div class='add'>+    }</div><div class='add'>+    close(fd);</div><div class='add'>+</div><div class='add'>+    ehdr = (ElfW(Ehdr) *)file;</div><div class='add'>+    if (memcmp(ehdr-&gt;e_ident, "\177ELF", 4) != 0) {</div><div class='add'>+	/*</div><div class='add'>+	 * Huh? Maybe filename was overridden by setproctitle() and</div><div class='add'>+	 * it match non-elf file.</div><div class='add'>+	 */</div><div class='add'>+	goto fail;</div><div class='add'>+    }</div><div class='add'>+    obj-&gt;mapped = file;</div><div class='add'>+    obj-&gt;mapped_size = (size_t)filesize;</div><div class='add'>+</div><div class='add'>+    shdr = (ElfW(Shdr) *)(file + ehdr-&gt;e_shoff);</div><div class='add'>+</div><div class='add'>+    shstr_shdr = shdr + ehdr-&gt;e_shstrndx;</div><div class='add'>+    shstr = file + shstr_shdr-&gt;sh_offset;</div><div class='add'>+</div><div class='add'>+    for (i = 0; i &lt; ehdr-&gt;e_shnum; i++) {</div><div class='add'>+        char *section_name = shstr + shdr[i].sh_name;</div><div class='add'>+	switch (shdr[i].sh_type) {</div><div class='add'>+	  case SHT_STRTAB:</div><div class='add'>+	    if (!strcmp(section_name, ".strtab")) {</div><div class='add'>+		strtab_shdr = shdr + i;</div><div class='add'>+	    }</div><div class='add'>+	    else if (!strcmp(section_name, ".dynstr")) {</div><div class='add'>+		dynstr_shdr = shdr + i;</div><div class='add'>+	    }</div><div class='add'>+	    break;</div><div class='add'>+	  case SHT_SYMTAB:</div><div class='add'>+	    /* if (!strcmp(section_name, ".symtab")) */</div><div class='add'>+	    symtab_shdr = shdr + i;</div><div class='add'>+	    break;</div><div class='add'>+	  case SHT_DYNSYM:</div><div class='add'>+	    /* if (!strcmp(section_name, ".dynsym")) */</div><div class='add'>+	    dynsym_shdr = shdr + i;</div><div class='add'>+	    break;</div><div class='add'>+          case SHT_NOTE:</div><div class='add'>+            if (!strcmp(section_name, ".note.gnu.build-id")) {</div><div class='add'>+                note_gnu_build_id = shdr + i;</div><div class='add'>+            }</div><div class='add'>+            break;</div><div class='add'>+	  case SHT_PROGBITS:</div><div class='add'>+	    if (!strcmp(section_name, ".gnu_debuglink")) {</div><div class='add'>+		gnu_debuglink_shdr = shdr + i;</div><div class='add'>+	    }</div><div class='add'>+            else {</div><div class='add'>+                const char *debug_section_names[] = {</div><div class='add'>+                    ".debug_abbrev",</div><div class='add'>+                    ".debug_info",</div><div class='add'>+                    ".debug_line",</div><div class='add'>+                    ".debug_ranges",</div><div class='add'>+                    ".debug_str"</div><div class='add'>+                };</div><div class='add'>+</div><div class='add'>+                for (j=0; j &lt; DWARF_SECTION_COUNT; j++) {</div><div class='add'>+                    struct dwarf_section *s = obj_dwarf_section_at(obj, j);</div><div class='add'>+</div><div class='add'>+                    if (strcmp(section_name, debug_section_names[j]) != 0)</div><div class='add'>+                        continue;</div><div class='add'>+</div><div class='add'>+                    s-&gt;ptr = file + shdr[i].sh_offset;</div><div class='add'>+                    s-&gt;size = shdr[i].sh_size;</div><div class='add'>+                    s-&gt;flags = shdr[i].sh_flags;</div><div class='add'>+                    if (s-&gt;flags &amp; SHF_COMPRESSED) {</div><div class='add'>+                        s-&gt;size = uncompress_debug_section(&amp;shdr[i], file, &amp;s-&gt;ptr);</div><div class='add'>+                        if (!s-&gt;size) goto fail;</div><div class='add'>+                    }</div><div class='add'>+                    break;</div><div class='add'>+                }</div><div class='add'>+            }</div><div class='add'>+	    break;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (offset == -1) {</div><div class='add'>+	/* main executable */</div><div class='add'>+	offset = 0;</div><div class='add'>+	if (dynsym_shdr &amp;&amp; dynstr_shdr) {</div><div class='add'>+	    char *strtab = file + dynstr_shdr-&gt;sh_offset;</div><div class='add'>+	    ElfW(Sym) *symtab = (ElfW(Sym) *)(file + dynsym_shdr-&gt;sh_offset);</div><div class='add'>+	    int symtab_count = (int)(dynsym_shdr-&gt;sh_size / sizeof(ElfW(Sym)));</div><div class='add'>+            void *handle = dlopen(NULL, RTLD_NOW|RTLD_LOCAL);</div><div class='add'>+            if (handle) {</div><div class='add'>+                for (j = 0; j &lt; symtab_count; j++) {</div><div class='add'>+                    ElfW(Sym) *sym = &amp;symtab[j];</div><div class='add'>+                    Dl_info info;</div><div class='add'>+                    void *s;</div><div class='add'>+                    if (ELF_ST_TYPE(sym-&gt;st_info) != STT_FUNC || sym-&gt;st_size == 0) continue;</div><div class='add'>+                    s = dlsym(handle, strtab + sym-&gt;st_name);</div><div class='add'>+                    if (s &amp;&amp; dladdr(s, &amp;info)) {</div><div class='add'>+                        obj-&gt;base_addr = dladdr_fbase;</div><div class='add'>+                        dladdr_fbase = (uintptr_t)info.dli_fbase;</div><div class='add'>+                        break;</div><div class='add'>+                    }</div><div class='add'>+                }</div><div class='add'>+                dlclose(handle);</div><div class='add'>+            }</div><div class='add'>+	    if (ehdr-&gt;e_type == ET_EXEC) {</div><div class='add'>+		obj-&gt;base_addr = 0;</div><div class='add'>+	    }</div><div class='add'>+	    else {</div><div class='add'>+		/* PIE (position-independent executable) */</div><div class='add'>+		obj-&gt;base_addr = dladdr_fbase;</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (obj-&gt;debug_info.ptr &amp;&amp; obj-&gt;debug_abbrev.ptr) {</div><div class='add'>+        DebugInfoReader reader;</div><div class='add'>+        debug_info_reader_init(&amp;reader, obj);</div><div class='add'>+        i = 0;</div><div class='add'>+        while (reader.p &lt; reader.pend) {</div><div class='add'>+            /* fprintf(stderr, "%d:%tx: CU[%d]\n", __LINE__, reader.p - reader.obj-&gt;debug_info.ptr, i++); */</div><div class='add'>+            if (di_read_cu(&amp;reader)) goto use_symtab;</div><div class='add'>+            debug_info_read(&amp;reader, num_traces, traces, lines, offset);</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        /* This file doesn't have dwarf, use symtab or dynsym */</div><div class='add'>+use_symtab:</div><div class='add'>+        if (!symtab_shdr) {</div><div class='add'>+            /* This file doesn't have symtab, use dynsym instead */</div><div class='add'>+            symtab_shdr = dynsym_shdr;</div><div class='add'>+            strtab_shdr = dynstr_shdr;</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        if (symtab_shdr &amp;&amp; strtab_shdr) {</div><div class='add'>+            char *strtab = file + strtab_shdr-&gt;sh_offset;</div><div class='add'>+            ElfW(Sym) *symtab = (ElfW(Sym) *)(file + symtab_shdr-&gt;sh_offset);</div><div class='add'>+            int symtab_count = (int)(symtab_shdr-&gt;sh_size / sizeof(ElfW(Sym)));</div><div class='add'>+            for (j = 0; j &lt; symtab_count; j++) {</div><div class='add'>+                ElfW(Sym) *sym = &amp;symtab[j];</div><div class='add'>+                uintptr_t saddr = (uintptr_t)sym-&gt;st_value + obj-&gt;base_addr;</div><div class='add'>+                if (ELF_ST_TYPE(sym-&gt;st_info) != STT_FUNC) continue;</div><div class='add'>+                for (i = offset; i &lt; num_traces; i++) {</div><div class='add'>+                    uintptr_t d = (uintptr_t)traces[i] - saddr;</div><div class='add'>+                    if (lines[i].line &gt; 0 || d &gt; (uintptr_t)sym-&gt;st_size)</div><div class='add'>+                        continue;</div><div class='add'>+                    /* fill symbol name and addr from .symtab */</div><div class='add'>+                    if (!lines[i].sname) lines[i].sname = strtab + sym-&gt;st_name;</div><div class='add'>+                    lines[i].saddr = saddr;</div><div class='add'>+                    lines[i].path  = obj-&gt;path;</div><div class='add'>+                    lines[i].base_addr = obj-&gt;base_addr;</div><div class='add'>+                }</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (!obj-&gt;debug_line.ptr) {</div><div class='add'>+	/* This file doesn't have .debug_line section,</div><div class='add'>+	   let's check .gnu_debuglink section instead. */</div><div class='add'>+	if (gnu_debuglink_shdr &amp;&amp; check_debuglink) {</div><div class='add'>+	    follow_debuglink(file + gnu_debuglink_shdr-&gt;sh_offset,</div><div class='add'>+			     num_traces, traces,</div><div class='add'>+			     objp, lines, offset);</div><div class='add'>+	}</div><div class='add'>+        if (note_gnu_build_id &amp;&amp; check_debuglink) {</div><div class='add'>+            ElfW(Nhdr) *nhdr = (ElfW(Nhdr)*) (file + note_gnu_build_id-&gt;sh_offset);</div><div class='add'>+            const char *build_id = (char *)(nhdr + 1) + nhdr-&gt;n_namesz;</div><div class='add'>+            follow_debuglink_build_id(build_id, nhdr-&gt;n_descsz,</div><div class='add'>+			       num_traces, traces,</div><div class='add'>+			       objp, lines, offset);</div><div class='add'>+        }</div><div class='add'>+	goto finish;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (parse_debug_line(num_traces, traces,</div><div class='add'>+            obj-&gt;debug_line.ptr,</div><div class='add'>+            obj-&gt;debug_line.size,</div><div class='add'>+            obj, lines, offset) == -1)</div><div class='add'>+        goto fail;</div><div class='add'>+</div><div class='add'>+finish:</div><div class='add'>+    return dladdr_fbase;</div><div class='add'>+fail:</div><div class='add'>+    return (uintptr_t)-1;</div><div class='add'>+}</div><div class='add'>+#else /* Mach-O */</div><div class='add'>+/* read file and fill lines */</div><div class='add'>+static uintptr_t</div><div class='add'>+fill_lines(int num_traces, void **traces, int check_debuglink,</div><div class='add'>+        obj_info_t **objp, line_info_t *lines, int offset)</div><div class='add'>+{</div><div class='add'>+# ifdef __LP64__</div><div class='add'>+#  define LP(x) x##_64</div><div class='add'>+# else</div><div class='add'>+#  define LP(x) x</div><div class='add'>+# endif</div><div class='add'>+    int fd;</div><div class='add'>+    off_t filesize;</div><div class='add'>+    char *file, *p = NULL;</div><div class='add'>+    obj_info_t *obj = *objp;</div><div class='add'>+    struct LP(mach_header) *header;</div><div class='add'>+    uintptr_t dladdr_fbase = 0;</div><div class='add'>+</div><div class='add'>+    {</div><div class='add'>+        char *s = binary_filename;</div><div class='add'>+        char *base = strrchr(binary_filename, '/')+1;</div><div class='add'>+        size_t max = PATH_MAX;</div><div class='add'>+        size_t size = strlen(binary_filename);</div><div class='add'>+        size_t basesize = size - (base - binary_filename);</div><div class='add'>+        s += size;</div><div class='add'>+        max -= size;</div><div class='add'>+        p = s;</div><div class='add'>+        size = strlcpy(s, ".dSYM/Contents/Resources/DWARF/", max);</div><div class='add'>+        if (size == 0) goto fail;</div><div class='add'>+        s += size;</div><div class='add'>+        max -= size;</div><div class='add'>+        if (max &lt;= basesize) goto fail;</div><div class='add'>+        memcpy(s, base, basesize);</div><div class='add'>+        s[basesize] = 0;</div><div class='add'>+</div><div class='add'>+        fd = open(binary_filename, O_RDONLY);</div><div class='add'>+        if (fd &lt; 0) {</div><div class='add'>+            *p = 0; /* binary_filename becomes original file name */</div><div class='add'>+            fd = open(binary_filename, O_RDONLY);</div><div class='add'>+            if (fd &lt; 0) {</div><div class='add'>+                goto fail;</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    filesize = lseek(fd, 0, SEEK_END);</div><div class='add'>+    if (filesize &lt; 0) {</div><div class='add'>+        int e = errno;</div><div class='add'>+        close(fd);</div><div class='add'>+        kprintf("lseek: %s\n", strerror(e));</div><div class='add'>+        goto fail;</div><div class='add'>+    }</div><div class='add'>+#if SIZEOF_OFF_T &gt; SIZEOF_SIZE_T</div><div class='add'>+    if (filesize &gt; (off_t)SIZE_MAX) {</div><div class='add'>+        close(fd);</div><div class='add'>+        kprintf("Too large file %s\n", binary_filename);</div><div class='add'>+        goto fail;</div><div class='add'>+    }</div><div class='add'>+#endif</div><div class='add'>+    lseek(fd, 0, SEEK_SET);</div><div class='add'>+    /* async-signal unsafe */</div><div class='add'>+    file = (char *)mmap(NULL, (size_t)filesize, PROT_READ, MAP_SHARED, fd, 0);</div><div class='add'>+    if (file == MAP_FAILED) {</div><div class='add'>+        int e = errno;</div><div class='add'>+        close(fd);</div><div class='add'>+        kprintf("mmap: %s\n", strerror(e));</div><div class='add'>+        goto fail;</div><div class='add'>+    }</div><div class='add'>+    close(fd);</div><div class='add'>+</div><div class='add'>+    obj-&gt;mapped = file;</div><div class='add'>+    obj-&gt;mapped_size = (size_t)filesize;</div><div class='add'>+</div><div class='add'>+    header = (struct LP(mach_header) *)file;</div><div class='add'>+    if (header-&gt;magic == LP(MH_MAGIC)) {</div><div class='add'>+        /* non universal binary */</div><div class='add'>+        p = file;</div><div class='add'>+    }</div><div class='add'>+    else if (header-&gt;magic == FAT_CIGAM) {</div><div class='add'>+        struct LP(mach_header) *mhp = _NSGetMachExecuteHeader();</div><div class='add'>+        struct fat_header *fat = (struct fat_header *)file;</div><div class='add'>+        char *q = file + sizeof(*fat);</div><div class='add'>+        uint32_t nfat_arch = __builtin_bswap32(fat-&gt;nfat_arch);</div><div class='add'>+        /* fprintf(stderr,"%d: fat:%s %d\n",__LINE__, binary_filename,nfat_arch); */</div><div class='add'>+        for (uint32_t i = 0; i &lt; nfat_arch; i++) {</div><div class='add'>+            struct fat_arch *arch = (struct fat_arch *)q;</div><div class='add'>+            cpu_type_t cputype = __builtin_bswap32(arch-&gt;cputype);</div><div class='add'>+            cpu_subtype_t cpusubtype = __builtin_bswap32(arch-&gt;cpusubtype);</div><div class='add'>+            uint32_t offset = __builtin_bswap32(arch-&gt;offset);</div><div class='add'>+            /* fprintf(stderr,"%d: fat %d %x/%x %x/%x\n",__LINE__, i, mhp-&gt;cputype,mhp-&gt;cpusubtype, cputype,cpusubtype); */</div><div class='add'>+            if (mhp-&gt;cputype == cputype &amp;&amp;</div><div class='add'>+                    (cpu_subtype_t)(mhp-&gt;cpusubtype &amp; ~CPU_SUBTYPE_MASK) == cpusubtype) {</div><div class='add'>+                p = file + offset;</div><div class='add'>+                file = p;</div><div class='add'>+                header = (struct LP(mach_header) *)p;</div><div class='add'>+                if (header-&gt;magic == LP(MH_MAGIC)) {</div><div class='add'>+                    goto found_mach_header;</div><div class='add'>+                }</div><div class='add'>+                break;</div><div class='add'>+            }</div><div class='add'>+            q += sizeof(*arch);</div><div class='add'>+        }</div><div class='add'>+        kprintf("'%s' is not a Mach-O universal binary file!\n",binary_filename);</div><div class='add'>+        close(fd);</div><div class='add'>+        goto fail;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        kprintf("'%s' is not a "</div><div class='add'>+# ifdef __LP64__</div><div class='add'>+                "64"</div><div class='add'>+# else</div><div class='add'>+                "32"</div><div class='add'>+# endif</div><div class='add'>+                "-bit Mach-O file!\n",binary_filename);</div><div class='add'>+        close(fd);</div><div class='add'>+        goto fail;</div><div class='add'>+    }</div><div class='add'>+found_mach_header:</div><div class='add'>+    p += sizeof(*header);</div><div class='add'>+</div><div class='add'>+    for (uint32_t i = 0; i &lt; (uint32_t)header-&gt;ncmds; i++) {</div><div class='add'>+        struct load_command *lcmd = (struct load_command *)p;</div><div class='add'>+        switch (lcmd-&gt;cmd) {</div><div class='add'>+          case LP(LC_SEGMENT):</div><div class='add'>+            {</div><div class='add'>+                static const char *debug_section_names[] = {</div><div class='add'>+                    "__debug_abbrev",</div><div class='add'>+                    "__debug_info",</div><div class='add'>+                    "__debug_line",</div><div class='add'>+                    "__debug_ranges",</div><div class='add'>+                    "__debug_str"</div><div class='add'>+                };</div><div class='add'>+                struct LP(segment_command) *scmd = (struct LP(segment_command) *)lcmd;</div><div class='add'>+                if (strcmp(scmd-&gt;segname, "__TEXT") == 0) {</div><div class='add'>+                    obj-&gt;vmaddr = scmd-&gt;vmaddr;</div><div class='add'>+                }</div><div class='add'>+                else if (strcmp(scmd-&gt;segname, "__DWARF") == 0) {</div><div class='add'>+                    p += sizeof(struct LP(segment_command));</div><div class='add'>+                    for (uint64_t i = 0; i &lt; scmd-&gt;nsects; i++) {</div><div class='add'>+                        struct LP(section) *sect = (struct LP(section) *)p;</div><div class='add'>+                        p += sizeof(struct LP(section));</div><div class='add'>+                        for (int j=0; j &lt; DWARF_SECTION_COUNT; j++) {</div><div class='add'>+                            struct dwarf_section *s = obj_dwarf_section_at(obj, j);</div><div class='add'>+</div><div class='add'>+                            if (strcmp(sect-&gt;sectname, debug_section_names[j]) != 0)</div><div class='add'>+                                continue;</div><div class='add'>+</div><div class='add'>+                            s-&gt;ptr = file + sect-&gt;offset;</div><div class='add'>+                            s-&gt;size = sect-&gt;size;</div><div class='add'>+                            s-&gt;flags = sect-&gt;flags;</div><div class='add'>+                            if (s-&gt;flags &amp; SHF_COMPRESSED) {</div><div class='add'>+                                goto fail;</div><div class='add'>+                            }</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'>+            break;</div><div class='add'>+</div><div class='add'>+          case LC_SYMTAB:</div><div class='add'>+            {</div><div class='add'>+                struct symtab_command *cmd = (struct symtab_command *)lcmd;</div><div class='add'>+                struct LP(nlist) *nl = (struct LP(nlist) *)(file + cmd-&gt;symoff);</div><div class='add'>+                char *strtab = file + cmd-&gt;stroff, *sname = 0;</div><div class='add'>+                uint32_t j;</div><div class='add'>+                uintptr_t saddr = 0;</div><div class='add'>+                /* kprintf("[%2d]: %x/symtab %p\n", i, cmd-&gt;cmd, p); */</div><div class='add'>+                for (j = 0; j &lt; cmd-&gt;nsyms; j++) {</div><div class='add'>+                    uintptr_t symsize, d;</div><div class='add'>+                    struct LP(nlist) *e = &amp;nl[j];</div><div class='add'>+                        /* 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='add'>+                    if (e-&gt;n_type != N_FUN) continue;</div><div class='add'>+                    if (e-&gt;n_sect) {</div><div class='add'>+                        saddr = (uintptr_t)e-&gt;n_value + obj-&gt;base_addr - obj-&gt;vmaddr;</div><div class='add'>+                        sname = strtab + e-&gt;n_un.n_strx;</div><div class='add'>+                        /* 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='add'>+                        continue;</div><div class='add'>+                    }</div><div class='add'>+                    for (int k = offset; k &lt; num_traces; k++) {</div><div class='add'>+                        d = (uintptr_t)traces[k] - saddr;</div><div class='add'>+                        symsize = e-&gt;n_value;</div><div class='add'>+                        /* kprintf("%lx %lx %lx\n",saddr,symsize,traces[k]); */</div><div class='add'>+                        if (lines[k].line &gt; 0 || d &gt; (uintptr_t)symsize)</div><div class='add'>+                            continue;</div><div class='add'>+                        /* fill symbol name and addr from .symtab */</div><div class='add'>+                        if (!lines[k].sname) lines[k].sname = sname;</div><div class='add'>+                        lines[k].saddr = saddr;</div><div class='add'>+                        lines[k].path  = obj-&gt;path;</div><div class='add'>+                        lines[k].base_addr = obj-&gt;base_addr;</div><div class='add'>+                    }</div><div class='add'>+                }</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+        p += lcmd-&gt;cmdsize;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (obj-&gt;debug_info.ptr &amp;&amp; obj-&gt;debug_abbrev.ptr) {</div><div class='add'>+        DebugInfoReader reader;</div><div class='add'>+        debug_info_reader_init(&amp;reader, obj);</div><div class='add'>+        while (reader.p &lt; reader.pend) {</div><div class='add'>+            if (di_read_cu(&amp;reader)) goto fail;</div><div class='add'>+            debug_info_read(&amp;reader, num_traces, traces, lines, offset);</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (parse_debug_line(num_traces, traces,</div><div class='add'>+            obj-&gt;debug_line.ptr,</div><div class='add'>+            obj-&gt;debug_line.size,</div><div class='add'>+            obj, lines, offset) == -1)</div><div class='add'>+        goto fail;</div><div class='add'>+</div><div class='add'>+    return dladdr_fbase;</div><div class='add'>+fail:</div><div class='add'>+    return (uintptr_t)-1;</div><div class='add'>+}</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#define HAVE_MAIN_EXE_PATH</div><div class='add'>+#if defined(__FreeBSD__)</div><div class='add'>+# include &lt;sys/sysctl.h&gt;</div><div class='add'>+#endif</div><div class='add'>+/* ssize_t main_exe_path(void)</div><div class='add'>+ *</div><div class='add'>+ * store the path of the main executable to `binary_filename`,</div><div class='add'>+ * and returns strlen(binary_filename).</div><div class='add'>+ * it is NUL terminated.</div><div class='add'>+ */</div><div class='add'>+#if defined(__linux__)</div><div class='add'>+static ssize_t</div><div class='add'>+main_exe_path(void)</div><div class='add'>+{</div><div class='add'>+# define PROC_SELF_EXE "/proc/self/exe"</div><div class='add'>+    ssize_t len = readlink(PROC_SELF_EXE, binary_filename, PATH_MAX);</div><div class='add'>+    if (len &lt; 0) return 0;</div><div class='add'>+    binary_filename[len] = 0;</div><div class='add'>+    return len;</div><div class='add'>+}</div><div class='add'>+#elif defined(__FreeBSD__)</div><div class='add'>+static ssize_t</div><div class='add'>+main_exe_path(void)</div><div class='add'>+{</div><div class='add'>+    int mib[4] = {CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1};</div><div class='add'>+    size_t len = PATH_MAX;</div><div class='add'>+    int err = sysctl(mib, 4, binary_filename, &amp;len, NULL, 0);</div><div class='add'>+    if (err) {</div><div class='add'>+	kprintf("Can't get the path of ruby");</div><div class='add'>+	return -1;</div><div class='add'>+    }</div><div class='add'>+    len--; /* sysctl sets strlen+1 */</div><div class='add'>+    return len;</div><div class='add'>+}</div><div class='add'>+#elif defined(HAVE_LIBPROC_H)</div><div class='add'>+static ssize_t</div><div class='add'>+main_exe_path(void)</div><div class='add'>+{</div><div class='add'>+    int len = proc_pidpath(getpid(), binary_filename, PATH_MAX);</div><div class='add'>+    if (len == 0) return 0;</div><div class='add'>+    binary_filename[len] = 0;</div><div class='add'>+    return len;</div><div class='add'>+}</div><div class='add'>+#else</div><div class='add'>+#undef HAVE_MAIN_EXE_PATH</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+print_line0(line_info_t *line, void *address)</div><div class='add'>+{</div><div class='add'>+    uintptr_t addr = (uintptr_t)address;</div><div class='add'>+    uintptr_t d = addr - line-&gt;saddr;</div><div class='add'>+    if (!address) {</div><div class='add'>+        /* inlined */</div><div class='add'>+        if (line-&gt;dirname &amp;&amp; line-&gt;dirname[0]) {</div><div class='add'>+            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='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            kprintf("%s(%s) %s:%d\n", line-&gt;path, line-&gt;sname, line-&gt;filename, line-&gt;line);</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    else if (!line-&gt;path) {</div><div class='add'>+        kprintf("[0x%"PRIxPTR"]\n", addr);</div><div class='add'>+    }</div><div class='add'>+    else if (!line-&gt;saddr || !line-&gt;sname) {</div><div class='add'>+        kprintf("%s(0x%"PRIxPTR") [0x%"PRIxPTR"]\n", line-&gt;path, addr-line-&gt;base_addr, addr);</div><div class='add'>+    }</div><div class='add'>+    else if (line-&gt;line &lt;= 0) {</div><div class='add'>+        kprintf("%s(%s+0x%"PRIxPTR") [0x%"PRIxPTR"]\n", line-&gt;path, line-&gt;sname,</div><div class='add'>+                d, addr);</div><div class='add'>+    }</div><div class='add'>+    else if (!line-&gt;filename) {</div><div class='add'>+        kprintf("%s(%s+0x%"PRIxPTR") [0x%"PRIxPTR"] ???:%d\n", line-&gt;path, line-&gt;sname,</div><div class='add'>+                d, addr, line-&gt;line);</div><div class='add'>+    }</div><div class='add'>+    else if (line-&gt;dirname &amp;&amp; line-&gt;dirname[0]) {</div><div class='add'>+        kprintf("%s(%s+0x%"PRIxPTR") [0x%"PRIxPTR"] %s/%s:%d\n", line-&gt;path, line-&gt;sname,</div><div class='add'>+                d, addr, line-&gt;dirname, line-&gt;filename, line-&gt;line);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        kprintf("%s(%s+0x%"PRIxPTR") [0x%"PRIxPTR"] %s:%d\n", line-&gt;path, line-&gt;sname,</div><div class='add'>+                d, addr, line-&gt;filename, line-&gt;line);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+print_line(line_info_t *line, void *address)</div><div class='add'>+{</div><div class='add'>+    print_line0(line, address);</div><div class='add'>+    if (line-&gt;next) {</div><div class='add'>+        print_line(line-&gt;next, NULL);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+rb_dump_backtrace_with_lines(int num_traces, void **traces)</div><div class='add'>+{</div><div class='add'>+    int i;</div><div class='add'>+    /* async-signal unsafe */</div><div class='add'>+    line_info_t *lines = (line_info_t *)calloc(num_traces, sizeof(line_info_t));</div><div class='add'>+    obj_info_t *obj = NULL;</div><div class='add'>+    /* 2 is NULL + main executable */</div><div class='add'>+    void **dladdr_fbases = (void **)calloc(num_traces+2, sizeof(void *));</div><div class='add'>+#ifdef HAVE_MAIN_EXE_PATH</div><div class='add'>+    char *main_path = NULL; /* used on printing backtrace */</div><div class='add'>+    ssize_t len;</div><div class='add'>+    if ((len = main_exe_path()) &gt; 0) {</div><div class='add'>+	main_path = (char *)alloca(len + 1);</div><div class='add'>+	if (main_path) {</div><div class='add'>+	    uintptr_t addr;</div><div class='add'>+	    memcpy(main_path, binary_filename, len+1);</div><div class='add'>+	    append_obj(&amp;obj);</div><div class='add'>+	    obj-&gt;path = main_path;</div><div class='add'>+	    addr = fill_lines(num_traces, traces, 1, &amp;obj, lines, -1);</div><div class='add'>+	    if (addr != (uintptr_t)-1) {</div><div class='add'>+		dladdr_fbases[0] = (void *)addr;</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+    /* fill source lines by reading dwarf */</div><div class='add'>+    for (i = 0; i &lt; num_traces; i++) {</div><div class='add'>+	Dl_info info;</div><div class='add'>+	if (lines[i].line) continue;</div><div class='add'>+	if (dladdr(traces[i], &amp;info)) {</div><div class='add'>+	    const char *path;</div><div class='add'>+	    void **p;</div><div class='add'>+</div><div class='add'>+	    /* skip symbols which is in already checked objects */</div><div class='add'>+	    /* if the binary is strip-ed, this may effect */</div><div class='add'>+	    for (p=dladdr_fbases; *p; p++) {</div><div class='add'>+		if (*p == info.dli_fbase) {</div><div class='add'>+		    lines[i].path = info.dli_fname;</div><div class='add'>+		    lines[i].sname = info.dli_sname;</div><div class='add'>+		    goto next_line;</div><div class='add'>+		}</div><div class='add'>+	    }</div><div class='add'>+	    *p = info.dli_fbase;</div><div class='add'>+</div><div class='add'>+	    append_obj(&amp;obj);</div><div class='add'>+	    obj-&gt;base_addr = (uintptr_t)info.dli_fbase;</div><div class='add'>+	    path = info.dli_fname;</div><div class='add'>+	    obj-&gt;path = path;</div><div class='add'>+	    lines[i].path = path;</div><div class='add'>+            lines[i].sname = info.dli_sname;</div><div class='add'>+            lines[i].saddr = (uintptr_t)info.dli_saddr;</div><div class='add'>+	    strlcpy(binary_filename, path, PATH_MAX);</div><div class='add'>+	    if (fill_lines(num_traces, traces, 1, &amp;obj, lines, i) == (uintptr_t)-1)</div><div class='add'>+		break;</div><div class='add'>+	}</div><div class='add'>+next_line:</div><div class='add'>+	continue;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    /* output */</div><div class='add'>+    for (i = 0; i &lt; num_traces; i++) {</div><div class='add'>+        print_line(&amp;lines[i], traces[i]);</div><div class='add'>+</div><div class='add'>+	/* FreeBSD's backtrace may show _start and so on */</div><div class='add'>+	if (lines[i].sname &amp;&amp; strcmp("main", lines[i].sname) == 0)</div><div class='add'>+	    break;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    /* free */</div><div class='add'>+    while (obj) {</div><div class='add'>+	obj_info_t *o = obj;</div><div class='add'>+        for (i=0; i &lt; DWARF_SECTION_COUNT; i++) {</div><div class='add'>+            struct dwarf_section *s = obj_dwarf_section_at(obj, i);</div><div class='add'>+            if (s-&gt;flags &amp; SHF_COMPRESSED) {</div><div class='add'>+                free(s-&gt;ptr);</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+	if (obj-&gt;mapped_size) {</div><div class='add'>+	    munmap(obj-&gt;mapped, obj-&gt;mapped_size);</div><div class='add'>+	}</div><div class='add'>+	obj = o-&gt;next;</div><div class='add'>+	free(o);</div><div class='add'>+    }</div><div class='add'>+    for (i = 0; i &lt; num_traces; i++) {</div><div class='add'>+        line_info_t *line = lines[i].next;</div><div class='add'>+        while (line) {</div><div class='add'>+            line_info_t *l = line;</div><div class='add'>+            line = line-&gt;next;</div><div class='add'>+            free(l);</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    free(lines);</div><div class='add'>+    free(dladdr_fbases);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/* From FreeBSD's lib/libstand/printf.c */</div><div class='add'>+/*-</div><div class='add'>+ * Copyright (c) 1986, 1988, 1991, 1993</div><div class='add'>+ *	The Regents of the University of California.  All rights reserved.</div><div class='add'>+ * (c) UNIX System Laboratories, Inc.</div><div class='add'>+ * All or some portions of this file are derived from material licensed</div><div class='add'>+ * to the University of California by American Telephone and Telegraph</div><div class='add'>+ * Co. or Unix System Laboratories, Inc. and are reproduced herein with</div><div class='add'>+ * the permission of UNIX System Laboratories, Inc.</div><div class='add'>+ *</div><div class='add'>+ * Redistribution and use in source and binary forms, with or without</div><div class='add'>+ * modification, are permitted provided that the following conditions</div><div class='add'>+ * are met:</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='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='add'>+ * 4. Neither the name of the University nor the names of its contributors</div><div class='add'>+ *    may be used to endorse or promote products derived from this software</div><div class='add'>+ *    without specific prior written permission.</div><div class='add'>+ *</div><div class='add'>+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND</div><div class='add'>+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</div><div class='add'>+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</div><div class='add'>+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE</div><div class='add'>+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL</div><div class='add'>+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS</div><div class='add'>+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)</div><div class='add'>+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT</div><div class='add'>+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY</div><div class='add'>+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF</div><div class='add'>+ * SUCH DAMAGE.</div><div class='add'>+ *</div><div class='add'>+ *	@(#)subr_prf.c	8.3 (Berkeley) 1/21/94</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+#include &lt;stdarg.h&gt;</div><div class='add'>+#define MAXNBUF (sizeof(intmax_t) * CHAR_BIT + 1)</div><div class='add'>+static inline int toupper(int c) { return ('A' &lt;= c &amp;&amp; c &lt;= 'Z') ? (c&amp;0x5f) : c; }</div><div class='add'>+#define    hex2ascii(hex)  (hex2ascii_data[hex])</div><div class='add'>+static const char hex2ascii_data[] = "0123456789abcdefghijklmnopqrstuvwxyz";</div><div class='add'>+static inline int imax(int a, int b) { return (a &gt; b ? a : b); }</div><div class='add'>+static int kvprintf(char const *fmt, void (*func)(int), void *arg, int radix, va_list ap);</div><div class='add'>+</div><div class='add'>+static void putce(int c)</div><div class='add'>+{</div><div class='add'>+    char s[1];</div><div class='add'>+    ssize_t ret;</div><div class='add'>+</div><div class='add'>+    s[0] = (char)c;</div><div class='add'>+    ret = write(2, s, 1);</div><div class='add'>+    (void)ret;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+kprintf(const char *fmt, ...)</div><div class='add'>+{</div><div class='add'>+	va_list ap;</div><div class='add'>+	int retval;</div><div class='add'>+</div><div class='add'>+	va_start(ap, fmt);</div><div class='add'>+	retval = kvprintf(fmt, putce, NULL, 10, ap);</div><div class='add'>+	va_end(ap);</div><div class='add'>+	return retval;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * Put a NUL-terminated ASCII number (base &lt;= 36) in a buffer in reverse</div><div class='add'>+ * order; return an optional length and a pointer to the last character</div><div class='add'>+ * written in the buffer (i.e., the first character of the string).</div><div class='add'>+ * The buffer pointed to by `nbuf' must have length &gt;= MAXNBUF.</div><div class='add'>+ */</div><div class='add'>+static char *</div><div class='add'>+ksprintn(char *nbuf, uintmax_t num, int base, int *lenp, int upper)</div><div class='add'>+{</div><div class='add'>+	char *p, c;</div><div class='add'>+</div><div class='add'>+	p = nbuf;</div><div class='add'>+	*p = '\0';</div><div class='add'>+	do {</div><div class='add'>+		c = hex2ascii(num % base);</div><div class='add'>+		*++p = upper ? toupper(c) : c;</div><div class='add'>+	} while (num /= base);</div><div class='add'>+	if (lenp)</div><div class='add'>+		*lenp = (int)(p - nbuf);</div><div class='add'>+	return (p);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * Scaled down version of printf(3).</div><div class='add'>+ *</div><div class='add'>+ * Two additional formats:</div><div class='add'>+ *</div><div class='add'>+ * The format %b is supported to decode error registers.</div><div class='add'>+ * Its usage is:</div><div class='add'>+ *</div><div class='add'>+ *	printf("reg=%b\n", regval, "&lt;base&gt;&lt;arg&gt;*");</div><div class='add'>+ *</div><div class='add'>+ * where &lt;base&gt; is the output base expressed as a control character, e.g.</div><div class='add'>+ * \10 gives octal; \20 gives hex.  Each arg is a sequence of characters,</div><div class='add'>+ * the first of which gives the bit number to be inspected (origin 1), and</div><div class='add'>+ * the next characters (up to a control character, i.e. a character &lt;= 32),</div><div class='add'>+ * give the name of the register.  Thus:</div><div class='add'>+ *</div><div class='add'>+ *	kvprintf("reg=%b\n", 3, "\10\2BITTWO\1BITONE\n");</div><div class='add'>+ *</div><div class='add'>+ * would produce output:</div><div class='add'>+ *</div><div class='add'>+ *	reg=3&lt;BITTWO,BITONE&gt;</div><div class='add'>+ *</div><div class='add'>+ * XXX:  %D  -- Hexdump, takes pointer and separator string:</div><div class='add'>+ *		("%6D", ptr, ":")   -&gt; XX:XX:XX:XX:XX:XX</div><div class='add'>+ *		("%*D", len, ptr, " " -&gt; XX XX XX XX ...</div><div class='add'>+ */</div><div class='add'>+static int</div><div class='add'>+kvprintf(char const *fmt, void (*func)(int), void *arg, int radix, va_list ap)</div><div class='add'>+{</div><div class='add'>+#define PCHAR(c) {int cc=(c); if (func) (*func)(cc); else *d++ = cc; retval++; }</div><div class='add'>+	char nbuf[MAXNBUF];</div><div class='add'>+	char *d;</div><div class='add'>+	const char *p, *percent, *q;</div><div class='add'>+	unsigned char *up;</div><div class='add'>+	int ch, n;</div><div class='add'>+	uintmax_t num;</div><div class='add'>+	int base, lflag, qflag, tmp, width, ladjust, sharpflag, neg, sign, dot;</div><div class='add'>+	int cflag, hflag, jflag, tflag, zflag;</div><div class='add'>+	int dwidth, upper;</div><div class='add'>+	char padc;</div><div class='add'>+	int stop = 0, retval = 0;</div><div class='add'>+</div><div class='add'>+	num = 0;</div><div class='add'>+	if (!func)</div><div class='add'>+		d = (char *) arg;</div><div class='add'>+	else</div><div class='add'>+		d = NULL;</div><div class='add'>+</div><div class='add'>+	if (fmt == NULL)</div><div class='add'>+		fmt = "(fmt null)\n";</div><div class='add'>+</div><div class='add'>+	if (radix &lt; 2 || radix &gt; 36)</div><div class='add'>+		radix = 10;</div><div class='add'>+</div><div class='add'>+	for (;;) {</div><div class='add'>+		padc = ' ';</div><div class='add'>+		width = 0;</div><div class='add'>+		while ((ch = (unsigned char)*fmt++) != '%' || stop) {</div><div class='add'>+			if (ch == '\0')</div><div class='add'>+				return (retval);</div><div class='add'>+			PCHAR(ch);</div><div class='add'>+		}</div><div class='add'>+		percent = fmt - 1;</div><div class='add'>+		qflag = 0; lflag = 0; ladjust = 0; sharpflag = 0; neg = 0;</div><div class='add'>+		sign = 0; dot = 0; dwidth = 0; upper = 0;</div><div class='add'>+		cflag = 0; hflag = 0; jflag = 0; tflag = 0; zflag = 0;</div><div class='add'>+reswitch:	switch (ch = (unsigned char)*fmt++) {</div><div class='add'>+		case '.':</div><div class='add'>+			dot = 1;</div><div class='add'>+			goto reswitch;</div><div class='add'>+		case '#':</div><div class='add'>+			sharpflag = 1;</div><div class='add'>+			goto reswitch;</div><div class='add'>+		case '+':</div><div class='add'>+			sign = 1;</div><div class='add'>+			goto reswitch;</div><div class='add'>+		case '-':</div><div class='add'>+			ladjust = 1;</div><div class='add'>+			goto reswitch;</div><div class='add'>+		case '%':</div><div class='add'>+			PCHAR(ch);</div><div class='add'>+			break;</div><div class='add'>+		case '*':</div><div class='add'>+			if (!dot) {</div><div class='add'>+				width = va_arg(ap, int);</div><div class='add'>+				if (width &lt; 0) {</div><div class='add'>+					ladjust = !ladjust;</div><div class='add'>+					width = -width;</div><div class='add'>+				}</div><div class='add'>+			} else {</div><div class='add'>+				dwidth = va_arg(ap, int);</div><div class='add'>+			}</div><div class='add'>+			goto reswitch;</div><div class='add'>+		case '0':</div><div class='add'>+			if (!dot) {</div><div class='add'>+				padc = '0';</div><div class='add'>+				goto reswitch;</div><div class='add'>+			}</div><div class='add'>+		case '1': case '2': case '3': case '4':</div><div class='add'>+		case '5': case '6': case '7': case '8': case '9':</div><div class='add'>+				for (n = 0;; ++fmt) {</div><div class='add'>+					n = n * 10 + ch - '0';</div><div class='add'>+					ch = *fmt;</div><div class='add'>+					if (ch &lt; '0' || ch &gt; '9')</div><div class='add'>+						break;</div><div class='add'>+				}</div><div class='add'>+			if (dot)</div><div class='add'>+				dwidth = n;</div><div class='add'>+			else</div><div class='add'>+				width = n;</div><div class='add'>+			goto reswitch;</div><div class='add'>+		case 'b':</div><div class='add'>+			num = (unsigned int)va_arg(ap, int);</div><div class='add'>+			p = va_arg(ap, char *);</div><div class='add'>+			for (q = ksprintn(nbuf, num, *p++, NULL, 0); *q;)</div><div class='add'>+				PCHAR(*q--);</div><div class='add'>+</div><div class='add'>+			if (num == 0)</div><div class='add'>+				break;</div><div class='add'>+</div><div class='add'>+			for (tmp = 0; *p;) {</div><div class='add'>+				n = *p++;</div><div class='add'>+				if (num &amp; (1 &lt;&lt; (n - 1))) {</div><div class='add'>+					PCHAR(tmp ? ',' : '&lt;');</div><div class='add'>+					for (; (n = *p) &gt; ' '; ++p)</div><div class='add'>+						PCHAR(n);</div><div class='add'>+					tmp = 1;</div><div class='add'>+				} else</div><div class='add'>+					for (; *p &gt; ' '; ++p)</div><div class='add'>+						continue;</div><div class='add'>+			}</div><div class='add'>+			if (tmp)</div><div class='add'>+				PCHAR('&gt;');</div><div class='add'>+			break;</div><div class='add'>+		case 'c':</div><div class='add'>+			PCHAR(va_arg(ap, int));</div><div class='add'>+			break;</div><div class='add'>+		case 'D':</div><div class='add'>+			up = va_arg(ap, unsigned char *);</div><div class='add'>+			p = va_arg(ap, char *);</div><div class='add'>+			if (!width)</div><div class='add'>+				width = 16;</div><div class='add'>+			while(width--) {</div><div class='add'>+				PCHAR(hex2ascii(*up &gt;&gt; 4));</div><div class='add'>+				PCHAR(hex2ascii(*up &amp; 0x0f));</div><div class='add'>+				up++;</div><div class='add'>+				if (width)</div><div class='add'>+					for (q=p;*q;q++)</div><div class='add'>+						PCHAR(*q);</div><div class='add'>+			}</div><div class='add'>+			break;</div><div class='add'>+		case 'd':</div><div class='add'>+		case 'i':</div><div class='add'>+			base = 10;</div><div class='add'>+			sign = 1;</div><div class='add'>+			goto handle_sign;</div><div class='add'>+		case 'h':</div><div class='add'>+			if (hflag) {</div><div class='add'>+				hflag = 0;</div><div class='add'>+				cflag = 1;</div><div class='add'>+			} else</div><div class='add'>+				hflag = 1;</div><div class='add'>+			goto reswitch;</div><div class='add'>+		case 'j':</div><div class='add'>+			jflag = 1;</div><div class='add'>+			goto reswitch;</div><div class='add'>+		case 'l':</div><div class='add'>+			if (lflag) {</div><div class='add'>+				lflag = 0;</div><div class='add'>+				qflag = 1;</div><div class='add'>+			} else</div><div class='add'>+				lflag = 1;</div><div class='add'>+			goto reswitch;</div><div class='add'>+		case 'n':</div><div class='add'>+			if (jflag)</div><div class='add'>+				*(va_arg(ap, intmax_t *)) = retval;</div><div class='add'>+			else if (qflag)</div><div class='add'>+				*(va_arg(ap, int64_t *)) = retval;</div><div class='add'>+			else if (lflag)</div><div class='add'>+				*(va_arg(ap, long *)) = retval;</div><div class='add'>+			else if (zflag)</div><div class='add'>+				*(va_arg(ap, size_t *)) = retval;</div><div class='add'>+			else if (hflag)</div><div class='add'>+				*(va_arg(ap, short *)) = retval;</div><div class='add'>+			else if (cflag)</div><div class='add'>+				*(va_arg(ap, char *)) = retval;</div><div class='add'>+			else</div><div class='add'>+				*(va_arg(ap, int *)) = retval;</div><div class='add'>+			break;</div><div class='add'>+		case 'o':</div><div class='add'>+			base = 8;</div><div class='add'>+			goto handle_nosign;</div><div class='add'>+		case 'p':</div><div class='add'>+			base = 16;</div><div class='add'>+			sharpflag = (width == 0);</div><div class='add'>+			sign = 0;</div><div class='add'>+			num = (uintptr_t)va_arg(ap, void *);</div><div class='add'>+			goto number;</div><div class='add'>+		case 'q':</div><div class='add'>+			qflag = 1;</div><div class='add'>+			goto reswitch;</div><div class='add'>+		case 'r':</div><div class='add'>+			base = radix;</div><div class='add'>+			if (sign)</div><div class='add'>+				goto handle_sign;</div><div class='add'>+			goto handle_nosign;</div><div class='add'>+		case 's':</div><div class='add'>+			p = va_arg(ap, char *);</div><div class='add'>+			if (p == NULL)</div><div class='add'>+				p = "(null)";</div><div class='add'>+			if (!dot)</div><div class='add'>+				n = (int)strlen (p);</div><div class='add'>+			else</div><div class='add'>+				for (n = 0; n &lt; dwidth &amp;&amp; p[n]; n++)</div><div class='add'>+					continue;</div><div class='add'>+</div><div class='add'>+			width -= n;</div><div class='add'>+</div><div class='add'>+			if (!ladjust &amp;&amp; width &gt; 0)</div><div class='add'>+				while (width--)</div><div class='add'>+					PCHAR(padc);</div><div class='add'>+			while (n--)</div><div class='add'>+				PCHAR(*p++);</div><div class='add'>+			if (ladjust &amp;&amp; width &gt; 0)</div><div class='add'>+				while (width--)</div><div class='add'>+					PCHAR(padc);</div><div class='add'>+			break;</div><div class='add'>+		case 't':</div><div class='add'>+			tflag = 1;</div><div class='add'>+			goto reswitch;</div><div class='add'>+		case 'u':</div><div class='add'>+			base = 10;</div><div class='add'>+			goto handle_nosign;</div><div class='add'>+		case 'X':</div><div class='add'>+			upper = 1;</div><div class='add'>+		case 'x':</div><div class='add'>+			base = 16;</div><div class='add'>+			goto handle_nosign;</div><div class='add'>+		case 'y':</div><div class='add'>+			base = 16;</div><div class='add'>+			sign = 1;</div><div class='add'>+			goto handle_sign;</div><div class='add'>+		case 'z':</div><div class='add'>+			zflag = 1;</div><div class='add'>+			goto reswitch;</div><div class='add'>+handle_nosign:</div><div class='add'>+			sign = 0;</div><div class='add'>+			if (jflag)</div><div class='add'>+				num = va_arg(ap, uintmax_t);</div><div class='add'>+			else if (qflag)</div><div class='add'>+				num = va_arg(ap, uint64_t);</div><div class='add'>+			else if (tflag)</div><div class='add'>+				num = va_arg(ap, ptrdiff_t);</div><div class='add'>+			else if (lflag)</div><div class='add'>+				num = va_arg(ap, unsigned long);</div><div class='add'>+			else if (zflag)</div><div class='add'>+				num = va_arg(ap, size_t);</div><div class='add'>+			else if (hflag)</div><div class='add'>+				num = (unsigned short)va_arg(ap, int);</div><div class='add'>+			else if (cflag)</div><div class='add'>+				num = (unsigned char)va_arg(ap, int);</div><div class='add'>+			else</div><div class='add'>+				num = va_arg(ap, unsigned int);</div><div class='add'>+			goto number;</div><div class='add'>+handle_sign:</div><div class='add'>+			if (jflag)</div><div class='add'>+				num = va_arg(ap, intmax_t);</div><div class='add'>+			else if (qflag)</div><div class='add'>+				num = va_arg(ap, int64_t);</div><div class='add'>+			else if (tflag)</div><div class='add'>+				num = va_arg(ap, ptrdiff_t);</div><div class='add'>+			else if (lflag)</div><div class='add'>+				num = va_arg(ap, long);</div><div class='add'>+			else if (zflag)</div><div class='add'>+				num = va_arg(ap, ssize_t);</div><div class='add'>+			else if (hflag)</div><div class='add'>+				num = (short)va_arg(ap, int);</div><div class='add'>+			else if (cflag)</div><div class='add'>+				num = (char)va_arg(ap, int);</div><div class='add'>+			else</div><div class='add'>+				num = va_arg(ap, int);</div><div class='add'>+number:</div><div class='add'>+			if (sign &amp;&amp; (intmax_t)num &lt; 0) {</div><div class='add'>+				neg = 1;</div><div class='add'>+				num = -(intmax_t)num;</div><div class='add'>+			}</div><div class='add'>+			p = ksprintn(nbuf, num, base, &amp;n, upper);</div><div class='add'>+			tmp = 0;</div><div class='add'>+			if (sharpflag &amp;&amp; num != 0) {</div><div class='add'>+				if (base == 8)</div><div class='add'>+					tmp++;</div><div class='add'>+				else if (base == 16)</div><div class='add'>+					tmp += 2;</div><div class='add'>+			}</div><div class='add'>+			if (neg)</div><div class='add'>+				tmp++;</div><div class='add'>+</div><div class='add'>+			if (!ladjust &amp;&amp; padc == '0')</div><div class='add'>+				dwidth = width - tmp;</div><div class='add'>+			width -= tmp + imax(dwidth, n);</div><div class='add'>+			dwidth -= n;</div><div class='add'>+			if (!ladjust)</div><div class='add'>+				while (width-- &gt; 0)</div><div class='add'>+					PCHAR(' ');</div><div class='add'>+			if (neg)</div><div class='add'>+				PCHAR('-');</div><div class='add'>+			if (sharpflag &amp;&amp; num != 0) {</div><div class='add'>+				if (base == 8) {</div><div class='add'>+					PCHAR('0');</div><div class='add'>+				} else if (base == 16) {</div><div class='add'>+					PCHAR('0');</div><div class='add'>+					PCHAR('x');</div><div class='add'>+				}</div><div class='add'>+			}</div><div class='add'>+			while (dwidth-- &gt; 0)</div><div class='add'>+				PCHAR('0');</div><div class='add'>+</div><div class='add'>+			while (*p)</div><div class='add'>+				PCHAR(*p--);</div><div class='add'>+</div><div class='add'>+			if (ladjust)</div><div class='add'>+				while (width-- &gt; 0)</div><div class='add'>+					PCHAR(' ');</div><div class='add'>+</div><div class='add'>+			break;</div><div class='add'>+		default:</div><div class='add'>+			while (percent &lt; fmt)</div><div class='add'>+				PCHAR(*percent++);</div><div class='add'>+			/*</div><div class='add'>+			 * Since we ignore an formatting argument it is no</div><div class='add'>+			 * longer safe to obey the remaining formatting</div><div class='add'>+			 * arguments as the arguments will no longer match</div><div class='add'>+			 * the format specs.</div><div class='add'>+			 */</div><div class='add'>+			stop = 1;</div><div class='add'>+			break;</div><div class='add'>+		}</div><div class='add'>+	}</div><div class='add'>+#undef PCHAR</div><div class='add'>+}</div><div class='add'>+#else /* defined(USE_ELF) */</div><div class='add'>+#error not supported</div><div class='add'>+#endif</div><div class='head'>diff --git a/addr2line.h b/addr2line.h<br/>new file mode 100644<br/>index 0000000000..f09b665800<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/addr2line.h?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>addr2line.h</a></div><div class='hunk'>@@ -0,0 +1,20 @@</div><div class='add'>+#ifndef RUBY_ADDR2LINE_H</div><div class='add'>+#define RUBY_ADDR2LINE_H</div><div class='add'>+/**********************************************************************</div><div class='add'>+</div><div class='add'>+  addr2line.h -</div><div class='add'>+</div><div class='add'>+  $Author$</div><div class='add'>+</div><div class='add'>+  Copyright (C) 2010 Shinichiro Hamaji</div><div class='add'>+</div><div class='add'>+**********************************************************************/</div><div class='add'>+</div><div class='add'>+#if (defined(USE_ELF) || defined(HAVE_MACH_O_LOADER_H))</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+rb_dump_backtrace_with_lines(int num_traces, void **traces);</div><div class='add'>+</div><div class='add'>+#endif /* USE_ELF */</div><div class='add'>+</div><div class='add'>+#endif /* RUBY_ADDR2LINE_H */</div><div class='head'>diff --git a/appveyor.yml b/appveyor.yml<br/>new file mode 100644<br/>index 0000000000..d31d4b2df9<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/appveyor.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>appveyor.yml</a></div><div class='hunk'>@@ -0,0 +1,96 @@</div><div class='add'>+---</div><div class='add'>+version: '{build}'</div><div class='add'>+init:</div><div class='add'>+  - git config --global user.name git</div><div class='add'>+  - git config --global user.email svn-admin@ruby-lang.org</div><div class='add'>+clone_depth: 10</div><div class='add'>+platform:</div><div class='add'>+  - x64</div><div class='add'>+environment:</div><div class='add'>+  ruby_version: "24-%Platform%"</div><div class='add'>+  zlib_version: "1.2.11"</div><div class='add'>+  matrix:</div><div class='add'>+    - build: vs</div><div class='add'>+      vs: 120</div><div class='add'>+      ssl: OpenSSL</div><div class='add'>+      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013</div><div class='add'>+      GEMS_FOR_TEST: ""</div><div class='add'>+    - build: vs</div><div class='add'>+      vs: 140</div><div class='add'>+      ssl: OpenSSL-v111</div><div class='add'>+      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015</div><div class='add'>+      GEMS_FOR_TEST: ""</div><div class='add'>+  RELINE_TEST_ENCODING: "Windows-31J"</div><div class='add'>+  UPDATE_UNICODE: "UNICODE_FILES=. UNICODE_PROPERTY_FILES=. UNICODE_AUXILIARY_FILES=. UNICODE_EMOJI_FILES=."</div><div class='add'>+for:</div><div class='add'>+-</div><div class='add'>+  matrix:</div><div class='add'>+    only:</div><div class='add'>+      - build: vs</div><div class='add'>+  install:</div><div class='add'>+    - ver</div><div class='add'>+    - chcp</div><div class='add'>+    - SET BITS=%Platform:x86=32%</div><div class='add'>+    - SET BITS=%BITS:x=%</div><div class='add'>+    - SET OPENSSL_DIR=C:\%ssl%-Win%BITS%</div><div class='add'>+    - CALL SET vcvars=%%^VS%VS%COMNTOOLS^%%..\..\VC\vcvarsall.bat</div><div class='add'>+    - SET vcvars</div><div class='add'>+    - '"%vcvars%" %Platform:x64=amd64%'</div><div class='add'>+    - SET ruby_path=C:\Ruby%ruby_version:-x86=%</div><div class='add'>+    - SET PATH=\usr\local\bin;%ruby_path%\bin;%PATH%;C:\msys64\mingw64\bin;C:\msys64\usr\bin</div><div class='add'>+    - ruby --version</div><div class='add'>+    - 'cl'</div><div class='add'>+    - echo&gt; Makefile srcdir=.</div><div class='add'>+    - echo&gt;&gt; Makefile MSC_VER=0</div><div class='add'>+    - echo&gt;&gt; Makefile RT=none</div><div class='add'>+    - echo&gt;&gt; Makefile RT_VER=0</div><div class='add'>+    - echo&gt;&gt; Makefile BUILTIN_ENCOBJS=nul</div><div class='add'>+    - type win32\Makefile.sub &gt;&gt; Makefile</div><div class='add'>+    - nmake %mflags% touch-unicode-files</div><div class='add'>+    - nmake %mflags% %UPDATE_UNICODE% incs</div><div class='add'>+    - nmake %mflags% extract-extlibs</div><div class='add'>+    - del Makefile</div><div class='add'>+    - mkdir \usr\local\bin</div><div class='add'>+    - mkdir \usr\local\include</div><div class='add'>+    - mkdir \usr\local\lib</div><div class='add'>+    - SET ZLIB_ZIP=.downloaded-cache\zlib%zlib_version:.=%.zip</div><div class='add'>+    - if not exist %ZLIB_ZIP% curl -fsSL -o %ZLIB_ZIP% --retry 10 https://zlib.net/zlib%zlib_version:.=%.zip</div><div class='add'>+    - 7z x -aos -o%APPVEYOR_BUILD_FOLDER%\ext\zlib %ZLIB_ZIP%</div><div class='add'>+    - for %%I in (%OPENSSL_DIR%\*.dll) do mklink /h \usr\local\bin\%%~nxI %%I</div><div class='add'>+    - attrib +r /s /d</div><div class='add'>+    - mkdir %Platform%-mswin_%vs%</div><div class='add'>+  build_script:</div><div class='add'>+    - cd %APPVEYOR_BUILD_FOLDER%</div><div class='add'>+    - cd %Platform%-mswin_%vs%</div><div class='add'>+    - ..\win32\configure.bat --without-ext=+,dbm,gdbm,readline --with-opt-dir=/usr/local --with-openssl-dir=%OPENSSL_DIR:\=/%</div><div class='add'>+    - nmake -l</div><div class='add'>+    - nmake install-nodoc</div><div class='add'>+    - \usr\bin\ruby -v -e "p :locale =&gt; Encoding.find('locale'), :filesystem =&gt; Encoding.find('filesystem')"</div><div class='add'>+    - if not "%GEMS_FOR_TEST%" == "" \usr\bin\gem install --no-document %GEMS_FOR_TEST%</div><div class='add'>+    - \usr\bin\ruby -ropenssl -e "puts 'Build    ' + OpenSSL::OPENSSL_VERSION, 'Runtime  ' + OpenSSL::OPENSSL_LIBRARY_VERSION"</div><div class='add'>+  test_script:</div><div class='add'>+    - set /a JOBS=%NUMBER_OF_PROCESSORS%</div><div class='add'>+    - nmake -l "TESTOPTS=-v -q" btest</div><div class='add'>+    - nmake -l "TESTOPTS=-v -q" test-basic</div><div class='add'>+    - nmake -l "TESTOPTS=-v --timeout-scale=3.0 --excludes=../test/excludes/_appveyor -j%JOBS% --exclude readline --exclude win32ole --exclude test_bignum --exclude test_syntax --exclude test_open-uri --exclude test_bundled_ca" test-all</div><div class='add'>+    # separately execute tests without -j which may crash worker with -j.</div><div class='add'>+    - nmake -l "TESTOPTS=-v --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='add'>+    - nmake -l test-spec MSPECOPT=-fs # not using `-j` because sometimes `mspec -j` silently dies on Windows</div><div class='add'>+notifications:</div><div class='add'>+  - provider: Webhook</div><div class='add'>+    method: POST</div><div class='add'>+    url:</div><div class='add'>+      secure: CcFlJNDJ/a6to7u3Z4Fnz6dScEPNx7hTha2GkSRlV+1U6dqmxY/7uBcLXYb9gR3jfQk6w+2o/HrjNAyXMNGU/JOka3s2WRI4VKitzM+lQ08owvJIh0R7LxrGH0J2e81U # ruby-lang slack: ruby/simpler-alerts-bot</div><div class='add'>+    body: &gt;-</div><div class='add'>+      {{^isPullRequest}}</div><div class='add'>+        {</div><div class='add'>+          "ci": "AppVeyor CI",</div><div class='add'>+          "env": "Visual Studio 2013 / 2015",</div><div class='add'>+          "url": "{{buildUrl}}",</div><div class='add'>+          "commit": "{{commitId}}",</div><div class='add'>+          "branch": "{{branch}}"</div><div class='add'>+        }</div><div class='add'>+      {{/isPullRequest}}</div><div class='add'>+    on_build_success: false</div><div class='add'>+    on_build_failure: true</div><div class='add'>+    on_build_status_changed: false</div><div class='head'>diff --git a/array.c b/array.c<br/>index 9cc0ac1815..ea84473fdf 100644<br/>--- a/<a href='/ruby.git/tree/array.c?h=v3_0_0&amp;id=cfb52c86678519810cfa84b564a3d32a9200139d'>array.c</a><br/>+++ b/<a href='/ruby.git/tree/array.c?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>array.c</a></div><div class='hunk'>@@ -1,26 +1,263 @@</div><div class='del'>-/************************************************</div><div class='add'>+/**********************************************************************</div><div class='ctx'> </div><div class='ctx'>   array.c -</div><div class='ctx'> </div><div class='ctx'>   $Author$</div><div class='del'>-  $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-1999 Yukihiro Matsumoto</div><div class='del'>-</div><div class='del'>-************************************************/</div><div class='del'>-</div><div class='del'>-#include "ruby.h"</div><div class='del'>-#include "util.h"</div><div class='add'>+  Copyright (C) 1993-2007 Yukihiro Matsumoto</div><div class='add'>+  Copyright (C) 2000  Network Applied Communication Laboratory, Inc.</div><div class='add'>+  Copyright (C) 2000  Information-technology Promotion Agency, Japan</div><div class='add'>+</div><div class='add'>+**********************************************************************/</div><div class='add'>+</div><div class='add'>+#include "debug_counter.h"</div><div class='add'>+#include "id.h"</div><div class='add'>+#include "internal.h"</div><div class='add'>+#include "internal/array.h"</div><div class='add'>+#include "internal/compar.h"</div><div class='add'>+#include "internal/enum.h"</div><div class='add'>+#include "internal/gc.h"</div><div class='add'>+#include "internal/hash.h"</div><div class='add'>+#include "internal/numeric.h"</div><div class='add'>+#include "internal/object.h"</div><div class='add'>+#include "internal/proc.h"</div><div class='add'>+#include "internal/rational.h"</div><div class='add'>+#include "internal/vm.h"</div><div class='add'>+#include "probes.h"</div><div class='add'>+#include "ruby/encoding.h"</div><div class='add'>+#include "ruby/st.h"</div><div class='add'>+#include "ruby/util.h"</div><div class='add'>+#include "transient_heap.h"</div><div class='add'>+#include "builtin.h"</div><div class='add'>+</div><div class='add'>+#if !ARRAY_DEBUG</div><div class='add'>+# undef NDEBUG</div><div class='add'>+# define NDEBUG</div><div class='add'>+#endif</div><div class='add'>+#include "ruby_assert.h"</div><div class='ctx'> </div><div class='ctx'> VALUE rb_cArray;</div><div class='ctx'> </div><div class='add'>+/* for OPTIMIZED_CMP: */</div><div class='add'>+#define id_cmp idCmp</div><div class='add'>+</div><div class='ctx'> #define ARY_DEFAULT_SIZE 16</div><div class='add'>+#define ARY_MAX_SIZE (LONG_MAX / (int)sizeof(VALUE))</div><div class='add'>+#define SMALL_ARRAY_LEN 16</div><div class='add'>+</div><div class='add'>+RBIMPL_ATTR_MAYBE_UNUSED()</div><div class='add'>+static int</div><div class='add'>+should_be_T_ARRAY(VALUE ary)</div><div class='add'>+{</div><div class='add'>+    return RB_TYPE_P(ary, T_ARRAY);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+RBIMPL_ATTR_MAYBE_UNUSED()</div><div class='add'>+static int</div><div class='add'>+should_not_be_shared_and_embedded(VALUE ary)</div><div class='add'>+{</div><div class='add'>+    return !FL_TEST((ary), ELTS_SHARED) || !FL_TEST((ary), RARRAY_EMBED_FLAG);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#define ARY_SHARED_P(ary) \</div><div class='add'>+  (assert(should_be_T_ARRAY((VALUE)(ary))), \</div><div class='add'>+   assert(should_not_be_shared_and_embedded((VALUE)ary)), \</div><div class='add'>+   FL_TEST_RAW((ary),ELTS_SHARED)!=0)</div><div class='add'>+</div><div class='add'>+#define ARY_EMBED_P(ary) \</div><div class='add'>+  (assert(should_be_T_ARRAY((VALUE)(ary))), \</div><div class='add'>+   assert(should_not_be_shared_and_embedded((VALUE)ary)), \</div><div class='add'>+   FL_TEST_RAW((ary), RARRAY_EMBED_FLAG) != 0)</div><div class='add'>+</div><div class='add'>+#define ARY_HEAP_PTR(a) (assert(!ARY_EMBED_P(a)), RARRAY(a)-&gt;as.heap.ptr)</div><div class='add'>+#define ARY_HEAP_LEN(a) (assert(!ARY_EMBED_P(a)), RARRAY(a)-&gt;as.heap.len)</div><div class='add'>+#define ARY_HEAP_CAPA(a) (assert(!ARY_EMBED_P(a)), assert(!ARY_SHARED_ROOT_P(a)), \</div><div class='add'>+                          RARRAY(a)-&gt;as.heap.aux.capa)</div><div class='add'>+</div><div class='add'>+#define ARY_EMBED_PTR(a) (assert(ARY_EMBED_P(a)), RARRAY(a)-&gt;as.ary)</div><div class='add'>+#define ARY_EMBED_LEN(a) \</div><div class='add'>+    (assert(ARY_EMBED_P(a)), \</div><div class='add'>+     (long)((RBASIC(a)-&gt;flags &gt;&gt; RARRAY_EMBED_LEN_SHIFT) &amp; \</div><div class='add'>+	 (RARRAY_EMBED_LEN_MASK &gt;&gt; RARRAY_EMBED_LEN_SHIFT)))</div><div class='add'>+#define ARY_HEAP_SIZE(a) (assert(!ARY_EMBED_P(a)), assert(ARY_OWNS_HEAP_P(a)), ARY_CAPA(a) * sizeof(VALUE))</div><div class='add'>+</div><div class='add'>+#define ARY_OWNS_HEAP_P(a) (assert(should_be_T_ARRAY((VALUE)(a))), \</div><div class='add'>+                            !FL_TEST_RAW((a), ELTS_SHARED|RARRAY_EMBED_FLAG))</div><div class='add'>+</div><div class='add'>+#define FL_SET_EMBED(a) do { \</div><div class='add'>+    assert(!ARY_SHARED_P(a)); \</div><div class='add'>+    FL_SET((a), RARRAY_EMBED_FLAG); \</div><div class='add'>+    RARY_TRANSIENT_UNSET(a); \</div><div class='add'>+    ary_verify(a); \</div><div class='add'>+} while (0)</div><div class='add'>+</div><div class='add'>+#define FL_UNSET_EMBED(ary) FL_UNSET((ary), RARRAY_EMBED_FLAG|RARRAY_EMBED_LEN_MASK)</div><div class='add'>+#define FL_SET_SHARED(ary) do { \</div><div class='add'>+    assert(!ARY_EMBED_P(ary)); \</div><div class='add'>+    FL_SET((ary), ELTS_SHARED); \</div><div class='add'>+} while (0)</div><div class='add'>+#define FL_UNSET_SHARED(ary) FL_UNSET((ary), ELTS_SHARED)</div><div class='add'>+</div><div class='add'>+#define ARY_SET_PTR(ary, p) do { \</div><div class='add'>+    assert(!ARY_EMBED_P(ary)); \</div><div class='add'>+    assert(!OBJ_FROZEN(ary)); \</div><div class='add'>+    RARRAY(ary)-&gt;as.heap.ptr = (p); \</div><div class='add'>+} while (0)</div><div class='add'>+#define ARY_SET_EMBED_LEN(ary, n) do { \</div><div class='add'>+    long tmp_n = (n); \</div><div class='add'>+    assert(ARY_EMBED_P(ary)); \</div><div class='add'>+    assert(!OBJ_FROZEN(ary)); \</div><div class='add'>+    RBASIC(ary)-&gt;flags &amp;= ~RARRAY_EMBED_LEN_MASK; \</div><div class='add'>+    RBASIC(ary)-&gt;flags |= (tmp_n) &lt;&lt; RARRAY_EMBED_LEN_SHIFT; \</div><div class='add'>+} while (0)</div><div class='add'>+#define ARY_SET_HEAP_LEN(ary, n) do { \</div><div class='add'>+    assert(!ARY_EMBED_P(ary)); \</div><div class='add'>+    RARRAY(ary)-&gt;as.heap.len = (n); \</div><div class='add'>+} while (0)</div><div class='add'>+#define ARY_SET_LEN(ary, n) do { \</div><div class='add'>+    if (ARY_EMBED_P(ary)) { \</div><div class='add'>+        ARY_SET_EMBED_LEN((ary), (n)); \</div><div class='add'>+    } \</div><div class='add'>+    else { \</div><div class='add'>+        ARY_SET_HEAP_LEN((ary), (n)); \</div><div class='add'>+    } \</div><div class='add'>+    assert(RARRAY_LEN(ary) == (n)); \</div><div class='add'>+} while (0)</div><div class='add'>+#define ARY_INCREASE_PTR(ary, n) do  { \</div><div class='add'>+    assert(!ARY_EMBED_P(ary)); \</div><div class='add'>+    assert(!OBJ_FROZEN(ary)); \</div><div class='add'>+    RARRAY(ary)-&gt;as.heap.ptr += (n); \</div><div class='add'>+} while (0)</div><div class='add'>+#define ARY_INCREASE_LEN(ary, n) do  { \</div><div class='add'>+    assert(!OBJ_FROZEN(ary)); \</div><div class='add'>+    if (ARY_EMBED_P(ary)) { \</div><div class='add'>+        ARY_SET_EMBED_LEN((ary), RARRAY_LEN(ary)+(n)); \</div><div class='add'>+    } \</div><div class='add'>+    else { \</div><div class='add'>+        RARRAY(ary)-&gt;as.heap.len += (n); \</div><div class='add'>+    } \</div><div class='add'>+} while (0)</div><div class='add'>+</div><div class='add'>+#define ARY_CAPA(ary) (ARY_EMBED_P(ary) ? RARRAY_EMBED_LEN_MAX : \</div><div class='add'>+                       ARY_SHARED_ROOT_P(ary) ? RARRAY_LEN(ary) : ARY_HEAP_CAPA(ary))</div><div class='add'>+#define ARY_SET_CAPA(ary, n) do { \</div><div class='add'>+    assert(!ARY_EMBED_P(ary)); \</div><div class='add'>+    assert(!ARY_SHARED_P(ary)); \</div><div class='add'>+    assert(!OBJ_FROZEN(ary)); \</div><div class='add'>+    RARRAY(ary)-&gt;as.heap.aux.capa = (n); \</div><div class='add'>+} while (0)</div><div class='add'>+</div><div class='add'>+#define ARY_SHARED_ROOT(ary) (assert(ARY_SHARED_P(ary)), RARRAY(ary)-&gt;as.heap.aux.shared_root)</div><div class='add'>+#define ARY_SET_SHARED(ary, value) do { \</div><div class='add'>+    const VALUE _ary_ = (ary); \</div><div class='add'>+    const VALUE _value_ = (value); \</div><div class='add'>+    assert(!ARY_EMBED_P(_ary_)); \</div><div class='add'>+    assert(ARY_SHARED_P(_ary_)); \</div><div class='add'>+    assert(ARY_SHARED_ROOT_P(_value_)); \</div><div class='add'>+    RB_OBJ_WRITE(_ary_, &amp;RARRAY(_ary_)-&gt;as.heap.aux.shared_root, _value_); \</div><div class='add'>+} while (0)</div><div class='add'>+#define RARRAY_SHARED_ROOT_FLAG FL_USER5</div><div class='add'>+#define ARY_SHARED_ROOT_P(ary) (assert(should_be_T_ARRAY((VALUE)(ary))), \</div><div class='add'>+                                FL_TEST_RAW((ary), RARRAY_SHARED_ROOT_FLAG))</div><div class='add'>+#define ARY_SHARED_ROOT_REFCNT(ary) \</div><div class='add'>+    (assert(ARY_SHARED_ROOT_P(ary)), RARRAY(ary)-&gt;as.heap.aux.capa)</div><div class='add'>+#define ARY_SHARED_ROOT_OCCUPIED(ary) (ARY_SHARED_ROOT_REFCNT(ary) == 1)</div><div class='add'>+#define ARY_SET_SHARED_ROOT_REFCNT(ary, value) do { \</div><div class='add'>+    assert(ARY_SHARED_ROOT_P(ary)); \</div><div class='add'>+    RARRAY(ary)-&gt;as.heap.aux.capa = (value); \</div><div class='add'>+} while (0)</div><div class='add'>+#define FL_SET_SHARED_ROOT(ary) do { \</div><div class='add'>+    assert(!ARY_EMBED_P(ary)); \</div><div class='add'>+    assert(!RARRAY_TRANSIENT_P(ary)); \</div><div class='add'>+    FL_SET((ary), RARRAY_SHARED_ROOT_FLAG); \</div><div class='add'>+} while (0)</div><div class='add'>+</div><div class='add'>+static inline void</div><div class='add'>+ARY_SET(VALUE a, long i, VALUE v)</div><div class='add'>+{</div><div class='add'>+    assert(!ARY_SHARED_P(a));</div><div class='add'>+    assert(!OBJ_FROZEN(a));</div><div class='add'>+</div><div class='add'>+    RARRAY_ASET(a, i, v);</div><div class='add'>+}</div><div class='add'>+#undef RARRAY_ASET</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+#if ARRAY_DEBUG</div><div class='add'>+#define ary_verify(ary) ary_verify_(ary, __FILE__, __LINE__)</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ary_verify_(VALUE ary, const char *file, int line)</div><div class='add'>+{</div><div class='add'>+    assert(RB_TYPE_P(ary, T_ARRAY));</div><div class='add'>+</div><div class='add'>+    if (FL_TEST(ary, ELTS_SHARED)) {</div><div class='add'>+        VALUE root = RARRAY(ary)-&gt;as.heap.aux.shared_root;</div><div class='add'>+        const VALUE *ptr = ARY_HEAP_PTR(ary);</div><div class='add'>+        const VALUE *root_ptr = RARRAY_CONST_PTR_TRANSIENT(root);</div><div class='add'>+        long len = ARY_HEAP_LEN(ary), root_len = RARRAY_LEN(root);</div><div class='add'>+        assert(FL_TEST(root, RARRAY_SHARED_ROOT_FLAG));</div><div class='add'>+        assert(root_ptr &lt;= ptr &amp;&amp; ptr + len &lt;= root_ptr + root_len);</div><div class='add'>+        ary_verify(root);</div><div class='add'>+    }</div><div class='add'>+    else if (ARY_EMBED_P(ary)) {</div><div class='add'>+        assert(!RARRAY_TRANSIENT_P(ary));</div><div class='add'>+        assert(!ARY_SHARED_P(ary));</div><div class='add'>+        assert(RARRAY_LEN(ary) &lt;= RARRAY_EMBED_LEN_MAX);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+#if 1</div><div class='add'>+        const VALUE *ptr = RARRAY_CONST_PTR_TRANSIENT(ary);</div><div class='add'>+        long i, len = RARRAY_LEN(ary);</div><div class='add'>+        volatile VALUE v;</div><div class='add'>+        if (len &gt; 1) len = 1; /* check only HEAD */</div><div class='add'>+        for (i=0; i&lt;len; i++) {</div><div class='add'>+            v = ptr[i]; /* access check */</div><div class='add'>+        }</div><div class='add'>+        v = v;</div><div class='add'>+#endif</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+#if USE_TRANSIENT_HEAP</div><div class='add'>+    if (RARRAY_TRANSIENT_P(ary)) {</div><div class='add'>+        assert(rb_transient_heap_managed_ptr_p(RARRAY_CONST_PTR_TRANSIENT(ary)));</div><div class='add'>+    }</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+    rb_transient_heap_verify();</div><div class='add'>+</div><div class='add'>+    return ary;</div><div class='add'>+}</div><div class='ctx'> </div><div class='ctx'> void</div><div class='del'>-rb_mem_clear(mem, size)</div><div class='del'>-    register VALUE *mem;</div><div class='del'>-    register size_t size;</div><div class='add'>+rb_ary_verify(VALUE ary)</div><div class='add'>+{</div><div class='add'>+    ary_verify(ary);</div><div class='add'>+}</div><div class='add'>+#else</div><div class='add'>+#define ary_verify(ary) ((void)0)</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+VALUE *</div><div class='add'>+rb_ary_ptr_use_start(VALUE ary)</div><div class='add'>+{</div><div class='add'>+#if ARRAY_DEBUG</div><div class='add'>+    FL_SET_RAW(ary, RARRAY_PTR_IN_USE_FLAG);</div><div class='add'>+#endif</div><div class='add'>+    return (VALUE *)RARRAY_CONST_PTR_TRANSIENT(ary);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+rb_ary_ptr_use_end(VALUE ary)</div><div class='add'>+{</div><div class='add'>+#if ARRAY_DEBUG</div><div class='add'>+    FL_UNSET_RAW(ary, RARRAY_PTR_IN_USE_FLAG);</div><div class='add'>+#endif</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+rb_mem_clear(VALUE *mem, long size)</div><div class='ctx'> {</div><div class='ctx'>     while (size--) {</div><div class='ctx'> 	*mem++ = Qnil;</div><div class='hunk'>@@ -28,1195 +265,4870 @@ rb_mem_clear(mem, size)</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static void</div><div class='del'>-memfill(mem, size, val)</div><div class='del'>-    register VALUE *mem;</div><div class='del'>-    register size_t size;</div><div class='del'>-    register VALUE val;</div><div class='add'>+ary_mem_clear(VALUE ary, long beg, long size)</div><div class='add'>+{</div><div class='add'>+    RARRAY_PTR_USE_TRANSIENT(ary, ptr, {</div><div class='add'>+	rb_mem_clear(ptr + beg, size);</div><div class='add'>+    });</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static inline void</div><div class='add'>+memfill(register VALUE *mem, register long size, 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'>-#define ARY_FREEZE   FL_USER1</div><div class='del'>-#define ARY_TMPLOCK  FL_USER2</div><div class='add'>+static void</div><div class='add'>+ary_memfill(VALUE ary, long beg, long size, VALUE val)</div><div class='add'>+{</div><div class='add'>+    RARRAY_PTR_USE_TRANSIENT(ary, ptr, {</div><div class='add'>+	memfill(ptr + beg, size, val);</div><div class='add'>+	RB_OBJ_WRITTEN(ary, Qundef, val);</div><div class='add'>+    });</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+ary_memcpy0(VALUE ary, long beg, long argc, const VALUE *argv, VALUE buff_owner_ary)</div><div class='add'>+{</div><div class='add'>+    assert(!ARY_SHARED_P(buff_owner_ary));</div><div class='add'>+</div><div class='add'>+    if (argc &gt; (int)(128/sizeof(VALUE)) /* is magic number (cache line size) */) {</div><div class='add'>+        rb_gc_writebarrier_remember(buff_owner_ary);</div><div class='add'>+        RARRAY_PTR_USE_TRANSIENT(ary, ptr, {</div><div class='add'>+            MEMCPY(ptr+beg, argv, VALUE, argc);</div><div class='add'>+        });</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        int i;</div><div class='add'>+        RARRAY_PTR_USE_TRANSIENT(ary, ptr, {</div><div class='add'>+            for (i=0; i&lt;argc; i++) {</div><div class='add'>+                RB_OBJ_WRITE(buff_owner_ary, &amp;ptr[i+beg], argv[i]);</div><div class='add'>+            }</div><div class='add'>+        });</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+ary_memcpy(VALUE ary, long beg, long argc, const VALUE *argv)</div><div class='add'>+{</div><div class='add'>+    ary_memcpy0(ary, beg, argc, argv, ary);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE *</div><div class='add'>+ary_heap_alloc(VALUE ary, size_t capa)</div><div class='add'>+{</div><div class='add'>+    VALUE *ptr = rb_transient_heap_alloc(ary, sizeof(VALUE) * capa);</div><div class='add'>+</div><div class='add'>+    if (ptr != NULL) {</div><div class='add'>+        RARY_TRANSIENT_SET(ary);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        RARY_TRANSIENT_UNSET(ary);</div><div class='add'>+        ptr = ALLOC_N(VALUE, capa);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return ptr;</div><div class='add'>+}</div><div class='ctx'> </div><div class='ctx'> static void</div><div class='del'>-rb_ary_modify(ary)</div><div class='del'>-    VALUE ary;</div><div class='add'>+ary_heap_free_ptr(VALUE ary, const VALUE *ptr, long size)</div><div class='ctx'> {</div><div class='del'>-    if (FL_TEST(ary, ARY_FREEZE))</div><div class='del'>-	rb_raise(rb_eTypeError, "can't modify frozen array");</div><div class='del'>-    if (FL_TEST(ary, ARY_TMPLOCK))</div><div class='del'>-	rb_raise(rb_eTypeError, "can't modify array during sort");</div><div class='del'>-    if (!FL_TEST(ary, FL_TAINT) &amp;&amp; rb_safe_level() &gt;= 4)</div><div class='del'>-	rb_raise(rb_eSecurityError, "Insecure: can't modify array");</div><div class='add'>+    if (RARRAY_TRANSIENT_P(ary)) {</div><div class='add'>+        /* ignore it */</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        ruby_sized_xfree((void *)ptr, size);</div><div class='add'>+    }</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_ary_freeze(ary)</div><div class='del'>-    VALUE ary;</div><div class='add'>+static void</div><div class='add'>+ary_heap_free(VALUE ary)</div><div class='ctx'> {</div><div class='del'>-    FL_SET(ary, ARY_FREEZE);</div><div class='del'>-    return ary;</div><div class='add'>+    if (RARRAY_TRANSIENT_P(ary)) {</div><div class='add'>+        RARY_TRANSIENT_UNSET(ary);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        ary_heap_free_ptr(ary, ARY_HEAP_PTR(ary), ARY_HEAP_SIZE(ary));</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+ary_heap_realloc(VALUE ary, size_t new_capa)</div><div class='add'>+{</div><div class='add'>+    size_t old_capa = ARY_HEAP_CAPA(ary);</div><div class='add'>+</div><div class='add'>+    if (RARRAY_TRANSIENT_P(ary)) {</div><div class='add'>+        if (new_capa &lt;= old_capa) {</div><div class='add'>+            /* do nothing */</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            VALUE *new_ptr = rb_transient_heap_alloc(ary, sizeof(VALUE) * new_capa);</div><div class='add'>+</div><div class='add'>+            if (new_ptr == NULL) {</div><div class='add'>+                new_ptr = ALLOC_N(VALUE, new_capa);</div><div class='add'>+                RARY_TRANSIENT_UNSET(ary);</div><div class='add'>+            }</div><div class='add'>+</div><div class='add'>+            MEMCPY(new_ptr, ARY_HEAP_PTR(ary), VALUE, old_capa);</div><div class='add'>+            ARY_SET_PTR(ary, new_ptr);</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        SIZED_REALLOC_N(RARRAY(ary)-&gt;as.heap.ptr, VALUE, new_capa, old_capa);</div><div class='add'>+    }</div><div class='add'>+    ary_verify(ary);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#if USE_TRANSIENT_HEAP</div><div class='add'>+static inline void</div><div class='add'>+rb_ary_transient_heap_evacuate_(VALUE ary, int transient, int promote)</div><div class='add'>+{</div><div class='add'>+    if (transient) {</div><div class='add'>+        VALUE *new_ptr;</div><div class='add'>+        const VALUE *old_ptr = ARY_HEAP_PTR(ary);</div><div class='add'>+        long capa = ARY_HEAP_CAPA(ary);</div><div class='add'>+        long len  = ARY_HEAP_LEN(ary);</div><div class='add'>+</div><div class='add'>+        if (ARY_SHARED_ROOT_P(ary)) {</div><div class='add'>+            capa = len;</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        assert(ARY_OWNS_HEAP_P(ary));</div><div class='add'>+        assert(RARRAY_TRANSIENT_P(ary));</div><div class='add'>+        assert(!ARY_PTR_USING_P(ary));</div><div class='add'>+</div><div class='add'>+        if (promote) {</div><div class='add'>+            new_ptr = ALLOC_N(VALUE, capa);</div><div class='add'>+            RARY_TRANSIENT_UNSET(ary);</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            new_ptr = ary_heap_alloc(ary, capa);</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        MEMCPY(new_ptr, old_ptr, VALUE, capa);</div><div class='add'>+        /* do not use ARY_SET_PTR() because they assert !frozen */</div><div class='add'>+        RARRAY(ary)-&gt;as.heap.ptr = new_ptr;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    ary_verify(ary);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+rb_ary_transient_heap_evacuate(VALUE ary, int promote)</div><div class='add'>+{</div><div class='add'>+    rb_ary_transient_heap_evacuate_(ary, RARRAY_TRANSIENT_P(ary), promote);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+rb_ary_detransient(VALUE ary)</div><div class='add'>+{</div><div class='add'>+    assert(RARRAY_TRANSIENT_P(ary));</div><div class='add'>+    rb_ary_transient_heap_evacuate_(ary, TRUE, TRUE);</div><div class='add'>+}</div><div class='add'>+#else</div><div class='add'>+void</div><div class='add'>+rb_ary_detransient(VALUE ary)</div><div class='add'>+{</div><div class='add'>+    /* do nothing */</div><div class='add'>+}</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+ary_resize_capa(VALUE ary, long capacity)</div><div class='add'>+{</div><div class='add'>+    assert(RARRAY_LEN(ary) &lt;= capacity);</div><div class='add'>+    assert(!OBJ_FROZEN(ary));</div><div class='add'>+    assert(!ARY_SHARED_P(ary));</div><div class='add'>+</div><div class='add'>+    if (capacity &gt; RARRAY_EMBED_LEN_MAX) {</div><div class='add'>+        if (ARY_EMBED_P(ary)) {</div><div class='add'>+            long len = ARY_EMBED_LEN(ary);</div><div class='add'>+            VALUE *ptr = ary_heap_alloc(ary, capacity);</div><div class='add'>+</div><div class='add'>+            MEMCPY(ptr, ARY_EMBED_PTR(ary), VALUE, len);</div><div class='add'>+            FL_UNSET_EMBED(ary);</div><div class='add'>+            ARY_SET_PTR(ary, ptr);</div><div class='add'>+            ARY_SET_HEAP_LEN(ary, len);</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            ary_heap_realloc(ary, capacity);</div><div class='add'>+        }</div><div class='add'>+        ARY_SET_CAPA(ary, capacity);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        if (!ARY_EMBED_P(ary)) {</div><div class='add'>+            long len = ARY_HEAP_LEN(ary);</div><div class='add'>+            long old_capa = ARY_HEAP_CAPA(ary);</div><div class='add'>+            const VALUE *ptr = ARY_HEAP_PTR(ary);</div><div class='add'>+</div><div class='add'>+            if (len &gt; capacity) len = capacity;</div><div class='add'>+            MEMCPY((VALUE *)RARRAY(ary)-&gt;as.ary, ptr, VALUE, len);</div><div class='add'>+            ary_heap_free_ptr(ary, ptr, old_capa);</div><div class='add'>+</div><div class='add'>+            FL_SET_EMBED(ary);</div><div class='add'>+            ARY_SET_LEN(ary, len);</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    ary_verify(ary);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static inline void</div><div class='add'>+ary_shrink_capa(VALUE ary)</div><div class='add'>+{</div><div class='add'>+    long capacity = ARY_HEAP_LEN(ary);</div><div class='add'>+    long old_capa = ARY_HEAP_CAPA(ary);</div><div class='add'>+    assert(!ARY_SHARED_P(ary));</div><div class='add'>+    assert(old_capa &gt;= capacity);</div><div class='add'>+    if (old_capa &gt; capacity) ary_heap_realloc(ary, capacity);</div><div class='add'>+</div><div class='add'>+    ary_verify(ary);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+ary_double_capa(VALUE ary, long min)</div><div class='add'>+{</div><div class='add'>+    long new_capa = ARY_CAPA(ary) / 2;</div><div class='add'>+</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'>+    if (new_capa &gt;= ARY_MAX_SIZE - min) {</div><div class='add'>+	new_capa = (ARY_MAX_SIZE - min) / 2;</div><div class='add'>+    }</div><div class='add'>+    new_capa += min;</div><div class='add'>+    ary_resize_capa(ary, new_capa);</div><div class='add'>+</div><div class='add'>+    ary_verify(ary);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+rb_ary_decrement_share(VALUE shared_root)</div><div class='add'>+{</div><div class='add'>+    if (shared_root) {</div><div class='add'>+        long num = ARY_SHARED_ROOT_REFCNT(shared_root) - 1;</div><div class='add'>+	if (num == 0) {</div><div class='add'>+            rb_ary_free(shared_root);</div><div class='add'>+            rb_gc_force_recycle(shared_root);</div><div class='add'>+	}</div><div class='add'>+	else if (num &gt; 0) {</div><div class='add'>+            ARY_SET_SHARED_ROOT_REFCNT(shared_root, num);</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+rb_ary_unshare(VALUE ary)</div><div class='add'>+{</div><div class='add'>+    VALUE shared_root = RARRAY(ary)-&gt;as.heap.aux.shared_root;</div><div class='add'>+    rb_ary_decrement_share(shared_root);</div><div class='add'>+    FL_UNSET_SHARED(ary);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static inline void</div><div class='add'>+rb_ary_unshare_safe(VALUE ary)</div><div class='add'>+{</div><div class='add'>+    if (ARY_SHARED_P(ary) &amp;&amp; !ARY_EMBED_P(ary)) {</div><div class='add'>+	rb_ary_unshare(ary);</div><div class='add'>+    }</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_frozen_p(ary)</div><div class='del'>-    VALUE ary;</div><div class='add'>+rb_ary_increment_share(VALUE shared_root)</div><div class='add'>+{</div><div class='add'>+    long num = ARY_SHARED_ROOT_REFCNT(shared_root);</div><div class='add'>+    if (num &gt;= 0) {</div><div class='add'>+        ARY_SET_SHARED_ROOT_REFCNT(shared_root, num + 1);</div><div class='add'>+    }</div><div class='add'>+    return shared_root;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+rb_ary_set_shared(VALUE ary, VALUE shared_root)</div><div class='add'>+{</div><div class='add'>+    rb_ary_increment_share(shared_root);</div><div class='add'>+    FL_SET_SHARED(ary);</div><div class='add'>+    RB_DEBUG_COUNTER_INC(obj_ary_shared_create);</div><div class='add'>+    ARY_SET_SHARED(ary, shared_root);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static inline void</div><div class='add'>+rb_ary_modify_check(VALUE ary)</div><div class='add'>+{</div><div class='add'>+    rb_check_frozen(ary);</div><div class='add'>+    ary_verify(ary);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+rb_ary_cancel_sharing(VALUE ary)</div><div class='add'>+{</div><div class='add'>+    if (ARY_SHARED_P(ary)) {</div><div class='add'>+        long shared_len, len = RARRAY_LEN(ary);</div><div class='add'>+        VALUE shared_root = ARY_SHARED_ROOT(ary);</div><div class='add'>+</div><div class='add'>+        ary_verify(shared_root);</div><div class='add'>+</div><div class='add'>+        if (len &lt;= RARRAY_EMBED_LEN_MAX) {</div><div class='add'>+            const VALUE *ptr = ARY_HEAP_PTR(ary);</div><div class='add'>+            FL_UNSET_SHARED(ary);</div><div class='add'>+            FL_SET_EMBED(ary);</div><div class='add'>+            MEMCPY((VALUE *)ARY_EMBED_PTR(ary), ptr, VALUE, len);</div><div class='add'>+            rb_ary_decrement_share(shared_root);</div><div class='add'>+            ARY_SET_EMBED_LEN(ary, len);</div><div class='add'>+        }</div><div class='add'>+        else if (ARY_SHARED_ROOT_OCCUPIED(shared_root) &amp;&amp; len &gt; ((shared_len = RARRAY_LEN(shared_root))&gt;&gt;1)) {</div><div class='add'>+            long shift = RARRAY_CONST_PTR_TRANSIENT(ary) - RARRAY_CONST_PTR_TRANSIENT(shared_root);</div><div class='add'>+            FL_UNSET_SHARED(ary);</div><div class='add'>+            ARY_SET_PTR(ary, RARRAY_CONST_PTR_TRANSIENT(shared_root));</div><div class='add'>+            ARY_SET_CAPA(ary, shared_len);</div><div class='add'>+            RARRAY_PTR_USE_TRANSIENT(ary, ptr, {</div><div class='add'>+                MEMMOVE(ptr, ptr+shift, VALUE, len);</div><div class='add'>+            });</div><div class='add'>+            FL_SET_EMBED(shared_root);</div><div class='add'>+            rb_ary_decrement_share(shared_root);</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            VALUE *ptr = ary_heap_alloc(ary, len);</div><div class='add'>+            MEMCPY(ptr, ARY_HEAP_PTR(ary), VALUE, len);</div><div class='add'>+            rb_ary_unshare(ary);</div><div class='add'>+            ARY_SET_CAPA(ary, len);</div><div class='add'>+            ARY_SET_PTR(ary, ptr);</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        rb_gc_writebarrier_remember(ary);</div><div class='add'>+    }</div><div class='add'>+    ary_verify(ary);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+rb_ary_modify(VALUE ary)</div><div class='ctx'> {</div><div class='del'>-    if (FL_TEST(ary, ARY_FREEZE|ARY_TMPLOCK))</div><div class='add'>+    rb_ary_modify_check(ary);</div><div class='add'>+    rb_ary_cancel_sharing(ary);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ary_ensure_room_for_push(VALUE ary, long add_len)</div><div class='add'>+{</div><div class='add'>+    long old_len = RARRAY_LEN(ary);</div><div class='add'>+    long new_len = old_len + add_len;</div><div class='add'>+    long capa;</div><div class='add'>+</div><div class='add'>+    if (old_len &gt; ARY_MAX_SIZE - add_len) {</div><div class='add'>+	rb_raise(rb_eIndexError, "index %ld too big", new_len);</div><div class='add'>+    }</div><div class='add'>+    if (ARY_SHARED_P(ary)) {</div><div class='add'>+	if (new_len &gt; RARRAY_EMBED_LEN_MAX) {</div><div class='add'>+            VALUE shared_root = ARY_SHARED_ROOT(ary);</div><div class='add'>+            if (ARY_SHARED_ROOT_OCCUPIED(shared_root)) {</div><div class='add'>+                if (ARY_HEAP_PTR(ary) - RARRAY_CONST_PTR_TRANSIENT(shared_root) + new_len &lt;= RARRAY_LEN(shared_root)) {</div><div class='add'>+		    rb_ary_modify_check(ary);</div><div class='add'>+</div><div class='add'>+                    ary_verify(ary);</div><div class='add'>+                    ary_verify(shared_root);</div><div class='add'>+                    return shared_root;</div><div class='add'>+		}</div><div class='add'>+		else {</div><div class='add'>+		    /* if array is shared, then it is likely it participate in push/shift pattern */</div><div class='add'>+		    rb_ary_modify(ary);</div><div class='add'>+		    capa = ARY_CAPA(ary);</div><div class='add'>+		    if (new_len &gt; capa - (capa &gt;&gt; 6)) {</div><div class='add'>+			ary_double_capa(ary, new_len);</div><div class='add'>+		    }</div><div class='add'>+                    ary_verify(ary);</div><div class='add'>+		    return ary;</div><div class='add'>+		}</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+        ary_verify(ary);</div><div class='add'>+        rb_ary_modify(ary);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	rb_ary_modify_check(ary);</div><div class='add'>+    }</div><div class='add'>+    capa = ARY_CAPA(ary);</div><div class='add'>+    if (new_len &gt; capa) {</div><div class='add'>+	ary_double_capa(ary, new_len);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    ary_verify(ary);</div><div class='add'>+    return ary;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.freeze -&gt; self</div><div class='add'>+ *</div><div class='add'>+ *  Freezes +self+; returns +self+:</div><div class='add'>+ *    a = []</div><div class='add'>+ *    a.frozen? # =&gt; false</div><div class='add'>+ *    a.freeze</div><div class='add'>+ *    a.frozen? # =&gt; true</div><div class='add'>+ *</div><div class='add'>+ *  An attempt to modify a frozen \Array raises FrozenError.</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_ary_freeze(VALUE ary)</div><div class='add'>+{</div><div class='add'>+    return rb_obj_freeze(ary);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/* This can be used to take a snapshot of an array (with</div><div class='add'>+   e.g. rb_ary_replace) and check later whether the array has been</div><div class='add'>+   modified from the snapshot.  The snapshot is cheap, though if</div><div class='add'>+   something does modify the array it will pay the cost of copying</div><div class='add'>+   it.  If Array#pop or Array#shift has been called, the array will</div><div class='add'>+   be still shared with the snapshot, but the array length will</div><div class='add'>+   differ. */</div><div class='add'>+VALUE</div><div class='add'>+rb_ary_shared_with_p(VALUE ary1, VALUE ary2)</div><div class='add'>+{</div><div class='add'>+    if (!ARY_EMBED_P(ary1) &amp;&amp; ARY_SHARED_P(ary1) &amp;&amp;</div><div class='add'>+	!ARY_EMBED_P(ary2) &amp;&amp; ARY_SHARED_P(ary2) &amp;&amp;</div><div class='add'>+        RARRAY(ary1)-&gt;as.heap.aux.shared_root == RARRAY(ary2)-&gt;as.heap.aux.shared_root &amp;&amp;</div><div class='add'>+	RARRAY(ary1)-&gt;as.heap.len == RARRAY(ary2)-&gt;as.heap.len) {</div><div class='ctx'> 	return Qtrue;</div><div class='add'>+    }</div><div class='ctx'>     return Qfalse;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_ary_new2(len)</div><div class='del'>-    long len;</div><div class='add'>+static VALUE</div><div class='add'>+ary_alloc(VALUE klass)</div><div class='ctx'> {</div><div class='del'>-    NEWOBJ(ary, struct RArray);</div><div class='del'>-    OBJSETUP(ary, rb_cArray, T_ARRAY);</div><div class='add'>+    NEWOBJ_OF(ary, struct RArray, klass, T_ARRAY | RARRAY_EMBED_FLAG | (RGENGC_WB_PROTECTED_ARRAY ? FL_WB_PROTECTED : 0));</div><div class='add'>+    /* Created array is:</div><div class='add'>+     *   FL_SET_EMBED((VALUE)ary);</div><div class='add'>+     *   ARY_SET_EMBED_LEN((VALUE)ary, 0);</div><div class='add'>+     */</div><div class='add'>+    return (VALUE)ary;</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-    if (len &lt; 0) {</div><div class='add'>+static VALUE</div><div class='add'>+empty_ary_alloc(VALUE klass)</div><div class='add'>+{</div><div class='add'>+    RUBY_DTRACE_CREATE_HOOK(ARRAY, 0);</div><div class='add'>+    return ary_alloc(klass);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ary_new(VALUE klass, long capa)</div><div class='add'>+{</div><div class='add'>+    VALUE ary,*ptr;</div><div class='add'>+</div><div class='add'>+    if (capa &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 (len &gt; 0 &amp;&amp; len*sizeof(VALUE) &lt;= 0) {</div><div class='add'>+    if (capa &gt; ARY_MAX_SIZE) {</div><div class='ctx'> 	rb_raise(rb_eArgError, "array size too big");</div><div class='ctx'>     }</div><div class='del'>-    ary-&gt;len = 0;</div><div class='del'>-    ary-&gt;capa = len;</div><div class='del'>-    ary-&gt;ptr = 0;</div><div class='del'>-    if (len == 0) len++;</div><div class='del'>-    ary-&gt;ptr = ALLOC_N(VALUE, len);</div><div class='ctx'> </div><div class='del'>-    return (VALUE)ary;</div><div class='add'>+    RUBY_DTRACE_CREATE_HOOK(ARRAY, capa);</div><div class='add'>+</div><div class='add'>+    ary = ary_alloc(klass);</div><div class='add'>+    if (capa &gt; RARRAY_EMBED_LEN_MAX) {</div><div class='add'>+        ptr = ary_heap_alloc(ary, capa);</div><div class='add'>+        FL_UNSET_EMBED(ary);</div><div class='add'>+        ARY_SET_PTR(ary, ptr);</div><div class='add'>+        ARY_SET_CAPA(ary, capa);</div><div class='add'>+        ARY_SET_HEAP_LEN(ary, 0);</div><div class='add'>+    }</div><div class='add'>+</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_new()</div><div class='add'>+rb_ary_new_capa(long capa)</div><div class='ctx'> {</div><div class='del'>-    return rb_ary_new2(ARY_DEFAULT_SIZE);</div><div class='add'>+    return ary_new(rb_cArray, capa);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-#ifdef HAVE_STDARG_PROTOTYPES</div><div class='del'>-#include &lt;stdarg.h&gt;</div><div class='del'>-#define va_init_list(a,b) va_start(a,b)</div><div class='del'>-#else</div><div class='del'>-#include &lt;varargs.h&gt;</div><div class='del'>-#define va_init_list(a,b) va_start(a)</div><div class='del'>-#endif</div><div class='add'>+VALUE</div><div class='add'>+rb_ary_new(void)</div><div class='add'>+{</div><div class='add'>+    return rb_ary_new2(RARRAY_EMBED_LEN_MAX);</div><div class='add'>+}</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-#ifdef HAVE_STDARG_PROTOTYPES</div><div class='del'>-rb_ary_new3(long n, ...)</div><div class='del'>-#else</div><div class='del'>-rb_ary_new3(n, va_alist)</div><div class='del'>-    long n;</div><div class='del'>-    va_dcl</div><div class='del'>-#endif</div><div class='add'>+(rb_ary_new_from_args)(long n, ...)</div><div class='ctx'> {</div><div class='ctx'>     va_list ar;</div><div class='ctx'>     VALUE ary;</div><div class='ctx'>     long i;</div><div class='ctx'> </div><div class='del'>-    if (n &lt; 0) {</div><div class='del'>-	rb_raise(rb_eIndexError, "negative number of items(%d)", n);</div><div class='del'>-    }</div><div class='del'>-    ary = rb_ary_new2(n&lt;ARY_DEFAULT_SIZE?ARY_DEFAULT_SIZE:n);</div><div class='add'>+    ary = rb_ary_new2(n);</div><div class='ctx'> </div><div class='del'>-    va_init_list(ar, n);</div><div class='add'>+    va_start(ar, n);</div><div class='ctx'>     for (i=0; i&lt;n; i++) {</div><div class='del'>-	RARRAY(ary)-&gt;ptr[i] = va_arg(ar, VALUE);</div><div class='add'>+	ARY_SET(ary, i, va_arg(ar, VALUE));</div><div class='ctx'>     }</div><div class='ctx'>     va_end(ar);</div><div class='ctx'> </div><div class='del'>-    RARRAY(ary)-&gt;len = n;</div><div class='add'>+    ARY_SET_LEN(ary, n);</div><div class='ctx'>     return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_ary_new4(n, elts)</div><div class='del'>-    long n;</div><div class='del'>-    VALUE *elts;</div><div class='add'>+MJIT_FUNC_EXPORTED VALUE</div><div class='add'>+rb_ary_tmp_new_from_values(VALUE klass, long n, const VALUE *elts)</div><div class='ctx'> {</div><div class='ctx'>     VALUE ary;</div><div class='ctx'> </div><div class='del'>-    ary = rb_ary_new2(n);</div><div class='del'>-    if (elts) {</div><div class='del'>-	MEMCPY(RARRAY(ary)-&gt;ptr, elts, VALUE, n);</div><div class='add'>+    ary = ary_new(klass, n);</div><div class='add'>+    if (n &gt; 0 &amp;&amp; elts) {</div><div class='add'>+	ary_memcpy(ary, 0, n, elts);</div><div class='add'>+	ARY_SET_LEN(ary, n);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return ary;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_ary_new_from_values(long n, const VALUE *elts)</div><div class='add'>+{</div><div class='add'>+    return rb_ary_tmp_new_from_values(rb_cArray, n, elts);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ec_ary_alloc(rb_execution_context_t *ec, VALUE klass)</div><div class='add'>+{</div><div class='add'>+    RB_EC_NEWOBJ_OF(ec, ary, struct RArray, klass, T_ARRAY | RARRAY_EMBED_FLAG | (RGENGC_WB_PROTECTED_ARRAY ? FL_WB_PROTECTED : 0));</div><div class='add'>+    /* Created array is:</div><div class='add'>+     *   FL_SET_EMBED((VALUE)ary);</div><div class='add'>+     *   ARY_SET_EMBED_LEN((VALUE)ary, 0);</div><div class='add'>+     */</div><div class='add'>+    return (VALUE)ary;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ec_ary_new(rb_execution_context_t *ec, VALUE klass, long capa)</div><div class='add'>+{</div><div class='add'>+    VALUE ary,*ptr;</div><div class='add'>+</div><div class='add'>+    if (capa &lt; 0) {</div><div class='add'>+	rb_raise(rb_eArgError, "negative array size (or size too big)");</div><div class='add'>+    }</div><div class='add'>+    if (capa &gt; ARY_MAX_SIZE) {</div><div class='add'>+	rb_raise(rb_eArgError, "array size too big");</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    RUBY_DTRACE_CREATE_HOOK(ARRAY, capa);</div><div class='add'>+</div><div class='add'>+    ary = ec_ary_alloc(ec, klass);</div><div class='add'>+</div><div class='add'>+    if (capa &gt; RARRAY_EMBED_LEN_MAX) {</div><div class='add'>+        ptr = ary_heap_alloc(ary, capa);</div><div class='add'>+        FL_UNSET_EMBED(ary);</div><div class='add'>+        ARY_SET_PTR(ary, ptr);</div><div class='add'>+        ARY_SET_CAPA(ary, capa);</div><div class='add'>+        ARY_SET_HEAP_LEN(ary, 0);</div><div class='ctx'>     }</div><div class='del'>-    RARRAY(ary)-&gt;len = n;</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_assoc_new(car, cdr)</div><div class='del'>-    VALUE car, cdr;</div><div class='add'>+rb_ec_ary_new_from_values(rb_execution_context_t *ec, long n, const VALUE *elts)</div><div class='ctx'> {</div><div class='ctx'>     VALUE ary;</div><div class='ctx'> </div><div class='del'>-    ary = rb_ary_new2(2);</div><div class='del'>-    RARRAY(ary)-&gt;ptr[0] = car;</div><div class='del'>-    RARRAY(ary)-&gt;ptr[1] = cdr;</div><div class='del'>-    RARRAY(ary)-&gt;len = 2;</div><div class='add'>+    ary = ec_ary_new(ec, rb_cArray, n);</div><div class='add'>+    if (n &gt; 0 &amp;&amp; elts) {</div><div class='add'>+	ary_memcpy(ary, 0, n, elts);</div><div class='add'>+	ARY_SET_LEN(ary, n);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return ary;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_ary_tmp_new(long capa)</div><div class='add'>+{</div><div class='add'>+    VALUE ary = ary_new(0, capa);</div><div class='add'>+    rb_ary_transient_heap_evacuate(ary, TRUE);</div><div class='add'>+    return ary;</div><div class='add'>+}</div><div class='ctx'> </div><div class='add'>+VALUE</div><div class='add'>+rb_ary_tmp_new_fill(long capa)</div><div class='add'>+{</div><div class='add'>+    VALUE ary = ary_new(0, capa);</div><div class='add'>+    ary_memfill(ary, 0, capa, Qnil);</div><div class='add'>+    ARY_SET_LEN(ary, capa);</div><div class='add'>+    rb_ary_transient_heap_evacuate(ary, TRUE);</div><div class='ctx'>     return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+void</div><div class='add'>+rb_ary_free(VALUE ary)</div><div class='add'>+{</div><div class='add'>+    if (ARY_OWNS_HEAP_P(ary)) {</div><div class='add'>+        if (USE_DEBUG_COUNTER &amp;&amp;</div><div class='add'>+            !ARY_SHARED_ROOT_P(ary) &amp;&amp;</div><div class='add'>+            ARY_HEAP_CAPA(ary) &gt; RARRAY_LEN(ary)) {</div><div class='add'>+            RB_DEBUG_COUNTER_INC(obj_ary_extracapa);</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        if (RARRAY_TRANSIENT_P(ary)) {</div><div class='add'>+            RB_DEBUG_COUNTER_INC(obj_ary_transient);</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            RB_DEBUG_COUNTER_INC(obj_ary_ptr);</div><div class='add'>+            ary_heap_free(ary);</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        RB_DEBUG_COUNTER_INC(obj_ary_embed);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (ARY_SHARED_P(ary)) {</div><div class='add'>+        RB_DEBUG_COUNTER_INC(obj_ary_shared);</div><div class='add'>+    }</div><div class='add'>+    if (ARY_SHARED_ROOT_P(ary) &amp;&amp; ARY_SHARED_ROOT_OCCUPIED(ary)) {</div><div class='add'>+        RB_DEBUG_COUNTER_INC(obj_ary_shared_root_occupied);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+RUBY_FUNC_EXPORTED size_t</div><div class='add'>+rb_ary_memsize(VALUE ary)</div><div class='add'>+{</div><div class='add'>+    if (ARY_OWNS_HEAP_P(ary)) {</div><div class='add'>+	return ARY_CAPA(ary) * sizeof(VALUE);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	return 0;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static inline void</div><div class='add'>+ary_discard(VALUE ary)</div><div class='add'>+{</div><div class='add'>+    rb_ary_free(ary);</div><div class='add'>+    RBASIC(ary)-&gt;flags |= RARRAY_EMBED_FLAG;</div><div class='add'>+    RBASIC(ary)-&gt;flags &amp;= ~(RARRAY_EMBED_LEN_MASK | RARRAY_TRANSIENT_FLAG);</div><div class='add'>+}</div><div class='add'>+</div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_s_new(argc, argv, klass)</div><div class='del'>-    int argc;</div><div class='del'>-    VALUE *argv;</div><div class='del'>-    VALUE klass;</div><div class='add'>+ary_make_shared(VALUE ary)</div><div class='ctx'> {</div><div class='del'>-    long len = 0;</div><div class='del'>-    VALUE size, val;</div><div class='del'>-    NEWOBJ(ary, struct RArray);</div><div class='del'>-    OBJSETUP(ary, klass, T_ARRAY);</div><div class='add'>+    assert(!ARY_EMBED_P(ary));</div><div class='add'>+    ary_verify(ary);</div><div class='ctx'> </div><div class='del'>-    ary-&gt;len = 0;</div><div class='del'>-    ary-&gt;ptr = 0;</div><div class='del'>-    if (rb_scan_args(argc, argv, "02", &amp;size, &amp;val) == 0) {</div><div class='del'>-	ary-&gt;capa = ARY_DEFAULT_SIZE;</div><div class='add'>+    if (ARY_SHARED_P(ary)) {</div><div class='add'>+        return ARY_SHARED_ROOT(ary);</div><div class='add'>+    }</div><div class='add'>+    else if (ARY_SHARED_ROOT_P(ary)) {</div><div class='add'>+	return ary;</div><div class='add'>+    }</div><div class='add'>+    else if (OBJ_FROZEN(ary)) {</div><div class='add'>+        rb_ary_transient_heap_evacuate(ary, TRUE);</div><div class='add'>+	ary_shrink_capa(ary);</div><div class='add'>+	FL_SET_SHARED_ROOT(ary);</div><div class='add'>+        ARY_SET_SHARED_ROOT_REFCNT(ary, 1);</div><div class='add'>+	return ary;</div><div class='ctx'>     }</div><div class='ctx'>     else {</div><div class='del'>-	long capa = NUM2LONG(size);</div><div class='add'>+	long capa = ARY_CAPA(ary), len = RARRAY_LEN(ary);</div><div class='add'>+        const VALUE *ptr;</div><div class='add'>+	NEWOBJ_OF(shared, struct RArray, 0, T_ARRAY | (RGENGC_WB_PROTECTED_ARRAY ? FL_WB_PROTECTED : 0));</div><div class='add'>+        VALUE vshared = (VALUE)shared;</div><div class='add'>+</div><div class='add'>+        rb_ary_transient_heap_evacuate(ary, TRUE);</div><div class='add'>+        ptr = ARY_HEAP_PTR(ary);</div><div class='add'>+</div><div class='add'>+        FL_UNSET_EMBED(vshared);</div><div class='add'>+        ARY_SET_LEN(vshared, capa);</div><div class='add'>+        ARY_SET_PTR(vshared, ptr);</div><div class='add'>+        ary_mem_clear(vshared, len, capa - len);</div><div class='add'>+        FL_SET_SHARED_ROOT(vshared);</div><div class='add'>+        ARY_SET_SHARED_ROOT_REFCNT(vshared, 1);</div><div class='add'>+	FL_SET_SHARED(ary);</div><div class='add'>+        RB_DEBUG_COUNTER_INC(obj_ary_shared_create);</div><div class='add'>+        ARY_SET_SHARED(ary, vshared);</div><div class='add'>+        OBJ_FREEZE(vshared);</div><div class='add'>+</div><div class='add'>+        ary_verify(vshared);</div><div class='add'>+        ary_verify(ary);</div><div class='add'>+</div><div class='add'>+        return vshared;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-	if (capa &lt; 0) {</div><div class='del'>-	    rb_raise(rb_eArgError, "negative array size");</div><div class='del'>-	}</div><div class='del'>-	if (capa &gt; 0 &amp;&amp; capa*sizeof(VALUE) &lt;= 0) {</div><div class='del'>-	    rb_raise(rb_eArgError, "array size too big");</div><div class='del'>-	}</div><div class='del'>-	ary-&gt;capa = capa;</div><div class='del'>-	len = capa;</div><div class='add'>+static VALUE</div><div class='add'>+ary_make_substitution(VALUE ary)</div><div class='add'>+{</div><div class='add'>+    long len = RARRAY_LEN(ary);</div><div class='add'>+</div><div class='add'>+    if (len &lt;= RARRAY_EMBED_LEN_MAX) {</div><div class='add'>+	VALUE subst = rb_ary_new2(len);</div><div class='add'>+        ary_memcpy(subst, 0, len, RARRAY_CONST_PTR_TRANSIENT(ary));</div><div class='add'>+        ARY_SET_EMBED_LEN(subst, len);</div><div class='add'>+        return subst;</div><div class='ctx'>     }</div><div class='del'>-    ary-&gt;ptr = ALLOC_N(VALUE, ary-&gt;capa);</div><div class='del'>-    memfill(ary-&gt;ptr, len, val);</div><div class='del'>-    ary-&gt;len = len;</div><div class='add'>+    else {</div><div class='add'>+        return rb_ary_increment_share(ary_make_shared(ary));</div><div class='add'>+    }</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-    return (VALUE)ary;</div><div class='add'>+VALUE</div><div class='add'>+rb_assoc_new(VALUE car, VALUE cdr)</div><div class='add'>+{</div><div class='add'>+    return rb_ary_new3(2, car, cdr);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_to_array_type(VALUE ary)</div><div class='add'>+{</div><div class='add'>+    return rb_convert_type_with_id(ary, T_ARRAY, "Array", idTo_ary);</div><div class='add'>+}</div><div class='add'>+#define to_ary rb_to_array_type</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_check_array_type(VALUE ary)</div><div class='add'>+{</div><div class='add'>+    return rb_check_convert_type_with_id(ary, T_ARRAY, "Array", idTo_ary);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+MJIT_FUNC_EXPORTED VALUE</div><div class='add'>+rb_check_to_array(VALUE ary)</div><div class='add'>+{</div><div class='add'>+    return rb_check_convert_type_with_id(ary, T_ARRAY, "Array", idTo_a);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    Array.try_convert(object) -&gt; object, new_array, or nil</div><div class='add'>+ *</div><div class='add'>+ *  If +object+ is an \Array object, returns +object+.</div><div class='add'>+ *</div><div class='add'>+ *  Otherwise if +object+ responds to &lt;tt&gt;:to_ary&lt;/tt&gt;,</div><div class='add'>+ *  calls &lt;tt&gt;object.to_ary&lt;/tt&gt; and returns the result.</div><div class='add'>+ *</div><div class='add'>+ *  Returns +nil+ if +object+ does not respond to &lt;tt&gt;:to_ary&lt;/tt&gt;</div><div class='add'>+ *</div><div class='add'>+ *  Raises an exception unless &lt;tt&gt;object.to_ary&lt;/tt&gt; returns an \Array object.</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_s_create(argc, argv, klass)</div><div class='del'>-    int argc;</div><div class='del'>-    VALUE *argv;</div><div class='del'>-    VALUE klass;</div><div class='add'>+rb_ary_s_try_convert(VALUE dummy, VALUE ary)</div><div class='add'>+{</div><div class='add'>+    return rb_check_array_type(ary);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    Array.new -&gt; new_empty_array</div><div class='add'>+ *    Array.new(array) -&gt; new_array</div><div class='add'>+ *    Array.new(size) -&gt; new_array</div><div class='add'>+ *    Array.new(size, default_value) -&gt; new_array</div><div class='add'>+ *    Array.new(size) {|index| ... } -&gt; new_array</div><div class='add'>+ *</div><div class='add'>+ *  Returns a new \Array.</div><div class='add'>+ *</div><div class='add'>+ *  With no block and no arguments, returns a new empty \Array object.</div><div class='add'>+ *</div><div class='add'>+ *  With no block and a single \Array argument +array+,</div><div class='add'>+ *  returns a new \Array formed from +array+:</div><div class='add'>+ *    a = Array.new([:foo, 'bar', 2])</div><div class='add'>+ *    a.class # =&gt; Array</div><div class='add'>+ *    a # =&gt; [:foo, "bar", 2]</div><div class='add'>+ *</div><div class='add'>+ *  With no block and a single \Integer argument +size+,</div><div class='add'>+ *  returns a new \Array of the given size</div><div class='add'>+ *  whose elements are all +nil+:</div><div class='add'>+ *    a = Array.new(3)</div><div class='add'>+ *    a # =&gt; [nil, nil, nil]</div><div class='add'>+ *</div><div class='add'>+ *  With no block and arguments +size+ and +default_value+,</div><div class='add'>+ *  returns an \Array of the given size;</div><div class='add'>+ *  each element is that same +default_value+:</div><div class='add'>+ *    a = Array.new(3, 'x')</div><div class='add'>+ *    a # =&gt; ['x', 'x', 'x']</div><div class='add'>+ *</div><div class='add'>+ *  With a block and argument +size+,</div><div class='add'>+ *  returns an \Array of the given size;</div><div class='add'>+ *  the block is called with each successive integer +index+;</div><div class='add'>+ *  the element for that +index+ is the return value from the block:</div><div class='add'>+ *    a = Array.new(3) {|index| "Element #{index}" }</div><div class='add'>+ *    a # =&gt; ["Element 0", "Element 1", "Element 2"]</div><div class='add'>+ *</div><div class='add'>+ *  Raises ArgumentError if +size+ is negative.</div><div class='add'>+ *</div><div class='add'>+ *  With a block and no argument,</div><div class='add'>+ *  or a single argument +0+,</div><div class='add'>+ *  ignores the block and returns a new empty \Array.</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_initialize(int argc, VALUE *argv, VALUE ary)</div><div class='ctx'> {</div><div class='del'>-    NEWOBJ(ary, struct RArray);</div><div class='del'>-    OBJSETUP(ary, klass, T_ARRAY);</div><div class='add'>+    long len;</div><div class='add'>+    VALUE size, val;</div><div class='ctx'> </div><div class='del'>-    ary-&gt;len = ary-&gt;capa = 0;</div><div class='add'>+    rb_ary_modify(ary);</div><div class='ctx'>     if (argc == 0) {</div><div class='del'>-	ary-&gt;ptr = 0;</div><div class='add'>+        if (ARY_OWNS_HEAP_P(ary) &amp;&amp; ARY_HEAP_PTR(ary) != NULL) {</div><div class='add'>+            ary_heap_free(ary);</div><div class='add'>+	}</div><div class='add'>+        rb_ary_unshare_safe(ary);</div><div class='add'>+        FL_SET_EMBED(ary);</div><div class='add'>+	ARY_SET_EMBED_LEN(ary, 0);</div><div class='add'>+	if (rb_block_given_p()) {</div><div class='add'>+	    rb_warning("given block not used");</div><div class='add'>+	}</div><div class='add'>+	return ary;</div><div class='add'>+    }</div><div class='add'>+    rb_scan_args(argc, argv, "02", &amp;size, &amp;val);</div><div class='add'>+    if (argc == 1 &amp;&amp; !FIXNUM_P(size)) {</div><div class='add'>+	val = rb_check_array_type(size);</div><div class='add'>+	if (!NIL_P(val)) {</div><div class='add'>+	    rb_ary_replace(ary, val);</div><div class='add'>+	    return ary;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    len = NUM2LONG(size);</div><div class='add'>+    /* NUM2LONG() may call size.to_int, ary can be frozen, modified, etc */</div><div class='add'>+    if (len &lt; 0) {</div><div class='add'>+	rb_raise(rb_eArgError, "negative array size");</div><div class='add'>+    }</div><div class='add'>+    if (len &gt; ARY_MAX_SIZE) {</div><div class='add'>+	rb_raise(rb_eArgError, "array size too big");</div><div class='add'>+    }</div><div class='add'>+    /* recheck after argument conversion */</div><div class='add'>+    rb_ary_modify(ary);</div><div class='add'>+    ary_resize_capa(ary, len);</div><div class='add'>+    if (rb_block_given_p()) {</div><div class='add'>+	long i;</div><div class='add'>+</div><div class='add'>+	if (argc == 2) {</div><div class='add'>+	    rb_warn("block supersedes default value argument");</div><div class='add'>+	}</div><div class='add'>+	for (i=0; i&lt;len; i++) {</div><div class='add'>+	    rb_ary_store(ary, i, rb_yield(LONG2NUM(i)));</div><div class='add'>+	    ARY_SET_LEN(ary, i + 1);</div><div class='add'>+	}</div><div class='ctx'>     }</div><div class='ctx'>     else {</div><div class='del'>-	ary-&gt;ptr = ALLOC_N(VALUE, argc);</div><div class='del'>-	MEMCPY(ary-&gt;ptr, argv, VALUE, argc);</div><div class='add'>+	ary_memfill(ary, 0, len, val);</div><div class='add'>+	ARY_SET_LEN(ary, len);</div><div class='ctx'>     }</div><div class='del'>-    ary-&gt;len = ary-&gt;capa = argc;</div><div class='add'>+    return ary;</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-    return (VALUE)ary;</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/)  # =&gt; [1, "a", /^A/]</div><div class='add'>+ *   Array[ 1, 'a', /^A/ ]    # =&gt; [1, "a", /^A/]</div><div class='add'>+ *   [ 1, 'a', /^A/ ]         # =&gt; [1, "a", /^A/]</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_s_create(int argc, VALUE *argv, VALUE klass)</div><div class='add'>+{</div><div class='add'>+    VALUE ary = ary_new(klass, argc);</div><div class='add'>+    if (argc &gt; 0 &amp;&amp; argv) {</div><div class='add'>+        ary_memcpy(ary, 0, argc, argv);</div><div class='add'>+        ARY_SET_LEN(ary, argc);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> void</div><div class='del'>-rb_ary_store(ary, idx, val)</div><div class='del'>-    VALUE ary;</div><div class='del'>-    long idx;</div><div class='del'>-    VALUE val;</div><div class='add'>+rb_ary_store(VALUE ary, long idx, VALUE val)</div><div class='ctx'> {</div><div class='del'>-    rb_ary_modify(ary);</div><div class='add'>+    long len = RARRAY_LEN(ary);</div><div class='add'>+</div><div class='ctx'>     if (idx &lt; 0) {</div><div class='del'>-	idx += RARRAY(ary)-&gt;len;</div><div class='add'>+	idx += len;</div><div class='ctx'> 	if (idx &lt; 0) {</div><div class='del'>-	    rb_raise(rb_eIndexError, "index %d out of array",</div><div class='del'>-		     idx - RARRAY(ary)-&gt;len);</div><div class='add'>+	    rb_raise(rb_eIndexError, "index %ld too small for array; minimum: %ld",</div><div class='add'>+		     idx - len, -len);</div><div class='ctx'> 	}</div><div class='ctx'>     }</div><div class='add'>+    else if (idx &gt;= ARY_MAX_SIZE) {</div><div class='add'>+	rb_raise(rb_eIndexError, "index %ld too big", idx);</div><div class='add'>+    }</div><div class='ctx'> </div><div class='del'>-    if (idx &gt;= RARRAY(ary)-&gt;capa) {</div><div class='del'>-	long capa_inc = RARRAY(ary)-&gt;capa / 2;</div><div class='del'>-	if (capa_inc &lt; ARY_DEFAULT_SIZE) {</div><div class='del'>-	    capa_inc = ARY_DEFAULT_SIZE;</div><div class='del'>-	}</div><div class='del'>-	RARRAY(ary)-&gt;capa = idx + capa_inc;</div><div class='del'>-	REALLOC_N(RARRAY(ary)-&gt;ptr, VALUE, RARRAY(ary)-&gt;capa);</div><div class='add'>+    rb_ary_modify(ary);</div><div class='add'>+    if (idx &gt;= ARY_CAPA(ary)) {</div><div class='add'>+	ary_double_capa(ary, idx);</div><div class='ctx'>     }</div><div class='del'>-    if (idx &gt; RARRAY(ary)-&gt;len) {</div><div class='del'>-	rb_mem_clear(RARRAY(ary)-&gt;ptr+RARRAY(ary)-&gt;len,</div><div class='del'>-		     idx-RARRAY(ary)-&gt;len+1);</div><div class='add'>+    if (idx &gt; len) {</div><div class='add'>+	ary_mem_clear(ary, len, idx - len + 1);</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='del'>-    if (idx &gt;= RARRAY(ary)-&gt;len) {</div><div class='del'>-	RARRAY(ary)-&gt;len = idx + 1;</div><div class='add'>+    if (idx &gt;= len) {</div><div class='add'>+	ARY_SET_LEN(ary, idx + 1);</div><div class='ctx'>     }</div><div class='del'>-    RARRAY(ary)-&gt;ptr[idx] = val;</div><div class='add'>+    ARY_SET(ary, idx, val);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_ary_push(ary, item)</div><div class='del'>-    VALUE ary;</div><div class='del'>-    VALUE item;</div><div class='add'>+static VALUE</div><div class='add'>+ary_make_partial(VALUE ary, VALUE klass, long offset, long len)</div><div class='ctx'> {</div><div class='del'>-    rb_ary_store(ary, RARRAY(ary)-&gt;len, item);</div><div class='del'>-    return ary;</div><div class='add'>+    assert(offset &gt;= 0);</div><div class='add'>+    assert(len &gt;= 0);</div><div class='add'>+    assert(offset+len &lt;= RARRAY_LEN(ary));</div><div class='add'>+</div><div class='add'>+    if (len &lt;= RARRAY_EMBED_LEN_MAX) {</div><div class='add'>+        VALUE result = ary_alloc(klass);</div><div class='add'>+        ary_memcpy(result, 0, len, RARRAY_CONST_PTR_TRANSIENT(ary) + offset);</div><div class='add'>+        ARY_SET_EMBED_LEN(result, len);</div><div class='add'>+        return result;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        VALUE shared, result = ary_alloc(klass);</div><div class='add'>+        FL_UNSET_EMBED(result);</div><div class='add'>+</div><div class='add'>+        shared = ary_make_shared(ary);</div><div class='add'>+        ARY_SET_PTR(result, RARRAY_CONST_PTR_TRANSIENT(ary));</div><div class='add'>+        ARY_SET_LEN(result, RARRAY_LEN(ary));</div><div class='add'>+        rb_ary_set_shared(result, shared);</div><div class='add'>+</div><div class='add'>+        ARY_INCREASE_PTR(result, offset);</div><div class='add'>+        ARY_SET_LEN(result, len);</div><div class='add'>+</div><div class='add'>+        ary_verify(shared);</div><div class='add'>+        ary_verify(result);</div><div class='add'>+        return result;</div><div class='add'>+    }</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_push_method(argc, argv, ary)</div><div class='del'>-    int argc;</div><div class='del'>-    VALUE *argv;</div><div class='del'>-    VALUE ary;</div><div class='add'>+ary_make_partial_step(VALUE ary, VALUE klass, long offset, long len, long step)</div><div class='ctx'> {</div><div class='del'>-    while (argc--) {</div><div class='del'>-	rb_ary_store(ary, RARRAY(ary)-&gt;len, *argv++);</div><div class='add'>+    assert(offset &gt;= 0);</div><div class='add'>+    assert(len &gt;= 0);</div><div class='add'>+    assert(offset+len &lt;= RARRAY_LEN(ary));</div><div class='add'>+    assert(step != 0);</div><div class='add'>+</div><div class='add'>+    const VALUE *values = RARRAY_CONST_PTR_TRANSIENT(ary);</div><div class='add'>+    const long orig_len = len;</div><div class='add'>+</div><div class='add'>+    if ((step &gt; 0 &amp;&amp; step &gt;= len) || (step &lt; 0 &amp;&amp; (step &lt; -len))) {</div><div class='add'>+        VALUE result = ary_new(klass, 1);</div><div class='add'>+        VALUE *ptr = (VALUE *)ARY_EMBED_PTR(result);</div><div class='add'>+        RB_OBJ_WRITE(result, ptr, values[offset]);</div><div class='add'>+        ARY_SET_EMBED_LEN(result, 1);</div><div class='add'>+        return result;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    long ustep = (step &lt; 0) ? -step : step;</div><div class='add'>+    len = (len + ustep - 1) / ustep;</div><div class='add'>+</div><div class='add'>+    long i;</div><div class='add'>+    long j = offset + ((step &gt; 0) ? 0 : (orig_len - 1));</div><div class='add'>+    VALUE result = ary_new(klass, len);</div><div class='add'>+    if (len &lt;= RARRAY_EMBED_LEN_MAX) {</div><div class='add'>+        VALUE *ptr = (VALUE *)ARY_EMBED_PTR(result);</div><div class='add'>+        for (i = 0; i &lt; len; ++i) {</div><div class='add'>+            RB_OBJ_WRITE(result, ptr+i, values[j]);</div><div class='add'>+            j += step;</div><div class='add'>+        }</div><div class='add'>+        ARY_SET_EMBED_LEN(result, len);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        RARRAY_PTR_USE_TRANSIENT(result, ptr, {</div><div class='add'>+            for (i = 0; i &lt; len; ++i) {</div><div class='add'>+                RB_OBJ_WRITE(result, ptr+i, values[j]);</div><div class='add'>+                j += step;</div><div class='add'>+            }</div><div class='add'>+        });</div><div class='add'>+        ARY_SET_LEN(result, len);</div><div class='ctx'>     }</div><div class='add'>+</div><div class='add'>+    return result;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ary_make_shared_copy(VALUE ary)</div><div class='add'>+{</div><div class='add'>+    return ary_make_partial(ary, rb_cArray, 0, RARRAY_LEN(ary));</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+enum ary_take_pos_flags</div><div class='add'>+{</div><div class='add'>+    ARY_TAKE_FIRST = 0,</div><div class='add'>+    ARY_TAKE_LAST = 1</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ary_take_first_or_last(int argc, const VALUE *argv, VALUE ary, enum ary_take_pos_flags last)</div><div class='add'>+{</div><div class='add'>+    long n;</div><div class='add'>+    long len;</div><div class='add'>+    long offset = 0;</div><div class='add'>+</div><div class='add'>+    argc = rb_check_arity(argc, 0, 1);</div><div class='add'>+    /* the case optional argument is omitted should be handled in</div><div class='add'>+     * callers of this function.  if another arity case is added,</div><div class='add'>+     * this arity check needs to rewrite. */</div><div class='add'>+    RUBY_ASSERT_ALWAYS(argc == 1);</div><div class='add'>+</div><div class='add'>+    n = NUM2LONG(argv[0]);</div><div class='add'>+    len = RARRAY_LEN(ary);</div><div class='add'>+    if (n &gt; len) {</div><div class='add'>+	n = len;</div><div class='add'>+    }</div><div class='add'>+    else if (n &lt; 0) {</div><div class='add'>+	rb_raise(rb_eArgError, "negative array size");</div><div class='add'>+    }</div><div class='add'>+    if (last) {</div><div class='add'>+	offset = len - n;</div><div class='add'>+    }</div><div class='add'>+    return ary_make_partial(ary, rb_cArray, offset, n);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array &lt;&lt; object -&gt; self</div><div class='add'>+ *</div><div class='add'>+ *  Appends +object+ to +self+; returns +self+:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a &lt;&lt; :baz # =&gt; [:foo, "bar", 2, :baz]</div><div class='add'>+ *</div><div class='add'>+ *  Appends +object+ as one element, even if it is another \Array:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a1 = a &lt;&lt; [3, 4]</div><div class='add'>+ *    a1 # =&gt; [:foo, "bar", 2, [3, 4]]</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_ary_push(VALUE ary, VALUE item)</div><div class='add'>+{</div><div class='add'>+    long idx = RARRAY_LEN((ary_verify(ary), ary));</div><div class='add'>+    VALUE target_ary = ary_ensure_room_for_push(ary, 1);</div><div class='add'>+    RARRAY_PTR_USE_TRANSIENT(ary, ptr, {</div><div class='add'>+	RB_OBJ_WRITE(target_ary, &amp;ptr[idx], item);</div><div class='add'>+    });</div><div class='add'>+    ARY_SET_LEN(ary, idx + 1);</div><div class='add'>+    ary_verify(ary);</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_pop(ary)</div><div class='del'>-    VALUE ary;</div><div class='add'>+rb_ary_cat(VALUE ary, const VALUE *argv, long len)</div><div class='ctx'> {</div><div class='del'>-    if (RARRAY(ary)-&gt;len == 0) return Qnil;</div><div class='del'>-    if (RARRAY(ary)-&gt;len * 10 &lt; RARRAY(ary)-&gt;capa &amp;&amp; RARRAY(ary)-&gt;capa &gt; ARY_DEFAULT_SIZE) {</div><div class='del'>-	RARRAY(ary)-&gt;capa = RARRAY(ary)-&gt;len * 2;</div><div class='del'>-	REALLOC_N(RARRAY(ary)-&gt;ptr, VALUE, RARRAY(ary)-&gt;capa);</div><div class='del'>-    }</div><div class='del'>-    return RARRAY(ary)-&gt;ptr[--RARRAY(ary)-&gt;len];</div><div class='add'>+    long oldlen = RARRAY_LEN(ary);</div><div class='add'>+    VALUE target_ary = ary_ensure_room_for_push(ary, len);</div><div class='add'>+    ary_memcpy0(ary, oldlen, len, argv, target_ary);</div><div class='add'>+    ARY_SET_LEN(ary, oldlen + len);</div><div class='add'>+    return ary;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.push(*objects) -&gt; self</div><div class='add'>+ *</div><div class='add'>+ *  Appends trailing elements.</div><div class='add'>+ *</div><div class='add'>+ *  Appends each argument in +objects+ to +self+;  returns +self+:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.push(:baz, :bat) # =&gt; [:foo, "bar", 2, :baz, :bat]</div><div class='add'>+ *</div><div class='add'>+ *  Appends each argument as one element, even if it is another \Array:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a1 = a.push([:baz, :bat], [:bam, :bad])</div><div class='add'>+ *    a1 # =&gt; [:foo, "bar", 2, [:baz, :bat], [:bam, :bad]]</div><div class='add'>+ *</div><div class='add'>+ *  Array#append is an alias for \Array#push.</div><div class='add'>+ *</div><div class='add'>+ *  Related: #pop, #shift, #unshift.</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_push_m(int argc, VALUE *argv, VALUE ary)</div><div class='add'>+{</div><div class='add'>+    return rb_ary_cat(ary, argv, argc);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_ary_shift(ary)</div><div class='del'>-    VALUE ary;</div><div class='add'>+rb_ary_pop(VALUE ary)</div><div class='ctx'> {</div><div class='del'>-    VALUE top;</div><div class='add'>+    long n;</div><div class='add'>+    rb_ary_modify_check(ary);</div><div class='add'>+    n = RARRAY_LEN(ary);</div><div class='add'>+    if (n == 0) return Qnil;</div><div class='add'>+    if (ARY_OWNS_HEAP_P(ary) &amp;&amp;</div><div class='add'>+	n * 3 &lt; ARY_CAPA(ary) &amp;&amp;</div><div class='add'>+	ARY_CAPA(ary) &gt; ARY_DEFAULT_SIZE)</div><div class='add'>+    {</div><div class='add'>+	ary_resize_capa(ary, n * 2);</div><div class='add'>+    }</div><div class='add'>+    --n;</div><div class='add'>+    ARY_SET_LEN(ary, n);</div><div class='add'>+    ary_verify(ary);</div><div class='add'>+    return RARRAY_AREF(ary, n);</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-    if (RARRAY(ary)-&gt;len == 0) return Qnil;</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.pop -&gt; object or nil</div><div class='add'>+ *    array.pop(n) -&gt; new_array</div><div class='add'>+ *</div><div class='add'>+ *  Removes and returns trailing elements.</div><div class='add'>+ *</div><div class='add'>+ *  When no argument is given and +self+ is not empty,</div><div class='add'>+ *  removes and returns the last element:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.pop # =&gt; 2</div><div class='add'>+ *    a # =&gt; [:foo, "bar"]</div><div class='add'>+ *</div><div class='add'>+ *  Returns +nil+ if the array is empty.</div><div class='add'>+ *</div><div class='add'>+ *  When a non-negative \Integer argument +n+ is given and is in range,</div><div class='add'>+ *  removes and returns the last +n+ elements in a new \Array:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.pop(2) # =&gt; ["bar", 2]</div><div class='add'>+ *</div><div class='add'>+ *  If +n+ is positive and out of range,</div><div class='add'>+ *  removes and returns all elements:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.pop(50) # =&gt; [:foo, "bar", 2]</div><div class='add'>+ *</div><div class='add'>+ *  Related: #push, #shift, #unshift.</div><div class='add'>+ */</div><div class='ctx'> </div><div class='del'>-    top = RARRAY(ary)-&gt;ptr[0];</div><div class='del'>-    RARRAY(ary)-&gt;len--;</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_pop_m(int argc, VALUE *argv, VALUE ary)</div><div class='add'>+{</div><div class='add'>+    VALUE result;</div><div class='ctx'> </div><div class='del'>-    /* sliding items */</div><div class='del'>-    MEMMOVE(RARRAY(ary)-&gt;ptr, RARRAY(ary)-&gt;ptr+1, VALUE, RARRAY(ary)-&gt;len);</div><div class='del'>-    if (RARRAY(ary)-&gt;len * 10 &lt; RARRAY(ary)-&gt;capa &amp;&amp; RARRAY(ary)-&gt;capa &gt; ARY_DEFAULT_SIZE) {</div><div class='del'>-	RARRAY(ary)-&gt;capa = RARRAY(ary)-&gt;len * 2;</div><div class='del'>-	REALLOC_N(RARRAY(ary)-&gt;ptr, VALUE, RARRAY(ary)-&gt;capa);</div><div class='add'>+    if (argc == 0) {</div><div class='add'>+	return rb_ary_pop(ary);</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='del'>-    return top;</div><div class='add'>+    rb_ary_modify_check(ary);</div><div class='add'>+    result = ary_take_first_or_last(argc, argv, ary, ARY_TAKE_LAST);</div><div class='add'>+    ARY_INCREASE_LEN(ary, -RARRAY_LEN(result));</div><div class='add'>+    ary_verify(ary);</div><div class='add'>+    return result;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_ary_unshift(ary, item)</div><div class='del'>-    VALUE ary, item;</div><div class='add'>+rb_ary_shift(VALUE ary)</div><div class='ctx'> {</div><div class='del'>-    rb_ary_modify(ary);</div><div class='del'>-    if (RARRAY(ary)-&gt;len &gt;= RARRAY(ary)-&gt;capa) {</div><div class='del'>-	long capa_inc = RARRAY(ary)-&gt;capa / 2;</div><div class='del'>-	if (capa_inc &lt; ARY_DEFAULT_SIZE) {</div><div class='del'>-	    capa_inc = ARY_DEFAULT_SIZE;</div><div class='add'>+    VALUE top;</div><div class='add'>+    long len = RARRAY_LEN(ary);</div><div class='add'>+</div><div class='add'>+    rb_ary_modify_check(ary);</div><div class='add'>+    if (len == 0) return Qnil;</div><div class='add'>+    top = RARRAY_AREF(ary, 0);</div><div class='add'>+    if (!ARY_SHARED_P(ary)) {</div><div class='add'>+	if (len &lt; ARY_DEFAULT_SIZE) {</div><div class='add'>+            RARRAY_PTR_USE_TRANSIENT(ary, ptr, {</div><div class='add'>+		MEMMOVE(ptr, ptr+1, VALUE, len-1);</div><div class='add'>+	    }); /* WB: no new reference */</div><div class='add'>+            ARY_INCREASE_LEN(ary, -1);</div><div class='add'>+            ary_verify(ary);</div><div class='add'>+	    return top;</div><div class='ctx'> 	}</div><div class='del'>-	RARRAY(ary)-&gt;capa+=capa_inc;</div><div class='del'>-	REALLOC_N(RARRAY(ary)-&gt;ptr, VALUE, RARRAY(ary)-&gt;capa);</div><div class='add'>+        assert(!ARY_EMBED_P(ary)); /* ARY_EMBED_LEN_MAX &lt; ARY_DEFAULT_SIZE */</div><div class='add'>+</div><div class='add'>+	ARY_SET(ary, 0, Qnil);</div><div class='add'>+	ary_make_shared(ary);</div><div class='add'>+    }</div><div class='add'>+    else if (ARY_SHARED_ROOT_OCCUPIED(ARY_SHARED_ROOT(ary))) {</div><div class='add'>+        RARRAY_PTR_USE_TRANSIENT(ary, ptr, ptr[0] = Qnil);</div><div class='add'>+    }</div><div class='add'>+    ARY_INCREASE_PTR(ary, 1);		/* shift ptr */</div><div class='add'>+    ARY_INCREASE_LEN(ary, -1);</div><div class='add'>+</div><div class='add'>+    ary_verify(ary);</div><div class='add'>+</div><div class='add'>+    return top;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     array.shift -&gt; object or nil</div><div class='add'>+ *     array.shift(n) -&gt; new_array</div><div class='add'>+ *</div><div class='add'>+ *  Removes and returns leading elements.</div><div class='add'>+ *</div><div class='add'>+ *  When no argument is given, removes and returns the first element:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.shift # =&gt; :foo</div><div class='add'>+ *    a # =&gt; ['bar', 2]</div><div class='add'>+ *</div><div class='add'>+ *  Returns +nil+ if +self+ is empty.</div><div class='add'>+ *</div><div class='add'>+ *  When positive \Integer argument +n+ is given, removes the first +n+ elements;</div><div class='add'>+ *  returns those elements in a new \Array:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.shift(2) # =&gt; [:foo, 'bar']</div><div class='add'>+ *    a # =&gt; [2]</div><div class='add'>+ *</div><div class='add'>+ *  If +n+ is as large as or larger than &lt;tt&gt;self.length&lt;/tt&gt;,</div><div class='add'>+ *  removes all elements; returns those elements in a new \Array:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.shift(3) # =&gt; [:foo, 'bar', 2]</div><div class='add'>+ *</div><div class='add'>+ *  If +n+ is zero, returns a new empty \Array; +self+ is unmodified.</div><div class='add'>+ *</div><div class='add'>+ *  Related: #push, #pop, #unshift.</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_shift_m(int argc, VALUE *argv, VALUE ary)</div><div class='add'>+{</div><div class='add'>+    VALUE result;</div><div class='add'>+    long n;</div><div class='add'>+</div><div class='add'>+    if (argc == 0) {</div><div class='add'>+	return rb_ary_shift(ary);</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='del'>-    /* sliding items */</div><div class='del'>-    MEMMOVE(RARRAY(ary)-&gt;ptr+1, RARRAY(ary)-&gt;ptr, VALUE, RARRAY(ary)-&gt;len);</div><div class='add'>+    rb_ary_modify_check(ary);</div><div class='add'>+    result = ary_take_first_or_last(argc, argv, ary, ARY_TAKE_FIRST);</div><div class='add'>+    n = RARRAY_LEN(result);</div><div class='add'>+    rb_ary_behead(ary,n);</div><div class='ctx'> </div><div class='del'>-    RARRAY(ary)-&gt;len++;</div><div class='del'>-    RARRAY(ary)-&gt;ptr[0] = item;</div><div class='add'>+    return result;</div><div class='add'>+}</div><div class='ctx'> </div><div class='add'>+static VALUE</div><div class='add'>+behead_shared(VALUE ary, long n)</div><div class='add'>+{</div><div class='add'>+    assert(ARY_SHARED_P(ary));</div><div class='add'>+    rb_ary_modify_check(ary);</div><div class='add'>+    if (ARY_SHARED_ROOT_OCCUPIED(ARY_SHARED_ROOT(ary))) {</div><div class='add'>+        ary_mem_clear(ary, 0, n);</div><div class='add'>+    }</div><div class='add'>+    ARY_INCREASE_PTR(ary, n);</div><div class='add'>+    ARY_INCREASE_LEN(ary, -n);</div><div class='add'>+    ary_verify(ary);</div><div class='ctx'>     return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_ary_entry(ary, offset)</div><div class='del'>-    VALUE ary;</div><div class='del'>-    long offset;</div><div class='add'>+static VALUE</div><div class='add'>+behead_transient(VALUE ary, long n)</div><div class='ctx'> {</div><div class='del'>-    if (RARRAY(ary)-&gt;len == 0) return Qnil;</div><div class='add'>+    rb_ary_modify_check(ary);</div><div class='add'>+    RARRAY_PTR_USE_TRANSIENT(ary, ptr, {</div><div class='add'>+        MEMMOVE(ptr, ptr+n, VALUE, RARRAY_LEN(ary)-n);</div><div class='add'>+    }); /* WB: no new reference */</div><div class='add'>+    ARY_INCREASE_LEN(ary, -n);</div><div class='add'>+    ary_verify(ary);</div><div class='add'>+    return ary;</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-    if (offset &lt; 0) {</div><div class='del'>-	offset = RARRAY(ary)-&gt;len + offset;</div><div class='add'>+MJIT_FUNC_EXPORTED VALUE</div><div class='add'>+rb_ary_behead(VALUE ary, long n)</div><div class='add'>+{</div><div class='add'>+    if (n &lt;= 0) {</div><div class='add'>+        return ary;</div><div class='ctx'>     }</div><div class='del'>-    if (offset &lt; 0 || RARRAY(ary)-&gt;len &lt;= offset) {</div><div class='del'>-	return Qnil;</div><div class='add'>+    else if (ARY_SHARED_P(ary)) {</div><div class='add'>+        return behead_shared(ary, n);</div><div class='add'>+    }</div><div class='add'>+    else if (RARRAY_LEN(ary) &gt;= ARY_DEFAULT_SIZE) {</div><div class='add'>+        ary_make_shared(ary);</div><div class='add'>+        return behead_shared(ary, n);</div><div class='ctx'>     }</div><div class='add'>+    else {</div><div class='add'>+        return behead_transient(ary, n);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-    return RARRAY(ary)-&gt;ptr[offset];</div><div class='add'>+static VALUE</div><div class='add'>+make_room_for_unshift(VALUE ary, const VALUE *head, VALUE *sharedp, int argc, long capa, long len)</div><div class='add'>+{</div><div class='add'>+    if (head - sharedp &lt; argc) {</div><div class='add'>+        long room = capa - len - argc;</div><div class='add'>+</div><div class='add'>+        room -= room &gt;&gt; 4;</div><div class='add'>+        MEMMOVE((VALUE *)sharedp + argc + room, head, VALUE, len);</div><div class='add'>+        head = sharedp + argc + room;</div><div class='add'>+    }</div><div class='add'>+    ARY_SET_PTR(ary, head - argc);</div><div class='add'>+    assert(ARY_SHARED_ROOT_OCCUPIED(ARY_SHARED_ROOT(ary)));</div><div class='add'>+</div><div class='add'>+    ary_verify(ary);</div><div class='add'>+    return ARY_SHARED_ROOT(ary);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_subary(ary, beg, len)</div><div class='del'>-    VALUE ary;</div><div class='del'>-    long beg, len;</div><div class='add'>+ary_modify_for_unshift(VALUE ary, int argc)</div><div class='ctx'> {</div><div class='del'>-    VALUE ary2;</div><div class='add'>+    long len = RARRAY_LEN(ary);</div><div class='add'>+    long new_len = len + argc;</div><div class='add'>+    long capa;</div><div class='add'>+    const VALUE *head, *sharedp;</div><div class='ctx'> </div><div class='del'>-    if (beg &gt; RARRAY(ary)-&gt;len) return Qnil;</div><div class='del'>-    if (beg &lt; 0) {</div><div class='del'>-	len += beg;</div><div class='del'>-	beg = 0;</div><div class='add'>+    rb_ary_modify(ary);</div><div class='add'>+    capa = ARY_CAPA(ary);</div><div class='add'>+    if (capa - (capa &gt;&gt; 6) &lt;= new_len) {</div><div class='add'>+	ary_double_capa(ary, new_len);</div><div class='ctx'>     }</div><div class='del'>-    if (len &lt; 0) return Qnil;</div><div class='del'>-    if (beg + len &gt; RARRAY(ary)-&gt;len) {</div><div class='del'>-	len = RARRAY(ary)-&gt;len - beg;</div><div class='add'>+</div><div class='add'>+    /* use shared array for big "queues" */</div><div class='add'>+    if (new_len &gt; ARY_DEFAULT_SIZE * 4) {</div><div class='add'>+        ary_verify(ary);</div><div class='add'>+</div><div class='add'>+        /* make a room for unshifted items */</div><div class='add'>+	capa = ARY_CAPA(ary);</div><div class='add'>+	ary_make_shared(ary);</div><div class='add'>+</div><div class='add'>+        head = sharedp = RARRAY_CONST_PTR_TRANSIENT(ary);</div><div class='add'>+        return make_room_for_unshift(ary, head, (void *)sharedp, argc, capa, len);</div><div class='ctx'>     }</div><div class='del'>-    if (len &lt; 0) {</div><div class='del'>-	len = 0;</div><div class='add'>+    else {</div><div class='add'>+	/* sliding items */</div><div class='add'>+        RARRAY_PTR_USE_TRANSIENT(ary, ptr, {</div><div class='add'>+	    MEMMOVE(ptr + argc, ptr, VALUE, len);</div><div class='add'>+	});</div><div class='add'>+</div><div class='add'>+        ary_verify(ary);</div><div class='add'>+	return ary;</div><div class='ctx'>     }</div><div class='del'>-    if (len == 0) return rb_ary_new2(0);</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-    ary2 = rb_ary_new2(len);</div><div class='del'>-    MEMCPY(RARRAY(ary2)-&gt;ptr, RARRAY(ary)-&gt;ptr+beg, VALUE, len);</div><div class='del'>-    RARRAY(ary2)-&gt;len = len;</div><div class='add'>+static VALUE</div><div class='add'>+ary_ensure_room_for_unshift(VALUE ary, int argc)</div><div class='add'>+{</div><div class='add'>+    long len = RARRAY_LEN(ary);</div><div class='add'>+    long new_len = len + argc;</div><div class='ctx'> </div><div class='del'>-    return ary2;</div><div class='add'>+    if (len &gt; ARY_MAX_SIZE - argc) {</div><div class='add'>+        rb_raise(rb_eIndexError, "index %ld too big", new_len);</div><div class='add'>+    }</div><div class='add'>+    else if (! ARY_SHARED_P(ary)) {</div><div class='add'>+        return ary_modify_for_unshift(ary, argc);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        VALUE shared_root = ARY_SHARED_ROOT(ary);</div><div class='add'>+        long capa = RARRAY_LEN(shared_root);</div><div class='add'>+</div><div class='add'>+        if (! ARY_SHARED_ROOT_OCCUPIED(shared_root)) {</div><div class='add'>+            return ary_modify_for_unshift(ary, argc);</div><div class='add'>+        }</div><div class='add'>+        else if (new_len &gt; capa) {</div><div class='add'>+            return ary_modify_for_unshift(ary, argc);</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            const VALUE * head = RARRAY_CONST_PTR_TRANSIENT(ary);</div><div class='add'>+            void *sharedp = (void *)RARRAY_CONST_PTR_TRANSIENT(shared_root);</div><div class='add'>+</div><div class='add'>+            rb_ary_modify_check(ary);</div><div class='add'>+            return make_room_for_unshift(ary, head, sharedp, argc, capa, len);</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.unshift(*objects) -&gt; self</div><div class='add'>+ *</div><div class='add'>+ *  Prepends the given +objects+ to +self+:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.unshift(:bam, :bat) # =&gt; [:bam, :bat, :foo, "bar", 2]</div><div class='add'>+ *</div><div class='add'>+ *  Array#prepend is an alias for Array#unshift.</div><div class='add'>+ *</div><div class='add'>+ *  Related: #push, #pop, #shift.</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_unshift_m(int argc, VALUE *argv, VALUE ary)</div><div class='add'>+{</div><div class='add'>+    long len = RARRAY_LEN(ary);</div><div class='add'>+    VALUE target_ary;</div><div class='add'>+</div><div class='add'>+    if (argc == 0) {</div><div class='add'>+	rb_ary_modify_check(ary);</div><div class='add'>+	return ary;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    target_ary = ary_ensure_room_for_unshift(ary, argc);</div><div class='add'>+    ary_memcpy0(ary, 0, argc, argv, target_ary);</div><div class='add'>+    ARY_SET_LEN(ary, len + argc);</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_aref(argc, argv, ary)</div><div class='del'>-    int argc;</div><div class='del'>-    VALUE *argv;</div><div class='del'>-    VALUE ary;</div><div class='add'>+rb_ary_unshift(VALUE ary, VALUE item)</div><div class='ctx'> {</div><div class='del'>-    VALUE arg1, arg2;</div><div class='del'>-    long beg, len;</div><div class='add'>+    return rb_ary_unshift_m(1,&amp;item,ary);</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-    if (rb_scan_args(argc, argv, "11", &amp;arg1, &amp;arg2) == 2) {</div><div class='del'>-	beg = NUM2LONG(arg1);</div><div class='del'>-	len = NUM2LONG(arg2);</div><div class='del'>-	if (beg &lt; 0) {</div><div class='del'>-	    beg = RARRAY(ary)-&gt;len + beg;</div><div class='del'>-	}</div><div class='del'>-	return rb_ary_subary(ary, beg, len);</div><div class='add'>+/* faster version - use this if you don't need to treat negative offset */</div><div class='add'>+static inline VALUE</div><div class='add'>+rb_ary_elt(VALUE ary, long offset)</div><div class='add'>+{</div><div class='add'>+    long len = RARRAY_LEN(ary);</div><div class='add'>+    if (len == 0) return Qnil;</div><div class='add'>+    if (offset &lt; 0 || len &lt;= offset) {</div><div class='add'>+	return Qnil;</div><div class='add'>+    }</div><div class='add'>+    return RARRAY_AREF(ary, offset);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_ary_entry(VALUE ary, long offset)</div><div class='add'>+{</div><div class='add'>+    return rb_ary_entry_internal(ary, offset);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_ary_subseq_step(VALUE ary, long beg, long len, long step)</div><div class='add'>+{</div><div class='add'>+    VALUE klass;</div><div class='add'>+    long alen = RARRAY_LEN(ary);</div><div class='add'>+</div><div class='add'>+    if (beg &gt; alen) return Qnil;</div><div class='add'>+    if (beg &lt; 0 || len &lt; 0) return Qnil;</div><div class='add'>+</div><div class='add'>+    if (alen &lt; len || alen &lt; beg + len) {</div><div class='add'>+	len = alen - beg;</div><div class='add'>+    }</div><div class='add'>+    klass = rb_cArray;</div><div class='add'>+    if (len == 0) return ary_new(klass, 0);</div><div class='add'>+    if (step == 0)</div><div class='add'>+        rb_raise(rb_eArgError, "slice step cannot be zero");</div><div class='add'>+    if (step == 1)</div><div class='add'>+        return ary_make_partial(ary, klass, beg, len);</div><div class='add'>+    else</div><div class='add'>+        return ary_make_partial_step(ary, klass, beg, len, step);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_ary_subseq(VALUE ary, long beg, long len)</div><div class='add'>+{</div><div class='add'>+    return rb_ary_subseq_step(ary, beg, len, 1);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE rb_ary_aref2(VALUE ary, VALUE b, VALUE e);</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array[index] -&gt; object or nil</div><div class='add'>+ *    array[start, length] -&gt; object or nil</div><div class='add'>+ *    array[range] -&gt; object or nil</div><div class='add'>+ *    array[aseq] -&gt; object or nil</div><div class='add'>+ *    array.slice(index) -&gt; object or nil</div><div class='add'>+ *    array.slice(start, length) -&gt; object or nil</div><div class='add'>+ *    array.slice(range) -&gt; object or nil</div><div class='add'>+ *    array.slice(aseq) -&gt; object or nil</div><div class='add'>+ *</div><div class='add'>+ *  Returns elements from +self+; does not modify +self+.</div><div class='add'>+ *</div><div class='add'>+ *  When a single \Integer argument +index+ is given, returns the element at offset +index+:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a[0] # =&gt; :foo</div><div class='add'>+ *    a[2] # =&gt; 2</div><div class='add'>+ *    a # =&gt; [:foo, "bar", 2]</div><div class='add'>+ *</div><div class='add'>+ *  If +index+ is negative, counts relative to the end of +self+:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a[-1] # =&gt; 2</div><div class='add'>+ *    a[-2] # =&gt; "bar"</div><div class='add'>+ *</div><div class='add'>+ *  If +index+ is out of range, returns +nil+.</div><div class='add'>+ *</div><div class='add'>+ *  When two \Integer arguments +start+ and +length+ are given,</div><div class='add'>+ *  returns a new \Array of size +length+ containing successive elements beginning at offset +start+:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a[0, 2] # =&gt; [:foo, "bar"]</div><div class='add'>+ *    a[1, 2] # =&gt; ["bar", 2]</div><div class='add'>+ *</div><div class='add'>+ *  If &lt;tt&gt;start + length&lt;/tt&gt; is greater than &lt;tt&gt;self.length&lt;/tt&gt;,</div><div class='add'>+ *  returns all elements from offset +start+ to the end:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a[0, 4] # =&gt; [:foo, "bar", 2]</div><div class='add'>+ *    a[1, 3] # =&gt; ["bar", 2]</div><div class='add'>+ *    a[2, 2] # =&gt; [2]</div><div class='add'>+ *</div><div class='add'>+ *  If &lt;tt&gt;start == self.size&lt;/tt&gt; and &lt;tt&gt;length &gt;= 0&lt;/tt&gt;,</div><div class='add'>+ *  returns a new empty \Array.</div><div class='add'>+ *</div><div class='add'>+ *  If +length+ is negative, returns +nil+.</div><div class='add'>+ *</div><div class='add'>+ *  When a single \Range argument +range+ is given,</div><div class='add'>+ *  treats &lt;tt&gt;range.min&lt;/tt&gt; as +start+ above</div><div class='add'>+ *  and &lt;tt&gt;range.size&lt;/tt&gt; as +length+ above:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a[0..1] # =&gt; [:foo, "bar"]</div><div class='add'>+ *    a[1..2] # =&gt; ["bar", 2]</div><div class='add'>+ *</div><div class='add'>+ *  Special case: If &lt;tt&gt;range.start == a.size&lt;/tt&gt;, returns a new empty \Array.</div><div class='add'>+ *</div><div class='add'>+ *  If &lt;tt&gt;range.end&lt;/tt&gt; is negative, calculates the end index from the end:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a[0..-1] # =&gt; [:foo, "bar", 2]</div><div class='add'>+ *    a[0..-2] # =&gt; [:foo, "bar"]</div><div class='add'>+ *    a[0..-3] # =&gt; [:foo]</div><div class='add'>+ *</div><div class='add'>+ *  If &lt;tt&gt;range.start&lt;/tt&gt; is negative, calculates the start index from the end:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a[-1..2] # =&gt; [2]</div><div class='add'>+ *    a[-2..2] # =&gt; ["bar", 2]</div><div class='add'>+ *    a[-3..2] # =&gt; [:foo, "bar", 2]</div><div class='add'>+ *</div><div class='add'>+ *  If &lt;tt&gt;range.start&lt;/tt&gt; is larger than the array size, returns +nil+.</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a[4..1] # =&gt; nil</div><div class='add'>+ *    a[4..0] # =&gt; nil</div><div class='add'>+ *    a[4..-1] # =&gt; nil</div><div class='add'>+ *</div><div class='add'>+ *  When a single Enumerator::ArithmeticSequence argument +aseq+ is given,</div><div class='add'>+ *  returns an Array of elements corresponding to the indexes produced by</div><div class='add'>+ *  the sequence.</div><div class='add'>+ *    a = ['--', 'data1', '--', 'data2', '--', 'data3']</div><div class='add'>+ *    a[(1..).step(2)] # =&gt; ["data1", "data2", "data3"]</div><div class='add'>+ *</div><div class='add'>+ *  Unlike slicing with range, if the start or the end of the arithmetic sequence</div><div class='add'>+ *  is larger than array size, throws RangeError.</div><div class='add'>+ *    a = ['--', 'data1', '--', 'data2', '--', 'data3']</div><div class='add'>+ *    a[(1..11).step(2)]</div><div class='add'>+ *    # RangeError (((1..11).step(2)) out of range)</div><div class='add'>+ *    a[(7..).step(2)]</div><div class='add'>+ *    # RangeError (((7..).step(2)) out of range)</div><div class='add'>+ *</div><div class='add'>+ *  If given a single argument, and its type is not one of the listed, tries to</div><div class='add'>+ *  convert it to Integer, and raises if it is impossible:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    # Raises TypeError (no implicit conversion of Symbol into Integer):</div><div class='add'>+ *    a[:foo]</div><div class='add'>+ *</div><div class='add'>+ *  Array#slice is an alias for Array#[].</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_ary_aref(int argc, const VALUE *argv, VALUE ary)</div><div class='add'>+{</div><div class='add'>+    rb_check_arity(argc, 1, 2);</div><div class='add'>+    if (argc == 2) {</div><div class='add'>+	return rb_ary_aref2(ary, argv[0], argv[1]);</div><div class='ctx'>     }</div><div class='add'>+    return rb_ary_aref1(ary, argv[0]);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_aref2(VALUE ary, VALUE b, VALUE e)</div><div class='add'>+{</div><div class='add'>+    long beg = NUM2LONG(b);</div><div class='add'>+    long len = NUM2LONG(e);</div><div class='add'>+    if (beg &lt; 0) {</div><div class='add'>+	beg += RARRAY_LEN(ary);</div><div class='add'>+    }</div><div class='add'>+    return rb_ary_subseq(ary, beg, len);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+MJIT_FUNC_EXPORTED VALUE</div><div class='add'>+rb_ary_aref1(VALUE ary, VALUE arg)</div><div class='add'>+{</div><div class='add'>+    long beg, len, step;</div><div class='ctx'> </div><div class='ctx'>     /* special case - speeding up */</div><div class='del'>-    if (FIXNUM_P(arg1)) {</div><div class='del'>-	return rb_ary_entry(ary, FIX2LONG(arg1));</div><div class='add'>+    if (FIXNUM_P(arg)) {</div><div class='add'>+	return rb_ary_entry(ary, FIX2LONG(arg));</div><div class='add'>+    }</div><div class='add'>+    /* check if idx is Range or ArithmeticSequence */</div><div class='add'>+    switch (rb_arithmetic_sequence_beg_len_step(arg, &amp;beg, &amp;len, &amp;step, RARRAY_LEN(ary), 0)) {</div><div class='add'>+      case Qfalse:</div><div class='add'>+        break;</div><div class='add'>+      case Qnil:</div><div class='add'>+        return Qnil;</div><div class='add'>+      default:</div><div class='add'>+        return rb_ary_subseq_step(ary, beg, len, step);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return rb_ary_entry(ary, NUM2LONG(arg));</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.at(index) -&gt; object</div><div class='add'>+ *</div><div class='add'>+ *  Returns the element at \Integer offset +index+; does not modify +self+.</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.at(0) # =&gt; :foo</div><div class='add'>+ *    a.at(2) # =&gt; 2</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_ary_at(VALUE ary, VALUE pos)</div><div class='add'>+{</div><div class='add'>+    return rb_ary_entry(ary, NUM2LONG(pos));</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.first -&gt; object or nil</div><div class='add'>+ *    array.first(n) -&gt; new_array</div><div class='add'>+ *</div><div class='add'>+ *  Returns elements from +self+; does not modify +self+.</div><div class='add'>+ *</div><div class='add'>+ *  When no argument is given, returns the first element:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.first # =&gt; :foo</div><div class='add'>+ *    a # =&gt; [:foo, "bar", 2]</div><div class='add'>+ *</div><div class='add'>+ *  If +self+ is empty, returns +nil+.</div><div class='add'>+ *</div><div class='add'>+ *  When non-negative \Integer argument +n+ is given,</div><div class='add'>+ *  returns the first +n+ elements in a new \Array:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.first(2) # =&gt; [:foo, "bar"]</div><div class='add'>+ *</div><div class='add'>+ *  If &lt;tt&gt;n &gt;= array.size&lt;/tt&gt;, returns all elements:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.first(50) # =&gt; [:foo, "bar", 2]</div><div class='add'>+ *</div><div class='add'>+ *  If &lt;tt&gt;n == 0&lt;/tt&gt; returns an new empty \Array:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.first(0) # []</div><div class='add'>+ *</div><div class='add'>+ *  Related: #last.</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_first(int argc, VALUE *argv, VALUE ary)</div><div class='add'>+{</div><div class='add'>+    if (argc == 0) {</div><div class='add'>+	if (RARRAY_LEN(ary) == 0) return Qnil;</div><div class='add'>+	return RARRAY_AREF(ary, 0);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	return ary_take_first_or_last(argc, argv, ary, ARY_TAKE_FIRST);</div><div class='ctx'>     }</div><div class='del'>-    else if (TYPE(arg1) == T_BIGNUM) {</div><div class='del'>-	rb_raise(rb_eIndexError, "index too big");</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.last  -&gt; object or nil</div><div class='add'>+ *    array.last(n) -&gt; new_array</div><div class='add'>+ *</div><div class='add'>+ *  Returns elements from +self+; +self+ is not modified.</div><div class='add'>+ *</div><div class='add'>+ *  When no argument is given, returns the last element:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.last # =&gt; 2</div><div class='add'>+ *    a # =&gt; [:foo, "bar", 2]</div><div class='add'>+ *</div><div class='add'>+ *  If +self+ is empty, returns +nil+.</div><div class='add'>+ *</div><div class='add'>+ *  When non-negative \Innteger argument +n+ is given,</div><div class='add'>+ *  returns the last +n+ elements in a new \Array:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.last(2) # =&gt; ["bar", 2]</div><div class='add'>+ *</div><div class='add'>+ *  If &lt;tt&gt;n &gt;= array.size&lt;/tt&gt;, returns all elements:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.last(50) # =&gt; [:foo, "bar", 2]</div><div class='add'>+ *</div><div class='add'>+ *  If &lt;tt&gt;n == 0&lt;/tt&gt;, returns an new empty \Array:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.last(0) # []</div><div class='add'>+ *</div><div class='add'>+ *  Related: #first.</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_ary_last(int argc, const VALUE *argv, VALUE ary)</div><div class='add'>+{</div><div class='add'>+    if (argc == 0) {</div><div class='add'>+	long len = RARRAY_LEN(ary);</div><div class='add'>+	if (len == 0) return Qnil;</div><div class='add'>+	return RARRAY_AREF(ary, len-1);</div><div class='ctx'>     }</div><div class='ctx'>     else {</div><div class='del'>-	/* check if idx is Range */</div><div class='del'>-	switch (rb_range_beg_len(arg1, &amp;beg, &amp;len, RARRAY(ary)-&gt;len, 0)) {</div><div class='del'>-	  case Qfalse:</div><div class='del'>-	    break;</div><div class='del'>-	  case Qnil:</div><div class='del'>-	    return Qnil;</div><div class='del'>-	  default:</div><div class='del'>-	    return rb_ary_subary(ary, beg, len);</div><div class='add'>+	return ary_take_first_or_last(argc, argv, ary, ARY_TAKE_LAST);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.fetch(index) -&gt; element</div><div class='add'>+ *    array.fetch(index, default_value) -&gt; element</div><div class='add'>+ *    array.fetch(index) {|index| ... } -&gt; element</div><div class='add'>+ *</div><div class='add'>+ *  Returns the element at offset  +index+.</div><div class='add'>+ *</div><div class='add'>+ *  With the single \Integer argument +index+,</div><div class='add'>+ *  returns the element at offset +index+:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.fetch(1) # =&gt; "bar"</div><div class='add'>+ *</div><div class='add'>+ *  If +index+ is negative, counts from the end of the array:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.fetch(-1) # =&gt; 2</div><div class='add'>+ *    a.fetch(-2) # =&gt; "bar"</div><div class='add'>+ *</div><div class='add'>+ *  With arguments +index+ and +default_value+,</div><div class='add'>+ *  returns the element at offset +index+ if index is in range,</div><div class='add'>+ *  otherwise returns +default_value+:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.fetch(1, nil) # =&gt; "bar"</div><div class='add'>+ *</div><div class='add'>+ *  With argument +index+ and a block,</div><div class='add'>+ *  returns the element at offset +index+ if index is in range</div><div class='add'>+ *  (and the block is not called); otherwise calls the block with index and returns its return value:</div><div class='add'>+ *</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.fetch(1) {|index| raise 'Cannot happen' } # =&gt; "bar"</div><div class='add'>+ *    a.fetch(50) {|index| "Value for #{index}" } # =&gt; "Value for 50"</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_fetch(int argc, VALUE *argv, VALUE ary)</div><div class='add'>+{</div><div class='add'>+    VALUE pos, ifnone;</div><div class='add'>+    long block_given;</div><div class='add'>+    long idx;</div><div class='add'>+</div><div class='add'>+    rb_scan_args(argc, argv, "11", &amp;pos, &amp;ifnone);</div><div class='add'>+    block_given = rb_block_given_p();</div><div class='add'>+    if (block_given &amp;&amp; argc == 2) {</div><div class='add'>+	rb_warn("block supersedes default value argument");</div><div class='add'>+    }</div><div class='add'>+    idx = NUM2LONG(pos);</div><div class='add'>+</div><div class='add'>+    if (idx &lt; 0) {</div><div class='add'>+	idx +=  RARRAY_LEN(ary);</div><div class='add'>+    }</div><div class='add'>+    if (idx &lt; 0 || RARRAY_LEN(ary) &lt;= idx) {</div><div class='add'>+	if (block_given) return rb_yield(pos);</div><div class='add'>+	if (argc == 1) {</div><div class='add'>+	    rb_raise(rb_eIndexError, "index %ld outside of array bounds: %ld...%ld",</div><div class='add'>+			idx - (idx &lt; 0 ? RARRAY_LEN(ary) : 0), -RARRAY_LEN(ary), RARRAY_LEN(ary));</div><div class='ctx'> 	}</div><div class='add'>+	return ifnone;</div><div class='ctx'>     }</div><div class='del'>-    return rb_ary_entry(ary, NUM2LONG(arg1));</div><div class='add'>+    return RARRAY_AREF(ary, idx);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.index(object) -&gt; integer or nil</div><div class='add'>+ *    array.index {|element| ... } -&gt; integer or nil</div><div class='add'>+ *    array.index -&gt; new_enumerator</div><div class='add'>+ *</div><div class='add'>+ *  Returns the index of a specified element.</div><div class='add'>+ *</div><div class='add'>+ *  When argument +object+ is given but no block,</div><div class='add'>+ *  returns the index of the first element +element+</div><div class='add'>+ *  for which &lt;tt&gt;object == element&lt;/tt&gt;:</div><div class='add'>+ *    a = [:foo, 'bar', 2, 'bar']</div><div class='add'>+ *    a.index('bar') # =&gt; 1</div><div class='add'>+ *</div><div class='add'>+ *  Returns +nil+ if no such element found.</div><div class='add'>+ *</div><div class='add'>+ *  When both argument +object+ and a block are given,</div><div class='add'>+ *  calls the block with each successive element;</div><div class='add'>+ *  returns the index of the first element for which the block returns a truthy value:</div><div class='add'>+ *    a = [:foo, 'bar', 2, 'bar']</div><div class='add'>+ *    a.index {|element| element == 'bar' } # =&gt; 1</div><div class='add'>+ *</div><div class='add'>+ *  Returns +nil+ if the block never returns a truthy value.</div><div class='add'>+ *</div><div class='add'>+ *  When neither an argument nor a block is given, returns a new Enumerator:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    e = a.index</div><div class='add'>+ *    e # =&gt; #&lt;Enumerator: [:foo, "bar", 2]:index&gt;</div><div class='add'>+ *    e.each {|element| element == 'bar' } # =&gt; 1</div><div class='add'>+ *</div><div class='add'>+ *  Array#find_index is an alias for Array#index.</div><div class='add'>+ *</div><div class='add'>+ *  Related: #rindex.</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_index(ary, val)</div><div class='del'>-    VALUE ary;</div><div class='del'>-    VALUE val;</div><div class='add'>+rb_ary_index(int argc, VALUE *argv, VALUE ary)</div><div class='ctx'> {</div><div class='add'>+    VALUE val;</div><div class='ctx'>     long i;</div><div class='ctx'> </div><div class='del'>-    for (i=0; i&lt;RARRAY(ary)-&gt;len; i++) {</div><div class='del'>-	if (rb_equal(RARRAY(ary)-&gt;ptr[i], val))</div><div class='del'>-	    return INT2NUM(i);</div><div class='add'>+    if (argc == 0) {</div><div class='add'>+	RETURN_ENUMERATOR(ary, 0, 0);</div><div class='add'>+	for (i=0; i&lt;RARRAY_LEN(ary); i++) {</div><div class='add'>+	    if (RTEST(rb_yield(RARRAY_AREF(ary, i)))) {</div><div class='add'>+		return LONG2NUM(i);</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+	return Qnil;</div><div class='add'>+    }</div><div class='add'>+    rb_check_arity(argc, 0, 1);</div><div class='add'>+    val = argv[0];</div><div class='add'>+    if (rb_block_given_p())</div><div class='add'>+	rb_warn("given block not used");</div><div class='add'>+    for (i=0; i&lt;RARRAY_LEN(ary); i++) {</div><div class='add'>+	VALUE e = RARRAY_AREF(ary, i);</div><div class='add'>+	if (rb_equal(e, val)) {</div><div class='add'>+	    return LONG2NUM(i);</div><div class='add'>+	}</div><div class='ctx'>     }</div><div class='ctx'>     return Qnil;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.rindex(object) -&gt; integer or nil</div><div class='add'>+ *    array.rindex {|element| ... } -&gt; integer or nil</div><div class='add'>+ *    array.rindex -&gt; new_enumerator</div><div class='add'>+ *</div><div class='add'>+ *  Returns the index of the last element for which &lt;tt&gt;object == element&lt;/tt&gt;.</div><div class='add'>+ *</div><div class='add'>+ *  When argument +object+ is given but no block, returns the index of the last such element found:</div><div class='add'>+ *    a = [:foo, 'bar', 2, 'bar']</div><div class='add'>+ *    a.rindex('bar') # =&gt; 3</div><div class='add'>+ *</div><div class='add'>+ *  Returns +nil+ if no such object found.</div><div class='add'>+ *</div><div class='add'>+ *  When a block is given but no argument, calls the block with each successive element;</div><div class='add'>+ *  returns the index of the last element for which the block returns a truthy value:</div><div class='add'>+ *    a = [:foo, 'bar', 2, 'bar']</div><div class='add'>+ *    a.rindex {|element| element == 'bar' } # =&gt; 3</div><div class='add'>+ *</div><div class='add'>+ *  Returns +nil+ if the block never returns a truthy value.</div><div class='add'>+ *</div><div class='add'>+ *  When neither an argument nor a block is given, returns a new \Enumerator:</div><div class='add'>+ *</div><div class='add'>+ *    a = [:foo, 'bar', 2, 'bar']</div><div class='add'>+ *    e = a.rindex</div><div class='add'>+ *    e # =&gt; #&lt;Enumerator: [:foo, "bar", 2, "bar"]:rindex&gt;</div><div class='add'>+ *    e.each {|element| element == 'bar' } # =&gt; 3</div><div class='add'>+ *</div><div class='add'>+ *  Related: #index.</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_rindex(ary, val)</div><div class='del'>-    VALUE ary;</div><div class='del'>-    VALUE val;</div><div class='add'>+rb_ary_rindex(int argc, VALUE *argv, VALUE ary)</div><div class='ctx'> {</div><div class='del'>-    long i = RARRAY(ary)-&gt;len;</div><div class='add'>+    VALUE val;</div><div class='add'>+    long i = RARRAY_LEN(ary), len;</div><div class='ctx'> </div><div class='add'>+    if (argc == 0) {</div><div class='add'>+	RETURN_ENUMERATOR(ary, 0, 0);</div><div class='add'>+	while (i--) {</div><div class='add'>+	    if (RTEST(rb_yield(RARRAY_AREF(ary, i))))</div><div class='add'>+		return LONG2NUM(i);</div><div class='add'>+	    if (i &gt; (len = RARRAY_LEN(ary))) {</div><div class='add'>+		i = len;</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+	return Qnil;</div><div class='add'>+    }</div><div class='add'>+    rb_check_arity(argc, 0, 1);</div><div class='add'>+    val = argv[0];</div><div class='add'>+    if (rb_block_given_p())</div><div class='add'>+	rb_warn("given block not used");</div><div class='ctx'>     while (i--) {</div><div class='del'>-	if (rb_equal(RARRAY(ary)-&gt;ptr[i], val))</div><div class='del'>-	    return INT2NUM(i);</div><div class='add'>+	VALUE e = RARRAY_AREF(ary, i);</div><div class='add'>+	if (rb_equal(e, val)) {</div><div class='add'>+	    return LONG2NUM(i);</div><div class='add'>+	}</div><div class='add'>+        if (i &gt; RARRAY_LEN(ary)) {</div><div class='add'>+            break;</div><div class='add'>+        }</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'>-rb_ary_indexes(argc, argv, ary)</div><div class='del'>-    int argc;</div><div class='del'>-    VALUE *argv;</div><div class='del'>-    VALUE ary;</div><div class='add'>+VALUE</div><div class='add'>+rb_ary_to_ary(VALUE obj)</div><div class='ctx'> {</div><div class='del'>-    VALUE new_ary;</div><div class='del'>-    long i;</div><div class='add'>+    VALUE tmp = rb_check_array_type(obj);</div><div class='ctx'> </div><div class='del'>-    new_ary = rb_ary_new2(argc);</div><div class='del'>-    for (i=0; i&lt;argc; i++) {</div><div class='del'>-	rb_ary_push(new_ary, rb_ary_aref(1, argv+i, ary));</div><div class='del'>-    }</div><div class='del'>-</div><div class='del'>-    return new_ary;</div><div class='add'>+    if (!NIL_P(tmp)) return tmp;</div><div class='add'>+    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_replace(ary, beg, len, rpl)</div><div class='del'>-    VALUE ary, rpl;</div><div class='del'>-    long beg, len;</div><div class='add'>+rb_ary_splice(VALUE ary, long beg, long len, const VALUE *rptr, long rlen)</div><div class='ctx'> {</div><div class='del'>-    if (len &lt; 0) rb_raise(rb_eIndexError, "negative length %d", len);</div><div class='del'>-    if (beg &lt; 0) {</div><div class='del'>-	beg += RARRAY(ary)-&gt;len;</div><div class='del'>-    }</div><div class='add'>+    long olen;</div><div class='add'>+    long rofs;</div><div class='add'>+</div><div class='add'>+    if (len &lt; 0) rb_raise(rb_eIndexError, "negative length (%ld)", len);</div><div class='add'>+    olen = RARRAY_LEN(ary);</div><div class='ctx'>     if (beg &lt; 0) {</div><div class='del'>-	beg -= RARRAY(ary)-&gt;len;</div><div class='del'>-	rb_raise(rb_eIndexError, "index %d out of array", beg);</div><div class='add'>+	beg += olen;</div><div class='add'>+	if (beg &lt; 0) {</div><div class='add'>+	    rb_raise(rb_eIndexError, "index %ld too small for array; minimum: %ld",</div><div class='add'>+		     beg - olen, -olen);</div><div class='add'>+	}</div><div class='ctx'>     }</div><div class='del'>-    if (beg + len &gt; RARRAY(ary)-&gt;len) {</div><div class='del'>-	len = RARRAY(ary)-&gt;len - beg;</div><div class='add'>+    if (olen &lt; len || olen &lt; beg + len) {</div><div class='add'>+	len = olen - beg;</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='del'>-    if (TYPE(rpl) != T_ARRAY) {</div><div class='del'>-	rpl = rb_Array(rpl);</div><div class='add'>+    {</div><div class='add'>+        const VALUE *optr = RARRAY_CONST_PTR_TRANSIENT(ary);</div><div class='add'>+	rofs = (rptr &gt;= optr &amp;&amp; rptr &lt; optr + olen) ? rptr - optr : -1;</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='del'>-    rb_ary_modify(ary);</div><div class='del'>-    if (beg &gt;= RARRAY(ary)-&gt;len) {</div><div class='del'>-	len = beg + RARRAY(rpl)-&gt;len;</div><div class='del'>-	if (len &gt;= RARRAY(ary)-&gt;capa) {</div><div class='del'>-	    RARRAY(ary)-&gt;capa=len;</div><div class='del'>-	    REALLOC_N(RARRAY(ary)-&gt;ptr, VALUE, RARRAY(ary)-&gt;capa);</div><div class='add'>+    if (beg &gt;= olen) {</div><div class='add'>+	VALUE target_ary;</div><div class='add'>+	if (beg &gt; ARY_MAX_SIZE - rlen) {</div><div class='add'>+	    rb_raise(rb_eIndexError, "index %ld too big", beg);</div><div class='add'>+	}</div><div class='add'>+	target_ary = ary_ensure_room_for_push(ary, rlen-len); /* len is 0 or negative */</div><div class='add'>+	len = beg + rlen;</div><div class='add'>+	ary_mem_clear(ary, olen, beg - olen);</div><div class='add'>+	if (rlen &gt; 0) {</div><div class='add'>+            if (rofs != -1) rptr = RARRAY_CONST_PTR_TRANSIENT(ary) + rofs;</div><div class='add'>+	    ary_memcpy0(ary, beg, rlen, rptr, target_ary);</div><div class='ctx'> 	}</div><div class='del'>-	rb_mem_clear(RARRAY(ary)-&gt;ptr+RARRAY(ary)-&gt;len, beg-RARRAY(ary)-&gt;len);</div><div class='del'>-	MEMCPY(RARRAY(ary)-&gt;ptr+beg, RARRAY(rpl)-&gt;ptr, VALUE, RARRAY(rpl)-&gt;len);</div><div class='del'>-	RARRAY(ary)-&gt;len = len;</div><div class='add'>+	ARY_SET_LEN(ary, 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 (beg + len &gt; RARRAY(ary)-&gt;len) {</div><div class='del'>-	    len = RARRAY(ary)-&gt;len - beg;</div><div class='add'>+	if (olen - len &gt; ARY_MAX_SIZE - rlen) {</div><div class='add'>+	    rb_raise(rb_eIndexError, "index %ld too big", olen + rlen - len);</div><div class='add'>+	}</div><div class='add'>+	rb_ary_modify(ary);</div><div class='add'>+	alen = olen + rlen - len;</div><div class='add'>+	if (alen &gt;= ARY_CAPA(ary)) {</div><div class='add'>+	    ary_double_capa(ary, alen);</div><div class='ctx'> 	}</div><div class='ctx'> </div><div class='del'>-	alen = RARRAY(ary)-&gt;len + RARRAY(rpl)-&gt;len - len;</div><div class='del'>-	if (alen &gt;= RARRAY(ary)-&gt;capa) {</div><div class='del'>-	    RARRAY(ary)-&gt;capa=alen;</div><div class='del'>-	    REALLOC_N(RARRAY(ary)-&gt;ptr, VALUE, RARRAY(ary)-&gt;capa);</div><div class='add'>+	if (len != rlen) {</div><div class='add'>+            RARRAY_PTR_USE_TRANSIENT(ary, ptr,</div><div class='add'>+                                     MEMMOVE(ptr + beg + rlen, ptr + beg + len,</div><div class='add'>+                                             VALUE, olen - (beg + len)));</div><div class='add'>+	    ARY_SET_LEN(ary, alen);</div><div class='add'>+	}</div><div class='add'>+	if (rlen &gt; 0) {</div><div class='add'>+            if (rofs != -1) rptr = RARRAY_CONST_PTR_TRANSIENT(ary) + rofs;</div><div class='add'>+            /* give up wb-protected ary */</div><div class='add'>+            RB_OBJ_WB_UNPROTECT_FOR(ARRAY, ary);</div><div class='add'>+</div><div class='add'>+            /* do not use RARRAY_PTR() because it can causes GC.</div><div class='add'>+             * ary can contain T_NONE object because it is not cleared.</div><div class='add'>+             */</div><div class='add'>+            RARRAY_PTR_USE_TRANSIENT(ary, ptr,</div><div class='add'>+                                     MEMMOVE(ptr + beg, rptr, VALUE, rlen));</div><div class='ctx'> 	}</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+rb_ary_set_len(VALUE ary, long len)</div><div class='add'>+{</div><div class='add'>+    long capa;</div><div class='ctx'> </div><div class='del'>-	if (len != RARRAY(rpl)-&gt;len) {</div><div class='del'>-	    MEMMOVE(RARRAY(ary)-&gt;ptr+beg+RARRAY(rpl)-&gt;len, RARRAY(ary)-&gt;ptr+beg+len,</div><div class='del'>-		    VALUE, RARRAY(ary)-&gt;len-(beg+len));</div><div class='del'>-	    RARRAY(ary)-&gt;len = alen;</div><div class='add'>+    rb_ary_modify_check(ary);</div><div class='add'>+    if (ARY_SHARED_P(ary)) {</div><div class='add'>+	rb_raise(rb_eRuntimeError, "can't set length of shared ");</div><div class='add'>+    }</div><div class='add'>+    if (len &gt; (capa = (long)ARY_CAPA(ary))) {</div><div class='add'>+	rb_bug("probable buffer overflow: %ld for %ld", len, capa);</div><div class='add'>+    }</div><div class='add'>+    ARY_SET_LEN(ary, len);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*!</div><div class='add'>+ * expands or shrinks \a ary to \a len elements.</div><div class='add'>+ * expanded region will be filled with Qnil.</div><div class='add'>+ * \param ary  an array</div><div class='add'>+ * \param len  new size</div><div class='add'>+ * \return     \a ary</div><div class='add'>+ * \post       the size of \a ary is \a len.</div><div class='add'>+ */</div><div class='add'>+VALUE</div><div class='add'>+rb_ary_resize(VALUE ary, long len)</div><div class='add'>+{</div><div class='add'>+    long olen;</div><div class='add'>+</div><div class='add'>+    rb_ary_modify(ary);</div><div class='add'>+    olen = RARRAY_LEN(ary);</div><div class='add'>+    if (len == olen) return ary;</div><div class='add'>+    if (len &gt; ARY_MAX_SIZE) {</div><div class='add'>+	rb_raise(rb_eIndexError, "index %ld too big", len);</div><div class='add'>+    }</div><div class='add'>+    if (len &gt; olen) {</div><div class='add'>+	if (len &gt;= ARY_CAPA(ary)) {</div><div class='add'>+	    ary_double_capa(ary, len);</div><div class='ctx'> 	}</div><div class='del'>-	MEMCPY(RARRAY(ary)-&gt;ptr+beg, RARRAY(rpl)-&gt;ptr, VALUE, RARRAY(rpl)-&gt;len);</div><div class='add'>+	ary_mem_clear(ary, olen, len - olen);</div><div class='add'>+	ARY_SET_LEN(ary, len);</div><div class='ctx'>     }</div><div class='add'>+    else if (ARY_EMBED_P(ary)) {</div><div class='add'>+        ARY_SET_EMBED_LEN(ary, len);</div><div class='add'>+    }</div><div class='add'>+    else if (len &lt;= RARRAY_EMBED_LEN_MAX) {</div><div class='add'>+	VALUE tmp[RARRAY_EMBED_LEN_MAX];</div><div class='add'>+	MEMCPY(tmp, ARY_HEAP_PTR(ary), VALUE, len);</div><div class='add'>+	ary_discard(ary);</div><div class='add'>+	MEMCPY((VALUE *)ARY_EMBED_PTR(ary), tmp, VALUE, len); /* WB: no new reference */</div><div class='add'>+        ARY_SET_EMBED_LEN(ary, len);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	if (olen &gt; len + ARY_DEFAULT_SIZE) {</div><div class='add'>+            ary_heap_realloc(ary, len);</div><div class='add'>+	    ARY_SET_CAPA(ary, len);</div><div class='add'>+	}</div><div class='add'>+	ARY_SET_HEAP_LEN(ary, len);</div><div class='add'>+    }</div><div class='add'>+    ary_verify(ary);</div><div class='add'>+    return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_aset(argc, argv, ary)</div><div class='del'>-    int argc;</div><div class='del'>-    VALUE *argv;</div><div class='del'>-    VALUE ary;</div><div class='add'>+ary_aset_by_rb_ary_store(VALUE ary, long key, VALUE val)</div><div class='add'>+{</div><div class='add'>+    rb_ary_store(ary, key, val);</div><div class='add'>+    return val;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ary_aset_by_rb_ary_splice(VALUE ary, long beg, long len, VALUE val)</div><div class='add'>+{</div><div class='add'>+    VALUE rpl = rb_ary_to_ary(val);</div><div class='add'>+    rb_ary_splice(ary, beg, len, RARRAY_CONST_PTR_TRANSIENT(rpl), RARRAY_LEN(rpl));</div><div class='add'>+    RB_GC_GUARD(rpl);</div><div class='add'>+    return val;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array[index] = object -&gt; object</div><div class='add'>+ *    array[start, length] = object -&gt; object</div><div class='add'>+ *    array[range] = object -&gt; object</div><div class='add'>+ *</div><div class='add'>+ *  Assigns elements in +self+; returns the given +object+.</div><div class='add'>+ *</div><div class='add'>+ *  When \Integer argument +index+ is given, assigns +object+ to an element in +self+.</div><div class='add'>+ *</div><div class='add'>+ *  If +index+ is non-negative, assigns +object+ the element at offset +index+:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a[0] = 'foo' # =&gt; "foo"</div><div class='add'>+ *    a # =&gt; ["foo", "bar", 2]</div><div class='add'>+ *</div><div class='add'>+ *  If +index+ is greater than &lt;tt&gt;self.length&lt;/tt&gt;, extends the array:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a[7] = 'foo' # =&gt; "foo"</div><div class='add'>+ *    a # =&gt; [:foo, "bar", 2, nil, nil, nil, nil, "foo"]</div><div class='add'>+ *</div><div class='add'>+ *  If +index+ is negative, counts backwards from the end of the array:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a[-1] = 'two' # =&gt; "two"</div><div class='add'>+ *    a # =&gt; [:foo, "bar", "two"]</div><div class='add'>+ *</div><div class='add'>+ *  When \Integer arguments +start+ and +length+ are given and +object+ is not an \Array,</div><div class='add'>+ *  removes &lt;tt&gt;length - 1&lt;/tt&gt; elements beginning at offset +start+,</div><div class='add'>+ *  and assigns +object+ at offset +start+:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a[0, 2] = 'foo' # =&gt; "foo"</div><div class='add'>+ *    a # =&gt; ["foo", 2]</div><div class='add'>+ *</div><div class='add'>+ *  If +start+ is negative, counts backwards from the end of the array:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a[-2, 2] = 'foo' # =&gt; "foo"</div><div class='add'>+ *    a # =&gt; [:foo, "foo"]</div><div class='add'>+ *</div><div class='add'>+ *  If +start+ is non-negative and outside the array (&lt;tt&gt; &gt;= self.size&lt;/tt&gt;),</div><div class='add'>+ *  extends the array with +nil+, assigns +object+ at offset +start+,</div><div class='add'>+ *  and ignores +length+:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a[6, 50] = 'foo' # =&gt; "foo"</div><div class='add'>+ *    a # =&gt; [:foo, "bar", 2, nil, nil, nil, "foo"]</div><div class='add'>+ *</div><div class='add'>+ *  If +length+ is zero, shifts elements at and following offset +start+</div><div class='add'>+ *  and assigns +object+ at offset +start+:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a[1, 0] = 'foo' # =&gt; "foo"</div><div class='add'>+ *    a # =&gt; [:foo, "foo", "bar", 2]</div><div class='add'>+ *</div><div class='add'>+ *  If +length+ is too large for the existing array, does not extend the array:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a[1, 5] = 'foo' # =&gt; "foo"</div><div class='add'>+ *    a # =&gt; [:foo, "foo"]</div><div class='add'>+ *</div><div class='add'>+ *  When \Range argument +range+ is given and +object+ is an \Array,</div><div class='add'>+ *  removes &lt;tt&gt;length - 1&lt;/tt&gt; elements beginning at offset +start+,</div><div class='add'>+ *  and assigns +object+ at offset +start+:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a[0..1] = 'foo' # =&gt; "foo"</div><div class='add'>+ *    a # =&gt; ["foo", 2]</div><div class='add'>+ *</div><div class='add'>+ *  if &lt;tt&gt;range.begin&lt;/tt&gt; is negative, counts backwards from the end of the array:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a[-2..2] = 'foo' # =&gt; "foo"</div><div class='add'>+ *    a # =&gt; [:foo, "foo"]</div><div class='add'>+ *</div><div class='add'>+ *  If the array length is less than &lt;tt&gt;range.begin&lt;/tt&gt;,</div><div class='add'>+ *  assigns +object+ at offset &lt;tt&gt;range.begin&lt;/tt&gt;, and ignores +length+:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a[6..50] = 'foo' # =&gt; "foo"</div><div class='add'>+ *    a # =&gt; [:foo, "bar", 2, nil, nil, nil, "foo"]</div><div class='add'>+ *</div><div class='add'>+ *  If &lt;tt&gt;range.end&lt;/tt&gt; is zero, shifts elements at and following offset +start+</div><div class='add'>+ *  and assigns +object+ at offset +start+:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a[1..0] = 'foo' # =&gt; "foo"</div><div class='add'>+ *    a # =&gt; [:foo, "foo", "bar", 2]</div><div class='add'>+ *</div><div class='add'>+ *  If &lt;tt&gt;range.end&lt;/tt&gt; is negative, assigns +object+ at offset +start+,</div><div class='add'>+ *  retains &lt;tt&gt;range.end.abs -1&lt;/tt&gt; elements past that, and removes those beyond:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a[1..-1] = 'foo' # =&gt; "foo"</div><div class='add'>+ *    a # =&gt; [:foo, "foo"]</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a[1..-2] = 'foo' # =&gt; "foo"</div><div class='add'>+ *    a # =&gt; [:foo, "foo", 2]</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a[1..-3] = 'foo' # =&gt; "foo"</div><div class='add'>+ *    a # =&gt; [:foo, "foo", "bar", 2]</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *</div><div class='add'>+ *  If &lt;tt&gt;range.end&lt;/tt&gt; is too large for the existing array,</div><div class='add'>+ *  replaces array elements, but does not extend the array with +nil+ values:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a[1..5] = 'foo' # =&gt; "foo"</div><div class='add'>+ *    a # =&gt; [:foo, "foo"]</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_aset(int argc, VALUE *argv, VALUE ary)</div><div class='ctx'> {</div><div class='del'>-    VALUE arg1, arg2, arg3;</div><div class='ctx'>     long offset, beg, len;</div><div class='ctx'> </div><div class='del'>-    if (rb_scan_args(argc, argv, "21", &amp;arg1, &amp;arg2, &amp;arg3) == 3) {</div><div class='del'>-	rb_ary_replace(ary, NUM2LONG(arg1), NUM2LONG(arg2), arg3);</div><div class='del'>-	return arg3;</div><div class='add'>+    rb_check_arity(argc, 2, 3);</div><div class='add'>+    rb_ary_modify_check(ary);</div><div class='add'>+    if (argc == 3) {</div><div class='add'>+	beg = NUM2LONG(argv[0]);</div><div class='add'>+	len = NUM2LONG(argv[1]);</div><div class='add'>+        return ary_aset_by_rb_ary_splice(ary, beg, len, argv[2]);</div><div class='ctx'>     }</div><div class='del'>-    else if (FIXNUM_P(arg1)) {</div><div class='del'>-	offset = FIX2LONG(arg1);</div><div class='del'>-	goto fixnum;</div><div class='add'>+    if (FIXNUM_P(argv[0])) {</div><div class='add'>+	offset = FIX2LONG(argv[0]);</div><div class='add'>+        return ary_aset_by_rb_ary_store(ary, offset, argv[1]);</div><div class='ctx'>     }</div><div class='del'>-    else if (rb_range_beg_len(arg1, &amp;beg, &amp;len, RARRAY(ary)-&gt;len, 1)) {</div><div class='add'>+    if (rb_range_beg_len(argv[0], &amp;beg, &amp;len, RARRAY_LEN(ary), 1)) {</div><div class='ctx'> 	/* check if idx is Range */</div><div class='del'>-	rb_ary_replace(ary, beg, len, arg2);</div><div class='del'>-	return arg2;</div><div class='add'>+        return ary_aset_by_rb_ary_splice(ary, beg, len, argv[1]);</div><div class='ctx'>     }</div><div class='del'>-    if (TYPE(arg1) == T_BIGNUM) {</div><div class='del'>-	rb_raise(rb_eIndexError, "index too big");</div><div class='add'>+</div><div class='add'>+    offset = NUM2LONG(argv[0]);</div><div class='add'>+    return ary_aset_by_rb_ary_store(ary, offset, argv[1]);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.insert(index, *objects) -&gt; self</div><div class='add'>+ *</div><div class='add'>+ *  Inserts given +objects+ before or after the element at \Integer index +offset+;</div><div class='add'>+ *  returns +self+.</div><div class='add'>+ *</div><div class='add'>+ *  When +index+ is non-negative, inserts all given +objects+</div><div class='add'>+ *  before the element at offset +index+:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.insert(1, :bat, :bam) # =&gt; [:foo, :bat, :bam, "bar", 2]</div><div class='add'>+ *</div><div class='add'>+ *  Extends the array if +index+ is beyond the array (&lt;tt&gt;index &gt;= self.size&lt;/tt&gt;):</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.insert(5, :bat, :bam)</div><div class='add'>+ *    a # =&gt; [:foo, "bar", 2, nil, nil, :bat, :bam]</div><div class='add'>+ *</div><div class='add'>+ *  Does nothing if no objects given:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.insert(1)</div><div class='add'>+ *    a.insert(50)</div><div class='add'>+ *    a.insert(-50)</div><div class='add'>+ *    a # =&gt; [:foo, "bar", 2]</div><div class='add'>+ *</div><div class='add'>+ *  When +index+ is negative, inserts all given +objects+</div><div class='add'>+ *  _after_ the element at offset &lt;tt&gt;index+self.size&lt;/tt&gt;:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.insert(-2, :bat, :bam)</div><div class='add'>+ *    a # =&gt; [:foo, "bar", :bat, :bam, 2]</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_insert(int argc, VALUE *argv, VALUE ary)</div><div class='add'>+{</div><div class='add'>+    long pos;</div><div class='add'>+</div><div class='add'>+    rb_check_arity(argc, 1, UNLIMITED_ARGUMENTS);</div><div class='add'>+    rb_ary_modify_check(ary);</div><div class='add'>+    pos = NUM2LONG(argv[0]);</div><div class='add'>+    if (argc == 1) return ary;</div><div class='add'>+    if (pos == -1) {</div><div class='add'>+	pos = RARRAY_LEN(ary);</div><div class='add'>+    }</div><div class='add'>+    else if (pos &lt; 0) {</div><div class='add'>+	long minpos = -RARRAY_LEN(ary) - 1;</div><div class='add'>+	if (pos &lt; minpos) {</div><div class='add'>+	    rb_raise(rb_eIndexError, "index %ld too small for array; minimum: %ld",</div><div class='add'>+		     pos, minpos);</div><div class='add'>+	}</div><div class='add'>+	pos++;</div><div class='ctx'>     }</div><div class='add'>+    rb_ary_splice(ary, pos, 0, argv + 1, argc - 1);</div><div class='add'>+    return ary;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_length(VALUE ary);</div><div class='ctx'> </div><div class='del'>-    offset = NUM2LONG(arg1);</div><div class='del'>-  fixnum:</div><div class='del'>-    rb_ary_store(ary, offset, arg2);</div><div class='del'>-    return arg2;</div><div class='add'>+static VALUE</div><div class='add'>+ary_enum_length(VALUE ary, VALUE args, VALUE eobj)</div><div class='add'>+{</div><div class='add'>+    return rb_ary_length(ary);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.each {|element| ... } -&gt; self</div><div class='add'>+ *    array.each -&gt; Enumerator</div><div class='add'>+ *</div><div class='add'>+ *  Iterates over array elements.</div><div class='add'>+ *</div><div class='add'>+ *  When a block given, passes each successive array element to the block;</div><div class='add'>+ *  returns +self+:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.each {|element|  puts "#{element.class} #{element}" }</div><div class='add'>+ *</div><div class='add'>+ *  Output:</div><div class='add'>+ *    Symbol foo</div><div class='add'>+ *    String bar</div><div class='add'>+ *    Integer 2</div><div class='add'>+ *</div><div class='add'>+ *  Allows the array to be modified during iteration:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.each {|element| puts element; a.clear if element.to_s.start_with?('b') }</div><div class='add'>+ *</div><div class='add'>+ *  Output:</div><div class='add'>+ *    foo</div><div class='add'>+ *    bar</div><div class='add'>+ *</div><div class='add'>+ *  When no block given, returns a new \Enumerator:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    e = a.each</div><div class='add'>+ *    e # =&gt; #&lt;Enumerator: [:foo, "bar", 2]:each&gt;</div><div class='add'>+ *    a1 = e.each {|element|  puts "#{element.class} #{element}" }</div><div class='add'>+ *</div><div class='add'>+ *  Output:</div><div class='add'>+ *    Symbol foo</div><div class='add'>+ *    String bar</div><div class='add'>+ *    Integer 2</div><div class='add'>+ *</div><div class='add'>+ *  Related: #each_index, #reverse_each.</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> VALUE</div><div class='del'>-rb_ary_each(ary)</div><div class='del'>-    VALUE ary;</div><div class='add'>+rb_ary_each(VALUE ary)</div><div class='ctx'> {</div><div class='ctx'>     long i;</div><div class='del'>-</div><div class='del'>-    for (i=0; i&lt;RARRAY(ary)-&gt;len; i++) {</div><div class='del'>-	rb_yield(RARRAY(ary)-&gt;ptr[i]);</div><div class='add'>+    ary_verify(ary);</div><div class='add'>+    RETURN_SIZED_ENUMERATOR(ary, 0, 0, ary_enum_length);</div><div class='add'>+    for (i=0; i&lt;RARRAY_LEN(ary); i++) {</div><div class='add'>+	rb_yield(RARRAY_AREF(ary, i));</div><div class='ctx'>     }</div><div class='ctx'>     return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.each_index {|index| ... } -&gt; self</div><div class='add'>+ *    array.each_index -&gt; Enumerator</div><div class='add'>+ *</div><div class='add'>+ *  Iterates over array indexes.</div><div class='add'>+ *</div><div class='add'>+ *  When a block given, passes each successive array index to the block;</div><div class='add'>+ *  returns +self+:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.each_index {|index|  puts "#{index} #{a[index]}" }</div><div class='add'>+ *</div><div class='add'>+ *  Output:</div><div class='add'>+ *    0 foo</div><div class='add'>+ *    1 bar</div><div class='add'>+ *    2 2</div><div class='add'>+ *</div><div class='add'>+ *  Allows the array to be modified during iteration:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.each_index {|index| puts index; a.clear if index &gt; 0 }</div><div class='add'>+ *</div><div class='add'>+ *  Output:</div><div class='add'>+ *    0</div><div class='add'>+ *    1</div><div class='add'>+ *</div><div class='add'>+ *  When no block given, returns a new \Enumerator:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    e = a.each_index</div><div class='add'>+ *    e # =&gt; #&lt;Enumerator: [:foo, "bar", 2]:each_index&gt;</div><div class='add'>+ *    a1 = e.each {|index|  puts "#{index} #{a[index]}"}</div><div class='add'>+ *</div><div class='add'>+ *  Output:</div><div class='add'>+ *    0 foo</div><div class='add'>+ *    1 bar</div><div class='add'>+ *    2 2</div><div class='add'>+ *</div><div class='add'>+ *  Related: #each, #reverse_each.</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_each_index(ary)</div><div class='del'>-    VALUE ary;</div><div class='add'>+rb_ary_each_index(VALUE ary)</div><div class='ctx'> {</div><div class='ctx'>     long i;</div><div class='add'>+    RETURN_SIZED_ENUMERATOR(ary, 0, 0, ary_enum_length);</div><div class='ctx'> </div><div class='del'>-    for (i=0; i&lt;RARRAY(ary)-&gt;len; i++) {</div><div class='del'>-	rb_yield(INT2NUM(i));</div><div class='add'>+    for (i=0; i&lt;RARRAY_LEN(ary); i++) {</div><div class='add'>+	rb_yield(LONG2NUM(i));</div><div class='ctx'>     }</div><div class='ctx'>     return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.reverse_each {|element| ... } -&gt; self</div><div class='add'>+ *    array.reverse_each -&gt; Enumerator</div><div class='add'>+ *</div><div class='add'>+ *  Iterates backwards over array elements.</div><div class='add'>+ *</div><div class='add'>+ *  When a block given, passes, in reverse order, each element to the block;</div><div class='add'>+ *  returns +self+:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.reverse_each {|element|  puts "#{element.class} #{element}" }</div><div class='add'>+ *</div><div class='add'>+ *  Output:</div><div class='add'>+ *    Integer 2</div><div class='add'>+ *    String bar</div><div class='add'>+ *    Symbol foo</div><div class='add'>+ *</div><div class='add'>+ *  Allows the array to be modified during iteration:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.reverse_each {|element| puts element; a.clear if element.to_s.start_with?('b') }</div><div class='add'>+ *</div><div class='add'>+ *  Output:</div><div class='add'>+ *    2</div><div class='add'>+ *    bar</div><div class='add'>+ *</div><div class='add'>+ *  When no block given, returns a new \Enumerator:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    e = a.reverse_each</div><div class='add'>+ *    e # =&gt; #&lt;Enumerator: [:foo, "bar", 2]:reverse_each&gt;</div><div class='add'>+ *    a1 = e.each {|element|  puts "#{element.class} #{element}" }</div><div class='add'>+ *  Output:</div><div class='add'>+ *    Integer 2</div><div class='add'>+ *    String bar</div><div class='add'>+ *    Symbol foo</div><div class='add'>+ *</div><div class='add'>+ *  Related: #each, #each_index.</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_reverse_each(ary)</div><div class='del'>-    VALUE ary;</div><div class='add'>+rb_ary_reverse_each(VALUE ary)</div><div class='ctx'> {</div><div class='del'>-    long len = RARRAY(ary)-&gt;len;</div><div class='add'>+    long len;</div><div class='ctx'> </div><div class='add'>+    RETURN_SIZED_ENUMERATOR(ary, 0, 0, ary_enum_length);</div><div class='add'>+    len = RARRAY_LEN(ary);</div><div class='ctx'>     while (len--) {</div><div class='del'>-	rb_yield(RARRAY(ary)-&gt;ptr[len]);</div><div class='add'>+	long nlen;</div><div class='add'>+	rb_yield(RARRAY_AREF(ary, len));</div><div class='add'>+	nlen = RARRAY_LEN(ary);</div><div class='add'>+	if (nlen &lt; len) {</div><div class='add'>+	    len = nlen;</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='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.length -&gt; an_integer</div><div class='add'>+ *</div><div class='add'>+ *  Returns the count of elements in +self+.</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_length(ary)</div><div class='del'>-    VALUE ary;</div><div class='add'>+rb_ary_length(VALUE ary)</div><div class='ctx'> {</div><div class='del'>-    return INT2NUM(RARRAY(ary)-&gt;len);</div><div class='add'>+    long len = RARRAY_LEN(ary);</div><div class='add'>+    return LONG2NUM(len);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.empty?  -&gt; true or false</div><div class='add'>+ *</div><div class='add'>+ *  Returns +true+ if the count of elements in +self+ is zero,</div><div class='add'>+ *  +false+ otherwise.</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_empty_p(ary)</div><div class='del'>-    VALUE ary;</div><div class='add'>+rb_ary_empty_p(VALUE ary)</div><div class='ctx'> {</div><div class='del'>-    if (RARRAY(ary)-&gt;len == 0)</div><div class='add'>+    if (RARRAY_LEN(ary) == 0)</div><div class='ctx'> 	return Qtrue;</div><div class='ctx'>     return Qfalse;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-rb_ary_clone(ary)</div><div class='del'>-    VALUE ary;</div><div class='add'>+VALUE</div><div class='add'>+rb_ary_dup(VALUE ary)</div><div class='ctx'> {</div><div class='del'>-    VALUE ary2 = rb_ary_new2(RARRAY(ary)-&gt;len);</div><div class='add'>+    long len = RARRAY_LEN(ary);</div><div class='add'>+    VALUE dup = rb_ary_new2(len);</div><div class='add'>+    ary_memcpy(dup, 0, len, RARRAY_CONST_PTR_TRANSIENT(ary));</div><div class='add'>+    ARY_SET_LEN(dup, len);</div><div class='add'>+</div><div class='add'>+    ary_verify(ary);</div><div class='add'>+    ary_verify(dup);</div><div class='add'>+    return dup;</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-    CLONESETUP(ary2, ary);</div><div class='del'>-    MEMCPY(RARRAY(ary2)-&gt;ptr, RARRAY(ary)-&gt;ptr, VALUE, RARRAY(ary)-&gt;len);</div><div class='del'>-    RARRAY(ary2)-&gt;len = RARRAY(ary)-&gt;len;</div><div class='del'>-    return ary2;</div><div class='add'>+VALUE</div><div class='add'>+rb_ary_resurrect(VALUE ary)</div><div class='add'>+{</div><div class='add'>+    return ary_make_partial(ary, rb_cArray, 0, RARRAY_LEN(ary));</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+extern VALUE rb_output_fs;</div><div class='add'>+</div><div class='add'>+static void ary_join_1(VALUE obj, VALUE ary, VALUE sep, long i, VALUE result, int *first);</div><div class='add'>+</div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_dup(ary)</div><div class='del'>-    VALUE ary;</div><div class='add'>+recursive_join(VALUE obj, VALUE argp, int recur)</div><div class='ctx'> {</div><div class='del'>-    return rb_ary_s_create(RARRAY(ary)-&gt;len, RARRAY(ary)-&gt;ptr, CLASS_OF(ary));</div><div class='add'>+    VALUE *arg = (VALUE *)argp;</div><div class='add'>+    VALUE ary = arg[0];</div><div class='add'>+    VALUE sep = arg[1];</div><div class='add'>+    VALUE result = arg[2];</div><div class='add'>+    int *first = (int *)arg[3];</div><div class='add'>+</div><div class='add'>+    if (recur) {</div><div class='add'>+	rb_raise(rb_eArgError, "recursive array join");</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	ary_join_1(obj, ary, sep, 0, result, first);</div><div class='add'>+    }</div><div class='add'>+    return Qnil;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-to_ary(ary)</div><div class='del'>-    VALUE ary;</div><div class='add'>+static long</div><div class='add'>+ary_join_0(VALUE ary, VALUE sep, long max, VALUE result)</div><div class='ctx'> {</div><div class='del'>-    return rb_convert_type(ary, T_ARRAY, "Array", "to_ary");</div><div class='add'>+    long i;</div><div class='add'>+    VALUE val;</div><div class='add'>+</div><div class='add'>+    if (max &gt; 0) rb_enc_copy(result, RARRAY_AREF(ary, 0));</div><div class='add'>+    for (i=0; i&lt;max; i++) {</div><div class='add'>+	val = RARRAY_AREF(ary, i);</div><div class='add'>+        if (!RB_TYPE_P(val, T_STRING)) break;</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, val);</div><div class='add'>+    }</div><div class='add'>+    return i;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-extern VALUE rb_output_fs;</div><div class='add'>+static void</div><div class='add'>+ary_join_1_str(VALUE dst, VALUE src, int *first)</div><div class='add'>+{</div><div class='add'>+    rb_str_buf_append(dst, src);</div><div class='add'>+    if (*first) {</div><div class='add'>+        rb_enc_copy(dst, src);</div><div class='add'>+        *first = FALSE;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-inspect_join(ary, arg)</div><div class='del'>-    VALUE ary;</div><div class='del'>-    VALUE *arg;</div><div class='add'>+static void</div><div class='add'>+ary_join_1_ary(VALUE obj, VALUE ary, VALUE sep, VALUE result, VALUE val, int *first)</div><div class='ctx'> {</div><div class='del'>-    return rb_ary_join(arg[0], arg[1]);</div><div class='add'>+    if (val == ary) {</div><div class='add'>+        rb_raise(rb_eArgError, "recursive array join");</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        VALUE args[4];</div><div class='add'>+</div><div class='add'>+        *first = FALSE;</div><div class='add'>+        args[0] = val;</div><div class='add'>+        args[1] = sep;</div><div class='add'>+        args[2] = result;</div><div class='add'>+        args[3] = (VALUE)first;</div><div class='add'>+        rb_exec_recursive(recursive_join, obj, (VALUE)args);</div><div class='add'>+    }</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_ary_join(ary, sep)</div><div class='del'>-    VALUE ary, sep;</div><div class='add'>+static void</div><div class='add'>+ary_join_1(VALUE obj, VALUE ary, VALUE sep, long i, VALUE result, int *first)</div><div class='ctx'> {</div><div class='del'>-    long i;</div><div class='del'>-    VALUE result, tmp;</div><div class='del'>-    if (RARRAY(ary)-&gt;len == 0) return rb_str_new(0, 0);</div><div class='add'>+    VALUE val, tmp;</div><div class='ctx'> </div><div class='del'>-    tmp = RARRAY(ary)-&gt;ptr[0];</div><div class='del'>-    switch (TYPE(tmp)) {</div><div class='del'>-      case T_STRING:</div><div class='del'>-	result = rb_str_dup(tmp);</div><div class='del'>-	break;</div><div class='del'>-      case T_ARRAY:</div><div class='del'>-	if (rb_inspecting_p(tmp)) {</div><div class='del'>-	    result = rb_str_new2("[...]");</div><div class='del'>-	}</div><div class='del'>-	else {</div><div class='del'>-	    VALUE args[2];</div><div class='add'>+    for (; i&lt;RARRAY_LEN(ary); i++) {</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='ctx'> </div><div class='del'>-	    args[0] = tmp;</div><div class='del'>-	    args[1] = sep;</div><div class='del'>-	    result = rb_protect_inspect(inspect_join, ary, (VALUE)args);</div><div class='add'>+	val = RARRAY_AREF(ary, i);</div><div class='add'>+	if (RB_TYPE_P(val, T_STRING)) {</div><div class='add'>+            ary_join_1_str(result, val, first);</div><div class='add'>+	}</div><div class='add'>+	else if (RB_TYPE_P(val, T_ARRAY)) {</div><div class='add'>+            ary_join_1_ary(val, ary, sep, result, val, first);</div><div class='add'>+	}</div><div class='add'>+        else if (!NIL_P(tmp = rb_check_string_type(val))) {</div><div class='add'>+            ary_join_1_str(result, tmp, first);</div><div class='add'>+        }</div><div class='add'>+        else if (!NIL_P(tmp = rb_check_array_type(val))) {</div><div class='add'>+            ary_join_1_ary(val, ary, sep, result, tmp, first);</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            ary_join_1_str(result, rb_obj_as_string(val), first);</div><div class='ctx'> 	}</div><div class='del'>-	break;</div><div class='del'>-      default:</div><div class='del'>-	result = rb_obj_as_string(tmp);</div><div class='del'>-	break;</div><div class='ctx'>     }</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-    for (i=1; i&lt;RARRAY(ary)-&gt;len; i++) {</div><div class='del'>-	tmp = RARRAY(ary)-&gt;ptr[i];</div><div class='del'>-	switch (TYPE(tmp)) {</div><div class='del'>-	  case T_STRING:</div><div class='del'>-	    break;</div><div class='del'>-	  case T_ARRAY:</div><div class='del'>-	    if (rb_inspecting_p(tmp)) {</div><div class='del'>-		tmp = rb_str_new2("[...]");</div><div class='del'>-	    }</div><div class='del'>-	    else {</div><div class='del'>-		VALUE args[2];</div><div class='add'>+VALUE</div><div class='add'>+rb_ary_join(VALUE ary, VALUE sep)</div><div class='add'>+{</div><div class='add'>+    long len = 1, i;</div><div class='add'>+    VALUE val, tmp, result;</div><div class='ctx'> </div><div class='del'>-		args[0] = tmp;</div><div class='del'>-		args[1] = sep;</div><div class='del'>-		tmp = rb_protect_inspect(inspect_join, ary, (VALUE)args);</div><div class='del'>-	    }</div><div class='del'>-	    break;</div><div class='del'>-	  default:</div><div class='del'>-	    tmp = rb_obj_as_string(tmp);</div><div class='add'>+    if (RARRAY_LEN(ary) == 0) return rb_usascii_str_new(0, 0);</div><div class='add'>+</div><div class='add'>+    if (!NIL_P(sep)) {</div><div class='add'>+	StringValue(sep);</div><div class='add'>+	len += RSTRING_LEN(sep) * (RARRAY_LEN(ary) - 1);</div><div class='add'>+    }</div><div class='add'>+    for (i=0; i&lt;RARRAY_LEN(ary); i++) {</div><div class='add'>+	val = RARRAY_AREF(ary, i);</div><div class='add'>+	tmp = rb_check_string_type(val);</div><div class='add'>+</div><div class='add'>+	if (NIL_P(tmp) || tmp != val) {</div><div class='add'>+	    int first;</div><div class='add'>+            long n = RARRAY_LEN(ary);</div><div class='add'>+            if (i &gt; n) i = n;</div><div class='add'>+            result = rb_str_buf_new(len + (n-i)*10);</div><div class='add'>+	    rb_enc_associate(result, rb_usascii_encoding());</div><div class='add'>+            i = ary_join_0(ary, sep, i, result);</div><div class='add'>+	    first = i == 0;</div><div class='add'>+	    ary_join_1(ary, ary, sep, i, result, &amp;first);</div><div class='add'>+	    return result;</div><div class='ctx'> 	}</div><div class='del'>-	if (!NIL_P(sep)) rb_str_concat(result, sep);</div><div class='del'>-	rb_str_cat(result, RSTRING(tmp)-&gt;ptr, RSTRING(tmp)-&gt;len);</div><div class='del'>-	if (OBJ_TAINTED(tmp)) OBJ_TAINT(result);</div><div class='add'>+</div><div class='add'>+	len += RSTRING_LEN(tmp);</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='add'>+    result = rb_str_new(0, len);</div><div class='add'>+    rb_str_set_len(result, 0);</div><div class='add'>+</div><div class='add'>+    ary_join_0(ary, sep, RARRAY_LEN(ary), result);</div><div class='add'>+</div><div class='ctx'>     return result;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.join -&gt;new_string</div><div class='add'>+ *    array.join(separator = $,) -&gt; new_string</div><div class='add'>+ *</div><div class='add'>+ *  Returns the new \String formed by joining the array elements after conversion.</div><div class='add'>+ *  For each element +element+</div><div class='add'>+ *  - Uses &lt;tt&gt;element.to_s&lt;/tt&gt; if +element+ is not a &lt;tt&gt;kind_of?(Array)&lt;/tt&gt;.</div><div class='add'>+ *  - Uses recursive &lt;tt&gt;element.join(separator)&lt;/tt&gt; if +element+ is a &lt;tt&gt;kind_of?(Array)&lt;/tt&gt;.</div><div class='add'>+ *</div><div class='add'>+ *  With no argument, joins using the output field separator, &lt;tt&gt;$,&lt;/tt&gt;:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    $, # =&gt; nil</div><div class='add'>+ *    a.join # =&gt; "foobar2"</div><div class='add'>+ *</div><div class='add'>+ *  With \string argument +separator+, joins using that separator:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.join("\n") # =&gt; "foo\nbar\n2"</div><div class='add'>+ *</div><div class='add'>+ *  Joins recursively for nested Arrays:</div><div class='add'>+ *   a = [:foo, [:bar, [:baz, :bat]]]</div><div class='add'>+ *   a.join # =&gt; "foobarbazbat"</div><div class='add'>+ */</div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_join_method(argc, argv, ary)</div><div class='del'>-    int argc;</div><div class='del'>-    VALUE *argv;</div><div class='del'>-    VALUE ary;</div><div class='add'>+rb_ary_join_m(int argc, VALUE *argv, VALUE ary)</div><div class='ctx'> {</div><div class='ctx'>     VALUE sep;</div><div class='ctx'> </div><div class='del'>-    rb_scan_args(argc, argv, "01", &amp;sep);</div><div class='del'>-    if (NIL_P(sep)) sep = rb_output_fs;</div><div class='add'>+    if (rb_check_arity(argc, 0, 1) == 0 || NIL_P(sep = argv[0])) {</div><div class='add'>+        sep = rb_output_fs;</div><div class='add'>+        if (!NIL_P(sep)) {</div><div class='add'>+            rb_category_warn(RB_WARN_CATEGORY_DEPRECATED, "$, is set to non-nil value");</div><div class='add'>+        }</div><div class='add'>+    }</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'>-VALUE</div><div class='del'>-rb_ary_to_s(ary)</div><div class='del'>-    VALUE ary;</div><div class='add'>+static VALUE</div><div class='add'>+inspect_ary(VALUE ary, VALUE dummy, int recur)</div><div class='ctx'> {</div><div class='del'>-    VALUE str;</div><div class='add'>+    long i;</div><div class='add'>+    VALUE s, str;</div><div class='ctx'> </div><div class='del'>-    if (RARRAY(ary)-&gt;len == 0) return rb_str_new(0, 0);</div><div class='del'>-    str = rb_ary_join(ary, rb_output_fs);</div><div class='del'>-    if (NIL_P(str)) return rb_str_new(0, 0);</div><div class='add'>+    if (recur) return rb_usascii_str_new_cstr("[...]");</div><div class='add'>+    str = rb_str_buf_new2("[");</div><div class='add'>+    for (i=0; i&lt;RARRAY_LEN(ary); i++) {</div><div class='add'>+	s = rb_inspect(RARRAY_AREF(ary, i));</div><div class='add'>+	if (i &gt; 0) rb_str_buf_cat2(str, ", ");</div><div class='add'>+	else rb_enc_copy(str, s);</div><div class='add'>+	rb_str_buf_append(str, s);</div><div class='add'>+    }</div><div class='add'>+    rb_str_buf_cat2(str, "]");</div><div class='ctx'>     return str;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static ID inspect_key;</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.inspect -&gt; new_string</div><div class='add'>+ *</div><div class='add'>+ *  Returns the new \String formed by calling method &lt;tt&gt;#inspect&lt;/tt&gt;</div><div class='add'>+ *  on each array element:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.inspect # =&gt; "[:foo, \"bar\", 2]"</div><div class='add'>+ *</div><div class='add'>+ *  Array#to_s is an alias for Array#inspect.</div><div class='add'>+ */</div><div class='ctx'> </div><div class='del'>-struct inspect_arg {</div><div class='del'>-    VALUE (*func)();</div><div class='del'>-    VALUE arg1, arg2;</div><div class='del'>-};</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_inspect(VALUE ary)</div><div class='add'>+{</div><div class='add'>+    if (RARRAY_LEN(ary) == 0) return rb_usascii_str_new2("[]");</div><div class='add'>+    return rb_exec_recursive(inspect_ary, ary, 0);</div><div class='add'>+}</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-inspect_call(arg)</div><div class='del'>-    struct inspect_arg *arg;</div><div class='add'>+rb_ary_to_s(VALUE ary)</div><div class='ctx'> {</div><div class='del'>-    return (*arg-&gt;func)(arg-&gt;arg1, arg-&gt;arg2);</div><div class='add'>+    return rb_ary_inspect(ary);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    to_a -&gt; self or new_array</div><div class='add'>+ *</div><div class='add'>+ *  When +self+ is an instance of \Array, returns +self+:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.to_a # =&gt; [:foo, "bar", 2]</div><div class='add'>+ *</div><div class='add'>+ *  Otherwise, returns a new \Array containing the elements of +self+:</div><div class='add'>+ *    class MyArray &lt; Array; end</div><div class='add'>+ *    a = MyArray.new(['foo', 'bar', 'two'])</div><div class='add'>+ *    a.instance_of?(Array) # =&gt; false</div><div class='add'>+ *    a.kind_of?(Array) # =&gt; true</div><div class='add'>+ *    a1 = a.to_a</div><div class='add'>+ *    a1 # =&gt; ["foo", "bar", "two"]</div><div class='add'>+ *    a1.class # =&gt; Array # Not MyArray</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> static VALUE</div><div class='del'>-inspect_ensure(obj)</div><div class='del'>-    VALUE obj;</div><div class='add'>+rb_ary_to_a(VALUE ary)</div><div class='ctx'> {</div><div class='del'>-    VALUE inspect_tbl;</div><div class='del'>-</div><div class='del'>-    inspect_tbl = rb_thread_local_aref(rb_thread_current(), inspect_key);</div><div class='del'>-    rb_ary_pop(inspect_tbl);</div><div class='del'>-    return 0;</div><div class='add'>+    if (rb_obj_class(ary) != rb_cArray) {</div><div class='add'>+	VALUE dup = rb_ary_new2(RARRAY_LEN(ary));</div><div class='add'>+	rb_ary_replace(dup, ary);</div><div class='add'>+	return dup;</div><div class='add'>+    }</div><div class='add'>+    return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_protect_inspect(func, obj, arg)</div><div class='del'>-    VALUE (*func)();</div><div class='del'>-    VALUE obj, arg;</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.to_h -&gt; new_hash</div><div class='add'>+ *    array.to_h {|item| ... } -&gt; new_hash</div><div class='add'>+ *</div><div class='add'>+ *  Returns a new \Hash formed from +self+.</div><div class='add'>+ *</div><div class='add'>+ *  When a block is given, calls the block with each array element;</div><div class='add'>+ *  the block must return a 2-element \Array whose two elements</div><div class='add'>+ *  form a key-value pair in the returned \Hash:</div><div class='add'>+ *    a = ['foo', :bar, 1, [2, 3], {baz: 4}]</div><div class='add'>+ *    h = a.to_h {|item| [item, item] }</div><div class='add'>+ *    h # =&gt; {"foo"=&gt;"foo", :bar=&gt;:bar, 1=&gt;1, [2, 3]=&gt;[2, 3], {:baz=&gt;4}=&gt;{:baz=&gt;4}}</div><div class='add'>+ *</div><div class='add'>+ *  When no block is given, +self+ must be an \Array of 2-element sub-arrays,</div><div class='add'>+ *  each sub-array is formed into a key-value pair in the new \Hash:</div><div class='add'>+ *    [].to_h # =&gt; {}</div><div class='add'>+ *    a = [['foo', 'zero'], ['bar', 'one'], ['baz', 'two']]</div><div class='add'>+ *    h = a.to_h</div><div class='add'>+ *    h # =&gt; {"foo"=&gt;"zero", "bar"=&gt;"one", "baz"=&gt;"two"}</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_to_h(VALUE ary)</div><div class='ctx'> {</div><div class='del'>-    struct inspect_arg iarg;</div><div class='add'>+    long i;</div><div class='add'>+    VALUE hash = rb_hash_new_with_size(RARRAY_LEN(ary));</div><div class='add'>+    int block_given = rb_block_given_p();</div><div class='add'>+</div><div class='add'>+    for (i=0; i&lt;RARRAY_LEN(ary); i++) {</div><div class='add'>+	const VALUE e = rb_ary_elt(ary, i);</div><div class='add'>+	const VALUE elt = block_given ? rb_yield_force_blockarg(e) : e;</div><div class='add'>+	const VALUE key_value_pair = rb_check_array_type(elt);</div><div class='add'>+	if (NIL_P(key_value_pair)) {</div><div class='add'>+	    rb_raise(rb_eTypeError, "wrong element type %"PRIsVALUE" at %ld (expected array)",</div><div class='add'>+		     rb_obj_class(elt), i);</div><div class='add'>+	}</div><div class='add'>+	if (RARRAY_LEN(key_value_pair) != 2) {</div><div class='add'>+	    rb_raise(rb_eArgError, "wrong array length at %ld (expected 2, was %ld)",</div><div class='add'>+		i, RARRAY_LEN(key_value_pair));</div><div class='add'>+	}</div><div class='add'>+	rb_hash_aset(hash, RARRAY_AREF(key_value_pair, 0), RARRAY_AREF(key_value_pair, 1));</div><div class='add'>+    }</div><div class='add'>+    return hash;</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-    VALUE inspect_tbl;</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.to_ary -&gt; self</div><div class='add'>+ *</div><div class='add'>+ *  Returns +self+.</div><div class='add'>+ */</div><div class='ctx'> </div><div class='del'>-    if (!inspect_key) {</div><div class='del'>-	inspect_key = rb_intern("__inspect_key__");</div><div class='del'>-    }</div><div class='del'>-    inspect_tbl = rb_thread_local_aref(rb_thread_current(), inspect_key);</div><div class='del'>-    if (NIL_P(inspect_tbl)) {</div><div class='del'>-	inspect_tbl = rb_ary_new();</div><div class='del'>-	rb_thread_local_aset(rb_thread_current(), inspect_key, inspect_tbl);</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_to_ary_m(VALUE ary)</div><div class='add'>+{</div><div class='add'>+    return ary;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+ary_reverse(VALUE *p1, VALUE *p2)</div><div class='add'>+{</div><div class='add'>+    while (p1 &lt; p2) {</div><div class='add'>+	VALUE tmp = *p1;</div><div class='add'>+	*p1++ = *p2;</div><div class='add'>+	*p2-- = tmp;</div><div class='ctx'>     }</div><div class='del'>-    rb_ary_push(inspect_tbl, obj);</div><div class='del'>-    iarg.func = func;</div><div class='del'>-    iarg.arg1 = obj;</div><div class='del'>-    iarg.arg2 = arg;</div><div class='del'>-    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_inspecting_p(obj)</div><div class='del'>-    VALUE obj;</div><div class='add'>+rb_ary_reverse(VALUE ary)</div><div class='ctx'> {</div><div class='del'>-    VALUE inspect_tbl;</div><div class='add'>+    VALUE *p2;</div><div class='add'>+    long len = RARRAY_LEN(ary);</div><div class='add'>+</div><div class='add'>+    rb_ary_modify(ary);</div><div class='add'>+    if (len &gt; 1) {</div><div class='add'>+        RARRAY_PTR_USE_TRANSIENT(ary, p1, {</div><div class='add'>+            p2 = p1 + len - 1;	/* points last item */</div><div class='add'>+            ary_reverse(p1, p2);</div><div class='add'>+	}); /* WB: no new reference */</div><div class='add'>+    }</div><div class='add'>+    return ary;</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-    if (!inspect_key) return Qfalse;</div><div class='del'>-    inspect_tbl = rb_thread_local_aref(rb_thread_current(), inspect_key);</div><div class='del'>-    if (NIL_P(inspect_tbl)) return Qfalse;</div><div class='del'>-    return rb_ary_includes(inspect_tbl, obj);</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.reverse! -&gt; self</div><div class='add'>+ *</div><div class='add'>+ *  Reverses +self+ in place:</div><div class='add'>+ *    a = ['foo', 'bar', 'two']</div><div class='add'>+ *    a.reverse! # =&gt; ["two", "bar", "foo"]</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_reverse_bang(VALUE ary)</div><div class='add'>+{</div><div class='add'>+    return rb_ary_reverse(ary);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.reverse -&gt; new_array</div><div class='add'>+ *</div><div class='add'>+ *  Returns a new \Array with the elements of +self+ in reverse order.</div><div class='add'>+ *    a = ['foo', 'bar', 'two']</div><div class='add'>+ *    a1 = a.reverse</div><div class='add'>+ *    a1 # =&gt; ["two", "bar", "foo"]</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> static VALUE</div><div class='del'>-inspect_ary(ary)</div><div class='del'>-    VALUE ary;</div><div class='add'>+rb_ary_reverse_m(VALUE ary)</div><div class='ctx'> {</div><div class='del'>-    long i = 0;</div><div class='del'>-    VALUE s, str;</div><div class='add'>+    long len = RARRAY_LEN(ary);</div><div class='add'>+    VALUE dup = rb_ary_new2(len);</div><div class='ctx'> </div><div class='del'>-    str = rb_str_new2("[");</div><div class='add'>+    if (len &gt; 0) {</div><div class='add'>+        const VALUE *p1 = RARRAY_CONST_PTR_TRANSIENT(ary);</div><div class='add'>+        VALUE *p2 = (VALUE *)RARRAY_CONST_PTR_TRANSIENT(dup) + len - 1;</div><div class='add'>+	do *p2-- = *p1++; while (--len &gt; 0);</div><div class='add'>+    }</div><div class='add'>+    ARY_SET_LEN(dup, RARRAY_LEN(ary));</div><div class='add'>+    return dup;</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-    for (i=0; i&lt;RARRAY(ary)-&gt;len; i++) {</div><div class='del'>-	s = rb_inspect(RARRAY(ary)-&gt;ptr[i]);</div><div class='del'>-	if (i &gt; 0) rb_str_cat(str, ", ", 2);</div><div class='del'>-	rb_str_cat(str, RSTRING(s)-&gt;ptr, RSTRING(s)-&gt;len);</div><div class='add'>+static inline long</div><div class='add'>+rotate_count(long cnt, long len)</div><div class='add'>+{</div><div class='add'>+    return (cnt &lt; 0) ? (len - (~cnt % len) - 1) : (cnt % len);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+ary_rotate_ptr(VALUE *ptr, long len, long cnt)</div><div class='add'>+{</div><div class='add'>+    if (cnt == 1) {</div><div class='add'>+        VALUE tmp = *ptr;</div><div class='add'>+        memmove(ptr, ptr + 1, sizeof(VALUE)*(len - 1));</div><div class='add'>+        *(ptr + len - 1) = tmp;</div><div class='add'>+    } else if (cnt == len - 1) {</div><div class='add'>+        VALUE tmp = *(ptr + len - 1);</div><div class='add'>+        memmove(ptr + 1, ptr, sizeof(VALUE)*(len - 1));</div><div class='add'>+        *ptr = tmp;</div><div class='add'>+    } else {</div><div class='add'>+        --len;</div><div class='add'>+        if (cnt &lt; len) ary_reverse(ptr + cnt, ptr + len);</div><div class='add'>+        if (--cnt &gt; 0) ary_reverse(ptr, ptr + cnt);</div><div class='add'>+        if (len &gt; 0) ary_reverse(ptr, ptr + len);</div><div class='ctx'>     }</div><div class='del'>-    rb_str_cat(str, "]", 1);</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-    return str;</div><div class='add'>+VALUE</div><div class='add'>+rb_ary_rotate(VALUE ary, long cnt)</div><div class='add'>+{</div><div class='add'>+    rb_ary_modify(ary);</div><div class='add'>+</div><div class='add'>+    if (cnt != 0) {</div><div class='add'>+        long len = RARRAY_LEN(ary);</div><div class='add'>+        if (len &gt; 1 &amp;&amp; (cnt = rotate_count(cnt, len)) &gt; 0) {</div><div class='add'>+            RARRAY_PTR_USE_TRANSIENT(ary, ptr, ary_rotate_ptr(ptr, len, cnt));</div><div class='add'>+            return ary;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    return Qnil;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.rotate! -&gt; self</div><div class='add'>+ *    array.rotate!(count) -&gt; self</div><div class='add'>+ *</div><div class='add'>+ *  Rotates +self+ in place by moving elements from one end to the other; returns +self+.</div><div class='add'>+ *</div><div class='add'>+ *  When no argument given, rotates the first element to the last position:</div><div class='add'>+ *    a = [:foo, 'bar', 2, 'bar']</div><div class='add'>+ *    a.rotate! # =&gt; ["bar", 2, "bar", :foo]</div><div class='add'>+ *</div><div class='add'>+ *  When given a non-negative \Integer +count+,</div><div class='add'>+ *  rotates +count+ elements from the beginning to the end:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.rotate!(2)</div><div class='add'>+ *    a # =&gt; [2, :foo, "bar"]</div><div class='add'>+ *</div><div class='add'>+ *  If +count+ is large, uses &lt;tt&gt;count % array.size&lt;/tt&gt; as the count:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.rotate!(20)</div><div class='add'>+ *    a # =&gt; [2, :foo, "bar"]</div><div class='add'>+ *</div><div class='add'>+ *  If +count+ is zero, returns +self+ unmodified:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.rotate!(0)</div><div class='add'>+ *    a # =&gt; [:foo, "bar", 2]</div><div class='add'>+ *</div><div class='add'>+ *  When given a negative Integer +count+, rotates in the opposite direction,</div><div class='add'>+ *  from end to beginning:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.rotate!(-2)</div><div class='add'>+ *    a # =&gt; ["bar", 2, :foo]</div><div class='add'>+ *</div><div class='add'>+ *  If +count+ is small (far from zero), uses &lt;tt&gt;count % array.size&lt;/tt&gt; as the count:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.rotate!(-5)</div><div class='add'>+ *    a # =&gt; ["bar", 2, :foo]</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_inspect(ary)</div><div class='del'>-    VALUE ary;</div><div class='add'>+rb_ary_rotate_bang(int argc, VALUE *argv, VALUE ary)</div><div class='ctx'> {</div><div class='del'>-    if (RARRAY(ary)-&gt;len == 0) return rb_str_new2("[]");</div><div class='del'>-    if (rb_inspecting_p(ary)) return rb_str_new2("[...]");</div><div class='del'>-    return rb_protect_inspect(inspect_ary, ary, 0);</div><div class='add'>+    long n = (rb_check_arity(argc, 0, 1) ? NUM2LONG(argv[0]) : 1);</div><div class='add'>+    rb_ary_rotate(ary, n);</div><div class='add'>+    return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.rotate -&gt; new_array</div><div class='add'>+ *    array.rotate(count) -&gt; new_array</div><div class='add'>+ *</div><div class='add'>+ *  Returns a new \Array formed from +self+ with elements</div><div class='add'>+ *  rotated from one end to the other.</div><div class='add'>+ *</div><div class='add'>+ *  When no argument given, returns a new \Array that is like +self+,</div><div class='add'>+ *  except that the first element has been rotated to the last position:</div><div class='add'>+ *    a = [:foo, 'bar', 2, 'bar']</div><div class='add'>+ *    a1 = a.rotate</div><div class='add'>+ *    a1 # =&gt; ["bar", 2, "bar", :foo]</div><div class='add'>+ *</div><div class='add'>+ *  When given a non-negative \Integer +count+,</div><div class='add'>+ *  returns a new \Array with +count+ elements rotated from the beginning to the end:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a1 = a.rotate(2)</div><div class='add'>+ *    a1 # =&gt; [2, :foo, "bar"]</div><div class='add'>+ *</div><div class='add'>+ *  If +count+ is large, uses &lt;tt&gt;count % array.size&lt;/tt&gt; as the count:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a1 = a.rotate(20)</div><div class='add'>+ *    a1 # =&gt; [2, :foo, "bar"]</div><div class='add'>+ *</div><div class='add'>+ *  If +count+ is zero, returns a copy of +self+, unmodified:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a1 = a.rotate(0)</div><div class='add'>+ *    a1 # =&gt; [:foo, "bar", 2]</div><div class='add'>+ *</div><div class='add'>+ *  When given a negative \Integer +count+, rotates in the opposite direction,</div><div class='add'>+ *  from end to beginning:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a1 = a.rotate(-2)</div><div class='add'>+ *    a1 # =&gt; ["bar", 2, :foo]</div><div class='add'>+ *</div><div class='add'>+ *  If +count+ is small (far from zero), uses &lt;tt&gt;count % array.size&lt;/tt&gt; as the count:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a1 = a.rotate(-5)</div><div class='add'>+ *    a1 # =&gt; ["bar", 2, :foo]</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_to_a(ary)</div><div class='add'>+rb_ary_rotate_m(int argc, VALUE *argv, VALUE ary)</div><div class='add'>+{</div><div class='add'>+    VALUE rotated;</div><div class='add'>+    const VALUE *ptr;</div><div class='add'>+    long len;</div><div class='add'>+    long cnt = (rb_check_arity(argc, 0, 1) ? NUM2LONG(argv[0]) : 1);</div><div class='add'>+</div><div class='add'>+    len = RARRAY_LEN(ary);</div><div class='add'>+    rotated = rb_ary_new2(len);</div><div class='add'>+    if (len &gt; 0) {</div><div class='add'>+	cnt = rotate_count(cnt, len);</div><div class='add'>+        ptr = RARRAY_CONST_PTR_TRANSIENT(ary);</div><div class='add'>+	len -= cnt;</div><div class='add'>+	ary_memcpy(rotated, 0, len, ptr + cnt);</div><div class='add'>+	ary_memcpy(rotated, len, cnt, ptr);</div><div class='add'>+    }</div><div class='add'>+    ARY_SET_LEN(rotated, RARRAY_LEN(ary));</div><div class='add'>+    return rotated;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+struct ary_sort_data {</div><div class='ctx'>     VALUE ary;</div><div class='add'>+    struct cmp_opt_data cmp_opt;</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+sort_reentered(VALUE ary)</div><div class='add'>+{</div><div class='add'>+    if (RBASIC(ary)-&gt;klass) {</div><div class='add'>+	rb_raise(rb_eRuntimeError, "sort reentered");</div><div class='add'>+    }</div><div class='add'>+    return Qnil;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+sort_1(const void *ap, const void *bp, void *dummy)</div><div class='add'>+{</div><div class='add'>+    struct ary_sort_data *data = dummy;</div><div class='add'>+    VALUE retval = sort_reentered(data-&gt;ary);</div><div class='add'>+    VALUE a = *(const VALUE *)ap, b = *(const VALUE *)bp;</div><div class='add'>+    VALUE args[2];</div><div class='add'>+    int n;</div><div class='add'>+</div><div class='add'>+    args[0] = a;</div><div class='add'>+    args[1] = b;</div><div class='add'>+    retval = rb_yield_values2(2, args);</div><div class='add'>+    n = rb_cmpint(retval, a, b);</div><div class='add'>+    sort_reentered(data-&gt;ary);</div><div class='add'>+    return n;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+sort_2(const void *ap, const void *bp, void *dummy)</div><div class='add'>+{</div><div class='add'>+    struct ary_sort_data *data = dummy;</div><div class='add'>+    VALUE retval = sort_reentered(data-&gt;ary);</div><div class='add'>+    VALUE a = *(const VALUE *)ap, b = *(const VALUE *)bp;</div><div class='add'>+    int n;</div><div class='add'>+</div><div class='add'>+    if (FIXNUM_P(a) &amp;&amp; FIXNUM_P(b) &amp;&amp; CMP_OPTIMIZABLE(data-&gt;cmp_opt, Integer)) {</div><div class='add'>+	if ((long)a &gt; (long)b) return 1;</div><div class='add'>+	if ((long)a &lt; (long)b) return -1;</div><div class='add'>+	return 0;</div><div class='add'>+    }</div><div class='add'>+    if (STRING_P(a) &amp;&amp; STRING_P(b) &amp;&amp; CMP_OPTIMIZABLE(data-&gt;cmp_opt, String)) {</div><div class='add'>+	return rb_str_cmp(a, b);</div><div class='add'>+    }</div><div class='add'>+    if (RB_FLOAT_TYPE_P(a) &amp;&amp; CMP_OPTIMIZABLE(data-&gt;cmp_opt, Float)) {</div><div class='add'>+	return rb_float_cmp(a, b);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    retval = rb_funcallv(a, id_cmp, 1, &amp;b);</div><div class='add'>+    n = rb_cmpint(retval, a, b);</div><div class='add'>+    sort_reentered(data-&gt;ary);</div><div class='add'>+</div><div class='add'>+    return n;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.sort! -&gt; self</div><div class='add'>+ *    array.sort! {|a, b| ... } -&gt; self</div><div class='add'>+ *</div><div class='add'>+ *  Returns +self+ with its elements sorted in place.</div><div class='add'>+ *</div><div class='add'>+ *  With no block, compares elements using operator &lt;tt&gt;&lt;=&gt;&lt;/tt&gt;</div><div class='add'>+ *  (see Comparable):</div><div class='add'>+ *    a = 'abcde'.split('').shuffle</div><div class='add'>+ *    a # =&gt; ["e", "b", "d", "a", "c"]</div><div class='add'>+ *    a.sort!</div><div class='add'>+ *    a # =&gt; ["a", "b", "c", "d", "e"]</div><div class='add'>+ *</div><div class='add'>+ *  With a block, calls the block with each element pair;</div><div class='add'>+ *  for each element pair +a+ and +b+, the block should return an integer:</div><div class='add'>+ *  - Negative when +b+ is to follow +a+.</div><div class='add'>+ *  - Zero when +a+ and +b+ are equivalent.</div><div class='add'>+ *  - Positive when +a+ is to follow +b+.</div><div class='add'>+ *</div><div class='add'>+ *  Example:</div><div class='add'>+ *    a = 'abcde'.split('').shuffle</div><div class='add'>+ *    a # =&gt; ["e", "b", "d", "a", "c"]</div><div class='add'>+ *    a.sort! {|a, b| a &lt;=&gt; b }</div><div class='add'>+ *    a # =&gt; ["a", "b", "c", "d", "e"]</div><div class='add'>+ *    a.sort! {|a, b| b &lt;=&gt; a }</div><div class='add'>+ *    a # =&gt; ["e", "d", "c", "b", "a"]</div><div class='add'>+ *</div><div class='add'>+ *  When the block returns zero, the order for +a+ and +b+ is indeterminate,</div><div class='add'>+ *  and may be unstable:</div><div class='add'>+ *    a = 'abcde'.split('').shuffle</div><div class='add'>+ *    a # =&gt; ["e", "b", "d", "a", "c"]</div><div class='add'>+ *    a.sort! {|a, b| 0 }</div><div class='add'>+ *    a # =&gt; ["d", "e", "c", "a", "b"]</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_ary_sort_bang(VALUE ary)</div><div class='ctx'> {</div><div class='add'>+    rb_ary_modify(ary);</div><div class='add'>+    assert(!ARY_SHARED_P(ary));</div><div class='add'>+    if (RARRAY_LEN(ary) &gt; 1) {</div><div class='add'>+	VALUE tmp = ary_make_substitution(ary); /* only ary refers tmp */</div><div class='add'>+	struct ary_sort_data data;</div><div class='add'>+	long len = RARRAY_LEN(ary);</div><div class='add'>+	RBASIC_CLEAR_CLASS(tmp);</div><div class='add'>+	data.ary = tmp;</div><div class='add'>+	data.cmp_opt.opt_methods = 0;</div><div class='add'>+	data.cmp_opt.opt_inited = 0;</div><div class='add'>+	RARRAY_PTR_USE(tmp, ptr, {</div><div class='add'>+            ruby_qsort(ptr, len, sizeof(VALUE),</div><div class='add'>+                       rb_block_given_p()?sort_1:sort_2, &amp;data);</div><div class='add'>+	}); /* WB: no new reference */</div><div class='add'>+	rb_ary_modify(ary);</div><div class='add'>+        if (ARY_EMBED_P(tmp)) {</div><div class='add'>+            if (ARY_SHARED_P(ary)) { /* ary might be destructively operated in the given block */</div><div class='add'>+                rb_ary_unshare(ary);</div><div class='add'>+		FL_SET_EMBED(ary);</div><div class='add'>+            }</div><div class='add'>+	    ary_memcpy(ary, 0, ARY_EMBED_LEN(tmp), ARY_EMBED_PTR(tmp));</div><div class='add'>+            ARY_SET_LEN(ary, ARY_EMBED_LEN(tmp));</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            if (!ARY_EMBED_P(ary) &amp;&amp; ARY_HEAP_PTR(ary) == ARY_HEAP_PTR(tmp)) {</div><div class='add'>+                FL_UNSET_SHARED(ary);</div><div class='add'>+                ARY_SET_CAPA(ary, RARRAY_LEN(tmp));</div><div class='add'>+            }</div><div class='add'>+            else {</div><div class='add'>+                assert(!ARY_SHARED_P(tmp));</div><div class='add'>+                if (ARY_EMBED_P(ary)) {</div><div class='add'>+                    FL_UNSET_EMBED(ary);</div><div class='add'>+                }</div><div class='add'>+                else if (ARY_SHARED_P(ary)) {</div><div class='add'>+                    /* ary might be destructively operated in the given block */</div><div class='add'>+                    rb_ary_unshare(ary);</div><div class='add'>+                }</div><div class='add'>+                else {</div><div class='add'>+                    ary_heap_free(ary);</div><div class='add'>+                }</div><div class='add'>+                ARY_SET_PTR(ary, ARY_HEAP_PTR(tmp));</div><div class='add'>+                ARY_SET_HEAP_LEN(ary, len);</div><div class='add'>+                ARY_SET_CAPA(ary, ARY_HEAP_LEN(tmp));</div><div class='add'>+            }</div><div class='add'>+            /* tmp was lost ownership for the ptr */</div><div class='add'>+            FL_UNSET(tmp, FL_FREEZE);</div><div class='add'>+            FL_SET_EMBED(tmp);</div><div class='add'>+            ARY_SET_EMBED_LEN(tmp, 0);</div><div class='add'>+            FL_SET(tmp, FL_FREEZE);</div><div class='add'>+        }</div><div class='add'>+        /* tmp will be GC'ed. */</div><div class='add'>+        RBASIC_SET_CLASS_RAW(tmp, rb_cArray); /* rb_cArray must be marked */</div><div class='add'>+    }</div><div class='add'>+    ary_verify(ary);</div><div class='ctx'>     return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.sort -&gt; new_array</div><div class='add'>+ *    array.sort {|a, b| ... } -&gt; new_array</div><div class='add'>+ *</div><div class='add'>+ *  Returns a new \Array whose elements are those from +self+, sorted.</div><div class='add'>+ *</div><div class='add'>+ *  With no block, compares elements using operator &lt;tt&gt;&lt;=&gt;&lt;/tt&gt;</div><div class='add'>+ *  (see Comparable):</div><div class='add'>+ *    a = 'abcde'.split('').shuffle</div><div class='add'>+ *    a # =&gt; ["e", "b", "d", "a", "c"]</div><div class='add'>+ *    a1 = a.sort</div><div class='add'>+ *    a1 # =&gt; ["a", "b", "c", "d", "e"]</div><div class='add'>+ *</div><div class='add'>+ *  With a block, calls the block with each element pair;</div><div class='add'>+ *  for each element pair +a+ and +b+, the block should return an integer:</div><div class='add'>+ *  - Negative when +b+ is to follow +a+.</div><div class='add'>+ *  - Zero when +a+ and +b+ are equivalent.</div><div class='add'>+ *  - Positive when +a+ is to follow +b+.</div><div class='add'>+ *</div><div class='add'>+ *  Example:</div><div class='add'>+ *    a = 'abcde'.split('').shuffle</div><div class='add'>+ *    a # =&gt; ["e", "b", "d", "a", "c"]</div><div class='add'>+ *    a1 = a.sort {|a, b| a &lt;=&gt; b }</div><div class='add'>+ *    a1 # =&gt; ["a", "b", "c", "d", "e"]</div><div class='add'>+ *    a2 = a.sort {|a, b| b &lt;=&gt; a }</div><div class='add'>+ *    a2 # =&gt; ["e", "d", "c", "b", "a"]</div><div class='add'>+ *</div><div class='add'>+ *  When the block returns zero, the order for +a+ and +b+ is indeterminate,</div><div class='add'>+ *  and may be unstable:</div><div class='add'>+ *    a = 'abcde'.split('').shuffle</div><div class='add'>+ *    a # =&gt; ["e", "b", "d", "a", "c"]</div><div class='add'>+ *    a1 = a.sort {|a, b| 0 }</div><div class='add'>+ *    a1 # =&gt;  ["c", "e", "b", "d", "a"]</div><div class='add'>+ *</div><div class='add'>+ *  Related: Enumerable#sort_by.</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> VALUE</div><div class='del'>-rb_ary_reverse(ary)</div><div class='del'>-    VALUE ary;</div><div class='add'>+rb_ary_sort(VALUE ary)</div><div class='ctx'> {</div><div class='del'>-    VALUE *p1, *p2;</div><div class='del'>-    VALUE tmp;</div><div class='add'>+    ary = rb_ary_dup(ary);</div><div class='add'>+    rb_ary_sort_bang(ary);</div><div class='add'>+    return ary;</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-    if (RARRAY(ary)-&gt;len == 0) return ary;</div><div class='add'>+static VALUE rb_ary_bsearch_index(VALUE ary);</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.bsearch {|element| ... } -&gt; object</div><div class='add'>+ *    array.bsearch -&gt; new_enumerator</div><div class='add'>+ *</div><div class='add'>+ *  Returns an element from +self+ selected by a binary search.</div><div class='add'>+ *  +self+ should be sorted, but this is not checked.</div><div class='add'>+ *</div><div class='add'>+ *  By using binary search, finds a value from this array which meets</div><div class='add'>+ *  the given condition in &lt;tt&gt;O(log n)&lt;/tt&gt; where +n+ is the size of the array.</div><div class='add'>+ *</div><div class='add'>+ *  There are two search modes:</div><div class='add'>+ *  - &lt;b&gt;Find-minimum mode&lt;/b&gt;: the block should return +true+ or +false+.</div><div class='add'>+ *  - &lt;b&gt;Find-any mode&lt;/b&gt;: the block should return a numeric value.</div><div class='add'>+ *</div><div class='add'>+ *  The block should not mix the modes by and sometimes returning +true+ or +false+</div><div class='add'>+ *  and sometimes returning a numeric value, but this is not checked.</div><div class='add'>+ *</div><div class='add'>+ *  &lt;b&gt;Find-Minimum Mode&lt;/b&gt;</div><div class='add'>+ *</div><div class='add'>+ *  In find-minimum mode, the block always returns +true+ or +false+.</div><div class='add'>+ *  The further requirement (though not checked) is that</div><div class='add'>+ *  there are no indexes +i+ and +j+ such that:</div><div class='add'>+ *  - &lt;tt&gt;0 &lt;= i &lt; j &lt;= self.size&lt;/tt&gt;.</div><div class='add'>+ *  - The block returns +true+ for &lt;tt&gt;self[i]&lt;/tt&gt; and +false+ for &lt;tt&gt;self[j]&lt;/tt&gt;.</div><div class='add'>+ *</div><div class='add'>+ *  In find-minimum mode, method bsearch returns the first element for which the block returns true.</div><div class='add'>+ *</div><div class='add'>+ *  Examples:</div><div class='add'>+ *    a = [0, 4, 7, 10, 12]</div><div class='add'>+ *    a.bsearch {|x| x &gt;= 4 } # =&gt; 4</div><div class='add'>+ *    a.bsearch {|x| x &gt;= 6 } # =&gt; 7</div><div class='add'>+ *    a.bsearch {|x| x &gt;= -1 } # =&gt; 0</div><div class='add'>+ *    a.bsearch {|x| x &gt;= 100 } # =&gt; nil</div><div class='add'>+ *</div><div class='add'>+ *  Less formally: the block is such that all +false+-evaluating elements</div><div class='add'>+ *  precede all +true+-evaluating elements.</div><div class='add'>+ *</div><div class='add'>+ *  These make sense as blocks in find-minimum mode:</div><div class='add'>+ *    a = [0, 4, 7, 10, 12]</div><div class='add'>+ *    a.map {|x| x &gt;= 4 } # =&gt; [false, true, true, true, true]</div><div class='add'>+ *    a.map {|x| x &gt;= 6 } # =&gt; [false, false, true, true, true]</div><div class='add'>+ *    a.map {|x| x &gt;= -1 } # =&gt; [true, true, true, true, true]</div><div class='add'>+ *    a.map {|x| x &gt;= 100 } # =&gt; [false, false, false, false, false]</div><div class='add'>+ *</div><div class='add'>+ *  This would not make sense:</div><div class='add'>+ *    a = [0, 4, 7, 10, 12]</div><div class='add'>+ *    a.map {|x| x == 7 } # =&gt; [false, false, true, false, false]</div><div class='add'>+ *</div><div class='add'>+ *  &lt;b&gt;Find-Any Mode&lt;/b&gt;</div><div class='add'>+ *</div><div class='add'>+ *  In find-any mode, the block always returns a numeric value.</div><div class='add'>+ *  The further requirement (though not checked) is that</div><div class='add'>+ *  there are no indexes +i+ and +j+ such that:</div><div class='add'>+ *  - &lt;tt&gt;0 &lt;= i &lt; j &lt;= self.size&lt;/tt&gt;.</div><div class='add'>+ *  - The block returns a negative value for &lt;tt&gt;self[i]&lt;/tt&gt;</div><div class='add'>+ *    and a positive value for &lt;tt&gt;self[j]&lt;/tt&gt;.</div><div class='add'>+ *  - The block returns a negative value for &lt;tt&gt;self[i]&lt;/tt&gt; and zero &lt;tt&gt;self[j]&lt;/tt&gt;.</div><div class='add'>+ *  - The block returns zero for &lt;tt&gt;self[i]&lt;/tt&gt; and a positive value for &lt;tt&gt;self[j]&lt;/tt&gt;.</div><div class='add'>+ *</div><div class='add'>+ *  In find-any mode, method bsearch returns some element</div><div class='add'>+ *  for which the block returns zero, or +nil+ if no such element is found.</div><div class='add'>+ *</div><div class='add'>+ *  Examples:</div><div class='add'>+ *    a = [0, 4, 7, 10, 12]</div><div class='add'>+ *    a.bsearch {|element| 7 &lt;=&gt; element } # =&gt; 7</div><div class='add'>+ *    a.bsearch {|element| -1 &lt;=&gt; element } # =&gt; nil</div><div class='add'>+ *    a.bsearch {|element| 5 &lt;=&gt; element } # =&gt; nil</div><div class='add'>+ *    a.bsearch {|element| 15 &lt;=&gt; element } # =&gt; nil</div><div class='add'>+ *</div><div class='add'>+ *  Less formally: the block is such that:</div><div class='add'>+ *  - All positive-evaluating elements precede all zero-evaluating elements.</div><div class='add'>+ *  - All positive-evaluating elements precede all negative-evaluating elements.</div><div class='add'>+ *  - All zero-evaluating elements precede all negative-evaluating elements.</div><div class='add'>+ *</div><div class='add'>+ *  These make sense as blocks in find-any mode:</div><div class='add'>+ *    a = [0, 4, 7, 10, 12]</div><div class='add'>+ *    a.map {|element| 7 &lt;=&gt; element } # =&gt; [1, 1, 0, -1, -1]</div><div class='add'>+ *    a.map {|element| -1 &lt;=&gt; element } # =&gt; [-1, -1, -1, -1, -1]</div><div class='add'>+ *    a.map {|element| 5 &lt;=&gt; element } # =&gt; [1, 1, -1, -1, -1]</div><div class='add'>+ *    a.map {|element| 15 &lt;=&gt; element } # =&gt; [1, 1, 1, 1, 1]</div><div class='add'>+ *</div><div class='add'>+ *  This would not make sense:</div><div class='add'>+ *    a = [0, 4, 7, 10, 12]</div><div class='add'>+ *    a.map {|element| element &lt;=&gt; 7 } # =&gt; [-1, -1, 0, 1, 1]</div><div class='add'>+ *</div><div class='add'>+ *  Returns an enumerator if no block given:</div><div class='add'>+ *    a = [0, 4, 7, 10, 12]</div><div class='add'>+ *    a.bsearch # =&gt; #&lt;Enumerator: [0, 4, 7, 10, 12]:bsearch&gt;</div><div class='add'>+ */</div><div class='ctx'> </div><div class='del'>-    p1 = RARRAY(ary)-&gt;ptr;</div><div class='del'>-    p2 = p1 + RARRAY(ary)-&gt;len - 1;	/* points last item */</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_bsearch(VALUE ary)</div><div class='add'>+{</div><div class='add'>+    VALUE index_result = rb_ary_bsearch_index(ary);</div><div class='ctx'> </div><div class='del'>-    while (p1 &lt; p2) {</div><div class='del'>-	tmp = *p1;</div><div class='del'>-	*p1 = *p2;</div><div class='del'>-	*p2 = tmp;</div><div class='del'>-	p1++; p2--;</div><div class='add'>+    if (FIXNUM_P(index_result)) {</div><div class='add'>+	return rb_ary_entry(ary, FIX2LONG(index_result));</div><div class='ctx'>     }</div><div class='add'>+    return index_result;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.bsearch_index {|element| ... } -&gt; integer or nil</div><div class='add'>+ *    array.bsearch_index -&gt; new_enumerator</div><div class='add'>+ *</div><div class='add'>+ *  Searches +self+ as described at method #bsearch,</div><div class='add'>+ *  but returns the _index_ of the found element instead of the element itself.</div><div class='add'>+ */</div><div class='ctx'> </div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_bsearch_index(VALUE ary)</div><div class='add'>+{</div><div class='add'>+    long low = 0, high = RARRAY_LEN(ary), mid;</div><div class='add'>+    int smaller = 0, satisfied = 0;</div><div class='add'>+    VALUE v, val;</div><div class='add'>+</div><div class='add'>+    RETURN_ENUMERATOR(ary, 0, 0);</div><div class='add'>+    while (low &lt; high) {</div><div class='add'>+	mid = low + ((high - low) / 2);</div><div class='add'>+	val = rb_ary_entry(ary, mid);</div><div class='add'>+	v = rb_yield(val);</div><div class='add'>+	if (FIXNUM_P(v)) {</div><div class='add'>+	    if (v == INT2FIX(0)) return INT2FIX(mid);</div><div class='add'>+	    smaller = (SIGNED_VALUE)v &lt; 0; /* Fixnum preserves its sign-bit */</div><div class='add'>+	}</div><div class='add'>+	else if (v == Qtrue) {</div><div class='add'>+	    satisfied = 1;</div><div class='add'>+	    smaller = 1;</div><div class='add'>+	}</div><div class='add'>+	else if (v == Qfalse || v == Qnil) {</div><div class='add'>+	    smaller = 0;</div><div class='add'>+	}</div><div class='add'>+	else if (rb_obj_is_kind_of(v, rb_cNumeric)) {</div><div class='add'>+	    const VALUE zero = INT2FIX(0);</div><div class='add'>+	    switch (rb_cmpint(rb_funcallv(v, id_cmp, 1, &amp;zero), v, zero)) {</div><div class='add'>+	      case 0: return INT2FIX(mid);</div><div class='add'>+	      case 1: smaller = 1; break;</div><div class='add'>+	      case -1: smaller = 0;</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    rb_raise(rb_eTypeError, "wrong argument type %"PRIsVALUE</div><div class='add'>+		     " (must be numeric, true, false or nil)",</div><div class='add'>+		     rb_obj_class(v));</div><div class='add'>+	}</div><div class='add'>+	if (smaller) {</div><div class='add'>+	    high = mid;</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    low = mid + 1;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    if (!satisfied) return Qnil;</div><div class='add'>+    return INT2FIX(low);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+sort_by_i(RB_BLOCK_CALL_FUNC_ARGLIST(i, dummy))</div><div class='add'>+{</div><div class='add'>+    return rb_yield(i);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.sort_by! {|element| ... } -&gt; self</div><div class='add'>+ *    array.sort_by! -&gt; new_enumerator</div><div class='add'>+ *</div><div class='add'>+ *  Sorts the elements of +self+ in place,</div><div class='add'>+ *  using an ordering determined by the block; returns self.</div><div class='add'>+ *</div><div class='add'>+ *  Calls the block with each successive element;</div><div class='add'>+ *  sorts elements based on the values returned from the block.</div><div class='add'>+ *</div><div class='add'>+ *  For duplicates returned by the block, the ordering is indeterminate, and may be unstable.</div><div class='add'>+ *</div><div class='add'>+ *  This example sorts strings based on their sizes:</div><div class='add'>+ *    a = ['aaaa', 'bbb', 'cc', 'd']</div><div class='add'>+ *    a.sort_by! {|element| element.size }</div><div class='add'>+ *    a # =&gt; ["d", "cc", "bbb", "aaaa"]</div><div class='add'>+ *</div><div class='add'>+ *  Returns a new \Enumerator if no block given:</div><div class='add'>+ *</div><div class='add'>+ *    a = ['aaaa', 'bbb', 'cc', 'd']</div><div class='add'>+ *    a.sort_by! # =&gt; #&lt;Enumerator: ["aaaa", "bbb", "cc", "d"]:sort_by!&gt;</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_sort_by_bang(VALUE ary)</div><div class='add'>+{</div><div class='add'>+    VALUE sorted;</div><div class='add'>+</div><div class='add'>+    RETURN_SIZED_ENUMERATOR(ary, 0, 0, ary_enum_length);</div><div class='add'>+    rb_ary_modify(ary);</div><div class='add'>+    sorted = rb_block_call(ary, rb_intern("sort_by"), 0, 0, sort_by_i, 0);</div><div class='add'>+    rb_ary_replace(ary, sorted);</div><div class='ctx'>     return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.map {|element| ... } -&gt; new_array</div><div class='add'>+ *    array.map -&gt; new_enumerator</div><div class='add'>+ *</div><div class='add'>+ *  Calls the block, if given, with each element of +self+;</div><div class='add'>+ *  returns a new \Array whose elements are the return values from the block:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a1 = a.map {|element| element.class }</div><div class='add'>+ *    a1 # =&gt; [Symbol, String, Integer]</div><div class='add'>+ *</div><div class='add'>+ *  Returns a new \Enumerator if no block given:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a1 = a.map</div><div class='add'>+ *    a1 # =&gt; #&lt;Enumerator: [:foo, "bar", 2]:map&gt;</div><div class='add'>+ *</div><div class='add'>+ *  Array#collect is an alias for Array#map.</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_reverse_method(ary)</div><div class='del'>-    VALUE ary;</div><div class='add'>+rb_ary_collect(VALUE ary)</div><div class='ctx'> {</div><div class='del'>-    return rb_ary_reverse(rb_ary_dup(ary));</div><div class='add'>+    long i;</div><div class='add'>+    VALUE collect;</div><div class='add'>+</div><div class='add'>+    RETURN_SIZED_ENUMERATOR(ary, 0, 0, ary_enum_length);</div><div class='add'>+    collect = rb_ary_new2(RARRAY_LEN(ary));</div><div class='add'>+    for (i = 0; i &lt; RARRAY_LEN(ary); i++) {</div><div class='add'>+        rb_ary_push(collect, rb_yield(RARRAY_AREF(ary, i)));</div><div class='add'>+    }</div><div class='add'>+    return collect;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static ID cmp;</div><div class='ctx'> </div><div class='del'>-static int</div><div class='del'>-sort_1(a, b)</div><div class='del'>-    VALUE *a, *b;</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.map! {|element| ... } -&gt; self</div><div class='add'>+ *    array.map! -&gt; new_enumerator</div><div class='add'>+ *</div><div class='add'>+ *  Calls the block, if given, with each element;</div><div class='add'>+ *  replaces the element with the block's return value:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.map! { |element| element.class } # =&gt; [Symbol, String, Integer]</div><div class='add'>+ *</div><div class='add'>+ *  Returns a new \Enumerator if no block given:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a1 = a.map!</div><div class='add'>+ *    a1 # =&gt; #&lt;Enumerator: [:foo, "bar", 2]:map!&gt;</div><div class='add'>+ *</div><div class='add'>+ *  Array#collect! is an alias for Array#map!.</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_collect_bang(VALUE ary)</div><div class='ctx'> {</div><div class='del'>-    VALUE retval = rb_yield(rb_assoc_new(*a, *b));</div><div class='del'>-    return NUM2INT(retval);</div><div class='add'>+    long i;</div><div class='add'>+</div><div class='add'>+    RETURN_SIZED_ENUMERATOR(ary, 0, 0, ary_enum_length);</div><div class='add'>+    rb_ary_modify(ary);</div><div class='add'>+    for (i = 0; i &lt; RARRAY_LEN(ary); i++) {</div><div class='add'>+	rb_ary_store(ary, i, rb_yield(RARRAY_AREF(ary, i)));</div><div class='add'>+    }</div><div class='add'>+    return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static int</div><div class='del'>-sort_2(a, b)</div><div class='del'>-    VALUE *a, *b;</div><div class='add'>+VALUE</div><div class='add'>+rb_get_values_at(VALUE obj, long olen, int argc, const VALUE *argv, VALUE (*func) (VALUE, long))</div><div class='ctx'> {</div><div class='del'>-    VALUE retval;</div><div class='add'>+    VALUE result = rb_ary_new2(argc);</div><div class='add'>+    long beg, len, i, j;</div><div class='ctx'> </div><div class='del'>-    if (FIXNUM_P(*a)) {</div><div class='del'>-	if (FIXNUM_P(*b)) return *a - *b;</div><div class='add'>+    for (i=0; i&lt;argc; i++) {</div><div class='add'>+	if (FIXNUM_P(argv[i])) {</div><div class='add'>+	    rb_ary_push(result, (*func)(obj, FIX2LONG(argv[i])));</div><div class='add'>+	    continue;</div><div class='add'>+	}</div><div class='add'>+	/* check if idx is Range */</div><div class='add'>+	if (rb_range_beg_len(argv[i], &amp;beg, &amp;len, olen, 1)) {</div><div class='add'>+	    long end = olen &lt; beg+len ? olen : beg+len;</div><div class='add'>+	    for (j = beg; j &lt; end; j++) {</div><div class='add'>+		rb_ary_push(result, (*func)(obj, j));</div><div class='add'>+	    }</div><div class='add'>+	    if (beg + len &gt; j)</div><div class='add'>+		rb_ary_resize(result, RARRAY_LEN(result) + (beg + len) - j);</div><div class='add'>+	    continue;</div><div class='add'>+	}</div><div class='add'>+	rb_ary_push(result, (*func)(obj, NUM2LONG(argv[i])));</div><div class='add'>+    }</div><div class='add'>+    return result;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+append_values_at_single(VALUE result, VALUE ary, long olen, VALUE idx)</div><div class='add'>+{</div><div class='add'>+    long beg, len;</div><div class='add'>+    if (FIXNUM_P(idx)) {</div><div class='add'>+	beg = FIX2LONG(idx);</div><div class='ctx'>     }</div><div class='del'>-    else if (TYPE(*a) == T_STRING &amp;&amp; TYPE(*b) == T_STRING) {</div><div class='del'>-	return rb_str_cmp(*a, *b);</div><div class='add'>+    /* check if idx is Range */</div><div class='add'>+    else if (rb_range_beg_len(idx, &amp;beg, &amp;len, olen, 1)) {</div><div class='add'>+	if (len &gt; 0) {</div><div class='add'>+            const VALUE *const src = RARRAY_CONST_PTR_TRANSIENT(ary);</div><div class='add'>+	    const long end = beg + len;</div><div class='add'>+	    const long prevlen = RARRAY_LEN(result);</div><div class='add'>+	    if (beg &lt; olen) {</div><div class='add'>+		rb_ary_cat(result, src + beg, end &gt; olen ? olen-beg : len);</div><div class='add'>+	    }</div><div class='add'>+	    if (end &gt; olen) {</div><div class='add'>+		rb_ary_store(result, prevlen + len - 1, Qnil);</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+	return result;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	beg = NUM2LONG(idx);</div><div class='ctx'>     }</div><div class='add'>+    return rb_ary_push(result, rb_ary_entry(ary, beg));</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.values_at(*indexes) -&gt; new_array</div><div class='add'>+ *</div><div class='add'>+ *  Returns a new \Array whose elements are the elements</div><div class='add'>+ *  of +self+ at the given \Integer +indexes+.</div><div class='add'>+ *</div><div class='add'>+ *  For each positive +index+, returns the element at offset +index+:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.values_at(0, 2) # =&gt; [:foo, 2]</div><div class='add'>+ *</div><div class='add'>+ *  The given +indexes+ may be in any order, and may repeat:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.values_at(2, 0, 1, 0, 2) # =&gt; [2, :foo, "bar", :foo, 2]</div><div class='add'>+ *</div><div class='add'>+ *  Assigns +nil+ for an +index+ that is too large:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.values_at(0, 3, 1, 3) # =&gt; [:foo, nil, "bar", nil]</div><div class='add'>+ *</div><div class='add'>+ *  Returns a new empty \Array if no arguments given.</div><div class='add'>+ *</div><div class='add'>+ *  For each negative +index+, counts backward from the end of the array:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.values_at(-1, -3) # =&gt; [2, :foo]</div><div class='add'>+ *</div><div class='add'>+ *  Assigns +nil+ for an +index+ that is too small:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.values_at(0, -5, 1, -6, 2) # =&gt; [:foo, nil, "bar", nil, 2]</div><div class='add'>+ *</div><div class='add'>+ *  The given +indexes+ may have a mixture of signs:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.values_at(0, -2, 1, -1) # =&gt; [:foo, "bar", "bar", 2]</div><div class='add'>+ */</div><div class='ctx'> </div><div class='del'>-    retval = rb_funcall(*a, cmp, 1, *b);</div><div class='del'>-    return NUM2INT(retval);</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_values_at(int argc, VALUE *argv, VALUE ary)</div><div class='add'>+{</div><div class='add'>+    long i, olen = RARRAY_LEN(ary);</div><div class='add'>+    VALUE result = rb_ary_new_capa(argc);</div><div class='add'>+    for (i = 0; i &lt; argc; ++i) {</div><div class='add'>+	append_values_at_single(result, ary, olen, argv[i]);</div><div class='add'>+    }</div><div class='add'>+    RB_GC_GUARD(ary);</div><div class='add'>+    return result;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.select {|element| ... } -&gt; new_array</div><div class='add'>+ *    array.select -&gt; new_enumerator</div><div class='add'>+ *</div><div class='add'>+ *  Calls the block, if given, with each element of +self+;</div><div class='add'>+ *  returns a new \Array containing those elements of +self+</div><div class='add'>+ *  for which the block returns a truthy value:</div><div class='add'>+ *    a = [:foo, 'bar', 2, :bam]</div><div class='add'>+ *    a1 = a.select {|element| element.to_s.start_with?('b') }</div><div class='add'>+ *    a1 # =&gt; ["bar", :bam]</div><div class='add'>+ *</div><div class='add'>+ *  Returns a new \Enumerator if no block given:</div><div class='add'>+ *    a = [:foo, 'bar', 2, :bam]</div><div class='add'>+ *    a.select # =&gt; #&lt;Enumerator: [:foo, "bar", 2, :bam]:select&gt;</div><div class='add'>+ *</div><div class='add'>+ *  Array#filter is an alias for Array#select.</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> static VALUE</div><div class='del'>-sort_internal(ary)</div><div class='add'>+rb_ary_select(VALUE ary)</div><div class='add'>+{</div><div class='add'>+    VALUE result;</div><div class='add'>+    long i;</div><div class='add'>+</div><div class='add'>+    RETURN_SIZED_ENUMERATOR(ary, 0, 0, ary_enum_length);</div><div class='add'>+    result = rb_ary_new2(RARRAY_LEN(ary));</div><div class='add'>+    for (i = 0; i &lt; RARRAY_LEN(ary); i++) {</div><div class='add'>+	if (RTEST(rb_yield(RARRAY_AREF(ary, i)))) {</div><div class='add'>+	    rb_ary_push(result, rb_ary_elt(ary, i));</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    return result;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+struct select_bang_arg {</div><div class='ctx'>     VALUE ary;</div><div class='add'>+    long len[2];</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+select_bang_i(VALUE a)</div><div class='ctx'> {</div><div class='del'>-    qsort(RARRAY(ary)-&gt;ptr, RARRAY(ary)-&gt;len, sizeof(VALUE),</div><div class='del'>-	  rb_iterator_p()?sort_1:sort_2);</div><div class='del'>-    return ary;</div><div class='add'>+    volatile struct select_bang_arg *arg = (void *)a;</div><div class='add'>+    VALUE ary = arg-&gt;ary;</div><div class='add'>+    long i1, i2;</div><div class='add'>+</div><div class='add'>+    for (i1 = i2 = 0; i1 &lt; RARRAY_LEN(ary); arg-&gt;len[0] = ++i1) {</div><div class='add'>+	VALUE v = RARRAY_AREF(ary, i1);</div><div class='add'>+	if (!RTEST(rb_yield(v))) continue;</div><div class='add'>+	if (i1 != i2) {</div><div class='add'>+	    rb_ary_store(ary, i2, v);</div><div class='add'>+	}</div><div class='add'>+	arg-&gt;len[1] = ++i2;</div><div class='add'>+    }</div><div class='add'>+    return (i1 == i2) ? Qnil : ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-sort_unlock(ary)</div><div class='del'>-    VALUE ary;</div><div class='add'>+select_bang_ensure(VALUE a)</div><div class='ctx'> {</div><div class='del'>-    FL_UNSET(ary, ARY_TMPLOCK);</div><div class='add'>+    volatile struct select_bang_arg *arg = (void *)a;</div><div class='add'>+    VALUE ary = arg-&gt;ary;</div><div class='add'>+    long len = RARRAY_LEN(ary);</div><div class='add'>+    long i1 = arg-&gt;len[0], i2 = arg-&gt;len[1];</div><div class='add'>+</div><div class='add'>+    if (i2 &lt; len &amp;&amp; i2 &lt; i1) {</div><div class='add'>+	long tail = 0;</div><div class='add'>+	if (i1 &lt; len) {</div><div class='add'>+	    tail = len - i1;</div><div class='add'>+            RARRAY_PTR_USE_TRANSIENT(ary, ptr, {</div><div class='add'>+		    MEMMOVE(ptr + i2, ptr + i1, VALUE, tail);</div><div class='add'>+		});</div><div class='add'>+	}</div><div class='add'>+	ARY_SET_LEN(ary, i2 + tail);</div><div class='add'>+    }</div><div class='ctx'>     return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_ary_sort_bang(ary)</div><div class='del'>-    VALUE ary;</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.select! {|element| ... } -&gt; self or nil</div><div class='add'>+ *    array.select! -&gt; new_enumerator</div><div class='add'>+ *</div><div class='add'>+ *  Calls the block, if given  with each element of +self+;</div><div class='add'>+ *  removes from +self+ those elements for which the block returns +false+ or +nil+.</div><div class='add'>+ *</div><div class='add'>+ *  Returns +self+ if any elements were removed:</div><div class='add'>+ *    a = [:foo, 'bar', 2, :bam]</div><div class='add'>+ *    a.select! {|element| element.to_s.start_with?('b') } # =&gt; ["bar", :bam]</div><div class='add'>+ *</div><div class='add'>+ *  Returns +nil+ if no elements were removed.</div><div class='add'>+ *</div><div class='add'>+ *  Returns a new \Enumerator if no block given:</div><div class='add'>+ *    a = [:foo, 'bar', 2, :bam]</div><div class='add'>+ *    a.select! # =&gt; #&lt;Enumerator: [:foo, "bar", 2, :bam]:select!&gt;</div><div class='add'>+ *</div><div class='add'>+ *  Array#filter! is an alias for Array#select!.</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_select_bang(VALUE ary)</div><div class='ctx'> {</div><div class='del'>-    if (RARRAY(ary)-&gt;len &lt;= 1) return ary;</div><div class='add'>+    struct select_bang_arg args;</div><div class='ctx'> </div><div class='add'>+    RETURN_SIZED_ENUMERATOR(ary, 0, 0, ary_enum_length);</div><div class='ctx'>     rb_ary_modify(ary);</div><div class='del'>-    FL_SET(ary, ARY_TMPLOCK);	/* prohibit modification during sort */</div><div class='del'>-    rb_ensure(sort_internal, ary, sort_unlock, ary);</div><div class='add'>+</div><div class='add'>+    args.ary = ary;</div><div class='add'>+    args.len[0] = args.len[1] = 0;</div><div class='add'>+    return rb_ensure(select_bang_i, (VALUE)&amp;args, select_bang_ensure, (VALUE)&amp;args);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.keep_if {|element| ... } -&gt; self</div><div class='add'>+ *    array.keep_if -&gt; new_enumeration</div><div class='add'>+ *</div><div class='add'>+ *  Retains those elements for which the block returns a truthy value;</div><div class='add'>+ *  deletes all other elements; returns +self+:</div><div class='add'>+ *    a = [:foo, 'bar', 2, :bam]</div><div class='add'>+ *    a.keep_if {|element| element.to_s.start_with?('b') } # =&gt; ["bar", :bam]</div><div class='add'>+ *</div><div class='add'>+ *  Returns a new \Enumerator if no block given:</div><div class='add'>+ *    a = [:foo, 'bar', 2, :bam]</div><div class='add'>+ *    a.keep_if # =&gt; #&lt;Enumerator: [:foo, "bar", 2, :bam]:keep_if&gt;</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_keep_if(VALUE ary)</div><div class='add'>+{</div><div class='add'>+    RETURN_SIZED_ENUMERATOR(ary, 0, 0, ary_enum_length);</div><div class='add'>+    rb_ary_select_bang(ary);</div><div class='ctx'>     return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_ary_sort(ary)</div><div class='del'>-    VALUE ary;</div><div class='add'>+static void</div><div class='add'>+ary_resize_smaller(VALUE ary, long len)</div><div class='ctx'> {</div><div class='del'>-    if (RARRAY(ary)-&gt;len == 0) return ary;</div><div class='del'>-    return rb_ary_sort_bang(rb_ary_dup(ary));</div><div class='add'>+    rb_ary_modify(ary);</div><div class='add'>+    if (RARRAY_LEN(ary) &gt; len) {</div><div class='add'>+	ARY_SET_LEN(ary, len);</div><div class='add'>+	if (len * 2 &lt; ARY_CAPA(ary) &amp;&amp;</div><div class='add'>+	    ARY_CAPA(ary) &gt; ARY_DEFAULT_SIZE) {</div><div class='add'>+	    ary_resize_capa(ary, len * 2);</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.delete(obj) -&gt; deleted_object</div><div class='add'>+ *    array.delete(obj) {|nosuch| ... } -&gt; deleted_object or block_return</div><div class='add'>+ *</div><div class='add'>+ *  Removes zero or more elements from +self+; returns +self+.</div><div class='add'>+ *</div><div class='add'>+ *  When no block is given,</div><div class='add'>+ *  removes from +self+ each element +ele+ such that &lt;tt&gt;ele == obj&lt;/tt&gt;;</div><div class='add'>+ *  returns the last deleted element:</div><div class='add'>+ *    s1 = 'bar'; s2 = 'bar'</div><div class='add'>+ *    a = [:foo, s1, 2, s2]</div><div class='add'>+ *    a.delete('bar') # =&gt; "bar"</div><div class='add'>+ *    a # =&gt; [:foo, 2]</div><div class='add'>+ *</div><div class='add'>+ *  Returns +nil+ if no elements removed.</div><div class='add'>+ *</div><div class='add'>+ *  When a block is given,</div><div class='add'>+ *  removes from +self+ each element +ele+ such that &lt;tt&gt;ele == obj&lt;/tt&gt;.</div><div class='add'>+ *</div><div class='add'>+ *  If any such elements are found, ignores the block</div><div class='add'>+ *  and returns the last deleted element:</div><div class='add'>+ *    s1 = 'bar'; s2 = 'bar'</div><div class='add'>+ *    a = [:foo, s1, 2, s2]</div><div class='add'>+ *    deleted_obj = a.delete('bar') {|obj| fail 'Cannot happen' }</div><div class='add'>+ *    a # =&gt; [:foo, 2]</div><div class='add'>+ *</div><div class='add'>+ *  If no such elements are found, returns the block's return value:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.delete(:nosuch) {|obj| "#{obj} not found" } # =&gt; "nosuch not found"</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> VALUE</div><div class='del'>-rb_ary_delete(ary, item)</div><div class='del'>-    VALUE ary;</div><div class='del'>-    VALUE item;</div><div class='add'>+rb_ary_delete(VALUE ary, VALUE item)</div><div class='ctx'> {</div><div class='add'>+    VALUE v = item;</div><div class='ctx'>     long i1, i2;</div><div class='ctx'> </div><div class='del'>-    rb_ary_modify(ary);</div><div class='del'>-    for (i1 = i2 = 0; i1 &lt; RARRAY(ary)-&gt;len; i1++) {</div><div class='del'>-	if (rb_equal(RARRAY(ary)-&gt;ptr[i1], item)) continue;</div><div class='add'>+    for (i1 = i2 = 0; i1 &lt; RARRAY_LEN(ary); i1++) {</div><div class='add'>+	VALUE e = RARRAY_AREF(ary, i1);</div><div class='add'>+</div><div class='add'>+	if (rb_equal(e, item)) {</div><div class='add'>+	    v = e;</div><div class='add'>+	    continue;</div><div class='add'>+	}</div><div class='ctx'> 	if (i1 != i2) {</div><div class='del'>-	    RARRAY(ary)-&gt;ptr[i2] = RARRAY(ary)-&gt;ptr[i1];</div><div class='add'>+	    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(ary)-&gt;len == i2) {</div><div class='del'>-	if (rb_iterator_p()) {</div><div class='add'>+    if (RARRAY_LEN(ary) == i2) {</div><div class='add'>+	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='del'>-    else {</div><div class='del'>-	RARRAY(ary)-&gt;len = i2;</div><div class='del'>-    }</div><div class='ctx'> </div><div class='del'>-    return item;</div><div class='add'>+    ary_resize_smaller(ary, i2);</div><div class='add'>+</div><div class='add'>+    ary_verify(ary);</div><div class='add'>+    return v;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_ary_delete_at(ary, at)</div><div class='del'>-    VALUE ary;</div><div class='del'>-    VALUE at;</div><div class='add'>+void</div><div class='add'>+rb_ary_delete_same(VALUE ary, VALUE item)</div><div class='ctx'> {</div><div class='del'>-    long i1, i2, pos;</div><div class='del'>-    VALUE del = Qnil;</div><div class='add'>+    long i1, i2;</div><div class='ctx'> </div><div class='del'>-    rb_ary_modify(ary);</div><div class='del'>-    pos = NUM2LONG(at);</div><div class='del'>-    for (i1 = i2 = 0; i1 &lt; RARRAY(ary)-&gt;len; i1++) {</div><div class='del'>-	if (i1 == pos) {</div><div class='del'>-	    del = RARRAY(ary)-&gt;ptr[i1];</div><div class='add'>+    for (i1 = i2 = 0; i1 &lt; RARRAY_LEN(ary); i1++) {</div><div class='add'>+	VALUE e = RARRAY_AREF(ary, i1);</div><div class='add'>+</div><div class='add'>+	if (e == item) {</div><div class='ctx'> 	    continue;</div><div class='ctx'> 	}</div><div class='ctx'> 	if (i1 != i2) {</div><div class='del'>-	    RARRAY(ary)-&gt;ptr[i2] = RARRAY(ary)-&gt;ptr[i1];</div><div class='add'>+	    rb_ary_store(ary, i2, e);</div><div class='ctx'> 	}</div><div class='ctx'> 	i2++;</div><div class='ctx'>     }</div><div class='del'>-    RARRAY(ary)-&gt;len = i2;</div><div class='add'>+    if (RARRAY_LEN(ary) == i2) {</div><div class='add'>+	return;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    ary_resize_smaller(ary, i2);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_ary_delete_at(VALUE ary, long pos)</div><div class='add'>+{</div><div class='add'>+    long len = RARRAY_LEN(ary);</div><div class='add'>+    VALUE del;</div><div class='add'>+</div><div class='add'>+    if (pos &gt;= len) return Qnil;</div><div class='add'>+    if (pos &lt; 0) {</div><div class='add'>+	pos += len;</div><div class='add'>+	if (pos &lt; 0) return Qnil;</div><div class='add'>+    }</div><div class='ctx'> </div><div class='add'>+    rb_ary_modify(ary);</div><div class='add'>+    del = RARRAY_AREF(ary, pos);</div><div class='add'>+    RARRAY_PTR_USE_TRANSIENT(ary, ptr, {</div><div class='add'>+        MEMMOVE(ptr+pos, ptr+pos+1, VALUE, len-pos-1);</div><div class='add'>+    });</div><div class='add'>+    ARY_INCREASE_LEN(ary, -1);</div><div class='add'>+    ary_verify(ary);</div><div class='ctx'>     return del;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.delete_at(index) -&gt; deleted_object or nil</div><div class='add'>+ *</div><div class='add'>+ *  Deletes an element from +self+, per the given \Integer +index+.</div><div class='add'>+ *</div><div class='add'>+ *  When +index+ is non-negative, deletes the element at offset +index+:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.delete_at(1) # =&gt; "bar"</div><div class='add'>+ *    a # =&gt; [:foo, 2]</div><div class='add'>+ *</div><div class='add'>+ *  If index is too large, returns +nil+.</div><div class='add'>+ *</div><div class='add'>+ *  When +index+ is negative, counts backward from the end of the array:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.delete_at(-2) # =&gt; "bar"</div><div class='add'>+ *    a # =&gt; [:foo, 2]</div><div class='add'>+ *</div><div class='add'>+ *  If +index+ is too small (far from zero), returns nil.</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_delete_if(ary)</div><div class='del'>-    VALUE ary;</div><div class='add'>+rb_ary_delete_at_m(VALUE ary, VALUE pos)</div><div class='ctx'> {</div><div class='del'>-    long i1, i2;</div><div class='add'>+    return rb_ary_delete_at(ary, NUM2LONG(pos));</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-    rb_ary_modify(ary);</div><div class='del'>-    for (i1 = i2 = 0; i1 &lt; RARRAY(ary)-&gt;len; i1++) {</div><div class='del'>-	if (RTEST(rb_yield(RARRAY(ary)-&gt;ptr[i1]))) continue;</div><div class='del'>-	if (i1 != i2) {</div><div class='del'>-	    RARRAY(ary)-&gt;ptr[i2] = RARRAY(ary)-&gt;ptr[i1];</div><div class='add'>+static VALUE</div><div class='add'>+ary_slice_bang_by_rb_ary_splice(VALUE ary, long pos, long len)</div><div class='add'>+{</div><div class='add'>+    const long orig_len = RARRAY_LEN(ary);</div><div class='add'>+</div><div class='add'>+    if (len &lt; 0) {</div><div class='add'>+        return Qnil;</div><div class='add'>+    }</div><div class='add'>+    else if (pos &lt; -orig_len) {</div><div class='add'>+        return Qnil;</div><div class='add'>+    }</div><div class='add'>+    else if (pos &lt; 0) {</div><div class='add'>+        pos += orig_len;</div><div class='add'>+    }</div><div class='add'>+    else if (orig_len &lt; pos) {</div><div class='add'>+        return Qnil;</div><div class='add'>+    }</div><div class='add'>+    else if (orig_len &lt; pos + len) {</div><div class='add'>+        len = orig_len - pos;</div><div class='add'>+    }</div><div class='add'>+    if (len == 0) {</div><div class='add'>+        return rb_ary_new2(0);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        VALUE arg2 = rb_ary_new4(len, RARRAY_CONST_PTR_TRANSIENT(ary)+pos);</div><div class='add'>+        rb_ary_splice(ary, pos, len, 0, 0);</div><div class='add'>+        return arg2;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.slice!(n) -&gt; object or nil</div><div class='add'>+ *    array.slice!(start, length) -&gt; new_array or nil</div><div class='add'>+ *    array.slice!(range) -&gt; new_array or nil</div><div class='add'>+ *</div><div class='add'>+ *  Removes and returns elements from +self+.</div><div class='add'>+ *</div><div class='add'>+ *  When the only argument is an \Integer +n+,</div><div class='add'>+ *  removes and returns the _nth_ element in +self+:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.slice!(1) # =&gt; "bar"</div><div class='add'>+ *    a # =&gt; [:foo, 2]</div><div class='add'>+ *</div><div class='add'>+ *  If +n+ is negative, counts backwards from the end of +self+:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.slice!(-1) # =&gt; 2</div><div class='add'>+ *    a # =&gt; [:foo, "bar"]</div><div class='add'>+ *</div><div class='add'>+ *  If +n+ is out of range, returns +nil+.</div><div class='add'>+ *</div><div class='add'>+ *  When the only arguments are Integers +start+ and +length+,</div><div class='add'>+ *  removes +length+ elements from +self+ beginning at offset  +start+;</div><div class='add'>+ *  returns the deleted objects in a new Array:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.slice!(0, 2) # =&gt; [:foo, "bar"]</div><div class='add'>+ *    a # =&gt; [2]</div><div class='add'>+ *</div><div class='add'>+ *  If &lt;tt&gt;start + length&lt;/tt&gt; exceeds the array size,</div><div class='add'>+ *  removes and returns all elements from offset +start+ to the end:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.slice!(1, 50) # =&gt; ["bar", 2]</div><div class='add'>+ *    a # =&gt; [:foo]</div><div class='add'>+ *</div><div class='add'>+ *  If &lt;tt&gt;start == a.size&lt;/tt&gt; and +length+ is non-negative,</div><div class='add'>+ *  returns a new empty \Array.</div><div class='add'>+ *</div><div class='add'>+ *  If +length+ is negative, returns +nil+.</div><div class='add'>+ *</div><div class='add'>+ *  When the only argument is a \Range object +range+,</div><div class='add'>+ *  treats &lt;tt&gt;range.min&lt;/tt&gt; as +start+ above and &lt;tt&gt;range.size&lt;/tt&gt; as +length+ above:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *     a.slice!(1..2) # =&gt; ["bar", 2]</div><div class='add'>+ *    a # =&gt; [:foo]</div><div class='add'>+ *</div><div class='add'>+ *  If &lt;tt&gt;range.start == a.size&lt;/tt&gt;, returns a new empty \Array.</div><div class='add'>+ *</div><div class='add'>+ *  If &lt;tt&gt;range.start&lt;/tt&gt; is larger than the array size, returns +nil+.</div><div class='add'>+ *</div><div class='add'>+ *  If &lt;tt&gt;range.end&lt;/tt&gt; is negative, counts backwards from the end of the array:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.slice!(0..-2) # =&gt; [:foo, "bar"]</div><div class='add'>+ *    a # =&gt; [2]</div><div class='add'>+ *</div><div class='add'>+ *  If &lt;tt&gt;range.start&lt;/tt&gt; is negative,</div><div class='add'>+ *  calculates the start index backwards from the end of the array:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.slice!(-2..2) # =&gt; ["bar", 2]</div><div class='add'>+ *    a # =&gt; [:foo]</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_slice_bang(int argc, VALUE *argv, VALUE ary)</div><div class='add'>+{</div><div class='add'>+    VALUE arg1;</div><div class='add'>+    long pos, len;</div><div class='add'>+</div><div class='add'>+    rb_ary_modify_check(ary);</div><div class='add'>+    rb_check_arity(argc, 1, 2);</div><div class='add'>+    arg1 = argv[0];</div><div class='add'>+</div><div class='add'>+    if (argc == 2) {</div><div class='add'>+	pos = NUM2LONG(argv[0]);</div><div class='add'>+	len = NUM2LONG(argv[1]);</div><div class='add'>+        return ary_slice_bang_by_rb_ary_splice(ary, pos, len);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (!FIXNUM_P(arg1)) {</div><div class='add'>+	switch (rb_range_beg_len(arg1, &amp;pos, &amp;len, RARRAY_LEN(ary), 0)) {</div><div class='add'>+	  case Qtrue:</div><div class='add'>+	    /* valid range */</div><div class='add'>+            return ary_slice_bang_by_rb_ary_splice(ary, pos, len);</div><div class='add'>+	  case Qnil:</div><div class='add'>+	    /* invalid range */</div><div class='add'>+	    return Qnil;</div><div class='add'>+	  default:</div><div class='add'>+	    /* not a range */</div><div class='add'>+	    break;</div><div class='ctx'> 	}</div><div class='del'>-	i2++;</div><div class='ctx'>     }</div><div class='del'>-    RARRAY(ary)-&gt;len = i2;</div><div class='ctx'> </div><div class='del'>-    return ary;</div><div class='add'>+    return rb_ary_delete_at(ary, NUM2LONG(arg1));</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_filter(ary)</div><div class='del'>-    VALUE ary;</div><div class='add'>+ary_reject(VALUE orig, VALUE result)</div><div class='ctx'> {</div><div class='ctx'>     long i;</div><div class='ctx'> </div><div class='del'>-    rb_ary_modify(ary);</div><div class='del'>-    for (i = 0; i &lt; RARRAY(ary)-&gt;len; i++) {</div><div class='del'>-	RARRAY(ary)-&gt;ptr[i] = rb_yield(RARRAY(ary)-&gt;ptr[i]);</div><div class='add'>+    for (i = 0; i &lt; RARRAY_LEN(orig); i++) {</div><div class='add'>+	VALUE v = RARRAY_AREF(orig, i);</div><div class='add'>+</div><div class='add'>+        if (!RTEST(rb_yield(v))) {</div><div class='add'>+	    rb_ary_push(result, v);</div><div class='add'>+	}</div><div class='ctx'>     }</div><div class='del'>-    return ary;</div><div class='add'>+    return result;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_replace_method(ary, ary2)</div><div class='del'>-    VALUE ary, ary2;</div><div class='add'>+reject_bang_i(VALUE a)</div><div class='ctx'> {</div><div class='del'>-    ary2 = to_ary(ary2);</div><div class='del'>-    rb_ary_replace(ary, 0, RARRAY(ary)-&gt;len, ary2);</div><div class='add'>+    volatile struct select_bang_arg *arg = (void *)a;</div><div class='add'>+    VALUE ary = arg-&gt;ary;</div><div class='add'>+    long i1, i2;</div><div class='add'>+</div><div class='add'>+    for (i1 = i2 = 0; i1 &lt; RARRAY_LEN(ary); arg-&gt;len[0] = ++i1) {</div><div class='add'>+	VALUE v = RARRAY_AREF(ary, i1);</div><div class='add'>+	if (RTEST(rb_yield(v))) continue;</div><div class='add'>+	if (i1 != i2) {</div><div class='add'>+	    rb_ary_store(ary, i2, v);</div><div class='add'>+	}</div><div class='add'>+	arg-&gt;len[1] = ++i2;</div><div class='add'>+    }</div><div class='add'>+    return (i1 == i2) ? Qnil : ary;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ary_reject_bang(VALUE ary)</div><div class='add'>+{</div><div class='add'>+    struct select_bang_arg args;</div><div class='add'>+    rb_ary_modify_check(ary);</div><div class='add'>+    args.ary = ary;</div><div class='add'>+    args.len[0] = args.len[1] = 0;</div><div class='add'>+    return rb_ensure(reject_bang_i, (VALUE)&amp;args, select_bang_ensure, (VALUE)&amp;args);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.reject! {|element| ... } -&gt; self or nil</div><div class='add'>+ *    array.reject! -&gt; new_enumerator</div><div class='add'>+ *</div><div class='add'>+ *  Removes each element for which the block returns a truthy value.</div><div class='add'>+ *</div><div class='add'>+ *  Returns +self+ if any elements removed:</div><div class='add'>+ *    a = [:foo, 'bar', 2, 'bat']</div><div class='add'>+ *    a.reject! {|element| element.to_s.start_with?('b') } # =&gt; [:foo, 2]</div><div class='add'>+ *</div><div class='add'>+ *  Returns +nil+ if no elements removed.</div><div class='add'>+ *</div><div class='add'>+ *  Returns a new \Enumerator if no block given:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.reject! # =&gt; #&lt;Enumerator: [:foo, "bar", 2]:reject!&gt;</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_reject_bang(VALUE ary)</div><div class='add'>+{</div><div class='add'>+    RETURN_SIZED_ENUMERATOR(ary, 0, 0, ary_enum_length);</div><div class='add'>+    rb_ary_modify(ary);</div><div class='add'>+    return ary_reject_bang(ary);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.reject {|element| ... } -&gt; new_array</div><div class='add'>+ *    array.reject -&gt; new_enumerator</div><div class='add'>+ *</div><div class='add'>+ *  Returns a new \Array whose elements are all those from +self+</div><div class='add'>+ *  for which the block returns +false+ or +nil+:</div><div class='add'>+ *    a = [:foo, 'bar', 2, 'bat']</div><div class='add'>+ *    a1 = a.reject {|element| element.to_s.start_with?('b') }</div><div class='add'>+ *    a1 # =&gt; [:foo, 2]</div><div class='add'>+ *</div><div class='add'>+ *  Returns a new \Enumerator if no block given:</div><div class='add'>+ *     a = [:foo, 'bar', 2]</div><div class='add'>+ *     a.reject # =&gt; #&lt;Enumerator: [:foo, "bar", 2]:reject&gt;</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_reject(VALUE ary)</div><div class='add'>+{</div><div class='add'>+    VALUE rejected_ary;</div><div class='add'>+</div><div class='add'>+    RETURN_SIZED_ENUMERATOR(ary, 0, 0, ary_enum_length);</div><div class='add'>+    rejected_ary = rb_ary_new();</div><div class='add'>+    ary_reject(ary, rejected_ary);</div><div class='add'>+    return rejected_ary;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.delete_if {|element| ... } -&gt; self</div><div class='add'>+ *    array.delete_if -&gt; Enumerator</div><div class='add'>+ *</div><div class='add'>+ *  Removes each element in +self+ for which the block returns a truthy value;</div><div class='add'>+ *  returns +self+:</div><div class='add'>+ *    a = [:foo, 'bar', 2, 'bat']</div><div class='add'>+ *    a.delete_if {|element| element.to_s.start_with?('b') } # =&gt; [:foo, 2]</div><div class='add'>+ *</div><div class='add'>+ *  Returns a new \Enumerator if no block given:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.delete_if # =&gt; #&lt;Enumerator: [:foo, "bar", 2]:delete_if&gt;</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_delete_if(VALUE ary)</div><div class='add'>+{</div><div class='add'>+    ary_verify(ary);</div><div class='add'>+    RETURN_SIZED_ENUMERATOR(ary, 0, 0, ary_enum_length);</div><div class='add'>+    ary_reject_bang(ary);</div><div class='ctx'>     return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_clear(ary)</div><div class='del'>-    VALUE ary;</div><div class='add'>+take_i(RB_BLOCK_CALL_FUNC_ARGLIST(val, cbarg))</div><div class='add'>+{</div><div class='add'>+    VALUE *args = (VALUE *)cbarg;</div><div class='add'>+    if (args[1] == 0) rb_iter_break();</div><div class='add'>+    else args[1]--;</div><div class='add'>+    if (argc &gt; 1) val = rb_ary_new4(argc, argv);</div><div class='add'>+    rb_ary_push(args[0], val);</div><div class='add'>+    return Qnil;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+take_items(VALUE obj, long n)</div><div class='add'>+{</div><div class='add'>+    VALUE result = rb_check_array_type(obj);</div><div class='add'>+    VALUE args[2];</div><div class='add'>+</div><div class='add'>+    if (!NIL_P(result)) return rb_ary_subseq(result, 0, n);</div><div class='add'>+    result = rb_ary_new2(n);</div><div class='add'>+    args[0] = result; args[1] = (VALUE)n;</div><div class='add'>+    if (rb_check_block_call(obj, idEach, 0, 0, take_i, (VALUE)args) == Qundef)</div><div class='add'>+	rb_raise(rb_eTypeError, "wrong argument type %"PRIsVALUE" (must respond to :each)",</div><div class='add'>+		 rb_obj_class(obj));</div><div class='add'>+    return result;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.zip(*other_arrays) -&gt; new_array</div><div class='add'>+ *    array.zip(*other_arrays) {|other_array| ... } -&gt; nil</div><div class='add'>+ *</div><div class='add'>+ *  When no block given, returns a new \Array +new_array+ of size &lt;tt&gt;self.size&lt;/tt&gt;</div><div class='add'>+ *  whose elements are Arrays.</div><div class='add'>+ *</div><div class='add'>+ *  Each nested array &lt;tt&gt;new_array[n]&lt;/tt&gt; is of size &lt;tt&gt;other_arrays.size+1&lt;/tt&gt;,</div><div class='add'>+ *  and contains:</div><div class='add'>+ *  - The _nth_ element of +self+.</div><div class='add'>+ *  - The _nth_ element of each of the +other_arrays+.</div><div class='add'>+ *</div><div class='add'>+ *  If all +other_arrays+ and +self+ are the same size:</div><div class='add'>+ *    a = [:a0, :a1, :a2, :a3]</div><div class='add'>+ *    b = [:b0, :b1, :b2, :b3]</div><div class='add'>+ *    c = [:c0, :c1, :c2, :c3]</div><div class='add'>+ *    d = a.zip(b, c)</div><div class='add'>+ *    d # =&gt; [[:a0, :b0, :c0], [:a1, :b1, :c1], [:a2, :b2, :c2], [:a3, :b3, :c3]]</div><div class='add'>+ *</div><div class='add'>+ *  If any array in +other_arrays+ is smaller than +self+,</div><div class='add'>+ *  fills to &lt;tt&gt;self.size&lt;/tt&gt; with +nil+:</div><div class='add'>+ *    a = [:a0, :a1, :a2, :a3]</div><div class='add'>+ *    b = [:b0, :b1, :b2]</div><div class='add'>+ *    c = [:c0, :c1]</div><div class='add'>+ *    d = a.zip(b, c)</div><div class='add'>+ *    d # =&gt; [[:a0, :b0, :c0], [:a1, :b1, :c1], [:a2, :b2, nil], [:a3, nil, nil]]</div><div class='add'>+ *</div><div class='add'>+ *  If any array in +other_arrays+ is larger than +self+,</div><div class='add'>+ *  its trailing elements are ignored:</div><div class='add'>+ *    a = [:a0, :a1, :a2, :a3]</div><div class='add'>+ *    b = [:b0, :b1, :b2, :b3, :b4]</div><div class='add'>+ *    c = [:c0, :c1, :c2, :c3, :c4, :c5]</div><div class='add'>+ *    d = a.zip(b, c)</div><div class='add'>+ *    d # =&gt; [[:a0, :b0, :c0], [:a1, :b1, :c1], [:a2, :b2, :c2], [:a3, :b3, :c3]]</div><div class='add'>+ *</div><div class='add'>+ *  When a block is given, calls the block with each of the sub-arrays (formed as above); returns nil</div><div class='add'>+ *    a = [:a0, :a1, :a2, :a3]</div><div class='add'>+ *    b = [:b0, :b1, :b2, :b3]</div><div class='add'>+ *    c = [:c0, :c1, :c2, :c3]</div><div class='add'>+ *    a.zip(b, c) {|sub_array| p sub_array} # =&gt; nil</div><div class='add'>+ *</div><div class='add'>+ *  Output:</div><div class='add'>+ *    [:a0, :b0, :c0]</div><div class='add'>+ *    [:a1, :b1, :c1]</div><div class='add'>+ *    [:a2, :b2, :c2]</div><div class='add'>+ *    [:a3, :b3, :c3]</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_zip(int argc, VALUE *argv, VALUE ary)</div><div class='add'>+{</div><div class='add'>+    int i, j;</div><div class='add'>+    long len = RARRAY_LEN(ary);</div><div class='add'>+    VALUE result = Qnil;</div><div class='add'>+</div><div class='add'>+    for (i=0; i&lt;argc; i++) {</div><div class='add'>+	argv[i] = take_items(argv[i], len);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (rb_block_given_p()) {</div><div class='add'>+	int arity = rb_block_arity();</div><div class='add'>+</div><div class='add'>+	if (arity &gt; 1) {</div><div class='add'>+	    VALUE work, *tmp;</div><div class='add'>+</div><div class='add'>+	    tmp = ALLOCV_N(VALUE, work, argc+1);</div><div class='add'>+</div><div class='add'>+	    for (i=0; i&lt;RARRAY_LEN(ary); i++) {</div><div class='add'>+		tmp[0] = RARRAY_AREF(ary, i);</div><div class='add'>+		for (j=0; j&lt;argc; j++) {</div><div class='add'>+		    tmp[j+1] = rb_ary_elt(argv[j], i);</div><div class='add'>+		}</div><div class='add'>+		rb_yield_values2(argc+1, tmp);</div><div class='add'>+	    }</div><div class='add'>+</div><div class='add'>+	    if (work) ALLOCV_END(work);</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    for (i=0; i&lt;RARRAY_LEN(ary); i++) {</div><div class='add'>+		VALUE tmp = rb_ary_new2(argc+1);</div><div class='add'>+</div><div class='add'>+		rb_ary_push(tmp, RARRAY_AREF(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_yield(tmp);</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	result = rb_ary_new_capa(len);</div><div class='add'>+</div><div class='add'>+	for (i=0; i&lt;len; i++) {</div><div class='add'>+	    VALUE tmp = rb_ary_new_capa(argc+1);</div><div class='add'>+</div><div class='add'>+	    rb_ary_push(tmp, RARRAY_AREF(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='add'>+    }</div><div class='add'>+</div><div class='add'>+    return result;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.transpose -&gt; new_array</div><div class='add'>+ *</div><div class='add'>+ *  Transposes the rows and columns in an \Array of Arrays;</div><div class='add'>+ *  the nested Arrays must all be the same size:</div><div class='add'>+ *    a = [[:a0, :a1], [:b0, :b1], [:c0, :c1]]</div><div class='add'>+ *    a.transpose # =&gt; [[:a0, :b0, :c0], [:a1, :b1, :c1]]</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_transpose(VALUE ary)</div><div class='add'>+{</div><div class='add'>+    long elen = -1, alen, i, j;</div><div class='add'>+    VALUE tmp, result = 0;</div><div class='add'>+</div><div class='add'>+    alen = RARRAY_LEN(ary);</div><div class='add'>+    if (alen == 0) return rb_ary_dup(ary);</div><div class='add'>+    for (i=0; i&lt;alen; i++) {</div><div class='add'>+	tmp = to_ary(rb_ary_elt(ary, i));</div><div class='add'>+	if (elen &lt; 0) {		/* first element */</div><div class='add'>+	    elen = RARRAY_LEN(tmp);</div><div class='add'>+	    result = rb_ary_new2(elen);</div><div class='add'>+	    for (j=0; j&lt;elen; j++) {</div><div class='add'>+		rb_ary_store(result, j, rb_ary_new2(alen));</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+	else if (elen != RARRAY_LEN(tmp)) {</div><div class='add'>+	    rb_raise(rb_eIndexError, "element size differs (%ld should be %ld)",</div><div class='add'>+		     RARRAY_LEN(tmp), elen);</div><div class='add'>+	}</div><div class='add'>+	for (j=0; j&lt;elen; j++) {</div><div class='add'>+	    rb_ary_store(rb_ary_elt(result, j), i, rb_ary_elt(tmp, j));</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    return result;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.replace(other_array) -&gt; self</div><div class='add'>+ *</div><div class='add'>+ *  Replaces the content of +self+ with the content of +other_array+; returns +self+:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.replace(['foo', :bar, 3]) # =&gt; ["foo", :bar, 3]</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_ary_replace(VALUE copy, VALUE orig)</div><div class='add'>+{</div><div class='add'>+    rb_ary_modify_check(copy);</div><div class='add'>+    orig = to_ary(orig);</div><div class='add'>+    if (copy == orig) return copy;</div><div class='add'>+</div><div class='add'>+    if (RARRAY_LEN(orig) &lt;= RARRAY_EMBED_LEN_MAX) {</div><div class='add'>+        VALUE shared_root = 0;</div><div class='add'>+</div><div class='add'>+        if (ARY_OWNS_HEAP_P(copy)) {</div><div class='add'>+            ary_heap_free(copy);</div><div class='add'>+	}</div><div class='add'>+        else if (ARY_SHARED_P(copy)) {</div><div class='add'>+            shared_root = ARY_SHARED_ROOT(copy);</div><div class='add'>+            FL_UNSET_SHARED(copy);</div><div class='add'>+        }</div><div class='add'>+        FL_SET_EMBED(copy);</div><div class='add'>+        ary_memcpy(copy, 0, RARRAY_LEN(orig), RARRAY_CONST_PTR_TRANSIENT(orig));</div><div class='add'>+        if (shared_root) {</div><div class='add'>+            rb_ary_decrement_share(shared_root);</div><div class='add'>+        }</div><div class='add'>+        ARY_SET_LEN(copy, RARRAY_LEN(orig));</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        VALUE shared_root = ary_make_shared(orig);</div><div class='add'>+        if (ARY_OWNS_HEAP_P(copy)) {</div><div class='add'>+            ary_heap_free(copy);</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            rb_ary_unshare_safe(copy);</div><div class='add'>+        }</div><div class='add'>+        FL_UNSET_EMBED(copy);</div><div class='add'>+        ARY_SET_PTR(copy, ARY_HEAP_PTR(orig));</div><div class='add'>+        ARY_SET_LEN(copy, ARY_HEAP_LEN(orig));</div><div class='add'>+        rb_ary_set_shared(copy, shared_root);</div><div class='add'>+    }</div><div class='add'>+    ary_verify(copy);</div><div class='add'>+    return copy;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     array.clear -&gt; self</div><div class='add'>+ *</div><div class='add'>+ *  Removes all elements from +self+:</div><div class='add'>+ *    a = [:foo, 'bar', 2]</div><div class='add'>+ *    a.clear # =&gt; []</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_ary_clear(VALUE ary)</div><div class='ctx'> {</div><div class='del'>-    RARRAY(ary)-&gt;len = 0;</div><div class='del'>-    if (ARY_DEFAULT_SIZE*3 &lt; RARRAY(ary)-&gt;capa) {</div><div class='del'>-	RARRAY(ary)-&gt;capa = ARY_DEFAULT_SIZE * 2;</div><div class='del'>-	REALLOC_N(RARRAY(ary)-&gt;ptr, VALUE, RARRAY(ary)-&gt;capa);</div><div class='add'>+    rb_ary_modify_check(ary);</div><div class='add'>+    if (ARY_SHARED_P(ary)) {</div><div class='add'>+	if (!ARY_EMBED_P(ary)) {</div><div class='add'>+	    rb_ary_unshare(ary);</div><div class='add'>+	    FL_SET_EMBED(ary);</div><div class='add'>+            ARY_SET_EMBED_LEN(ary, 0);</div><div class='add'>+	}</div><div class='ctx'>     }</div><div class='add'>+    else {</div><div class='add'>+        ARY_SET_LEN(ary, 0);</div><div class='add'>+        if (ARY_DEFAULT_SIZE * 2 &lt; ARY_CAPA(ary)) {</div><div class='add'>+            ary_resize_capa(ary, ARY_DEFAULT_SIZE * 2);</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    ary_verify(ary);</div><div class='ctx'>     return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.fill(obj) -&gt; self</div><div class='add'>+ *    array.fill(obj, start) -&gt; self</div><div class='add'>+ *    array.fill(obj, start, length) -&gt; self</div><div class='add'>+ *    array.fill(obj, range) -&gt; self</div><div class='add'>+ *    array.fill {|index| ... } -&gt; self</div><div class='add'>+ *    array.fill(start) {|index| ... } -&gt; self</div><div class='add'>+ *    array.fill(start, length) {|index| ... } -&gt; self</div><div class='add'>+ *    array.fill(range) {|index| ... } -&gt; self</div><div class='add'>+ *</div><div class='add'>+ *  Replaces specified elements in +self+ with specified objects; returns +self+.</div><div class='add'>+ *</div><div class='add'>+ *  With argument +obj+ and no block given, replaces all elements with that one object:</div><div class='add'>+ *    a = ['a', 'b', 'c', 'd']</div><div class='add'>+ *    a # =&gt; ["a", "b", "c", "d"]</div><div class='add'>+ *    a.fill(:X) # =&gt; [:X, :X, :X, :X]</div><div class='add'>+ *</div><div class='add'>+ *  With arguments +obj+ and \Integer +start+, and no block given,</div><div class='add'>+ *  replaces elements based on the given start.</div><div class='add'>+ *</div><div class='add'>+ *  If +start+ is in range (&lt;tt&gt;0 &lt;= start &lt; array.size&lt;/tt&gt;),</div><div class='add'>+ *  replaces all elements from offset +start+ through the end:</div><div class='add'>+ *    a = ['a', 'b', 'c', 'd']</div><div class='add'>+ *    a.fill(:X, 2) # =&gt; ["a", "b", :X, :X]</div><div class='add'>+ *</div><div class='add'>+ *  If +start+ is too large (&lt;tt&gt;start &gt;= array.size&lt;/tt&gt;), does nothing:</div><div class='add'>+ *    a = ['a', 'b', 'c', 'd']</div><div class='add'>+ *    a.fill(:X, 4) # =&gt; ["a", "b", "c", "d"]</div><div class='add'>+ *    a = ['a', 'b', 'c', 'd']</div><div class='add'>+ *    a.fill(:X, 5) # =&gt; ["a", "b", "c", "d"]</div><div class='add'>+ *</div><div class='add'>+ *  If +start+ is negative, counts from the end (starting index is &lt;tt&gt;start + array.size&lt;/tt&gt;):</div><div class='add'>+ *    a = ['a', 'b', 'c', 'd']</div><div class='add'>+ *    a.fill(:X, -2) # =&gt; ["a", "b", :X, :X]</div><div class='add'>+ *</div><div class='add'>+ *  If +start+ is too small (less than and far from zero), replaces all elements:</div><div class='add'>+ *    a = ['a', 'b', 'c', 'd']</div><div class='add'>+ *    a.fill(:X, -6) # =&gt; [:X, :X, :X, :X]</div><div class='add'>+ *    a = ['a', 'b', 'c', 'd']</div><div class='add'>+ *    a.fill(:X, -50) # =&gt; [:X, :X, :X, :X]</div><div class='add'>+ *</div><div class='add'>+ *  With arguments +obj+, \Integer +start+, and \Integer +length+, and no block given,</div><div class='add'>+ *  replaces elements based on the given +start+ and +length+.</div><div class='add'>+ *</div><div class='add'>+ *  If +start+ is in range, replaces +length+ elements beginning at offset +start+:</div><div class='add'>+ *    a = ['a', 'b', 'c', 'd']</div><div class='add'>+ *    a.fill(:X, 1, 1) # =&gt; ["a", :X, "c", "d"]</div><div class='add'>+ *</div><div class='add'>+ *  If +start+ is negative, counts from the end:</div><div class='add'>+ *    a = ['a', 'b', 'c', 'd']</div><div class='add'>+ *    a.fill(:X, -2, 1) # =&gt; ["a", "b", :X, "d"]</div><div class='add'>+ *</div><div class='add'>+ *  If +start+ is large (&lt;tt&gt;start &gt;= array.size&lt;/tt&gt;), extends +self+ with +nil+:</div><div class='add'>+ *    a = ['a', 'b', 'c', 'd']</div><div class='add'>+ *    a.fill(:X, 5, 0) # =&gt; ["a", "b", "c", "d", nil]</div><div class='add'>+ *    a = ['a', 'b', 'c', 'd']</div><div class='add'>+ *    a.fill(:X, 5, 2) # =&gt; ["a", "b", "c", "d", nil, :X, :X]</div><div class='add'>+ *</div><div class='add'>+ *  If +length+ is zero or negative, replaces no elements:</div><div class='add'>+ *    a = ['a', 'b', 'c', 'd']</div><div class='add'>+ *    a.fill(:X, 1, 0) # =&gt; ["a", "b", "c", "d"]</div><div class='add'>+ *    a.fill(:X, 1, -1) # =&gt; ["a", "b", "c", "d"]</div><div class='add'>+ *</div><div class='add'>+ *  With arguments +obj+ and \Range +range+, and no block given,</div><div class='add'>+ *  replaces elements based on the given range.</div><div class='add'>+ *</div><div class='add'>+ *  If the range is positive and ascending (&lt;tt&gt;0 &lt; range.begin &lt;= range.end&lt;/tt&gt;),</div><div class='add'>+ *  replaces elements from &lt;tt&gt;range.begin&lt;/tt&gt; to &lt;tt&gt;range.end&lt;/tt&gt;:</div><div class='add'>+ *    a = ['a', 'b', 'c', 'd']</div><div class='add'>+ *    a.fill(:X, (1..1)) # =&gt; ["a", :X, "c", "d"]</div><div class='add'>+ *</div><div class='add'>+ *  If &lt;tt&gt;range.first&lt;/tt&gt; is negative, replaces no elements:</div><div class='add'>+ *    a = ['a', 'b', 'c', 'd']</div><div class='add'>+ *    a.fill(:X, (-1..1)) # =&gt; ["a", "b", "c", "d"]</div><div class='add'>+ *</div><div class='add'>+ *  If &lt;tt&gt;range.last&lt;/tt&gt; is negative, counts from the end:</div><div class='add'>+ *    a = ['a', 'b', 'c', 'd']</div><div class='add'>+ *    a.fill(:X, (0..-2)) # =&gt; [:X, :X, :X, "d"]</div><div class='add'>+ *    a = ['a', 'b', 'c', 'd']</div><div class='add'>+ *    a.fill(:X, (1..-2)) # =&gt; ["a", :X, :X, "d"]</div><div class='add'>+ *</div><div class='add'>+ *  If &lt;tt&gt;range.last&lt;/tt&gt; and &lt;tt&gt;range.last&lt;/tt&gt; are both negative,</div><div class='add'>+ *  both count from the end of the array:</div><div class='add'>+ *    a = ['a', 'b', 'c', 'd']</div><div class='add'>+ *    a.fill(:X, (-1..-1)) # =&gt; ["a", "b", "c", :X]</div><div class='add'>+ *    a = ['a', 'b', 'c', 'd']</div><div class='add'>+ *    a.fill(:X, (-2..-2)) # =&gt; ["a", "b", :X, "d"]</div><div class='add'>+ *</div><div class='add'>+ *  With no arguments and a block given, calls the block with each index;</div><div class='add'>+ *  replaces the corresponding element with the block's return value:</div><div class='add'>+ *    a = ['a', 'b', 'c', 'd']</div><div class='add'>+ *    a.fill { |index| "new_#{index}" } # =&gt; ["new_0", "new_1", "new_2", "new_3"]</div><div class='add'>+ *</div><div class='add'>+ *  With argument +start+ and a block given, calls the block with each index</div><div class='add'>+ *  from offset +start+ to the end; replaces the corresponding element</div><div class='add'>+ *  with the block's return value:</div><div class='add'>+ *</div><div class='add'>+ *  If start is in range (&lt;tt&gt;0 &lt;= start &lt; array.size&lt;/tt&gt;),</div><div class='add'>+ *  replaces from offset +start+ to the end:</div><div class='add'>+ *    a = ['a', 'b', 'c', 'd']</div><div class='add'>+ *    a.fill(1) { |index| "new_#{index}" } # =&gt; ["a", "new_1", "new_2", "new_3"]</div><div class='add'>+ *</div><div class='add'>+ *  If +start+ is too large(&lt;tt&gt;start &gt;= array.size&lt;/tt&gt;), does nothing:</div><div class='add'>+ *    a = ['a', 'b', 'c', 'd']</div><div class='add'>+ *    a.fill(4) { |index| fail 'Cannot happen' } # =&gt; ["a", "b", "c", "d"]</div><div class='add'>+ *    a = ['a', 'b', 'c', 'd']</div><div class='add'>+ *    a.fill(4) { |index| fail 'Cannot happen' } # =&gt; ["a", "b", "c", "d"]</div><div class='add'>+ *</div><div class='add'>+ *  If +start+ is negative, counts from the end:</div><div class='add'>+ *    a = ['a', 'b', 'c', 'd']</div><div class='add'>+ *    a.fill(-2) { |index| "new_#{index}" } # =&gt; ["a", "b", "new_2", "new_3"]</div><div class='add'>+ *</div><div class='add'>+ *  If start is too small (&lt;tt&gt;start &lt;= -array.size&lt;/tt&gt;, replaces all elements:</div><div class='add'>+ *    a = ['a', 'b', 'c', 'd']</div><div class='add'>+ *    a.fill(-6) { |index| "new_#{index}" } # =&gt; ["new_0", "new_1", "new_2", "new_3"]</div><div class='add'>+ *    a = ['a', 'b', 'c', 'd']</div><div class='add'>+ *    a.fill(-50) { |index| "new_#{index}" } # =&gt; ["new_0", "new_1", "new_2", "new_3"]</div><div class='add'>+ *</div><div class='add'>+ *  With arguments +start+ and +length+, and a block given,</div><div class='add'>+ *  calls the block for each index specified by start length;</div><div class='add'>+ *  replaces the corresponding element with the block's return value.</div><div class='add'>+ *</div><div class='add'>+ *  If +start+ is in range, replaces +length+ elements beginning at offset +start+:</div><div class='add'>+ *    a = ['a', 'b', 'c', 'd']</div><div class='add'>+ *    a.fill(1, 1) { |index| "new_#{index}" } # =&gt; ["a", "new_1", "c", "d"]</div><div class='add'>+ *</div><div class='add'>+ *  If start is negative, counts from the end:</div><div class='add'>+ *    a = ['a', 'b', 'c', 'd']</div><div class='add'>+ *    a.fill(-2, 1) { |index| "new_#{index}" } # =&gt; ["a", "b", "new_2", "d"]</div><div class='add'>+ *</div><div class='add'>+ *  If +start+ is large (&lt;tt&gt;start &gt;= array.size&lt;/tt&gt;), extends +self+ with +nil+:</div><div class='add'>+ *    a = ['a', 'b', 'c', 'd']</div><div class='add'>+ *    a.fill(5, 0) { |index| "new_#{index}" } # =&gt; ["a", "b", "c", "d", nil]</div><div class='add'>+ *    a = ['a', 'b', 'c', 'd']</div><div class='add'>+ *    a.fill(5, 2) { |index| "new_#{index}" } # =&gt; ["a", "b", "c", "d", nil, "new_5", "new_6"]</div><div class='add'>+ *</div><div class='add'>+ *  If +length+ is zero or less, replaces no elements:</div><div class='add'>+ *    a = ['a', 'b', 'c', 'd']</div><div class='add'>+ *    a.fill(1, 0) { |index| "new_#{index}" } # =&gt; ["a", "b", "c", "d"]</div><div class='add'>+ *    a.fill(1, -1) { |index| "new_#{index}" } # =&gt; ["a", "b", "c", "d"]</div><div class='add'>+ *</div><div class='add'>+ *  With arguments +obj+ and +range+, and a block given,</div><div class='add'>+ *  calls the block with each index in the given range;</div><div class='add'>+ *  replaces the corresponding element with the block's return value.</div><div class='add'>+ *</div><div class='add'>+ *  If the range is positive and ascending (&lt;tt&gt;range 0 &lt; range.begin &lt;= range.end&lt;/tt&gt;,</div><div class='add'>+ *  replaces elements from &lt;tt&gt;range.begin&lt;/tt&gt; to &lt;tt&gt;range.end&lt;/tt&gt;:</div><div class='add'>+ *    a = ['a', 'b', 'c', 'd']</div><div class='add'>+ *    a.fill(1..1) { |index| "new_#{index}" } # =&gt; ["a", "new_1", "c", "d"]</div><div class='add'>+ *</div><div class='add'>+ *  If +range.first+ is negative, does nothing:</div><div class='add'>+ *    a = ['a', 'b', 'c', 'd']</div><div class='add'>+ *    a.fill(-1..1) { |index| fail 'Cannot happen' } # =&gt; ["a", "b", "c", "d"]</div><div class='add'>+ *</div><div class='add'>+ *  If &lt;tt&gt;range.last&lt;/tt&gt; is negative, counts from the end:</div><div class='add'>+ *    a = ['a', 'b', 'c', 'd']</div><div class='add'>+ *    a.fill(0..-2) { |index| "new_#{index}" } # =&gt; ["new_0", "new_1", "new_2", "d"]</div><div class='add'>+ *    a = ['a', 'b', 'c', 'd']</div><div class='add'>+ *    a.fill(1..-2) { |index| "new_#{index}" } # =&gt; ["a", "new_1", "new_2", "d"]</div><div class='add'>+ *</div><div class='add'>+ *  If &lt;tt&gt;range.first&lt;/tt&gt; and &lt;tt&gt;range.last&lt;/tt&gt; are both negative,</div><div class='add'>+ *  both count from the end:</div><div class='add'>+ *    a = ['a', 'b', 'c', 'd']</div><div class='add'>+ *    a.fill(-1..-1) { |index| "new_#{index}" } # =&gt; ["a", "b", "c", "new_3"]</div><div class='add'>+ *    a = ['a', 'b', 'c', 'd']</div><div class='add'>+ *    a.fill(-2..-2) { |index| "new_#{index}" } # =&gt; ["a", "b", "new_2", "d"]</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_fill(argc, argv, ary)</div><div class='del'>-    int argc;</div><div class='del'>-    VALUE *argv;</div><div class='del'>-    VALUE ary;</div><div class='add'>+rb_ary_fill(int argc, VALUE *argv, VALUE ary)</div><div class='ctx'> {</div><div class='del'>-    VALUE item, arg1, arg2;</div><div class='del'>-    long beg, end, len;</div><div class='del'>-    VALUE *p, *pend;</div><div class='add'>+    VALUE item = Qundef, arg1, arg2;</div><div class='add'>+    long beg = 0, end = 0, len = 0;</div><div class='ctx'> </div><div class='del'>-    rb_scan_args(argc, argv, "12", &amp;item, &amp;arg1, &amp;arg2);</div><div class='add'>+    if (rb_block_given_p()) {</div><div class='add'>+	rb_scan_args(argc, argv, "02", &amp;arg1, &amp;arg2);</div><div class='add'>+	argc += 1;		/* hackish */</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	rb_scan_args(argc, argv, "12", &amp;item, &amp;arg1, &amp;arg2);</div><div class='add'>+    }</div><div class='ctx'>     switch (argc) {</div><div class='ctx'>       case 1:</div><div class='ctx'> 	beg = 0;</div><div class='del'>-	len = RARRAY(ary)-&gt;len - beg;</div><div class='add'>+	len = RARRAY_LEN(ary);</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(ary)-&gt;len, 1)) {</div><div class='add'>+	if (rb_range_beg_len(arg1, &amp;beg, &amp;len, RARRAY_LEN(ary), 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='del'>-	beg = NIL_P(arg1)?0:NUM2LONG(arg1);</div><div class='add'>+	beg = NIL_P(arg1) ? 0 : NUM2LONG(arg1);</div><div class='ctx'> 	if (beg &lt; 0) {</div><div class='del'>-	    beg = RARRAY(ary)-&gt;len + beg;</div><div class='add'>+	    beg = RARRAY_LEN(ary) + beg;</div><div class='ctx'> 	    if (beg &lt; 0) beg = 0;</div><div class='ctx'> 	}</div><div class='del'>-	len = NIL_P(arg2)?RARRAY(ary)-&gt;len - beg:NUM2LONG(arg2);</div><div class='add'>+	len = NIL_P(arg2) ? RARRAY_LEN(ary) - beg : NUM2LONG(arg2);</div><div class='ctx'> 	break;</div><div class='ctx'>     }</div><div class='ctx'>     rb_ary_modify(ary);</div><div class='add'>+    if (len &lt; 0) {</div><div class='add'>+        return ary;</div><div class='add'>+    }</div><div class='add'>+    if (beg &gt;= ARY_MAX_SIZE || len &gt; ARY_MAX_SIZE - beg) {</div><div class='add'>+	rb_raise(rb_eArgError, "argument too big");</div><div class='add'>+    }</div><div class='ctx'>     end = beg + len;</div><div class='del'>-    if (end &gt; RARRAY(ary)-&gt;len) {</div><div class='del'>-	if (end &gt;= RARRAY(ary)-&gt;capa) {</div><div class='del'>-	    RARRAY(ary)-&gt;capa=end;</div><div class='del'>-	    REALLOC_N(RARRAY(ary)-&gt;ptr, VALUE, RARRAY(ary)-&gt;capa);</div><div class='del'>-	}</div><div class='del'>-	if (beg &gt; RARRAY(ary)-&gt;len) {</div><div class='del'>-	    rb_mem_clear(RARRAY(ary)-&gt;ptr+RARRAY(ary)-&gt;len,end-RARRAY(ary)-&gt;len);</div><div class='add'>+    if (RARRAY_LEN(ary) &lt; end) {</div><div class='add'>+	if (end &gt;= ARY_CAPA(ary)) {</div><div class='add'>+	    ary_resize_capa(ary, end);</div><div class='ctx'> 	}</div><div class='del'>-	RARRAY(ary)-&gt;len = end;</div><div class='add'>+	ary_mem_clear(ary, RARRAY_LEN(ary), end - RARRAY_LEN(ary));</div><div class='add'>+	ARY_SET_LEN(ary, end);</div><div class='ctx'>     }</div><div class='del'>-    p = RARRAY(ary)-&gt;ptr + beg; pend = p + len;</div><div class='ctx'> </div><div class='del'>-    while (p &lt; pend) {</div><div class='del'>-	*p++ = item;</div><div class='add'>+    if (item == Qundef) {</div><div class='add'>+	VALUE v;</div><div class='add'>+	long i;</div><div class='add'>+</div><div class='add'>+	for (i=beg; i&lt;end; i++) {</div><div class='add'>+	    v = rb_yield(LONG2NUM(i));</div><div class='add'>+	    if (i&gt;=RARRAY_LEN(ary)) break;</div><div class='add'>+	    ARY_SET(ary, i, v);</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	ary_memfill(ary, beg, len, item);</div><div class='ctx'>     }</div><div class='ctx'>     return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array + other_array -&gt; new_array</div><div class='add'>+ *</div><div class='add'>+ *  Returns a new \Array containing all elements of +array+</div><div class='add'>+ *  followed by all elements of +other_array+:</div><div class='add'>+ *    a = [0, 1] + [2, 3]</div><div class='add'>+ *    a # =&gt; [0, 1, 2, 3]</div><div class='add'>+ *</div><div class='add'>+ *  Related: #concat.</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> VALUE</div><div class='del'>-rb_ary_plus(x, y)</div><div class='del'>-    VALUE x, y;</div><div class='add'>+rb_ary_plus(VALUE x, VALUE y)</div><div class='ctx'> {</div><div class='ctx'>     VALUE z;</div><div class='add'>+    long len, xlen, ylen;</div><div class='ctx'> </div><div class='del'>-    if (TYPE(y) != T_ARRAY) {</div><div class='del'>-	return rb_ary_plus(x, rb_Array(y));</div><div class='del'>-    }</div><div class='add'>+    y = to_ary(y);</div><div class='add'>+    xlen = RARRAY_LEN(x);</div><div class='add'>+    ylen = RARRAY_LEN(y);</div><div class='add'>+    len = xlen + ylen;</div><div class='add'>+    z = rb_ary_new2(len);</div><div class='ctx'> </div><div class='del'>-    z = rb_ary_new2(RARRAY(x)-&gt;len + RARRAY(y)-&gt;len);</div><div class='del'>-    MEMCPY(RARRAY(z)-&gt;ptr, RARRAY(x)-&gt;ptr, VALUE, RARRAY(x)-&gt;len);</div><div class='del'>-    MEMCPY(RARRAY(z)-&gt;ptr+RARRAY(x)-&gt;len, RARRAY(y)-&gt;ptr, VALUE, RARRAY(y)-&gt;len);</div><div class='del'>-    RARRAY(z)-&gt;len = RARRAY(x)-&gt;len + RARRAY(y)-&gt;len;</div><div class='add'>+    ary_memcpy(z, 0, xlen, RARRAY_CONST_PTR_TRANSIENT(x));</div><div class='add'>+    ary_memcpy(z, xlen, ylen, RARRAY_CONST_PTR_TRANSIENT(y));</div><div class='add'>+    ARY_SET_LEN(z, len);</div><div class='ctx'>     return z;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_ary_concat(x, y)</div><div class='del'>-    VALUE x, y;</div><div class='add'>+static VALUE</div><div class='add'>+ary_append(VALUE x, VALUE y)</div><div class='ctx'> {</div><div class='del'>-    VALUE *p, *pend;</div><div class='del'>-</div><div class='del'>-    if (TYPE(y) != T_ARRAY) {</div><div class='del'>-	return rb_ary_concat(x, rb_Array(y));</div><div class='add'>+    long n = RARRAY_LEN(y);</div><div class='add'>+    if (n &gt; 0) {</div><div class='add'>+        rb_ary_splice(x, RARRAY_LEN(x), 0, RARRAY_CONST_PTR_TRANSIENT(y), n);</div><div class='ctx'>     }</div><div class='add'>+    return x;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.concat(*other_arrays) -&gt; self</div><div class='add'>+ *</div><div class='add'>+ *  Adds to +array+ all elements from each \Array in +other_arrays+; returns +self+:</div><div class='add'>+ *    a = [0, 1]</div><div class='add'>+ *    a.concat([2, 3], [4, 5]) # =&gt; [0, 1, 2, 3, 4, 5]</div><div class='add'>+ */</div><div class='ctx'> </div><div class='del'>-    p = RARRAY(y)-&gt;ptr;</div><div class='del'>-    pend = p + RARRAY(y)-&gt;len;</div><div class='del'>-    while (p &lt; pend) {</div><div class='del'>-	rb_ary_store(x, RARRAY(x)-&gt;len, *p);</div><div class='del'>-	p++;</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_concat_multi(int argc, VALUE *argv, VALUE ary)</div><div class='add'>+{</div><div class='add'>+    rb_ary_modify_check(ary);</div><div class='add'>+</div><div class='add'>+    if (argc == 1) {</div><div class='add'>+	rb_ary_concat(ary, argv[0]);</div><div class='ctx'>     }</div><div class='del'>-    return x;</div><div class='add'>+    else if (argc &gt; 1) {</div><div class='add'>+	int i;</div><div class='add'>+	VALUE args = rb_ary_tmp_new(argc);</div><div class='add'>+	for (i = 0; i &lt; argc; i++) {</div><div class='add'>+	    rb_ary_concat(args, argv[i]);</div><div class='add'>+	}</div><div class='add'>+	ary_append(ary, args);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    ary_verify(ary);</div><div class='add'>+    return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+VALUE</div><div class='add'>+rb_ary_concat(VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    return ary_append(x, to_ary(y));</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array * n -&gt; new_array</div><div class='add'>+ *    array * string_separator -&gt; new_string</div><div class='add'>+ *</div><div class='add'>+ *  When non-negative argument \Integer +n+ is given,</div><div class='add'>+ *  returns a new \Array built by concatenating the +n+ copies of +self+:</div><div class='add'>+ *    a = ['x', 'y']</div><div class='add'>+ *    a * 3 # =&gt; ["x", "y", "x", "y", "x", "y"]</div><div class='add'>+ *</div><div class='add'>+ *  When \String argument +string_separator+ is given,</div><div class='add'>+ *  equivalent to &lt;tt&gt;array.join(string_separator)&lt;/tt&gt;:</div><div class='add'>+ *    [0, [0, 1], {foo: 0}] * ', ' # =&gt; "0, 0, 1, {:foo=&gt;0}"</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_times(ary, times)</div><div class='del'>-    VALUE ary;</div><div class='del'>-    VALUE times;</div><div class='add'>+rb_ary_times(VALUE ary, VALUE times)</div><div class='ctx'> {</div><div class='del'>-    VALUE ary2;</div><div class='del'>-    long i, len;</div><div class='add'>+    VALUE ary2, tmp;</div><div class='add'>+    const VALUE *ptr;</div><div class='add'>+    long t, len;</div><div class='ctx'> </div><div class='del'>-    if (TYPE(times) == T_STRING) {</div><div class='del'>-	return rb_ary_join(ary, times);</div><div class='add'>+    tmp = rb_check_string_type(times);</div><div class='add'>+    if (!NIL_P(tmp)) {</div><div class='add'>+	return rb_ary_join(ary, tmp);</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='ctx'>     len = NUM2LONG(times);</div><div class='add'>+    if (len == 0) {</div><div class='add'>+        ary2 = ary_new(rb_cArray, 0);</div><div class='add'>+	goto out;</div><div class='add'>+    }</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'>-    len *= RARRAY(ary)-&gt;len;</div><div class='del'>-</div><div class='del'>-    ary2 = rb_ary_new2(len);</div><div class='del'>-    RARRAY(ary2)-&gt;len = len;</div><div class='del'>-</div><div class='del'>-    for (i=0; i&lt;len; i+=RARRAY(ary)-&gt;len) {</div><div class='del'>-	MEMCPY(RARRAY(ary2)-&gt;ptr+i, RARRAY(ary)-&gt;ptr, VALUE, RARRAY(ary)-&gt;len);</div><div class='add'>+    if (ARY_MAX_SIZE/len &lt; RARRAY_LEN(ary)) {</div><div class='add'>+	rb_raise(rb_eArgError, "argument too big");</div><div class='ctx'>     }</div><div class='del'>-</div><div class='add'>+    len *= RARRAY_LEN(ary);</div><div class='add'>+</div><div class='add'>+    ary2 = ary_new(rb_cArray, len);</div><div class='add'>+    ARY_SET_LEN(ary2, len);</div><div class='add'>+</div><div class='add'>+    ptr = RARRAY_CONST_PTR_TRANSIENT(ary);</div><div class='add'>+    t = RARRAY_LEN(ary);</div><div class='add'>+    if (0 &lt; t) {</div><div class='add'>+	ary_memcpy(ary2, 0, t, ptr);</div><div class='add'>+	while (t &lt;= len/2) {</div><div class='add'>+            ary_memcpy(ary2, t, t, RARRAY_CONST_PTR_TRANSIENT(ary2));</div><div class='add'>+            t *= 2;</div><div class='add'>+        }</div><div class='add'>+        if (t &lt; len) {</div><div class='add'>+            ary_memcpy(ary2, t, len-t, RARRAY_CONST_PTR_TRANSIENT(ary2));</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+  out:</div><div class='ctx'>     return ary2;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.assoc(obj) -&gt; found_array or nil</div><div class='add'>+ *</div><div class='add'>+ *  Returns the first element in +self+ that is an \Array</div><div class='add'>+ *  whose first element &lt;tt&gt;==&lt;/tt&gt; +obj+:</div><div class='add'>+ *    a = [{foo: 0}, [2, 4], [4, 5, 6], [4, 5]]</div><div class='add'>+ *    a.assoc(4) # =&gt; [4, 5, 6]</div><div class='add'>+ *</div><div class='add'>+ *  Returns +nil+ if no such element is found.</div><div class='add'>+ *</div><div class='add'>+ *  Related: #rassoc.</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> VALUE</div><div class='del'>-rb_ary_assoc(ary, key)</div><div class='del'>-    VALUE ary;</div><div class='del'>-    VALUE key;</div><div class='add'>+rb_ary_assoc(VALUE ary, VALUE key)</div><div class='ctx'> {</div><div class='del'>-    VALUE *p, *pend;</div><div class='add'>+    long i;</div><div class='add'>+    VALUE v;</div><div class='ctx'> </div><div class='del'>-    p = RARRAY(ary)-&gt;ptr; pend = p + RARRAY(ary)-&gt;len;</div><div class='del'>-    while (p &lt; pend) {</div><div class='del'>-	if (TYPE(*p) == T_ARRAY</div><div class='del'>-	    &amp;&amp; RARRAY(*p)-&gt;len &gt; 1</div><div class='del'>-	    &amp;&amp; rb_equal(RARRAY(*p)-&gt;ptr[0], key))</div><div class='del'>-	    return *p;</div><div class='del'>-	p++;</div><div class='add'>+    for (i = 0; i &lt; RARRAY_LEN(ary); ++i) {</div><div class='add'>+	v = rb_check_array_type(RARRAY_AREF(ary, i));</div><div class='add'>+	if (!NIL_P(v) &amp;&amp; RARRAY_LEN(v) &gt; 0 &amp;&amp;</div><div class='add'>+	    rb_equal(RARRAY_AREF(v, 0), key))</div><div class='add'>+	    return v;</div><div class='ctx'>     }</div><div class='ctx'>     return Qnil;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.rassoc(obj) -&gt; found_array or nil</div><div class='add'>+ *</div><div class='add'>+ *  Returns the first element in +self+ that is an \Array</div><div class='add'>+ *  whose second element &lt;tt&gt;==&lt;/tt&gt; +obj+:</div><div class='add'>+ *    a = [{foo: 0}, [2, 4], [4, 5, 6], [4, 5]]</div><div class='add'>+ *    a.rassoc(4) # =&gt; [2, 4]</div><div class='add'>+ *</div><div class='add'>+ *  Returns +nil+ if no such element is found.</div><div class='add'>+ *</div><div class='add'>+ *  Related: #assoc.</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> VALUE</div><div class='del'>-rb_ary_rassoc(ary, value)</div><div class='del'>-    VALUE ary;</div><div class='del'>-    VALUE value;</div><div class='add'>+rb_ary_rassoc(VALUE ary, VALUE value)</div><div class='ctx'> {</div><div class='del'>-    VALUE *p, *pend;</div><div class='add'>+    long i;</div><div class='add'>+    VALUE v;</div><div class='ctx'> </div><div class='del'>-    p = RARRAY(ary)-&gt;ptr; pend = p + RARRAY(ary)-&gt;len;</div><div class='del'>-    while (p &lt; pend) {</div><div class='del'>-	if (TYPE(*p) == T_ARRAY</div><div class='del'>-	    &amp;&amp; RARRAY(*p)-&gt;len &gt; 1</div><div class='del'>-	    &amp;&amp; rb_equal(RARRAY(*p)-&gt;ptr[1], value))</div><div class='del'>-	    return *p;</div><div class='del'>-	p++;</div><div class='add'>+    for (i = 0; i &lt; RARRAY_LEN(ary); ++i) {</div><div class='add'>+	v = RARRAY_AREF(ary, i);</div><div class='add'>+	if (RB_TYPE_P(v, T_ARRAY) &amp;&amp;</div><div class='add'>+	    RARRAY_LEN(v) &gt; 1 &amp;&amp;</div><div class='add'>+	    rb_equal(RARRAY_AREF(v, 1), value))</div><div class='add'>+	    return v;</div><div class='ctx'>     }</div><div class='ctx'>     return Qnil;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_equal(ary1, ary2)</div><div class='del'>-    VALUE ary1, ary2;</div><div class='add'>+recursive_equal(VALUE ary1, VALUE ary2, int recur)</div><div class='ctx'> {</div><div class='del'>-    long i;</div><div class='add'>+    long i, len1;</div><div class='add'>+    const VALUE *p1, *p2;</div><div class='add'>+</div><div class='add'>+    if (recur) return Qtrue; /* Subtle! */</div><div class='add'>+</div><div class='add'>+    /* rb_equal() can evacuate ptrs */</div><div class='add'>+    p1 = RARRAY_CONST_PTR(ary1);</div><div class='add'>+    p2 = RARRAY_CONST_PTR(ary2);</div><div class='add'>+    len1 = RARRAY_LEN(ary1);</div><div class='add'>+</div><div class='add'>+    for (i = 0; i &lt; len1; i++) {</div><div class='add'>+	if (*p1 != *p2) {</div><div class='add'>+	    if (rb_equal(*p1, *p2)) {</div><div class='add'>+		len1 = RARRAY_LEN(ary1);</div><div class='add'>+		if (len1 != RARRAY_LEN(ary2))</div><div class='add'>+		    return Qfalse;</div><div class='add'>+		if (len1 &lt; i)</div><div class='add'>+		    return Qtrue;</div><div class='add'>+                p1 = RARRAY_CONST_PTR(ary1) + i;</div><div class='add'>+                p2 = RARRAY_CONST_PTR(ary2) + i;</div><div class='add'>+	    }</div><div class='add'>+	    else {</div><div class='add'>+		return Qfalse;</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+	p1++;</div><div class='add'>+	p2++;</div><div class='add'>+    }</div><div class='add'>+    return Qtrue;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array == other_array -&gt; true or false</div><div class='add'>+ *</div><div class='add'>+ *  Returns +true+ if both &lt;tt&gt;array.size == other_array.size&lt;/tt&gt;</div><div class='add'>+ *  and for each index +i+ in +array+, &lt;tt&gt;array[i] == other_array[i]&lt;/tt&gt;:</div><div class='add'>+ *    a0 = [:foo, 'bar', 2]</div><div class='add'>+ *    a1 = [:foo, 'bar', 2.0]</div><div class='add'>+ *    a1 == a0 # =&gt; true</div><div class='add'>+ *    [] == [] # =&gt; true</div><div class='add'>+ *</div><div class='add'>+ *  Otherwise, returns +false+.</div><div class='add'>+ *</div><div class='add'>+ *  This method is different from method Array#eql?,</div><div class='add'>+ *  which compares elements using &lt;tt&gt;Object#eql?&lt;/tt&gt;.</div><div class='add'>+ */</div><div class='ctx'> </div><div class='del'>-    if (TYPE(ary2) != T_ARRAY) return Qfalse;</div><div class='del'>-    if (RARRAY(ary1)-&gt;len != RARRAY(ary2)-&gt;len) return Qfalse;</div><div class='del'>-    for (i=0; i&lt;RARRAY(ary1)-&gt;len; i++) {</div><div class='del'>-	if (!rb_equal(RARRAY(ary1)-&gt;ptr[i], RARRAY(ary2)-&gt;ptr[i]))</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_equal(VALUE ary1, VALUE ary2)</div><div class='add'>+{</div><div class='add'>+    if (ary1 == ary2) return Qtrue;</div><div class='add'>+    if (!RB_TYPE_P(ary2, T_ARRAY)) {</div><div class='add'>+	if (!rb_respond_to(ary2, idTo_ary)) {</div><div class='ctx'> 	    return Qfalse;</div><div class='add'>+	}</div><div class='add'>+	return rb_equal(ary2, ary1);</div><div class='ctx'>     }</div><div class='del'>-    return Qtrue;</div><div class='add'>+    if (RARRAY_LEN(ary1) != RARRAY_LEN(ary2)) return Qfalse;</div><div class='add'>+    if (RARRAY_CONST_PTR_TRANSIENT(ary1) == RARRAY_CONST_PTR_TRANSIENT(ary2)) return Qtrue;</div><div class='add'>+    return rb_exec_recursive_paired(recursive_equal, ary1, ary2, ary2);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_eql(ary1, ary2)</div><div class='del'>-    VALUE ary1, ary2;</div><div class='add'>+recursive_eql(VALUE ary1, VALUE ary2, int recur)</div><div class='ctx'> {</div><div class='ctx'>     long i;</div><div class='ctx'> </div><div class='del'>-    if (TYPE(ary2) != T_ARRAY) return Qfalse;</div><div class='del'>-    if (RARRAY(ary1)-&gt;len != RARRAY(ary2)-&gt;len)</div><div class='del'>-	return Qfalse;</div><div class='del'>-    for (i=0; i&lt;RARRAY(ary1)-&gt;len; i++) {</div><div class='del'>-	if (!rb_eql(RARRAY(ary1)-&gt;ptr[i], RARRAY(ary2)-&gt;ptr[i]))</div><div class='add'>+    if (recur) return Qtrue; /* Subtle! */</div><div class='add'>+    for (i=0; i&lt;RARRAY_LEN(ary1); i++) {</div><div class='add'>+	if (!rb_eql(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='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.eql? other_array -&gt; true or false</div><div class='add'>+ *</div><div class='add'>+ *  Returns +true+ if +self+ and +other_array+ are the same size,</div><div class='add'>+ *  and if, for each index +i+ in +self+, &lt;tt&gt;self[i].eql? other_array[i]&lt;/tt&gt;:</div><div class='add'>+ *    a0 = [:foo, 'bar', 2]</div><div class='add'>+ *    a1 = [:foo, 'bar', 2]</div><div class='add'>+ *    a1.eql?(a0) # =&gt; true</div><div class='add'>+ *</div><div class='add'>+ *  Otherwise, returns +false+.</div><div class='add'>+ *</div><div class='add'>+ *  This method is different from method {Array#==}[#method-i-3D-3D],</div><div class='add'>+ *  which compares using method &lt;tt&gt;Object#==&lt;/tt&gt;.</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_hash(ary)</div><div class='del'>-    VALUE ary;</div><div class='add'>+rb_ary_eql(VALUE ary1, VALUE ary2)</div><div class='ctx'> {</div><div class='del'>-    long i;</div><div class='del'>-    int h;</div><div class='add'>+    if (ary1 == ary2) return Qtrue;</div><div class='add'>+    if (!RB_TYPE_P(ary2, T_ARRAY)) return Qfalse;</div><div class='add'>+    if (RARRAY_LEN(ary1) != RARRAY_LEN(ary2)) return Qfalse;</div><div class='add'>+    if (RARRAY_CONST_PTR_TRANSIENT(ary1) == RARRAY_CONST_PTR_TRANSIENT(ary2)) return Qtrue;</div><div class='add'>+    return rb_exec_recursive_paired(recursive_eql, ary1, ary2, ary2);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.hash -&gt; integer</div><div class='add'>+ *</div><div class='add'>+ *  Returns the integer hash value for +self+.</div><div class='add'>+ *</div><div class='add'>+ *  Two arrays with the same content will have the same hash code (and will compare using eql?):</div><div class='add'>+ *    [0, 1, 2].hash == [0, 1, 2].hash # =&gt; true</div><div class='add'>+ *    [0, 1, 2].hash == [0, 1, 3].hash # =&gt; false</div><div class='add'>+ */</div><div class='ctx'> </div><div class='del'>-    h = RARRAY(ary)-&gt;len;</div><div class='del'>-    for (i=0; i&lt;RARRAY(ary)-&gt;len; i++) {</div><div class='del'>-	int n = rb_hash(RARRAY(ary)-&gt;ptr[i]);</div><div class='del'>-	h ^= NUM2LONG(n);</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_hash(VALUE ary)</div><div class='add'>+{</div><div class='add'>+    long i;</div><div class='add'>+    st_index_t h;</div><div class='add'>+    VALUE n;</div><div class='add'>+</div><div class='add'>+    h = rb_hash_start(RARRAY_LEN(ary));</div><div class='add'>+    h = rb_hash_uint(h, (st_index_t)rb_ary_hash);</div><div class='add'>+    for (i=0; i&lt;RARRAY_LEN(ary); i++) {</div><div class='add'>+	n = rb_hash(RARRAY_AREF(ary, i));</div><div class='add'>+	h = rb_hash_uint(h, NUM2LONG(n));</div><div class='ctx'>     }</div><div class='del'>-    return INT2FIX(h);</div><div class='add'>+    h = rb_hash_end(h);</div><div class='add'>+    return ST2FIX(h);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.include?(obj) -&gt; true or false</div><div class='add'>+ *</div><div class='add'>+ *  Returns +true+ if for some index +i+ in +self+, &lt;tt&gt;obj == self[i]&lt;/tt&gt;;</div><div class='add'>+ *  otherwise +false+:</div><div class='add'>+ *    [0, 1, 2].include?(2) # =&gt; true</div><div class='add'>+ *    [0, 1, 2].include?(3) # =&gt; false</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> VALUE</div><div class='del'>-rb_ary_includes(ary, item)</div><div class='del'>-    VALUE ary;</div><div class='del'>-    VALUE item;</div><div class='add'>+rb_ary_includes(VALUE ary, VALUE item)</div><div class='ctx'> {</div><div class='ctx'>     long i;</div><div class='del'>-    for (i=0; i&lt;RARRAY(ary)-&gt;len; i++) {</div><div class='del'>-	if (rb_equal(RARRAY(ary)-&gt;ptr[i], item)) {</div><div class='add'>+    VALUE e;</div><div class='add'>+</div><div class='add'>+    for (i=0; i&lt;RARRAY_LEN(ary); i++) {</div><div class='add'>+	e = RARRAY_AREF(ary, i);</div><div class='add'>+	if (rb_equal(e, item)) {</div><div class='ctx'> 	    return Qtrue;</div><div class='ctx'> 	}</div><div class='ctx'>     }</div><div class='hunk'>@@ -1224,261 +5136,3029 @@ rb_ary_includes(ary, item)</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_cmp(ary, ary2)</div><div class='del'>-    VALUE ary;</div><div class='del'>-    VALUE ary2;</div><div class='add'>+rb_ary_includes_by_eql(VALUE ary, VALUE item)</div><div class='add'>+{</div><div class='add'>+    long i;</div><div class='add'>+    VALUE e;</div><div class='add'>+</div><div class='add'>+    for (i=0; i&lt;RARRAY_LEN(ary); i++) {</div><div class='add'>+	e = RARRAY_AREF(ary, i);</div><div class='add'>+	if (rb_eql(item, e)) {</div><div class='add'>+	    return Qtrue;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    return Qfalse;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+recursive_cmp(VALUE ary1, VALUE ary2, int recur)</div><div class='ctx'> {</div><div class='ctx'>     long i, len;</div><div class='ctx'> </div><div class='del'>-    ary2 = to_ary(ary2);</div><div class='del'>-    len = RARRAY(ary)-&gt;len;</div><div class='del'>-    if (len &gt; RARRAY(ary2)-&gt;len) {</div><div class='del'>-	len = RARRAY(ary2)-&gt;len;</div><div class='add'>+    if (recur) return Qundef;	/* Subtle! */</div><div class='add'>+    len = RARRAY_LEN(ary1);</div><div class='add'>+    if (len &gt; RARRAY_LEN(ary2)) {</div><div class='add'>+	len = RARRAY_LEN(ary2);</div><div class='ctx'>     }</div><div class='ctx'>     for (i=0; i&lt;len; i++) {</div><div class='del'>-	VALUE v = rb_funcall(RARRAY(ary)-&gt;ptr[i],cmp,1,RARRAY(ary2)-&gt;ptr[i]);</div><div class='add'>+	VALUE e1 = rb_ary_elt(ary1, i), e2 = rb_ary_elt(ary2, i);</div><div class='add'>+	VALUE v = rb_funcallv(e1, id_cmp, 1, &amp;e2);</div><div class='ctx'> 	if (v != INT2FIX(0)) {</div><div class='ctx'> 	    return v;</div><div class='ctx'> 	}</div><div class='ctx'>     }</div><div class='del'>-    len = RARRAY(ary)-&gt;len - RARRAY(ary2)-&gt;len;</div><div class='add'>+    return Qundef;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array &lt;=&gt; other_array -&gt; -1, 0, or 1</div><div class='add'>+ *</div><div class='add'>+ *  Returns -1, 0, or 1 as +self+ is less than, equal to, or greater than +other_array+.</div><div class='add'>+ *  For each index +i+ in +self+, evaluates &lt;tt&gt;result = self[i] &lt;=&gt; other_array[i]&lt;/tt&gt;.</div><div class='add'>+ *</div><div class='add'>+ *  Returns -1 if any result is -1:</div><div class='add'>+ *    [0, 1, 2] &lt;=&gt; [0, 1, 3] # =&gt; -1</div><div class='add'>+ *</div><div class='add'>+ *  Returns 1 if any result is 1:</div><div class='add'>+ *    [0, 1, 2] &lt;=&gt; [0, 1, 1] # =&gt; 1</div><div class='add'>+ *</div><div class='add'>+ *  When all results are zero:</div><div class='add'>+ *  - Returns -1 if +array+ is smaller than +other_array+:</div><div class='add'>+ *      [0, 1, 2] &lt;=&gt; [0, 1, 2, 3] # =&gt; -1</div><div class='add'>+ *  - Returns 1 if +array+ is larger than +other_array+:</div><div class='add'>+ *      [0, 1, 2] &lt;=&gt; [0, 1] # =&gt; 1</div><div class='add'>+ *  - Returns 0 if +array+ and +other_array+ are the same size:</div><div class='add'>+ *      [0, 1, 2] &lt;=&gt; [0, 1, 2] # =&gt; 0</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_ary_cmp(VALUE ary1, VALUE ary2)</div><div class='add'>+{</div><div class='add'>+    long len;</div><div class='add'>+    VALUE v;</div><div class='add'>+</div><div class='add'>+    ary2 = rb_check_array_type(ary2);</div><div class='add'>+    if (NIL_P(ary2)) return Qnil;</div><div class='add'>+    if (ary1 == ary2) return INT2FIX(0);</div><div class='add'>+    v = rb_exec_recursive_paired(recursive_cmp, ary1, ary2, ary2);</div><div class='add'>+    if (v != Qundef) return v;</div><div class='add'>+    len = RARRAY_LEN(ary1) - RARRAY_LEN(ary2);</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'>-rb_ary_diff(ary1, ary2)</div><div class='del'>-    VALUE ary1, ary2;</div><div class='add'>+ary_add_hash(VALUE hash, VALUE ary)</div><div class='add'>+{</div><div class='add'>+    long i;</div><div class='add'>+</div><div class='add'>+    for (i=0; i&lt;RARRAY_LEN(ary); i++) {</div><div class='add'>+	VALUE elt = RARRAY_AREF(ary, i);</div><div class='add'>+	rb_hash_add_new_element(hash, elt, elt);</div><div class='add'>+    }</div><div class='add'>+    return hash;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static inline VALUE</div><div class='add'>+ary_tmp_hash_new(VALUE ary)</div><div class='add'>+{</div><div class='add'>+    long size = RARRAY_LEN(ary);</div><div class='add'>+    VALUE hash = rb_hash_new_with_size(size);</div><div class='add'>+</div><div class='add'>+    RBASIC_CLEAR_CLASS(hash);</div><div class='add'>+    return hash;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ary_make_hash(VALUE ary)</div><div class='add'>+{</div><div class='add'>+    VALUE hash = ary_tmp_hash_new(ary);</div><div class='add'>+    return ary_add_hash(hash, ary);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ary_add_hash_by(VALUE hash, VALUE ary)</div><div class='add'>+{</div><div class='add'>+    long i;</div><div class='add'>+</div><div class='add'>+    for (i = 0; i &lt; RARRAY_LEN(ary); ++i) {</div><div class='add'>+	VALUE v = rb_ary_elt(ary, i), k = rb_yield(v);</div><div class='add'>+	rb_hash_add_new_element(hash, k, v);</div><div class='add'>+    }</div><div class='add'>+    return hash;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ary_make_hash_by(VALUE ary)</div><div class='add'>+{</div><div class='add'>+    VALUE hash = ary_tmp_hash_new(ary);</div><div class='add'>+    return ary_add_hash_by(hash, ary);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static inline void</div><div class='add'>+ary_recycle_hash(VALUE hash)</div><div class='add'>+{</div><div class='add'>+    assert(RBASIC_CLASS(hash) == 0);</div><div class='add'>+    if (RHASH_ST_TABLE_P(hash)) {</div><div class='add'>+        st_table *tbl = RHASH_ST_TABLE(hash);</div><div class='add'>+	st_free_table(tbl);</div><div class='add'>+        RHASH_ST_CLEAR(hash);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array - other_array -&gt; new_array</div><div class='add'>+ *</div><div class='add'>+ *  Returns a new \Array containing only those elements from +array+</div><div class='add'>+ *  that are not found in \Array +other_array+;</div><div class='add'>+ *  items are compared using &lt;tt&gt;eql?&lt;/tt&gt;;</div><div class='add'>+ *  the order from +array+ is preserved:</div><div class='add'>+ *    [0, 1, 1, 2, 1, 1, 3, 1, 1] - [1] # =&gt; [0, 2, 3]</div><div class='add'>+ *    [0, 1, 2, 3] - [3, 0] # =&gt; [1, 2]</div><div class='add'>+ *    [0, 1, 2] - [4] # =&gt; [0, 1, 2]</div><div class='add'>+ *</div><div class='add'>+ *  Related: Array#difference.</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_diff(VALUE ary1, VALUE ary2)</div><div class='ctx'> {</div><div class='ctx'>     VALUE ary3;</div><div class='add'>+    VALUE hash;</div><div class='ctx'>     long i;</div><div class='ctx'> </div><div class='ctx'>     ary2 = to_ary(ary2);</div><div class='ctx'>     ary3 = rb_ary_new();</div><div class='del'>-    for (i=0; i&lt;RARRAY(ary1)-&gt;len; i++) {</div><div class='del'>-	if (rb_ary_includes(ary2, RARRAY(ary1)-&gt;ptr[i])) continue;</div><div class='del'>-	if (rb_ary_includes(ary3, RARRAY(ary1)-&gt;ptr[i])) continue;</div><div class='del'>-	rb_ary_push(ary3, RARRAY(ary1)-&gt;ptr[i]);</div><div class='add'>+</div><div class='add'>+    if (RARRAY_LEN(ary1) &lt;= SMALL_ARRAY_LEN || RARRAY_LEN(ary2) &lt;= SMALL_ARRAY_LEN) {</div><div class='add'>+	for (i=0; i&lt;RARRAY_LEN(ary1); i++) {</div><div class='add'>+	    VALUE elt = rb_ary_elt(ary1, i);</div><div class='add'>+	    if (rb_ary_includes_by_eql(ary2, elt)) continue;</div><div class='add'>+	    rb_ary_push(ary3, elt);</div><div class='add'>+	}</div><div class='add'>+	return ary3;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    hash = ary_make_hash(ary2);</div><div class='add'>+    for (i=0; i&lt;RARRAY_LEN(ary1); i++) {</div><div class='add'>+        if (rb_hash_stlike_lookup(hash, RARRAY_AREF(ary1, i), NULL)) continue;</div><div class='add'>+	rb_ary_push(ary3, rb_ary_elt(ary1, i));</div><div class='ctx'>     }</div><div class='add'>+    ary_recycle_hash(hash);</div><div class='ctx'>     return ary3;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.difference(*other_arrays) -&gt; new_array</div><div class='add'>+ *</div><div class='add'>+ *  Returns a new \Array containing only those elements from +self+</div><div class='add'>+ *  that are not found in any of the Arrays +other_arrays+;</div><div class='add'>+ *  items are compared using &lt;tt&gt;eql?&lt;/tt&gt;;  order from +self+ is preserved:</div><div class='add'>+ *    [0, 1, 1, 2, 1, 1, 3, 1, 1].difference([1]) # =&gt; [0, 2, 3]</div><div class='add'>+ *    [0, 1, 2, 3].difference([3, 0], [1, 3]) # =&gt; [2]</div><div class='add'>+ *    [0, 1, 2].difference([4]) # =&gt; [0, 1, 2]</div><div class='add'>+ *</div><div class='add'>+ *  Returns a copy of +self+ if no arguments given.</div><div class='add'>+ *</div><div class='add'>+ *  Related: Array#-.</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_and(ary1, ary2)</div><div class='del'>-    VALUE ary1, ary2;</div><div class='add'>+rb_ary_difference_multi(int argc, VALUE *argv, VALUE ary)</div><div class='ctx'> {</div><div class='del'>-    VALUE ary3;</div><div class='add'>+    VALUE ary_diff;</div><div class='add'>+    long i, length;</div><div class='add'>+    volatile VALUE t0;</div><div class='add'>+    bool *is_hash = ALLOCV_N(bool, t0, argc);</div><div class='add'>+    ary_diff = rb_ary_new();</div><div class='add'>+    length = RARRAY_LEN(ary);</div><div class='add'>+</div><div class='add'>+    for (i = 0; i &lt; argc; i++) {</div><div class='add'>+        argv[i] = to_ary(argv[i]);</div><div class='add'>+        is_hash[i] = (length &gt; SMALL_ARRAY_LEN &amp;&amp; RARRAY_LEN(argv[i]) &gt; SMALL_ARRAY_LEN);</div><div class='add'>+        if (is_hash[i]) argv[i] = ary_make_hash(argv[i]);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    for (i = 0; i &lt; RARRAY_LEN(ary); i++) {</div><div class='add'>+        int j;</div><div class='add'>+        VALUE elt = rb_ary_elt(ary, i);</div><div class='add'>+        for (j = 0; j &lt; argc; j++) {</div><div class='add'>+            if (is_hash[j]) {</div><div class='add'>+                if (rb_hash_stlike_lookup(argv[j], RARRAY_AREF(ary, i), NULL))</div><div class='add'>+                    break;</div><div class='add'>+            }</div><div class='add'>+            else {</div><div class='add'>+                if (rb_ary_includes_by_eql(argv[j], elt)) break;</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+        if (j == argc) rb_ary_push(ary_diff, elt);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    ALLOCV_END(t0);</div><div class='add'>+</div><div class='add'>+    return ary_diff;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array &amp; other_array -&gt; new_array</div><div class='add'>+ *</div><div class='add'>+ *  Returns a new \Array containing each element found in both +array+ and \Array +other_array+;</div><div class='add'>+ *  duplicates are omitted; items are compared using &lt;tt&gt;eql?&lt;/tt&gt;:</div><div class='add'>+ *    [0, 1, 2, 3] &amp; [1, 2] # =&gt; [1, 2]</div><div class='add'>+ *    [0, 1, 0, 1] &amp; [0, 1] # =&gt; [0, 1]</div><div class='add'>+ *</div><div class='add'>+ *  Preserves order from +array+:</div><div class='add'>+ *    [0, 1, 2] &amp; [3, 2, 1, 0] # =&gt; [0, 1, 2]</div><div class='add'>+ *</div><div class='add'>+ *  Related: Array#intersection.</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_and(VALUE ary1, VALUE ary2)</div><div class='add'>+{</div><div class='add'>+    VALUE hash, ary3, v;</div><div class='add'>+    st_data_t vv;</div><div class='ctx'>     long i;</div><div class='ctx'> </div><div class='ctx'>     ary2 = to_ary(ary2);</div><div class='ctx'>     ary3 = rb_ary_new();</div><div class='del'>-    for (i=0; i&lt;RARRAY(ary1)-&gt;len; i++) {</div><div class='del'>-	if (rb_ary_includes(ary2, RARRAY(ary1)-&gt;ptr[i])</div><div class='del'>-	    &amp;&amp; !rb_ary_includes(ary3, RARRAY(ary1)-&gt;ptr[i])) {</div><div class='del'>-	    rb_ary_push(ary3, RARRAY(ary1)-&gt;ptr[i]);</div><div class='add'>+    if (RARRAY_LEN(ary1) == 0 || RARRAY_LEN(ary2) == 0) return ary3;</div><div class='add'>+</div><div class='add'>+    if (RARRAY_LEN(ary1) &lt;= SMALL_ARRAY_LEN &amp;&amp; RARRAY_LEN(ary2) &lt;= SMALL_ARRAY_LEN) {</div><div class='add'>+	for (i=0; i&lt;RARRAY_LEN(ary1); i++) {</div><div class='add'>+	    v = RARRAY_AREF(ary1, i);</div><div class='add'>+	    if (!rb_ary_includes_by_eql(ary2, v)) continue;</div><div class='add'>+	    if (rb_ary_includes_by_eql(ary3, v)) continue;</div><div class='add'>+	    rb_ary_push(ary3, v);</div><div class='ctx'> 	}</div><div class='add'>+	return ary3;</div><div class='ctx'>     }</div><div class='add'>+</div><div class='add'>+    hash = ary_make_hash(ary2);</div><div class='add'>+</div><div class='add'>+    for (i=0; i&lt;RARRAY_LEN(ary1); i++) {</div><div class='add'>+	v = RARRAY_AREF(ary1, i);</div><div class='add'>+	vv = (st_data_t)v;</div><div class='add'>+        if (rb_hash_stlike_delete(hash, &amp;vv, 0)) {</div><div class='add'>+	    rb_ary_push(ary3, v);</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    ary_recycle_hash(hash);</div><div class='add'>+</div><div class='ctx'>     return ary3;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.intersection(*other_arrays) -&gt; new_array</div><div class='add'>+ *</div><div class='add'>+ *  Returns a new \Array containing each element found both in +self+</div><div class='add'>+ *  and in all of the given Arrays +other_arrays+;</div><div class='add'>+ *  duplicates are omitted; items are compared using &lt;tt&gt;eql?&lt;/tt&gt;:</div><div class='add'>+ *    [0, 1, 2, 3].intersection([0, 1, 2], [0, 1, 3]) # =&gt; [0, 1]</div><div class='add'>+ *    [0, 0, 1, 1, 2, 3].intersection([0, 1, 2], [0, 1, 3]) # =&gt; [0, 1]</div><div class='add'>+ *</div><div class='add'>+ *  Preserves order from +self+:</div><div class='add'>+ *    [0, 1, 2].intersection([2, 1, 0]) # =&gt; [0, 1, 2]</div><div class='add'>+ *</div><div class='add'>+ *  Returns a copy of +self+ if no arguments given.</div><div class='add'>+ *</div><div class='add'>+ *  Related: Array#&amp;.</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_or(ary1, ary2)</div><div class='del'>-    VALUE ary1, ary2;</div><div class='add'>+rb_ary_intersection_multi(int argc, VALUE *argv, VALUE ary)</div><div class='ctx'> {</div><div class='del'>-    VALUE ary3;</div><div class='del'>-    long i;</div><div class='add'>+    VALUE result = rb_ary_dup(ary);</div><div class='add'>+    int i;</div><div class='ctx'> </div><div class='del'>-    if (TYPE(ary2) != T_ARRAY) {</div><div class='del'>-	if (rb_ary_includes(ary1, ary2)) return ary1;</div><div class='del'>-	else return rb_ary_plus(ary1, ary2);</div><div class='add'>+    for (i = 0; i &lt; argc; i++) {</div><div class='add'>+        result = rb_ary_and(result, argv[i]);</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='del'>-    ary3 = rb_ary_new();</div><div class='del'>-    for (i=0; i&lt;RARRAY(ary1)-&gt;len; i++) {</div><div class='del'>-	if (!rb_ary_includes(ary3, RARRAY(ary1)-&gt;ptr[i]))</div><div class='del'>-		rb_ary_push(ary3, RARRAY(ary1)-&gt;ptr[i]);</div><div class='add'>+    return result;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+ary_hash_orset(st_data_t *key, st_data_t *value, st_data_t arg, int existing)</div><div class='add'>+{</div><div class='add'>+    if (existing) return ST_STOP;</div><div class='add'>+    *key = *value = (VALUE)arg;</div><div class='add'>+    return ST_CONTINUE;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+rb_ary_union(VALUE ary_union, VALUE ary)</div><div class='add'>+{</div><div class='add'>+    long i;</div><div class='add'>+    for (i = 0; i &lt; RARRAY_LEN(ary); i++) {</div><div class='add'>+        VALUE elt = rb_ary_elt(ary, i);</div><div class='add'>+        if (rb_ary_includes_by_eql(ary_union, elt)) continue;</div><div class='add'>+        rb_ary_push(ary_union, elt);</div><div class='ctx'>     }</div><div class='del'>-    for (i=0; i&lt;RARRAY(ary2)-&gt;len; i++) {</div><div class='del'>-	if (!rb_ary_includes(ary3, RARRAY(ary2)-&gt;ptr[i]))</div><div class='del'>-		rb_ary_push(ary3, RARRAY(ary2)-&gt;ptr[i]);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+rb_ary_union_hash(VALUE hash, VALUE ary2)</div><div class='add'>+{</div><div class='add'>+    long i;</div><div class='add'>+    for (i = 0; i &lt; RARRAY_LEN(ary2); i++) {</div><div class='add'>+        VALUE elt = RARRAY_AREF(ary2, i);</div><div class='add'>+        if (!rb_hash_stlike_update(hash, (st_data_t)elt, ary_hash_orset, (st_data_t)elt)) {</div><div class='add'>+            RB_OBJ_WRITTEN(hash, Qundef, elt);</div><div class='add'>+        }</div><div class='ctx'>     }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array | other_array -&gt; new_array</div><div class='add'>+ *</div><div class='add'>+ *  Returns the union of +array+ and \Array +other_array+;</div><div class='add'>+ *  duplicates are removed; order is preserved;</div><div class='add'>+ *  items are compared using &lt;tt&gt;eql?&lt;/tt&gt;:</div><div class='add'>+ *    [0, 1] | [2, 3] # =&gt; [0, 1, 2, 3]</div><div class='add'>+ *    [0, 1, 1] | [2, 2, 3] # =&gt; [0, 1, 2, 3]</div><div class='add'>+ *    [0, 1, 2] | [3, 2, 1, 0] # =&gt; [0, 1, 2, 3]</div><div class='add'>+ *</div><div class='add'>+ *  Related: Array#union.</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_or(VALUE ary1, VALUE ary2)</div><div class='add'>+{</div><div class='add'>+    VALUE hash, ary3;</div><div class='add'>+</div><div class='add'>+    ary2 = to_ary(ary2);</div><div class='add'>+    if (RARRAY_LEN(ary1) + RARRAY_LEN(ary2) &lt;= SMALL_ARRAY_LEN) {</div><div class='add'>+	ary3 = rb_ary_new();</div><div class='add'>+        rb_ary_union(ary3, ary1);</div><div class='add'>+        rb_ary_union(ary3, ary2);</div><div class='add'>+	return ary3;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    hash = ary_make_hash(ary1);</div><div class='add'>+    rb_ary_union_hash(hash, ary2);</div><div class='add'>+</div><div class='add'>+    ary3 = rb_hash_values(hash);</div><div class='add'>+    ary_recycle_hash(hash);</div><div class='ctx'>     return ary3;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.union(*other_arrays) -&gt; new_array</div><div class='add'>+ *</div><div class='add'>+ *  Returns a new \Array that is the union of +self+ and all given Arrays +other_arrays+;</div><div class='add'>+ *  duplicates are removed;  order is preserved;  items are compared using &lt;tt&gt;eql?&lt;/tt&gt;:</div><div class='add'>+ *    [0, 1, 2, 3].union([4, 5], [6, 7]) # =&gt; [0, 1, 2, 3, 4, 5, 6, 7]</div><div class='add'>+ *    [0, 1, 1].union([2, 1], [3, 1]) # =&gt; [0, 1, 2, 3]</div><div class='add'>+ *    [0, 1, 2, 3].union([3, 2], [1, 0]) # =&gt; [0, 1, 2, 3]</div><div class='add'>+ *</div><div class='add'>+ *  Returns a copy of +self+ if no arguments given.</div><div class='add'>+ *</div><div class='add'>+ *  Related: Array#|.</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_uniq_bang(ary)</div><div class='del'>-    VALUE ary;</div><div class='add'>+rb_ary_union_multi(int argc, VALUE *argv, VALUE ary)</div><div class='ctx'> {</div><div class='del'>-    VALUE *p, *q, *t, *end;</div><div class='add'>+    int i;</div><div class='add'>+    long sum;</div><div class='add'>+    VALUE hash, ary_union;</div><div class='add'>+</div><div class='add'>+    sum = RARRAY_LEN(ary);</div><div class='add'>+    for (i = 0; i &lt; argc; i++) {</div><div class='add'>+        argv[i] = to_ary(argv[i]);</div><div class='add'>+        sum += RARRAY_LEN(argv[i]);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (sum &lt;= SMALL_ARRAY_LEN) {</div><div class='add'>+        ary_union = rb_ary_new();</div><div class='add'>+</div><div class='add'>+        rb_ary_union(ary_union, ary);</div><div class='add'>+        for (i = 0; i &lt; argc; i++) rb_ary_union(ary_union, argv[i]);</div><div class='add'>+</div><div class='add'>+        return ary_union;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    hash = ary_make_hash(ary);</div><div class='add'>+    for (i = 0; i &lt; argc; i++) rb_ary_union_hash(hash, argv[i]);</div><div class='add'>+</div><div class='add'>+    ary_union = rb_hash_values(hash);</div><div class='add'>+    ary_recycle_hash(hash);</div><div class='add'>+    return ary_union;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ary_max_generic(VALUE ary, long i, VALUE vmax)</div><div class='add'>+{</div><div class='add'>+    RUBY_ASSERT(i &gt; 0 &amp;&amp; i &lt; RARRAY_LEN(ary));</div><div class='add'>+</div><div class='ctx'>     VALUE v;</div><div class='add'>+    for (; i &lt; RARRAY_LEN(ary); ++i) {</div><div class='add'>+        v = RARRAY_AREF(ary, i);</div><div class='ctx'> </div><div class='del'>-    rb_ary_modify(ary);</div><div class='del'>-    p = RARRAY(ary)-&gt;ptr;</div><div class='del'>-    end = p + RARRAY(ary)-&gt;len;</div><div class='add'>+        if (rb_cmpint(rb_funcallv(vmax, id_cmp, 1, &amp;v), vmax, v) &lt; 0) {</div><div class='add'>+            vmax = v;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='ctx'> </div><div class='del'>-    while (p &lt; end) {</div><div class='del'>-	v = *p++;</div><div class='del'>-	q = t = p;</div><div class='del'>-	while (q &lt; end) {</div><div class='del'>-	    if (rb_equal(*q, v)) q++;</div><div class='del'>-	    else *t++ = *q++;</div><div class='add'>+    return vmax;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ary_max_opt_fixnum(VALUE ary, long i, VALUE vmax)</div><div class='add'>+{</div><div class='add'>+    const long n = RARRAY_LEN(ary);</div><div class='add'>+    RUBY_ASSERT(i &gt; 0 &amp;&amp; i &lt; n);</div><div class='add'>+    RUBY_ASSERT(FIXNUM_P(vmax));</div><div class='add'>+</div><div class='add'>+    VALUE v;</div><div class='add'>+    for (; i &lt; n; ++i) {</div><div class='add'>+        v = RARRAY_AREF(ary, i);</div><div class='add'>+</div><div class='add'>+        if (FIXNUM_P(v)) {</div><div class='add'>+            if ((long)vmax &lt; (long)v) {</div><div class='add'>+                vmax = v;</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            return ary_max_generic(ary, i, vmax);</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return vmax;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ary_max_opt_float(VALUE ary, long i, VALUE vmax)</div><div class='add'>+{</div><div class='add'>+    const long n = RARRAY_LEN(ary);</div><div class='add'>+    RUBY_ASSERT(i &gt; 0 &amp;&amp; i &lt; n);</div><div class='add'>+    RUBY_ASSERT(RB_FLOAT_TYPE_P(vmax));</div><div class='add'>+</div><div class='add'>+    VALUE v;</div><div class='add'>+    for (; i &lt; n; ++i) {</div><div class='add'>+        v = RARRAY_AREF(ary, i);</div><div class='add'>+</div><div class='add'>+        if (RB_FLOAT_TYPE_P(v)) {</div><div class='add'>+            if (rb_float_cmp(vmax, v) &lt; 0) {</div><div class='add'>+                vmax = v;</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            return ary_max_generic(ary, i, vmax);</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return vmax;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ary_max_opt_string(VALUE ary, long i, VALUE vmax)</div><div class='add'>+{</div><div class='add'>+    const long n = RARRAY_LEN(ary);</div><div class='add'>+    RUBY_ASSERT(i &gt; 0 &amp;&amp; i &lt; n);</div><div class='add'>+    RUBY_ASSERT(STRING_P(vmax));</div><div class='add'>+</div><div class='add'>+    VALUE v;</div><div class='add'>+    for (; i &lt; n; ++i) {</div><div class='add'>+        v = RARRAY_AREF(ary, i);</div><div class='add'>+</div><div class='add'>+        if (STRING_P(v)) {</div><div class='add'>+            if (rb_str_cmp(vmax, v) &lt; 0) {</div><div class='add'>+                vmax = v;</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            return ary_max_generic(ary, i, vmax);</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return vmax;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.max -&gt; element</div><div class='add'>+ *    array.max {|a, b| ... } -&gt; element</div><div class='add'>+ *    array.max(n) -&gt; new_array</div><div class='add'>+ *    array.max(n) {|a, b| ... } -&gt; new_array</div><div class='add'>+ *</div><div class='add'>+ *  Returns one of the following:</div><div class='add'>+ *  - The maximum-valued element from +self+.</div><div class='add'>+ *  - A new \Array of maximum-valued elements selected from +self+.</div><div class='add'>+ *</div><div class='add'>+ *  When no block is given, each element in +self+ must respond to method &lt;tt&gt;&lt;=&gt;&lt;/tt&gt;</div><div class='add'>+ *  with an \Integer.</div><div class='add'>+ *</div><div class='add'>+ *  With no argument and no block, returns the element in +self+</div><div class='add'>+ *  having the maximum value per method &lt;tt&gt;&lt;=&gt;&lt;/tt&gt;:</div><div class='add'>+ *    [0, 1, 2].max # =&gt; 2</div><div class='add'>+ *</div><div class='add'>+ *  With an argument \Integer +n+ and no block, returns a new \Array with at most +n+ elements,</div><div class='add'>+ *  in descending order per method &lt;tt&gt;&lt;=&gt;&lt;/tt&gt;:</div><div class='add'>+ *    [0, 1, 2, 3].max(3) # =&gt; [3, 2, 1]</div><div class='add'>+ *    [0, 1, 2, 3].max(6) # =&gt; [3, 2, 1]</div><div class='add'>+ *</div><div class='add'>+ *  When a block is given, the block must return an \Integer.</div><div class='add'>+ *</div><div class='add'>+ *  With a block and no argument, calls the block &lt;tt&gt;self.size-1&lt;/tt&gt; times to compare elements;</div><div class='add'>+ *  returns the element having the maximum value per the block:</div><div class='add'>+ *    ['0', '00', '000'].max {|a, b| a.size &lt;=&gt; b.size } # =&gt; "000"</div><div class='add'>+ *</div><div class='add'>+ *  With an argument +n+ and a block, returns a new \Array with at most +n+ elements,</div><div class='add'>+ *  in descending order per the block:</div><div class='add'>+ *    ['0', '00', '000'].max(2) {|a, b| a.size &lt;=&gt; b.size } # =&gt; ["000", "00"]</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_max(int argc, VALUE *argv, VALUE ary)</div><div class='add'>+{</div><div class='add'>+    struct cmp_opt_data cmp_opt = { 0, 0 };</div><div class='add'>+    VALUE result = Qundef, v;</div><div class='add'>+    VALUE num;</div><div class='add'>+    long i;</div><div class='add'>+</div><div class='add'>+    if (rb_check_arity(argc, 0, 1) &amp;&amp; !NIL_P(num = argv[0]))</div><div class='add'>+       return rb_nmin_run(ary, num, 0, 1, 1);</div><div class='add'>+</div><div class='add'>+    const long n = RARRAY_LEN(ary);</div><div class='add'>+    if (rb_block_given_p()) {</div><div class='add'>+	for (i = 0; i &lt; RARRAY_LEN(ary); i++) {</div><div class='add'>+	   v = RARRAY_AREF(ary, i);</div><div class='add'>+	   if (result == Qundef || rb_cmpint(rb_yield_values(2, v, result), v, result) &gt; 0) {</div><div class='add'>+	       result = v;</div><div class='add'>+	   }</div><div class='ctx'> 	}</div><div class='del'>-	end = t;</div><div class='ctx'>     }</div><div class='del'>-    if (RARRAY(ary)-&gt;len == (end - RARRAY(ary)-&gt;ptr)) {</div><div class='del'>-	return Qnil;</div><div class='add'>+    else if (n &gt; 0) {</div><div class='add'>+        result = RARRAY_AREF(ary, 0);</div><div class='add'>+        if (n &gt; 1) {</div><div class='add'>+            if (FIXNUM_P(result) &amp;&amp; CMP_OPTIMIZABLE(cmp_opt, Integer)) {</div><div class='add'>+                return ary_max_opt_fixnum(ary, 1, result);</div><div class='add'>+            }</div><div class='add'>+            else if (STRING_P(result) &amp;&amp; CMP_OPTIMIZABLE(cmp_opt, String)) {</div><div class='add'>+                return ary_max_opt_string(ary, 1, result);</div><div class='add'>+            }</div><div class='add'>+            else if (RB_FLOAT_TYPE_P(result) &amp;&amp; CMP_OPTIMIZABLE(cmp_opt, Float)) {</div><div class='add'>+                return ary_max_opt_float(ary, 1, result);</div><div class='add'>+            }</div><div class='add'>+            else {</div><div class='add'>+                return ary_max_generic(ary, 1, result);</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    if (result == Qundef) return Qnil;</div><div class='add'>+    return result;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ary_min_generic(VALUE ary, long i, VALUE vmin)</div><div class='add'>+{</div><div class='add'>+    RUBY_ASSERT(i &gt; 0 &amp;&amp; i &lt; RARRAY_LEN(ary));</div><div class='add'>+</div><div class='add'>+    VALUE v;</div><div class='add'>+    for (; i &lt; RARRAY_LEN(ary); ++i) {</div><div class='add'>+        v = RARRAY_AREF(ary, i);</div><div class='add'>+</div><div class='add'>+        if (rb_cmpint(rb_funcallv(vmin, id_cmp, 1, &amp;v), vmin, v) &gt; 0) {</div><div class='add'>+            vmin = v;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return vmin;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ary_min_opt_fixnum(VALUE ary, long i, VALUE vmin)</div><div class='add'>+{</div><div class='add'>+    const long n = RARRAY_LEN(ary);</div><div class='add'>+    RUBY_ASSERT(i &gt; 0 &amp;&amp; i &lt; n);</div><div class='add'>+    RUBY_ASSERT(FIXNUM_P(vmin));</div><div class='add'>+</div><div class='add'>+    VALUE a;</div><div class='add'>+    for (; i &lt; n; ++i) {</div><div class='add'>+        a = RARRAY_AREF(ary, i);</div><div class='add'>+</div><div class='add'>+        if (FIXNUM_P(a)) {</div><div class='add'>+            if ((long)vmin &gt; (long)a) {</div><div class='add'>+                vmin = a;</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            return ary_min_generic(ary, i, vmin);</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return vmin;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ary_min_opt_float(VALUE ary, long i, VALUE vmin)</div><div class='add'>+{</div><div class='add'>+    const long n = RARRAY_LEN(ary);</div><div class='add'>+    RUBY_ASSERT(i &gt; 0 &amp;&amp; i &lt; n);</div><div class='add'>+    RUBY_ASSERT(RB_FLOAT_TYPE_P(vmin));</div><div class='add'>+</div><div class='add'>+    VALUE a;</div><div class='add'>+    for (; i &lt; n; ++i) {</div><div class='add'>+        a = RARRAY_AREF(ary, i);</div><div class='add'>+</div><div class='add'>+        if (RB_FLOAT_TYPE_P(a)) {</div><div class='add'>+            if (rb_float_cmp(vmin, a) &gt; 0) {</div><div class='add'>+                vmin = a;</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            return ary_min_generic(ary, i, vmin);</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return vmin;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ary_min_opt_string(VALUE ary, long i, VALUE vmin)</div><div class='add'>+{</div><div class='add'>+    const long n = RARRAY_LEN(ary);</div><div class='add'>+    RUBY_ASSERT(i &gt; 0 &amp;&amp; i &lt; n);</div><div class='add'>+    RUBY_ASSERT(STRING_P(vmin));</div><div class='add'>+</div><div class='add'>+    VALUE a;</div><div class='add'>+    for (; i &lt; n; ++i) {</div><div class='add'>+        a = RARRAY_AREF(ary, i);</div><div class='add'>+</div><div class='add'>+        if (STRING_P(a)) {</div><div class='add'>+            if (rb_str_cmp(vmin, a) &gt; 0) {</div><div class='add'>+                vmin = a;</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            return ary_min_generic(ary, i, vmin);</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return vmin;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.min -&gt; element</div><div class='add'>+ *    array.min { |a, b| ... } -&gt; element</div><div class='add'>+ *    array.min(n) -&gt; new_array</div><div class='add'>+ *    array.min(n) { |a, b| ... } -&gt; new_array</div><div class='add'>+ *</div><div class='add'>+ *  Returns one of the following:</div><div class='add'>+ *  - The minimum-valued element from +self+.</div><div class='add'>+ *  - A new \Array of minimum-valued elements selected from +self+.</div><div class='add'>+ *</div><div class='add'>+ *  When no block is given, each element in +self+ must respond to method &lt;tt&gt;&lt;=&gt;&lt;/tt&gt;</div><div class='add'>+ *  with an \Integer.</div><div class='add'>+ *</div><div class='add'>+ *  With no argument and no block, returns the element in +self+</div><div class='add'>+ *  having the minimum value per method &lt;tt&gt;&lt;=&gt;&lt;/tt&gt;:</div><div class='add'>+ *    [0, 1, 2].min # =&gt; 0</div><div class='add'>+ *</div><div class='add'>+ *  With \Integer argument +n+ and no block, returns a new \Array with at most +n+ elements,</div><div class='add'>+ *  in ascending order per method &lt;tt&gt;&lt;=&gt;&lt;/tt&gt;:</div><div class='add'>+ *    [0, 1, 2, 3].min(3) # =&gt; [0, 1, 2]</div><div class='add'>+ *    [0, 1, 2, 3].min(6) # =&gt; [0, 1, 2, 3]</div><div class='add'>+ *</div><div class='add'>+ *  When a block is given, the block must return an Integer.</div><div class='add'>+ *</div><div class='add'>+ *  With a block and no argument, calls the block &lt;tt&gt;self.size-1&lt;/tt&gt; times to compare elements;</div><div class='add'>+ *  returns the element having the minimum value per the block:</div><div class='add'>+ *    ['0', '00', '000'].min { |a, b| a.size &lt;=&gt; b.size } # =&gt; "0"</div><div class='add'>+ *</div><div class='add'>+ *  With an argument +n+ and a block, returns a new \Array with at most +n+ elements,</div><div class='add'>+ *  in ascending order per the block:</div><div class='add'>+ *    [0, 1, 2, 3].min(3) # =&gt; [0, 1, 2]</div><div class='add'>+ *    [0, 1, 2, 3].min(6) # =&gt; [0, 1, 2, 3]</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_min(int argc, VALUE *argv, VALUE ary)</div><div class='add'>+{</div><div class='add'>+    struct cmp_opt_data cmp_opt = { 0, 0 };</div><div class='add'>+    VALUE result = Qundef, v;</div><div class='add'>+    VALUE num;</div><div class='add'>+    long i;</div><div class='add'>+</div><div class='add'>+    if (rb_check_arity(argc, 0, 1) &amp;&amp; !NIL_P(num = argv[0]))</div><div class='add'>+       return rb_nmin_run(ary, num, 0, 0, 1);</div><div class='add'>+</div><div class='add'>+    const long n = RARRAY_LEN(ary);</div><div class='add'>+    if (rb_block_given_p()) {</div><div class='add'>+	for (i = 0; i &lt; RARRAY_LEN(ary); i++) {</div><div class='add'>+	   v = RARRAY_AREF(ary, i);</div><div class='add'>+	   if (result == Qundef || rb_cmpint(rb_yield_values(2, v, result), v, result) &lt; 0) {</div><div class='add'>+	       result = v;</div><div class='add'>+	   }</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    else if (n &gt; 0) {</div><div class='add'>+        result = RARRAY_AREF(ary, 0);</div><div class='add'>+        if (n &gt; 1) {</div><div class='add'>+            if (FIXNUM_P(result) &amp;&amp; CMP_OPTIMIZABLE(cmp_opt, Integer)) {</div><div class='add'>+                return ary_min_opt_fixnum(ary, 1, result);</div><div class='add'>+            }</div><div class='add'>+            else if (STRING_P(result) &amp;&amp; CMP_OPTIMIZABLE(cmp_opt, String)) {</div><div class='add'>+                return ary_min_opt_string(ary, 1, result);</div><div class='add'>+            }</div><div class='add'>+            else if (RB_FLOAT_TYPE_P(result) &amp;&amp; CMP_OPTIMIZABLE(cmp_opt, Float)) {</div><div class='add'>+                return ary_min_opt_float(ary, 1, result);</div><div class='add'>+            }</div><div class='add'>+            else {</div><div class='add'>+                return ary_min_generic(ary, 1, result);</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='ctx'>     }</div><div class='add'>+    if (result == Qundef) return Qnil;</div><div class='add'>+    return result;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.minmax -&gt; [min_val, max_val]</div><div class='add'>+ *    array.minmax {|a, b| ... } -&gt; [min_val, max_val]</div><div class='add'>+ *</div><div class='add'>+ *  Returns a new 2-element \Array containing the minimum and maximum values</div><div class='add'>+ *  from +self+, either per method &lt;tt&gt;&lt;=&gt;&lt;/tt&gt; or per a given block:.</div><div class='add'>+ *</div><div class='add'>+ *  When no block is given, each element in +self+ must respond to method &lt;tt&gt;&lt;=&gt;&lt;/tt&gt;</div><div class='add'>+ *  with an \Integer;</div><div class='add'>+ *  returns a new 2-element \Array containing the minimum and maximum values</div><div class='add'>+ *  from +self+, per method &lt;tt&gt;&lt;=&gt;&lt;/tt&gt;:</div><div class='add'>+ *    [0, 1, 2].minmax # =&gt; [0, 2]</div><div class='add'>+ *</div><div class='add'>+ *  When a block is given, the block must return an \Integer;</div><div class='add'>+ *  the block is called &lt;tt&gt;self.size-1&lt;/tt&gt; times to compare elements;</div><div class='add'>+ *  returns a new 2-element \Array containing the minimum and maximum values</div><div class='add'>+ *  from +self+, per the block:</div><div class='add'>+ *    ['0', '00', '000'].minmax {|a, b| a.size &lt;=&gt; b.size } # =&gt; ["0", "000"]</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_minmax(VALUE ary)</div><div class='add'>+{</div><div class='add'>+    if (rb_block_given_p()) {</div><div class='add'>+        return rb_call_super(0, NULL);</div><div class='add'>+    }</div><div class='add'>+    return rb_assoc_new(rb_ary_min(0, 0, ary), rb_ary_max(0, 0, ary));</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-    RARRAY(ary)-&gt;len = (end - RARRAY(ary)-&gt;ptr);</div><div class='add'>+static int</div><div class='add'>+push_value(st_data_t key, st_data_t val, st_data_t ary)</div><div class='add'>+{</div><div class='add'>+    rb_ary_push((VALUE)ary, (VALUE)val);</div><div class='add'>+    return ST_CONTINUE;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.uniq! -&gt; self or nil</div><div class='add'>+ *    array.uniq! {|element| ... } -&gt; self or nil</div><div class='add'>+ *</div><div class='add'>+ *  Removes duplicate elements from +self+, the first occurrence always being retained;</div><div class='add'>+ *  returns +self+ if any elements removed, +nil+ otherwise.</div><div class='add'>+ *</div><div class='add'>+ *  With no block given, identifies and removes elements using method &lt;tt&gt;eql?&lt;/tt&gt;</div><div class='add'>+ *  to compare.</div><div class='add'>+ *</div><div class='add'>+ *  Returns +self+ if any elements removed:</div><div class='add'>+ *    a = [0, 0, 1, 1, 2, 2]</div><div class='add'>+ *    a.uniq! # =&gt; [0, 1, 2]</div><div class='add'>+ *</div><div class='add'>+ *  Returns +nil+ if no elements removed.</div><div class='add'>+ *</div><div class='add'>+ *  With a block given, calls the block for each element;</div><div class='add'>+ *  identifies (using method &lt;tt&gt;eql?&lt;/tt&gt;) and removes</div><div class='add'>+ *  elements for which the block returns duplicate values.</div><div class='add'>+ *</div><div class='add'>+ *  Returns +self+ if any elements removed:</div><div class='add'>+ *    a = ['a', 'aa', 'aaa', 'b', 'bb', 'bbb']</div><div class='add'>+ *    a.uniq! {|element| element.size } # =&gt; ['a', 'aa', 'aaa']</div><div class='add'>+ *</div><div class='add'>+ *  Returns +nil+ if no elements removed.</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_uniq_bang(VALUE ary)</div><div class='add'>+{</div><div class='add'>+    VALUE hash;</div><div class='add'>+    long hash_size;</div><div class='add'>+</div><div class='add'>+    rb_ary_modify_check(ary);</div><div class='add'>+    if (RARRAY_LEN(ary) &lt;= 1)</div><div class='add'>+        return Qnil;</div><div class='add'>+    if (rb_block_given_p())</div><div class='add'>+	hash = ary_make_hash_by(ary);</div><div class='add'>+    else</div><div class='add'>+	hash = ary_make_hash(ary);</div><div class='add'>+</div><div class='add'>+    hash_size = RHASH_SIZE(hash);</div><div class='add'>+    if (RARRAY_LEN(ary) == hash_size) {</div><div class='add'>+	return Qnil;</div><div class='add'>+    }</div><div class='add'>+    rb_ary_modify_check(ary);</div><div class='add'>+    ARY_SET_LEN(ary, 0);</div><div class='add'>+    if (ARY_SHARED_P(ary) &amp;&amp; !ARY_EMBED_P(ary)) {</div><div class='add'>+	rb_ary_unshare(ary);</div><div class='add'>+	FL_SET_EMBED(ary);</div><div class='add'>+    }</div><div class='add'>+    ary_resize_capa(ary, hash_size);</div><div class='add'>+    rb_hash_foreach(hash, push_value, ary);</div><div class='add'>+    ary_recycle_hash(hash);</div><div class='ctx'> </div><div class='ctx'>     return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.uniq -&gt; new_array</div><div class='add'>+ *    array.uniq {|element| ... } -&gt; new_array</div><div class='add'>+ *</div><div class='add'>+ *  Returns a new \Array containing those elements from +self+ that are not duplicates,</div><div class='add'>+ *  the first occurrence always being retained.</div><div class='add'>+ *</div><div class='add'>+ *  With no block given, identifies and omits duplicates using method &lt;tt&gt;eql?&lt;/tt&gt;</div><div class='add'>+ *  to compare.</div><div class='add'>+ *    a = [0, 0, 1, 1, 2, 2]</div><div class='add'>+ *    a.uniq # =&gt; [0, 1, 2]</div><div class='add'>+ *</div><div class='add'>+ *  With a block given, calls the block for each element;</div><div class='add'>+ *  identifies (using method &lt;tt&gt;eql?&lt;/tt&gt;) and omits duplicate values,</div><div class='add'>+ *  that is, those elements for which the block returns the same value:</div><div class='add'>+ *    a = ['a', 'aa', 'aaa', 'b', 'bb', 'bbb']</div><div class='add'>+ *    a.uniq {|element| element.size } # =&gt; ["a", "aa", "aaa"]</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_uniq(ary)</div><div class='del'>-    VALUE ary;</div><div class='add'>+rb_ary_uniq(VALUE ary)</div><div class='ctx'> {</div><div class='del'>-    VALUE v = rb_ary_uniq_bang(rb_ary_dup(ary));</div><div class='add'>+    VALUE hash, uniq;</div><div class='ctx'> </div><div class='del'>-    if (NIL_P(v)) return ary;</div><div class='del'>-    return v;</div><div class='add'>+    if (RARRAY_LEN(ary) &lt;= 1) {</div><div class='add'>+        hash = 0;</div><div class='add'>+        uniq = rb_ary_dup(ary);</div><div class='add'>+    }</div><div class='add'>+    else if (rb_block_given_p()) {</div><div class='add'>+	hash = ary_make_hash_by(ary);</div><div class='add'>+	uniq = rb_hash_values(hash);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	hash = ary_make_hash(ary);</div><div class='add'>+	uniq = rb_hash_values(hash);</div><div class='add'>+    }</div><div class='add'>+    if (hash) {</div><div class='add'>+        ary_recycle_hash(hash);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return uniq;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.compact! -&gt; self or nil</div><div class='add'>+ *</div><div class='add'>+ *  Removes all +nil+ elements from +self+.</div><div class='add'>+ *</div><div class='add'>+ *  Returns +self+ if any elements removed, otherwise +nil+.</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_compact_bang(ary)</div><div class='del'>-    VALUE ary;</div><div class='add'>+rb_ary_compact_bang(VALUE ary)</div><div class='ctx'> {</div><div class='ctx'>     VALUE *p, *t, *end;</div><div class='add'>+    long n;</div><div class='ctx'> </div><div class='ctx'>     rb_ary_modify(ary);</div><div class='del'>-    p = t = RARRAY(ary)-&gt;ptr;</div><div class='del'>-    end = p + RARRAY(ary)-&gt;len;</div><div class='add'>+    p = t = (VALUE *)RARRAY_CONST_PTR_TRANSIENT(ary); /* WB: no new reference */</div><div class='add'>+    end = p + RARRAY_LEN(ary);</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'>-    if (RARRAY(ary)-&gt;len == (p - RARRAY(ary)-&gt;ptr)) {</div><div class='add'>+    n = p - RARRAY_CONST_PTR_TRANSIENT(ary);</div><div class='add'>+    if (RARRAY_LEN(ary) == n) {</div><div class='ctx'> 	return Qnil;</div><div class='ctx'>     }</div><div class='del'>-    RARRAY(ary)-&gt;len = RARRAY(ary)-&gt;capa = (p - RARRAY(ary)-&gt;ptr);</div><div class='del'>-    REALLOC_N(RARRAY(ary)-&gt;ptr, VALUE, RARRAY(ary)-&gt;len);</div><div class='add'>+    ary_resize_smaller(ary, n);</div><div class='ctx'> </div><div class='ctx'>     return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.compact -&gt; new_array</div><div class='add'>+ *</div><div class='add'>+ *  Returns a new \Array containing all non-+nil+ elements from +self+:</div><div class='add'>+ *    a = [nil, 0, nil, 1, nil, 2, nil]</div><div class='add'>+ *    a.compact # =&gt; [0, 1, 2]</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_compact(ary)</div><div class='del'>-    VALUE ary;</div><div class='add'>+rb_ary_compact(VALUE ary)</div><div class='ctx'> {</div><div class='del'>-    VALUE v = rb_ary_compact_bang(rb_ary_dup(ary));</div><div class='del'>-</div><div class='del'>-    if (NIL_P(v)) return ary;</div><div class='del'>-    return v;</div><div class='add'>+    ary = rb_ary_dup(ary);</div><div class='add'>+    rb_ary_compact_bang(ary);</div><div class='add'>+    return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.count -&gt; an_integer</div><div class='add'>+ *    array.count(obj) -&gt; an_integer</div><div class='add'>+ *    array.count {|element| ... } -&gt; an_integer</div><div class='add'>+ *</div><div class='add'>+ *  Returns a count of specified elements.</div><div class='add'>+ *</div><div class='add'>+ *  With no argument and no block, returns the count of all elements:</div><div class='add'>+ *    [0, 1, 2].count # =&gt; 3</div><div class='add'>+ *    [].count # =&gt; 0</div><div class='add'>+ *</div><div class='add'>+ *  With argument +obj+, returns the count of elements &lt;tt&gt;eql?&lt;/tt&gt; to +obj+:</div><div class='add'>+ *    [0, 1, 2, 0].count(0) # =&gt; 2</div><div class='add'>+ *    [0, 1, 2].count(3) # =&gt; 0</div><div class='add'>+ *</div><div class='add'>+ *  With no argument and a block given, calls the block with each element;</div><div class='add'>+ *  returns the count of elements for which the block returns a truthy value:</div><div class='add'>+ *    [0, 1, 2, 3].count {|element| element &gt; 1} # =&gt; 2</div><div class='add'>+ *</div><div class='add'>+ *  With argument +obj+ and a block given, issues a warning, ignores the block,</div><div class='add'>+ *  and returns the count of elements &lt;tt&gt;eql?&lt;/tt&gt; to +obj+:</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_nitems(ary)</div><div class='del'>-    VALUE ary;</div><div class='add'>+rb_ary_count(int argc, VALUE *argv, VALUE ary)</div><div class='ctx'> {</div><div class='del'>-    long n = 0;</div><div class='del'>-    VALUE *p, *pend;</div><div class='add'>+    long i, n = 0;</div><div class='add'>+</div><div class='add'>+    if (rb_check_arity(argc, 0, 1) == 0) {</div><div class='add'>+	VALUE v;</div><div class='add'>+</div><div class='add'>+	if (!rb_block_given_p())</div><div class='add'>+	    return LONG2NUM(RARRAY_LEN(ary));</div><div class='ctx'> </div><div class='del'>-    p = RARRAY(ary)-&gt;ptr;</div><div class='del'>-    pend = p + RARRAY(ary)-&gt;len;</div><div class='del'>-    while (p &lt; pend) {</div><div class='del'>-	if (!NIL_P(*p)) n++;</div><div class='del'>-	p++;</div><div class='add'>+	for (i = 0; i &lt; RARRAY_LEN(ary); i++) {</div><div class='add'>+	    v = RARRAY_AREF(ary, i);</div><div class='add'>+	    if (RTEST(rb_yield(v))) n++;</div><div class='add'>+	}</div><div class='ctx'>     }</div><div class='del'>-    return INT2NUM(n);</div><div class='add'>+    else {</div><div class='add'>+        VALUE obj = argv[0];</div><div class='add'>+</div><div class='add'>+	if (rb_block_given_p()) {</div><div class='add'>+	    rb_warn("given block not used");</div><div class='add'>+	}</div><div class='add'>+	for (i = 0; i &lt; RARRAY_LEN(ary); i++) {</div><div class='add'>+	    if (rb_equal(RARRAY_AREF(ary, i), obj)) n++;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return LONG2NUM(n);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_flatten_bang(ary)</div><div class='del'>-    VALUE ary;</div><div class='add'>+flatten(VALUE ary, int level)</div><div class='ctx'> {</div><div class='ctx'>     long i;</div><div class='del'>-    int mod = 0;</div><div class='add'>+    VALUE stack, result, tmp = 0, elt, vmemo;</div><div class='add'>+    st_table *memo = 0;</div><div class='add'>+    st_data_t id;</div><div class='add'>+</div><div class='add'>+    for (i = 0; i &lt; RARRAY_LEN(ary); i++) {</div><div class='add'>+        elt = RARRAY_AREF(ary, i);</div><div class='add'>+        tmp = rb_check_array_type(elt);</div><div class='add'>+        if (!NIL_P(tmp)) {</div><div class='add'>+            break;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    if (i == RARRAY_LEN(ary)) {</div><div class='add'>+        return ary;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    result = ary_new(0, RARRAY_LEN(ary));</div><div class='add'>+    ary_memcpy(result, 0, i, RARRAY_CONST_PTR_TRANSIENT(ary));</div><div class='add'>+    ARY_SET_LEN(result, i);</div><div class='add'>+</div><div class='add'>+    stack = ary_new(0, ARY_DEFAULT_SIZE);</div><div class='add'>+    rb_ary_push(stack, ary);</div><div class='add'>+    rb_ary_push(stack, LONG2NUM(i + 1));</div><div class='add'>+</div><div class='add'>+    if (level &lt; 0) {</div><div class='add'>+	vmemo = rb_hash_new();</div><div class='add'>+	RBASIC_CLEAR_CLASS(vmemo);</div><div class='add'>+	memo = st_init_numtable();</div><div class='add'>+	rb_hash_st_table_set(vmemo, memo);</div><div class='add'>+	st_insert(memo, (st_data_t)ary, (st_data_t)Qtrue);</div><div class='add'>+	st_insert(memo, (st_data_t)tmp, (st_data_t)Qtrue);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    ary = tmp;</div><div class='add'>+    i = 0;</div><div class='add'>+</div><div class='add'>+    while (1) {</div><div class='add'>+	while (i &lt; RARRAY_LEN(ary)) {</div><div class='add'>+	    elt = RARRAY_AREF(ary, i++);</div><div class='add'>+	    if (level &gt;= 0 &amp;&amp; RARRAY_LEN(stack) / 2 &gt;= level) {</div><div class='add'>+		rb_ary_push(result, elt);</div><div class='add'>+		continue;</div><div class='add'>+	    }</div><div class='add'>+	    tmp = rb_check_array_type(elt);</div><div class='add'>+	    if (RBASIC(result)-&gt;klass) {</div><div class='add'>+		if (memo) {</div><div class='add'>+		    RB_GC_GUARD(vmemo);</div><div class='add'>+		    st_clear(memo);</div><div class='add'>+		}</div><div class='add'>+		rb_raise(rb_eRuntimeError, "flatten reentered");</div><div class='add'>+	    }</div><div class='add'>+	    if (NIL_P(tmp)) {</div><div class='add'>+		rb_ary_push(result, elt);</div><div class='add'>+	    }</div><div class='add'>+	    else {</div><div class='add'>+		if (memo) {</div><div class='add'>+		    id = (st_data_t)tmp;</div><div class='add'>+		    if (st_is_member(memo, id)) {</div><div class='add'>+			st_clear(memo);</div><div class='add'>+			rb_raise(rb_eArgError, "tried to flatten recursive array");</div><div class='add'>+		    }</div><div class='add'>+		    st_insert(memo, id, (st_data_t)Qtrue);</div><div class='add'>+		}</div><div class='add'>+		rb_ary_push(stack, ary);</div><div class='add'>+		rb_ary_push(stack, LONG2NUM(i));</div><div class='add'>+		ary = tmp;</div><div class='add'>+		i = 0;</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+	if (RARRAY_LEN(stack) == 0) {</div><div class='add'>+	    break;</div><div class='add'>+	}</div><div class='add'>+	if (memo) {</div><div class='add'>+	    id = (st_data_t)ary;</div><div class='add'>+	    st_delete(memo, &amp;id, 0);</div><div class='add'>+	}</div><div class='add'>+	tmp = rb_ary_pop(stack);</div><div class='add'>+	i = NUM2LONG(tmp);</div><div class='add'>+	ary = rb_ary_pop(stack);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (memo) {</div><div class='add'>+	st_clear(memo);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    RBASIC_SET_CLASS(result, rb_cArray);</div><div class='add'>+    return result;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.flatten! -&gt; self or nil</div><div class='add'>+ *    array.flatten!(level) -&gt; self or nil</div><div class='add'>+ *</div><div class='add'>+ *  Replaces each nested \Array in +self+ with the elements from that \Array;</div><div class='add'>+ *  returns +self+ if any changes, +nil+ otherwise.</div><div class='add'>+ *</div><div class='add'>+ *  With non-negative \Integer argument +level+, flattens recursively through +level+ levels:</div><div class='add'>+ *    a = [ 0, [ 1, [2, 3], 4 ], 5 ]</div><div class='add'>+ *    a.flatten!(1) # =&gt; [0, 1, [2, 3], 4, 5]</div><div class='add'>+ *    a = [ 0, [ 1, [2, 3], 4 ], 5 ]</div><div class='add'>+ *    a.flatten!(2) # =&gt; [0, 1, 2, 3, 4, 5]</div><div class='add'>+ *    a = [ 0, [ 1, [2, 3], 4 ], 5 ]</div><div class='add'>+ *    a.flatten!(3) # =&gt; [0, 1, 2, 3, 4, 5]</div><div class='add'>+ *    [0, 1, 2].flatten!(1) # =&gt; nil</div><div class='add'>+ *</div><div class='add'>+ *  With no argument, a +nil+ argument, or with negative argument +level+, flattens all levels:</div><div class='add'>+ *    a = [ 0, [ 1, [2, 3], 4 ], 5 ]</div><div class='add'>+ *    a.flatten! # =&gt; [0, 1, 2, 3, 4, 5]</div><div class='add'>+ *    [0, 1, 2].flatten! # =&gt; nil</div><div class='add'>+ *    a = [ 0, [ 1, [2, 3], 4 ], 5 ]</div><div class='add'>+ *    a.flatten!(-1) # =&gt; [0, 1, 2, 3, 4, 5]</div><div class='add'>+ *    a = [ 0, [ 1, [2, 3], 4 ], 5 ]</div><div class='add'>+ *    a.flatten!(-2) # =&gt; [0, 1, 2, 3, 4, 5]</div><div class='add'>+ *    [0, 1, 2].flatten!(-1) # =&gt; nil</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_flatten_bang(int argc, VALUE *argv, VALUE ary)</div><div class='add'>+{</div><div class='add'>+    int mod = 0, level = -1;</div><div class='add'>+    VALUE result, lv;</div><div class='add'>+</div><div class='add'>+    lv = (rb_check_arity(argc, 0, 1) ? argv[0] : Qnil);</div><div class='add'>+    rb_ary_modify_check(ary);</div><div class='add'>+    if (!NIL_P(lv)) level = NUM2INT(lv);</div><div class='add'>+    if (level == 0) return Qnil;</div><div class='add'>+</div><div class='add'>+    result = flatten(ary, level);</div><div class='add'>+    if (result == ary) {</div><div class='add'>+	return Qnil;</div><div class='add'>+    }</div><div class='add'>+    if (!(mod = ARY_EMBED_P(result))) rb_obj_freeze(result);</div><div class='add'>+    rb_ary_replace(ary, result);</div><div class='add'>+    if (mod) ARY_SET_EMBED_LEN(result, 0);</div><div class='add'>+</div><div class='add'>+    return ary;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.flatten -&gt; new_array</div><div class='add'>+ *    array.flatten(level) -&gt; new_array</div><div class='add'>+ *</div><div class='add'>+ *  Returns a new \Array that is a recursive flattening of +self+:</div><div class='add'>+ *  - Each non-Array element is unchanged.</div><div class='add'>+ *  - Each \Array is replaced by its individual elements.</div><div class='add'>+ *</div><div class='add'>+ *  With non-negative \Integer argument +level+, flattens recursively through +level+ levels:</div><div class='add'>+ *    a = [ 0, [ 1, [2, 3], 4 ], 5 ]</div><div class='add'>+ *    a.flatten(0) # =&gt; [0, [1, [2, 3], 4], 5]</div><div class='add'>+ *    a = [ 0, [ 1, [2, 3], 4 ], 5 ]</div><div class='add'>+ *    a.flatten(1) # =&gt; [0, 1, [2, 3], 4, 5]</div><div class='add'>+ *    a = [ 0, [ 1, [2, 3], 4 ], 5 ]</div><div class='add'>+ *    a.flatten(2) # =&gt; [0, 1, 2, 3, 4, 5]</div><div class='add'>+ *    a = [ 0, [ 1, [2, 3], 4 ], 5 ]</div><div class='add'>+ *    a.flatten(3) # =&gt; [0, 1, 2, 3, 4, 5]</div><div class='add'>+ *</div><div class='add'>+ *  With no argument, a +nil+ argument, or with negative argument +level+, flattens all levels:</div><div class='add'>+ *    a = [ 0, [ 1, [2, 3], 4 ], 5 ]</div><div class='add'>+ *    a.flatten # =&gt; [0, 1, 2, 3, 4, 5]</div><div class='add'>+ *    [0, 1, 2].flatten # =&gt; [0, 1, 2]</div><div class='add'>+ *    a = [ 0, [ 1, [2, 3], 4 ], 5 ]</div><div class='add'>+ *    a.flatten(-1) # =&gt; [0, 1, 2, 3, 4, 5]</div><div class='add'>+ *    a = [ 0, [ 1, [2, 3], 4 ], 5 ]</div><div class='add'>+ *    a.flatten(-2) # =&gt; [0, 1, 2, 3, 4, 5]</div><div class='add'>+ *    [0, 1, 2].flatten(-1) # =&gt; [0, 1, 2]</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_flatten(int argc, VALUE *argv, VALUE ary)</div><div class='add'>+{</div><div class='add'>+    int level = -1;</div><div class='add'>+    VALUE result;</div><div class='add'>+</div><div class='add'>+    if (rb_check_arity(argc, 0, 1) &amp;&amp; !NIL_P(argv[0])) {</div><div class='add'>+        level = NUM2INT(argv[0]);</div><div class='add'>+        if (level == 0) return ary_make_shared_copy(ary);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    result = flatten(ary, level);</div><div class='add'>+    if (result == ary) {</div><div class='add'>+        result = ary_make_shared_copy(ary);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return result;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#define RAND_UPTO(max) (long)rb_random_ulong_limited((randgen), (max)-1)</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_shuffle_bang(rb_execution_context_t *ec, VALUE ary, VALUE randgen)</div><div class='add'>+{</div><div class='add'>+    long i, len;</div><div class='ctx'> </div><div class='ctx'>     rb_ary_modify(ary);</div><div class='del'>-    for (i=0; i&lt;RARRAY(ary)-&gt;len; i++) {</div><div class='del'>-	VALUE ary2 = RARRAY(ary)-&gt;ptr[i];</div><div class='del'>-	if (TYPE(ary2) == T_ARRAY) {</div><div class='del'>-	    rb_ary_replace(ary, i--, 1, ary2);</div><div class='del'>-	    mod = 1;</div><div class='add'>+    i = len = RARRAY_LEN(ary);</div><div class='add'>+    RARRAY_PTR_USE(ary, ptr, {</div><div class='add'>+	while (i) {</div><div class='add'>+	    long j = RAND_UPTO(i);</div><div class='add'>+	    VALUE tmp;</div><div class='add'>+            if (len != RARRAY_LEN(ary) || ptr != RARRAY_CONST_PTR_TRANSIENT(ary)) {</div><div class='add'>+                rb_raise(rb_eRuntimeError, "modified during shuffle");</div><div class='add'>+	    }</div><div class='add'>+	    tmp = ptr[--i];</div><div class='add'>+	    ptr[i] = ptr[j];</div><div class='add'>+	    ptr[j] = tmp;</div><div class='add'>+	}</div><div class='add'>+    }); /* WB: no new reference */</div><div class='add'>+    return ary;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_shuffle(rb_execution_context_t *ec, VALUE ary, VALUE randgen)</div><div class='add'>+{</div><div class='add'>+    ary = rb_ary_dup(ary);</div><div class='add'>+    rb_ary_shuffle_bang(ec, ary, randgen);</div><div class='add'>+    return ary;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_sample(rb_execution_context_t *ec, VALUE ary, VALUE randgen, VALUE nv, VALUE to_array)</div><div class='add'>+{</div><div class='add'>+    VALUE result;</div><div class='add'>+    long n, len, i, j, k, idx[10];</div><div class='add'>+    long rnds[numberof(idx)];</div><div class='add'>+    long memo_threshold;</div><div class='add'>+</div><div class='add'>+    len = RARRAY_LEN(ary);</div><div class='add'>+    if (!to_array) {</div><div class='add'>+	if (len &lt; 2)</div><div class='add'>+	    i = 0;</div><div class='add'>+	else</div><div class='add'>+	    i = RAND_UPTO(len);</div><div class='add'>+</div><div class='add'>+	return rb_ary_elt(ary, i);</div><div class='add'>+    }</div><div class='add'>+    n = NUM2LONG(nv);</div><div class='add'>+    if (n &lt; 0) rb_raise(rb_eArgError, "negative sample number");</div><div class='add'>+    if (n &gt; len) n = len;</div><div class='add'>+    if (n &lt;= numberof(idx)) {</div><div class='add'>+	for (i = 0; i &lt; n; ++i) {</div><div class='add'>+	    rnds[i] = RAND_UPTO(len - i);</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    k = len;</div><div class='add'>+    len = RARRAY_LEN(ary);</div><div class='add'>+    if (len &lt; k &amp;&amp; n &lt;= numberof(idx)) {</div><div class='add'>+	for (i = 0; i &lt; n; ++i) {</div><div class='add'>+	    if (rnds[i] &gt;= len) return rb_ary_new_capa(0);</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    if (n &gt; len) n = len;</div><div class='add'>+    switch (n) {</div><div class='add'>+      case 0:</div><div class='add'>+	return rb_ary_new_capa(0);</div><div class='add'>+      case 1:</div><div class='add'>+	i = rnds[0];</div><div class='add'>+	return rb_ary_new_from_args(1, RARRAY_AREF(ary, i));</div><div class='add'>+      case 2:</div><div class='add'>+	i = rnds[0];</div><div class='add'>+	j = rnds[1];</div><div class='add'>+	if (j &gt;= i) j++;</div><div class='add'>+	return rb_ary_new_from_args(2, RARRAY_AREF(ary, i), RARRAY_AREF(ary, j));</div><div class='add'>+      case 3:</div><div class='add'>+	i = rnds[0];</div><div class='add'>+	j = rnds[1];</div><div class='add'>+	k = rnds[2];</div><div class='add'>+	{</div><div class='add'>+	    long l = j, g = i;</div><div class='add'>+	    if (j &gt;= i) l = i, g = ++j;</div><div class='add'>+	    if (k &gt;= l &amp;&amp; (++k &gt;= g)) ++k;</div><div class='add'>+	}</div><div class='add'>+	return rb_ary_new_from_args(3, RARRAY_AREF(ary, i), RARRAY_AREF(ary, j), RARRAY_AREF(ary, k));</div><div class='add'>+    }</div><div class='add'>+    memo_threshold =</div><div class='add'>+	len &lt; 2560 ? len / 128 :</div><div class='add'>+	len &lt; 5120 ? len / 64 :</div><div class='add'>+	len &lt; 10240 ? len / 32 :</div><div class='add'>+	len / 16;</div><div class='add'>+    if (n &lt;= numberof(idx)) {</div><div class='add'>+	long sorted[numberof(idx)];</div><div class='add'>+	sorted[0] = idx[0] = rnds[0];</div><div class='add'>+	for (i=1; i&lt;n; i++) {</div><div class='add'>+	    k = rnds[i];</div><div class='add'>+	    for (j = 0; j &lt; i; ++j) {</div><div class='add'>+		if (k &lt; sorted[j]) break;</div><div class='add'>+		++k;</div><div class='add'>+	    }</div><div class='add'>+	    memmove(&amp;sorted[j+1], &amp;sorted[j], sizeof(sorted[0])*(i-j));</div><div class='add'>+	    sorted[j] = idx[i] = k;</div><div class='add'>+	}</div><div class='add'>+	result = rb_ary_new_capa(n);</div><div class='add'>+        RARRAY_PTR_USE_TRANSIENT(result, ptr_result, {</div><div class='add'>+	    for (i=0; i&lt;n; i++) {</div><div class='add'>+		ptr_result[i] = RARRAY_AREF(ary, idx[i]);</div><div class='add'>+	    }</div><div class='add'>+	});</div><div class='add'>+    }</div><div class='add'>+    else if (n &lt;= memo_threshold / 2) {</div><div class='add'>+	long max_idx = 0;</div><div class='add'>+#undef RUBY_UNTYPED_DATA_WARNING</div><div class='add'>+#define RUBY_UNTYPED_DATA_WARNING 0</div><div class='add'>+	VALUE vmemo = Data_Wrap_Struct(0, 0, st_free_table, 0);</div><div class='add'>+	st_table *memo = st_init_numtable_with_size(n);</div><div class='add'>+	DATA_PTR(vmemo) = memo;</div><div class='add'>+	result = rb_ary_new_capa(n);</div><div class='add'>+	RARRAY_PTR_USE(result, ptr_result, {</div><div class='add'>+	    for (i=0; i&lt;n; i++) {</div><div class='add'>+		long r = RAND_UPTO(len-i) + i;</div><div class='add'>+		ptr_result[i] = r;</div><div class='add'>+		if (r &gt; max_idx) max_idx = r;</div><div class='add'>+	    }</div><div class='add'>+	    len = RARRAY_LEN(ary);</div><div class='add'>+	    if (len &lt;= max_idx) n = 0;</div><div class='add'>+	    else if (n &gt; len) n = len;</div><div class='add'>+            RARRAY_PTR_USE_TRANSIENT(ary, ptr_ary, {</div><div class='add'>+		for (i=0; i&lt;n; i++) {</div><div class='add'>+		    long j2 = j = ptr_result[i];</div><div class='add'>+		    long i2 = i;</div><div class='add'>+		    st_data_t value;</div><div class='add'>+		    if (st_lookup(memo, (st_data_t)i, &amp;value)) i2 = (long)value;</div><div class='add'>+		    if (st_lookup(memo, (st_data_t)j, &amp;value)) j2 = (long)value;</div><div class='add'>+		    st_insert(memo, (st_data_t)j, (st_data_t)i2);</div><div class='add'>+		    ptr_result[i] = ptr_ary[j2];</div><div class='add'>+		}</div><div class='add'>+	    });</div><div class='add'>+	});</div><div class='add'>+	DATA_PTR(vmemo) = 0;</div><div class='add'>+	st_free_table(memo);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	result = rb_ary_dup(ary);</div><div class='add'>+	RBASIC_CLEAR_CLASS(result);</div><div class='add'>+	RB_GC_GUARD(ary);</div><div class='add'>+	RARRAY_PTR_USE(result, ptr_result, {</div><div class='add'>+	    for (i=0; i&lt;n; i++) {</div><div class='add'>+		j = RAND_UPTO(len-i) + i;</div><div class='add'>+		nv = ptr_result[j];</div><div class='add'>+		ptr_result[j] = ptr_result[i];</div><div class='add'>+		ptr_result[i] = nv;</div><div class='add'>+	    }</div><div class='add'>+	});</div><div class='add'>+	RBASIC_SET_CLASS_RAW(result, rb_cArray);</div><div class='add'>+    }</div><div class='add'>+    ARY_SET_LEN(result, n);</div><div class='add'>+</div><div class='add'>+    return result;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_cycle_size(VALUE self, VALUE args, VALUE eobj)</div><div class='add'>+{</div><div class='add'>+    long mul;</div><div class='add'>+    VALUE n = Qnil;</div><div class='add'>+    if (args &amp;&amp; (RARRAY_LEN(args) &gt; 0)) {</div><div class='add'>+	n = RARRAY_AREF(args, 0);</div><div class='add'>+    }</div><div class='add'>+    if (RARRAY_LEN(self) == 0) return INT2FIX(0);</div><div class='add'>+    if (n == Qnil) return DBL2NUM(HUGE_VAL);</div><div class='add'>+    mul = NUM2LONG(n);</div><div class='add'>+    if (mul &lt;= 0) return INT2FIX(0);</div><div class='add'>+    n = LONG2FIX(mul);</div><div class='add'>+    return rb_fix_mul_fix(rb_ary_length(self), n);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.cycle {|element| ... } -&gt; nil</div><div class='add'>+ *    array.cycle(count) {|element| ... } -&gt; nil</div><div class='add'>+ *    array.cycle -&gt; new_enumerator</div><div class='add'>+ *    array.cycle(count) -&gt; new_enumerator</div><div class='add'>+ *</div><div class='add'>+ *  When called with positive \Integer argument +count+ and a block,</div><div class='add'>+ *  calls the block with each element, then does so again,</div><div class='add'>+ *  until it has done so +count+ times; returns +nil+:</div><div class='add'>+ *    output = []</div><div class='add'>+ *    [0, 1].cycle(2) {|element| output.push(element) } # =&gt; nil</div><div class='add'>+ *    output # =&gt; [0, 1, 0, 1]</div><div class='add'>+ *</div><div class='add'>+ *  If +count+ is zero or negative, does not call the block:</div><div class='add'>+ *    [0, 1].cycle(0) {|element| fail 'Cannot happen' } # =&gt; nil</div><div class='add'>+ *    [0, 1].cycle(-1) {|element| fail 'Cannot happen' } # =&gt; nil</div><div class='add'>+ *</div><div class='add'>+ *  When a block is given, and argument is omitted or +nil+, cycles forever:</div><div class='add'>+ *    # Prints 0 and 1 forever.</div><div class='add'>+ *    [0, 1].cycle {|element| puts element }</div><div class='add'>+ *    [0, 1].cycle(nil) {|element| puts element }</div><div class='add'>+ *</div><div class='add'>+ *  When no block is given, returns a new \Enumerator:</div><div class='add'>+ *</div><div class='add'>+ *    [0, 1].cycle(2) # =&gt; #&lt;Enumerator: [0, 1]:cycle(2)&gt;</div><div class='add'>+ *    [0, 1].cycle # =&gt; # =&gt; #&lt;Enumerator: [0, 1]:cycle&gt;</div><div class='add'>+ *    [0, 1].cycle.first(5) # =&gt; [0, 1, 0, 1, 0]</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_cycle(int argc, VALUE *argv, VALUE ary)</div><div class='add'>+{</div><div class='add'>+    long n, i;</div><div class='add'>+</div><div class='add'>+    rb_check_arity(argc, 0, 1);</div><div class='add'>+</div><div class='add'>+    RETURN_SIZED_ENUMERATOR(ary, argc, argv, rb_ary_cycle_size);</div><div class='add'>+    if (argc == 0 || NIL_P(argv[0])) {</div><div class='add'>+        n = -1;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        n = NUM2LONG(argv[0]);</div><div class='add'>+        if (n &lt;= 0) return Qnil;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    while (RARRAY_LEN(ary) &gt; 0 &amp;&amp; (n &lt; 0 || 0 &lt; n--)) {</div><div class='add'>+        for (i=0; i&lt;RARRAY_LEN(ary); i++) {</div><div class='add'>+            rb_yield(RARRAY_AREF(ary, i));</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    return Qnil;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#define tmpary(n) rb_ary_tmp_new(n)</div><div class='add'>+#define tmpary_discard(a) (ary_discard(a), RBASIC_SET_CLASS_RAW(a, rb_cArray))</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * Build a ruby array of the corresponding values and yield it to the</div><div class='add'>+ * associated block.</div><div class='add'>+ * Return the class of +values+ for reentry check.</div><div class='add'>+ */</div><div class='add'>+static int</div><div class='add'>+yield_indexed_values(const VALUE values, const long r, const long *const p)</div><div class='add'>+{</div><div class='add'>+    const VALUE result = rb_ary_new2(r);</div><div class='add'>+    long i;</div><div class='add'>+</div><div class='add'>+    for (i = 0; i &lt; r; i++) ARY_SET(result, i, RARRAY_AREF(values, p[i]));</div><div class='add'>+    ARY_SET_LEN(result, r);</div><div class='add'>+    rb_yield(result);</div><div class='add'>+    return !RBASIC(values)-&gt;klass;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * Compute permutations of +r+ elements of the set &lt;code&gt;[0..n-1]&lt;/code&gt;.</div><div class='add'>+ *</div><div class='add'>+ * When we have a complete permutation of array indices, copy the values</div><div class='add'>+ * at those indices into a new array and yield that array.</div><div class='add'>+ *</div><div class='add'>+ * n: the size of the set</div><div class='add'>+ * r: the number of elements in each permutation</div><div class='add'>+ * p: the array (of size r) that we're filling in</div><div class='add'>+ * used: an array of booleans: whether a given index is already used</div><div class='add'>+ * values: the Ruby array that holds the actual values to permute</div><div class='add'>+ */</div><div class='add'>+static void</div><div class='add'>+permute0(const long n, const long r, long *const p, char *const used, const VALUE values)</div><div class='add'>+{</div><div class='add'>+    long i = 0, index = 0;</div><div class='add'>+</div><div class='add'>+    for (;;) {</div><div class='add'>+	const char *const unused = memchr(&amp;used[i], 0, n-i);</div><div class='add'>+	if (!unused) {</div><div class='add'>+	    if (!index) break;</div><div class='add'>+	    i = p[--index];                /* pop index */</div><div class='add'>+	    used[i++] = 0;                 /* index unused */</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    i = unused - used;</div><div class='add'>+	    p[index] = i;</div><div class='add'>+	    used[i] = 1;                   /* mark index used */</div><div class='add'>+	    ++index;</div><div class='add'>+	    if (index &lt; r-1) {             /* if not done yet */</div><div class='add'>+		p[index] = i = 0;</div><div class='add'>+		continue;</div><div class='add'>+	    }</div><div class='add'>+	    for (i = 0; i &lt; n; ++i) {</div><div class='add'>+		if (used[i]) continue;</div><div class='add'>+		p[index] = i;</div><div class='add'>+		if (!yield_indexed_values(values, r, p)) {</div><div class='add'>+		    rb_raise(rb_eRuntimeError, "permute reentered");</div><div class='add'>+		}</div><div class='add'>+	    }</div><div class='add'>+	    i = p[--index];                /* pop index */</div><div class='add'>+	    used[i] = 0;                   /* index unused */</div><div class='add'>+	    p[index] = ++i;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * Returns the product of from, from-1, ..., from - how_many + 1.</div><div class='add'>+ * https://en.wikipedia.org/wiki/Pochhammer_symbol</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+descending_factorial(long from, long how_many)</div><div class='add'>+{</div><div class='add'>+    VALUE cnt;</div><div class='add'>+    if (how_many &gt; 0) {</div><div class='add'>+	cnt = LONG2FIX(from);</div><div class='add'>+	while (--how_many &gt; 0) {</div><div class='add'>+	    long v = --from;</div><div class='add'>+	    cnt = rb_int_mul(cnt, LONG2FIX(v));</div><div class='ctx'> 	}</div><div class='ctx'>     }</div><div class='del'>-    if (mod == 0) return Qnil;</div><div class='add'>+    else {</div><div class='add'>+	cnt = LONG2FIX(how_many == 0);</div><div class='add'>+    }</div><div class='add'>+    return cnt;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+binomial_coefficient(long comb, long size)</div><div class='add'>+{</div><div class='add'>+    VALUE r;</div><div class='add'>+    long i;</div><div class='add'>+    if (comb &gt; size-comb) {</div><div class='add'>+	comb = size-comb;</div><div class='add'>+    }</div><div class='add'>+    if (comb &lt; 0) {</div><div class='add'>+	return LONG2FIX(0);</div><div class='add'>+    }</div><div class='add'>+    else if (comb == 0) {</div><div class='add'>+	return LONG2FIX(1);</div><div class='add'>+    }</div><div class='add'>+    r = LONG2FIX(size);</div><div class='add'>+    for (i = 1; i &lt; comb; ++i) {</div><div class='add'>+	r = rb_int_mul(r, LONG2FIX(size - i));</div><div class='add'>+	r = rb_int_idiv(r, LONG2FIX(i + 1));</div><div class='add'>+    }</div><div class='add'>+    return r;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_permutation_size(VALUE ary, VALUE args, VALUE eobj)</div><div class='add'>+{</div><div class='add'>+    long n = RARRAY_LEN(ary);</div><div class='add'>+    long k = (args &amp;&amp; (RARRAY_LEN(args) &gt; 0)) ? NUM2LONG(RARRAY_AREF(args, 0)) : n;</div><div class='add'>+</div><div class='add'>+    return descending_factorial(n, k);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.permutation {|element| ... } -&gt; self</div><div class='add'>+ *    array.permutation(n) {|element| ... } -&gt; self</div><div class='add'>+ *    array.permutation -&gt; new_enumerator</div><div class='add'>+ *    array.permutation(n) -&gt; new_enumerator</div><div class='add'>+ *</div><div class='add'>+ *  When invoked with a block, yield all permutations of elements of +self+; returns +self+.</div><div class='add'>+ *  The order of permutations is indeterminate.</div><div class='add'>+ *</div><div class='add'>+ *  When a block and an in-range positive \Integer argument +n+ (&lt;tt&gt;0 &lt; n &lt;= self.size&lt;/tt&gt;)</div><div class='add'>+ *  are given, calls the block with all +n+-tuple permutations of +self+.</div><div class='add'>+ *</div><div class='add'>+ *  Example:</div><div class='add'>+ *    a = [0, 1, 2]</div><div class='add'>+ *    a.permutation(2) {|permutation| p permutation }</div><div class='add'>+ *  Output:</div><div class='add'>+ *    [0, 1]</div><div class='add'>+ *    [0, 2]</div><div class='add'>+ *    [1, 0]</div><div class='add'>+ *    [1, 2]</div><div class='add'>+ *    [2, 0]</div><div class='add'>+ *    [2, 1]</div><div class='add'>+ *  Another example:</div><div class='add'>+ *    a = [0, 1, 2]</div><div class='add'>+ *    a.permutation(3) {|permutation| p permutation }</div><div class='add'>+ *  Output:</div><div class='add'>+ *    [0, 1, 2]</div><div class='add'>+ *    [0, 2, 1]</div><div class='add'>+ *    [1, 0, 2]</div><div class='add'>+ *    [1, 2, 0]</div><div class='add'>+ *    [2, 0, 1]</div><div class='add'>+ *    [2, 1, 0]</div><div class='add'>+ *</div><div class='add'>+ *  When +n+ is zero, calls the block once with a new empty \Array:</div><div class='add'>+ *    a = [0, 1, 2]</div><div class='add'>+ *    a.permutation(0) {|permutation| p permutation }</div><div class='add'>+ *  Output:</div><div class='add'>+ *    []</div><div class='add'>+ *</div><div class='add'>+ *  When +n+ is out of range (negative or larger than &lt;tt&gt;self.size&lt;/tt&gt;),</div><div class='add'>+ *  does not call the block:</div><div class='add'>+ *    a = [0, 1, 2]</div><div class='add'>+ *    a.permutation(-1) {|permutation| fail 'Cannot happen' }</div><div class='add'>+ *    a.permutation(4) {|permutation| fail 'Cannot happen' }</div><div class='add'>+ *</div><div class='add'>+ *  When a block given but no argument,</div><div class='add'>+ *  behaves the same as &lt;tt&gt;a.permutation(a.size)&lt;/tt&gt;:</div><div class='add'>+ *    a = [0, 1, 2]</div><div class='add'>+ *    a.permutation {|permutation| p permutation }</div><div class='add'>+ *  Output:</div><div class='add'>+ *    [0, 1, 2]</div><div class='add'>+ *    [0, 2, 1]</div><div class='add'>+ *    [1, 0, 2]</div><div class='add'>+ *    [1, 2, 0]</div><div class='add'>+ *    [2, 0, 1]</div><div class='add'>+ *    [2, 1, 0]</div><div class='add'>+ *</div><div class='add'>+ *  Returns a new \Enumerator if no block given:</div><div class='add'>+ *    a = [0, 1, 2]</div><div class='add'>+ *    a.permutation # =&gt; #&lt;Enumerator: [0, 1, 2]:permutation&gt;</div><div class='add'>+ *    a.permutation(2) # =&gt; #&lt;Enumerator: [0, 1, 2]:permutation(2)&gt;</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_permutation(int argc, VALUE *argv, VALUE ary)</div><div class='add'>+{</div><div class='add'>+    long r, n, i;</div><div class='add'>+</div><div class='add'>+    n = RARRAY_LEN(ary);                  /* Array length */</div><div class='add'>+    RETURN_SIZED_ENUMERATOR(ary, argc, argv, rb_ary_permutation_size);   /* Return enumerator if no block */</div><div class='add'>+    r = n;</div><div class='add'>+    if (rb_check_arity(argc, 0, 1) &amp;&amp; !NIL_P(argv[0]))</div><div class='add'>+        r = NUM2LONG(argv[0]);            /* Permutation size from argument */</div><div class='add'>+</div><div class='add'>+    if (r &lt; 0 || n &lt; r) {</div><div class='add'>+	/* no permutations: yield nothing */</div><div class='add'>+    }</div><div class='add'>+    else if (r == 0) { /* exactly one permutation: the zero-length array */</div><div class='add'>+	rb_yield(rb_ary_new2(0));</div><div class='add'>+    }</div><div class='add'>+    else if (r == 1) { /* this is a special, easy case */</div><div class='add'>+	for (i = 0; i &lt; RARRAY_LEN(ary); i++) {</div><div class='add'>+	    rb_yield(rb_ary_new3(1, RARRAY_AREF(ary, i)));</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    else {             /* this is the general case */</div><div class='add'>+	volatile VALUE t0;</div><div class='add'>+	long *p = ALLOCV_N(long, t0, r+roomof(n, sizeof(long)));</div><div class='add'>+	char *used = (char*)(p + r);</div><div class='add'>+	VALUE ary0 = ary_make_shared_copy(ary); /* private defensive copy of ary */</div><div class='add'>+	RBASIC_CLEAR_CLASS(ary0);</div><div class='add'>+</div><div class='add'>+	MEMZERO(used, char, n); /* initialize array */</div><div class='add'>+</div><div class='add'>+	permute0(n, r, p, used, ary0); /* compute and yield permutations */</div><div class='add'>+	ALLOCV_END(t0);</div><div class='add'>+	RBASIC_SET_CLASS_RAW(ary0, rb_cArray);</div><div class='add'>+    }</div><div class='ctx'>     return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+static void</div><div class='add'>+combinate0(const long len, const long n, long *const stack, const VALUE values)</div><div class='add'>+{</div><div class='add'>+    long lev = 0;</div><div class='add'>+</div><div class='add'>+    MEMZERO(stack+1, long, n);</div><div class='add'>+    stack[0] = -1;</div><div class='add'>+    for (;;) {</div><div class='add'>+	for (lev++; lev &lt; n; lev++) {</div><div class='add'>+	    stack[lev+1] = stack[lev]+1;</div><div class='add'>+	}</div><div class='add'>+	if (!yield_indexed_values(values, n, stack+1)) {</div><div class='add'>+	    rb_raise(rb_eRuntimeError, "combination reentered");</div><div class='add'>+	}</div><div class='add'>+	do {</div><div class='add'>+	    if (lev == 0) return;</div><div class='add'>+	    stack[lev--]++;</div><div class='add'>+	} while (stack[lev+1]+n == len+lev+1);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='ctx'> static VALUE</div><div class='del'>-rb_ary_flatten(ary)</div><div class='del'>-    VALUE ary;</div><div class='add'>+rb_ary_combination_size(VALUE ary, VALUE args, VALUE eobj)</div><div class='add'>+{</div><div class='add'>+    long n = RARRAY_LEN(ary);</div><div class='add'>+    long k = NUM2LONG(RARRAY_AREF(args, 0));</div><div class='add'>+</div><div class='add'>+    return binomial_coefficient(k, n);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.combination(n) {|element| ... } -&gt; self</div><div class='add'>+ *    array.combination(n) -&gt; new_enumerator</div><div class='add'>+ *</div><div class='add'>+ *  Calls the block, if given, with combinations of elements of +self+;</div><div class='add'>+ *  returns +self+. The order of combinations is indeterminate.</div><div class='add'>+ *</div><div class='add'>+ *  When a block and an in-range positive \Integer argument +n+ (&lt;tt&gt;0 &lt; n &lt;= self.size&lt;/tt&gt;)</div><div class='add'>+ *  are given, calls the block with all +n+-tuple combinations of +self+.</div><div class='add'>+ *</div><div class='add'>+ *  Example:</div><div class='add'>+ *    a = [0, 1, 2]</div><div class='add'>+ *    a.combination(2) {|combination| p combination }</div><div class='add'>+ *  Output:</div><div class='add'>+ *    [0, 1]</div><div class='add'>+ *    [0, 2]</div><div class='add'>+ *    [1, 2]</div><div class='add'>+ *</div><div class='add'>+ *  Another example:</div><div class='add'>+ *    a = [0, 1, 2]</div><div class='add'>+ *    a.combination(3) {|combination| p combination }</div><div class='add'>+ *  Output:</div><div class='add'>+ *    [0, 1, 2]</div><div class='add'>+ *</div><div class='add'>+ *  When +n+ is zero, calls the block once with a new empty \Array:</div><div class='add'>+ *    a = [0, 1, 2]</div><div class='add'>+ *    a1 = a.combination(0) {|combination| p combination }</div><div class='add'>+ *  Output:</div><div class='add'>+ *    []</div><div class='add'>+ *</div><div class='add'>+ *  When +n+ is out of range (negative or larger than &lt;tt&gt;self.size&lt;/tt&gt;),</div><div class='add'>+ *  does not call the block:</div><div class='add'>+ *    a = [0, 1, 2]</div><div class='add'>+ *    a.combination(-1) {|combination| fail 'Cannot happen' }</div><div class='add'>+ *    a.combination(4) {|combination| fail 'Cannot happen' }</div><div class='add'>+ *</div><div class='add'>+ *  Returns a new \Enumerator if no block given:</div><div class='add'>+ *    a = [0, 1, 2]</div><div class='add'>+ *    a.combination(2) # =&gt; #&lt;Enumerator: [0, 1, 2]:combination(2)&gt;</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_combination(VALUE ary, VALUE num)</div><div class='add'>+{</div><div class='add'>+    long i, n, len;</div><div class='add'>+</div><div class='add'>+    n = NUM2LONG(num);</div><div class='add'>+    RETURN_SIZED_ENUMERATOR(ary, 1, &amp;num, rb_ary_combination_size);</div><div class='add'>+    len = RARRAY_LEN(ary);</div><div class='add'>+    if (n &lt; 0 || len &lt; n) {</div><div class='add'>+	/* yield nothing */</div><div class='add'>+    }</div><div class='add'>+    else if (n == 0) {</div><div class='add'>+	rb_yield(rb_ary_new2(0));</div><div class='add'>+    }</div><div class='add'>+    else if (n == 1) {</div><div class='add'>+	for (i = 0; i &lt; RARRAY_LEN(ary); i++) {</div><div class='add'>+	    rb_yield(rb_ary_new3(1, RARRAY_AREF(ary, i)));</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	VALUE ary0 = ary_make_shared_copy(ary); /* private defensive copy of ary */</div><div class='add'>+	volatile VALUE t0;</div><div class='add'>+	long *stack = ALLOCV_N(long, t0, n+1);</div><div class='add'>+</div><div class='add'>+	RBASIC_CLEAR_CLASS(ary0);</div><div class='add'>+	combinate0(len, n, stack, ary0);</div><div class='add'>+	ALLOCV_END(t0);</div><div class='add'>+	RBASIC_SET_CLASS_RAW(ary0, rb_cArray);</div><div class='add'>+    }</div><div class='add'>+    return ary;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * Compute repeated permutations of +r+ elements of the set</div><div class='add'>+ * &lt;code&gt;[0..n-1]&lt;/code&gt;.</div><div class='add'>+ *</div><div class='add'>+ * When we have a complete repeated permutation of array indices, copy the</div><div class='add'>+ * values at those indices into a new array and yield that array.</div><div class='add'>+ *</div><div class='add'>+ * n: the size of the set</div><div class='add'>+ * r: the number of elements in each permutation</div><div class='add'>+ * p: the array (of size r) that we're filling in</div><div class='add'>+ * values: the Ruby array that holds the actual values to permute</div><div class='add'>+ */</div><div class='add'>+static void</div><div class='add'>+rpermute0(const long n, const long r, long *const p, const VALUE values)</div><div class='add'>+{</div><div class='add'>+    long i = 0, index = 0;</div><div class='add'>+</div><div class='add'>+    p[index] = i;</div><div class='add'>+    for (;;) {</div><div class='add'>+	if (++index &lt; r-1) {</div><div class='add'>+	    p[index] = i = 0;</div><div class='add'>+	    continue;</div><div class='add'>+	}</div><div class='add'>+	for (i = 0; i &lt; n; ++i) {</div><div class='add'>+	    p[index] = i;</div><div class='add'>+	    if (!yield_indexed_values(values, r, p)) {</div><div class='add'>+		rb_raise(rb_eRuntimeError, "repeated permute reentered");</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+	do {</div><div class='add'>+	    if (index &lt;= 0) return;</div><div class='add'>+	} while ((i = ++p[--index]) &gt;= n);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_repeated_permutation_size(VALUE ary, VALUE args, VALUE eobj)</div><div class='add'>+{</div><div class='add'>+    long n = RARRAY_LEN(ary);</div><div class='add'>+    long k = NUM2LONG(RARRAY_AREF(args, 0));</div><div class='add'>+</div><div class='add'>+    if (k &lt; 0) {</div><div class='add'>+	return LONG2FIX(0);</div><div class='add'>+    }</div><div class='add'>+    if (n &lt;= 0) {</div><div class='add'>+	return LONG2FIX(!k);</div><div class='add'>+    }</div><div class='add'>+    return rb_int_positive_pow(n, (unsigned long)k);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.repeated_permutation(n) {|permutation| ... } -&gt; self</div><div class='add'>+ *    array.repeated_permutation(n) -&gt; new_enumerator</div><div class='add'>+ *</div><div class='add'>+ *  Calls the block with each repeated permutation of length +n+ of the elements of +self+;</div><div class='add'>+ *  each permutation is an \Array;</div><div class='add'>+ *  returns +self+. The order of the permutations is indeterminate.</div><div class='add'>+ *</div><div class='add'>+ *  When a block and a positive \Integer argument +n+ are given, calls the block with each</div><div class='add'>+ *  +n+-tuple repeated permutation of the elements of +self+.</div><div class='add'>+ *  The number of permutations is &lt;tt&gt;self.size**n&lt;/tt&gt;.</div><div class='add'>+ *</div><div class='add'>+ *  +n+ = 1:</div><div class='add'>+ *    a = [0, 1, 2]</div><div class='add'>+ *    a.repeated_permutation(1) {|permutation| p permutation }</div><div class='add'>+ *  Output:</div><div class='add'>+ *    [0]</div><div class='add'>+ *    [1]</div><div class='add'>+ *    [2]</div><div class='add'>+ *</div><div class='add'>+ *  +n+ = 2:</div><div class='add'>+ *    a.repeated_permutation(2) {|permutation| p permutation }</div><div class='add'>+ *  Output:</div><div class='add'>+ *    [0, 0]</div><div class='add'>+ *    [0, 1]</div><div class='add'>+ *    [0, 2]</div><div class='add'>+ *    [1, 0]</div><div class='add'>+ *    [1, 1]</div><div class='add'>+ *    [1, 2]</div><div class='add'>+ *    [2, 0]</div><div class='add'>+ *    [2, 1]</div><div class='add'>+ *    [2, 2]</div><div class='add'>+ *</div><div class='add'>+ *  If +n+ is zero, calls the block once with an empty \Array.</div><div class='add'>+ *</div><div class='add'>+ *  If +n+ is negative, does not call the block:</div><div class='add'>+ *    a.repeated_permutation(-1) {|permutation| fail 'Cannot happen' }</div><div class='add'>+ *</div><div class='add'>+ *  Returns a new \Enumerator if no block given:</div><div class='add'>+ *    a = [0, 1, 2]</div><div class='add'>+ *    a.repeated_permutation(2) # =&gt; #&lt;Enumerator: [0, 1, 2]:permutation(2)&gt;</div><div class='add'>+ *</div><div class='add'>+ *  Using Enumerators, it's convenient to show the permutations and counts</div><div class='add'>+ *  for some values of +n+:</div><div class='add'>+ *    e = a.repeated_permutation(0)</div><div class='add'>+ *    e.size # =&gt; 1</div><div class='add'>+ *    e.to_a # =&gt; [[]]</div><div class='add'>+ *    e = a.repeated_permutation(1)</div><div class='add'>+ *    e.size # =&gt; 3</div><div class='add'>+ *    e.to_a # =&gt; [[0], [1], [2]]</div><div class='add'>+ *    e = a.repeated_permutation(2)</div><div class='add'>+ *    e.size # =&gt; 9</div><div class='add'>+ *    e.to_a # =&gt; [[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_repeated_permutation(VALUE ary, VALUE num)</div><div class='add'>+{</div><div class='add'>+    long r, n, i;</div><div class='add'>+</div><div class='add'>+    n = RARRAY_LEN(ary);                  /* Array length */</div><div class='add'>+    RETURN_SIZED_ENUMERATOR(ary, 1, &amp;num, rb_ary_repeated_permutation_size);      /* Return Enumerator if no block */</div><div class='add'>+    r = NUM2LONG(num);                    /* Permutation size from argument */</div><div class='add'>+</div><div class='add'>+    if (r &lt; 0) {</div><div class='add'>+	/* no permutations: yield nothing */</div><div class='add'>+    }</div><div class='add'>+    else if (r == 0) { /* exactly one permutation: the zero-length array */</div><div class='add'>+	rb_yield(rb_ary_new2(0));</div><div class='add'>+    }</div><div class='add'>+    else if (r == 1) { /* this is a special, easy case */</div><div class='add'>+	for (i = 0; i &lt; RARRAY_LEN(ary); i++) {</div><div class='add'>+	    rb_yield(rb_ary_new3(1, RARRAY_AREF(ary, i)));</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    else {             /* this is the general case */</div><div class='add'>+	volatile VALUE t0;</div><div class='add'>+	long *p = ALLOCV_N(long, t0, r);</div><div class='add'>+	VALUE ary0 = ary_make_shared_copy(ary); /* private defensive copy of ary */</div><div class='add'>+	RBASIC_CLEAR_CLASS(ary0);</div><div class='add'>+</div><div class='add'>+	rpermute0(n, r, p, ary0); /* compute and yield repeated permutations */</div><div class='add'>+	ALLOCV_END(t0);</div><div class='add'>+	RBASIC_SET_CLASS_RAW(ary0, rb_cArray);</div><div class='add'>+    }</div><div class='add'>+    return ary;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+rcombinate0(const long n, const long r, long *const p, const long rest, const VALUE values)</div><div class='add'>+{</div><div class='add'>+    long i = 0, index = 0;</div><div class='add'>+</div><div class='add'>+    p[index] = i;</div><div class='add'>+    for (;;) {</div><div class='add'>+	if (++index &lt; r-1) {</div><div class='add'>+	    p[index] = i;</div><div class='add'>+	    continue;</div><div class='add'>+	}</div><div class='add'>+	for (; i &lt; n; ++i) {</div><div class='add'>+	    p[index] = i;</div><div class='add'>+	    if (!yield_indexed_values(values, r, p)) {</div><div class='add'>+		rb_raise(rb_eRuntimeError, "repeated combination reentered");</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+	do {</div><div class='add'>+	    if (index &lt;= 0) return;</div><div class='add'>+	} while ((i = ++p[--index]) &gt;= n);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_repeated_combination_size(VALUE ary, VALUE args, VALUE eobj)</div><div class='add'>+{</div><div class='add'>+    long n = RARRAY_LEN(ary);</div><div class='add'>+    long k = NUM2LONG(RARRAY_AREF(args, 0));</div><div class='add'>+    if (k == 0) {</div><div class='add'>+	return LONG2FIX(1);</div><div class='add'>+    }</div><div class='add'>+    return binomial_coefficient(k, n + k - 1);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.repeated_combination(n) {|combination| ... } -&gt; self</div><div class='add'>+ *    array.repeated_combination(n) -&gt; new_enumerator</div><div class='add'>+ *</div><div class='add'>+ *  Calls the block with each repeated combination of length +n+ of the elements of +self+;</div><div class='add'>+ *  each combination is an \Array;</div><div class='add'>+ *  returns +self+. The order of the combinations is indeterminate.</div><div class='add'>+ *</div><div class='add'>+ *  When a block and a positive \Integer argument +n+ are given, calls the block with each</div><div class='add'>+ *  +n+-tuple repeated combination of the elements of +self+.</div><div class='add'>+ *  The number of combinations is &lt;tt&gt;(n+1)(n+2)/2&lt;/tt&gt;.</div><div class='add'>+ *</div><div class='add'>+ *  +n+ = 1:</div><div class='add'>+ *    a = [0, 1, 2]</div><div class='add'>+ *    a.repeated_combination(1) {|combination| p combination }</div><div class='add'>+ *  Output:</div><div class='add'>+ *    [0]</div><div class='add'>+ *    [1]</div><div class='add'>+ *    [2]</div><div class='add'>+ *</div><div class='add'>+ *  +n+ = 2:</div><div class='add'>+ *    a.repeated_combination(2) {|combination| p combination }</div><div class='add'>+ *  Output:</div><div class='add'>+ *    [0, 0]</div><div class='add'>+ *    [0, 1]</div><div class='add'>+ *    [0, 2]</div><div class='add'>+ *    [1, 1]</div><div class='add'>+ *    [1, 2]</div><div class='add'>+ *    [2, 2]</div><div class='add'>+ *</div><div class='add'>+ *  If +n+ is zero, calls the block once with an empty \Array.</div><div class='add'>+ *</div><div class='add'>+ *  If +n+ is negative, does not call the block:</div><div class='add'>+ *    a.repeated_combination(-1) {|combination| fail 'Cannot happen' }</div><div class='add'>+ *</div><div class='add'>+ *  Returns a new \Enumerator if no block given:</div><div class='add'>+ *    a = [0, 1, 2]</div><div class='add'>+ *    a.repeated_combination(2) # =&gt; #&lt;Enumerator: [0, 1, 2]:combination(2)&gt;</div><div class='add'>+ *</div><div class='add'>+ *  Using Enumerators, it's convenient to show the combinations and counts</div><div class='add'>+ *  for some values of +n+:</div><div class='add'>+ *    e = a.repeated_combination(0)</div><div class='add'>+ *    e.size # =&gt; 1</div><div class='add'>+ *    e.to_a # =&gt; [[]]</div><div class='add'>+ *    e = a.repeated_combination(1)</div><div class='add'>+ *    e.size # =&gt; 3</div><div class='add'>+ *    e.to_a # =&gt; [[0], [1], [2]]</div><div class='add'>+ *    e = a.repeated_combination(2)</div><div class='add'>+ *    e.size # =&gt; 6</div><div class='add'>+ *    e.to_a # =&gt; [[0, 0], [0, 1], [0, 2], [1, 1], [1, 2], [2, 2]]</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_repeated_combination(VALUE ary, VALUE num)</div><div class='add'>+{</div><div class='add'>+    long n, i, len;</div><div class='add'>+</div><div class='add'>+    n = NUM2LONG(num);                 /* Combination size from argument */</div><div class='add'>+    RETURN_SIZED_ENUMERATOR(ary, 1, &amp;num, rb_ary_repeated_combination_size);   /* Return enumerator if no block */</div><div class='add'>+    len = RARRAY_LEN(ary);</div><div class='add'>+    if (n &lt; 0) {</div><div class='add'>+	/* yield nothing */</div><div class='add'>+    }</div><div class='add'>+    else if (n == 0) {</div><div class='add'>+	rb_yield(rb_ary_new2(0));</div><div class='add'>+    }</div><div class='add'>+    else if (n == 1) {</div><div class='add'>+	for (i = 0; i &lt; RARRAY_LEN(ary); i++) {</div><div class='add'>+	    rb_yield(rb_ary_new3(1, RARRAY_AREF(ary, i)));</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    else if (len == 0) {</div><div class='add'>+	/* yield nothing */</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	volatile VALUE t0;</div><div class='add'>+	long *p = ALLOCV_N(long, t0, n);</div><div class='add'>+	VALUE ary0 = ary_make_shared_copy(ary); /* private defensive copy of ary */</div><div class='add'>+	RBASIC_CLEAR_CLASS(ary0);</div><div class='add'>+</div><div class='add'>+	rcombinate0(len, n, p, n, ary0); /* compute and yield repeated combinations */</div><div class='add'>+	ALLOCV_END(t0);</div><div class='add'>+	RBASIC_SET_CLASS_RAW(ary0, rb_cArray);</div><div class='add'>+    }</div><div class='add'>+    return ary;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.product(*other_arrays) -&gt; new_array</div><div class='add'>+ *    array.product(*other_arrays) {|combination| ... } -&gt; self</div><div class='add'>+ *</div><div class='add'>+ *  Computes and returns or yields all combinations of elements from all the Arrays,</div><div class='add'>+ *  including both +self+ and +other_arrays+.</div><div class='add'>+ *  - The number of combinations is the product of the sizes of all the arrays,</div><div class='add'>+ *    including both +self+ and +other_arrays+.</div><div class='add'>+ *  - The order of the returned combinations is indeterminate.</div><div class='add'>+ *</div><div class='add'>+ *  When no block is given, returns the combinations as an \Array of Arrays:</div><div class='add'>+ *    a = [0, 1, 2]</div><div class='add'>+ *    a1 = [3, 4]</div><div class='add'>+ *    a2 = [5, 6]</div><div class='add'>+ *    p = a.product(a1)</div><div class='add'>+ *    p.size # =&gt; 6 # a.size * a1.size</div><div class='add'>+ *    p # =&gt; [[0, 3], [0, 4], [1, 3], [1, 4], [2, 3], [2, 4]]</div><div class='add'>+ *    p = a.product(a1, a2)</div><div class='add'>+ *    p.size # =&gt; 12 # a.size * a1.size * a2.size</div><div class='add'>+ *    p # =&gt; [[0, 3, 5], [0, 3, 6], [0, 4, 5], [0, 4, 6], [1, 3, 5], [1, 3, 6], [1, 4, 5], [1, 4, 6], [2, 3, 5], [2, 3, 6], [2, 4, 5], [2, 4, 6]]</div><div class='add'>+ *</div><div class='add'>+ *  If any argument is an empty \Array, returns an empty \Array.</div><div class='add'>+ *</div><div class='add'>+ *  If no argument is given, returns an \Array of 1-element Arrays,</div><div class='add'>+ *  each containing an element of +self+:</div><div class='add'>+ *    a.product # =&gt; [[0], [1], [2]]</div><div class='add'>+ *</div><div class='add'>+ *  When a block is given, yields each combination as an \Array; returns +self+:</div><div class='add'>+ *    a.product(a1) {|combination| p combination }</div><div class='add'>+ *  Output:</div><div class='add'>+ *    [0, 3]</div><div class='add'>+ *    [0, 4]</div><div class='add'>+ *    [1, 3]</div><div class='add'>+ *    [1, 4]</div><div class='add'>+ *    [2, 3]</div><div class='add'>+ *    [2, 4]</div><div class='add'>+ *</div><div class='add'>+ *  If any argument is an empty \Array, does not call the block:</div><div class='add'>+ *    a.product(a1, a2, []) {|combination| fail 'Cannot happen' }</div><div class='add'>+ *</div><div class='add'>+ *  If no argument is given, yields each element of +self+ as a 1-element \Array:</div><div class='add'>+ *    a.product {|combination| p combination }</div><div class='add'>+ *  Output:</div><div class='add'>+ *    [0]</div><div class='add'>+ *    [1]</div><div class='add'>+ *    [2]</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_product(int argc, VALUE *argv, VALUE ary)</div><div class='ctx'> {</div><div class='del'>-    VALUE v = rb_ary_flatten_bang(rb_ary_dup(ary));</div><div class='add'>+    int n = argc+1;    /* How many arrays we're operating on */</div><div class='add'>+    volatile VALUE t0 = tmpary(n);</div><div class='add'>+    volatile VALUE t1 = Qundef;</div><div class='add'>+    VALUE *arrays = RARRAY_PTR(t0); /* The arrays we're computing the product of */</div><div class='add'>+    int *counters = ALLOCV_N(int, t1, n); /* The current position in each one */</div><div class='add'>+    VALUE result = Qnil;      /* The array we'll be returning, when no block given */</div><div class='add'>+    long i,j;</div><div class='add'>+    long resultlen = 1;</div><div class='add'>+</div><div class='add'>+    RBASIC_CLEAR_CLASS(t0);</div><div class='add'>+</div><div class='add'>+    /* initialize the arrays of arrays */</div><div class='add'>+    ARY_SET_LEN(t0, n);</div><div class='add'>+    arrays[0] = ary;</div><div class='add'>+    for (i = 1; i &lt; n; i++) arrays[i] = Qnil;</div><div class='add'>+    for (i = 1; i &lt; n; i++) arrays[i] = to_ary(argv[i-1]);</div><div class='add'>+</div><div class='add'>+    /* initialize the counters for the arrays */</div><div class='add'>+    for (i = 0; i &lt; n; i++) counters[i] = 0;</div><div class='add'>+</div><div class='add'>+    /* Otherwise, allocate and fill in an array of results */</div><div class='add'>+    if (rb_block_given_p()) {</div><div class='add'>+	/* Make defensive copies of arrays; exit if any is empty */</div><div class='add'>+	for (i = 0; i &lt; n; i++) {</div><div class='add'>+	    if (RARRAY_LEN(arrays[i]) == 0) goto done;</div><div class='add'>+	    arrays[i] = ary_make_shared_copy(arrays[i]);</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	/* Compute the length of the result array; return [] if any is empty */</div><div class='add'>+	for (i = 0; i &lt; n; i++) {</div><div class='add'>+	    long k = RARRAY_LEN(arrays[i]);</div><div class='add'>+	    if (k == 0) {</div><div class='add'>+		result = rb_ary_new2(0);</div><div class='add'>+		goto done;</div><div class='add'>+	    }</div><div class='add'>+            if (MUL_OVERFLOW_LONG_P(resultlen, k))</div><div class='add'>+		rb_raise(rb_eRangeError, "too big to product");</div><div class='add'>+	    resultlen *= k;</div><div class='add'>+	}</div><div class='add'>+	result = rb_ary_new2(resultlen);</div><div class='add'>+    }</div><div class='add'>+    for (;;) {</div><div class='add'>+	int m;</div><div class='add'>+	/* fill in one subarray */</div><div class='add'>+	VALUE subarray = rb_ary_new2(n);</div><div class='add'>+	for (j = 0; j &lt; n; j++) {</div><div class='add'>+	    rb_ary_push(subarray, rb_ary_entry(arrays[j], counters[j]));</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+	/* put it on the result array */</div><div class='add'>+	if (NIL_P(result)) {</div><div class='add'>+	    FL_SET(t0, FL_USER5);</div><div class='add'>+	    rb_yield(subarray);</div><div class='add'>+	    if (! FL_TEST(t0, FL_USER5)) {</div><div class='add'>+		rb_raise(rb_eRuntimeError, "product reentered");</div><div class='add'>+	    }</div><div class='add'>+	    else {</div><div class='add'>+		FL_UNSET(t0, FL_USER5);</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    rb_ary_push(result, subarray);</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+	/*</div><div class='add'>+	 * Increment the last counter.  If it overflows, reset to 0</div><div class='add'>+	 * and increment the one before it.</div><div class='add'>+	 */</div><div class='add'>+	m = n-1;</div><div class='add'>+	counters[m]++;</div><div class='add'>+	while (counters[m] == RARRAY_LEN(arrays[m])) {</div><div class='add'>+	    counters[m] = 0;</div><div class='add'>+	    /* If the first counter overflows, we are done */</div><div class='add'>+	    if (--m &lt; 0) goto done;</div><div class='add'>+	    counters[m]++;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+done:</div><div class='add'>+    tmpary_discard(t0);</div><div class='add'>+    ALLOCV_END(t1);</div><div class='ctx'> </div><div class='del'>-    if (NIL_P(v)) return ary;</div><div class='add'>+    return NIL_P(result) ? ary : result;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.take(n) -&gt; new_array</div><div class='add'>+ *</div><div class='add'>+ *  Returns a new \Array containing the first +n+ element of +self+,</div><div class='add'>+ *  where +n+ is a non-negative \Integer;</div><div class='add'>+ *  does not modify +self+.</div><div class='add'>+ *</div><div class='add'>+ *  Examples:</div><div class='add'>+ *    a = [0, 1, 2, 3, 4, 5]</div><div class='add'>+ *    a.take(1) # =&gt; [0]</div><div class='add'>+ *    a.take(2) # =&gt; [0, 1]</div><div class='add'>+ *    a.take(50) # =&gt; [0, 1, 2, 3, 4, 5]</div><div class='add'>+ *    a # =&gt; [0, 1, 2, 3, 4, 5]</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_take(VALUE obj, VALUE n)</div><div class='add'>+{</div><div class='add'>+    long len = NUM2LONG(n);</div><div class='add'>+    if (len &lt; 0) {</div><div class='add'>+	rb_raise(rb_eArgError, "attempt to take negative size");</div><div class='add'>+    }</div><div class='add'>+    return rb_ary_subseq(obj, 0, len);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.take_while {|element| ... } -&gt; new_array</div><div class='add'>+ *    array.take_while -&gt; new_enumerator</div><div class='add'>+ *</div><div class='add'>+ *  Returns a new \Array containing zero or more leading elements of +self+;</div><div class='add'>+ *  does not modify +self+.</div><div class='add'>+ *</div><div class='add'>+ *  With a block given, calls the block with each successive element of +self+;</div><div class='add'>+ *  stops if the block returns +false+ or +nil+;</div><div class='add'>+ *  returns a new Array containing those elements for which the block returned a truthy value:</div><div class='add'>+ *    a = [0, 1, 2, 3, 4, 5]</div><div class='add'>+ *    a.take_while {|element| element &lt; 3 } # =&gt; [0, 1, 2]</div><div class='add'>+ *    a.take_while {|element| true } # =&gt; [0, 1, 2, 3, 4, 5]</div><div class='add'>+ *    a # =&gt; [0, 1, 2, 3, 4, 5]</div><div class='add'>+ *</div><div class='add'>+ *  With no block given, returns a new \Enumerator:</div><div class='add'>+ *    [0, 1].take_while # =&gt; #&lt;Enumerator: [0, 1]:take_while&gt;</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_take_while(VALUE ary)</div><div class='add'>+{</div><div class='add'>+    long i;</div><div class='add'>+</div><div class='add'>+    RETURN_ENUMERATOR(ary, 0, 0);</div><div class='add'>+    for (i = 0; i &lt; RARRAY_LEN(ary); i++) {</div><div class='add'>+	if (!RTEST(rb_yield(RARRAY_AREF(ary, i)))) break;</div><div class='add'>+    }</div><div class='add'>+    return rb_ary_take(ary, LONG2FIX(i));</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.drop(n) -&gt; new_array</div><div class='add'>+ *</div><div class='add'>+ *  Returns a new \Array containing all but the first +n+ element of +self+,</div><div class='add'>+ *  where +n+ is a non-negative \Integer;</div><div class='add'>+ *  does not modify +self+.</div><div class='add'>+ *</div><div class='add'>+ *  Examples:</div><div class='add'>+ *    a = [0, 1, 2, 3, 4, 5]</div><div class='add'>+ *    a.drop(0) # =&gt; [0, 1, 2, 3, 4, 5]</div><div class='add'>+ *    a.drop(1) # =&gt; [1, 2, 3, 4, 5]</div><div class='add'>+ *    a.drop(2) # =&gt; [2, 3, 4, 5]</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_drop(VALUE ary, VALUE n)</div><div class='add'>+{</div><div class='add'>+    VALUE result;</div><div class='add'>+    long pos = NUM2LONG(n);</div><div class='add'>+    if (pos &lt; 0) {</div><div class='add'>+	rb_raise(rb_eArgError, "attempt to drop negative size");</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    result = rb_ary_subseq(ary, pos, RARRAY_LEN(ary));</div><div class='add'>+    if (result == Qnil) result = rb_ary_new();</div><div class='add'>+    return result;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.drop_while {|element| ... } -&gt; new_array</div><div class='add'>+ *    array.drop_while -&gt; new_enumerator</div><div class='add'>+</div><div class='add'>+ *  Returns a new \Array containing zero or more trailing elements of +self+;</div><div class='add'>+ *  does not modify +self+.</div><div class='add'>+ *</div><div class='add'>+ *  With a block given, calls the block with each successive element of +self+;</div><div class='add'>+ *  stops if the block returns +false+ or +nil+;</div><div class='add'>+ *  returns a new Array _omitting_ those elements for which the block returned a truthy value:</div><div class='add'>+ *    a = [0, 1, 2, 3, 4, 5]</div><div class='add'>+ *    a.drop_while {|element| element &lt; 3 } # =&gt; [3, 4, 5]</div><div class='add'>+ *</div><div class='add'>+ *  With no block given, returns a new \Enumerator:</div><div class='add'>+ *    [0, 1].drop_while # =&gt; # =&gt; #&lt;Enumerator: [0, 1]:drop_while&gt;</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_drop_while(VALUE ary)</div><div class='add'>+{</div><div class='add'>+    long i;</div><div class='add'>+</div><div class='add'>+    RETURN_ENUMERATOR(ary, 0, 0);</div><div class='add'>+    for (i = 0; i &lt; RARRAY_LEN(ary); i++) {</div><div class='add'>+	if (!RTEST(rb_yield(RARRAY_AREF(ary, i)))) break;</div><div class='add'>+    }</div><div class='add'>+    return rb_ary_drop(ary, LONG2FIX(i));</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.any? -&gt; true or false</div><div class='add'>+ *    array.any? {|element| ... } -&gt; true or false</div><div class='add'>+ *    array.any?(obj) -&gt; true or false</div><div class='add'>+ *</div><div class='add'>+ *  Returns +true+ if any element of +self+ meets a given criterion.</div><div class='add'>+ *</div><div class='add'>+ *  With no block given and no argument, returns +true+ if +self+ has any truthy element,</div><div class='add'>+ *  +false+ otherwise:</div><div class='add'>+ *    [nil, 0, false].any? # =&gt; true</div><div class='add'>+ *    [nil, false].any? # =&gt; false</div><div class='add'>+ *    [].any? # =&gt; false</div><div class='add'>+ *</div><div class='add'>+ *  With a block given and no argument, calls the block with each element in +self+;</div><div class='add'>+ *  returns +true+ if the block returns any truthy value, +false+ otherwise:</div><div class='add'>+ *    [0, 1, 2].any? {|element| element &gt; 1 } # =&gt; true</div><div class='add'>+ *    [0, 1, 2].any? {|element| element &gt; 2 } # =&gt; false</div><div class='add'>+ *</div><div class='add'>+ *  If argument +obj+ is given, returns +true+ if +obj+.&lt;tt&gt;===&lt;/tt&gt; any element,</div><div class='add'>+ *  +false+ otherwise:</div><div class='add'>+ *    ['food', 'drink'].any?(/foo/) # =&gt; true</div><div class='add'>+ *    ['food', 'drink'].any?(/bar/) # =&gt; false</div><div class='add'>+ *    [].any?(/foo/) # =&gt; false</div><div class='add'>+ *    [0, 1, 2].any?(1) # =&gt; true</div><div class='add'>+ *    [0, 1, 2].any?(3) # =&gt; false</div><div class='add'>+ *</div><div class='add'>+ *  Related: Enumerable#any?</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_any_p(int argc, VALUE *argv, VALUE ary)</div><div class='add'>+{</div><div class='add'>+    long i, len = RARRAY_LEN(ary);</div><div class='add'>+</div><div class='add'>+    rb_check_arity(argc, 0, 1);</div><div class='add'>+    if (!len) return Qfalse;</div><div class='add'>+    if (argc) {</div><div class='add'>+        if (rb_block_given_p()) {</div><div class='add'>+            rb_warn("given block not used");</div><div class='add'>+        }</div><div class='add'>+	for (i = 0; i &lt; RARRAY_LEN(ary); ++i) {</div><div class='add'>+	    if (RTEST(rb_funcall(argv[0], idEqq, 1, RARRAY_AREF(ary, i)))) return Qtrue;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    else if (!rb_block_given_p()) {</div><div class='add'>+        for (i = 0; i &lt; len; ++i) {</div><div class='add'>+            if (RTEST(RARRAY_AREF(ary, i))) return Qtrue;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	for (i = 0; i &lt; RARRAY_LEN(ary); ++i) {</div><div class='add'>+	    if (RTEST(rb_yield(RARRAY_AREF(ary, i)))) return Qtrue;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    return Qfalse;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.all? -&gt; true or false</div><div class='add'>+ *    array.all? {|element| ... } -&gt; true or false</div><div class='add'>+ *    array.all?(obj) -&gt; true or false</div><div class='add'>+ *</div><div class='add'>+ *  Returns +true+ if all elements of +self+ meet a given criterion.</div><div class='add'>+ *</div><div class='add'>+ *  With no block given and no argument, returns +true+ if +self+ contains only truthy elements,</div><div class='add'>+ *  +false+ otherwise:</div><div class='add'>+ *    [0, 1, :foo].all? # =&gt; true</div><div class='add'>+ *    [0, nil, 2].all? # =&gt; false</div><div class='add'>+ *    [].all? # =&gt; true</div><div class='add'>+ *</div><div class='add'>+ *  With a block given and no argument, calls the block with each element in +self+;</div><div class='add'>+ *  returns +true+ if the block returns only truthy values, +false+ otherwise:</div><div class='add'>+ *    [0, 1, 2].all? { |element| element &lt; 3 } # =&gt; true</div><div class='add'>+ *    [0, 1, 2].all? { |element| element &lt; 2 } # =&gt; false</div><div class='add'>+ *</div><div class='add'>+ *  If argument +obj+ is given, returns +true+ if &lt;tt&gt;obj.===&lt;/tt&gt; every element, +false+ otherwise:</div><div class='add'>+ *    ['food', 'fool', 'foot'].all?(/foo/) # =&gt; true</div><div class='add'>+ *    ['food', 'drink'].all?(/bar/) # =&gt; false</div><div class='add'>+ *    [].all?(/foo/) # =&gt; true</div><div class='add'>+ *    [0, 0, 0].all?(0) # =&gt; true</div><div class='add'>+ *    [0, 1, 2].all?(1) # =&gt; false</div><div class='add'>+ *</div><div class='add'>+ *  Related: Enumerable#all?</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_all_p(int argc, VALUE *argv, VALUE ary)</div><div class='add'>+{</div><div class='add'>+    long i, len = RARRAY_LEN(ary);</div><div class='add'>+</div><div class='add'>+    rb_check_arity(argc, 0, 1);</div><div class='add'>+    if (!len) return Qtrue;</div><div class='add'>+    if (argc) {</div><div class='add'>+        if (rb_block_given_p()) {</div><div class='add'>+            rb_warn("given block not used");</div><div class='add'>+        }</div><div class='add'>+        for (i = 0; i &lt; RARRAY_LEN(ary); ++i) {</div><div class='add'>+            if (!RTEST(rb_funcall(argv[0], idEqq, 1, RARRAY_AREF(ary, i)))) return Qfalse;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    else if (!rb_block_given_p()) {</div><div class='add'>+        for (i = 0; i &lt; len; ++i) {</div><div class='add'>+            if (!RTEST(RARRAY_AREF(ary, i))) return Qfalse;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        for (i = 0; i &lt; RARRAY_LEN(ary); ++i) {</div><div class='add'>+            if (!RTEST(rb_yield(RARRAY_AREF(ary, i)))) return Qfalse;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    return Qtrue;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.none? -&gt; true or false</div><div class='add'>+ *    array.none? {|element| ... } -&gt; true or false</div><div class='add'>+ *    array.none?(obj) -&gt; true or false</div><div class='add'>+ *</div><div class='add'>+ *  Returns +true+ if no element of +self+ meet a given criterion.</div><div class='add'>+ *</div><div class='add'>+ *  With no block given and no argument, returns +true+ if +self+ has no truthy elements,</div><div class='add'>+ *  +false+ otherwise:</div><div class='add'>+ *    [nil, false].none? # =&gt; true</div><div class='add'>+ *    [nil, 0, false].none? # =&gt; false</div><div class='add'>+ *    [].none? # =&gt; true</div><div class='add'>+ *</div><div class='add'>+ *  With a block given and no argument, calls the block with each element in +self+;</div><div class='add'>+ *  returns +true+ if the block returns no truthy value, +false+ otherwise:</div><div class='add'>+ *    [0, 1, 2].none? {|element| element &gt; 3 } # =&gt; true</div><div class='add'>+ *    [0, 1, 2].none? {|element| element &gt; 1 } # =&gt; false</div><div class='add'>+ *</div><div class='add'>+ *  If argument +obj+ is given, returns +true+ if &lt;tt&gt;obj.===&lt;/tt&gt; no element, +false+ otherwise:</div><div class='add'>+ *    ['food', 'drink'].none?(/bar/) # =&gt; true</div><div class='add'>+ *    ['food', 'drink'].none?(/foo/) # =&gt; false</div><div class='add'>+ *    [].none?(/foo/) # =&gt; true</div><div class='add'>+ *    [0, 1, 2].none?(3) # =&gt; true</div><div class='add'>+ *    [0, 1, 2].none?(1) # =&gt; false</div><div class='add'>+ *</div><div class='add'>+ *  Related: Enumerable#none?</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_none_p(int argc, VALUE *argv, VALUE ary)</div><div class='add'>+{</div><div class='add'>+    long i, len = RARRAY_LEN(ary);</div><div class='add'>+</div><div class='add'>+    rb_check_arity(argc, 0, 1);</div><div class='add'>+    if (!len) return Qtrue;</div><div class='add'>+    if (argc) {</div><div class='add'>+        if (rb_block_given_p()) {</div><div class='add'>+            rb_warn("given block not used");</div><div class='add'>+        }</div><div class='add'>+        for (i = 0; i &lt; RARRAY_LEN(ary); ++i) {</div><div class='add'>+            if (RTEST(rb_funcall(argv[0], idEqq, 1, RARRAY_AREF(ary, i)))) return Qfalse;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    else if (!rb_block_given_p()) {</div><div class='add'>+        for (i = 0; i &lt; len; ++i) {</div><div class='add'>+            if (RTEST(RARRAY_AREF(ary, i))) return Qfalse;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        for (i = 0; i &lt; RARRAY_LEN(ary); ++i) {</div><div class='add'>+            if (RTEST(rb_yield(RARRAY_AREF(ary, i)))) return Qfalse;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    return Qtrue;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.one? -&gt; true or false</div><div class='add'>+ *    array.one? {|element| ... } -&gt; true or false</div><div class='add'>+ *    array.one?(obj) -&gt; true or false</div><div class='add'>+ *</div><div class='add'>+ *  Returns +true+ if exactly one element of +self+ meets a given criterion.</div><div class='add'>+ *</div><div class='add'>+ *  With no block given and no argument, returns +true+ if +self+ has exactly one truthy element,</div><div class='add'>+ *  +false+ otherwise:</div><div class='add'>+ *    [nil, 0].one? # =&gt; true</div><div class='add'>+ *    [0, 0].one? # =&gt; false</div><div class='add'>+ *    [nil, nil].one? # =&gt; false</div><div class='add'>+ *    [].one? # =&gt; false</div><div class='add'>+ *</div><div class='add'>+ *  With a block given and no argument, calls the block with each element in +self+;</div><div class='add'>+ *  returns +true+ if the block a truthy value for exactly one element, +false+ otherwise:</div><div class='add'>+ *    [0, 1, 2].one? {|element| element &gt; 0 } # =&gt; false</div><div class='add'>+ *    [0, 1, 2].one? {|element| element &gt; 1 } # =&gt; true</div><div class='add'>+ *    [0, 1, 2].one? {|element| element &gt; 2 } # =&gt; false</div><div class='add'>+ *</div><div class='add'>+ *  If argument +obj+ is given, returns +true+ if &lt;tt&gt;obj.===&lt;/tt&gt; exactly one element,</div><div class='add'>+ *  +false+ otherwise:</div><div class='add'>+ *    [0, 1, 2].one?(0) # =&gt; true</div><div class='add'>+ *    [0, 0, 1].one?(0) # =&gt; false</div><div class='add'>+ *    [1, 1, 2].one?(0) # =&gt; false</div><div class='add'>+ *    ['food', 'drink'].one?(/bar/) # =&gt; false</div><div class='add'>+ *    ['food', 'drink'].one?(/foo/) # =&gt; true</div><div class='add'>+ *    [].one?(/foo/) # =&gt; false</div><div class='add'>+ *</div><div class='add'>+ *  Related: Enumerable#one?</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_one_p(int argc, VALUE *argv, VALUE ary)</div><div class='add'>+{</div><div class='add'>+    long i, len = RARRAY_LEN(ary);</div><div class='add'>+    VALUE result = Qfalse;</div><div class='add'>+</div><div class='add'>+    rb_check_arity(argc, 0, 1);</div><div class='add'>+    if (!len) return Qfalse;</div><div class='add'>+    if (argc) {</div><div class='add'>+        if (rb_block_given_p()) {</div><div class='add'>+            rb_warn("given block not used");</div><div class='add'>+        }</div><div class='add'>+        for (i = 0; i &lt; RARRAY_LEN(ary); ++i) {</div><div class='add'>+            if (RTEST(rb_funcall(argv[0], idEqq, 1, RARRAY_AREF(ary, i)))) {</div><div class='add'>+                if (result) return Qfalse;</div><div class='add'>+                result = Qtrue;</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    else if (!rb_block_given_p()) {</div><div class='add'>+        for (i = 0; i &lt; len; ++i) {</div><div class='add'>+            if (RTEST(RARRAY_AREF(ary, i))) {</div><div class='add'>+                if (result) return Qfalse;</div><div class='add'>+                result = Qtrue;</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        for (i = 0; i &lt; RARRAY_LEN(ary); ++i) {</div><div class='add'>+            if (RTEST(rb_yield(RARRAY_AREF(ary, i)))) {</div><div class='add'>+                if (result) return Qfalse;</div><div class='add'>+                result = Qtrue;</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    return result;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *    array.dig(index, *identifiers) -&gt; object</div><div class='add'>+ *</div><div class='add'>+ *  Finds and returns the object in nested objects</div><div class='add'>+ *  that is specified by +index+ and +identifiers+.</div><div class='add'>+ *  The nested objects may be instances of various classes.</div><div class='add'>+ *  See {Dig Methods}[rdoc-ref:doc/dig_methods.rdoc].</div><div class='add'>+ *</div><div class='add'>+ *  Examples:</div><div class='add'>+ *    a = [:foo, [:bar, :baz, [:bat, :bam]]]</div><div class='add'>+ *    a.dig(1) # =&gt; [:bar, :baz, [:bat, :bam]]</div><div class='add'>+ *    a.dig(1, 2) # =&gt; [:bat, :bam]</div><div class='add'>+ *    a.dig(1, 2, 0) # =&gt; :bat</div><div class='add'>+ *    a.dig(1, 2, 3) # =&gt; nil</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_dig(int argc, VALUE *argv, VALUE self)</div><div class='add'>+{</div><div class='add'>+    rb_check_arity(argc, 1, UNLIMITED_ARGUMENTS);</div><div class='add'>+    self = rb_ary_at(self, *argv);</div><div class='add'>+    if (!--argc) return self;</div><div class='add'>+    ++argv;</div><div class='add'>+    return rb_obj_dig(argc, argv, self, Qnil);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static inline VALUE</div><div class='add'>+finish_exact_sum(long n, VALUE r, VALUE v, int z)</div><div class='add'>+{</div><div class='add'>+    if (n != 0)</div><div class='add'>+        v = rb_fix_plus(LONG2FIX(n), v);</div><div class='add'>+    if (r != Qundef) {</div><div class='add'>+        v = rb_rational_plus(r, v);</div><div class='add'>+    }</div><div class='add'>+    else if (!n &amp;&amp; z) {</div><div class='add'>+        v = rb_fix_plus(LONG2FIX(0), v);</div><div class='add'>+    }</div><div class='add'>+    return v;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *   array.sum(init = 0) -&gt; object</div><div class='add'>+ *   array.sum(init = 0) {|element| ... } -&gt; object</div><div class='add'>+ *</div><div class='add'>+ *  When no block is given, returns the object equivalent to:</div><div class='add'>+ *    sum = init</div><div class='add'>+ *    array.each {|element| sum += element }</div><div class='add'>+ *    sum</div><div class='add'>+ *  For example, &lt;tt&gt;[e1, e2, e3].sum&lt;/tt&gt; returns &lt;/tt&gt;init + e1 + e2 + e3&lt;/tt&gt;.</div><div class='add'>+ *</div><div class='add'>+ *  Examples:</div><div class='add'>+ *    a = [0, 1, 2, 3]</div><div class='add'>+ *    a.sum # =&gt; 6</div><div class='add'>+ *    a.sum(100) # =&gt; 106</div><div class='add'>+ *</div><div class='add'>+ *  The elements need not be numeric, but must be &lt;tt&gt;+&lt;/tt&gt;-compatible</div><div class='add'>+ *  with each other and with +init+:</div><div class='add'>+ *    a = ['abc', 'def', 'ghi']</div><div class='add'>+ *    a.sum('jkl') # =&gt; "jklabcdefghi"</div><div class='add'>+ *</div><div class='add'>+ *  When a block is given, it is called with each element</div><div class='add'>+ *  and the block's return value (instead of the element itself) is used as the addend:</div><div class='add'>+ *    a = ['zero', 1, :two]</div><div class='add'>+ *    s = a.sum('Coerced and concatenated: ') {|element| element.to_s }</div><div class='add'>+ *    s # =&gt; "Coerced and concatenated: zero1two"</div><div class='add'>+ *</div><div class='add'>+ *  Notes:</div><div class='add'>+ *  - Array#join and Array#flatten may be faster than Array#sum</div><div class='add'>+ *    for an \Array of Strings or an \Array of Arrays.</div><div class='add'>+ *  - Array#sum method may not respect method redefinition of "+" methods such as Integer#+.</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_sum(int argc, VALUE *argv, VALUE ary)</div><div class='add'>+{</div><div class='add'>+    VALUE e, v, r;</div><div class='add'>+    long i, n;</div><div class='add'>+    int block_given;</div><div class='add'>+</div><div class='add'>+    v = (rb_check_arity(argc, 0, 1) ? argv[0] : LONG2FIX(0));</div><div class='add'>+</div><div class='add'>+    block_given = rb_block_given_p();</div><div class='add'>+</div><div class='add'>+    if (RARRAY_LEN(ary) == 0)</div><div class='add'>+        return v;</div><div class='add'>+</div><div class='add'>+    n = 0;</div><div class='add'>+    r = Qundef;</div><div class='add'>+    for (i = 0; i &lt; RARRAY_LEN(ary); i++) {</div><div class='add'>+        e = RARRAY_AREF(ary, i);</div><div class='add'>+        if (block_given)</div><div class='add'>+            e = rb_yield(e);</div><div class='add'>+        if (FIXNUM_P(e)) {</div><div class='add'>+            n += FIX2LONG(e); /* should not overflow long type */</div><div class='add'>+            if (!FIXABLE(n)) {</div><div class='add'>+                v = rb_big_plus(LONG2NUM(n), v);</div><div class='add'>+                n = 0;</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+        else if (RB_TYPE_P(e, T_BIGNUM))</div><div class='add'>+            v = rb_big_plus(e, v);</div><div class='add'>+        else if (RB_TYPE_P(e, T_RATIONAL)) {</div><div class='add'>+            if (r == Qundef)</div><div class='add'>+                r = e;</div><div class='add'>+            else</div><div class='add'>+                r = rb_rational_plus(r, e);</div><div class='add'>+        }</div><div class='add'>+        else</div><div class='add'>+            goto not_exact;</div><div class='add'>+    }</div><div class='add'>+    v = finish_exact_sum(n, r, v, argc!=0);</div><div class='add'>+    return v;</div><div class='add'>+</div><div class='add'>+  not_exact:</div><div class='add'>+    v = finish_exact_sum(n, r, v, i!=0);</div><div class='add'>+</div><div class='add'>+    if (RB_FLOAT_TYPE_P(e)) {</div><div class='add'>+        /*</div><div class='add'>+         * Kahan-Babuska balancing compensated summation algorithm</div><div class='add'>+         * See https://link.springer.com/article/10.1007/s00607-005-0139-x</div><div class='add'>+         */</div><div class='add'>+        double f, c;</div><div class='add'>+        double x, t;</div><div class='add'>+</div><div class='add'>+        f = NUM2DBL(v);</div><div class='add'>+        c = 0.0;</div><div class='add'>+        goto has_float_value;</div><div class='add'>+        for (; i &lt; RARRAY_LEN(ary); i++) {</div><div class='add'>+            e = RARRAY_AREF(ary, i);</div><div class='add'>+            if (block_given)</div><div class='add'>+                e = rb_yield(e);</div><div class='add'>+            if (RB_FLOAT_TYPE_P(e))</div><div class='add'>+              has_float_value:</div><div class='add'>+                x = RFLOAT_VALUE(e);</div><div class='add'>+            else if (FIXNUM_P(e))</div><div class='add'>+                x = FIX2LONG(e);</div><div class='add'>+            else if (RB_TYPE_P(e, T_BIGNUM))</div><div class='add'>+                x = rb_big2dbl(e);</div><div class='add'>+            else if (RB_TYPE_P(e, T_RATIONAL))</div><div class='add'>+                x = rb_num2dbl(e);</div><div class='add'>+            else</div><div class='add'>+                goto not_float;</div><div class='add'>+</div><div class='add'>+            if (isnan(f)) continue;</div><div class='add'>+            if (isnan(x)) {</div><div class='add'>+                f = x;</div><div class='add'>+                continue;</div><div class='add'>+            }</div><div class='add'>+            if (isinf(x)) {</div><div class='add'>+                if (isinf(f) &amp;&amp; signbit(x) != signbit(f))</div><div class='add'>+                    f = NAN;</div><div class='add'>+                else</div><div class='add'>+                    f = x;</div><div class='add'>+                continue;</div><div class='add'>+            }</div><div class='add'>+            if (isinf(f)) continue;</div><div class='add'>+</div><div class='add'>+            t = f + x;</div><div class='add'>+            if (fabs(f) &gt;= fabs(x))</div><div class='add'>+                c += ((f - t) + x);</div><div class='add'>+            else</div><div class='add'>+                c += ((x - t) + f);</div><div class='add'>+            f = t;</div><div class='add'>+        }</div><div class='add'>+        f += c;</div><div class='add'>+        return DBL2NUM(f);</div><div class='add'>+</div><div class='add'>+      not_float:</div><div class='add'>+        v = DBL2NUM(f);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    goto has_some_value;</div><div class='add'>+    for (; i &lt; RARRAY_LEN(ary); i++) {</div><div class='add'>+        e = RARRAY_AREF(ary, i);</div><div class='add'>+        if (block_given)</div><div class='add'>+            e = rb_yield(e);</div><div class='add'>+      has_some_value:</div><div class='add'>+        v = rb_funcall(v, idPLUS, 1, e);</div><div class='add'>+    }</div><div class='ctx'>     return v;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_deconstruct(VALUE ary)</div><div class='add'>+{</div><div class='add'>+    return ary;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  An \Array is an ordered, integer-indexed collection of objects,</div><div class='add'>+ *  called _elements_.  Any object may be an \Array element.</div><div class='add'>+ *</div><div class='add'>+ *  == \Array Indexes</div><div class='add'>+ *</div><div class='add'>+ *  \Array indexing starts at 0, as in C or Java.</div><div class='add'>+ *</div><div class='add'>+ *  A positive index is an offset from the first element:</div><div class='add'>+ *  - Index 0 indicates the first element.</div><div class='add'>+ *  - Index 1 indicates the second element.</div><div class='add'>+ *  - ...</div><div class='add'>+ *</div><div class='add'>+ *  A negative index is an offset, backwards, from the end of the array:</div><div class='add'>+ *  - Index -1 indicates the last element.</div><div class='add'>+ *  - Index -2 indicates the next-to-last element.</div><div class='add'>+ *  - ...</div><div class='add'>+ *</div><div class='add'>+ *  A non-negative index is &lt;i&gt;in range&lt;/i&gt; if it is smaller than</div><div class='add'>+ *  the size of the array.  For a 3-element array:</div><div class='add'>+ *  - Indexes 0 through 2 are in range.</div><div class='add'>+ *  - Index 3 is out of range.</div><div class='add'>+ *</div><div class='add'>+ *  A negative index is &lt;i&gt;in range&lt;/i&gt; if its absolute value is</div><div class='add'>+ *  not larger than the size of the array.  For a 3-element array:</div><div class='add'>+ *  - Indexes -1 through -3 are in range.</div><div class='add'>+ *  - Index -4 is out of range.</div><div class='add'>+ *</div><div class='add'>+ *  == Creating Arrays</div><div class='add'>+ *</div><div class='add'>+ *  A new array can be created by using the literal constructor</div><div class='add'>+ *  &lt;code&gt;[]&lt;/code&gt;.  Arrays can contain different types of objects.  For</div><div class='add'>+ *  example, the array below contains an Integer, a String and a Float:</div><div class='add'>+ *</div><div class='add'>+ *     ary = [1, "two", 3.0] #=&gt; [1, "two", 3.0]</div><div class='add'>+ *</div><div class='add'>+ *  An array can also be created by explicitly calling Array.new with zero, one</div><div class='add'>+ *  (the initial size of the Array) or two arguments (the initial size and a</div><div class='add'>+ *  default object).</div><div class='add'>+ *</div><div class='add'>+ *     ary = Array.new    #=&gt; []</div><div class='add'>+ *     Array.new(3)       #=&gt; [nil, nil, nil]</div><div class='add'>+ *     Array.new(3, true) #=&gt; [true, true, true]</div><div class='add'>+ *</div><div class='add'>+ *  Note that the second argument populates the array with references to the</div><div class='add'>+ *  same object.  Therefore, it is only recommended in cases when you need to</div><div class='add'>+ *  instantiate arrays with natively immutable objects such as Symbols,</div><div class='add'>+ *  numbers, true or false.</div><div class='add'>+ *</div><div class='add'>+ *  To create an array with separate objects a block can be passed instead.</div><div class='add'>+ *  This method is safe to use with mutable objects such as hashes, strings or</div><div class='add'>+ *  other arrays:</div><div class='add'>+ *</div><div class='add'>+ *     Array.new(4) {Hash.new}    #=&gt; [{}, {}, {}, {}]</div><div class='add'>+ *     Array.new(4) {|i| i.to_s } #=&gt; ["0", "1", "2", "3"]</div><div class='add'>+ *</div><div class='add'>+ *  This is also a quick way to build up multi-dimensional arrays:</div><div class='add'>+ *</div><div class='add'>+ *     empty_table = Array.new(3) {Array.new(3)}</div><div class='add'>+ *     #=&gt; [[nil, nil, nil], [nil, nil, nil], [nil, nil, nil]]</div><div class='add'>+ *</div><div class='add'>+ *  An array can also be created by using the Array() method, provided by</div><div class='add'>+ *  Kernel, which tries to call #to_ary, then #to_a on its argument.</div><div class='add'>+ *</div><div class='add'>+ *	Array({:a =&gt; "a", :b =&gt; "b"}) #=&gt; [[:a, "a"], [:b, "b"]]</div><div class='add'>+ *</div><div class='add'>+ *  == Example Usage</div><div class='add'>+ *</div><div class='add'>+ *  In addition to the methods it mixes in through the Enumerable module, the</div><div class='add'>+ *  Array class has proprietary methods for accessing, searching and otherwise</div><div class='add'>+ *  manipulating arrays.</div><div class='add'>+ *</div><div class='add'>+ *  Some of the more common ones are illustrated below.</div><div class='add'>+ *</div><div class='add'>+ *  == Accessing Elements</div><div class='add'>+ *</div><div class='add'>+ *  Elements in an array can be retrieved using the Array#[] method.  It can</div><div class='add'>+ *  take a single integer argument (a numeric index), a pair of arguments</div><div class='add'>+ *  (start and length) or a range. Negative indices start counting from the end,</div><div class='add'>+ *  with -1 being the last element.</div><div class='add'>+ *</div><div class='add'>+ *     arr = [1, 2, 3, 4, 5, 6]</div><div class='add'>+ *     arr[2]    #=&gt; 3</div><div class='add'>+ *     arr[100]  #=&gt; nil</div><div class='add'>+ *     arr[-3]   #=&gt; 4</div><div class='add'>+ *     arr[2, 3] #=&gt; [3, 4, 5]</div><div class='add'>+ *     arr[1..4] #=&gt; [2, 3, 4, 5]</div><div class='add'>+ *     arr[1..-3] #=&gt; [2, 3, 4]</div><div class='add'>+ *</div><div class='add'>+ *  Another way to access a particular array element is by using the #at method</div><div class='add'>+ *</div><div class='add'>+ *     arr.at(0) #=&gt; 1</div><div class='add'>+ *</div><div class='add'>+ *  The #slice method works in an identical manner to Array#[].</div><div class='add'>+ *</div><div class='add'>+ *  To raise an error for indices outside of the array bounds or else to</div><div class='add'>+ *  provide a default value when that happens, you can use #fetch.</div><div class='add'>+ *</div><div class='add'>+ *     arr = ['a', 'b', 'c', 'd', 'e', 'f']</div><div class='add'>+ *     arr.fetch(100) #=&gt; IndexError: index 100 outside of array bounds: -6...6</div><div class='add'>+ *     arr.fetch(100, "oops") #=&gt; "oops"</div><div class='add'>+ *</div><div class='add'>+ *  The special methods #first and #last will return the first and last</div><div class='add'>+ *  elements of an array, respectively.</div><div class='add'>+ *</div><div class='add'>+ *     arr.first #=&gt; 1</div><div class='add'>+ *     arr.last  #=&gt; 6</div><div class='add'>+ *</div><div class='add'>+ *  To return the first +n+ elements of an array, use #take</div><div class='add'>+ *</div><div class='add'>+ *     arr.take(3) #=&gt; [1, 2, 3]</div><div class='add'>+ *</div><div class='add'>+ *  #drop does the opposite of #take, by returning the elements after +n+</div><div class='add'>+ *  elements have been dropped:</div><div class='add'>+ *</div><div class='add'>+ *     arr.drop(3) #=&gt; [4, 5, 6]</div><div class='add'>+ *</div><div class='add'>+ *  == Obtaining Information about an Array</div><div class='add'>+ *</div><div class='add'>+ *  Arrays keep track of their own length at all times.  To query an array</div><div class='add'>+ *  about the number of elements it contains, use #length, #count or #size.</div><div class='add'>+ *</div><div class='add'>+ *    browsers = ['Chrome', 'Firefox', 'Safari', 'Opera', 'IE']</div><div class='add'>+ *    browsers.length #=&gt; 5</div><div class='add'>+ *    browsers.count #=&gt; 5</div><div class='add'>+ *</div><div class='add'>+ *  To check whether an array contains any elements at all</div><div class='add'>+ *</div><div class='add'>+ *    browsers.empty? #=&gt; false</div><div class='add'>+ *</div><div class='add'>+ *  To check whether a particular item is included in the array</div><div class='add'>+ *</div><div class='add'>+ *    browsers.include?('Konqueror') #=&gt; false</div><div class='add'>+ *</div><div class='add'>+ *  == Adding Items to Arrays</div><div class='add'>+ *</div><div class='add'>+ *  Items can be added to the end of an array by using either #push or #&lt;&lt;</div><div class='add'>+ *</div><div class='add'>+ *    arr = [1, 2, 3, 4]</div><div class='add'>+ *    arr.push(5) #=&gt; [1, 2, 3, 4, 5]</div><div class='add'>+ *    arr &lt;&lt; 6    #=&gt; [1, 2, 3, 4, 5, 6]</div><div class='add'>+ *</div><div class='add'>+ *  #unshift will add a new item to the beginning of an array.</div><div class='add'>+ *</div><div class='add'>+ *     arr.unshift(0) #=&gt; [0, 1, 2, 3, 4, 5, 6]</div><div class='add'>+ *</div><div class='add'>+ *  With #insert you can add a new element to an array at any position.</div><div class='add'>+ *</div><div class='add'>+ *     arr.insert(3, 'apple')  #=&gt; [0, 1, 2, 'apple', 3, 4, 5, 6]</div><div class='add'>+ *</div><div class='add'>+ *  Using the #insert method, you can also insert multiple values at once:</div><div class='add'>+ *</div><div class='add'>+ *     arr.insert(3, 'orange', 'pear', 'grapefruit')</div><div class='add'>+ *     #=&gt; [0, 1, 2, "orange", "pear", "grapefruit", "apple", 3, 4, 5, 6]</div><div class='add'>+ *</div><div class='add'>+ *  == Removing Items from an Array</div><div class='add'>+ *</div><div class='add'>+ *  The method #pop removes the last element in an array and returns it:</div><div class='add'>+ *</div><div class='add'>+ *     arr =  [1, 2, 3, 4, 5, 6]</div><div class='add'>+ *     arr.pop #=&gt; 6</div><div class='add'>+ *     arr #=&gt; [1, 2, 3, 4, 5]</div><div class='add'>+ *</div><div class='add'>+ *  To retrieve and at the same time remove the first item, use #shift:</div><div class='add'>+ *</div><div class='add'>+ *     arr.shift #=&gt; 1</div><div class='add'>+ *     arr #=&gt; [2, 3, 4, 5]</div><div class='add'>+ *</div><div class='add'>+ *  To delete an element at a particular index:</div><div class='add'>+ *</div><div class='add'>+ *     arr.delete_at(2) #=&gt; 4</div><div class='add'>+ *     arr #=&gt; [2, 3, 5]</div><div class='add'>+ *</div><div class='add'>+ *  To delete a particular element anywhere in an array, use #delete:</div><div class='add'>+ *</div><div class='add'>+ *     arr = [1, 2, 2, 3]</div><div class='add'>+ *     arr.delete(2) #=&gt; 2</div><div class='add'>+ *     arr #=&gt; [1,3]</div><div class='add'>+ *</div><div class='add'>+ *  A useful method if you need to remove +nil+ values from an array is</div><div class='add'>+ *  #compact:</div><div class='add'>+ *</div><div class='add'>+ *     arr = ['foo', 0, nil, 'bar', 7, 'baz', nil]</div><div class='add'>+ *     arr.compact  #=&gt; ['foo', 0, 'bar', 7, 'baz']</div><div class='add'>+ *     arr          #=&gt; ['foo', 0, nil, 'bar', 7, 'baz', nil]</div><div class='add'>+ *     arr.compact! #=&gt; ['foo', 0, 'bar', 7, 'baz']</div><div class='add'>+ *     arr          #=&gt; ['foo', 0, 'bar', 7, 'baz']</div><div class='add'>+ *</div><div class='add'>+ *  Another common need is to remove duplicate elements from an array.</div><div class='add'>+ *</div><div class='add'>+ *  It has the non-destructive #uniq, and destructive method #uniq!</div><div class='add'>+ *</div><div class='add'>+ *     arr = [2, 5, 6, 556, 6, 6, 8, 9, 0, 123, 556]</div><div class='add'>+ *     arr.uniq #=&gt; [2, 5, 6, 556, 8, 9, 0, 123]</div><div class='add'>+ *</div><div class='add'>+ *  == Iterating over Arrays</div><div class='add'>+ *</div><div class='add'>+ *  Like all classes that include the Enumerable module, Array has an each</div><div class='add'>+ *  method, which defines what elements should be iterated over and how.  In</div><div class='add'>+ *  case of Array's #each, all elements in the Array instance are yielded to</div><div class='add'>+ *  the supplied block in sequence.</div><div class='add'>+ *</div><div class='add'>+ *  Note that this operation leaves the array unchanged.</div><div class='add'>+ *</div><div class='add'>+ *     arr = [1, 2, 3, 4, 5]</div><div class='add'>+ *     arr.each {|a| print a -= 10, " "}</div><div class='add'>+ *     # prints: -9 -8 -7 -6 -5</div><div class='add'>+ *     #=&gt; [1, 2, 3, 4, 5]</div><div class='add'>+ *</div><div class='add'>+ *  Another sometimes useful iterator is #reverse_each which will iterate over</div><div class='add'>+ *  the elements in the array in reverse order.</div><div class='add'>+ *</div><div class='add'>+ *     words = %w[first second third fourth fifth sixth]</div><div class='add'>+ *     str = ""</div><div class='add'>+ *     words.reverse_each {|word| str += "#{word} "}</div><div class='add'>+ *     p str #=&gt; "sixth fifth fourth third second first "</div><div class='add'>+ *</div><div class='add'>+ *  The #map method can be used to create a new array based on the original</div><div class='add'>+ *  array, but with the values modified by the supplied block:</div><div class='add'>+ *</div><div class='add'>+ *     arr.map {|a| 2*a}     #=&gt; [2, 4, 6, 8, 10]</div><div class='add'>+ *     arr                   #=&gt; [1, 2, 3, 4, 5]</div><div class='add'>+ *     arr.map! {|a| a**2}   #=&gt; [1, 4, 9, 16, 25]</div><div class='add'>+ *     arr                   #=&gt; [1, 4, 9, 16, 25]</div><div class='add'>+ *</div><div class='add'>+ *  == Selecting Items from an Array</div><div class='add'>+ *</div><div class='add'>+ *  Elements can be selected from an array according to criteria defined in a</div><div class='add'>+ *  block.  The selection can happen in a destructive or a non-destructive</div><div class='add'>+ *  manner.  While the destructive operations will modify the array they were</div><div class='add'>+ *  called on, the non-destructive methods usually return a new array with the</div><div class='add'>+ *  selected elements, but leave the original array unchanged.</div><div class='add'>+ *</div><div class='add'>+ *  === Non-destructive Selection</div><div class='add'>+ *</div><div class='add'>+ *     arr = [1, 2, 3, 4, 5, 6]</div><div class='add'>+ *     arr.select {|a| a &gt; 3}       #=&gt; [4, 5, 6]</div><div class='add'>+ *     arr.reject {|a| a &lt; 3}       #=&gt; [3, 4, 5, 6]</div><div class='add'>+ *     arr.drop_while {|a| a &lt; 4}   #=&gt; [4, 5, 6]</div><div class='add'>+ *     arr                          #=&gt; [1, 2, 3, 4, 5, 6]</div><div class='add'>+ *</div><div class='add'>+ *  === Destructive Selection</div><div class='add'>+ *</div><div class='add'>+ *  #select! and #reject! are the corresponding destructive methods to #select</div><div class='add'>+ *  and #reject</div><div class='add'>+ *</div><div class='add'>+ *  Similar to #select vs. #reject, #delete_if and #keep_if have the exact</div><div class='add'>+ *  opposite result when supplied with the same block:</div><div class='add'>+ *</div><div class='add'>+ *     arr.delete_if {|a| a &lt; 4}   #=&gt; [4, 5, 6]</div><div class='add'>+ *     arr                         #=&gt; [4, 5, 6]</div><div class='add'>+ *</div><div class='add'>+ *     arr = [1, 2, 3, 4, 5, 6]</div><div class='add'>+ *     arr.keep_if {|a| a &lt; 4}   #=&gt; [1, 2, 3]</div><div class='add'>+ *     arr                       #=&gt; [1, 2, 3]</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> void</div><div class='del'>-Init_Array()</div><div class='add'>+Init_Array(void)</div><div class='ctx'> {</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_singleton_method(rb_cArray, "new", rb_ary_s_new, -1);</div><div class='add'>+    rb_define_alloc_func(rb_cArray, empty_ary_alloc);</div><div class='ctx'>     rb_define_singleton_method(rb_cArray, "[]", rb_ary_s_create, -1);</div><div class='del'>-    rb_define_method(rb_cArray, "to_s", rb_ary_to_s, 0);</div><div class='add'>+    rb_define_singleton_method(rb_cArray, "try_convert", rb_ary_s_try_convert, 1);</div><div class='add'>+    rb_define_method(rb_cArray, "initialize", rb_ary_initialize, -1);</div><div class='add'>+    rb_define_method(rb_cArray, "initialize_copy", rb_ary_replace, 1);</div><div class='add'>+</div><div class='ctx'>     rb_define_method(rb_cArray, "inspect", rb_ary_inspect, 0);</div><div class='add'>+    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_ary", rb_ary_to_a, 0);</div><div class='del'>-</div><div class='del'>-    rb_define_method(rb_cArray, "freeze",  rb_ary_freeze, 0);</div><div class='del'>-    rb_define_method(rb_cArray, "frozen?",  rb_ary_frozen_p, 0);</div><div class='add'>+    rb_define_method(rb_cArray, "to_h", rb_ary_to_h, 0);</div><div class='add'>+    rb_define_method(rb_cArray, "to_ary", rb_ary_to_ary_m, 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='ctx'>     rb_define_method(rb_cArray, "hash", rb_ary_hash, 0);</div><div class='del'>-    rb_define_method(rb_cArray, "===", rb_ary_equal, 1);</div><div class='ctx'> </div><div class='ctx'>     rb_define_method(rb_cArray, "[]", rb_ary_aref, -1);</div><div class='ctx'>     rb_define_method(rb_cArray, "[]=", rb_ary_aset, -1);</div><div class='del'>-    rb_define_method(rb_cArray, "concat", rb_ary_concat, 1);</div><div class='add'>+    rb_define_method(rb_cArray, "at", rb_ary_at, 1);</div><div class='add'>+    rb_define_method(rb_cArray, "fetch", rb_ary_fetch, -1);</div><div class='add'>+    rb_define_method(rb_cArray, "first", rb_ary_first, -1);</div><div class='add'>+    rb_define_method(rb_cArray, "last", rb_ary_last, -1);</div><div class='add'>+    rb_define_method(rb_cArray, "concat", rb_ary_concat_multi, -1);</div><div class='add'>+    rb_define_method(rb_cArray, "union", rb_ary_union_multi, -1);</div><div class='add'>+    rb_define_method(rb_cArray, "difference", rb_ary_difference_multi, -1);</div><div class='add'>+    rb_define_method(rb_cArray, "intersection", rb_ary_intersection_multi, -1);</div><div class='ctx'>     rb_define_method(rb_cArray, "&lt;&lt;", rb_ary_push, 1);</div><div class='del'>-    rb_define_method(rb_cArray, "push", rb_ary_push_method, -1);</div><div class='del'>-    rb_define_method(rb_cArray, "pop", rb_ary_pop, 0);</div><div class='del'>-    rb_define_method(rb_cArray, "shift", rb_ary_shift, 0);</div><div class='del'>-    rb_define_method(rb_cArray, "unshift", rb_ary_unshift, 1);</div><div class='add'>+    rb_define_method(rb_cArray, "push", rb_ary_push_m, -1);</div><div class='add'>+    rb_define_alias(rb_cArray,  "append", "push");</div><div class='add'>+    rb_define_method(rb_cArray, "pop", rb_ary_pop_m, -1);</div><div class='add'>+    rb_define_method(rb_cArray, "shift", rb_ary_shift_m, -1);</div><div class='add'>+    rb_define_method(rb_cArray, "unshift", rb_ary_unshift_m, -1);</div><div class='add'>+    rb_define_alias(rb_cArray,  "prepend", "unshift");</div><div class='add'>+    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='ctx'>     rb_define_method(rb_cArray, "reverse_each", rb_ary_reverse_each, 0);</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, "index", rb_ary_index, 1);</div><div class='del'>-    rb_define_method(rb_cArray, "rindex", rb_ary_rindex, 1);</div><div class='del'>-    rb_define_method(rb_cArray, "indexes", rb_ary_indexes, -1);</div><div class='del'>-    rb_define_method(rb_cArray, "indices", rb_ary_indexes, -1);</div><div class='del'>-    rb_define_method(rb_cArray, "clone", rb_ary_clone, 0);</div><div class='del'>-    rb_define_method(rb_cArray, "dup", rb_ary_dup, 0);</div><div class='del'>-    rb_define_method(rb_cArray, "join", rb_ary_join_method, -1);</div><div class='del'>-    rb_define_method(rb_cArray, "reverse", rb_ary_reverse_method, 0);</div><div class='del'>-    rb_define_method(rb_cArray, "reverse!", rb_ary_reverse, 0);</div><div class='add'>+    rb_define_method(rb_cArray, "find_index", rb_ary_index, -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, "join", rb_ary_join_m, -1);</div><div class='add'>+    rb_define_method(rb_cArray, "reverse", rb_ary_reverse_m, 0);</div><div class='add'>+    rb_define_method(rb_cArray, "reverse!", rb_ary_reverse_bang, 0);</div><div class='add'>+    rb_define_method(rb_cArray, "rotate", rb_ary_rotate_m, -1);</div><div class='add'>+    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='add'>+    rb_define_method(rb_cArray, "sort_by!", rb_ary_sort_by_bang, 0);</div><div class='add'>+    rb_define_method(rb_cArray, "collect", rb_ary_collect, 0);</div><div class='add'>+    rb_define_method(rb_cArray, "collect!", rb_ary_collect_bang, 0);</div><div class='add'>+    rb_define_method(rb_cArray, "map", rb_ary_collect, 0);</div><div class='add'>+    rb_define_method(rb_cArray, "map!", rb_ary_collect_bang, 0);</div><div class='add'>+    rb_define_method(rb_cArray, "select", rb_ary_select, 0);</div><div class='add'>+    rb_define_method(rb_cArray, "select!", rb_ary_select_bang, 0);</div><div class='add'>+    rb_define_method(rb_cArray, "filter", rb_ary_select, 0);</div><div class='add'>+    rb_define_method(rb_cArray, "filter!", rb_ary_select_bang, 0);</div><div class='add'>+    rb_define_method(rb_cArray, "keep_if", rb_ary_keep_if, 0);</div><div class='add'>+    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='del'>-    rb_define_method(rb_cArray, "delete_at", rb_ary_delete_at, 1);</div><div class='add'>+    rb_define_method(rb_cArray, "delete_at", rb_ary_delete_at_m, 1);</div><div class='ctx'>     rb_define_method(rb_cArray, "delete_if", rb_ary_delete_if, 0);</div><div class='del'>-    rb_define_method(rb_cArray, "reject!", rb_ary_delete_if, 0);</div><div class='del'>-    rb_define_method(rb_cArray, "filter", rb_ary_filter, 0);</div><div class='del'>-    rb_define_method(rb_cArray, "replace", rb_ary_replace_method, 1);</div><div class='add'>+    rb_define_method(rb_cArray, "reject", rb_ary_reject, 0);</div><div class='add'>+    rb_define_method(rb_cArray, "reject!", rb_ary_reject_bang, 0);</div><div class='add'>+    rb_define_method(rb_cArray, "zip", rb_ary_zip, -1);</div><div class='add'>+    rb_define_method(rb_cArray, "transpose", rb_ary_transpose, 0);</div><div class='add'>+    rb_define_method(rb_cArray, "replace", rb_ary_replace, 1);</div><div class='ctx'>     rb_define_method(rb_cArray, "clear", rb_ary_clear, 0);</div><div class='ctx'>     rb_define_method(rb_cArray, "fill", rb_ary_fill, -1);</div><div class='ctx'>     rb_define_method(rb_cArray, "include?", rb_ary_includes, 1);</div><div class='ctx'>     rb_define_method(rb_cArray, "&lt;=&gt;", rb_ary_cmp, 1);</div><div class='ctx'> </div><div class='add'>+    rb_define_method(rb_cArray, "slice", rb_ary_aref, -1);</div><div class='add'>+    rb_define_method(rb_cArray, "slice!", rb_ary_slice_bang, -1);</div><div class='add'>+</div><div class='ctx'>     rb_define_method(rb_cArray, "assoc", rb_ary_assoc, 1);</div><div class='ctx'>     rb_define_method(rb_cArray, "rassoc", rb_ary_rassoc, 1);</div><div class='ctx'> </div><div class='hunk'>@@ -1489,13 +8169,38 @@ Init_Array()</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='add'>+    rb_define_method(rb_cArray, "max", rb_ary_max, -1);</div><div class='add'>+    rb_define_method(rb_cArray, "min", rb_ary_min, -1);</div><div class='add'>+    rb_define_method(rb_cArray, "minmax", rb_ary_minmax, 0);</div><div class='add'>+</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, 0);</div><div class='del'>-    rb_define_method(rb_cArray, "flatten!", rb_ary_flatten_bang, 0);</div><div class='del'>-    rb_define_method(rb_cArray, "nitems", rb_ary_nitems, 0);</div><div class='del'>-</div><div class='del'>-    cmp = rb_intern("&lt;=&gt;");</div><div class='add'>+    rb_define_method(rb_cArray, "flatten", rb_ary_flatten, -1);</div><div class='add'>+    rb_define_method(rb_cArray, "flatten!", rb_ary_flatten_bang, -1);</div><div class='add'>+    rb_define_method(rb_cArray, "count", rb_ary_count, -1);</div><div class='add'>+    rb_define_method(rb_cArray, "cycle", rb_ary_cycle, -1);</div><div class='add'>+    rb_define_method(rb_cArray, "permutation", rb_ary_permutation, -1);</div><div class='add'>+    rb_define_method(rb_cArray, "combination", rb_ary_combination, 1);</div><div class='add'>+    rb_define_method(rb_cArray, "repeated_permutation", rb_ary_repeated_permutation, 1);</div><div class='add'>+    rb_define_method(rb_cArray, "repeated_combination", rb_ary_repeated_combination, 1);</div><div class='add'>+    rb_define_method(rb_cArray, "product", rb_ary_product, -1);</div><div class='add'>+</div><div class='add'>+    rb_define_method(rb_cArray, "take", rb_ary_take, 1);</div><div class='add'>+    rb_define_method(rb_cArray, "take_while", rb_ary_take_while, 0);</div><div class='add'>+    rb_define_method(rb_cArray, "drop", rb_ary_drop, 1);</div><div class='add'>+    rb_define_method(rb_cArray, "drop_while", rb_ary_drop_while, 0);</div><div class='add'>+    rb_define_method(rb_cArray, "bsearch", rb_ary_bsearch, 0);</div><div class='add'>+    rb_define_method(rb_cArray, "bsearch_index", rb_ary_bsearch_index, 0);</div><div class='add'>+    rb_define_method(rb_cArray, "any?", rb_ary_any_p, -1);</div><div class='add'>+    rb_define_method(rb_cArray, "all?", rb_ary_all_p, -1);</div><div class='add'>+    rb_define_method(rb_cArray, "none?", rb_ary_none_p, -1);</div><div class='add'>+    rb_define_method(rb_cArray, "one?", rb_ary_one_p, -1);</div><div class='add'>+    rb_define_method(rb_cArray, "dig", rb_ary_dig, -1);</div><div class='add'>+    rb_define_method(rb_cArray, "sum", rb_ary_sum, -1);</div><div class='add'>+</div><div class='add'>+    rb_define_method(rb_cArray, "deconstruct", rb_ary_deconstruct, 0);</div><div class='ctx'> }</div><div class='add'>+</div><div class='add'>+#include "array.rbinc"</div><div class='head'>diff --git a/array.rb b/array.rb<br/>new file mode 100644<br/>index 0000000000..a43a3b27b1<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/array.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>array.rb</a></div><div class='hunk'>@@ -0,0 +1,61 @@</div><div class='add'>+class Array</div><div class='add'>+  # call-seq:</div><div class='add'>+  #    array.shuffle!(random: Random) -&gt; array</div><div class='add'>+  #</div><div class='add'>+  # Shuffles the elements of +self+ in place.</div><div class='add'>+  #    a = [1, 2, 3] #=&gt; [1, 2, 3]</div><div class='add'>+  #    a.shuffle!    #=&gt; [2, 3, 1]</div><div class='add'>+  #    a             #=&gt; [2, 3, 1]</div><div class='add'>+  #</div><div class='add'>+  # The optional +random+ argument will be used as the random number generator:</div><div class='add'>+  #    a.shuffle!(random: Random.new(1))  #=&gt; [1, 3, 2]</div><div class='add'>+  def shuffle!(random: Random)</div><div class='add'>+    Primitive.rb_ary_shuffle_bang(random)</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  # call-seq:</div><div class='add'>+  #    array.shuffle(random: Random) -&gt; new_ary</div><div class='add'>+  #</div><div class='add'>+  # Returns a new array with elements of +self+ shuffled.</div><div class='add'>+  #    a = [1, 2, 3] #=&gt; [1, 2, 3]</div><div class='add'>+  #    a.shuffle     #=&gt; [2, 3, 1]</div><div class='add'>+  #    a             #=&gt; [1, 2, 3]</div><div class='add'>+  #</div><div class='add'>+  # The optional +random+ argument will be used as the random number generator:</div><div class='add'>+  #    a.shuffle(random: Random.new(1))  #=&gt; [1, 3, 2]</div><div class='add'>+  def shuffle(random: Random)</div><div class='add'>+    Primitive.rb_ary_shuffle(random)</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  # call-seq:</div><div class='add'>+  #    array.sample(random: Random) -&gt; object</div><div class='add'>+  #    array.sample(n, random: Random) -&gt; new_ary</div><div class='add'>+  #</div><div class='add'>+  # Returns random elements from +self+.</div><div class='add'>+  #</div><div class='add'>+  # When no arguments are given, returns a random element from +self+:</div><div class='add'>+  #    a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]</div><div class='add'>+  #    a.sample # =&gt; 3</div><div class='add'>+  #    a.sample # =&gt; 8</div><div class='add'>+  # If +self+ is empty, returns +nil+.</div><div class='add'>+  #</div><div class='add'>+  # When argument +n+ is given, returns a new \Array containing +n+ random</div><div class='add'>+  # elements from +self+:</div><div class='add'>+  #    a.sample(3) # =&gt; [8, 9, 2]</div><div class='add'>+  #    a.sample(6) # =&gt; [9, 6, 10, 3, 1, 4]</div><div class='add'>+  # Returns no more than &lt;tt&gt;a.size&lt;/tt&gt; elements</div><div class='add'>+  # (because no new duplicates are introduced):</div><div class='add'>+  #    a.sample(a.size * 2) # =&gt; [6, 4, 1, 8, 5, 9, 10, 2, 3, 7]</div><div class='add'>+  # But +self+ may contain duplicates:</div><div class='add'>+  #    a = [1, 1, 1, 2, 2, 3]</div><div class='add'>+  #    a.sample(a.size * 2) # =&gt; [1, 1, 3, 2, 1, 2]</div><div class='add'>+  # Returns a new empty \Array if +self+ is empty.</div><div class='add'>+  #</div><div class='add'>+  # The optional +random+ argument will be used as the random number generator:</div><div class='add'>+  #    a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]</div><div class='add'>+  #    a.sample(random: Random.new(1))     #=&gt; 6</div><div class='add'>+  #    a.sample(4, random: Random.new(1))  #=&gt; [6, 10, 9, 2]</div><div class='add'>+  def sample(n = (ary = false), random: Random)</div><div class='add'>+    Primitive.rb_ary_sample(random, n, ary)</div><div class='add'>+  end</div><div class='add'>+end</div><div class='head'>diff --git a/ast.c b/ast.c<br/>new file mode 100644<br/>index 0000000000..2af0b3e530<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/ast.c?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>ast.c</a></div><div class='hunk'>@@ -0,0 +1,699 @@</div><div class='add'>+/* indent-tabs-mode: nil */</div><div class='add'>+#include "internal.h"</div><div class='add'>+#include "internal/parse.h"</div><div class='add'>+#include "internal/symbol.h"</div><div class='add'>+#include "internal/warnings.h"</div><div class='add'>+#include "iseq.h"</div><div class='add'>+#include "node.h"</div><div class='add'>+#include "ruby.h"</div><div class='add'>+#include "ruby/encoding.h"</div><div class='add'>+#include "ruby/util.h"</div><div class='add'>+#include "vm_core.h"</div><div class='add'>+</div><div class='add'>+#include "builtin.h"</div><div class='add'>+</div><div class='add'>+static VALUE rb_mAST;</div><div class='add'>+static VALUE rb_cNode;</div><div class='add'>+</div><div class='add'>+struct ASTNodeData {</div><div class='add'>+    rb_ast_t *ast;</div><div class='add'>+    const NODE *node;</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+node_gc_mark(void *ptr)</div><div class='add'>+{</div><div class='add'>+    struct ASTNodeData *data = (struct ASTNodeData *)ptr;</div><div class='add'>+    rb_gc_mark((VALUE)data-&gt;ast);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static size_t</div><div class='add'>+node_memsize(const void *ptr)</div><div class='add'>+{</div><div class='add'>+    struct ASTNodeData *data = (struct ASTNodeData *)ptr;</div><div class='add'>+    return rb_ast_memsize(data-&gt;ast);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static const rb_data_type_t rb_node_type = {</div><div class='add'>+    "AST/node",</div><div class='add'>+    {node_gc_mark, RUBY_TYPED_DEFAULT_FREE, node_memsize,},</div><div class='add'>+    0, 0,</div><div class='add'>+    RUBY_TYPED_FREE_IMMEDIATELY,</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+static VALUE rb_ast_node_alloc(VALUE klass);</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+setup_node(VALUE obj, rb_ast_t *ast, const NODE *node)</div><div class='add'>+{</div><div class='add'>+    struct ASTNodeData *data;</div><div class='add'>+</div><div class='add'>+    TypedData_Get_Struct(obj, struct ASTNodeData, &amp;rb_node_type, data);</div><div class='add'>+    data-&gt;ast = ast;</div><div class='add'>+    data-&gt;node = node;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ast_new_internal(rb_ast_t *ast, const NODE *node)</div><div class='add'>+{</div><div class='add'>+    VALUE obj;</div><div class='add'>+</div><div class='add'>+    obj = rb_ast_node_alloc(rb_cNode);</div><div class='add'>+    setup_node(obj, ast, node);</div><div class='add'>+</div><div class='add'>+    return obj;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE rb_ast_parse_str(VALUE str);</div><div class='add'>+static VALUE rb_ast_parse_file(VALUE path);</div><div class='add'>+static VALUE rb_ast_parse_array(VALUE array);</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ast_parse_new(void)</div><div class='add'>+{</div><div class='add'>+    return rb_parser_set_context(rb_parser_new(), NULL, 0);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ast_parse_done(rb_ast_t *ast)</div><div class='add'>+{</div><div class='add'>+    if (!ast-&gt;body.root) {</div><div class='add'>+        rb_ast_dispose(ast);</div><div class='add'>+        rb_exc_raise(GET_EC()-&gt;errinfo);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return ast_new_internal(ast, (NODE *)ast-&gt;body.root);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ast_s_parse(rb_execution_context_t *ec, VALUE module, VALUE str)</div><div class='add'>+{</div><div class='add'>+    return rb_ast_parse_str(str);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ast_parse_str(VALUE str)</div><div class='add'>+{</div><div class='add'>+    rb_ast_t *ast = 0;</div><div class='add'>+</div><div class='add'>+    StringValue(str);</div><div class='add'>+    ast = rb_parser_compile_string_path(ast_parse_new(), Qnil, str, 1);</div><div class='add'>+    return ast_parse_done(ast);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ast_s_parse_file(rb_execution_context_t *ec, VALUE module, VALUE path)</div><div class='add'>+{</div><div class='add'>+    return rb_ast_parse_file(path);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ast_parse_file(VALUE path)</div><div class='add'>+{</div><div class='add'>+    VALUE f;</div><div class='add'>+    rb_ast_t *ast = 0;</div><div class='add'>+    rb_encoding *enc = rb_utf8_encoding();</div><div class='add'>+</div><div class='add'>+    FilePathValue(path);</div><div class='add'>+    f = rb_file_open_str(path, "r");</div><div class='add'>+    rb_funcall(f, rb_intern("set_encoding"), 2, rb_enc_from_encoding(enc), rb_str_new_cstr("-"));</div><div class='add'>+    ast = rb_parser_compile_file_path(ast_parse_new(), Qnil, f, 1);</div><div class='add'>+    rb_io_close(f);</div><div class='add'>+    return ast_parse_done(ast);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+lex_array(VALUE array, int index)</div><div class='add'>+{</div><div class='add'>+    VALUE str = rb_ary_entry(array, index);</div><div class='add'>+    if (!NIL_P(str)) {</div><div class='add'>+        StringValue(str);</div><div class='add'>+        if (!rb_enc_asciicompat(rb_enc_get(str))) {</div><div class='add'>+            rb_raise(rb_eArgError, "invalid source encoding");</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    return str;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ast_parse_array(VALUE array)</div><div class='add'>+{</div><div class='add'>+    rb_ast_t *ast = 0;</div><div class='add'>+</div><div class='add'>+    array = rb_check_array_type(array);</div><div class='add'>+    ast = rb_parser_compile_generic(ast_parse_new(), lex_array, Qnil, array, 1);</div><div class='add'>+    return ast_parse_done(ast);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE node_children(rb_ast_t*, const NODE*);</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+node_find(VALUE self, const int node_id)</div><div class='add'>+{</div><div class='add'>+    VALUE ary;</div><div class='add'>+    long i;</div><div class='add'>+    struct ASTNodeData *data;</div><div class='add'>+    TypedData_Get_Struct(self, struct ASTNodeData, &amp;rb_node_type, data);</div><div class='add'>+</div><div class='add'>+    if (nd_node_id(data-&gt;node) == node_id) return self;</div><div class='add'>+</div><div class='add'>+    ary = node_children(data-&gt;ast, data-&gt;node);</div><div class='add'>+</div><div class='add'>+    for (i = 0; i &lt; RARRAY_LEN(ary); i++) {</div><div class='add'>+        VALUE child = RARRAY_AREF(ary, i);</div><div class='add'>+</div><div class='add'>+        if (CLASS_OF(child) == rb_cNode) {</div><div class='add'>+            VALUE result = node_find(child, node_id);</div><div class='add'>+            if (RTEST(result)) return result;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return Qnil;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+extern VALUE rb_e_script;</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+script_lines(VALUE path)</div><div class='add'>+{</div><div class='add'>+    VALUE hash, lines;</div><div class='add'>+    ID script_lines;</div><div class='add'>+    CONST_ID(script_lines, "SCRIPT_LINES__");</div><div class='add'>+    if (!rb_const_defined_at(rb_cObject, script_lines)) return Qnil;</div><div class='add'>+    hash = rb_const_get_at(rb_cObject, script_lines);</div><div class='add'>+    if (!RB_TYPE_P(hash, T_HASH)) return Qnil;</div><div class='add'>+    lines = rb_hash_lookup(hash, path);</div><div class='add'>+    if (!RB_TYPE_P(lines, T_ARRAY)) return Qnil;</div><div class='add'>+    return lines;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ast_s_of(rb_execution_context_t *ec, VALUE module, VALUE body)</div><div class='add'>+{</div><div class='add'>+    VALUE path, node, lines;</div><div class='add'>+    int node_id;</div><div class='add'>+    const rb_iseq_t *iseq = NULL;</div><div class='add'>+</div><div class='add'>+    if (rb_obj_is_proc(body)) {</div><div class='add'>+        iseq = vm_proc_iseq(body);</div><div class='add'>+</div><div class='add'>+        if (!rb_obj_is_iseq((VALUE)iseq)) {</div><div class='add'>+            iseq = NULL;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        iseq = rb_method_iseq(body);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (!iseq) return Qnil;</div><div class='add'>+</div><div class='add'>+    path = rb_iseq_path(iseq);</div><div class='add'>+    node_id = iseq-&gt;body-&gt;location.node_id;</div><div class='add'>+    if (!NIL_P(lines = script_lines(path))) {</div><div class='add'>+        node = rb_ast_parse_array(lines);</div><div class='add'>+    }</div><div class='add'>+    else if (RSTRING_LEN(path) == 2 &amp;&amp; memcmp(RSTRING_PTR(path), "-e", 2) == 0) {</div><div class='add'>+        node = rb_ast_parse_str(rb_e_script);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        node = rb_ast_parse_file(path);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return node_find(node, node_id);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ast_node_alloc(VALUE klass)</div><div class='add'>+{</div><div class='add'>+    struct ASTNodeData *data;</div><div class='add'>+    VALUE obj = TypedData_Make_Struct(klass, struct ASTNodeData, &amp;rb_node_type, data);</div><div class='add'>+</div><div class='add'>+    return obj;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static const char*</div><div class='add'>+node_type_to_str(const NODE *node)</div><div class='add'>+{</div><div class='add'>+    return (ruby_node_name(nd_type(node)) + rb_strlen_lit("NODE_"));</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ast_node_type(rb_execution_context_t *ec, VALUE self)</div><div class='add'>+{</div><div class='add'>+    struct ASTNodeData *data;</div><div class='add'>+    TypedData_Get_Struct(self, struct ASTNodeData, &amp;rb_node_type, data);</div><div class='add'>+</div><div class='add'>+    return rb_sym_intern_ascii_cstr(node_type_to_str(data-&gt;node));</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#define NEW_CHILD(ast, node) node ? ast_new_internal(ast, node) : Qnil</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ary_new_from_node_args(rb_ast_t *ast, long n, ...)</div><div class='add'>+{</div><div class='add'>+    va_list ar;</div><div class='add'>+    VALUE ary;</div><div class='add'>+    long i;</div><div class='add'>+</div><div class='add'>+    ary = rb_ary_new2(n);</div><div class='add'>+</div><div class='add'>+    va_start(ar, n);</div><div class='add'>+    for (i=0; i&lt;n; i++) {</div><div class='add'>+        NODE *node;</div><div class='add'>+        node = va_arg(ar, NODE *);</div><div class='add'>+        rb_ary_push(ary, NEW_CHILD(ast, node));</div><div class='add'>+    }</div><div class='add'>+    va_end(ar);</div><div class='add'>+    return ary;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+dump_block(rb_ast_t *ast, const NODE *node)</div><div class='add'>+{</div><div class='add'>+    VALUE ary = rb_ary_new();</div><div class='add'>+    do {</div><div class='add'>+        rb_ary_push(ary, NEW_CHILD(ast, node-&gt;nd_head));</div><div class='add'>+    } while (node-&gt;nd_next &amp;&amp;</div><div class='add'>+        nd_type(node-&gt;nd_next) == NODE_BLOCK &amp;&amp;</div><div class='add'>+        (node = node-&gt;nd_next, 1));</div><div class='add'>+    if (node-&gt;nd_next) {</div><div class='add'>+        rb_ary_push(ary, NEW_CHILD(ast, node-&gt;nd_next));</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return ary;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+dump_array(rb_ast_t *ast, const NODE *node)</div><div class='add'>+{</div><div class='add'>+    VALUE ary = rb_ary_new();</div><div class='add'>+    rb_ary_push(ary, NEW_CHILD(ast, node-&gt;nd_head));</div><div class='add'>+</div><div class='add'>+    while (node-&gt;nd_next &amp;&amp; nd_type(node-&gt;nd_next) == NODE_LIST) {</div><div class='add'>+        node = node-&gt;nd_next;</div><div class='add'>+        rb_ary_push(ary, NEW_CHILD(ast, node-&gt;nd_head));</div><div class='add'>+    }</div><div class='add'>+    rb_ary_push(ary, NEW_CHILD(ast, node-&gt;nd_next));</div><div class='add'>+</div><div class='add'>+    return ary;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+var_name(ID id)</div><div class='add'>+{</div><div class='add'>+    if (!id) return Qnil;</div><div class='add'>+    if (!rb_id2str(id)) return Qnil;</div><div class='add'>+    return ID2SYM(id);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+no_name_rest(void)</div><div class='add'>+{</div><div class='add'>+    ID rest;</div><div class='add'>+    CONST_ID(rest, "NODE_SPECIAL_NO_NAME_REST");</div><div class='add'>+    return ID2SYM(rest);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rest_arg(rb_ast_t *ast, const NODE *rest_arg)</div><div class='add'>+{</div><div class='add'>+    return NODE_NAMED_REST_P(rest_arg) ? NEW_CHILD(ast, rest_arg) : no_name_rest();</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+node_children(rb_ast_t *ast, const NODE *node)</div><div class='add'>+{</div><div class='add'>+    char name[DECIMAL_SIZE_OF_BITS(sizeof(long) * CHAR_BIT) + 2]; /* including '$' */</div><div class='add'>+</div><div class='add'>+    enum node_type type = nd_type(node);</div><div class='add'>+    switch (type) {</div><div class='add'>+      case NODE_BLOCK:</div><div class='add'>+        return dump_block(ast, node);</div><div class='add'>+      case NODE_IF:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 3, node-&gt;nd_cond, node-&gt;nd_body, node-&gt;nd_else);</div><div class='add'>+      case NODE_UNLESS:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 3, node-&gt;nd_cond, node-&gt;nd_body, node-&gt;nd_else);</div><div class='add'>+      case NODE_CASE:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 2, node-&gt;nd_head, node-&gt;nd_body);</div><div class='add'>+      case NODE_CASE2:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 2, node-&gt;nd_head, node-&gt;nd_body);</div><div class='add'>+      case NODE_CASE3:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 2, node-&gt;nd_head, node-&gt;nd_body);</div><div class='add'>+      case NODE_WHEN:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 3, node-&gt;nd_head, node-&gt;nd_body, node-&gt;nd_next);</div><div class='add'>+      case NODE_IN:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 3, node-&gt;nd_head, node-&gt;nd_body, node-&gt;nd_next);</div><div class='add'>+      case NODE_WHILE:</div><div class='add'>+      case NODE_UNTIL:</div><div class='add'>+        return rb_ary_push(rb_ary_new_from_node_args(ast, 2, node-&gt;nd_cond, node-&gt;nd_body),</div><div class='add'>+                           (node-&gt;nd_state ? Qtrue : Qfalse));</div><div class='add'>+      case NODE_ITER:</div><div class='add'>+      case NODE_FOR:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 2, node-&gt;nd_iter, node-&gt;nd_body);</div><div class='add'>+      case NODE_FOR_MASGN:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 1, node-&gt;nd_var);</div><div class='add'>+      case NODE_BREAK:</div><div class='add'>+      case NODE_NEXT:</div><div class='add'>+      case NODE_RETURN:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 1, node-&gt;nd_stts);</div><div class='add'>+      case NODE_REDO:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 0);</div><div class='add'>+      case NODE_RETRY:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 0);</div><div class='add'>+      case NODE_BEGIN:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 1, node-&gt;nd_body);</div><div class='add'>+      case NODE_RESCUE:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 3, node-&gt;nd_head, node-&gt;nd_resq, node-&gt;nd_else);</div><div class='add'>+      case NODE_RESBODY:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 3, node-&gt;nd_args, node-&gt;nd_body, node-&gt;nd_head);</div><div class='add'>+      case NODE_ENSURE:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 2, node-&gt;nd_head, node-&gt;nd_ensr);</div><div class='add'>+      case NODE_AND:</div><div class='add'>+      case NODE_OR:</div><div class='add'>+        {</div><div class='add'>+            VALUE ary = rb_ary_new();</div><div class='add'>+</div><div class='add'>+            while (1) {</div><div class='add'>+                rb_ary_push(ary, NEW_CHILD(ast, node-&gt;nd_1st));</div><div class='add'>+                if (!node-&gt;nd_2nd || nd_type(node-&gt;nd_2nd) != (int)type)</div><div class='add'>+                    break;</div><div class='add'>+                node = node-&gt;nd_2nd;</div><div class='add'>+            }</div><div class='add'>+            rb_ary_push(ary, NEW_CHILD(ast, node-&gt;nd_2nd));</div><div class='add'>+            return ary;</div><div class='add'>+        }</div><div class='add'>+      case NODE_MASGN:</div><div class='add'>+        if (NODE_NAMED_REST_P(node-&gt;nd_args)) {</div><div class='add'>+            return rb_ary_new_from_node_args(ast, 3, node-&gt;nd_value, node-&gt;nd_head, node-&gt;nd_args);</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            return rb_ary_new_from_args(3, NEW_CHILD(ast, node-&gt;nd_value),</div><div class='add'>+                                        NEW_CHILD(ast, node-&gt;nd_head),</div><div class='add'>+                                        no_name_rest());</div><div class='add'>+        }</div><div class='add'>+      case NODE_LASGN:</div><div class='add'>+      case NODE_DASGN:</div><div class='add'>+      case NODE_DASGN_CURR:</div><div class='add'>+      case NODE_IASGN:</div><div class='add'>+      case NODE_CVASGN:</div><div class='add'>+      case NODE_GASGN:</div><div class='add'>+        if (NODE_REQUIRED_KEYWORD_P(node)) {</div><div class='add'>+            return rb_ary_new_from_args(2, var_name(node-&gt;nd_vid), ID2SYM(rb_intern("NODE_SPECIAL_REQUIRED_KEYWORD")));</div><div class='add'>+        }</div><div class='add'>+        return rb_ary_new_from_args(2, var_name(node-&gt;nd_vid), NEW_CHILD(ast, node-&gt;nd_value));</div><div class='add'>+      case NODE_CDECL:</div><div class='add'>+        if (node-&gt;nd_vid) {</div><div class='add'>+            return rb_ary_new_from_args(2, ID2SYM(node-&gt;nd_vid), NEW_CHILD(ast, node-&gt;nd_value));</div><div class='add'>+        }</div><div class='add'>+        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='add'>+      case NODE_OP_ASGN1:</div><div class='add'>+        return rb_ary_new_from_args(4, NEW_CHILD(ast, node-&gt;nd_recv),</div><div class='add'>+                                    ID2SYM(node-&gt;nd_mid),</div><div class='add'>+                                    NEW_CHILD(ast, node-&gt;nd_args-&gt;nd_head),</div><div class='add'>+                                    NEW_CHILD(ast, node-&gt;nd_args-&gt;nd_body));</div><div class='add'>+      case NODE_OP_ASGN2:</div><div class='add'>+        return rb_ary_new_from_args(5, NEW_CHILD(ast, node-&gt;nd_recv),</div><div class='add'>+                                    node-&gt;nd_next-&gt;nd_aid ? Qtrue : Qfalse,</div><div class='add'>+                                    ID2SYM(node-&gt;nd_next-&gt;nd_vid),</div><div class='add'>+                                    ID2SYM(node-&gt;nd_next-&gt;nd_mid),</div><div class='add'>+                                    NEW_CHILD(ast, node-&gt;nd_value));</div><div class='add'>+      case NODE_OP_ASGN_AND:</div><div class='add'>+        return rb_ary_new_from_args(3, NEW_CHILD(ast, node-&gt;nd_head), ID2SYM(idANDOP),</div><div class='add'>+                                    NEW_CHILD(ast, node-&gt;nd_value));</div><div class='add'>+      case NODE_OP_ASGN_OR:</div><div class='add'>+        return rb_ary_new_from_args(3, NEW_CHILD(ast, node-&gt;nd_head), ID2SYM(idOROP),</div><div class='add'>+                                    NEW_CHILD(ast, node-&gt;nd_value));</div><div class='add'>+      case NODE_OP_CDECL:</div><div class='add'>+        return rb_ary_new_from_args(3, NEW_CHILD(ast, node-&gt;nd_head),</div><div class='add'>+                                    ID2SYM(node-&gt;nd_aid),</div><div class='add'>+                                    NEW_CHILD(ast, node-&gt;nd_value));</div><div class='add'>+      case NODE_CALL:</div><div class='add'>+      case NODE_OPCALL:</div><div class='add'>+      case NODE_QCALL:</div><div class='add'>+        return rb_ary_new_from_args(3, NEW_CHILD(ast, node-&gt;nd_recv),</div><div class='add'>+                                    ID2SYM(node-&gt;nd_mid),</div><div class='add'>+                                    NEW_CHILD(ast, node-&gt;nd_args));</div><div class='add'>+      case NODE_FCALL:</div><div class='add'>+        return rb_ary_new_from_args(2, ID2SYM(node-&gt;nd_mid),</div><div class='add'>+                                    NEW_CHILD(ast, node-&gt;nd_args));</div><div class='add'>+      case NODE_VCALL:</div><div class='add'>+        return rb_ary_new_from_args(1, ID2SYM(node-&gt;nd_mid));</div><div class='add'>+      case NODE_SUPER:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 1, node-&gt;nd_args);</div><div class='add'>+      case NODE_ZSUPER:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 0);</div><div class='add'>+      case NODE_LIST:</div><div class='add'>+      case NODE_VALUES:</div><div class='add'>+        return dump_array(ast, node);</div><div class='add'>+      case NODE_ZLIST:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 0);</div><div class='add'>+      case NODE_HASH:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 1, node-&gt;nd_head);</div><div class='add'>+      case NODE_YIELD:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 1, node-&gt;nd_head);</div><div class='add'>+      case NODE_LVAR:</div><div class='add'>+      case NODE_DVAR:</div><div class='add'>+        return rb_ary_new_from_args(1, var_name(node-&gt;nd_vid));</div><div class='add'>+      case NODE_IVAR:</div><div class='add'>+      case NODE_CONST:</div><div class='add'>+      case NODE_CVAR:</div><div class='add'>+      case NODE_GVAR:</div><div class='add'>+        return rb_ary_new_from_args(1, ID2SYM(node-&gt;nd_vid));</div><div class='add'>+      case NODE_NTH_REF:</div><div class='add'>+        snprintf(name, sizeof(name), "$%ld", node-&gt;nd_nth);</div><div class='add'>+        return rb_ary_new_from_args(1, ID2SYM(rb_intern(name)));</div><div class='add'>+      case NODE_BACK_REF:</div><div class='add'>+        name[0] = '$';</div><div class='add'>+        name[1] = (char)node-&gt;nd_nth;</div><div class='add'>+        name[2] = '\0';</div><div class='add'>+        return rb_ary_new_from_args(1, ID2SYM(rb_intern(name)));</div><div class='add'>+      case NODE_MATCH2:</div><div class='add'>+        if (node-&gt;nd_args) {</div><div class='add'>+            return rb_ary_new_from_node_args(ast, 3, node-&gt;nd_recv, node-&gt;nd_value, node-&gt;nd_args);</div><div class='add'>+        }</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 2, node-&gt;nd_recv, node-&gt;nd_value);</div><div class='add'>+      case NODE_MATCH3:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 2, node-&gt;nd_recv, node-&gt;nd_value);</div><div class='add'>+      case NODE_MATCH:</div><div class='add'>+      case NODE_LIT:</div><div class='add'>+      case NODE_STR:</div><div class='add'>+      case NODE_XSTR:</div><div class='add'>+        return rb_ary_new_from_args(1, node-&gt;nd_lit);</div><div class='add'>+      case NODE_ONCE:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 1, node-&gt;nd_body);</div><div class='add'>+      case NODE_DSTR:</div><div class='add'>+      case NODE_DXSTR:</div><div class='add'>+      case NODE_DREGX:</div><div class='add'>+      case NODE_DSYM:</div><div class='add'>+        {</div><div class='add'>+            NODE *n = node-&gt;nd_next;</div><div class='add'>+            VALUE head = Qnil, next = Qnil;</div><div class='add'>+            if (n) {</div><div class='add'>+                head = NEW_CHILD(ast, n-&gt;nd_head);</div><div class='add'>+                next = NEW_CHILD(ast, n-&gt;nd_next);</div><div class='add'>+            }</div><div class='add'>+            return rb_ary_new_from_args(3, node-&gt;nd_lit, head, next);</div><div class='add'>+        }</div><div class='add'>+      case NODE_EVSTR:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 1, node-&gt;nd_body);</div><div class='add'>+      case NODE_ARGSCAT:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 2, node-&gt;nd_head, node-&gt;nd_body);</div><div class='add'>+      case NODE_ARGSPUSH:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 2, node-&gt;nd_head, node-&gt;nd_body);</div><div class='add'>+      case NODE_SPLAT:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 1, node-&gt;nd_head);</div><div class='add'>+      case NODE_BLOCK_PASS:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 2, node-&gt;nd_head, node-&gt;nd_body);</div><div class='add'>+      case NODE_DEFN:</div><div class='add'>+        return rb_ary_new_from_args(2, ID2SYM(node-&gt;nd_mid), NEW_CHILD(ast, node-&gt;nd_defn));</div><div class='add'>+      case NODE_DEFS:</div><div class='add'>+        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='add'>+      case NODE_ALIAS:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 2, node-&gt;nd_1st, node-&gt;nd_2nd);</div><div class='add'>+      case NODE_VALIAS:</div><div class='add'>+        return rb_ary_new_from_args(2, ID2SYM(node-&gt;nd_alias), ID2SYM(node-&gt;nd_orig));</div><div class='add'>+      case NODE_UNDEF:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 1, node-&gt;nd_undef);</div><div class='add'>+      case NODE_CLASS:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 3, node-&gt;nd_cpath, node-&gt;nd_super, node-&gt;nd_body);</div><div class='add'>+      case NODE_MODULE:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 2, node-&gt;nd_cpath, node-&gt;nd_body);</div><div class='add'>+      case NODE_SCLASS:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 2, node-&gt;nd_recv, node-&gt;nd_body);</div><div class='add'>+      case NODE_COLON2:</div><div class='add'>+        return rb_ary_new_from_args(2, NEW_CHILD(ast, node-&gt;nd_head), ID2SYM(node-&gt;nd_mid));</div><div class='add'>+      case NODE_COLON3:</div><div class='add'>+        return rb_ary_new_from_args(1, ID2SYM(node-&gt;nd_mid));</div><div class='add'>+      case NODE_DOT2:</div><div class='add'>+      case NODE_DOT3:</div><div class='add'>+      case NODE_FLIP2:</div><div class='add'>+      case NODE_FLIP3:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 2, node-&gt;nd_beg, node-&gt;nd_end);</div><div class='add'>+      case NODE_SELF:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 0);</div><div class='add'>+      case NODE_NIL:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 0);</div><div class='add'>+      case NODE_TRUE:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 0);</div><div class='add'>+      case NODE_FALSE:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 0);</div><div class='add'>+      case NODE_ERRINFO:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 0);</div><div class='add'>+      case NODE_DEFINED:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 1, node-&gt;nd_head);</div><div class='add'>+      case NODE_POSTEXE:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 1, node-&gt;nd_body);</div><div class='add'>+      case NODE_ATTRASGN:</div><div class='add'>+        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='add'>+      case NODE_LAMBDA:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 1, node-&gt;nd_body);</div><div class='add'>+      case NODE_OPT_ARG:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 2, node-&gt;nd_body, node-&gt;nd_next);</div><div class='add'>+      case NODE_KW_ARG:</div><div class='add'>+        return rb_ary_new_from_node_args(ast, 2, node-&gt;nd_body, node-&gt;nd_next);</div><div class='add'>+      case NODE_POSTARG:</div><div class='add'>+        if (NODE_NAMED_REST_P(node-&gt;nd_1st)) {</div><div class='add'>+            return rb_ary_new_from_node_args(ast, 2, node-&gt;nd_1st, node-&gt;nd_2nd);</div><div class='add'>+        }</div><div class='add'>+        return rb_ary_new_from_args(2, no_name_rest(),</div><div class='add'>+                                    NEW_CHILD(ast, node-&gt;nd_2nd));</div><div class='add'>+      case NODE_ARGS:</div><div class='add'>+        {</div><div class='add'>+            struct rb_args_info *ainfo = node-&gt;nd_ainfo;</div><div class='add'>+            return rb_ary_new_from_args(10,</div><div class='add'>+                                        INT2NUM(ainfo-&gt;pre_args_num),</div><div class='add'>+                                        NEW_CHILD(ast, ainfo-&gt;pre_init),</div><div class='add'>+                                        NEW_CHILD(ast, ainfo-&gt;opt_args),</div><div class='add'>+                                        var_name(ainfo-&gt;first_post_arg),</div><div class='add'>+                                        INT2NUM(ainfo-&gt;post_args_num),</div><div class='add'>+                                        NEW_CHILD(ast, ainfo-&gt;post_init),</div><div class='add'>+                                        (ainfo-&gt;rest_arg == NODE_SPECIAL_EXCESSIVE_COMMA</div><div class='add'>+                                            ? ID2SYM(rb_intern("NODE_SPECIAL_EXCESSIVE_COMMA"))</div><div class='add'>+                                            : var_name(ainfo-&gt;rest_arg)),</div><div class='add'>+                                        (ainfo-&gt;no_kwarg ? Qfalse : NEW_CHILD(ast, ainfo-&gt;kw_args)),</div><div class='add'>+                                        (ainfo-&gt;no_kwarg ? Qfalse : NEW_CHILD(ast, ainfo-&gt;kw_rest_arg)),</div><div class='add'>+                                        var_name(ainfo-&gt;block_arg));</div><div class='add'>+        }</div><div class='add'>+      case NODE_SCOPE:</div><div class='add'>+        {</div><div class='add'>+            ID *tbl = node-&gt;nd_tbl;</div><div class='add'>+            int i, size = tbl ? (int)*tbl++ : 0;</div><div class='add'>+            VALUE locals = rb_ary_new_capa(size);</div><div class='add'>+            for (i = 0; i &lt; size; i++) {</div><div class='add'>+                rb_ary_push(locals, var_name(tbl[i]));</div><div class='add'>+            }</div><div class='add'>+            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='add'>+        }</div><div class='add'>+      case NODE_ARYPTN:</div><div class='add'>+        {</div><div class='add'>+            struct rb_ary_pattern_info *apinfo = node-&gt;nd_apinfo;</div><div class='add'>+            VALUE rest = rest_arg(ast, apinfo-&gt;rest_arg);</div><div class='add'>+            return rb_ary_new_from_args(4,</div><div class='add'>+                                        NEW_CHILD(ast, node-&gt;nd_pconst),</div><div class='add'>+                                        NEW_CHILD(ast, apinfo-&gt;pre_args),</div><div class='add'>+                                        rest,</div><div class='add'>+                                        NEW_CHILD(ast, apinfo-&gt;post_args));</div><div class='add'>+        }</div><div class='add'>+      case NODE_FNDPTN:</div><div class='add'>+        {</div><div class='add'>+            struct rb_fnd_pattern_info *fpinfo = node-&gt;nd_fpinfo;</div><div class='add'>+            VALUE pre_rest = rest_arg(ast, fpinfo-&gt;pre_rest_arg);</div><div class='add'>+            VALUE post_rest = rest_arg(ast, fpinfo-&gt;post_rest_arg);</div><div class='add'>+            return rb_ary_new_from_args(4,</div><div class='add'>+                                        NEW_CHILD(ast, node-&gt;nd_pconst),</div><div class='add'>+                                        pre_rest,</div><div class='add'>+                                        NEW_CHILD(ast, fpinfo-&gt;args),</div><div class='add'>+                                        post_rest);</div><div class='add'>+        }</div><div class='add'>+      case NODE_HSHPTN:</div><div class='add'>+        {</div><div class='add'>+            VALUE kwrest = node-&gt;nd_pkwrestarg == NODE_SPECIAL_NO_REST_KEYWORD ? ID2SYM(rb_intern("NODE_SPECIAL_NO_REST_KEYWORD")) :</div><div class='add'>+                                                                                 NEW_CHILD(ast, node-&gt;nd_pkwrestarg);</div><div class='add'>+</div><div class='add'>+            return rb_ary_new_from_args(3,</div><div class='add'>+                                        NEW_CHILD(ast, node-&gt;nd_pconst),</div><div class='add'>+                                        NEW_CHILD(ast, node-&gt;nd_pkwargs),</div><div class='add'>+                                        kwrest);</div><div class='add'>+        }</div><div class='add'>+      case NODE_ARGS_AUX:</div><div class='add'>+      case NODE_LAST:</div><div class='add'>+        break;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    rb_bug("node_children: unknown node: %s", ruby_node_name(type));</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ast_node_children(rb_execution_context_t *ec, VALUE self)</div><div class='add'>+{</div><div class='add'>+    struct ASTNodeData *data;</div><div class='add'>+    TypedData_Get_Struct(self, struct ASTNodeData, &amp;rb_node_type, data);</div><div class='add'>+</div><div class='add'>+    return node_children(data-&gt;ast, data-&gt;node);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ast_node_first_lineno(rb_execution_context_t *ec, VALUE self)</div><div class='add'>+{</div><div class='add'>+    struct ASTNodeData *data;</div><div class='add'>+    TypedData_Get_Struct(self, struct ASTNodeData, &amp;rb_node_type, data);</div><div class='add'>+</div><div class='add'>+    return INT2NUM(nd_first_lineno(data-&gt;node));</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ast_node_first_column(rb_execution_context_t *ec, VALUE self)</div><div class='add'>+{</div><div class='add'>+    struct ASTNodeData *data;</div><div class='add'>+    TypedData_Get_Struct(self, struct ASTNodeData, &amp;rb_node_type, data);</div><div class='add'>+</div><div class='add'>+    return INT2NUM(nd_first_column(data-&gt;node));</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ast_node_last_lineno(rb_execution_context_t *ec, VALUE self)</div><div class='add'>+{</div><div class='add'>+    struct ASTNodeData *data;</div><div class='add'>+    TypedData_Get_Struct(self, struct ASTNodeData, &amp;rb_node_type, data);</div><div class='add'>+</div><div class='add'>+    return INT2NUM(nd_last_lineno(data-&gt;node));</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ast_node_last_column(rb_execution_context_t *ec, VALUE self)</div><div class='add'>+{</div><div class='add'>+    struct ASTNodeData *data;</div><div class='add'>+    TypedData_Get_Struct(self, struct ASTNodeData, &amp;rb_node_type, data);</div><div class='add'>+</div><div class='add'>+    return INT2NUM(nd_last_column(data-&gt;node));</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ast_node_inspect(rb_execution_context_t *ec, VALUE self)</div><div class='add'>+{</div><div class='add'>+    VALUE str;</div><div class='add'>+    VALUE cname;</div><div class='add'>+    struct ASTNodeData *data;</div><div class='add'>+    TypedData_Get_Struct(self, struct ASTNodeData, &amp;rb_node_type, data);</div><div class='add'>+</div><div class='add'>+    cname = rb_class_path(rb_obj_class(self));</div><div class='add'>+    str = rb_str_new2("#&lt;");</div><div class='add'>+</div><div class='add'>+    rb_str_append(str, cname);</div><div class='add'>+    rb_str_catf(str, ":%s@%d:%d-%d:%d&gt;",</div><div class='add'>+                node_type_to_str(data-&gt;node),</div><div class='add'>+                nd_first_lineno(data-&gt;node), nd_first_column(data-&gt;node),</div><div class='add'>+                nd_last_lineno(data-&gt;node), nd_last_column(data-&gt;node));</div><div class='add'>+</div><div class='add'>+    return str;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#include "ast.rbinc"</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+Init_ast(void)</div><div class='add'>+{</div><div class='add'>+    rb_mAST = rb_define_module_under(rb_cRubyVM, "AbstractSyntaxTree");</div><div class='add'>+    rb_cNode = rb_define_class_under(rb_mAST, "Node", rb_cObject);</div><div class='add'>+    rb_undef_alloc_func(rb_cNode);</div><div class='add'>+}</div><div class='head'>diff --git a/ast.rb b/ast.rb<br/>new file mode 100644<br/>index 0000000000..34fa645671<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/ast.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>ast.rb</a></div><div class='hunk'>@@ -0,0 +1,146 @@</div><div class='add'>+# for ast.c</div><div class='add'>+</div><div class='add'>+class RubyVM</div><div class='add'>+</div><div class='add'>+  # AbstractSyntaxTree provides methods to parse Ruby code into</div><div class='add'>+  # abstract syntax trees. The nodes in the tree</div><div class='add'>+  # are instances of RubyVM::AbstractSyntaxTree::Node.</div><div class='add'>+  #</div><div class='add'>+  # This module is MRI specific as it exposes implementation details</div><div class='add'>+  # of the MRI abstract syntax tree.</div><div class='add'>+  #</div><div class='add'>+  # This module is experimental and its API is not stable, therefore it might</div><div class='add'>+  # change without notice. As examples, the order of children nodes is not</div><div class='add'>+  # guaranteed, the number of children nodes might change, there is no way to</div><div class='add'>+  # access children nodes by name, etc.</div><div class='add'>+  #</div><div class='add'>+  # If you are looking for a stable API or an API working under multiple Ruby</div><div class='add'>+  # implementations, consider using the _parser_ gem or Ripper. If you would</div><div class='add'>+  # like to make RubyVM::AbstractSyntaxTree stable, please join the discussion</div><div class='add'>+  # at https://bugs.ruby-lang.org/issues/14844.</div><div class='add'>+  #</div><div class='add'>+  module AbstractSyntaxTree</div><div class='add'>+</div><div class='add'>+    #  call-seq:</div><div class='add'>+    #     RubyVM::AbstractSyntaxTree.parse(string) -&gt; RubyVM::AbstractSyntaxTree::Node</div><div class='add'>+    #</div><div class='add'>+    #  Parses the given _string_ into an abstract syntax tree,</div><div class='add'>+    #  returning the root node of that tree.</div><div class='add'>+    #</div><div class='add'>+    #  SyntaxError is raised if the given _string_ is invalid syntax.</div><div class='add'>+    #</div><div class='add'>+    #    RubyVM::AbstractSyntaxTree.parse("x = 1 + 2")</div><div class='add'>+    #    # =&gt; #&lt;RubyVM::AbstractSyntaxTree::Node:SCOPE@1:0-1:9&gt;</div><div class='add'>+    def self.parse string</div><div class='add'>+      Primitive.ast_s_parse string</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    #  call-seq:</div><div class='add'>+    #     RubyVM::AbstractSyntaxTree.parse_file(pathname) -&gt; RubyVM::AbstractSyntaxTree::Node</div><div class='add'>+    #</div><div class='add'>+    #   Reads the file from _pathname_, then parses it like ::parse,</div><div class='add'>+    #   returning the root node of the abstract syntax tree.</div><div class='add'>+    #</div><div class='add'>+    #   SyntaxError is raised if _pathname_'s contents are not</div><div class='add'>+    #   valid Ruby syntax.</div><div class='add'>+    #</div><div class='add'>+    #     RubyVM::AbstractSyntaxTree.parse_file("my-app/app.rb")</div><div class='add'>+    #     # =&gt; #&lt;RubyVM::AbstractSyntaxTree::Node:SCOPE@1:0-31:3&gt;</div><div class='add'>+    def self.parse_file pathname</div><div class='add'>+      Primitive.ast_s_parse_file pathname</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    #  call-seq:</div><div class='add'>+    #     RubyVM::AbstractSyntaxTree.of(proc)   -&gt; RubyVM::AbstractSyntaxTree::Node</div><div class='add'>+    #     RubyVM::AbstractSyntaxTree.of(method) -&gt; RubyVM::AbstractSyntaxTree::Node</div><div class='add'>+    #</div><div class='add'>+    #   Returns AST nodes of the given _proc_ or _method_.</div><div class='add'>+    #</div><div class='add'>+    #     RubyVM::AbstractSyntaxTree.of(proc {1 + 2})</div><div class='add'>+    #     # =&gt; #&lt;RubyVM::AbstractSyntaxTree::Node:SCOPE@1:35-1:42&gt;</div><div class='add'>+    #</div><div class='add'>+    #     def hello</div><div class='add'>+    #       puts "hello, world"</div><div class='add'>+    #     end</div><div class='add'>+    #</div><div class='add'>+    #     RubyVM::AbstractSyntaxTree.of(method(:hello))</div><div class='add'>+    #     # =&gt; #&lt;RubyVM::AbstractSyntaxTree::Node:SCOPE@1:0-3:3&gt;</div><div class='add'>+    def self.of body</div><div class='add'>+      Primitive.ast_s_of body</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    # RubyVM::AbstractSyntaxTree::Node instances are created by parse methods in</div><div class='add'>+    # RubyVM::AbstractSyntaxTree.</div><div class='add'>+    #</div><div class='add'>+    # This class is MRI specific.</div><div class='add'>+    #</div><div class='add'>+    class Node</div><div class='add'>+</div><div class='add'>+      #  call-seq:</div><div class='add'>+      #     node.type -&gt; symbol</div><div class='add'>+      #</div><div class='add'>+      #  Returns the type of this node as a symbol.</div><div class='add'>+      #</div><div class='add'>+      #    root = RubyVM::AbstractSyntaxTree.parse("x = 1 + 2")</div><div class='add'>+      #    root.type # =&gt; :SCOPE</div><div class='add'>+      #    lasgn = root.children[2]</div><div class='add'>+      #    lasgn.type # =&gt; :LASGN</div><div class='add'>+      #    call = lasgn.children[1]</div><div class='add'>+      #    call.type # =&gt; :OPCALL</div><div class='add'>+      def type</div><div class='add'>+        Primitive.ast_node_type</div><div class='add'>+      end</div><div class='add'>+</div><div class='add'>+      #  call-seq:</div><div class='add'>+      #     node.first_lineno -&gt; integer</div><div class='add'>+      #</div><div class='add'>+      #  The line number in the source code where this AST's text began.</div><div class='add'>+      def first_lineno</div><div class='add'>+        Primitive.ast_node_first_lineno</div><div class='add'>+      end</div><div class='add'>+</div><div class='add'>+      #  call-seq:</div><div class='add'>+      #     node.first_column -&gt; integer</div><div class='add'>+      #</div><div class='add'>+      #  The column number in the source code where this AST's text began.</div><div class='add'>+      def first_column</div><div class='add'>+        Primitive.ast_node_first_column</div><div class='add'>+      end</div><div class='add'>+</div><div class='add'>+      #  call-seq:</div><div class='add'>+      #     node.last_lineno -&gt; integer</div><div class='add'>+      #</div><div class='add'>+      #  The line number in the source code where this AST's text ended.</div><div class='add'>+      def last_lineno</div><div class='add'>+        Primitive.ast_node_last_lineno</div><div class='add'>+      end</div><div class='add'>+</div><div class='add'>+      #  call-seq:</div><div class='add'>+      #     node.last_column -&gt; integer</div><div class='add'>+      #</div><div class='add'>+      #  The column number in the source code where this AST's text ended.</div><div class='add'>+      def last_column</div><div class='add'>+        Primitive.ast_node_last_column</div><div class='add'>+      end</div><div class='add'>+</div><div class='add'>+      #  call-seq:</div><div class='add'>+      #     node.children -&gt; array</div><div class='add'>+      #</div><div class='add'>+      #  Returns AST nodes under this one.  Each kind of node</div><div class='add'>+      #  has different children, depending on what kind of node it is.</div><div class='add'>+      #</div><div class='add'>+      #  The returned array may contain other nodes or &lt;code&gt;nil&lt;/code&gt;.</div><div class='add'>+      def children</div><div class='add'>+        Primitive.ast_node_children</div><div class='add'>+      end</div><div class='add'>+</div><div class='add'>+      #  call-seq:</div><div class='add'>+      #     node.inspect -&gt; string</div><div class='add'>+      #</div><div class='add'>+      #  Returns debugging information about this node as a string.</div><div class='add'>+      def inspect</div><div class='add'>+        Primitive.ast_node_inspect</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+end</div><div class='head'>diff --git a/basictest/runner.rb b/basictest/runner.rb<br/>new file mode 100755<br/>index 0000000000..0f398e7acc<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/basictest/runner.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>basictest/runner.rb</a></div><div class='hunk'>@@ -0,0 +1,33 @@</div><div class='add'>+#! ./miniruby</div><div class='add'>+</div><div class='add'>+exit if defined?(CROSS_COMPILING) and CROSS_COMPILING</div><div class='add'>+ruby = ENV["RUBY"]</div><div class='add'>+unless ruby</div><div class='add'>+  load './rbconfig.rb'</div><div class='add'>+  ruby = "./#{RbConfig::CONFIG['ruby_install_name']}#{RbConfig::CONFIG['EXEEXT']}"</div><div class='add'>+end</div><div class='add'>+unless File.exist? ruby</div><div class='add'>+  print "#{ruby} is not found.\n"</div><div class='add'>+  print "Try `make' first, then `make test', please.\n"</div><div class='add'>+  exit false</div><div class='add'>+end</div><div class='add'>+ARGV[0] and opt = ARGV[0][/\A--run-opt=(.*)/, 1] and ARGV.shift</div><div class='add'>+</div><div class='add'>+$stderr.reopen($stdout)</div><div class='add'>+error = ''</div><div class='add'>+</div><div class='add'>+srcdir = File.expand_path('..', File.dirname(__FILE__))</div><div class='add'>+if env = ENV["RUBYOPT"]</div><div class='add'>+  ENV["RUBYOPT"] = env + " -W1"</div><div class='add'>+end</div><div class='add'>+`#{ruby} #{opt} -W1 #{srcdir}/basictest/test.rb #{ARGV.join(' ')}`.each_line do |line|</div><div class='add'>+  if line =~ /^end of test/</div><div class='add'>+    print "\ntest succeeded\n"</div><div class='add'>+    exit true</div><div class='add'>+  end</div><div class='add'>+  error &lt;&lt; line if %r:^(basictest/test.rb|not): =~ line</div><div class='add'>+end</div><div class='add'>+puts</div><div class='add'>+print error</div><div class='add'>+print "test failed\n"</div><div class='add'>+exit false</div><div class='head'>diff --git a/basictest/test.rb b/basictest/test.rb<br/>new file mode 100755<br/>index 0000000000..52008b78db<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/basictest/test.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>basictest/test.rb</a></div><div class='hunk'>@@ -0,0 +1,2364 @@</div><div class='add'>+#! /usr/bin/env ruby</div><div class='add'>+# -*- coding: us-ascii -*-</div><div class='add'>+</div><div class='add'>+$testnum=0</div><div class='add'>+$ntest=0</div><div class='add'>+$failed = 0</div><div class='add'>+class Progress</div><div class='add'>+  def initialize</div><div class='add'>+    @color = nil</div><div class='add'>+    @tty = nil</div><div class='add'>+    @quiet = nil</div><div class='add'>+    @verbose = nil</div><div class='add'>+    ARGV.each do |arg|</div><div class='add'>+      case arg</div><div class='add'>+      when /\A--color(?:=(?:always|(auto)|(never)|(.*)))?\z/</div><div class='add'>+        warn "unknown --color argument: #$3" if $3</div><div class='add'>+        @color = $1 ? nil : !$2</div><div class='add'>+      when /\A--tty(=(?:yes|(no)|(.*)))?\z/</div><div class='add'>+        warn "unknown --tty argument: #$3" if $3</div><div class='add'>+        @tty = !$1 || !$2</div><div class='add'>+        true</div><div class='add'>+      when /\A-(q|-quiet)\z/</div><div class='add'>+        @quiet = true</div><div class='add'>+      when /\A-(v|-verbose)\z/</div><div class='add'>+        @verbose = true</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+    @tty = STDERR.tty? &amp;&amp; !STDOUT.tty? &amp;&amp; /dumb/ !~ ENV["TERM"] if @tty.nil?</div><div class='add'>+    @eol = @tty &amp;&amp; !@verbose ? "\r\e[K\r" : "\n"</div><div class='add'>+    case @color</div><div class='add'>+    when nil</div><div class='add'>+      @color = @tty</div><div class='add'>+    end</div><div class='add'>+    if @color</div><div class='add'>+      # dircolors-like style</div><div class='add'>+      colors = (colors = ENV['TEST_COLORS']) ? Hash[colors.scan(/(\w+)=([^:\n]*)/)] : {}</div><div class='add'>+      begin</div><div class='add'>+        File.read(File.join(__dir__, "../tool/colors")).scan(/(\w+)=([^:\n]*)/) do |n, c|</div><div class='add'>+          colors[n] ||= c</div><div class='add'>+        end</div><div class='add'>+      rescue</div><div class='add'>+      end</div><div class='add'>+      @passed = "\e[;#{colors["pass"] || "32"}m"</div><div class='add'>+      @failed = "\e[;#{colors["fail"] || "31"}m"</div><div class='add'>+      @reset = "\e[m"</div><div class='add'>+    else</div><div class='add'>+      @passed = @failed = @reset = ""</div><div class='add'>+    end</div><div class='add'>+    extend(Rotator) if @tty</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def passed_string</div><div class='add'>+    "."</div><div class='add'>+  end</div><div class='add'>+  def failed_string</div><div class='add'>+    "#{@failed}F#{@reset}"</div><div class='add'>+  end</div><div class='add'>+  def init_string</div><div class='add'>+  end</div><div class='add'>+  def finish_string</div><div class='add'>+    if @quiet</div><div class='add'>+      @eol</div><div class='add'>+    else</div><div class='add'>+      "#{@passed}#{@ok ? 'OK' : ''} #{$testnum}#{@reset}#{@eol}"</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  def pass</div><div class='add'>+    STDERR.print passed_string</div><div class='add'>+  end</div><div class='add'>+  def fail</div><div class='add'>+    @ok = false</div><div class='add'>+    STDERR.print failed_string</div><div class='add'>+  end</div><div class='add'>+  def init</div><div class='add'>+    @ok = true</div><div class='add'>+    STDERR.print init_string</div><div class='add'>+  end</div><div class='add'>+  def finish</div><div class='add'>+    STDERR.print finish_string</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  module Rotator</div><div class='add'>+    ROTATOR = %w[- \\ | /]</div><div class='add'>+    BS = "\b" * ROTATOR[0].size</div><div class='add'>+    def passed_string</div><div class='add'>+      "#{BS}#{ROTATOR[(@count += 1) % ROTATOR.size]}"</div><div class='add'>+    end</div><div class='add'>+    def failed_string</div><div class='add'>+      "#{BS}#{super}#{ROTATOR[@count % ROTATOR.size]}"</div><div class='add'>+    end</div><div class='add'>+    def init_string</div><div class='add'>+      @count = 0</div><div class='add'>+      " "</div><div class='add'>+    end</div><div class='add'>+    def finish_string</div><div class='add'>+      s = "#{BS}#{' ' * BS.size}#{BS}#{super}"</div><div class='add'>+      s.gsub!(/\n/, "\r\e[2K\r") if @quiet</div><div class='add'>+      s</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+PROGRESS = Progress.new</div><div class='add'>+</div><div class='add'>+def test_check(what)</div><div class='add'>+  unless $ntest.zero?</div><div class='add'>+    PROGRESS.finish</div><div class='add'>+  end</div><div class='add'>+  STDERR.print "#{$0}:#{what} "</div><div class='add'>+  PROGRESS.init</div><div class='add'>+  $what = what</div><div class='add'>+  $testnum = 0</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def test_ok(cond,n=1)</div><div class='add'>+  $testnum+=1</div><div class='add'>+  $ntest+=1</div><div class='add'>+  where = (st = caller(n)) ? st[0] : "caller error! (n=#{n}, trace=#{caller(0).join(', ')}"</div><div class='add'>+  if cond</div><div class='add'>+    PROGRESS.pass</div><div class='add'>+    printf "ok %d (%s)\n", $testnum, where</div><div class='add'>+  else</div><div class='add'>+    PROGRESS.fail</div><div class='add'>+    printf "not ok %s %d -- %s\n", $what, $testnum, where</div><div class='add'>+    $failed+=1</div><div class='add'>+  end</div><div class='add'>+  STDOUT.flush</div><div class='add'>+  STDERR.flush</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+# make sure conditional operators work</div><div class='add'>+</div><div class='add'>+test_check "assignment"</div><div class='add'>+</div><div class='add'>+a=[]; a[0] ||= "bar";</div><div class='add'>+test_ok(a[0] == "bar")</div><div class='add'>+h={}; h["foo"] ||= "bar";</div><div class='add'>+test_ok(h["foo"] == "bar")</div><div class='add'>+</div><div class='add'>+aa = 5</div><div class='add'>+aa ||= 25</div><div class='add'>+test_ok(aa == 5)</div><div class='add'>+bb ||= 25</div><div class='add'>+test_ok(bb == 25)</div><div class='add'>+cc &amp;&amp;=33</div><div class='add'>+test_ok(cc == nil)</div><div class='add'>+cc = 5</div><div class='add'>+cc &amp;&amp;=44</div><div class='add'>+test_ok(cc == 44)</div><div class='add'>+</div><div class='add'>+a = nil; test_ok(a == nil)</div><div class='add'>+a = 1; test_ok(a == 1)</div><div class='add'>+a = []; test_ok(a == [])</div><div class='add'>+a = [1]; test_ok(a == [1])</div><div class='add'>+a = [nil]; test_ok(a == [nil])</div><div class='add'>+a = [[]]; test_ok(a == [[]])</div><div class='add'>+a = [1,2]; test_ok(a == [1,2])</div><div class='add'>+a = [*[]]; test_ok(a == [])</div><div class='add'>+a = [*[1]]; test_ok(a == [1])</div><div class='add'>+a = [*[1,2]]; test_ok(a == [1,2])</div><div class='add'>+</div><div class='add'>+a = *[]; test_ok(a == [])</div><div class='add'>+a = *[1]; test_ok(a == [1])</div><div class='add'>+a = *[nil]; test_ok(a == [nil])</div><div class='add'>+a = *[[]]; test_ok(a == [[]])</div><div class='add'>+a = *[1,2]; test_ok(a == [1,2])</div><div class='add'>+a = *[*[]]; test_ok(a == [])</div><div class='add'>+a = *[*[1]]; test_ok(a == [1])</div><div class='add'>+a = *[*[1,2]]; test_ok(a == [1,2])</div><div class='add'>+</div><div class='add'>+a, = nil; test_ok(a == nil)</div><div class='add'>+a, = 1; test_ok(a == 1)</div><div class='add'>+a, = []; test_ok(a == nil)</div><div class='add'>+a, = [1]; test_ok(a == 1)</div><div class='add'>+a, = [nil]; test_ok(a == nil)</div><div class='add'>+a, = [[]]; test_ok(a == [])</div><div class='add'>+a, = 1,2; test_ok(a == 1)</div><div class='add'>+a, = [1,2]; test_ok(a == 1)</div><div class='add'>+a, = [*[]]; test_ok(a == nil)</div><div class='add'>+a, = [*[1]]; test_ok(a == 1)</div><div class='add'>+a, = *[1,2]; test_ok(a == 1)</div><div class='add'>+a, = [*[1,2]]; test_ok(a == 1)</div><div class='add'>+</div><div class='add'>+a, = *[]; test_ok(a == nil)</div><div class='add'>+a, = *[1]; test_ok(a == 1)</div><div class='add'>+a, = *[nil]; test_ok(a == nil)</div><div class='add'>+a, = *[[]]; test_ok(a == [])</div><div class='add'>+a, = *[1,2]; test_ok(a == 1)</div><div class='add'>+a, = *[*[]]; test_ok(a == nil)</div><div class='add'>+a, = *[*[1]]; test_ok(a == 1)</div><div class='add'>+a, = *[*[1,2]]; test_ok(a == 1)</div><div class='add'>+</div><div class='add'>+*a = nil; test_ok(a == [nil])</div><div class='add'>+*a = 1; test_ok(a == [1])</div><div class='add'>+*a = []; test_ok(a == [])</div><div class='add'>+*a = [1]; test_ok(a == [1])</div><div class='add'>+*a = [nil]; test_ok(a == [nil])</div><div class='add'>+*a = [[]]; test_ok(a == [[]])</div><div class='add'>+*a = [1,2]; test_ok(a == [1,2])</div><div class='add'>+*a = [*[]]; test_ok(a == [])</div><div class='add'>+*a = [*[1]]; test_ok(a == [1])</div><div class='add'>+*a = [*[1,2]]; test_ok(a == [1,2])</div><div class='add'>+</div><div class='add'>+*a = *[]; test_ok(a == [])</div><div class='add'>+*a = *[1]; test_ok(a == [1])</div><div class='add'>+*a = *[nil]; test_ok(a == [nil])</div><div class='add'>+*a = *[[]]; test_ok(a == [[]])</div><div class='add'>+*a = *[1,2]; test_ok(a == [1,2])</div><div class='add'>+*a = *[*[]]; test_ok(a == [])</div><div class='add'>+*a = *[*[1]]; test_ok(a == [1])</div><div class='add'>+*a = *[*[1,2]]; test_ok(a == [1,2])</div><div class='add'>+</div><div class='add'>+a,b,*c = nil; test_ok([a,b,c] == [nil,nil,[]])</div><div class='add'>+a,b,*c = 1; test_ok([a,b,c] == [1,nil,[]])</div><div class='add'>+a,b,*c = []; test_ok([a,b,c] == [nil,nil,[]])</div><div class='add'>+a,b,*c = [1]; test_ok([a,b,c] == [1,nil,[]])</div><div class='add'>+a,b,*c = [nil]; test_ok([a,b,c] == [nil,nil,[]])</div><div class='add'>+a,b,*c = [[]]; test_ok([a,b,c] == [[],nil,[]])</div><div class='add'>+a,b,*c = [1,2]; test_ok([a,b,c] == [1,2,[]])</div><div class='add'>+a,b,*c = [*[]]; test_ok([a,b,c] == [nil,nil,[]])</div><div class='add'>+a,b,*c = [*[1]]; test_ok([a,b,c] == [1,nil,[]])</div><div class='add'>+a,b,*c = [*[1,2]]; test_ok([a,b,c] == [1,2,[]])</div><div class='add'>+</div><div class='add'>+a,b,*c = *[]; test_ok([a,b,c] == [nil,nil,[]])</div><div class='add'>+a,b,*c = *[1]; test_ok([a,b,c] == [1,nil,[]])</div><div class='add'>+a,b,*c = *[nil]; test_ok([a,b,c] == [nil,nil,[]])</div><div class='add'>+a,b,*c = *[[]]; test_ok([a,b,c] == [[],nil,[]])</div><div class='add'>+a,b,*c = *[1,2]; test_ok([a,b,c] == [1,2,[]])</div><div class='add'>+a,b,*c = *[*[]]; test_ok([a,b,c] == [nil,nil,[]])</div><div class='add'>+a,b,*c = *[*[1]]; test_ok([a,b,c] == [1,nil,[]])</div><div class='add'>+a,b,*c = *[*[1,2]]; test_ok([a,b,c] == [1,2,[]])</div><div class='add'>+</div><div class='add'>+def f; yield nil; end; f {|a| test_ok(a == nil)}</div><div class='add'>+def f; yield 1; end; f {|a| test_ok(a == 1)}</div><div class='add'>+def f; yield []; end; f {|a| test_ok(a == [])}</div><div class='add'>+def f; yield [1]; end; f {|a| test_ok(a == [1])}</div><div class='add'>+def f; yield [nil]; end; f {|a| test_ok(a == [nil])}</div><div class='add'>+def f; yield [[]]; end; f {|a| test_ok(a == [[]])}</div><div class='add'>+def f; yield [*[]]; end; f {|a| test_ok(a == [])}</div><div class='add'>+def f; yield [*[1]]; end; f {|a| test_ok(a == [1])}</div><div class='add'>+def f; yield [*[1,2]]; end; f {|a| test_ok(a == [1,2])}</div><div class='add'>+def f; yield *[]; end; f {|a| test_ok(a == nil)}</div><div class='add'>+def f; yield *[1]; end; f {|a| test_ok(a == 1)}</div><div class='add'>+def f; yield *[nil]; end; f {|a| test_ok(a == nil)}</div><div class='add'>+def f; yield *[[]]; end; f {|a| test_ok(a == [])}</div><div class='add'>+def f; yield *[*[]]; end; f {|a| test_ok(a == nil)}</div><div class='add'>+def f; yield *[*[1]]; end; f {|a| test_ok(a == 1)}</div><div class='add'>+def f; yield *[*[1,2]]; end; f {|a| test_ok(a == 1)}</div><div class='add'>+</div><div class='add'>+def f; yield; end; f {|a,| test_ok(a == nil)}</div><div class='add'>+def f; yield nil; end; f {|a,| test_ok(a == nil)}</div><div class='add'>+def f; yield 1; end; f {|a,| test_ok(a == 1)}</div><div class='add'>+def f; yield []; end; f {|a,| test_ok(a == nil)}</div><div class='add'>+def f; yield [1]; end; f {|a,| test_ok(a == 1)}</div><div class='add'>+def f; yield [nil]; end; f {|a,| test_ok(a == nil)}</div><div class='add'>+def f; yield [[]]; end; f {|a,| test_ok(a == [])}</div><div class='add'>+def f; yield [*[]]; end; f {|a,| test_ok(a == nil)}</div><div class='add'>+def f; yield [*[1]]; end; f {|a,| test_ok(a == 1)}</div><div class='add'>+def f; yield [*[1,2]]; end; f {|a,| test_ok(a == 1)}</div><div class='add'>+</div><div class='add'>+def f; yield *[]; end; f {|a,| test_ok(a == nil)}</div><div class='add'>+def f; yield *[1]; end; f {|a,| test_ok(a == 1)}</div><div class='add'>+def f; yield *[nil]; end; f {|a,| test_ok(a == nil)}</div><div class='add'>+def f; yield *[[]]; end; f {|a,| test_ok(a == nil)}</div><div class='add'>+def f; yield *[*[]]; end; f {|a,| test_ok(a == nil)}</div><div class='add'>+def f; yield *[*[1]]; end; f {|a,| test_ok(a == 1)}</div><div class='add'>+def f; yield *[*[1,2]]; end; f {|a,| test_ok(a == 1)}</div><div class='add'>+</div><div class='add'>+def f; yield; end; f {|*a| test_ok(a == [])}</div><div class='add'>+def f; yield nil; end; f {|*a| test_ok(a == [nil])}</div><div class='add'>+def f; yield 1; end; f {|*a| test_ok(a == [1])}</div><div class='add'>+def f; yield []; end; f {|*a| test_ok(a == [[]])}</div><div class='add'>+def f; yield [1]; end; f {|*a| test_ok(a == [[1]])}</div><div class='add'>+def f; yield [nil]; end; f {|*a| test_ok(a == [[nil]])}</div><div class='add'>+def f; yield [[]]; end; f {|*a| test_ok(a == [[[]]])}</div><div class='add'>+def f; yield [1,2]; end; f {|*a| test_ok(a == [[1,2]])}</div><div class='add'>+def f; yield [*[]]; end; f {|*a| test_ok(a == [[]])}</div><div class='add'>+def f; yield [*[1]]; end; f {|*a| test_ok(a == [[1]])}</div><div class='add'>+def f; yield [*[1,2]]; end; f {|*a| test_ok(a == [[1,2]])}</div><div class='add'>+</div><div class='add'>+def f; yield *[]; end; f {|*a| test_ok(a == [])}</div><div class='add'>+def f; yield *[1]; end; f {|*a| test_ok(a == [1])}</div><div class='add'>+def f; yield *[nil]; end; f {|*a| test_ok(a == [nil])}</div><div class='add'>+def f; yield *[[]]; end; f {|*a| test_ok(a == [[]])}</div><div class='add'>+def f; yield *[*[]]; end; f {|*a| test_ok(a == [])}</div><div class='add'>+def f; yield *[*[1]]; end; f {|*a| test_ok(a == [1])}</div><div class='add'>+def f; yield *[*[1,2]]; end; f {|*a| test_ok(a == [1,2])}</div><div class='add'>+</div><div class='add'>+def f; yield; end; f {|a,b,*c| test_ok([a,b,c] == [nil,nil,[]])}</div><div class='add'>+def f; yield nil; end; f {|a,b,*c| test_ok([a,b,c] == [nil,nil,[]])}</div><div class='add'>+def f; yield 1; end; f {|a,b,*c| test_ok([a,b,c] == [1,nil,[]])}</div><div class='add'>+def f; yield []; end; f {|a,b,*c| test_ok([a,b,c] == [nil,nil,[]])}</div><div class='add'>+def f; yield [1]; end; f {|a,b,*c| test_ok([a,b,c] == [1,nil,[]])}</div><div class='add'>+def f; yield [nil]; end; f {|a,b,*c| test_ok([a,b,c] == [nil,nil,[]])}</div><div class='add'>+def f; yield [[]]; end; f {|a,b,*c| test_ok([a,b,c] == [[],nil,[]])}</div><div class='add'>+def f; yield [*[]]; end; f {|a,b,*c| test_ok([a,b,c] == [nil,nil,[]])}</div><div class='add'>+def f; yield [*[1]]; end; f {|a,b,*c| test_ok([a,b,c] == [1,nil,[]])}</div><div class='add'>+def f; yield [*[1,2]]; end; f {|a,b,*c| test_ok([a,b,c] == [1,2,[]])}</div><div class='add'>+</div><div class='add'>+def f; yield *[]; end; f {|a,b,*c| test_ok([a,b,c] == [nil,nil,[]])}</div><div class='add'>+def f; yield *[1]; end; f {|a,b,*c| test_ok([a,b,c] == [1,nil,[]])}</div><div class='add'>+def f; yield *[nil]; end; f {|a,b,*c| test_ok([a,b,c] == [nil,nil,[]])}</div><div class='add'>+def f; yield *[[]]; end; f {|a,b,*c| test_ok([a,b,c] == [nil,nil,[]])}</div><div class='add'>+def f; yield *[*[]]; end; f {|a,b,*c| test_ok([a,b,c] == [nil,nil,[]])}</div><div class='add'>+def f; yield *[*[1]]; end; f {|a,b,*c| test_ok([a,b,c] == [1,nil,[]])}</div><div class='add'>+def f; yield *[*[1,2]]; end; f {|a,b,*c| test_ok([a,b,c] == [1,2,[]])}</div><div class='add'>+</div><div class='add'>+def r; return; end; a = r(); test_ok(a == nil)</div><div class='add'>+def r; return nil; end; a = r(); test_ok(a == nil)</div><div class='add'>+def r; return 1; end; a = r(); test_ok(a == 1)</div><div class='add'>+def r; return []; end; a = r(); test_ok(a == [])</div><div class='add'>+def r; return [1]; end; a = r(); test_ok(a == [1])</div><div class='add'>+def r; return [nil]; end; a = r(); test_ok(a == [nil])</div><div class='add'>+def r; return [[]]; end; a = r(); test_ok(a == [[]])</div><div class='add'>+def r; return [*[]]; end; a = r(); test_ok(a == [])</div><div class='add'>+def r; return [*[1]]; end; a = r(); test_ok(a == [1])</div><div class='add'>+def r; return [*[1,2]]; end; a = r(); test_ok(a == [1,2])</div><div class='add'>+</div><div class='add'>+def r; return *[]; end; a = r(); test_ok(a == [])</div><div class='add'>+def r; return *[1]; end; a = r(); test_ok(a == [1])</div><div class='add'>+def r; return *[nil]; end; a = r(); test_ok(a == [nil])</div><div class='add'>+def r; return *[[]]; end; a = r(); test_ok(a == [[]])</div><div class='add'>+def r; return *[*[]]; end; a = r(); test_ok(a == [])</div><div class='add'>+def r; return *[*[1]]; end; a = r(); test_ok(a == [1])</div><div class='add'>+def r; return *[*[1,2]]; end; a = r(); test_ok(a == [1,2])</div><div class='add'>+</div><div class='add'>+def r; return *[[]]; end; a = *r(); test_ok(a == [[]])</div><div class='add'>+def r; return *[*[1,2]]; end; a = *r(); test_ok(a == [1,2])</div><div class='add'>+</div><div class='add'>+def r; return; end; *a = r(); test_ok(a == [nil])</div><div class='add'>+def r; return nil; end; *a = r(); test_ok(a == [nil])</div><div class='add'>+def r; return 1; end; *a = r(); test_ok(a == [1])</div><div class='add'>+def r; return []; end; *a = r(); test_ok(a == [])</div><div class='add'>+def r; return [1]; end; *a = r(); test_ok(a == [1])</div><div class='add'>+def r; return [nil]; end; *a = r(); test_ok(a == [nil])</div><div class='add'>+def r; return [[]]; end; *a = r(); test_ok(a == [[]])</div><div class='add'>+def r; return [1,2]; end; *a = r(); test_ok(a == [1,2])</div><div class='add'>+def r; return [*[]]; end; *a = r(); test_ok(a == [])</div><div class='add'>+def r; return [*[1]]; end; *a = r(); test_ok(a == [1])</div><div class='add'>+def r; return [*[1,2]]; end; *a = r(); test_ok(a == [1,2])</div><div class='add'>+</div><div class='add'>+def r; return *[]; end; *a = r(); test_ok(a == [])</div><div class='add'>+def r; return *[1]; end; *a = r(); test_ok(a == [1])</div><div class='add'>+def r; return *[nil]; end; *a = r(); test_ok(a == [nil])</div><div class='add'>+def r; return *[[]]; end; *a = r(); test_ok(a == [[]])</div><div class='add'>+def r; return *[1,2]; end; *a = r(); test_ok(a == [1,2])</div><div class='add'>+def r; return *[*[]]; end; *a = r(); test_ok(a == [])</div><div class='add'>+def r; return *[*[1]]; end; *a = r(); test_ok(a == [1])</div><div class='add'>+def r; return *[*[1,2]]; end; *a = r(); test_ok(a == [1,2])</div><div class='add'>+</div><div class='add'>+def r; return *[[]]; end; *a = *r(); test_ok(a == [[]])</div><div class='add'>+def r; return *[1,2]; end; *a = *r(); test_ok(a == [1,2])</div><div class='add'>+def r; return *[*[1,2]]; end; *a = *r(); test_ok(a == [1,2])</div><div class='add'>+</div><div class='add'>+def r; return; end; a,b,*c = r(); test_ok([a,b,c] == [nil,nil,[]])</div><div class='add'>+def r; return nil; end; a,b,*c = r(); test_ok([a,b,c] == [nil,nil,[]])</div><div class='add'>+def r; return 1; end; a,b,*c = r(); test_ok([a,b,c] == [1,nil,[]])</div><div class='add'>+def r; return []; end; a,b,*c = r(); test_ok([a,b,c] == [nil,nil,[]])</div><div class='add'>+def r; return [1]; end; a,b,*c = r(); test_ok([a,b,c] == [1,nil,[]])</div><div class='add'>+def r; return [nil]; end; a,b,*c = r(); test_ok([a,b,c] == [nil,nil,[]])</div><div class='add'>+def r; return [[]]; end; a,b,*c = r(); test_ok([a,b,c] == [[],nil,[]])</div><div class='add'>+def r; return [1,2]; end; a,b,*c = r(); test_ok([a,b,c] == [1,2,[]])</div><div class='add'>+def r; return [*[]]; end; a,b,*c = r(); test_ok([a,b,c] == [nil,nil,[]])</div><div class='add'>+def r; return [*[1]]; end; a,b,*c = r(); test_ok([a,b,c] == [1,nil,[]])</div><div class='add'>+def r; return [*[1,2]]; end; a,b,*c = r(); test_ok([a,b,c] == [1,2,[]])</div><div class='add'>+</div><div class='add'>+def r; return *[]; end; a,b,*c = r(); test_ok([a,b,c] == [nil,nil,[]])</div><div class='add'>+def r; return *[1]; end; a,b,*c = r(); test_ok([a,b,c] == [1,nil,[]])</div><div class='add'>+def r; return *[nil]; end; a,b,*c = r(); test_ok([a,b,c] == [nil,nil,[]])</div><div class='add'>+def r; return *[[]]; end; a,b,*c = r(); test_ok([a,b,c] == [[],nil,[]])</div><div class='add'>+def r; return *[1,2]; end; a,b,*c = r(); test_ok([a,b,c] == [1,2,[]])</div><div class='add'>+def r; return *[*[]]; end; a,b,*c = r(); test_ok([a,b,c] == [nil,nil,[]])</div><div class='add'>+def r; return *[*[1]]; end; a,b,*c = r(); test_ok([a,b,c] == [1,nil,[]])</div><div class='add'>+def r; return *[*[1,2]]; end; a,b,*c = r(); test_ok([a,b,c] == [1,2,[]])</div><div class='add'>+</div><div class='add'>+f = lambda {|r,| test_ok([] == r)}</div><div class='add'>+f.call([], *[])</div><div class='add'>+</div><div class='add'>+f = lambda {|r,*l| test_ok([] == r); test_ok([1] == l)}</div><div class='add'>+f.call([], *[1])</div><div class='add'>+</div><div class='add'>+f = lambda{|x| x}</div><div class='add'>+test_ok(f.call(42) == 42)</div><div class='add'>+test_ok(f.call([42]) == [42])</div><div class='add'>+test_ok(f.call([[42]]) == [[42]])</div><div class='add'>+test_ok(f.call([42,55]) == [42,55])</div><div class='add'>+</div><div class='add'>+f = lambda{|x,| x}</div><div class='add'>+test_ok(f.call(42) == 42)</div><div class='add'>+test_ok(f.call([42]) == [42])</div><div class='add'>+test_ok(f.call([[42]]) == [[42]])</div><div class='add'>+test_ok(f.call([42,55]) == [42,55])</div><div class='add'>+</div><div class='add'>+f = lambda{|*x| x}</div><div class='add'>+test_ok(f.call(42) == [42])</div><div class='add'>+test_ok(f.call([42]) == [[42]])</div><div class='add'>+test_ok(f.call([[42]]) == [[[42]]])</div><div class='add'>+test_ok(f.call([42,55]) == [[42,55]])</div><div class='add'>+test_ok(f.call(42,55) == [42,55])</div><div class='add'>+</div><div class='add'>+f = lambda { |a, b=42, *c| [a,b,c] }</div><div class='add'>+test_ok(f.call(1      ) == [1,42,[  ]] )</div><div class='add'>+test_ok(f.call(1,43   ) == [1,43,[  ]] )</div><div class='add'>+test_ok(f.call(1,43,44) == [1,43,[44]] )</div><div class='add'>+</div><div class='add'>+f = lambda { |a, b=(a|16), *c, &amp;block| [a,b,c,block&amp;&amp;block[]] }</div><div class='add'>+test_ok(f.call(8      )     == [8,24,[  ],nil] )</div><div class='add'>+test_ok(f.call(8,43   )     == [8,43,[  ],nil] )</div><div class='add'>+test_ok(f.call(8,43,44)     == [8,43,[44],nil] )</div><div class='add'>+test_ok(f.call(8      ){45} == [8,24,[  ],45 ] )</div><div class='add'>+test_ok(f.call(8,43   ){45} == [8,43,[  ],45 ] )</div><div class='add'>+test_ok(f.call(8,43,44){45} == [8,43,[44],45 ] )</div><div class='add'>+</div><div class='add'>+f = lambda { |a, b=42, *c, d| [a,b,c,d] }</div><div class='add'>+test_ok(f.call(1      ,99) == [1,42,[  ],99] )</div><div class='add'>+test_ok(f.call(1,43   ,99) == [1,43,[  ],99] )</div><div class='add'>+test_ok(f.call(1,43,44,99) == [1,43,[44],99] )</div><div class='add'>+</div><div class='add'>+f = lambda { |a, b=(a|16), &amp;block| [a,b,block&amp;&amp;block[]] }</div><div class='add'>+test_ok(f.call(8   )     == [8,24,nil] )</div><div class='add'>+test_ok(f.call(8,43)     == [8,43,nil] )</div><div class='add'>+test_ok(f.call(8,43)     == [8,43,nil] )</div><div class='add'>+test_ok(f.call(8   ){45} == [8,24,45 ] )</div><div class='add'>+test_ok(f.call(8,43){45} == [8,43,45 ] )</div><div class='add'>+test_ok(f.call(8,43){45} == [8,43,45 ] )</div><div class='add'>+</div><div class='add'>+f = lambda { |a, b=42, d| [a,b,d] }</div><div class='add'>+test_ok(f.call(1   ,99) == [1,42,99] )</div><div class='add'>+test_ok(f.call(1,43,99) == [1,43,99] )</div><div class='add'>+test_ok(f.call(1,43,99) == [1,43,99] )</div><div class='add'>+</div><div class='add'>+f = lambda { |b=42, *c, &amp;block| [b,c,block&amp;&amp;block[]] }</div><div class='add'>+test_ok(f.call(     )     == [42,[  ],nil] )</div><div class='add'>+test_ok(f.call(43   )     == [43,[  ],nil] )</div><div class='add'>+test_ok(f.call(43,44)     == [43,[44],nil] )</div><div class='add'>+test_ok(f.call(     ){45} == [42,[  ],45 ] )</div><div class='add'>+test_ok(f.call(43   ){45} == [43,[  ],45 ] )</div><div class='add'>+test_ok(f.call(43,44){45} == [43,[44],45 ] )</div><div class='add'>+</div><div class='add'>+f = lambda { |b=42, *c, d| [b,c,d] }</div><div class='add'>+test_ok(f.call(      99) == [42,[  ],99] )</div><div class='add'>+test_ok(f.call(43   ,99) == [43,[  ],99] )</div><div class='add'>+test_ok(f.call(43,44,99) == [43,[44],99] )</div><div class='add'>+</div><div class='add'>+f = lambda { |b=42, &amp;block| [b,block&amp;&amp;block[]] }</div><div class='add'>+test_ok(f.call(  )     == [42,nil] )</div><div class='add'>+test_ok(f.call(43)     == [43,nil] )</div><div class='add'>+test_ok(f.call(43)     == [43,nil] )</div><div class='add'>+test_ok(f.call(  ){45} == [42,45 ] )</div><div class='add'>+test_ok(f.call(43){45} == [43,45 ] )</div><div class='add'>+test_ok(f.call(43){45} == [43,45 ] )</div><div class='add'>+</div><div class='add'>+f = lambda { |b=42, d| [b,d] }</div><div class='add'>+test_ok(f.call(   99) == [42,99] )</div><div class='add'>+test_ok(f.call(43,99) == [43,99] )</div><div class='add'>+test_ok(f.call(43,99) == [43,99] )</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+a,=*[1]</div><div class='add'>+test_ok(a == 1)</div><div class='add'>+a,=*[[1]]</div><div class='add'>+test_ok(a == [1])</div><div class='add'>+a,=*[[[1]]]</div><div class='add'>+test_ok(a == [[1]])</div><div class='add'>+</div><div class='add'>+x, (y, z) = 1, 2, 3</div><div class='add'>+test_ok([1,2,nil] == [x,y,z])</div><div class='add'>+x, (y, z) = 1, [2,3]</div><div class='add'>+test_ok([1,2,3] == [x,y,z])</div><div class='add'>+x, (y, z) = 1, [2]</div><div class='add'>+test_ok([1,2,nil] == [x,y,z])</div><div class='add'>+</div><div class='add'>+a = loop do break; end; test_ok(a == nil)</div><div class='add'>+a = loop do break nil; end; test_ok(a == nil)</div><div class='add'>+a = loop do break 1; end; test_ok(a == 1)</div><div class='add'>+a = loop do break []; end; test_ok(a == [])</div><div class='add'>+a = loop do break [1]; end; test_ok(a == [1])</div><div class='add'>+a = loop do break [nil]; end; test_ok(a == [nil])</div><div class='add'>+a = loop do break [[]]; end; test_ok(a == [[]])</div><div class='add'>+a = loop do break [*[]]; end; test_ok(a == [])</div><div class='add'>+a = loop do break [*[1]]; end; test_ok(a == [1])</div><div class='add'>+a = loop do break [*[1,2]]; end; test_ok(a == [1,2])</div><div class='add'>+</div><div class='add'>+a = loop do break *[]; end; test_ok(a == [])</div><div class='add'>+a = loop do break *[1]; end; test_ok(a == [1])</div><div class='add'>+a = loop do break *[nil]; end; test_ok(a == [nil])</div><div class='add'>+a = loop do break *[[]]; end; test_ok(a == [[]])</div><div class='add'>+a = loop do break *[*[]]; end; test_ok(a == [])</div><div class='add'>+a = loop do break *[*[1]]; end; test_ok(a == [1])</div><div class='add'>+a = loop do break *[*[1,2]]; end; test_ok(a == [1,2])</div><div class='add'>+</div><div class='add'>+*a = loop do break; end; test_ok(a == [nil])</div><div class='add'>+*a = loop do break nil; end; test_ok(a == [nil])</div><div class='add'>+*a = loop do break 1; end; test_ok(a == [1])</div><div class='add'>+*a = loop do break []; end; test_ok(a == [])</div><div class='add'>+*a = loop do break [1]; end; test_ok(a == [1])</div><div class='add'>+*a = loop do break [nil]; end; test_ok(a == [nil])</div><div class='add'>+*a = loop do break [[]]; end; test_ok(a == [[]])</div><div class='add'>+*a = loop do break [1,2]; end; test_ok(a == [1,2])</div><div class='add'>+*a = loop do break [*[]]; end; test_ok(a == [])</div><div class='add'>+*a = loop do break [*[1]]; end; test_ok(a == [1])</div><div class='add'>+*a = loop do break [*[1,2]]; end; test_ok(a == [1,2])</div><div class='add'>+</div><div class='add'>+*a = loop do break *[]; end; test_ok(a == [])</div><div class='add'>+*a = loop do break *[1]; end; test_ok(a == [1])</div><div class='add'>+*a = loop do break *[nil]; end; test_ok(a == [nil])</div><div class='add'>+*a = loop do break *[[]]; end; test_ok(a == [[]])</div><div class='add'>+*a = loop do break *[1,2]; end; test_ok(a == [1,2])</div><div class='add'>+*a = loop do break *[*[]]; end; test_ok(a == [])</div><div class='add'>+*a = loop do break *[*[1]]; end; test_ok(a == [1])</div><div class='add'>+*a = loop do break *[*[1,2]]; end; test_ok(a == [1,2])</div><div class='add'>+</div><div class='add'>+*a = *loop do break *[[]]; end; test_ok(a == [[]])</div><div class='add'>+*a = *loop do break *[1,2]; end; test_ok(a == [1,2])</div><div class='add'>+*a = *loop do break *[*[1,2]]; end; test_ok(a == [1,2])</div><div class='add'>+</div><div class='add'>+a,b,*c = loop do break; end; test_ok([a,b,c] == [nil,nil,[]])</div><div class='add'>+a,b,*c = loop do break nil; end; test_ok([a,b,c] == [nil,nil,[]])</div><div class='add'>+a,b,*c = loop do break 1; end; test_ok([a,b,c] == [1,nil,[]])</div><div class='add'>+a,b,*c = loop do break []; end; test_ok([a,b,c] == [nil,nil,[]])</div><div class='add'>+a,b,*c = loop do break [1]; end; test_ok([a,b,c] == [1,nil,[]])</div><div class='add'>+a,b,*c = loop do break [nil]; end; test_ok([a,b,c] == [nil,nil,[]])</div><div class='add'>+a,b,*c = loop do break [[]]; end; test_ok([a,b,c] == [[],nil,[]])</div><div class='add'>+a,b,*c = loop do break [1,2]; end; test_ok([a,b,c] == [1,2,[]])</div><div class='add'>+a,b,*c = loop do break [*[]]; end; test_ok([a,b,c] == [nil,nil,[]])</div><div class='add'>+a,b,*c = loop do break [*[1]]; end; test_ok([a,b,c] == [1,nil,[]])</div><div class='add'>+a,b,*c = loop do break [*[1,2]]; end; test_ok([a,b,c] == [1,2,[]])</div><div class='add'>+</div><div class='add'>+a,b,*c = loop do break *[]; end; test_ok([a,b,c] == [nil,nil,[]])</div><div class='add'>+a,b,*c = loop do break *[1]; end; test_ok([a,b,c] == [1,nil,[]])</div><div class='add'>+a,b,*c = loop do break *[nil]; end; test_ok([a,b,c] == [nil,nil,[]])</div><div class='add'>+a,b,*c = loop do break *[[]]; end; test_ok([a,b,c] == [[],nil,[]])</div><div class='add'>+a,b,*c = loop do break *[1,2]; end; test_ok([a,b,c] == [1,2,[]])</div><div class='add'>+a,b,*c = loop do break *[*[]]; end; test_ok([a,b,c] == [nil,nil,[]])</div><div class='add'>+a,b,*c = loop do break *[*[1]]; end; test_ok([a,b,c] == [1,nil,[]])</div><div class='add'>+a,b,*c = loop do break *[*[1,2]]; end; test_ok([a,b,c] == [1,2,[]])</div><div class='add'>+</div><div class='add'>+def r(val); a = yield(); test_ok(a == val, 2); end</div><div class='add'>+r(nil){next}</div><div class='add'>+r(nil){next nil}</div><div class='add'>+r(1){next 1}</div><div class='add'>+r([]){next []}</div><div class='add'>+r([1]){next [1]}</div><div class='add'>+r([nil]){next [nil]}</div><div class='add'>+r([[]]){next [[]]}</div><div class='add'>+r([]){next [*[]]}</div><div class='add'>+r([1]){next [*[1]]}</div><div class='add'>+r([1,2]){next [*[1,2]]}</div><div class='add'>+</div><div class='add'>+r([]){next *[]}</div><div class='add'>+r([1]){next *[1]}</div><div class='add'>+r([nil]){next *[nil]}</div><div class='add'>+r([[]]){next *[[]]}</div><div class='add'>+r([]){next *[*[]]}</div><div class='add'>+r([1]){next *[*[1]]}</div><div class='add'>+r([1,2]){next *[*[1,2]]}</div><div class='add'>+</div><div class='add'>+def r(val); *a = yield(); test_ok(a == val, 2); end</div><div class='add'>+r([nil]){next}</div><div class='add'>+r([nil]){next nil}</div><div class='add'>+r([1]){next 1}</div><div class='add'>+r([]){next []}</div><div class='add'>+r([1]){next [1]}</div><div class='add'>+r([nil]){next [nil]}</div><div class='add'>+r([[]]){next [[]]}</div><div class='add'>+r([1,2]){next [1,2]}</div><div class='add'>+r([]){next [*[]]}</div><div class='add'>+r([1]){next [*[1]]}</div><div class='add'>+r([1,2]){next [*[1,2]]}</div><div class='add'>+</div><div class='add'>+def r(val); *a = *yield(); test_ok(a == val, 2); end</div><div class='add'>+r([[]]){next *[[]]}</div><div class='add'>+r([1,2]){next *[1,2]}</div><div class='add'>+r([1,2]){next *[*[1,2]]}</div><div class='add'>+</div><div class='add'>+def r(val); a,b,*c = yield(); test_ok([a,b,c] == val, 2); end</div><div class='add'>+r([nil,nil,[]]){next}</div><div class='add'>+r([nil,nil,[]]){next nil}</div><div class='add'>+r([1,nil,[]]){next 1}</div><div class='add'>+r([nil,nil,[]]){next []}</div><div class='add'>+r([1,nil,[]]){next [1]}</div><div class='add'>+r([nil,nil,[]]){next [nil]}</div><div class='add'>+r([[],nil,[]]){next [[]]}</div><div class='add'>+r([1,2,[]]){next [1,2]}</div><div class='add'>+r([nil,nil,[]]){next [*[]]}</div><div class='add'>+r([1,nil,[]]){next [*[1]]}</div><div class='add'>+r([1,2,[]]){next [*[1,2]]}</div><div class='add'>+</div><div class='add'>+def r(val); a,b,*c = *yield(); test_ok([a,b,c] == val, 2); end</div><div class='add'>+r([[],nil,[]]){next *[[]]}</div><div class='add'>+r([1,2,[]]){next *[1,2]}</div><div class='add'>+r([1,2,[]]){next *[*[1,2]]}</div><div class='add'>+</div><div class='add'>+test_check "condition"</div><div class='add'>+</div><div class='add'>+$x = '0';</div><div class='add'>+</div><div class='add'>+$x == $x &amp;&amp; test_ok(true)</div><div class='add'>+$x != $x &amp;&amp; test_ok(false)</div><div class='add'>+$x == $x || test_ok(false)</div><div class='add'>+$x != $x || test_ok(true)</div><div class='add'>+</div><div class='add'>+# first test to see if we can run the tests.</div><div class='add'>+</div><div class='add'>+test_check "if/unless";</div><div class='add'>+</div><div class='add'>+$x = 'test';</div><div class='add'>+test_ok(if $x == $x then true else false end)</div><div class='add'>+$bad = false</div><div class='add'>+unless $x == $x</div><div class='add'>+  $bad = true</div><div class='add'>+end</div><div class='add'>+test_ok(!$bad)</div><div class='add'>+test_ok(unless $x != $x then true else false end)</div><div class='add'>+</div><div class='add'>+test_check "case"</div><div class='add'>+</div><div class='add'>+case 5</div><div class='add'>+when 1, 2, 3, 4, 6, 7, 8</div><div class='add'>+  test_ok(false)</div><div class='add'>+when 5</div><div class='add'>+  test_ok(true)</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+case 5</div><div class='add'>+when 5</div><div class='add'>+  test_ok(true)</div><div class='add'>+when 1..10</div><div class='add'>+  test_ok(false)</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+case 5</div><div class='add'>+when 1..10</div><div class='add'>+  test_ok(true)</div><div class='add'>+else</div><div class='add'>+  test_ok(false)</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+case 5</div><div class='add'>+when 5</div><div class='add'>+  test_ok(true)</div><div class='add'>+else</div><div class='add'>+  test_ok(false)</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+case "foobar"</div><div class='add'>+when /^f.*r$/</div><div class='add'>+  test_ok(true)</div><div class='add'>+else</div><div class='add'>+  test_ok(false)</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+test_check "while/until";</div><div class='add'>+</div><div class='add'>+while_tmp = "while_tmp.#{$$}"</div><div class='add'>+tmp = open(while_tmp, "w")</div><div class='add'>+tmp.print "tvi925\n";</div><div class='add'>+tmp.print "tvi920\n";</div><div class='add'>+tmp.print "vt100\n";</div><div class='add'>+tmp.print "Amiga\n";</div><div class='add'>+tmp.print "paper\n";</div><div class='add'>+tmp.close</div><div class='add'>+</div><div class='add'>+# test break</div><div class='add'>+</div><div class='add'>+tmp = open(while_tmp, "r")</div><div class='add'>+test_ok(tmp.kind_of?(File))</div><div class='add'>+</div><div class='add'>+while line = tmp.gets()</div><div class='add'>+  break if /vt100/ =~ line</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+test_ok(!tmp.eof? &amp;&amp; /vt100/ =~ line)</div><div class='add'>+tmp.close</div><div class='add'>+</div><div class='add'>+# test next</div><div class='add'>+$bad = false</div><div class='add'>+tmp = open(while_tmp, "r")</div><div class='add'>+while line = tmp.gets()</div><div class='add'>+  next if /vt100/ =~ line</div><div class='add'>+  $bad = 1 if /vt100/ =~ line</div><div class='add'>+end</div><div class='add'>+test_ok(!(!tmp.eof? || /vt100/ =~ line || $bad))</div><div class='add'>+tmp.close</div><div class='add'>+</div><div class='add'>+# test redo</div><div class='add'>+$bad = false</div><div class='add'>+tmp = open(while_tmp, "r")</div><div class='add'>+while line = tmp.gets()</div><div class='add'>+  lastline = line</div><div class='add'>+  line = line.gsub(/vt100/, 'VT100')</div><div class='add'>+  if lastline != line</div><div class='add'>+    line.gsub!('VT100', 'Vt100')</div><div class='add'>+    redo</div><div class='add'>+  end</div><div class='add'>+  $bad = 1 if /vt100/ =~ line</div><div class='add'>+  $bad = 1 if /VT100/ =~ line</div><div class='add'>+end</div><div class='add'>+test_ok(tmp.eof? &amp;&amp; !$bad)</div><div class='add'>+tmp.close</div><div class='add'>+</div><div class='add'>+sum=0</div><div class='add'>+for i in 1..10</div><div class='add'>+  sum += i</div><div class='add'>+  i -= 1</div><div class='add'>+  if i &gt; 0</div><div class='add'>+    redo</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+test_ok(sum == 220)</div><div class='add'>+</div><div class='add'>+# test interval</div><div class='add'>+$bad = false</div><div class='add'>+tmp = open(while_tmp, "r")</div><div class='add'>+while line = tmp.gets()</div><div class='add'>+  break if 3</div><div class='add'>+  case line</div><div class='add'>+  when /vt100/, /Amiga/, /paper/</div><div class='add'>+    $bad = true</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+test_ok(!$bad)</div><div class='add'>+tmp.close</div><div class='add'>+</div><div class='add'>+File.unlink while_tmp or `/bin/rm -f "#{while_tmp}"`</div><div class='add'>+test_ok(!File.exist?(while_tmp))</div><div class='add'>+</div><div class='add'>+i = 0</div><div class='add'>+until i&gt;4</div><div class='add'>+  i+=1</div><div class='add'>+end</div><div class='add'>+test_ok(i&gt;4)</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+# exception handling</div><div class='add'>+test_check "exception";</div><div class='add'>+</div><div class='add'>+begin</div><div class='add'>+  raise "this must be handled"</div><div class='add'>+  test_ok(false)</div><div class='add'>+rescue</div><div class='add'>+  test_ok(true)</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+$bad = true</div><div class='add'>+begin</div><div class='add'>+  raise "this must be handled no.2"</div><div class='add'>+rescue</div><div class='add'>+  if $bad</div><div class='add'>+    $bad = false</div><div class='add'>+    retry</div><div class='add'>+    test_ok(false)</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+test_ok(true)</div><div class='add'>+</div><div class='add'>+# exception in rescue clause</div><div class='add'>+$string = "this must be handled no.3"</div><div class='add'>+begin</div><div class='add'>+  begin</div><div class='add'>+    raise "exception in rescue clause"</div><div class='add'>+  rescue</div><div class='add'>+    raise $string</div><div class='add'>+  end</div><div class='add'>+  test_ok(false)</div><div class='add'>+rescue =&gt; e</div><div class='add'>+  test_ok($! == e)</div><div class='add'>+  test_ok(e.message == $string)</div><div class='add'>+  test_ok(e != $string)</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+# exception in ensure clause</div><div class='add'>+begin</div><div class='add'>+  begin</div><div class='add'>+    raise "this must be handled no.4"</div><div class='add'>+  ensure</div><div class='add'>+    raise "exception in ensure clause"</div><div class='add'>+  end</div><div class='add'>+  test_ok(false)</div><div class='add'>+rescue</div><div class='add'>+  test_ok(true)</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+$bad = true</div><div class='add'>+begin</div><div class='add'>+  begin</div><div class='add'>+    raise "this must be handled no.5"</div><div class='add'>+  ensure</div><div class='add'>+    $bad = false</div><div class='add'>+  end</div><div class='add'>+rescue</div><div class='add'>+end</div><div class='add'>+test_ok(!$bad)</div><div class='add'>+</div><div class='add'>+$bad = true</div><div class='add'>+begin</div><div class='add'>+  begin</div><div class='add'>+    raise "this must be handled no.6"</div><div class='add'>+  ensure</div><div class='add'>+    $bad = false</div><div class='add'>+  end</div><div class='add'>+rescue</div><div class='add'>+end</div><div class='add'>+test_ok(!$bad)</div><div class='add'>+</div><div class='add'>+$bad = true</div><div class='add'>+while true</div><div class='add'>+  begin</div><div class='add'>+    break</div><div class='add'>+  ensure</div><div class='add'>+    $bad = false</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+test_ok(!$bad)</div><div class='add'>+</div><div class='add'>+test_ok(catch(:foo) {</div><div class='add'>+     loop do</div><div class='add'>+       loop do</div><div class='add'>+	 throw :foo, true</div><div class='add'>+	 break</div><div class='add'>+       end</div><div class='add'>+       break</div><div class='add'>+       test_ok(false)			# should not reach here</div><div class='add'>+     end</div><div class='add'>+     false</div><div class='add'>+   })</div><div class='add'>+</div><div class='add'>+test_check "array"</div><div class='add'>+test_ok([1, 2] + [3, 4] == [1, 2, 3, 4])</div><div class='add'>+test_ok([1, 2] * 2 == [1, 2, 1, 2])</div><div class='add'>+test_ok([1, 2] * ":" == "1:2")</div><div class='add'>+</div><div class='add'>+test_ok([1, 2].hash == [1, 2].hash)</div><div class='add'>+</div><div class='add'>+test_ok([1,2,3] &amp; [2,3,4] == [2,3])</div><div class='add'>+test_ok([1,2,3] | [2,3,4] == [1,2,3,4])</div><div class='add'>+test_ok([1,2,3] - [2,3] == [1])</div><div class='add'>+</div><div class='add'>+$x = [0, 1, 2, 3, 4, 5]</div><div class='add'>+test_ok($x[2] == 2)</div><div class='add'>+test_ok($x[1..3] == [1, 2, 3])</div><div class='add'>+test_ok($x[1,3] == [1, 2, 3])</div><div class='add'>+</div><div class='add'>+$x[0, 2] = 10</div><div class='add'>+test_ok($x[0] == 10 &amp;&amp; $x[1] == 2)</div><div class='add'>+</div><div class='add'>+$x[0, 0] = -1</div><div class='add'>+test_ok($x[0] == -1 &amp;&amp; $x[1] == 10)</div><div class='add'>+</div><div class='add'>+$x[-1, 1] = 20</div><div class='add'>+test_ok($x[-1] == 20 &amp;&amp; $x.pop == 20)</div><div class='add'>+</div><div class='add'>+# array and/or</div><div class='add'>+test_ok(([1,2,3]&amp;[2,4,6]) == [2])</div><div class='add'>+test_ok(([1,2,3]|[2,4,6]) == [1,2,3,4,6])</div><div class='add'>+</div><div class='add'>+# compact</div><div class='add'>+$x = [nil, 1, nil, nil, 5, nil, nil]</div><div class='add'>+$x.compact!</div><div class='add'>+test_ok($x == [1, 5])</div><div class='add'>+</div><div class='add'>+# uniq</div><div class='add'>+$x = [1, 1, 4, 2, 5, 4, 5, 1, 2]</div><div class='add'>+$x.uniq!</div><div class='add'>+test_ok($x == [1, 4, 2, 5])</div><div class='add'>+</div><div class='add'>+# empty?</div><div class='add'>+test_ok(!$x.empty?)</div><div class='add'>+$x = []</div><div class='add'>+test_ok($x.empty?)</div><div class='add'>+</div><div class='add'>+# sort</div><div class='add'>+$x = ["it", "came", "to", "pass", "that", "..."]</div><div class='add'>+$x = $x.sort.join(" ")</div><div class='add'>+test_ok($x == "... came it pass that to")</div><div class='add'>+$x = [2,5,3,1,7]</div><div class='add'>+$x.sort!{|a,b| a&lt;=&gt;b}		# sort with condition</div><div class='add'>+test_ok($x == [1,2,3,5,7])</div><div class='add'>+$x.sort!{|a,b| b-a}		# reverse sort</div><div class='add'>+test_ok($x == [7,5,3,2,1])</div><div class='add'>+</div><div class='add'>+# split test</div><div class='add'>+$x = "The Book of Mormon"</div><div class='add'>+test_ok($x.split(//).reverse!.join == $x.reverse)</div><div class='add'>+test_ok($x.reverse == $x.reverse!)</div><div class='add'>+test_ok("1 byte string".split(//).reverse.join(":") == "g:n:i:r:t:s: :e:t:y:b: :1")</div><div class='add'>+$x = "a b c  d"</div><div class='add'>+test_ok($x.split == ['a', 'b', 'c', 'd'])</div><div class='add'>+test_ok($x.split(' ') == ['a', 'b', 'c', 'd'])</div><div class='add'>+test_ok(defined? "a".chomp)</div><div class='add'>+test_ok("abc".scan(/./) == ["a", "b", "c"])</div><div class='add'>+test_ok("1a2b3c".scan(/(\d.)/) == [["1a"], ["2b"], ["3c"]])</div><div class='add'>+# non-greedy match</div><div class='add'>+test_ok("a=12;b=22".scan(/(.*?)=(\d*);?/) == [["a", "12"], ["b", "22"]])</div><div class='add'>+</div><div class='add'>+$x = [1]</div><div class='add'>+test_ok(($x * 5).join(":") == '1:1:1:1:1')</div><div class='add'>+test_ok(($x * 1).join(":") == '1')</div><div class='add'>+test_ok(($x * 0).join(":") == '')</div><div class='add'>+</div><div class='add'>+*$x = *(1..7).to_a</div><div class='add'>+test_ok($x.size == 7)</div><div class='add'>+test_ok($x == [1, 2, 3, 4, 5, 6, 7])</div><div class='add'>+</div><div class='add'>+$x = [1,2,3]</div><div class='add'>+$x[1,0] = $x</div><div class='add'>+test_ok($x == [1,1,2,3,2,3])</div><div class='add'>+</div><div class='add'>+$x = [1,2,3]</div><div class='add'>+$x[-1,0] = $x</div><div class='add'>+test_ok($x == [1,2,1,2,3,3])</div><div class='add'>+</div><div class='add'>+$x = [1,2,3]</div><div class='add'>+$x.concat($x)</div><div class='add'>+test_ok($x == [1,2,3,1,2,3])</div><div class='add'>+</div><div class='add'>+test_check "hash"</div><div class='add'>+$x = {1=&gt;2, 2=&gt;4, 3=&gt;6}</div><div class='add'>+</div><div class='add'>+test_ok($x[1] == 2)</div><div class='add'>+</div><div class='add'>+test_ok(begin</div><div class='add'>+     for k,v in $x</div><div class='add'>+       raise if k*2 != v</div><div class='add'>+     end</div><div class='add'>+     true</div><div class='add'>+   rescue</div><div class='add'>+     false</div><div class='add'>+   end)</div><div class='add'>+</div><div class='add'>+test_ok($x.length == 3)</div><div class='add'>+test_ok($x.has_key?(1))</div><div class='add'>+test_ok($x.has_value?(4))</div><div class='add'>+test_ok($x.values_at(2,3) == [4,6])</div><div class='add'>+test_ok($x == {1=&gt;2, 2=&gt;4, 3=&gt;6})</div><div class='add'>+</div><div class='add'>+$z = $x.keys.sort.join(":")</div><div class='add'>+test_ok($z == "1:2:3")</div><div class='add'>+</div><div class='add'>+$z = $x.values.sort.join(":")</div><div class='add'>+test_ok($z == "2:4:6")</div><div class='add'>+test_ok($x == $x)</div><div class='add'>+</div><div class='add'>+$x.shift</div><div class='add'>+test_ok($x.length == 2)</div><div class='add'>+</div><div class='add'>+$z = [1,2]</div><div class='add'>+$x[$z] = 256</div><div class='add'>+test_ok($x[$z] == 256)</div><div class='add'>+</div><div class='add'>+$x = Hash.new(0)</div><div class='add'>+$x[1] = 1</div><div class='add'>+test_ok($x[1] == 1)</div><div class='add'>+test_ok($x[2] == 0)</div><div class='add'>+</div><div class='add'>+$x = Hash.new([])</div><div class='add'>+test_ok($x[22] == [])</div><div class='add'>+test_ok($x[22].equal?($x[22]))</div><div class='add'>+</div><div class='add'>+$x = Hash.new{[]}</div><div class='add'>+test_ok($x[22] == [])</div><div class='add'>+test_ok(!$x[22].equal?($x[22]))</div><div class='add'>+</div><div class='add'>+$x = Hash.new{|h,k| $z = k; h[k] = k*2}</div><div class='add'>+$z = 0</div><div class='add'>+test_ok($x[22] == 44)</div><div class='add'>+test_ok($z == 22)</div><div class='add'>+$z = 0</div><div class='add'>+test_ok($x[22] == 44)</div><div class='add'>+test_ok($z == 0)</div><div class='add'>+$x.default = 5</div><div class='add'>+test_ok($x[23] == 5)</div><div class='add'>+</div><div class='add'>+$x = Hash.new</div><div class='add'>+def $x.default(k)</div><div class='add'>+  $z = k</div><div class='add'>+  self[k] = k*2</div><div class='add'>+end</div><div class='add'>+$z = 0</div><div class='add'>+test_ok($x[22] == 44)</div><div class='add'>+test_ok($z == 22)</div><div class='add'>+$z = 0</div><div class='add'>+test_ok($x[22] == 44)</div><div class='add'>+test_ok($z == 0)</div><div class='add'>+</div><div class='add'>+test_check "iterator"</div><div class='add'>+</div><div class='add'>+# yield at top level</div><div class='add'>+test_ok(!defined?(yield))</div><div class='add'>+</div><div class='add'>+$x = [1, 2, 3, 4]</div><div class='add'>+$y = []</div><div class='add'>+</div><div class='add'>+# iterator over array</div><div class='add'>+for i in $x</div><div class='add'>+  $y.push i</div><div class='add'>+end</div><div class='add'>+test_ok($x == $y)</div><div class='add'>+</div><div class='add'>+# nested iterator</div><div class='add'>+def tt</div><div class='add'>+  1.upto(10) {|i|</div><div class='add'>+    yield i</div><div class='add'>+  }</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+i=0</div><div class='add'>+tt{|i| break if i == 5}</div><div class='add'>+test_ok(i == 0)</div><div class='add'>+</div><div class='add'>+def tt2(dummy)</div><div class='add'>+  yield 1</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def tt3(&amp;block)</div><div class='add'>+  tt2(raise(ArgumentError,""),&amp;block)</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+$x = false</div><div class='add'>+begin</div><div class='add'>+  tt3{}</div><div class='add'>+rescue ArgumentError</div><div class='add'>+  $x = true</div><div class='add'>+rescue Exception</div><div class='add'>+end</div><div class='add'>+test_ok($x)</div><div class='add'>+</div><div class='add'>+def tt4 &amp;block</div><div class='add'>+  tt2(raise(ArgumentError,""),&amp;block)</div><div class='add'>+end</div><div class='add'>+$x = false</div><div class='add'>+begin</div><div class='add'>+  tt4{}</div><div class='add'>+rescue ArgumentError</div><div class='add'>+  $x = true</div><div class='add'>+rescue Exception</div><div class='add'>+end</div><div class='add'>+test_ok($x)</div><div class='add'>+</div><div class='add'>+# iterator break/redo/next/retry</div><div class='add'>+done = true</div><div class='add'>+loop{</div><div class='add'>+  break</div><div class='add'>+  done = false			# should not reach here</div><div class='add'>+}</div><div class='add'>+test_ok(done)</div><div class='add'>+</div><div class='add'>+done = false</div><div class='add'>+$bad = false</div><div class='add'>+loop {</div><div class='add'>+  break if done</div><div class='add'>+  done = true</div><div class='add'>+  next</div><div class='add'>+  $bad = true			# should not reach here</div><div class='add'>+}</div><div class='add'>+test_ok(!$bad)</div><div class='add'>+</div><div class='add'>+done = false</div><div class='add'>+$bad = false</div><div class='add'>+loop {</div><div class='add'>+  break if done</div><div class='add'>+  done = true</div><div class='add'>+  redo</div><div class='add'>+  $bad = true			# should not reach here</div><div class='add'>+}</div><div class='add'>+test_ok(!$bad)</div><div class='add'>+</div><div class='add'>+$x = []</div><div class='add'>+for i in 1 .. 7</div><div class='add'>+  $x.push i</div><div class='add'>+end</div><div class='add'>+test_ok($x.size == 7)</div><div class='add'>+test_ok($x == [1, 2, 3, 4, 5, 6, 7])</div><div class='add'>+</div><div class='add'>+# append method to built-in class</div><div class='add'>+class Array</div><div class='add'>+  def iter_test1</div><div class='add'>+    collect{|e| [e, yield(e)]}.sort{|a,b|a[1]&lt;=&gt;b[1]}</div><div class='add'>+  end</div><div class='add'>+  def iter_test2</div><div class='add'>+    a = collect{|e| [e, yield(e)]}</div><div class='add'>+    a.sort{|a,b|a[1]&lt;=&gt;b[1]}</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+$x = [[1,2],[3,4],[5,6]]</div><div class='add'>+test_ok($x.iter_test1{|x|x} == $x.iter_test2{|x|x})</div><div class='add'>+</div><div class='add'>+class IterTest</div><div class='add'>+  def initialize(e); @body = e; end</div><div class='add'>+</div><div class='add'>+  def each0(&amp;block); @body.each(&amp;block); end</div><div class='add'>+  def each1(&amp;block); @body.each {|*x| block.call(*x) } end</div><div class='add'>+  def each2(&amp;block); @body.each {|*x| block.call(x) } end</div><div class='add'>+  def each3(&amp;block); @body.each {|x| block.call(*x) } end</div><div class='add'>+  def each4(&amp;block); @body.each {|x| block.call(x) } end</div><div class='add'>+  def each5; @body.each {|*x| yield(*x) } end</div><div class='add'>+  def each6; @body.each {|*x| yield(x) } end</div><div class='add'>+  def each7; @body.each {|x| yield(*x) } end</div><div class='add'>+  def each8; @body.each {|x| yield(x) } end</div><div class='add'>+</div><div class='add'>+  def f(a)</div><div class='add'>+    a</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+test_ok(IterTest.new(nil).method(:f).to_proc.call([1]) == [1])</div><div class='add'>+m = /\w+/.match("abc")</div><div class='add'>+test_ok(IterTest.new(nil).method(:f).to_proc.call([m]) == [m])</div><div class='add'>+</div><div class='add'>+IterTest.new([0]).each0 {|x| test_ok(x == 0)}</div><div class='add'>+IterTest.new([1]).each1 {|x| test_ok(x == 1)}</div><div class='add'>+IterTest.new([2]).each2 {|x| test_ok(x == [2])}</div><div class='add'>+#IterTest.new([3]).each3 {|x| test_ok(x == 3)}</div><div class='add'>+IterTest.new([4]).each4 {|x| test_ok(x == 4)}</div><div class='add'>+IterTest.new([5]).each5 {|x| test_ok(x == 5)}</div><div class='add'>+IterTest.new([6]).each6 {|x| test_ok(x == [6])}</div><div class='add'>+#IterTest.new([7]).each7 {|x| test_ok(x == 7)}</div><div class='add'>+IterTest.new([8]).each8 {|x| test_ok(x == 8)}</div><div class='add'>+</div><div class='add'>+IterTest.new([[0]]).each0 {|x| test_ok(x == [0])}</div><div class='add'>+IterTest.new([[1]]).each1 {|x| test_ok(x == [1])}</div><div class='add'>+IterTest.new([[2]]).each2 {|x| test_ok(x == [[2]])}</div><div class='add'>+IterTest.new([[3]]).each3 {|x| test_ok(x == 3)}</div><div class='add'>+IterTest.new([[4]]).each4 {|x| test_ok(x == [4])}</div><div class='add'>+IterTest.new([[5]]).each5 {|x| test_ok(x == [5])}</div><div class='add'>+IterTest.new([[6]]).each6 {|x| test_ok(x == [[6]])}</div><div class='add'>+IterTest.new([[7]]).each7 {|x| test_ok(x == 7)}</div><div class='add'>+IterTest.new([[8]]).each8 {|x| test_ok(x == [8])}</div><div class='add'>+</div><div class='add'>+IterTest.new([[0,0]]).each0 {|*x| test_ok(x == [[0,0]])}</div><div class='add'>+IterTest.new([[8,8]]).each8 {|*x| test_ok(x == [[8,8]])}</div><div class='add'>+</div><div class='add'>+def m0(v)</div><div class='add'>+  v</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def m1</div><div class='add'>+  m0(block_given?)</div><div class='add'>+end</div><div class='add'>+test_ok(m1{p 'test'})</div><div class='add'>+test_ok(!m1)</div><div class='add'>+</div><div class='add'>+def m</div><div class='add'>+  m0(block_given?,&amp;Proc.new{})</div><div class='add'>+end</div><div class='add'>+test_ok(m1{p 'test'})</div><div class='add'>+test_ok(!m1)</div><div class='add'>+</div><div class='add'>+class C</div><div class='add'>+  include Enumerable</div><div class='add'>+  def initialize</div><div class='add'>+    @a = [1,2,3]</div><div class='add'>+  end</div><div class='add'>+  def each(&amp;block)</div><div class='add'>+    @a.each(&amp;block)</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+test_ok(C.new.collect{|n| n} == [1,2,3])</div><div class='add'>+</div><div class='add'>+test_ok(Proc == lambda{}.class)</div><div class='add'>+test_ok(Proc == Proc.new{}.class)</div><div class='add'>+lambda{|a|test_ok(a==1)}.call(1)</div><div class='add'>+def block_test(klass, &amp;block)</div><div class='add'>+  test_ok(klass === block)</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+block_test(NilClass)</div><div class='add'>+block_test(Proc){}</div><div class='add'>+</div><div class='add'>+def call_argument_test(state, proc, *args)</div><div class='add'>+  x = state</div><div class='add'>+  begin</div><div class='add'>+    proc.call(*args)</div><div class='add'>+  rescue ArgumentError</div><div class='add'>+    x = !x</div><div class='add'>+  end</div><div class='add'>+  test_ok(x,2)</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+call_argument_test(true, lambda{||})</div><div class='add'>+call_argument_test(false, lambda{||}, 1)</div><div class='add'>+call_argument_test(true, lambda{|a,|}, 1)</div><div class='add'>+call_argument_test(false, lambda{|a,|})</div><div class='add'>+call_argument_test(false, lambda{|a,|}, 1,2)</div><div class='add'>+</div><div class='add'>+call_argument_test(true, Proc.new{||})</div><div class='add'>+call_argument_test(true, Proc.new{||}, 1)</div><div class='add'>+call_argument_test(true, Proc.new{|a,|}, 1)</div><div class='add'>+call_argument_test(true, Proc.new{|a,|})</div><div class='add'>+call_argument_test(true, Proc.new{|a,|}, 1,2)</div><div class='add'>+</div><div class='add'>+def block_get(&amp;block)</div><div class='add'>+  block</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+test_ok(Proc == block_get{}.class)</div><div class='add'>+call_argument_test(true, block_get{||})</div><div class='add'>+call_argument_test(true, block_get{||}, 1)</div><div class='add'>+call_argument_test(true, block_get{|a,|}, 1)</div><div class='add'>+call_argument_test(true, block_get{|a,|})</div><div class='add'>+call_argument_test(true, block_get{|a,|}, 1,2)</div><div class='add'>+</div><div class='add'>+call_argument_test(true, block_get(&amp;lambda{||}))</div><div class='add'>+call_argument_test(false, block_get(&amp;lambda{||}),1)</div><div class='add'>+call_argument_test(true, block_get(&amp;lambda{|a,|}),1)</div><div class='add'>+call_argument_test(false, block_get(&amp;lambda{|a,|}),1,2)</div><div class='add'>+</div><div class='add'>+blk = block_get{11}</div><div class='add'>+test_ok(blk.class == Proc)</div><div class='add'>+test_ok(blk.to_proc.class == Proc)</div><div class='add'>+test_ok(blk.clone.call == 11)</div><div class='add'>+test_ok(block_get(&amp;blk).class == Proc)</div><div class='add'>+</div><div class='add'>+lmd = lambda{44}</div><div class='add'>+test_ok(lmd.class == Proc)</div><div class='add'>+test_ok(lmd.to_proc.class == Proc)</div><div class='add'>+test_ok(lmd.clone.call == 44)</div><div class='add'>+test_ok(block_get(&amp;lmd).class == Proc)</div><div class='add'>+</div><div class='add'>+test_ok(Proc.new{|a,| a}.yield(1,2,3) == 1)</div><div class='add'>+call_argument_test(true, Proc.new{|a,|}, 1,2)</div><div class='add'>+</div><div class='add'>+test_ok(Proc.new{|&amp;b| b.call(10)}.call {|x| x} == 10)</div><div class='add'>+test_ok(Proc.new{|a,&amp;b| b.call(a)}.call(12) {|x| x} == 12)</div><div class='add'>+</div><div class='add'>+def test_return1</div><div class='add'>+  Proc.new {</div><div class='add'>+    return 55</div><div class='add'>+  }.yield + 5</div><div class='add'>+end</div><div class='add'>+test_ok(test_return1() == 55)</div><div class='add'>+def test_return2</div><div class='add'>+  lambda {</div><div class='add'>+    return 55</div><div class='add'>+  }.call + 5</div><div class='add'>+end</div><div class='add'>+test_ok(test_return2() == 60)</div><div class='add'>+</div><div class='add'>+def proc_call(&amp;b)</div><div class='add'>+  b.call</div><div class='add'>+end</div><div class='add'>+def proc_yield()</div><div class='add'>+  yield</div><div class='add'>+end</div><div class='add'>+def proc_return1</div><div class='add'>+  lambda{return 42}.call+1</div><div class='add'>+end</div><div class='add'>+test_ok(proc_return1() == 43)</div><div class='add'>+def proc_return2</div><div class='add'>+  -&gt;{return 42}.call+1</div><div class='add'>+end</div><div class='add'>+test_ok(proc_return2() == 43)</div><div class='add'>+def proc_return3</div><div class='add'>+  proc_call{return 42}+1</div><div class='add'>+end</div><div class='add'>+test_ok(proc_return3() == 42)</div><div class='add'>+def proc_return4</div><div class='add'>+  proc_yield{return 42}+1</div><div class='add'>+end</div><div class='add'>+test_ok(proc_return4() == 42)</div><div class='add'>+</div><div class='add'>+def ljump_test(state, proc, *args)</div><div class='add'>+  x = state</div><div class='add'>+  begin</div><div class='add'>+    proc.call(*args)</div><div class='add'>+  rescue LocalJumpError</div><div class='add'>+    x = !x</div><div class='add'>+  end</div><div class='add'>+  test_ok(x,2)</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+ljump_test(false, block_get{break})</div><div class='add'>+ljump_test(true, lambda{break})</div><div class='add'>+</div><div class='add'>+def exit_value_test(&amp;block)</div><div class='add'>+  block.call</div><div class='add'>+rescue LocalJumpError</div><div class='add'>+  $!.exit_value</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+test_ok(45 == exit_value_test{break 45})</div><div class='add'>+</div><div class='add'>+test_ok(55 == begin</div><div class='add'>+              block_get{break 55}.call</div><div class='add'>+            rescue LocalJumpError</div><div class='add'>+              $!.exit_value</div><div class='add'>+            end)</div><div class='add'>+</div><div class='add'>+def block_call(&amp;block)</div><div class='add'>+  block.call</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def test_b1</div><div class='add'>+  block_call{break 11}</div><div class='add'>+end</div><div class='add'>+test_ok(test_b1() == 11)</div><div class='add'>+</div><div class='add'>+def ljump_rescue(r)</div><div class='add'>+  begin</div><div class='add'>+    yield</div><div class='add'>+  rescue LocalJumpError =&gt; e</div><div class='add'>+    r if /from proc-closure/ =~ e.message</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def test_b2</div><div class='add'>+  ljump_rescue(22) do</div><div class='add'>+    block_get{break 21}.call</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+test_ok(test_b2() == 22)</div><div class='add'>+</div><div class='add'>+def test_b3</div><div class='add'>+  ljump_rescue(33) do</div><div class='add'>+    Proc.new{break 31}.yield</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+test_ok(test_b3() == 33)</div><div class='add'>+</div><div class='add'>+def test_b4</div><div class='add'>+  lambda{break 44}.call</div><div class='add'>+end</div><div class='add'>+test_ok(test_b4() == 44)</div><div class='add'>+</div><div class='add'>+def test_b5</div><div class='add'>+  ljump_rescue(55) do</div><div class='add'>+    b = block_get{break 54}</div><div class='add'>+    block_call(&amp;b)</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+test_ok(test_b5() == 55)</div><div class='add'>+</div><div class='add'>+def test_b6</div><div class='add'>+  b = lambda{break 67}</div><div class='add'>+  block_call(&amp;b)</div><div class='add'>+  66</div><div class='add'>+end</div><div class='add'>+test_ok(test_b6() == 66)</div><div class='add'>+</div><div class='add'>+def util_r7</div><div class='add'>+  block_get{break 78}</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def test_b7</div><div class='add'>+  b = util_r7()</div><div class='add'>+  ljump_rescue(77) do</div><div class='add'>+    block_call(&amp;b)</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+test_ok(test_b7() == 77)</div><div class='add'>+</div><div class='add'>+def util_b8(&amp;block)</div><div class='add'>+  block_call(&amp;block)</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def test_b8</div><div class='add'>+  util_b8{break 88}</div><div class='add'>+end</div><div class='add'>+test_ok(test_b8() == 88)</div><div class='add'>+</div><div class='add'>+def util_b9(&amp;block)</div><div class='add'>+  lambda{block.call; 98}.call</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def test_b9</div><div class='add'>+  util_b9{break 99}</div><div class='add'>+end</div><div class='add'>+test_ok(test_b9() == 99)</div><div class='add'>+</div><div class='add'>+def util_b10</div><div class='add'>+  util_b9{break 100}</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def test_b10</div><div class='add'>+  util_b10()</div><div class='add'>+end</div><div class='add'>+test_ok(test_b10() == 100)</div><div class='add'>+</div><div class='add'>+def test_b11</div><div class='add'>+  ljump_rescue(111) do</div><div class='add'>+    loop do</div><div class='add'>+      Proc.new{break 110}.yield</div><div class='add'>+      break 112</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+test_ok(test_b11() == 111)</div><div class='add'>+</div><div class='add'>+def test_b12</div><div class='add'>+  loop do</div><div class='add'>+    break lambda{break 122}.call</div><div class='add'>+    break 121</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+test_ok(test_b12() == 122)</div><div class='add'>+</div><div class='add'>+def test_b13</div><div class='add'>+  ljump_rescue(133) do</div><div class='add'>+    while true</div><div class='add'>+      Proc.new{break 130}.yield</div><div class='add'>+      break 131</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+test_ok(test_b13() == 133)</div><div class='add'>+</div><div class='add'>+def test_b14</div><div class='add'>+  while true</div><div class='add'>+    break lambda{break 144}.call</div><div class='add'>+    break 143</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+test_ok(test_b14() == 144)</div><div class='add'>+</div><div class='add'>+def test_b15</div><div class='add'>+  [0].each {|c| yield 1 }</div><div class='add'>+  156</div><div class='add'>+end</div><div class='add'>+test_ok(test_b15{|e| break 155 } == 155)</div><div class='add'>+</div><div class='add'>+def marity_test(m)</div><div class='add'>+  method = method(m)</div><div class='add'>+  test_ok(method.arity == method.to_proc.arity, 2)</div><div class='add'>+end</div><div class='add'>+marity_test(:test_ok)</div><div class='add'>+marity_test(:marity_test)</div><div class='add'>+marity_test(:p)</div><div class='add'>+</div><div class='add'>+class ITER_TEST1</div><div class='add'>+   def a</div><div class='add'>+     block_given?</div><div class='add'>+   end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+class ITER_TEST2 &lt; ITER_TEST1</div><div class='add'>+   def a</div><div class='add'>+     test_ok(super)</div><div class='add'>+     super</div><div class='add'>+   end</div><div class='add'>+end</div><div class='add'>+test_ok(ITER_TEST2.new.a {})</div><div class='add'>+</div><div class='add'>+class ITER_TEST3</div><div class='add'>+  def foo x</div><div class='add'>+    return yield if block_given?</div><div class='add'>+    x</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+class ITER_TEST4 &lt; ITER_TEST3</div><div class='add'>+  def foo x</div><div class='add'>+    test_ok(super == yield)</div><div class='add'>+    test_ok(super(x, &amp;nil) == x)</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+ITER_TEST4.new.foo(44){55}</div><div class='add'>+</div><div class='add'>+class ITER_TEST5</div><div class='add'>+   def tt(aa)</div><div class='add'>+     aa</div><div class='add'>+   end</div><div class='add'>+</div><div class='add'>+   def uu(a)</div><div class='add'>+      class &lt;&lt; self</div><div class='add'>+         define_method(:tt) do |sym|</div><div class='add'>+            super(sym)</div><div class='add'>+         end</div><div class='add'>+      end</div><div class='add'>+   end</div><div class='add'>+</div><div class='add'>+   def xx(*x)</div><div class='add'>+     x.size</div><div class='add'>+   end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+a = ITER_TEST5.new</div><div class='add'>+a.uu(12)</div><div class='add'>+test_ok(a.tt(1) == 1)</div><div class='add'>+</div><div class='add'>+class ITER_TEST6 &lt; ITER_TEST5</div><div class='add'>+   def xx(*a)</div><div class='add'>+      a &lt;&lt; 12</div><div class='add'>+      super</div><div class='add'>+   end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+test_ok(ITER_TEST6.new.xx([24]) == 2)</div><div class='add'>+</div><div class='add'>+test_check "float"</div><div class='add'>+test_ok(2.6.floor == 2)</div><div class='add'>+test_ok((-2.6).floor == -3)</div><div class='add'>+test_ok(2.6.ceil == 3)</div><div class='add'>+test_ok((-2.6).ceil == -2)</div><div class='add'>+test_ok(2.6.truncate == 2)</div><div class='add'>+test_ok((-2.6).truncate == -2)</div><div class='add'>+test_ok(2.6.round == 3)</div><div class='add'>+test_ok((-2.4).truncate == -2)</div><div class='add'>+test_ok((13.4 % 1 - 0.4).abs &lt; 0.0001)</div><div class='add'>+nan = 0.0/0</div><div class='add'>+def nan_test(x,y)</div><div class='add'>+  test_ok(x != y)</div><div class='add'>+  test_ok((x &lt; y) == false)</div><div class='add'>+  test_ok((x &gt; y) == false)</div><div class='add'>+  test_ok((x &lt;= y) == false)</div><div class='add'>+  test_ok((x &gt;= y) == false)</div><div class='add'>+end</div><div class='add'>+nan_test(nan, nan)</div><div class='add'>+nan_test(nan, 0)</div><div class='add'>+nan_test(nan, 1)</div><div class='add'>+nan_test(nan, -1)</div><div class='add'>+nan_test(nan, 1000)</div><div class='add'>+nan_test(nan, -1000)</div><div class='add'>+nan_test(nan, 1_000_000_000_000)</div><div class='add'>+nan_test(nan, -1_000_000_000_000)</div><div class='add'>+nan_test(nan, 100.0);</div><div class='add'>+nan_test(nan, -100.0);</div><div class='add'>+nan_test(nan, 0.001);</div><div class='add'>+nan_test(nan, -0.001);</div><div class='add'>+nan_test(nan, 1.0/0);</div><div class='add'>+nan_test(nan, -1.0/0);</div><div class='add'>+</div><div class='add'>+#s = "3.7517675036461267e+17"</div><div class='add'>+#test_ok(s == sprintf("%.16e", s.to_f))</div><div class='add'>+f = 3.7517675036461267e+17</div><div class='add'>+test_ok(f == sprintf("%.16e", f).to_f)</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+test_check "bignum"</div><div class='add'>+def fact(n)</div><div class='add'>+  return 1 if n == 0</div><div class='add'>+  f = 1</div><div class='add'>+  while n&gt;0</div><div class='add'>+    f *= n</div><div class='add'>+    n -= 1</div><div class='add'>+  end</div><div class='add'>+  return f</div><div class='add'>+end</div><div class='add'>+$x = fact(40)</div><div class='add'>+test_ok($x == $x)</div><div class='add'>+test_ok($x == fact(40))</div><div class='add'>+test_ok($x &lt; $x+2)</div><div class='add'>+test_ok($x &gt; $x-2)</div><div class='add'>+test_ok($x == 815915283247897734345611269596115894272000000000)</div><div class='add'>+test_ok($x != 815915283247897734345611269596115894272000000001)</div><div class='add'>+test_ok($x+1 == 815915283247897734345611269596115894272000000001)</div><div class='add'>+test_ok($x/fact(20) == 335367096786357081410764800000)</div><div class='add'>+$x = -$x</div><div class='add'>+test_ok($x == -815915283247897734345611269596115894272000000000)</div><div class='add'>+test_ok(2-(2**32) == -(2**32-2))</div><div class='add'>+test_ok(2**32 - 5 == (2**32-3)-2)</div><div class='add'>+</div><div class='add'>+$good = true;</div><div class='add'>+for i in 1000..1014</div><div class='add'>+  $good = false if ((1 &lt;&lt; i) != (2**i))</div><div class='add'>+end</div><div class='add'>+test_ok($good)</div><div class='add'>+</div><div class='add'>+$good = true;</div><div class='add'>+n1= 1 &lt;&lt; 1000</div><div class='add'>+for i in 1000..1014</div><div class='add'>+  $good = false if ((1 &lt;&lt; i) != n1)</div><div class='add'>+  n1 *= 2</div><div class='add'>+end</div><div class='add'>+test_ok($good)</div><div class='add'>+</div><div class='add'>+$good = true;</div><div class='add'>+n2=n1</div><div class='add'>+for i in 1..10</div><div class='add'>+  n1 = n1 / 2</div><div class='add'>+  n2 = n2 &gt;&gt; 1</div><div class='add'>+  $good = false if (n1 != n2)</div><div class='add'>+end</div><div class='add'>+test_ok($good)</div><div class='add'>+</div><div class='add'>+$good = true;</div><div class='add'>+for i in 4000..4096</div><div class='add'>+  n1 = 1 &lt;&lt; i;</div><div class='add'>+  if (n1**2-1) / (n1+1) != (n1-1)</div><div class='add'>+    $good = false</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+test_ok($good)</div><div class='add'>+</div><div class='add'>+b = 10**80</div><div class='add'>+a = b * 9 + 7</div><div class='add'>+test_ok(7 == a.modulo(b))</div><div class='add'>+test_ok(-b + 7 == a.modulo(-b))</div><div class='add'>+test_ok(b + -7 == (-a).modulo(b))</div><div class='add'>+test_ok(-7 == (-a).modulo(-b))</div><div class='add'>+test_ok(7 == a.remainder(b))</div><div class='add'>+test_ok(7 == a.remainder(-b))</div><div class='add'>+test_ok(-7 == (-a).remainder(b))</div><div class='add'>+test_ok(-7 == (-a).remainder(-b))</div><div class='add'>+</div><div class='add'>+test_ok(10**40+10**20 == 10000000000000000000100000000000000000000)</div><div class='add'>+test_ok(10**40/10**20 == 100000000000000000000)</div><div class='add'>+</div><div class='add'>+a = 677330545177305025495135714080</div><div class='add'>+b = 14269972710765292560</div><div class='add'>+test_ok(a % b == 0)</div><div class='add'>+test_ok(-a % b == 0)</div><div class='add'>+</div><div class='add'>+def shift_test(a)</div><div class='add'>+  b = a / (2 ** 32)</div><div class='add'>+  c = a &gt;&gt; 32</div><div class='add'>+  test_ok(b == c)</div><div class='add'>+</div><div class='add'>+  b = a * (2 ** 32)</div><div class='add'>+  c = a &lt;&lt; 32</div><div class='add'>+  test_ok(b == c)</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+shift_test(-4518325415524767873)</div><div class='add'>+shift_test(-0xfffffffffffffffff)</div><div class='add'>+</div><div class='add'>+test_check "string &amp; char"</div><div class='add'>+</div><div class='add'>+test_ok("abcd" == "abcd")</div><div class='add'>+test_ok("abcd" =~ /abcd/)</div><div class='add'>+test_ok("abcd" === "abcd")</div><div class='add'>+# compile time string concatenation</div><div class='add'>+test_ok("ab" "cd" == "abcd")</div><div class='add'>+test_ok("#{22}aa" "cd#{44}" == "22aacd44")</div><div class='add'>+test_ok("#{22}aa" "cd#{44}" "55" "#{66}" == "22aacd445566")</div><div class='add'>+test_ok("abc" !~ /^$/)</div><div class='add'>+test_ok("abc\n" !~ /^$/)</div><div class='add'>+test_ok("abc" !~ /^d*$/)</div><div class='add'>+test_ok(("abc" =~ /d*$/) == 3)</div><div class='add'>+test_ok("" =~ /^$/)</div><div class='add'>+test_ok("\n" =~ /^$/)</div><div class='add'>+test_ok("a\n\n" =~ /^$/)</div><div class='add'>+test_ok("abcabc" =~ /.*a/ &amp;&amp; $&amp; == "abca")</div><div class='add'>+test_ok("abcabc" =~ /.*c/ &amp;&amp; $&amp; == "abcabc")</div><div class='add'>+test_ok("abcabc" =~ /.*?a/ &amp;&amp; $&amp; == "a")</div><div class='add'>+test_ok("abcabc" =~ /.*?c/ &amp;&amp; $&amp; == "abc")</div><div class='add'>+test_ok(/(.|\n)*?\n(b|\n)/ =~ "a\nb\n\n" &amp;&amp; $&amp; == "a\nb")</div><div class='add'>+</div><div class='add'>+test_ok(/^(ab+)+b/ =~ "ababb" &amp;&amp; $&amp; == "ababb")</div><div class='add'>+test_ok(/^(?:ab+)+b/ =~ "ababb" &amp;&amp; $&amp; == "ababb")</div><div class='add'>+test_ok(/^(ab+)+/ =~ "ababb" &amp;&amp; $&amp; == "ababb")</div><div class='add'>+test_ok(/^(?:ab+)+/ =~ "ababb" &amp;&amp; $&amp; == "ababb")</div><div class='add'>+</div><div class='add'>+test_ok(/(\s+\d+){2}/ =~ " 1 2" &amp;&amp; $&amp; == " 1 2")</div><div class='add'>+test_ok(/(?:\s+\d+){2}/ =~ " 1 2" &amp;&amp; $&amp; == " 1 2")</div><div class='add'>+</div><div class='add'>+$x = &lt;&lt;END;</div><div class='add'>+ABCD</div><div class='add'>+ABCD</div><div class='add'>+END</div><div class='add'>+$x.gsub!(/((.|\n)*?)B((.|\n)*?)D/, '\1\3')</div><div class='add'>+test_ok($x == "AC\nAC\n")</div><div class='add'>+</div><div class='add'>+test_ok("foobar" =~ /foo(?=(bar)|(baz))/)</div><div class='add'>+test_ok("foobaz" =~ /foo(?=(bar)|(baz))/)</div><div class='add'>+</div><div class='add'>+$foo = "abc"</div><div class='add'>+test_ok("#$foo = abc" == "abc = abc")</div><div class='add'>+test_ok("#{$foo} = abc" == "abc = abc")</div><div class='add'>+</div><div class='add'>+foo = "abc"</div><div class='add'>+test_ok("#{foo} = abc" == "abc = abc")</div><div class='add'>+</div><div class='add'>+test_ok('-' * 5 == '-----')</div><div class='add'>+test_ok('-' * 1 == '-')</div><div class='add'>+test_ok('-' * 0 == '')</div><div class='add'>+</div><div class='add'>+foo = '-'</div><div class='add'>+test_ok(foo * 5 == '-----')</div><div class='add'>+test_ok(foo * 1 == '-')</div><div class='add'>+test_ok(foo * 0 == '')</div><div class='add'>+</div><div class='add'>+$x = "a.gif"</div><div class='add'>+test_ok($x.sub(/.*\.([^\.]+)$/, '\1') == "gif")</div><div class='add'>+test_ok($x.sub(/.*\.([^\.]+)$/, 'b.\1') == "b.gif")</div><div class='add'>+test_ok($x.sub(/.*\.([^\.]+)$/, '\2') == "")</div><div class='add'>+test_ok($x.sub(/.*\.([^\.]+)$/, 'a\2b') == "ab")</div><div class='add'>+test_ok($x.sub(/.*\.([^\.]+)$/, '&lt;\&amp;&gt;') == "&lt;a.gif&gt;")</div><div class='add'>+</div><div class='add'>+# character constants(assumes ASCII)</div><div class='add'>+test_ok("a"[0] == ?a)</div><div class='add'>+test_ok(?a == ?a)</div><div class='add'>+test_ok(?\C-a == "\1")</div><div class='add'>+test_ok(?\M-a == "\341")</div><div class='add'>+test_ok(?\M-\C-a == "\201")</div><div class='add'>+test_ok("a".upcase![0] == ?A)</div><div class='add'>+test_ok("A".downcase![0] == ?a)</div><div class='add'>+test_ok("abc".tr!("a-z", "A-Z") == "ABC")</div><div class='add'>+test_ok("aabbcccc".tr_s!("a-z", "A-Z") == "ABC")</div><div class='add'>+test_ok("abcc".squeeze!("a-z") == "abc")</div><div class='add'>+test_ok("abcd".delete!("bc") == "ad")</div><div class='add'>+</div><div class='add'>+$x = "abcdef"</div><div class='add'>+$y = [ ?a, ?b, ?c, ?d, ?e, ?f ]</div><div class='add'>+$bad = false</div><div class='add'>+$x.each_byte {|i|</div><div class='add'>+  if i.chr != $y.shift</div><div class='add'>+    $bad = true</div><div class='add'>+    break</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+test_ok(!$bad)</div><div class='add'>+</div><div class='add'>+s = "a string"</div><div class='add'>+s[0..s.size]="another string"</div><div class='add'>+test_ok(s == "another string")</div><div class='add'>+</div><div class='add'>+s = &lt;&lt;EOS</div><div class='add'>+#{</div><div class='add'>+[1,2,3].join(",")</div><div class='add'>+}</div><div class='add'>+EOS</div><div class='add'>+test_ok(s == "1,2,3\n")</div><div class='add'>+test_ok("Just".to_i(36) == 926381)</div><div class='add'>+test_ok("-another".to_i(36) == -23200231779)</div><div class='add'>+test_ok(1299022.to_s(36) == "ruby")</div><div class='add'>+test_ok(-1045307475.to_s(36) == "-hacker")</div><div class='add'>+test_ok("Just_another_Ruby_hacker".to_i(36) == 265419172580680477752431643787347)</div><div class='add'>+test_ok(-265419172580680477752431643787347.to_s(36) == "-justanotherrubyhacker")</div><div class='add'>+</div><div class='add'>+a = []</div><div class='add'>+(0..255).each {|n|</div><div class='add'>+  ch = [n].pack("C")</div><div class='add'>+  a.push ch if /a#{Regexp.quote ch}b/x =~ "ab"</div><div class='add'>+}</div><div class='add'>+test_ok(a.size == 0)</div><div class='add'>+</div><div class='add'>+test_check "assignment"</div><div class='add'>+a = nil</div><div class='add'>+test_ok(defined?(a))</div><div class='add'>+test_ok(a == nil)</div><div class='add'>+</div><div class='add'>+# multiple assignment</div><div class='add'>+a, b = 1, 2</div><div class='add'>+test_ok(a == 1 &amp;&amp; b == 2)</div><div class='add'>+</div><div class='add'>+a, b = b, a</div><div class='add'>+test_ok(a == 2 &amp;&amp; b == 1)</div><div class='add'>+</div><div class='add'>+a, = 1,2</div><div class='add'>+test_ok(a == 1)</div><div class='add'>+</div><div class='add'>+a, *b = 1, 2, 3</div><div class='add'>+test_ok(a == 1 &amp;&amp; b == [2, 3])</div><div class='add'>+</div><div class='add'>+a, (b, c), d = 1, [2, 3], 4</div><div class='add'>+test_ok(a == 1 &amp;&amp; b == 2 &amp;&amp; c == 3 &amp;&amp; d == 4)</div><div class='add'>+</div><div class='add'>+*a = 1, 2, 3</div><div class='add'>+test_ok(a == [1, 2, 3])</div><div class='add'>+</div><div class='add'>+*a = 4</div><div class='add'>+test_ok(a == [4])</div><div class='add'>+</div><div class='add'>+*a = nil</div><div class='add'>+test_ok(a == [nil])</div><div class='add'>+</div><div class='add'>+test_check "call"</div><div class='add'>+def aaa(a, b=100, *rest)</div><div class='add'>+  res = [a, b]</div><div class='add'>+  res += rest if rest</div><div class='add'>+  return res</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+# not enough argument</div><div class='add'>+begin</div><div class='add'>+  aaa()				# need at least 1 arg</div><div class='add'>+  test_ok(false)</div><div class='add'>+rescue</div><div class='add'>+  test_ok(true)</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+begin</div><div class='add'>+  aaa				# no arg given (exception raised)</div><div class='add'>+  test_ok(false)</div><div class='add'>+rescue</div><div class='add'>+  test_ok(true)</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+test_ok(aaa(1) == [1, 100])</div><div class='add'>+test_ok(aaa(1, 2) == [1, 2])</div><div class='add'>+test_ok(aaa(1, 2, 3, 4) == [1, 2, 3, 4])</div><div class='add'>+test_ok(aaa(1, *[2, 3, 4]) == [1, 2, 3, 4])</div><div class='add'>+</div><div class='add'>+test_check "proc"</div><div class='add'>+$proc = Proc.new{|i| i}</div><div class='add'>+test_ok($proc.call(2) == 2)</div><div class='add'>+test_ok($proc.call(3) == 3)</div><div class='add'>+</div><div class='add'>+$proc = Proc.new{|i| i*2}</div><div class='add'>+test_ok($proc.call(2) == 4)</div><div class='add'>+test_ok($proc.call(3) == 6)</div><div class='add'>+</div><div class='add'>+Proc.new{</div><div class='add'>+  iii=5				# nested local variable</div><div class='add'>+  $proc = Proc.new{|i|</div><div class='add'>+    iii = i</div><div class='add'>+  }</div><div class='add'>+  $proc2 = Proc.new {</div><div class='add'>+    $x = iii			# nested variables shared by procs</div><div class='add'>+  }</div><div class='add'>+  # scope of nested variables</div><div class='add'>+  test_ok(defined?(iii))</div><div class='add'>+}.call</div><div class='add'>+test_ok(!defined?(iii))		# out of scope</div><div class='add'>+</div><div class='add'>+loop{iii=5; test_ok(eval("defined? iii")); break}</div><div class='add'>+loop {</div><div class='add'>+  iii = 10</div><div class='add'>+  def dyna_var_check</div><div class='add'>+    loop {</div><div class='add'>+      test_ok(!defined?(iii))</div><div class='add'>+      break</div><div class='add'>+    }</div><div class='add'>+  end</div><div class='add'>+  dyna_var_check</div><div class='add'>+  break</div><div class='add'>+}</div><div class='add'>+$x=0</div><div class='add'>+$proc.call(5)</div><div class='add'>+$proc2.call</div><div class='add'>+test_ok($x == 5)</div><div class='add'>+</div><div class='add'>+if defined? Process.kill</div><div class='add'>+  test_check "signal"</div><div class='add'>+</div><div class='add'>+  $x = 0</div><div class='add'>+  trap "SIGINT", Proc.new{|sig| $x = 2}</div><div class='add'>+  Process.kill "SIGINT", $$</div><div class='add'>+  100.times {</div><div class='add'>+    sleep 0.1</div><div class='add'>+    break if $x != 0</div><div class='add'>+  }</div><div class='add'>+  test_ok($x == 2)</div><div class='add'>+</div><div class='add'>+  trap "SIGINT", Proc.new{raise "Interrupt"}</div><div class='add'>+</div><div class='add'>+  x = false</div><div class='add'>+  begin</div><div class='add'>+    Process.kill "SIGINT", $$</div><div class='add'>+    sleep 0.1</div><div class='add'>+  rescue</div><div class='add'>+    x = $!</div><div class='add'>+  end</div><div class='add'>+  test_ok(x &amp;&amp; /Interrupt/ =~ x.message)</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+test_check "eval"</div><div class='add'>+test_ok(eval("") == nil)</div><div class='add'>+$bad=false</div><div class='add'>+eval 'while false; $bad = true; print "foo\n" end'</div><div class='add'>+test_ok(!$bad)</div><div class='add'>+</div><div class='add'>+test_ok(eval('Object'))</div><div class='add'>+test_ok(eval('true'))</div><div class='add'>+test_ok(!eval('nil'))</div><div class='add'>+test_ok(!eval('false'))</div><div class='add'>+</div><div class='add'>+$foo = 'test_ok(true)'</div><div class='add'>+begin</div><div class='add'>+  eval $foo</div><div class='add'>+rescue</div><div class='add'>+  test_ok(false)</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+test_ok(eval("$foo") == 'test_ok(true)')</div><div class='add'>+test_ok(eval("true") == true)</div><div class='add'>+i = 5</div><div class='add'>+test_ok(eval("i == 5"))</div><div class='add'>+test_ok(eval("i") == 5)</div><div class='add'>+test_ok(eval("defined? i"))</div><div class='add'>+</div><div class='add'>+# eval with binding</div><div class='add'>+def test_ev</div><div class='add'>+  local1 = "local1"</div><div class='add'>+  lambda {</div><div class='add'>+    local2 = "local2"</div><div class='add'>+    return binding</div><div class='add'>+  }.call</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+$x = test_ev</div><div class='add'>+test_ok(eval("local1", $x) == "local1") # normal local var</div><div class='add'>+test_ok(eval("local2", $x) == "local2") # nested local var</div><div class='add'>+$bad = true</div><div class='add'>+begin</div><div class='add'>+  p eval("local1")</div><div class='add'>+rescue NameError		# must raise error</div><div class='add'>+  $bad = false</div><div class='add'>+end</div><div class='add'>+test_ok(!$bad)</div><div class='add'>+</div><div class='add'>+module EvTest</div><div class='add'>+  EVTEST1 = 25</div><div class='add'>+  evtest2 = 125</div><div class='add'>+  $x = binding</div><div class='add'>+end</div><div class='add'>+test_ok(eval("EVTEST1", $x) == 25)	# constant in module</div><div class='add'>+test_ok(eval("evtest2", $x) == 125)	# local var in module</div><div class='add'>+$bad = true</div><div class='add'>+begin</div><div class='add'>+  eval("EVTEST1")</div><div class='add'>+rescue NameError		# must raise error</div><div class='add'>+  $bad = false</div><div class='add'>+end</div><div class='add'>+test_ok(!$bad)</div><div class='add'>+</div><div class='add'>+x = binding #! YARV Limitation: Proc.new{}</div><div class='add'>+eval "i4 = 1", x</div><div class='add'>+test_ok(eval("i4", x) == 1)</div><div class='add'>+x = Proc.new{binding}.call #! YARV Limitation: Proc.new{Proc.new{}}.call</div><div class='add'>+eval "i4 = 22", x</div><div class='add'>+test_ok(eval("i4", x) == 22)</div><div class='add'>+$x = []</div><div class='add'>+x = Proc.new{binding}.call #! YARV Limitation: Proc.new{Proc.new{}}.call</div><div class='add'>+eval "(0..9).each{|i5| $x[i5] = Proc.new{i5*2}}", x</div><div class='add'>+test_ok($x[4].call == 8)</div><div class='add'>+</div><div class='add'>+x = binding</div><div class='add'>+eval "i = 1", x</div><div class='add'>+test_ok(eval("i", x) == 1)</div><div class='add'>+x = Proc.new{binding}.call</div><div class='add'>+eval "i = 22", x</div><div class='add'>+test_ok(eval("i", x) == 22)</div><div class='add'>+$x = []</div><div class='add'>+x = Proc.new{binding}.call</div><div class='add'>+eval "(0..9).each{|i5| $x[i5] = Proc.new{i5*2}}", x</div><div class='add'>+test_ok($x[4].call == 8)</div><div class='add'>+x = Proc.new{binding}.call</div><div class='add'>+eval "for i6 in 1..1; j6=i6; end", x</div><div class='add'>+test_ok(eval("defined? i6", x))</div><div class='add'>+test_ok(eval("defined? j6", x))</div><div class='add'>+</div><div class='add'>+Proc.new {</div><div class='add'>+  p = binding</div><div class='add'>+  eval "foo11 = 1", p</div><div class='add'>+  foo22 = 5</div><div class='add'>+  Proc.new{foo11=22}.call</div><div class='add'>+  Proc.new{foo22=55}.call</div><div class='add'>+  test_ok(eval("foo11", p) == eval("foo11"))</div><div class='add'>+  test_ok(eval("foo11") == 1)</div><div class='add'>+  test_ok(eval("foo22", p) == eval("foo22"))</div><div class='add'>+  test_ok(eval("foo22") == 55)</div><div class='add'>+}.call if false #! YARV Limitation</div><div class='add'>+</div><div class='add'>+#! YARV Limitation: p1 = Proc.new{i7 = 0; Proc.new{i7}}.call</div><div class='add'>+p1 = Proc.new{i7 = 0; binding}.call</div><div class='add'>+#! YARV Limitation: test_ok(p1.call == 0)</div><div class='add'>+eval "i7=5", p1</div><div class='add'>+#! YARV Limitation: test_ok(p1.call == 5)</div><div class='add'>+test_ok(!defined?(i7))</div><div class='add'>+</div><div class='add'>+if false #! YARV Limitation</div><div class='add'>+p1 = Proc.new{i7 = 0; Proc.new{i7}}.call</div><div class='add'>+i7 = nil</div><div class='add'>+test_ok(p1.call == 0)</div><div class='add'>+eval "i7=1", p1</div><div class='add'>+test_ok(p1.call == 1)</div><div class='add'>+eval "i7=5", p1</div><div class='add'>+test_ok(p1.call == 5)</div><div class='add'>+test_ok(i7 == nil)</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+test_check "system"</div><div class='add'>+test_ok(`echo foobar` == "foobar\n")</div><div class='add'>+test_ok(`./miniruby -e 'print "foobar"'` == 'foobar')</div><div class='add'>+</div><div class='add'>+script_tmp = "script_tmp.#{$$}"</div><div class='add'>+tmp = open(script_tmp, "w")</div><div class='add'>+tmp.print "print $zzz\n";</div><div class='add'>+tmp.close</div><div class='add'>+</div><div class='add'>+test_ok(`./miniruby -s #{script_tmp} -zzz` == 'true')</div><div class='add'>+test_ok(`./miniruby -s #{script_tmp} -zzz=555` == '555')</div><div class='add'>+</div><div class='add'>+tmp = open(script_tmp, "w")</div><div class='add'>+tmp.print "#! /usr/local/bin/ruby -s\n";</div><div class='add'>+tmp.print "print $zzz\n";</div><div class='add'>+tmp.close</div><div class='add'>+</div><div class='add'>+test_ok(`./miniruby #{script_tmp} -zzz=678` == '678')</div><div class='add'>+</div><div class='add'>+tmp = open(script_tmp, "w")</div><div class='add'>+tmp.print "this is a leading junk\n";</div><div class='add'>+tmp.print "#! /usr/local/bin/ruby -s\n";</div><div class='add'>+tmp.print "print $zzz\n";</div><div class='add'>+tmp.print "__END__\n";</div><div class='add'>+tmp.print "this is a trailing junk\n";</div><div class='add'>+tmp.close</div><div class='add'>+</div><div class='add'>+test_ok(`./miniruby -x #{script_tmp}` == '')</div><div class='add'>+test_ok(`./miniruby -x #{script_tmp} -zzz=555` == '555')</div><div class='add'>+</div><div class='add'>+tmp = open(script_tmp, "w")</div><div class='add'>+for i in 1..5</div><div class='add'>+  tmp.print i, "\n"</div><div class='add'>+end</div><div class='add'>+tmp.close</div><div class='add'>+</div><div class='add'>+`./miniruby -i.bak -pe '$_.sub!(/^[0-9]+$/){$&amp;.to_i * 5}' #{script_tmp}`</div><div class='add'>+done = true</div><div class='add'>+tmp = open(script_tmp, "r")</div><div class='add'>+while tmp.gets</div><div class='add'>+  if $_.to_i % 5 != 0</div><div class='add'>+    done = false</div><div class='add'>+    break</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+tmp.close</div><div class='add'>+test_ok(done)</div><div class='add'>+</div><div class='add'>+File.unlink script_tmp or `/bin/rm -f "#{script_tmp}"`</div><div class='add'>+File.unlink "#{script_tmp}.bak" or `/bin/rm -f "#{script_tmp}.bak"`</div><div class='add'>+</div><div class='add'>+test_check "const"</div><div class='add'>+TEST1 = 1</div><div class='add'>+TEST2 = 2</div><div class='add'>+</div><div class='add'>+module Const</div><div class='add'>+  TEST3 = 3</div><div class='add'>+  TEST4 = 4</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+module Const2</div><div class='add'>+  TEST3 = 6</div><div class='add'>+  TEST4 = 8</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+include Const</div><div class='add'>+</div><div class='add'>+test_ok([TEST1,TEST2,TEST3,TEST4] == [1,2,3,4])</div><div class='add'>+</div><div class='add'>+include Const2</div><div class='add'>+STDERR.print "intentionally redefines TEST3, TEST4\n" if $VERBOSE</div><div class='add'>+test_ok([TEST1,TEST2,TEST3,TEST4] == [1,2,6,8])</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+test_ok((String &lt;=&gt; Object) == -1)</div><div class='add'>+test_ok((Object &lt;=&gt; String) == 1)</div><div class='add'>+test_ok((Array &lt;=&gt; String) == nil)</div><div class='add'>+</div><div class='add'>+test_check "clone"</div><div class='add'>+foo = Object.new</div><div class='add'>+def foo.test</div><div class='add'>+  "test"</div><div class='add'>+end</div><div class='add'>+bar = foo.clone</div><div class='add'>+def bar.test2</div><div class='add'>+  "test2"</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+test_ok(bar.test2 == "test2")</div><div class='add'>+test_ok(bar.test == "test")</div><div class='add'>+test_ok(foo.test == "test")</div><div class='add'>+</div><div class='add'>+begin</div><div class='add'>+  foo.test2</div><div class='add'>+  test_ok false</div><div class='add'>+rescue NoMethodError</div><div class='add'>+  test_ok true</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+module M001; end</div><div class='add'>+module M002; end</div><div class='add'>+module M003; include M002; end</div><div class='add'>+module M002; include M001; end</div><div class='add'>+module M003; include M002; end</div><div class='add'>+</div><div class='add'>+test_ok(M003.ancestors == [M003, M002, M001])</div><div class='add'>+</div><div class='add'>+test_check "marshal"</div><div class='add'>+$x = [1,2,3,[4,5,"foo"],{1=&gt;"bar"},2.5,fact(30)]</div><div class='add'>+$y = Marshal.dump($x)</div><div class='add'>+test_ok($x == Marshal.load($y))</div><div class='add'>+</div><div class='add'>+StrClone=String.clone;</div><div class='add'>+test_ok(Marshal.load(Marshal.dump(StrClone.new("abc"))).class == StrClone)</div><div class='add'>+</div><div class='add'>+[[1,2,3,4], [81, 2, 118, 3146]].each { |w,x,y,z|</div><div class='add'>+  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='add'>+  ma = Marshal.dump(a)</div><div class='add'>+  b = Marshal.load(ma)</div><div class='add'>+  test_ok(a == b)</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+test_check "pack"</div><div class='add'>+</div><div class='add'>+$format = "c2x5CCxsdils_l_a6";</div><div class='add'>+# Need the expression in here to force ary[5] to be numeric.  This avoids</div><div class='add'>+# test2 failing because ary2 goes str-&gt;numeric-&gt;str and ary does not.</div><div class='add'>+ary = [1,-100,127,128,32767,987.654321098 / 100.0,12345,123456,-32767,-123456,"abcdef"]</div><div class='add'>+$x = ary.pack($format)</div><div class='add'>+ary2 = $x.unpack($format)</div><div class='add'>+</div><div class='add'>+test_ok(ary.length == ary2.length)</div><div class='add'>+test_ok(ary.join(':') == ary2.join(':'))</div><div class='add'>+test_ok($x =~ /def/)</div><div class='add'>+</div><div class='add'>+$x = [-1073741825]</div><div class='add'>+test_ok($x.pack("q").unpack("q") == $x)</div><div class='add'>+</div><div class='add'>+test_check "math"</div><div class='add'>+test_ok(Math.sqrt(4) == 2)</div><div class='add'>+</div><div class='add'>+include Math</div><div class='add'>+test_ok(sqrt(4) == 2)</div><div class='add'>+</div><div class='add'>+test_check "struct"</div><div class='add'>+struct_test = Struct.new("Test", :foo, :bar)</div><div class='add'>+test_ok(struct_test == Struct::Test)</div><div class='add'>+</div><div class='add'>+test = struct_test.new(1, 2)</div><div class='add'>+test_ok(test.foo == 1 &amp;&amp; test.bar == 2)</div><div class='add'>+test_ok(test[0] == 1 &amp;&amp; test[1] == 2)</div><div class='add'>+</div><div class='add'>+a, b = test.to_a</div><div class='add'>+test_ok(a == 1 &amp;&amp; b == 2)</div><div class='add'>+</div><div class='add'>+test[0] = 22</div><div class='add'>+test_ok(test.foo == 22)</div><div class='add'>+</div><div class='add'>+test.bar = 47</div><div class='add'>+test_ok(test.bar == 47)</div><div class='add'>+</div><div class='add'>+test_check "variable"</div><div class='add'>+test_ok($$.instance_of?(Integer))</div><div class='add'>+</div><div class='add'>+# read-only variable</div><div class='add'>+begin</div><div class='add'>+  $$ = 5</div><div class='add'>+  test_ok false</div><div class='add'>+rescue NameError</div><div class='add'>+  test_ok true</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+foobar = "foobar"</div><div class='add'>+$_ = foobar</div><div class='add'>+test_ok($_ == foobar)</div><div class='add'>+</div><div class='add'>+class Gods</div><div class='add'>+  @@rule = "Uranus"</div><div class='add'>+  def ruler0</div><div class='add'>+    @@rule</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def self.ruler1		# &lt;= per method definition style</div><div class='add'>+    @@rule</div><div class='add'>+  end</div><div class='add'>+  class &lt;&lt; self			# &lt;= multiple method definition style</div><div class='add'>+    def ruler2</div><div class='add'>+      @@rule</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+module Olympians</div><div class='add'>+  @@rule ="Zeus"</div><div class='add'>+  def ruler3</div><div class='add'>+    @@rule</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+class Titans &lt; Gods</div><div class='add'>+  @@rule = "Cronus"		# modifies @@rule in Gods</div><div class='add'>+  include Olympians</div><div class='add'>+  def ruler4</div><div class='add'>+    @@rule</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+test_ok(Gods.new.ruler0 == "Cronus")</div><div class='add'>+test_ok(Gods.ruler1 == "Cronus")</div><div class='add'>+test_ok(Gods.ruler2 == "Cronus")</div><div class='add'>+test_ok(Titans.ruler1 == "Cronus")</div><div class='add'>+test_ok(Titans.ruler2 == "Cronus")</div><div class='add'>+atlas = Titans.new</div><div class='add'>+test_ok(atlas.ruler0 == "Cronus")</div><div class='add'>+test_ok(atlas.ruler3 == "Zeus")</div><div class='add'>+begin</div><div class='add'>+  atlas.ruler4</div><div class='add'>+rescue RuntimeError =&gt; e</div><div class='add'>+  test_ok(e.message.include?("class variable @@rule of Olympians is overtaken by Gods"))</div><div class='add'>+else</div><div class='add'>+  test_ok(false)</div><div class='add'>+end</div><div class='add'>+test_ok(atlas.ruler3 == "Zeus")</div><div class='add'>+</div><div class='add'>+test_check "trace"</div><div class='add'>+$x = 1234</div><div class='add'>+$y = 0</div><div class='add'>+trace_var :$x, Proc.new{$y = $x}</div><div class='add'>+$x = 40414</div><div class='add'>+test_ok($y == $x)</div><div class='add'>+</div><div class='add'>+untrace_var :$x</div><div class='add'>+$x = 19660208</div><div class='add'>+test_ok($y != $x)</div><div class='add'>+</div><div class='add'>+trace_var :$x, Proc.new{$x *= 2}</div><div class='add'>+$x = 5</div><div class='add'>+test_ok($x == 10)</div><div class='add'>+</div><div class='add'>+untrace_var :$x</div><div class='add'>+</div><div class='add'>+test_check "defined?"</div><div class='add'>+</div><div class='add'>+test_ok(defined?($x))		# global variable</div><div class='add'>+test_ok(defined?($x) == 'global-variable')# returns description</div><div class='add'>+</div><div class='add'>+foo=5</div><div class='add'>+test_ok(defined?(foo))		# local variable</div><div class='add'>+</div><div class='add'>+test_ok(defined?(Array))	# constant</div><div class='add'>+test_ok(defined?(Object.new))	# method</div><div class='add'>+test_ok(!defined?(Object.print))# private method</div><div class='add'>+test_ok(defined?(1 == 2))	# operator expression</div><div class='add'>+</div><div class='add'>+class Foo</div><div class='add'>+  def foo</div><div class='add'>+    p :foo</div><div class='add'>+  end</div><div class='add'>+  protected :foo</div><div class='add'>+  def bar(f)</div><div class='add'>+    test_ok(defined?(self.foo))</div><div class='add'>+    test_ok(defined?(f.foo))</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+f = Foo.new</div><div class='add'>+test_ok(defined?(f.foo) == nil)</div><div class='add'>+f.bar(f)</div><div class='add'>+</div><div class='add'>+def defined_test</div><div class='add'>+  return !defined?(yield)</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+test_ok(defined_test)		# not iterator</div><div class='add'>+test_ok(!defined_test{})	# called as iterator</div><div class='add'>+</div><div class='add'>+test_check "alias"</div><div class='add'>+class Alias0</div><div class='add'>+  def foo; "foo" end</div><div class='add'>+end</div><div class='add'>+class Alias1 &lt; Alias0</div><div class='add'>+  alias bar foo</div><div class='add'>+  def foo; "foo+" + super end</div><div class='add'>+end</div><div class='add'>+class Alias2 &lt; Alias1</div><div class='add'>+  alias baz foo</div><div class='add'>+  undef foo</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+x = Alias2.new</div><div class='add'>+test_ok(x.bar == "foo")</div><div class='add'>+test_ok(x.baz == "foo+foo")</div><div class='add'>+</div><div class='add'>+# test_check for cache</div><div class='add'>+test_ok(x.baz == "foo+foo")</div><div class='add'>+</div><div class='add'>+class Alias3 &lt; Alias2</div><div class='add'>+  def foo</div><div class='add'>+    defined? super</div><div class='add'>+  end</div><div class='add'>+  def bar</div><div class='add'>+    defined? super</div><div class='add'>+  end</div><div class='add'>+  def quux</div><div class='add'>+    defined? super</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+x = Alias3.new</div><div class='add'>+test_ok(!x.foo)</div><div class='add'>+test_ok(x.bar)</div><div class='add'>+test_ok(!x.quux)</div><div class='add'>+</div><div class='add'>+test_check "path"</div><div class='add'>+test_ok(File.basename("a") == "a")</div><div class='add'>+test_ok(File.basename("a/b") == "b")</div><div class='add'>+test_ok(File.basename("a/b/") == "b")</div><div class='add'>+test_ok(File.basename("/") == "/")</div><div class='add'>+test_ok(File.basename("//") == "/")</div><div class='add'>+test_ok(File.basename("///") == "/")</div><div class='add'>+test_ok(File.basename("a/b////") == "b")</div><div class='add'>+test_ok(File.basename("a.rb", ".rb") == "a")</div><div class='add'>+test_ok(File.basename("a.rb///", ".rb") == "a")</div><div class='add'>+test_ok(File.basename("a.rb///", ".*") == "a")</div><div class='add'>+test_ok(File.basename("a.rb///", ".c") == "a.rb")</div><div class='add'>+test_ok(File.dirname("a") == ".")</div><div class='add'>+test_ok(File.dirname("/") == "/")</div><div class='add'>+test_ok(File.dirname("/a") == "/")</div><div class='add'>+test_ok(File.dirname("a/b") == "a")</div><div class='add'>+test_ok(File.dirname("a/b/c") == "a/b")</div><div class='add'>+test_ok(File.dirname("/a/b/c") == "/a/b")</div><div class='add'>+test_ok(File.dirname("/a/b/") == "/a")</div><div class='add'>+test_ok(File.dirname("/a/b///") == "/a")</div><div class='add'>+case Dir.pwd</div><div class='add'>+when %r'\A\w:'</div><div class='add'>+  test_ok(/\A\w:\/\z/ =~ File.expand_path(".", "/"))</div><div class='add'>+  test_ok(/\A\w:\/a\z/ =~ File.expand_path("a", "/"))</div><div class='add'>+  dosish = true</div><div class='add'>+when %r'\A//'</div><div class='add'>+  test_ok(%r'\A//[^/]+/[^/]+\z' =~ File.expand_path(".", "/"))</div><div class='add'>+  test_ok(%r'\A//[^/]+/[^/]+/a\z' =~ File.expand_path(".", "/"))</div><div class='add'>+  dosish = true</div><div class='add'>+else</div><div class='add'>+  test_ok(File.expand_path(".", "/") == "/")</div><div class='add'>+  test_ok(File.expand_path("sub", "/") == "/sub")</div><div class='add'>+end</div><div class='add'>+if dosish</div><div class='add'>+  test_ok(File.expand_path("/", "//machine/share/sub") == "//machine/share")</div><div class='add'>+  test_ok(File.expand_path("/dir", "//machine/share/sub") == "//machine/share/dir")</div><div class='add'>+  test_ok(File.expand_path("/", "z:/sub") == "z:/")</div><div class='add'>+  test_ok(File.expand_path("/dir", "z:/sub") == "z:/dir")</div><div class='add'>+end</div><div class='add'>+test_ok(File.expand_path(".", "//") == "//")</div><div class='add'>+test_ok(File.expand_path("sub", "//") == "//sub")</div><div class='add'>+</div><div class='add'>+# test_check "Proc#binding"</div><div class='add'>+ObjectSpace.each_object(Proc){|o|</div><div class='add'>+  begin</div><div class='add'>+    b = o.binding</div><div class='add'>+    eval 'self', b</div><div class='add'>+  rescue ArgumentError</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+test_check "gc"</div><div class='add'>+begin</div><div class='add'>+  1.upto(10000) {</div><div class='add'>+    tmp = [0,1,2,3,4,5,6,7,8,9]</div><div class='add'>+  }</div><div class='add'>+  tmp = nil</div><div class='add'>+  test_ok true</div><div class='add'>+rescue</div><div class='add'>+  test_ok false</div><div class='add'>+end</div><div class='add'>+class S</div><div class='add'>+  def initialize(a)</div><div class='add'>+    @a = a</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+l=nil</div><div class='add'>+100000.times {</div><div class='add'>+  l = S.new(l)</div><div class='add'>+}</div><div class='add'>+GC.start</div><div class='add'>+test_ok true   # reach here or dumps core</div><div class='add'>+l = []</div><div class='add'>+100000.times {</div><div class='add'>+  l.push([l])</div><div class='add'>+}</div><div class='add'>+GC.start</div><div class='add'>+test_ok true   # reach here or dumps core</div><div class='add'>+</div><div class='add'>+ObjectSpace.each_object{|o|</div><div class='add'>+  o.class.name</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+test_ok true   # reach here or dumps core</div><div class='add'>+</div><div class='add'>+PROGRESS.finish</div><div class='add'>+if $failed &gt; 0</div><div class='add'>+  printf "not ok/test: %d failed %d\n", $ntest, $failed</div><div class='add'>+else</div><div class='add'>+  printf "end of test(test: %d)\n", $ntest</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/README.md b/benchmark/README.md<br/>new file mode 100644<br/>index 0000000000..39a5aa139b<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/README.md?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/README.md</a></div><div class='hunk'>@@ -0,0 +1,72 @@</div><div class='add'>+# ruby/benchmark</div><div class='add'>+</div><div class='add'>+This directory has benchmark definitions to be run with</div><div class='add'>+[benchmark\_driver.gem](https://github.com/benchmark-driver/benchmark-driver).</div><div class='add'>+</div><div class='add'>+## Normal usage</div><div class='add'>+</div><div class='add'>+Execute `gem install benchmark_driver` and run a command like:</div><div class='add'>+</div><div class='add'>+```bash</div><div class='add'>+# Run a benchmark script with the ruby in the $PATH</div><div class='add'>+benchmark-driver benchmark/app_fib.rb</div><div class='add'>+</div><div class='add'>+# Run benchmark scripts with multiple Ruby executables or options</div><div class='add'>+benchmark-driver benchmark/*.rb -e /path/to/ruby -e '/path/to/ruby --jit'</div><div class='add'>+</div><div class='add'>+# Or compare Ruby versions managed by rbenv</div><div class='add'>+benchmark-driver benchmark/*.rb --rbenv '2.5.1;2.6.0-preview2 --jit'</div><div class='add'>+</div><div class='add'>+# You can collect many metrics in many ways</div><div class='add'>+benchmark-driver benchmark/*.rb --runner memory --output markdown</div><div class='add'>+</div><div class='add'>+# Some are defined with YAML for complex setup or accurate measurement</div><div class='add'>+benchmark-driver benchmark/*.yml</div><div class='add'>+```</div><div class='add'>+</div><div class='add'>+See also:</div><div class='add'>+</div><div class='add'>+```console</div><div class='add'>+Usage: benchmark-driver [options] RUBY|YAML...</div><div class='add'>+    -r, --runner TYPE                Specify runner type: ips, time, memory, once (default: ips)</div><div class='add'>+    -o, --output TYPE                Specify output type: compare, simple, markdown, record (default: compare)</div><div class='add'>+    -e, --executables EXECS          Ruby executables (e1::path1 arg1; e2::path2 arg2;...)</div><div class='add'>+        --rbenv VERSIONS             Ruby executables in rbenv (x.x.x arg1;y.y.y arg2;...)</div><div class='add'>+        --repeat-count NUM           Try benchmark NUM times and use the fastest result or the worst memory usage</div><div class='add'>+        --repeat-result TYPE         Yield "best", "average" or "worst" result with --repeat-count (default: best)</div><div class='add'>+        --bundler                    Install and use gems specified in Gemfile</div><div class='add'>+        --filter REGEXP              Filter out benchmarks with given regexp</div><div class='add'>+        --run-duration SECONDS       Warmup estimates loop_count to run for this duration (default: 3)</div><div class='add'>+    -v, --verbose                    Verbose mode. Multiple -v options increase visilibity (max: 2)</div><div class='add'>+```</div><div class='add'>+</div><div class='add'>+## make benchmark</div><div class='add'>+</div><div class='add'>+Using `make benchmark`, `make update-benchmark-driver` automatically downloads</div><div class='add'>+the supported version of benchmark\_driver, and it runs benchmarks with the downloaded</div><div class='add'>+benchmark\_driver.</div><div class='add'>+</div><div class='add'>+```bash</div><div class='add'>+# Run all benchmarks with the ruby in the $PATH and the built ruby</div><div class='add'>+make benchmark</div><div class='add'>+</div><div class='add'>+# Or compare with specific ruby binary</div><div class='add'>+make benchmark COMPARE_RUBY="/path/to/ruby --jit"</div><div class='add'>+</div><div class='add'>+# Run vm benchmarks</div><div class='add'>+make benchmark ITEM=vm</div><div class='add'>+</div><div class='add'>+# Run some limited benchmarks in ITEM-matched files</div><div class='add'>+make benchmark ITEM=vm OPTS=--filter=block</div><div class='add'>+</div><div class='add'>+# You can specify the benchmark by an exact filename instead of using the default argument:</div><div class='add'>+# ARGS = $$(find $(srcdir)/benchmark -maxdepth 1 -name '*$(ITEM)*.yml' -o -name '*$(ITEM)*.rb')</div><div class='add'>+make benchmark ARGS=benchmark/erb_render.yml</div><div class='add'>+</div><div class='add'>+# You can specify any option via $OPTS</div><div class='add'>+make benchmark OPTS="--help"</div><div class='add'>+</div><div class='add'>+# With `make benchmark`, some special runner plugins are available:</div><div class='add'>+#   -r peak, -r size, -r total, -r utime, -r stime, -r cutime, -r cstime</div><div class='add'>+make benchmark ITEM=vm_bigarray OPTS="-r peak"</div><div class='add'>+```</div><div class='head'>diff --git a/benchmark/app_answer.rb b/benchmark/app_answer.rb<br/>new file mode 100644<br/>index 0000000000..3cd8a8fd37<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/app_answer.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/app_answer.rb</a></div><div class='hunk'>@@ -0,0 +1,15 @@</div><div class='add'>+def ack(m, n)</div><div class='add'>+  if m == 0 then</div><div class='add'>+    n + 1</div><div class='add'>+  elsif n == 0 then</div><div class='add'>+    ack(m - 1, 1)</div><div class='add'>+  else</div><div class='add'>+    ack(m - 1, ack(m, n - 1))</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def the_answer_to_life_the_universe_and_everything</div><div class='add'>+  (ack(3,7).to_s.split(//).inject(0){|s,x| s+x.to_i}.to_s + "2" ).to_i</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..16296af12b<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/app_aobench.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/app_aobench.rb</a></div><div class='hunk'>@@ -0,0 +1,297 @@</div><div class='add'>+# coding: US-ASCII</div><div class='add'>+</div><div class='add'>+# AO render benchmark</div><div class='add'>+# Original program (C) Syoyo Fujita in Javascript (and other languages)</div><div class='add'>+#      https://code.google.com/p/aobench/</div><div class='add'>+# Ruby(yarv2llvm) version by Hideki Miura</div><div class='add'>+#</div><div class='add'>+</div><div class='add'>+IMAGE_WIDTH = 256</div><div class='add'>+IMAGE_HEIGHT = 256</div><div class='add'>+NSUBSAMPLES = 2</div><div class='add'>+NAO_SAMPLES = 8</div><div class='add'>+</div><div class='add'>+srand(0)</div><div class='add'>+</div><div class='add'>+class Vec</div><div class='add'>+  def initialize(x, y, z)</div><div class='add'>+    @x = x</div><div class='add'>+    @y = y</div><div class='add'>+    @z = z</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  attr_accessor :x, :y, :z</div><div class='add'>+</div><div class='add'>+  def vadd(b)</div><div class='add'>+    Vec.new(@x + b.x, @y + b.y, @z + b.z)</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def vsub(b)</div><div class='add'>+    Vec.new(@x - b.x, @y - b.y, @z - b.z)</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def vcross(b)</div><div class='add'>+    Vec.new(@y * b.z - @z * b.y,</div><div class='add'>+            @z * b.x - @x * b.z,</div><div class='add'>+            @x * b.y - @y * b.x)</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def vdot(b)</div><div class='add'>+    @x * b.x + @y * b.y + @z * b.z</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def vlength</div><div class='add'>+    Math.sqrt(@x * @x + @y * @y + @z * @z)</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def vnormalize</div><div class='add'>+    len = vlength</div><div class='add'>+    v = Vec.new(@x, @y, @z)</div><div class='add'>+    if len &gt; 1.0e-17 then</div><div class='add'>+      v.x = v.x / len</div><div class='add'>+      v.y = v.y / len</div><div class='add'>+      v.z = v.z / len</div><div class='add'>+    end</div><div class='add'>+    v</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+class Sphere</div><div class='add'>+  def initialize(center, radius)</div><div class='add'>+    @center = center</div><div class='add'>+    @radius = radius</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  attr_reader :center, :radius</div><div class='add'>+</div><div class='add'>+  def intersect(ray, isect)</div><div class='add'>+    rs = ray.org.vsub(@center)</div><div class='add'>+    b = rs.vdot(ray.dir)</div><div class='add'>+    c = rs.vdot(rs) - (@radius * @radius)</div><div class='add'>+    d = b * b - c</div><div class='add'>+    if d &gt; 0.0 then</div><div class='add'>+      t = - b - Math.sqrt(d)</div><div class='add'>+</div><div class='add'>+      if t &gt; 0.0 and t &lt; isect.t then</div><div class='add'>+        isect.t = t</div><div class='add'>+        isect.hit = true</div><div class='add'>+        isect.pl = Vec.new(ray.org.x + ray.dir.x * t,</div><div class='add'>+                          ray.org.y + ray.dir.y * t,</div><div class='add'>+                          ray.org.z + ray.dir.z * t)</div><div class='add'>+        n = isect.pl.vsub(@center)</div><div class='add'>+        isect.n = n.vnormalize</div><div class='add'>+      else</div><div class='add'>+        0.0</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+    nil</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+class Plane</div><div class='add'>+  def initialize(p, n)</div><div class='add'>+    @p = p</div><div class='add'>+    @n = n</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def intersect(ray, isect)</div><div class='add'>+    d = -@p.vdot(@n)</div><div class='add'>+    v = ray.dir.vdot(@n)</div><div class='add'>+    v0 = v</div><div class='add'>+    if v &lt; 0.0 then</div><div class='add'>+      v0 = -v</div><div class='add'>+    end</div><div class='add'>+    if v0 &lt; 1.0e-17 then</div><div class='add'>+      return</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    t = -(ray.org.vdot(@n) + d) / v</div><div class='add'>+</div><div class='add'>+    if t &gt; 0.0 and t &lt; isect.t then</div><div class='add'>+      isect.hit = true</div><div class='add'>+      isect.t = t</div><div class='add'>+      isect.n = @n</div><div class='add'>+      isect.pl = Vec.new(ray.org.x + t * ray.dir.x,</div><div class='add'>+                        ray.org.y + t * ray.dir.y,</div><div class='add'>+                        ray.org.z + t * ray.dir.z)</div><div class='add'>+    end</div><div class='add'>+    nil</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+class Ray</div><div class='add'>+  def initialize(org, dir)</div><div class='add'>+    @org = org</div><div class='add'>+    @dir = dir</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  attr_accessor :org, :dir</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+class Isect</div><div class='add'>+  def initialize</div><div class='add'>+    @t = 10000000.0</div><div class='add'>+    @hit = false</div><div class='add'>+    @pl = Vec.new(0.0, 0.0, 0.0)</div><div class='add'>+    @n = Vec.new(0.0, 0.0, 0.0)</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  attr_accessor :t, :hit, :pl, :n</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def clamp(f)</div><div class='add'>+  i = f * 255.5</div><div class='add'>+  if i &gt; 255.0 then</div><div class='add'>+    i = 255.0</div><div class='add'>+  end</div><div class='add'>+  if i &lt; 0.0 then</div><div class='add'>+    i = 0.0</div><div class='add'>+  end</div><div class='add'>+  i.to_i</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def otherBasis(basis, n)</div><div class='add'>+  basis[2] = Vec.new(n.x, n.y, n.z)</div><div class='add'>+  basis[1] = Vec.new(0.0, 0.0, 0.0)</div><div class='add'>+</div><div class='add'>+  if n.x &lt; 0.6 and n.x &gt; -0.6 then</div><div class='add'>+    basis[1].x = 1.0</div><div class='add'>+  elsif n.y &lt; 0.6 and n.y &gt; -0.6 then</div><div class='add'>+    basis[1].y = 1.0</div><div class='add'>+  elsif n.z &lt; 0.6 and n.z &gt; -0.6 then</div><div class='add'>+    basis[1].z = 1.0</div><div class='add'>+  else</div><div class='add'>+    basis[1].x = 1.0</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  basis[0] = basis[1].vcross(basis[2])</div><div class='add'>+  basis[0] = basis[0].vnormalize</div><div class='add'>+</div><div class='add'>+  basis[1] = basis[2].vcross(basis[0])</div><div class='add'>+  basis[1] = basis[1].vnormalize</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+class Scene</div><div class='add'>+  def initialize</div><div class='add'>+    @spheres = Array.new</div><div class='add'>+    @spheres[0] = Sphere.new(Vec.new(-2.0, 0.0, -3.5), 0.5)</div><div class='add'>+    @spheres[1] = Sphere.new(Vec.new(-0.5, 0.0, -3.0), 0.5)</div><div class='add'>+    @spheres[2] = Sphere.new(Vec.new(1.0, 0.0, -2.2), 0.5)</div><div class='add'>+    @plane = Plane.new(Vec.new(0.0, -0.5, 0.0), Vec.new(0.0, 1.0, 0.0))</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def ambient_occlusion(isect)</div><div class='add'>+    basis = Array.new</div><div class='add'>+    otherBasis(basis, isect.n)</div><div class='add'>+</div><div class='add'>+    ntheta    = NAO_SAMPLES</div><div class='add'>+    nphi      = NAO_SAMPLES</div><div class='add'>+    eps       = 0.0001</div><div class='add'>+    occlusion = 0.0</div><div class='add'>+</div><div class='add'>+    p0 = Vec.new(isect.pl.x + eps * isect.n.x,</div><div class='add'>+                isect.pl.y + eps * isect.n.y,</div><div class='add'>+                isect.pl.z + eps * isect.n.z)</div><div class='add'>+    nphi.times do |j|</div><div class='add'>+      ntheta.times do |i|</div><div class='add'>+        r = rand</div><div class='add'>+        phi = 2.0 * 3.14159265 * rand</div><div class='add'>+        x = Math.cos(phi) * Math.sqrt(1.0 - r)</div><div class='add'>+        y = Math.sin(phi) * Math.sqrt(1.0 - r)</div><div class='add'>+        z = Math.sqrt(r)</div><div class='add'>+</div><div class='add'>+        rx = x * basis[0].x + y * basis[1].x + z * basis[2].x</div><div class='add'>+        ry = x * basis[0].y + y * basis[1].y + z * basis[2].y</div><div class='add'>+        rz = x * basis[0].z + y * basis[1].z + z * basis[2].z</div><div class='add'>+</div><div class='add'>+        raydir = Vec.new(rx, ry, rz)</div><div class='add'>+        ray = Ray.new(p0, raydir)</div><div class='add'>+</div><div class='add'>+        occisect = Isect.new</div><div class='add'>+        @spheres[0].intersect(ray, occisect)</div><div class='add'>+        @spheres[1].intersect(ray, occisect)</div><div class='add'>+        @spheres[2].intersect(ray, occisect)</div><div class='add'>+        @plane.intersect(ray, occisect)</div><div class='add'>+        if occisect.hit then</div><div class='add'>+          occlusion = occlusion + 1.0</div><div class='add'>+        else</div><div class='add'>+          0.0</div><div class='add'>+        end</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    occlusion = (ntheta.to_f * nphi.to_f - occlusion) / (ntheta.to_f * nphi.to_f)</div><div class='add'>+</div><div class='add'>+    Vec.new(occlusion, occlusion, occlusion)</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def render(w, h, nsubsamples)</div><div class='add'>+    cnt = 0</div><div class='add'>+    nsf = nsubsamples.to_f</div><div class='add'>+    h.times do |y|</div><div class='add'>+      w.times do |x|</div><div class='add'>+        rad = Vec.new(0.0, 0.0, 0.0)</div><div class='add'>+</div><div class='add'>+        # Subsampling</div><div class='add'>+        nsubsamples.times do |v|</div><div class='add'>+          nsubsamples.times do |u|</div><div class='add'>+</div><div class='add'>+            cnt = cnt + 1</div><div class='add'>+            wf = w.to_f</div><div class='add'>+            hf = h.to_f</div><div class='add'>+            xf = x.to_f</div><div class='add'>+            yf = y.to_f</div><div class='add'>+            uf = u.to_f</div><div class='add'>+            vf = v.to_f</div><div class='add'>+</div><div class='add'>+            px = (xf + (uf / nsf) - (wf / 2.0)) / (wf / 2.0)</div><div class='add'>+            py = -(yf + (vf / nsf) - (hf / 2.0)) / (hf / 2.0)</div><div class='add'>+</div><div class='add'>+            eye = Vec.new(px, py, -1.0).vnormalize</div><div class='add'>+</div><div class='add'>+            ray = Ray.new(Vec.new(0.0, 0.0, 0.0), eye)</div><div class='add'>+</div><div class='add'>+            isect = Isect.new</div><div class='add'>+            @spheres[0].intersect(ray, isect)</div><div class='add'>+            @spheres[1].intersect(ray, isect)</div><div class='add'>+            @spheres[2].intersect(ray, isect)</div><div class='add'>+            @plane.intersect(ray, isect)</div><div class='add'>+            if isect.hit then</div><div class='add'>+              col = ambient_occlusion(isect)</div><div class='add'>+              rad.x = rad.x + col.x</div><div class='add'>+              rad.y = rad.y + col.y</div><div class='add'>+              rad.z = rad.z + col.z</div><div class='add'>+            end</div><div class='add'>+          end</div><div class='add'>+        end</div><div class='add'>+</div><div class='add'>+        r = rad.x / (nsf * nsf)</div><div class='add'>+        g = rad.y / (nsf * nsf)</div><div class='add'>+        b = rad.z / (nsf * nsf)</div><div class='add'>+        printf("%c", clamp(r))</div><div class='add'>+        printf("%c", clamp(g))</div><div class='add'>+        printf("%c", clamp(b))</div><div class='add'>+      end</div><div class='add'>+      nil</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    nil</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+alias printf_orig printf</div><div class='add'>+def printf *args</div><div class='add'>+  # $fp.printf(*args)</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+# File.open("ao.ppm", "w") do |fp|</div><div class='add'>+  # $fp = fp</div><div class='add'>+  printf("P6\n")</div><div class='add'>+  printf("%d %d\n", IMAGE_WIDTH, IMAGE_HEIGHT)</div><div class='add'>+  printf("255\n")</div><div class='add'>+  Scene.new.render(IMAGE_WIDTH, IMAGE_HEIGHT, NSUBSAMPLES)</div><div class='add'>+# end</div><div class='add'>+</div><div class='add'>+undef printf</div><div class='add'>+alias printf printf_orig</div><div class='head'>diff --git a/benchmark/app_erb.yml b/benchmark/app_erb.yml<br/>new file mode 100644<br/>index 0000000000..31e29b7644<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/app_erb.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/app_erb.yml</a></div><div class='hunk'>@@ -0,0 +1,23 @@</div><div class='add'>+#</div><div class='add'>+# Create many HTML strings with ERB.</div><div class='add'>+#</div><div class='add'>+prelude: |</div><div class='add'>+  require 'erb'</div><div class='add'>+</div><div class='add'>+  data = &lt;&lt;erb</div><div class='add'>+  &lt;html&gt;</div><div class='add'>+    &lt;head&gt; &lt;%= title %&gt; &lt;/head&gt;</div><div class='add'>+    &lt;body&gt;</div><div class='add'>+      &lt;h1&gt; &lt;%= title %&gt; &lt;/h1&gt;</div><div class='add'>+      &lt;p&gt;</div><div class='add'>+        &lt;%= content %&gt;</div><div class='add'>+      &lt;/p&gt;</div><div class='add'>+    &lt;/body&gt;</div><div class='add'>+  &lt;/html&gt;</div><div class='add'>+  erb</div><div class='add'>+</div><div class='add'>+  title = "hello world!"</div><div class='add'>+  content = "hello world!\n" * 10</div><div class='add'>+benchmark:</div><div class='add'>+  app_erb: ERB.new(data).result(binding)</div><div class='add'>+loop_count: 15000</div><div class='head'>diff --git a/benchmark/app_factorial.rb b/benchmark/app_factorial.rb<br/>new file mode 100644<br/>index 0000000000..45f471dfdb<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/app_factorial.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/app_factorial.rb</a></div><div class='hunk'>@@ -0,0 +1,11 @@</div><div class='add'>+def fact(n)</div><div class='add'>+  if(n &gt; 1)</div><div class='add'>+    n * fact(n-1)</div><div class='add'>+  else</div><div class='add'>+    1</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+100.times {</div><div class='add'>+  fact(5000)</div><div class='add'>+}</div><div class='head'>diff --git a/benchmark/app_fib.rb b/benchmark/app_fib.rb<br/>new file mode 100644<br/>index 0000000000..34a7b2e725<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/app_fib.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/app_fib.rb</a></div><div class='hunk'>@@ -0,0 +1,10 @@</div><div class='add'>+def fib n</div><div class='add'>+  if n &lt; 3</div><div class='add'>+    1</div><div class='add'>+  else</div><div class='add'>+    fib(n-1) + fib(n-2)</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+fib(34)</div><div class='add'>+</div><div class='head'>diff --git a/benchmark/app_lc_fizzbuzz.rb b/benchmark/app_lc_fizzbuzz.rb<br/>new file mode 100644<br/>index 0000000000..f09574bbeb<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/app_lc_fizzbuzz.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/app_lc_fizzbuzz.rb</a></div><div class='hunk'>@@ -0,0 +1,52 @@</div><div class='add'>+#</div><div class='add'>+# FizzBuzz program using only lambda calculus</div><div class='add'>+#</div><div class='add'>+# This program is quoted from</div><div class='add'>+#   "Understanding Computation" by Tom Stuart</div><div class='add'>+#   http://computationbook.com/</div><div class='add'>+#</div><div class='add'>+# You can understand why this program works fine by reading this book.</div><div class='add'>+#</div><div class='add'>+</div><div class='add'>+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='add'>+</div><div class='add'>+FIRST     = -&gt; l { LEFT[RIGHT[l]] }</div><div class='add'>+IF        = -&gt; b { b }</div><div class='add'>+LEFT      = -&gt; p { p[-&gt; x { -&gt; y { x } } ] }</div><div class='add'>+RIGHT     = -&gt; p { p[-&gt; x { -&gt; y { y } } ] }</div><div class='add'>+IS_EMPTY  = LEFT</div><div class='add'>+REST      = -&gt; l { RIGHT[RIGHT[l]] }</div><div class='add'>+</div><div class='add'>+def to_integer(proc)</div><div class='add'>+  proc[-&gt; n { n + 1 }][0]</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def to_boolean(proc)</div><div class='add'>+  IF[proc][true][false]</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def to_array(proc)</div><div class='add'>+  array = []</div><div class='add'>+</div><div class='add'>+  until to_boolean(IS_EMPTY[proc])</div><div class='add'>+    array.push(FIRST[proc])</div><div class='add'>+    proc = REST[proc]</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  array</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def to_char(c)</div><div class='add'>+  '0123456789BFiuz'.slice(to_integer(c))</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def to_string(s)</div><div class='add'>+  to_array(s).map { |c| to_char(c) }.join</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+answer = to_array(solution).map do |p|</div><div class='add'>+  to_string(p)</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+answer_ary = answer.to_a</div><div class='add'>+# puts answer_ary</div><div class='head'>diff --git a/benchmark/app_mandelbrot.rb b/benchmark/app_mandelbrot.rb<br/>new file mode 100644<br/>index 0000000000..801b75e8e2<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/app_mandelbrot.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/app_mandelbrot.rb</a></div><div class='hunk'>@@ -0,0 +1,23 @@</div><div class='add'>+require 'complex'</div><div class='add'>+</div><div class='add'>+def mandelbrot? z</div><div class='add'>+  i = 0</div><div class='add'>+  while i&lt;100</div><div class='add'>+    i += 1</div><div class='add'>+    z = z * z</div><div class='add'>+    return false if z.abs &gt; 2</div><div class='add'>+  end</div><div class='add'>+  true</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+ary = []</div><div class='add'>+</div><div class='add'>+(0..1000).each{|dx|</div><div class='add'>+  (0..1000).each{|dy|</div><div class='add'>+    x = dx / 50.0</div><div class='add'>+    y = dy / 50.0</div><div class='add'>+    c = Complex(x, y)</div><div class='add'>+    ary &lt;&lt; c if mandelbrot?(c)</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+</div><div class='head'>diff --git a/benchmark/app_pentomino.rb b/benchmark/app_pentomino.rb<br/>new file mode 100644<br/>index 0000000000..47be7b203f<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/app_pentomino.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/app_pentomino.rb</a></div><div class='hunk'>@@ -0,0 +1,130 @@</div><div class='add'>+#!/usr/local/bin/ruby</div><div class='add'>+# This program is contributed by Shin Nishiyama</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+# modified by K.Sasada</div><div class='add'>+</div><div class='add'>+NP = 5</div><div class='add'>+ROW = 8 + NP</div><div class='add'>+COL = 8</div><div class='add'>+</div><div class='add'>+$p = []</div><div class='add'>+$b = []</div><div class='add'>+$no = 0</div><div class='add'>+</div><div class='add'>+def piece(n, a, nb)</div><div class='add'>+  nb.each{|x|</div><div class='add'>+    a[n] = x</div><div class='add'>+    if n == NP-1</div><div class='add'>+      $p &lt;&lt; [a.sort]</div><div class='add'>+    else</div><div class='add'>+      nbc=nb.dup</div><div class='add'>+      [-ROW, -1, 1, ROW].each{|d|</div><div class='add'>+        if x+d &gt; 0 and not a.include?(x+d) and not nbc.include?(x+d)</div><div class='add'>+          nbc &lt;&lt; x+d</div><div class='add'>+        end</div><div class='add'>+      }</div><div class='add'>+      nbc.delete x</div><div class='add'>+      piece(n+1,a[0..n],nbc)</div><div class='add'>+    end</div><div class='add'>+  }</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def kikaku(a)</div><div class='add'>+  a.collect {|x| x - a[0]}</div><div class='add'>+end</div><div class='add'>+def ud(a)</div><div class='add'>+  kikaku(a.collect {|x| ((x+NP)%ROW)-ROW*((x+NP)/ROW) }.sort)</div><div class='add'>+end</div><div class='add'>+def rl(a)</div><div class='add'>+  kikaku(a.collect {|x| ROW*((x+NP)/ROW)+ROW-((x+NP)%ROW)}.sort)</div><div class='add'>+end</div><div class='add'>+def xy(a)</div><div class='add'>+  kikaku(a.collect {|x| ROW*((x+NP)%ROW) + (x+NP)/ROW }.sort)</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def mkpieces</div><div class='add'>+  piece(0,[],[0])</div><div class='add'>+  $p.each do |a|</div><div class='add'>+    a0 = a[0]</div><div class='add'>+    a[1] = ud(a0)</div><div class='add'>+    a[2] = rl(a0)</div><div class='add'>+    a[3] = ud(rl(a0))</div><div class='add'>+    a[4] = xy(a0)</div><div class='add'>+    a[5] = ud(xy(a0))</div><div class='add'>+    a[6] = rl(xy(a0))</div><div class='add'>+    a[7] = ud(rl(xy(a0)))</div><div class='add'>+    a.sort!</div><div class='add'>+    a.uniq!</div><div class='add'>+  end</div><div class='add'>+  $p.uniq!.sort! {|x,y| x[0] &lt;=&gt; y[0] }</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def mkboard</div><div class='add'>+  (0...ROW*COL).each{|i|</div><div class='add'>+    if i % ROW &gt;= ROW-NP</div><div class='add'>+      $b[i] = -2</div><div class='add'>+    else</div><div class='add'>+      $b[i] = -1</div><div class='add'>+    end</div><div class='add'>+    $b[3*ROW+3]=$b[3*ROW+4]=$b[4*ROW+3]=$b[4*ROW+4]=-2</div><div class='add'>+  }</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def pboard</div><div class='add'>+  return # skip print</div><div class='add'>+  print "No. #$no\n"</div><div class='add'>+  (0...COL).each{|i|</div><div class='add'>+    print "|"</div><div class='add'>+    (0...ROW-NP).each{|j|</div><div class='add'>+      x = $b[i*ROW+j]</div><div class='add'>+      if x &lt; 0</div><div class='add'>+        print "..|"</div><div class='add'>+      else</div><div class='add'>+        printf "%2d|",x+1</div><div class='add'>+      end</div><div class='add'>+    }</div><div class='add'>+    print "\n"</div><div class='add'>+  }</div><div class='add'>+  print "\n"</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+$pnum=[]</div><div class='add'>+def setpiece(a,pos)</div><div class='add'>+  if a.length == $p.length then</div><div class='add'>+    $no += 1</div><div class='add'>+    pboard</div><div class='add'>+    return</div><div class='add'>+  end</div><div class='add'>+  while $b[pos] != -1</div><div class='add'>+    pos += 1</div><div class='add'>+  end</div><div class='add'>+  ($pnum - a).each do |i|</div><div class='add'>+    $p[i].each do |x|</div><div class='add'>+      f = 0</div><div class='add'>+      x.each{|s|</div><div class='add'>+        if $b[pos+s] != -1</div><div class='add'>+          f=1</div><div class='add'>+          break</div><div class='add'>+        end</div><div class='add'>+      }</div><div class='add'>+      if f == 0 then</div><div class='add'>+        x.each{|s|</div><div class='add'>+          $b[pos+s] = i</div><div class='add'>+        }</div><div class='add'>+        a &lt;&lt; i</div><div class='add'>+        setpiece(a.dup, pos)</div><div class='add'>+        a.pop</div><div class='add'>+        x.each{|s|</div><div class='add'>+          $b[pos+s] = -1</div><div class='add'>+        }</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+mkpieces</div><div class='add'>+mkboard</div><div class='add'>+$p[4] = [$p[4][0]]</div><div class='add'>+$pnum = (0...$p.length).to_a</div><div class='add'>+setpiece([],0)</div><div class='head'>diff --git a/benchmark/app_raise.rb b/benchmark/app_raise.rb<br/>new file mode 100644<br/>index 0000000000..5db8f95d50<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/app_raise.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/app_raise.rb</a></div><div class='hunk'>@@ -0,0 +1,8 @@</div><div class='add'>+i = 0</div><div class='add'>+while i&lt;300000</div><div class='add'>+  i += 1</div><div class='add'>+  begin</div><div class='add'>+    raise</div><div class='add'>+  rescue</div><div class='add'>+  end</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/app_strconcat.rb b/benchmark/app_strconcat.rb<br/>new file mode 100644<br/>index 0000000000..7eed7c1aed<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/app_strconcat.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/app_strconcat.rb</a></div><div class='hunk'>@@ -0,0 +1,5 @@</div><div class='add'>+i = 0</div><div class='add'>+while i&lt;2_000_000</div><div class='add'>+  "#{1+1} #{1+1} #{1+1}"</div><div class='add'>+  i += 1</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/app_tak.rb b/benchmark/app_tak.rb<br/>new file mode 100644<br/>index 0000000000..efe5380f4e<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/app_tak.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/app_tak.rb</a></div><div class='hunk'>@@ -0,0 +1,13 @@</div><div class='add'>+</div><div class='add'>+def tak x, y, z</div><div class='add'>+  unless y &lt; x</div><div class='add'>+    z</div><div class='add'>+  else</div><div class='add'>+    tak( tak(x-1, y, z),</div><div class='add'>+         tak(y-1, z, x),</div><div class='add'>+         tak(z-1, x, y))</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+tak(18, 9, 0)</div><div class='add'>+</div><div class='head'>diff --git a/benchmark/app_tarai.rb b/benchmark/app_tarai.rb<br/>new file mode 100644<br/>index 0000000000..4c146f5ccf<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/app_tarai.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/app_tarai.rb</a></div><div class='hunk'>@@ -0,0 +1,10 @@</div><div class='add'>+def tarai( x, y, z )</div><div class='add'>+  if x &lt;= y</div><div class='add'>+  then y</div><div class='add'>+  else tarai(tarai(x-1, y, z),</div><div class='add'>+             tarai(y-1, z, x),</div><div class='add'>+             tarai(z-1, x, y))</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+tarai(12, 6, 0)</div><div class='head'>diff --git a/benchmark/app_uri.rb b/benchmark/app_uri.rb<br/>new file mode 100644<br/>index 0000000000..586edfd5dc<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/app_uri.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/app_uri.rb</a></div><div class='hunk'>@@ -0,0 +1,8 @@</div><div class='add'>+require 'uri'</div><div class='add'>+</div><div class='add'>+100_000.times{</div><div class='add'>+  uri = URI.parse('http://www.ruby-lang.org')</div><div class='add'>+  uri.scheme</div><div class='add'>+  uri.host</div><div class='add'>+  uri.port</div><div class='add'>+}</div><div class='head'>diff --git a/benchmark/array_flatten.yml b/benchmark/array_flatten.yml<br/>new file mode 100644<br/>index 0000000000..88ef544ba0<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/array_flatten.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/array_flatten.yml</a></div><div class='hunk'>@@ -0,0 +1,19 @@</div><div class='add'>+prelude: |</div><div class='add'>+  small_flat_ary = 5.times.to_a</div><div class='add'>+  large_flat_ary = 100.times.to_a</div><div class='add'>+  small_pairs_ary = [[1, 2]] * 5</div><div class='add'>+  large_pairs_ary = [[1, 2]] * 100</div><div class='add'>+  mostly_flat_ary = 100.times.to_a.push([101, 102])</div><div class='add'>+</div><div class='add'>+benchmark:</div><div class='add'>+  small_flat_ary.flatten: small_flat_ary.flatten</div><div class='add'>+  small_flat_ary.flatten!: small_flat_ary.flatten!</div><div class='add'>+  large_flat_ary.flatten: large_flat_ary.flatten</div><div class='add'>+  large_flat_ary.flatten!: large_flat_ary.flatten!</div><div class='add'>+  small_pairs_ary.flatten: small_pairs_ary.flatten</div><div class='add'>+  small_pairs_ary.flatten!: small_pairs_ary.dup.flatten!</div><div class='add'>+  large_pairs_ary.flatten: large_pairs_ary.flatten</div><div class='add'>+  large_pairs_ary.flatten!: large_pairs_ary.dup.flatten!</div><div class='add'>+  mostly_flat_ary.flatten: mostly_flat_ary.flatten</div><div class='add'>+  mostly_flat_ary.flatten!: mostly_flat_ary.dup.flatten!</div><div class='add'>+loop_count: 10000</div><div class='head'>diff --git a/benchmark/array_intersection.yml b/benchmark/array_intersection.yml<br/>new file mode 100644<br/>index 0000000000..26705323fd<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/array_intersection.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/array_intersection.yml</a></div><div class='hunk'>@@ -0,0 +1,14 @@</div><div class='add'>+prelude: |</div><div class='add'>+  small1 = [1, 2, 3]</div><div class='add'>+  small2 = [1, 2, 3, 4, 5]</div><div class='add'>+  small3 = [2, 3, 4, 5]</div><div class='add'>+  small4 = [2]</div><div class='add'>+  big1 = [1, 2, 3, 4] * 64</div><div class='add'>+  big2 = [1, 2, 3] * 64</div><div class='add'>+  big3 = [1, 2] * 64</div><div class='add'>+</div><div class='add'>+benchmark:</div><div class='add'>+  small-&amp;: small1 &amp; small2 &amp; small3 &amp; small4</div><div class='add'>+  small-intersection: small1.intersection(small2, small3, small4)</div><div class='add'>+  big-&amp;: big1 &amp; big2 &amp; big3</div><div class='add'>+  big-intersection: big1.intersection(big2, big3)</div><div class='head'>diff --git a/benchmark/array_max_float.yml b/benchmark/array_max_float.yml<br/>new file mode 100644<br/>index 0000000000..ace1ae2e14<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/array_max_float.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/array_max_float.yml</a></div><div class='hunk'>@@ -0,0 +1,30 @@</div><div class='add'>+prelude: |</div><div class='add'>+  ary2 = 2.times.map(&amp;:to_f).shuffle</div><div class='add'>+  ary10 = 10.times.map(&amp;:to_f).shuffle</div><div class='add'>+  ary100 = 100.times.map(&amp;:to_f).shuffle</div><div class='add'>+  ary500 = 500.times.map(&amp;:to_f).shuffle</div><div class='add'>+  ary1000 = 1000.times.map(&amp;:to_f).shuffle</div><div class='add'>+  ary2000 = 2500.times.map(&amp;:to_f).shuffle</div><div class='add'>+  ary3000 = 2500.times.map(&amp;:to_f).shuffle</div><div class='add'>+  ary5000 = 5000.times.map(&amp;:to_f).shuffle</div><div class='add'>+  ary10000 = 10000.times.map(&amp;:to_f).shuffle</div><div class='add'>+  ary20000 = 20000.times.map(&amp;:to_f).shuffle</div><div class='add'>+  ary50000 = 50000.times.map(&amp;:to_f).shuffle</div><div class='add'>+  ary100000 = 100000.times.map(&amp;:to_f).shuffle</div><div class='add'>+</div><div class='add'>+benchmark:</div><div class='add'>+  ary2.max: ary2.max</div><div class='add'>+  ary10.max: ary10.max</div><div class='add'>+  ary100.max: ary100.max</div><div class='add'>+  ary500.max: ary500.max</div><div class='add'>+  ary1000.max: ary1000.max</div><div class='add'>+  ary2000.max: ary2000.max</div><div class='add'>+  ary3000.max: ary3000.max</div><div class='add'>+  ary5000.max: ary5000.max</div><div class='add'>+  ary10000.max: ary10000.max</div><div class='add'>+  ary20000.max: ary20000.max</div><div class='add'>+  ary50000.max: ary50000.max</div><div class='add'>+  ary100000.max: ary100000.max</div><div class='add'>+</div><div class='add'>+loop_count: 10000</div><div class='add'>+</div><div class='head'>diff --git a/benchmark/array_max_int.yml b/benchmark/array_max_int.yml<br/>new file mode 100644<br/>index 0000000000..acd83684d0<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/array_max_int.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/array_max_int.yml</a></div><div class='hunk'>@@ -0,0 +1,31 @@</div><div class='add'>+prelude: |</div><div class='add'>+  ary2 = 2.times.to_a.shuffle</div><div class='add'>+  ary10 = 10.times.to_a.shuffle</div><div class='add'>+  ary100 = 100.times.to_a.shuffle</div><div class='add'>+  ary500 = 500.times.to_a.shuffle</div><div class='add'>+  ary1000 = 1000.times.to_a.shuffle</div><div class='add'>+  ary2000 = 2500.times.to_a.shuffle</div><div class='add'>+  ary3000 = 2500.times.to_a.shuffle</div><div class='add'>+  ary5000 = 5000.times.to_a.shuffle</div><div class='add'>+  ary10000 = 10000.times.to_a.shuffle</div><div class='add'>+  ary20000 = 20000.times.to_a.shuffle</div><div class='add'>+  ary50000 = 50000.times.to_a.shuffle</div><div class='add'>+  ary100000 = 100000.times.to_a.shuffle</div><div class='add'>+  ary1000000 = 1000000.times.to_a.shuffle</div><div class='add'>+</div><div class='add'>+benchmark:</div><div class='add'>+  ary2.max: ary2.max</div><div class='add'>+  ary10.max: ary10.max</div><div class='add'>+  ary100.max: ary100.max</div><div class='add'>+  ary500.max: ary500.max</div><div class='add'>+  ary1000.max: ary1000.max</div><div class='add'>+  ary2000.max: ary2000.max</div><div class='add'>+  ary3000.max: ary3000.max</div><div class='add'>+  ary5000.max: ary5000.max</div><div class='add'>+  ary10000.max: ary10000.max</div><div class='add'>+  ary20000.max: ary20000.max</div><div class='add'>+  ary50000.max: ary50000.max</div><div class='add'>+  ary100000.max: ary100000.max</div><div class='add'>+  ary1000000.max: ary1000000.max</div><div class='add'>+</div><div class='add'>+loop_count: 10000</div><div class='head'>diff --git a/benchmark/array_max_str.yml b/benchmark/array_max_str.yml<br/>new file mode 100644<br/>index 0000000000..2aeed010f2<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/array_max_str.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/array_max_str.yml</a></div><div class='hunk'>@@ -0,0 +1,30 @@</div><div class='add'>+prelude: |</div><div class='add'>+  ary2 = 2.times.map(&amp;:to_s).shuffle</div><div class='add'>+  ary10 = 10.times.map(&amp;:to_s).shuffle</div><div class='add'>+  ary100 = 100.times.map(&amp;:to_s).shuffle</div><div class='add'>+  ary500 = 500.times.map(&amp;:to_s).shuffle</div><div class='add'>+  ary1000 = 1000.times.map(&amp;:to_s).shuffle</div><div class='add'>+  ary2000 = 2500.times.map(&amp;:to_s).shuffle</div><div class='add'>+  ary3000 = 2500.times.map(&amp;:to_s).shuffle</div><div class='add'>+  ary5000 = 5000.times.map(&amp;:to_s).shuffle</div><div class='add'>+  ary10000 = 10000.times.map(&amp;:to_s).shuffle</div><div class='add'>+  ary20000 = 20000.times.map(&amp;:to_s).shuffle</div><div class='add'>+  ary50000 = 50000.times.map(&amp;:to_s).shuffle</div><div class='add'>+  ary100000 = 100000.times.map(&amp;:to_s).shuffle</div><div class='add'>+</div><div class='add'>+benchmark:</div><div class='add'>+  ary2.max: ary2.max</div><div class='add'>+  ary10.max: ary10.max</div><div class='add'>+  ary100.max: ary100.max</div><div class='add'>+  ary500.max: ary500.max</div><div class='add'>+  ary1000.max: ary1000.max</div><div class='add'>+  ary2000.max: ary2000.max</div><div class='add'>+  ary3000.max: ary3000.max</div><div class='add'>+  ary5000.max: ary5000.max</div><div class='add'>+  ary10000.max: ary10000.max</div><div class='add'>+  ary20000.max: ary20000.max</div><div class='add'>+  ary50000.max: ary50000.max</div><div class='add'>+  ary100000.max: ary100000.max</div><div class='add'>+</div><div class='add'>+loop_count: 10000</div><div class='add'>+</div><div class='head'>diff --git a/benchmark/array_min.yml b/benchmark/array_min.yml<br/>new file mode 100644<br/>index 0000000000..53e5072b14<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/array_min.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/array_min.yml</a></div><div class='hunk'>@@ -0,0 +1,31 @@</div><div class='add'>+prelude: |</div><div class='add'>+  ary2 = 2.times.to_a.shuffle</div><div class='add'>+  ary10 = 10.times.to_a.shuffle</div><div class='add'>+  ary100 = 100.times.to_a.shuffle</div><div class='add'>+  ary500 = 500.times.to_a.shuffle</div><div class='add'>+  ary1000 = 1000.times.to_a.shuffle</div><div class='add'>+  ary2000 = 2500.times.to_a.shuffle</div><div class='add'>+  ary3000 = 2500.times.to_a.shuffle</div><div class='add'>+  ary5000 = 5000.times.to_a.shuffle</div><div class='add'>+  ary10000 = 10000.times.to_a.shuffle</div><div class='add'>+  ary20000 = 20000.times.to_a.shuffle</div><div class='add'>+  ary50000 = 50000.times.to_a.shuffle</div><div class='add'>+  ary100000 = 100000.times.to_a.shuffle</div><div class='add'>+  ary1000000 = 1000000.times.to_a.shuffle</div><div class='add'>+</div><div class='add'>+benchmark:</div><div class='add'>+  ary2.min: ary2.min</div><div class='add'>+  ary10.min: ary10.min</div><div class='add'>+  ary100.min: ary100.min</div><div class='add'>+  ary500.min: ary500.min</div><div class='add'>+  ary1000.min: ary1000.min</div><div class='add'>+  ary2000.min: ary2000.min</div><div class='add'>+  ary3000.min: ary3000.min</div><div class='add'>+  ary5000.min: ary5000.min</div><div class='add'>+  ary10000.min: ary10000.min</div><div class='add'>+  ary20000.min: ary20000.min</div><div class='add'>+  ary50000.min: ary50000.min</div><div class='add'>+  ary100000.min: ary100000.min</div><div class='add'>+  ary1000000.min: ary1000000.min</div><div class='add'>+</div><div class='add'>+loop_count: 10000</div><div class='head'>diff --git a/benchmark/array_sample_100k_10.rb b/benchmark/array_sample_100k_10.rb<br/>new file mode 100644<br/>index 0000000000..5f41ecc32b<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/array_sample_100k_10.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/array_sample_100k_10.rb</a></div><div class='hunk'>@@ -0,0 +1,2 @@</div><div class='add'>+arr = [*0...100000]</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..18b1715319<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/array_sample_100k_11.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/array_sample_100k_11.rb</a></div><div class='hunk'>@@ -0,0 +1,2 @@</div><div class='add'>+arr = [*0...100000]</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..22863afe89<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/array_sample_100k__100.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/array_sample_100k__100.rb</a></div><div class='hunk'>@@ -0,0 +1,2 @@</div><div class='add'>+arr = [*0...100000]</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..4cd79e6c67<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/array_sample_100k__1k.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/array_sample_100k__1k.rb</a></div><div class='hunk'>@@ -0,0 +1,2 @@</div><div class='add'>+arr = [*0...100000]</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..b3d264249e<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/array_sample_100k__6k.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/array_sample_100k__6k.rb</a></div><div class='hunk'>@@ -0,0 +1,2 @@</div><div class='add'>+arr = [*0...100000]</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..5dd55ec058<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/array_sample_100k___10k.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/array_sample_100k___10k.rb</a></div><div class='hunk'>@@ -0,0 +1,2 @@</div><div class='add'>+arr = [*0...100000]</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..1506732c3c<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/array_sample_100k___50k.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/array_sample_100k___50k.rb</a></div><div class='hunk'>@@ -0,0 +1,2 @@</div><div class='add'>+arr = [*0...100000]</div><div class='add'>+10_000.times {arr.sample 50_000}</div><div class='head'>diff --git a/benchmark/array_shift.rb b/benchmark/array_shift.rb<br/>new file mode 100644<br/>index 0000000000..798bb9e3f4<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/array_shift.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/array_shift.rb</a></div><div class='hunk'>@@ -0,0 +1,14 @@</div><div class='add'>+require 'benchmark'</div><div class='add'>+</div><div class='add'>+Benchmark.bm do |x|</div><div class='add'>+  [10_000,1_000_000,100_000_000].each do |n|</div><div class='add'>+    ary = Array.new(n,0)</div><div class='add'>+    GC.start</div><div class='add'>+    x.report("#{n}:shift"){ ary.shift }</div><div class='add'>+    (0..4).each do |i|</div><div class='add'>+      ary = Array.new(n,0)</div><div class='add'>+      GC.start</div><div class='add'>+      x.report("#{n}:shift(#{i})"){ ary.shift(i) }</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/array_small_and.rb b/benchmark/array_small_and.rb<br/>new file mode 100644<br/>index 0000000000..e53a6edae6<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/array_small_and.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/array_small_and.rb</a></div><div class='hunk'>@@ -0,0 +1,17 @@</div><div class='add'>+MIN_SIZE = ENV.fetch('SMALL_ARRAY_MIN', 0).to_i</div><div class='add'>+MAX_SIZE = ENV.fetch('SMALL_ARRAY_MAX', 16).to_i</div><div class='add'>+ITERATIONS = ENV.fetch('SMALL_ARRAY_ITERATIONS', 100).to_i</div><div class='add'>+</div><div class='add'>+ARRAYS = (MIN_SIZE..MAX_SIZE).map do |size1|</div><div class='add'>+  (MIN_SIZE..MAX_SIZE).map do |size2|</div><div class='add'>+    [Array.new(size1) { rand(MAX_SIZE) }, Array.new(size2) { rand(MAX_SIZE) }]</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+ITERATIONS.times do</div><div class='add'>+  ARRAYS.each do |group|</div><div class='add'>+    group.each do |arr1, arr2|</div><div class='add'>+      arr1 &amp; arr2</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/array_small_diff.rb b/benchmark/array_small_diff.rb<br/>new file mode 100644<br/>index 0000000000..9661ee48db<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/array_small_diff.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/array_small_diff.rb</a></div><div class='hunk'>@@ -0,0 +1,17 @@</div><div class='add'>+MIN_SIZE = ENV.fetch('SMALL_ARRAY_MIN', 0).to_i</div><div class='add'>+MAX_SIZE = ENV.fetch('SMALL_ARRAY_MAX', 16).to_i</div><div class='add'>+ITERATIONS = ENV.fetch('SMALL_ARRAY_ITERATIONS', 100).to_i</div><div class='add'>+</div><div class='add'>+ARRAYS = (MIN_SIZE..MAX_SIZE).map do |size1|</div><div class='add'>+  (MIN_SIZE..MAX_SIZE).map do |size2|</div><div class='add'>+    [Array.new(size1) { rand(MAX_SIZE) }, Array.new(size2) { rand(MAX_SIZE) }]</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+ITERATIONS.times do</div><div class='add'>+  ARRAYS.each do |group|</div><div class='add'>+    group.each do |arr1, arr2|</div><div class='add'>+      arr1 - arr2</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/array_small_or.rb b/benchmark/array_small_or.rb<br/>new file mode 100644<br/>index 0000000000..c58b5fd1ff<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/array_small_or.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/array_small_or.rb</a></div><div class='hunk'>@@ -0,0 +1,17 @@</div><div class='add'>+MIN_SIZE = ENV.fetch('SMALL_ARRAY_MIN', 0).to_i</div><div class='add'>+MAX_SIZE = ENV.fetch('SMALL_ARRAY_MAX', 16).to_i</div><div class='add'>+ITERATIONS = ENV.fetch('SMALL_ARRAY_ITERATIONS', 100).to_i</div><div class='add'>+</div><div class='add'>+ARRAYS = (MIN_SIZE..MAX_SIZE).map do |size1|</div><div class='add'>+  (MIN_SIZE..MAX_SIZE).map do |size2|</div><div class='add'>+    [Array.new(size1) { rand(MAX_SIZE) }, Array.new(size2) { rand(MAX_SIZE) }]</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+ITERATIONS.times do</div><div class='add'>+  ARRAYS.each do |group|</div><div class='add'>+    group.each do |arr1, arr2|</div><div class='add'>+      arr1 | arr2</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/array_sort_block.rb b/benchmark/array_sort_block.rb<br/>new file mode 100644<br/>index 0000000000..3579786056<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/array_sort_block.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/array_sort_block.rb</a></div><div class='hunk'>@@ -0,0 +1,2 @@</div><div class='add'>+ary = Array.new(1000) { rand(1000) }</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..9a6e2f8bd2<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/array_sort_float.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/array_sort_float.rb</a></div><div class='hunk'>@@ -0,0 +1,2 @@</div><div class='add'>+arr = Array.new(1000) { rand }</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..6cb394cb9f<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/array_values_at_int.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/array_values_at_int.rb</a></div><div class='hunk'>@@ -0,0 +1,2 @@</div><div class='add'>+ary = Array.new(10000) {|i| i}</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..5b53806d1c<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/array_values_at_range.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/array_values_at_range.rb</a></div><div class='hunk'>@@ -0,0 +1,2 @@</div><div class='add'>+ary = Array.new(10000) {|i| i}</div><div class='add'>+100000.times { ary.values_at(1..2000) }</div><div class='head'>diff --git a/benchmark/bighash.rb b/benchmark/bighash.rb<br/>new file mode 100644<br/>index 0000000000..e2ad5a5c94<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/bighash.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/bighash.rb</a></div><div class='hunk'>@@ -0,0 +1 @@</div><div class='add'>+h = {}; 5000000.times {|n| h[n] = n }</div><div class='head'>diff --git a/benchmark/cgi_escape_html.yml b/benchmark/cgi_escape_html.yml<br/>new file mode 100644<br/>index 0000000000..af6abd08ac<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/cgi_escape_html.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/cgi_escape_html.yml</a></div><div class='hunk'>@@ -0,0 +1,40 @@</div><div class='add'>+prelude: require 'cgi/escape'</div><div class='add'>+benchmark:</div><div class='add'>+  - name: escape_html_blank</div><div class='add'>+    prelude: str = ""</div><div class='add'>+    script: CGI.escapeHTML(str)</div><div class='add'>+    loop_count: 20000000</div><div class='add'>+  - name: escape_html_short_none</div><div class='add'>+    prelude: str = "abcde"</div><div class='add'>+    script: CGI.escapeHTML(str)</div><div class='add'>+    loop_count: 20000000</div><div class='add'>+  - name: escape_html_short_one</div><div class='add'>+    prelude: str = "abcd&lt;"</div><div class='add'>+    script: CGI.escapeHTML(str)</div><div class='add'>+    loop_count: 20000000</div><div class='add'>+  - name: escape_html_short_all</div><div class='add'>+    prelude: str = "'&amp;\"&lt;&gt;"</div><div class='add'>+    script: CGI.escapeHTML(str)</div><div class='add'>+    loop_count: 5000000</div><div class='add'>+  - name: escape_html_long_none</div><div class='add'>+    prelude: str = "abcde" * 300</div><div class='add'>+    script: CGI.escapeHTML(str)</div><div class='add'>+    loop_count: 1000000</div><div class='add'>+  - name: escape_html_long_all</div><div class='add'>+    prelude: str = "'&amp;\"&lt;&gt;" * 10</div><div class='add'>+    script: CGI.escapeHTML(str)</div><div class='add'>+    loop_count: 1000000</div><div class='add'>+  - name: escape_html_real</div><div class='add'>+    prelude: | # http://example.com/</div><div class='add'>+      str = &lt;&lt;~HTML</div><div class='add'>+        &lt;body&gt;</div><div class='add'>+        &lt;div&gt;</div><div class='add'>+            &lt;h1&gt;Example Domain&lt;/h1&gt;</div><div class='add'>+            &lt;p&gt;This domain is established to be used for illustrative examples in documents. You may use this</div><div class='add'>+            domain in examples without prior coordination or asking for permission.&lt;/p&gt;</div><div class='add'>+            &lt;p&gt;&lt;a href="http://www.iana.org/domains/example"&gt;More information...&lt;/a&gt;&lt;/p&gt;</div><div class='add'>+        &lt;/div&gt;</div><div class='add'>+        &lt;/body&gt;</div><div class='add'>+      HTML</div><div class='add'>+    script: CGI.escapeHTML(str)</div><div class='add'>+    loop_count: 1000000</div><div class='head'>diff --git a/benchmark/complex_float_add.yml b/benchmark/complex_float_add.yml<br/>new file mode 100644<br/>index 0000000000..d0150c5e5b<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/complex_float_add.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/complex_float_add.yml</a></div><div class='hunk'>@@ -0,0 +1,7 @@</div><div class='add'>+prelude: |</div><div class='add'>+  max, min = 1000.0, -1000.0</div><div class='add'>+  a = Complex(rand(max)+min, rand(max)+min)</div><div class='add'>+  b = Complex(rand(max)+min, rand(max)+min)</div><div class='add'>+benchmark:</div><div class='add'>+  complex_float_add: c = a + b</div><div class='add'>+loop_count: 1000000</div><div class='head'>diff --git a/benchmark/complex_float_div.yml b/benchmark/complex_float_div.yml<br/>new file mode 100644<br/>index 0000000000..b9f5e1d51c<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/complex_float_div.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/complex_float_div.yml</a></div><div class='hunk'>@@ -0,0 +1,7 @@</div><div class='add'>+prelude: |</div><div class='add'>+  max, min = 1000.0, -1000.0</div><div class='add'>+  a = Complex(rand(max)+min, rand(max)+min)</div><div class='add'>+  b = Complex(rand(max)+min, rand(max)+min)</div><div class='add'>+benchmark:</div><div class='add'>+  complex_float_div: c = a / b</div><div class='add'>+loop_count: 1000000</div><div class='head'>diff --git a/benchmark/complex_float_mul.yml b/benchmark/complex_float_mul.yml<br/>new file mode 100644<br/>index 0000000000..59b096a6dc<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/complex_float_mul.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/complex_float_mul.yml</a></div><div class='hunk'>@@ -0,0 +1,7 @@</div><div class='add'>+prelude: |</div><div class='add'>+  max, min = 1000.0, -1000.0</div><div class='add'>+  a = Complex(rand(max)+min, rand(max)+min)</div><div class='add'>+  b = Complex(rand(max)+min, rand(max)+min)</div><div class='add'>+benchmark:</div><div class='add'>+  complex_float_mul: c = a * b</div><div class='add'>+loop_count: 1000000</div><div class='head'>diff --git a/benchmark/complex_float_new.yml b/benchmark/complex_float_new.yml<br/>new file mode 100644<br/>index 0000000000..6fcde3125b<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/complex_float_new.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/complex_float_new.yml</a></div><div class='hunk'>@@ -0,0 +1,7 @@</div><div class='add'>+prelude: |</div><div class='add'>+  max, min = 1000.0, -1000.0</div><div class='add'>+  a = Complex(rand(max)+min, rand(max)+min)</div><div class='add'>+  b = Complex(rand(max)+min, rand(max)+min)</div><div class='add'>+benchmark:</div><div class='add'>+  complex_float_new: c = Complex(a, b)</div><div class='add'>+loop_count: 1000000</div><div class='head'>diff --git a/benchmark/complex_float_power.yml b/benchmark/complex_float_power.yml<br/>new file mode 100644<br/>index 0000000000..c40a31ab55<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/complex_float_power.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/complex_float_power.yml</a></div><div class='hunk'>@@ -0,0 +1,7 @@</div><div class='add'>+prelude: |</div><div class='add'>+  max, min = 1000.0, -1000.0</div><div class='add'>+  a = Complex(rand(max)+min, rand(max)+min)</div><div class='add'>+  b = Complex(rand(max)+min, rand(max)+min)</div><div class='add'>+benchmark:</div><div class='add'>+  complex_float_power: c = a ** b</div><div class='add'>+loop_count: 1000000</div><div class='head'>diff --git a/benchmark/complex_float_sub.yml b/benchmark/complex_float_sub.yml<br/>new file mode 100644<br/>index 0000000000..3fafe7cdbe<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/complex_float_sub.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/complex_float_sub.yml</a></div><div class='hunk'>@@ -0,0 +1,7 @@</div><div class='add'>+prelude: |</div><div class='add'>+  max, min = 1000.0, -1000.0</div><div class='add'>+  a = Complex(rand(max)+min, rand(max)+min)</div><div class='add'>+  b = Complex(rand(max)+min, rand(max)+min)</div><div class='add'>+benchmark:</div><div class='add'>+  complex_float_sub: c = a - b</div><div class='add'>+loop_count: 1000000</div><div class='head'>diff --git a/benchmark/dir_empty_p.rb b/benchmark/dir_empty_p.rb<br/>new file mode 100644<br/>index 0000000000..8329c757cf<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/dir_empty_p.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/dir_empty_p.rb</a></div><div class='hunk'>@@ -0,0 +1,5 @@</div><div class='add'>+require 'tmpdir'</div><div class='add'>+max = 100_000</div><div class='add'>+Dir.mktmpdir('bm_dir_empty_p') do |dir|</div><div class='add'>+  max.times { Dir.empty?(dir) }</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/enum_lazy_flat_map.yml b/benchmark/enum_lazy_flat_map.yml<br/>new file mode 100644<br/>index 0000000000..0ee390a441<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/enum_lazy_flat_map.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/enum_lazy_flat_map.yml</a></div><div class='hunk'>@@ -0,0 +1,16 @@</div><div class='add'>+prelude: |</div><div class='add'>+  num = (1..).lazy.take(100)</div><div class='add'>+  ary2 = [[1,2]].cycle.lazy.take(10)</div><div class='add'>+  ary10 = [[*1..10]].cycle.lazy.take(10)</div><div class='add'>+  ary20 = [[*1..20]].cycle.lazy.take(10)</div><div class='add'>+  ary50 = [[*1..50]].cycle.lazy.take(10)</div><div class='add'>+  ary100 = [[*1..100]].cycle.lazy.take(10)</div><div class='add'>+</div><div class='add'>+benchmark:</div><div class='add'>+  num3: num.flat_map {|x| x}.take(3).to_a</div><div class='add'>+  num10: num.flat_map {|x| x}.take(3).to_a</div><div class='add'>+  ary2:  ary2.flat_map {|x| x}.take(3).to_a</div><div class='add'>+  ary10: ary10.flat_map {|x| x}.take(3).to_a</div><div class='add'>+  ary20: ary20.flat_map {|x| x}.take(3).to_a</div><div class='add'>+  ary50: ary50.flat_map {|x| x}.take(3).to_a</div><div class='add'>+  ary100: ary100.flat_map {|x| x}.take(3).to_a</div><div class='head'>diff --git a/benchmark/enum_lazy_grep_v_100.rb b/benchmark/enum_lazy_grep_v_100.rb<br/>new file mode 100644<br/>index 0000000000..8832392e65<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/enum_lazy_grep_v_100.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/enum_lazy_grep_v_100.rb</a></div><div class='hunk'>@@ -0,0 +1,4 @@</div><div class='add'>+grep_data = (1..10).to_a * 1000</div><div class='add'>+N = 100</div><div class='add'>+enum = grep_data.lazy.grep_v(-&gt;(i){i == 0}).grep_v(-&gt;(i){i == 0})</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..329509fa8f<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/enum_lazy_grep_v_20.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/enum_lazy_grep_v_20.rb</a></div><div class='hunk'>@@ -0,0 +1,4 @@</div><div class='add'>+grep_data = (1..10).to_a * 1000</div><div class='add'>+N = 100</div><div class='add'>+enum = grep_data.lazy.grep_v(-&gt;(i){i &gt; 2}).grep_v(-&gt;(i){i &gt; 2})</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..02ea4d4e71<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/enum_lazy_grep_v_50.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/enum_lazy_grep_v_50.rb</a></div><div class='hunk'>@@ -0,0 +1,4 @@</div><div class='add'>+grep_data = (1..10).to_a * 1000</div><div class='add'>+N = 100</div><div class='add'>+enum = grep_data.lazy.grep_v(-&gt;(i){i &gt; 5}).grep_v(-&gt;(i){i &gt; 5})</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..2e6434d9c4<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/enum_lazy_uniq_100.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/enum_lazy_uniq_100.rb</a></div><div class='hunk'>@@ -0,0 +1,4 @@</div><div class='add'>+uniq_data = (1..10_000).to_a</div><div class='add'>+N = 100</div><div class='add'>+enum = uniq_data.lazy.uniq {|i| i % 10000}.uniq {|i| i % 10000}</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..75e6398fee<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/enum_lazy_uniq_20.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/enum_lazy_uniq_20.rb</a></div><div class='hunk'>@@ -0,0 +1,4 @@</div><div class='add'>+uniq_data = (1..10_000).to_a</div><div class='add'>+N = 100</div><div class='add'>+enum = uniq_data.lazy.uniq {|i| i % 2000}.uniq {|i| i % 2000}</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..59a39b78ff<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/enum_lazy_uniq_50.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/enum_lazy_uniq_50.rb</a></div><div class='hunk'>@@ -0,0 +1,4 @@</div><div class='add'>+uniq_data = (1..10_000).to_a</div><div class='add'>+N = 100</div><div class='add'>+enum = uniq_data.lazy.uniq {|i| i % 5000}.uniq {|i| i % 5000}</div><div class='add'>+N.times {enum.each {}}</div><div class='head'>diff --git a/benchmark/enum_lazy_zip.yml b/benchmark/enum_lazy_zip.yml<br/>new file mode 100644<br/>index 0000000000..4566ff0261<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/enum_lazy_zip.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/enum_lazy_zip.yml</a></div><div class='hunk'>@@ -0,0 +1,22 @@</div><div class='add'>+prelude: |</div><div class='add'>+  a = (1..3).lazy</div><div class='add'>+  b = a.map {|x| x}</div><div class='add'>+</div><div class='add'>+benchmark:</div><div class='add'>+  first_ary: a.zip(["a", "b", "c"]).first</div><div class='add'>+  first_nonary: a.zip("a".."c").first</div><div class='add'>+  first_noarg: a.zip.first</div><div class='add'>+</div><div class='add'>+  take3_ary: a.zip(["a", "b", "c"]).take(3).force</div><div class='add'>+  take3_nonary: a.zip("a".."c").take(3).force</div><div class='add'>+  take3_noarg: a.zip.take(3).force</div><div class='add'>+</div><div class='add'>+  chain-first_ary: b.zip(["a", "b", "c"]).first</div><div class='add'>+  chain-first_nonary: b.zip("a".."c").first</div><div class='add'>+  chain-first_noarg: b.zip.first</div><div class='add'>+</div><div class='add'>+  chain-take3_ary: b.zip(["a", "b", "c"]).take(3).force</div><div class='add'>+  chain-take3_nonary: b.zip("a".."c").take(3).force</div><div class='add'>+  chain-take3_noarg: b.zip.take(3).force</div><div class='add'>+</div><div class='add'>+  block: a.zip("a".."c") {|x, y| [x, y]}</div><div class='head'>diff --git a/benchmark/erb_render.yml b/benchmark/erb_render.yml<br/>new file mode 100644<br/>index 0000000000..15f6c3880b<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/erb_render.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/erb_render.yml</a></div><div class='hunk'>@@ -0,0 +1,24 @@</div><div class='add'>+prelude: |</div><div class='add'>+  require 'erb'</div><div class='add'>+</div><div class='add'>+  data = &lt;&lt;erb</div><div class='add'>+  &lt;html&gt;</div><div class='add'>+    &lt;head&gt; &lt;%= title %&gt; &lt;/head&gt;</div><div class='add'>+    &lt;body&gt;</div><div class='add'>+      &lt;h1&gt; &lt;%= title %&gt; &lt;/h1&gt;</div><div class='add'>+      &lt;p&gt;</div><div class='add'>+        &lt;%= content %&gt;</div><div class='add'>+      &lt;/p&gt;</div><div class='add'>+    &lt;/body&gt;</div><div class='add'>+  &lt;/html&gt;</div><div class='add'>+  erb</div><div class='add'>+</div><div class='add'>+  title = "hello world!"</div><div class='add'>+  content = "hello world!\n" * 10</div><div class='add'>+</div><div class='add'>+  src = "def self.render(title, content); #{ERB.new(data).src}; end"</div><div class='add'>+  mod = Module.new</div><div class='add'>+  mod.instance_eval(src, "(ERB)")</div><div class='add'>+benchmark:</div><div class='add'>+  erb_render: mod.render(title, content)</div><div class='add'>+loop_count: 1500000</div><div class='head'>diff --git a/benchmark/fiber_chain.yml b/benchmark/fiber_chain.yml<br/>new file mode 100644<br/>index 0000000000..a36c759f8e<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/fiber_chain.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/fiber_chain.yml</a></div><div class='hunk'>@@ -0,0 +1,36 @@</div><div class='add'>+prelude: |</div><div class='add'>+  def make_link(previous)</div><div class='add'>+    Fiber.new do</div><div class='add'>+      while message = previous.resume</div><div class='add'>+        Fiber.yield(message)</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def make_chain(length = 1000, &amp;block)</div><div class='add'>+    chain = Fiber.new(&amp;block)</div><div class='add'>+</div><div class='add'>+    (length - 1).times do</div><div class='add'>+      chain = make_link(chain)</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    return chain</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  message = "Hello World!"</div><div class='add'>+</div><div class='add'>+  chain = make_chain do</div><div class='add'>+    while true</div><div class='add'>+      Fiber.yield(message)</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+benchmark:</div><div class='add'>+  make_chain: |</div><div class='add'>+    make_chain(100) do</div><div class='add'>+      while true</div><div class='add'>+        Fiber.yield(message)</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  resume_chain: |</div><div class='add'>+    chain.resume</div><div class='add'>+loop_count: 5000</div><div class='head'>diff --git a/benchmark/fiber_locals.yml b/benchmark/fiber_locals.yml<br/>new file mode 100644<br/>index 0000000000..8588686477<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/fiber_locals.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/fiber_locals.yml</a></div><div class='hunk'>@@ -0,0 +1,8 @@</div><div class='add'>+prelude: |</div><div class='add'>+  th = Thread.current</div><div class='add'>+  th[:key] = :val</div><div class='add'>+benchmark:</div><div class='add'>+  key?: th.key?(:key)</div><div class='add'>+  []: th[:key]</div><div class='add'>+  keys: th.keys</div><div class='add'>+loop_count: 1_000_000</div><div class='head'>diff --git a/benchmark/file_chmod.rb b/benchmark/file_chmod.rb<br/>new file mode 100644<br/>index 0000000000..1cd4760c9d<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/file_chmod.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/file_chmod.rb</a></div><div class='hunk'>@@ -0,0 +1,9 @@</div><div class='add'>+# chmod file</div><div class='add'>+require 'tempfile'</div><div class='add'>+max = 200_000</div><div class='add'>+tmp = Tempfile.new('chmod')</div><div class='add'>+path = tmp.path</div><div class='add'>+max.times do</div><div class='add'>+  File.chmod(0777, path)</div><div class='add'>+end</div><div class='add'>+tmp.close!</div><div class='head'>diff --git a/benchmark/file_rename.rb b/benchmark/file_rename.rb<br/>new file mode 100644<br/>index 0000000000..bbb44aebac<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/file_rename.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/file_rename.rb</a></div><div class='hunk'>@@ -0,0 +1,11 @@</div><div class='add'>+# rename file</div><div class='add'>+require 'tempfile'</div><div class='add'>+</div><div class='add'>+max = 100_000</div><div class='add'>+tmp = [ Tempfile.new('rename-a'), Tempfile.new('rename-b') ]</div><div class='add'>+a, b = tmp.map { |x| x.path }</div><div class='add'>+tmp.each { |t| t.close } # Windows can't rename files without closing them</div><div class='add'>+max.times do</div><div class='add'>+  File.rename(a, b)</div><div class='add'>+  File.rename(b, a)</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/gc/aobench.rb b/benchmark/gc/aobench.rb<br/>new file mode 100644<br/>index 0000000000..275f58b924<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/gc/aobench.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/gc/aobench.rb</a></div><div class='hunk'>@@ -0,0 +1 @@</div><div class='add'>+require_relative '../app_aobench'</div><div class='head'>diff --git a/benchmark/gc/binary_trees.rb b/benchmark/gc/binary_trees.rb<br/>new file mode 100644<br/>index 0000000000..83347cdd20<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/gc/binary_trees.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/gc/binary_trees.rb</a></div><div class='hunk'>@@ -0,0 +1 @@</div><div class='add'>+require_relative '../so_binary_trees'</div><div class='head'>diff --git a/benchmark/gc/gcbench.rb b/benchmark/gc/gcbench.rb<br/>new file mode 100644<br/>index 0000000000..23d0b91c6c<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/gc/gcbench.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/gc/gcbench.rb</a></div><div class='hunk'>@@ -0,0 +1,57 @@</div><div class='add'>+require 'benchmark'</div><div class='add'>+require 'pp'</div><div class='add'>+require 'optparse'</div><div class='add'>+</div><div class='add'>+$list = true</div><div class='add'>+$gcprof = false</div><div class='add'>+</div><div class='add'>+opt = OptionParser.new</div><div class='add'>+opt.on('-q'){$list = false}</div><div class='add'>+opt.on('-d'){$gcprof = false}</div><div class='add'>+opt.on('-p'){$gcprof = true}</div><div class='add'>+opt.parse!(ARGV)</div><div class='add'>+</div><div class='add'>+script = File.join(File.dirname(__FILE__), ARGV.shift)</div><div class='add'>+script += '.rb' unless FileTest.exist?(script)</div><div class='add'>+raise "#{script} not found" unless FileTest.exist?(script)</div><div class='add'>+</div><div class='add'>+puts "Script: #{script}"</div><div class='add'>+</div><div class='add'>+if $gcprof</div><div class='add'>+  GC::Profiler.enable</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+tms = Benchmark.measure{|x|</div><div class='add'>+  load script</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+gc_time = 0</div><div class='add'>+</div><div class='add'>+if $gcprof</div><div class='add'>+  gc_time = GC::Profiler.total_time</div><div class='add'>+  GC::Profiler.report if $list and RUBY_VERSION &gt;= '2.0.0' # before 1.9.3, report() may run infinite loop</div><div class='add'>+  GC::Profiler.disable</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+pp GC.stat</div><div class='add'>+</div><div class='add'>+puts "#{RUBY_DESCRIPTION} #{GC::OPTS.inspect}" if defined?(GC::OPTS)</div><div class='add'>+</div><div class='add'>+desc = "#{RUBY_VERSION}#{RUBY_PATCHLEVEL &gt;= 0 ? "p#{RUBY_PATCHLEVEL}" : "dev"}"</div><div class='add'>+name = File.basename(script, '.rb')</div><div class='add'>+</div><div class='add'>+puts</div><div class='add'>+puts script</div><div class='add'>+puts Benchmark::CAPTION</div><div class='add'>+puts tms</div><div class='add'>+puts "GC total time (sec): #{gc_time}"</div><div class='add'>+</div><div class='add'>+# show High-Water Mark on Linux</div><div class='add'>+if File.exist?('/proc/self/status') &amp;&amp; /VmHWM:\s*(\d+.+)/ =~ File.read('/proc/self/status')</div><div class='add'>+  puts</div><div class='add'>+  puts "VmHWM: #{$1.chomp}"</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+puts</div><div class='add'>+puts "Summary of #{name} on #{desc}\t#{tms.real}\t#{gc_time}\t#{GC.count}"</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..cb030d458d<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/gc/hash1.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/gc/hash1.rb</a></div><div class='hunk'>@@ -0,0 +1,11 @@</div><div class='add'>+value = 0.01</div><div class='add'>+h = {}</div><div class='add'>+n = 50_000</div><div class='add'>+</div><div class='add'>+1.upto(n){|i|</div><div class='add'>+  h["%020d" % i] = "v-#{i}"</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+(n * 1_000).times{</div><div class='add'>+  ''</div><div class='add'>+}</div><div class='head'>diff --git a/benchmark/gc/hash2.rb b/benchmark/gc/hash2.rb<br/>new file mode 100644<br/>index 0000000000..e8c943fb21<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/gc/hash2.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/gc/hash2.rb</a></div><div class='hunk'>@@ -0,0 +1,7 @@</div><div class='add'>+value = 0.01</div><div class='add'>+h = {}</div><div class='add'>+n = 4*(10**6)</div><div class='add'>+</div><div class='add'>+1.upto(n){|i|</div><div class='add'>+  h["%020d" % i] = value * i</div><div class='add'>+}</div><div class='head'>diff --git a/benchmark/gc/null.rb b/benchmark/gc/null.rb<br/>new file mode 100644<br/>index 0000000000..c05a79f561<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/gc/null.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/gc/null.rb</a></div><div class='hunk'>@@ -0,0 +1 @@</div><div class='add'>+# null</div><div class='head'>diff --git a/benchmark/gc/pentomino.rb b/benchmark/gc/pentomino.rb<br/>new file mode 100644<br/>index 0000000000..8ebdff7d1d<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/gc/pentomino.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/gc/pentomino.rb</a></div><div class='hunk'>@@ -0,0 +1 @@</div><div class='add'>+require_relative '../app_pentomino'</div><div class='head'>diff --git a/benchmark/gc/rdoc.rb b/benchmark/gc/rdoc.rb<br/>new file mode 100644<br/>index 0000000000..14c89f5611<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/gc/rdoc.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/gc/rdoc.rb</a></div><div class='hunk'>@@ -0,0 +1,13 @@</div><div class='add'>+require 'rdoc/rdoc'</div><div class='add'>+require 'tmpdir'</div><div class='add'>+</div><div class='add'>+srcdir = File.expand_path('../..', __dir__)</div><div class='add'>+</div><div class='add'>+Dir.mktmpdir('rdocbench-'){|d|</div><div class='add'>+  dir = File.join(d, 'rdocbench')</div><div class='add'>+  args = %W(--root #{srcdir} --page-dir #{srcdir}/doc --encoding=UTF-8 --no-force-update --all --ri --debug --quiet #{srcdir})</div><div class='add'>+  args &lt;&lt; '--op' &lt;&lt; dir</div><div class='add'>+</div><div class='add'>+  r = RDoc::RDoc.new</div><div class='add'>+  r.document args</div><div class='add'>+}</div><div class='head'>diff --git a/benchmark/gc/redblack.rb b/benchmark/gc/redblack.rb<br/>new file mode 100644<br/>index 0000000000..c66290140a<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/gc/redblack.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/gc/redblack.rb</a></div><div class='hunk'>@@ -0,0 +1,366 @@</div><div class='add'>+# This benchmark is imported from https://github.com/jruby/rubybench/blob/master/time/bench_red_black.rb</div><div class='add'>+# License is License is Apache-2</div><div class='add'>+</div><div class='add'>+require 'benchmark'</div><div class='add'>+</div><div class='add'>+# Algorithm based on "Introduction to Algorithms" by Cormen and others</div><div class='add'>+class RedBlackTree</div><div class='add'>+  class Node</div><div class='add'>+    attr_accessor :color</div><div class='add'>+    attr_accessor :key</div><div class='add'>+    attr_accessor :left</div><div class='add'>+    attr_accessor :right</div><div class='add'>+    attr_accessor :parent</div><div class='add'>+</div><div class='add'>+    RED = :red</div><div class='add'>+    BLACK = :black</div><div class='add'>+    COLORS = [RED, BLACK].freeze</div><div class='add'>+</div><div class='add'>+    def initialize(key, color = RED)</div><div class='add'>+      raise ArgumentError, "Bad value for color parameter" unless COLORS.include?(color)</div><div class='add'>+      @color = color</div><div class='add'>+      @key = key</div><div class='add'>+      @left = @right = @parent = NilNode.instance</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    def black?</div><div class='add'>+      return color == BLACK</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    def red?</div><div class='add'>+      return color == RED</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  class NilNode &lt; Node</div><div class='add'>+    class &lt;&lt; self</div><div class='add'>+      private :new</div><div class='add'>+</div><div class='add'>+      # it's not thread safe</div><div class='add'>+      def instance</div><div class='add'>+        @instance ||= begin</div><div class='add'>+          def instance</div><div class='add'>+            return @instance</div><div class='add'>+          end</div><div class='add'>+</div><div class='add'>+          new</div><div class='add'>+        end</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    def initialize</div><div class='add'>+      self.color = BLACK</div><div class='add'>+      self.key = 0</div><div class='add'>+      self.left = nil</div><div class='add'>+      self.right = nil</div><div class='add'>+      self.parent = nil</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    def nil?</div><div class='add'>+      return true</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  include Enumerable</div><div class='add'>+</div><div class='add'>+  attr_accessor :root</div><div class='add'>+  attr_accessor :size</div><div class='add'>+</div><div class='add'>+  def initialize</div><div class='add'>+    self.root = NilNode.instance</div><div class='add'>+    self.size = 0</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def add(key)</div><div class='add'>+    insert(Node.new(key))</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def insert(x)</div><div class='add'>+    insert_helper(x)</div><div class='add'>+</div><div class='add'>+    x.color = Node::RED</div><div class='add'>+    while x != root &amp;&amp; x.parent.color == Node::RED</div><div class='add'>+      if x.parent == x.parent.parent.left</div><div class='add'>+        y = x.parent.parent.right</div><div class='add'>+        if !y.nil? &amp;&amp; y.color == Node::RED</div><div class='add'>+          x.parent.color = Node::BLACK</div><div class='add'>+          y.color = Node::BLACK</div><div class='add'>+          x.parent.parent.color = Node::RED</div><div class='add'>+          x = x.parent.parent</div><div class='add'>+        else</div><div class='add'>+          if x == x.parent.right</div><div class='add'>+            x = x.parent</div><div class='add'>+            left_rotate(x)</div><div class='add'>+          end</div><div class='add'>+          x.parent.color = Node::BLACK</div><div class='add'>+          x.parent.parent.color = Node::RED</div><div class='add'>+          right_rotate(x.parent.parent)</div><div class='add'>+        end</div><div class='add'>+      else</div><div class='add'>+        y = x.parent.parent.left</div><div class='add'>+        if !y.nil? &amp;&amp; y.color == Node::RED</div><div class='add'>+          x.parent.color = Node::BLACK</div><div class='add'>+          y.color = Node::BLACK</div><div class='add'>+          x.parent.parent.color = Node::RED</div><div class='add'>+          x = x.parent.parent</div><div class='add'>+        else</div><div class='add'>+          if x == x.parent.left</div><div class='add'>+            x = x.parent</div><div class='add'>+            right_rotate(x)</div><div class='add'>+          end</div><div class='add'>+          x.parent.color = Node::BLACK</div><div class='add'>+          x.parent.parent.color = Node::RED</div><div class='add'>+          left_rotate(x.parent.parent)</div><div class='add'>+        end</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+    root.color = Node::BLACK</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  alias &lt;&lt; insert</div><div class='add'>+</div><div class='add'>+  def delete(z)</div><div class='add'>+    y = (z.left.nil? || z.right.nil?) ? z : successor(z)</div><div class='add'>+    x = y.left.nil? ? y.right : y.left</div><div class='add'>+    x.parent = y.parent</div><div class='add'>+</div><div class='add'>+    if y.parent.nil?</div><div class='add'>+      self.root = x</div><div class='add'>+    else</div><div class='add'>+      if y == y.parent.left</div><div class='add'>+        y.parent.left = x</div><div class='add'>+      else</div><div class='add'>+        y.parent.right = x</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    z.key = y.key if y != z</div><div class='add'>+</div><div class='add'>+    if y.color == Node::BLACK</div><div class='add'>+      delete_fixup(x)</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    self.size -= 1</div><div class='add'>+    return y</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def minimum(x = root)</div><div class='add'>+    while !x.left.nil?</div><div class='add'>+      x = x.left</div><div class='add'>+    end</div><div class='add'>+    return x</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def maximum(x = root)</div><div class='add'>+    while !x.right.nil?</div><div class='add'>+      x = x.right</div><div class='add'>+    end</div><div class='add'>+    return x</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def successor(x)</div><div class='add'>+    if !x.right.nil?</div><div class='add'>+      return minimum(x.right)</div><div class='add'>+    end</div><div class='add'>+    y = x.parent</div><div class='add'>+    while !y.nil? &amp;&amp; x == y.right</div><div class='add'>+      x = y</div><div class='add'>+      y = y.parent</div><div class='add'>+    end</div><div class='add'>+    return y</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def predecessor(x)</div><div class='add'>+    if !x.left.nil?</div><div class='add'>+      return maximum(x.left)</div><div class='add'>+    end</div><div class='add'>+    y = x.parent</div><div class='add'>+    while !y.nil? &amp;&amp; x == y.left</div><div class='add'>+      x = y</div><div class='add'>+      y = y.parent</div><div class='add'>+    end</div><div class='add'>+    return y</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def inorder_walk(x = root)</div><div class='add'>+    x = self.minimum</div><div class='add'>+    while !x.nil?</div><div class='add'>+      yield x.key</div><div class='add'>+      x = successor(x)</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  alias each inorder_walk</div><div class='add'>+</div><div class='add'>+  def reverse_inorder_walk(x = root)</div><div class='add'>+    x = self.maximum</div><div class='add'>+    while !x.nil?</div><div class='add'>+      yield x.key</div><div class='add'>+      x = predecessor(x)</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  alias reverse_each reverse_inorder_walk</div><div class='add'>+</div><div class='add'>+  def search(key, x = root)</div><div class='add'>+    while !x.nil? &amp;&amp; x.key != key</div><div class='add'>+      key &lt; x.key ? x = x.left : x = x.right</div><div class='add'>+    end</div><div class='add'>+    return x</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def empty?</div><div class='add'>+    return self.root.nil?</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def black_height(x = root)</div><div class='add'>+    height = 0</div><div class='add'>+    while !x.nil?</div><div class='add'>+      x = x.left</div><div class='add'>+      height +=1 if x.nil? || x.black?</div><div class='add'>+    end</div><div class='add'>+    return height</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+private</div><div class='add'>+</div><div class='add'>+  def left_rotate(x)</div><div class='add'>+    raise "x.right is nil!" if x.right.nil?</div><div class='add'>+    y = x.right</div><div class='add'>+    x.right = y.left</div><div class='add'>+    y.left.parent = x if !y.left.nil?</div><div class='add'>+    y.parent = x.parent</div><div class='add'>+    if x.parent.nil?</div><div class='add'>+      self.root = y</div><div class='add'>+    else</div><div class='add'>+      if x == x.parent.left</div><div class='add'>+        x.parent.left = y</div><div class='add'>+      else</div><div class='add'>+        x.parent.right = y</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+    y.left = x</div><div class='add'>+    x.parent = y</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def right_rotate(x)</div><div class='add'>+    raise "x.left is nil!" if x.left.nil?</div><div class='add'>+    y = x.left</div><div class='add'>+    x.left = y.right</div><div class='add'>+    y.right.parent = x if !y.right.nil?</div><div class='add'>+    y.parent = x.parent</div><div class='add'>+    if x.parent.nil?</div><div class='add'>+      self.root = y</div><div class='add'>+    else</div><div class='add'>+      if x == x.parent.left</div><div class='add'>+        x.parent.left = y</div><div class='add'>+      else</div><div class='add'>+        x.parent.right = y</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+    y.right = x</div><div class='add'>+    x.parent = y</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def insert_helper(z)</div><div class='add'>+    y = NilNode.instance</div><div class='add'>+    x = root</div><div class='add'>+    while !x.nil?</div><div class='add'>+      y = x</div><div class='add'>+      z.key &lt; x.key ? x = x.left : x = x.right</div><div class='add'>+    end</div><div class='add'>+    z.parent = y</div><div class='add'>+    if y.nil?</div><div class='add'>+      self.root = z</div><div class='add'>+    else</div><div class='add'>+      z.key &lt; y.key ? y.left = z : y.right = z</div><div class='add'>+    end</div><div class='add'>+    self.size += 1</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def delete_fixup(x)</div><div class='add'>+    while x != root &amp;&amp; x.color == Node::BLACK</div><div class='add'>+      if x == x.parent.left</div><div class='add'>+        w = x.parent.right</div><div class='add'>+        if w.color == Node::RED</div><div class='add'>+          w.color = Node::BLACK</div><div class='add'>+          x.parent.color = Node::RED</div><div class='add'>+          left_rotate(x.parent)</div><div class='add'>+          w = x.parent.right</div><div class='add'>+        end</div><div class='add'>+        if w.left.color == Node::BLACK &amp;&amp; w.right.color == Node::BLACK</div><div class='add'>+          w.color = Node::RED</div><div class='add'>+          x = x.parent</div><div class='add'>+        else</div><div class='add'>+          if w.right.color == Node::BLACK</div><div class='add'>+            w.left.color = Node::BLACK</div><div class='add'>+            w.color = Node::RED</div><div class='add'>+            right_rotate(w)</div><div class='add'>+            w = x.parent.right</div><div class='add'>+          end</div><div class='add'>+          w.color = x.parent.color</div><div class='add'>+          x.parent.color = Node::BLACK</div><div class='add'>+          w.right.color = Node::BLACK</div><div class='add'>+          left_rotate(x.parent)</div><div class='add'>+          x = root</div><div class='add'>+        end</div><div class='add'>+      else</div><div class='add'>+        w = x.parent.left</div><div class='add'>+        if w.color == Node::RED</div><div class='add'>+          w.color = Node::BLACK</div><div class='add'>+          x.parent.color = Node::RED</div><div class='add'>+          right_rotate(x.parent)</div><div class='add'>+          w = x.parent.left</div><div class='add'>+        end</div><div class='add'>+        if w.right.color == Node::BLACK &amp;&amp; w.left.color == Node::BLACK</div><div class='add'>+          w.color = Node::RED</div><div class='add'>+          x = x.parent</div><div class='add'>+        else</div><div class='add'>+          if w.left.color == Node::BLACK</div><div class='add'>+            w.right.color = Node::BLACK</div><div class='add'>+            w.color = Node::RED</div><div class='add'>+            left_rotate(w)</div><div class='add'>+            w = x.parent.left</div><div class='add'>+          end</div><div class='add'>+          w.color = x.parent.color</div><div class='add'>+          x.parent.color = Node::BLACK</div><div class='add'>+          w.left.color = Node::BLACK</div><div class='add'>+          right_rotate(x.parent)</div><div class='add'>+          x = root</div><div class='add'>+        end</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+    x.color = Node::BLACK</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def rbt_bm</div><div class='add'>+  n = 100_000</div><div class='add'>+  a1 = []; n.times { a1 &lt;&lt; rand(999_999) }</div><div class='add'>+  a2 = []; n.times { a2 &lt;&lt; rand(999_999) }</div><div class='add'>+</div><div class='add'>+  start = Time.now</div><div class='add'>+</div><div class='add'>+  tree = RedBlackTree.new</div><div class='add'>+</div><div class='add'>+  n.times {|i| tree.add(i) }</div><div class='add'>+  n.times { tree.delete(tree.root) }</div><div class='add'>+</div><div class='add'>+  tree = RedBlackTree.new</div><div class='add'>+  a1.each {|e| tree.add(e) }</div><div class='add'>+  a2.each {|e| tree.search(e) }</div><div class='add'>+  tree.inorder_walk {|key| key + 1 }</div><div class='add'>+  tree.reverse_inorder_walk {|key| key + 1 }</div><div class='add'>+  n.times { tree.minimum }</div><div class='add'>+  n.times { tree.maximum }</div><div class='add'>+</div><div class='add'>+  return Time.now - start</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+N = (ARGV[0] || 10).to_i</div><div class='add'>+</div><div class='add'>+N.times do</div><div class='add'>+  # puts rbt_bm.to_f</div><div class='add'>+  rbt_bm.to_f</div><div class='add'>+  # puts "GC.count = #{GC.count}" if GC.respond_to?(:count)</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/gc/ring.rb b/benchmark/gc/ring.rb<br/>new file mode 100644<br/>index 0000000000..be2c7b7250<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/gc/ring.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/gc/ring.rb</a></div><div class='hunk'>@@ -0,0 +1,29 @@</div><div class='add'>+# create many old objects</div><div class='add'>+</div><div class='add'>+max = 30_000_000</div><div class='add'>+</div><div class='add'>+class Ring</div><div class='add'>+  attr_reader :next_ring</div><div class='add'>+  def initialize n = nil</div><div class='add'>+    @next_ring = n</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+  def size</div><div class='add'>+    s = 1</div><div class='add'>+    ring = self</div><div class='add'>+    while ring.next_ring</div><div class='add'>+      s += 1</div><div class='add'>+      ring = ring.next_ring</div><div class='add'>+    end</div><div class='add'>+    s</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+ring = Ring.new</div><div class='add'>+</div><div class='add'>+max.times{</div><div class='add'>+  ring = Ring.new(ring)</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# p ring.size</div><div class='head'>diff --git a/benchmark/hash_aref_dsym.rb b/benchmark/hash_aref_dsym.rb<br/>new file mode 100644<br/>index 0000000000..af4f8c36d4<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/hash_aref_dsym.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/hash_aref_dsym.rb</a></div><div class='hunk'>@@ -0,0 +1,4 @@</div><div class='add'>+h = {}</div><div class='add'>+syms = ('a'..'z').map { |s| s.to_sym }</div><div class='add'>+syms.each { |s| h[s] = 1 }</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..9d7759379e<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/hash_aref_dsym_long.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/hash_aref_dsym_long.rb</a></div><div class='hunk'>@@ -0,0 +1,21 @@</div><div class='add'>+# [ruby-core:70129] [Bug #11396]</div><div class='add'>+collection_size = 200000</div><div class='add'>+sample_size = 10000</div><div class='add'>+</div><div class='add'>+values = (1..collection_size).to_a.map do |x|</div><div class='add'>+  "THIS IS A LONGER STRING THAT IS ALSO UNIQUE #{x}"</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+symbol_hash = {}</div><div class='add'>+</div><div class='add'>+values.each do |x|</div><div class='add'>+  symbol_hash[x.to_sym] = 1</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+# use the same samples each time to minimize deviations</div><div class='add'>+rng = Random.new(0)</div><div class='add'>+symbol_sample_array = values.sample(sample_size, random: rng).map(&amp;:to_sym)</div><div class='add'>+</div><div class='add'>+3000.times do</div><div class='add'>+  symbol_sample_array.each { |x| symbol_hash[x] }</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/hash_aref_fix.rb b/benchmark/hash_aref_fix.rb<br/>new file mode 100644<br/>index 0000000000..1346890582<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/hash_aref_fix.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/hash_aref_fix.rb</a></div><div class='hunk'>@@ -0,0 +1,4 @@</div><div class='add'>+h = {}</div><div class='add'>+nums = (1..26).to_a</div><div class='add'>+nums.each { |i| h[i] = i }</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..2217274c82<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/hash_aref_flo.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/hash_aref_flo.rb</a></div><div class='hunk'>@@ -0,0 +1,4 @@</div><div class='add'>+h = {}</div><div class='add'>+strs = [*1..10000].map! {|i| i.fdiv(10)}</div><div class='add'>+strs.each { |s| h[s] = s }</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..b0913dd4bb<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/hash_aref_miss.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/hash_aref_miss.rb</a></div><div class='hunk'>@@ -0,0 +1,5 @@</div><div class='add'>+h = {}</div><div class='add'>+strs = ('a'..'z').to_a.map!(&amp;:freeze)</div><div class='add'>+strs.each { |s| h[s] = s }</div><div class='add'>+strs = ('A'..'Z').to_a</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..19439b061b<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/hash_aref_str.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/hash_aref_str.rb</a></div><div class='hunk'>@@ -0,0 +1,4 @@</div><div class='add'>+h = {}</div><div class='add'>+strs = ('a'..'z').to_a.map!(&amp;:freeze)</div><div class='add'>+strs.each { |s| h[s] = s }</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..f75d163fe6<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/hash_aref_sym.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/hash_aref_sym.rb</a></div><div class='hunk'>@@ -0,0 +1,9 @@</div><div class='add'>+h = {}</div><div class='add'>+syms = ('a'..'z').to_a</div><div class='add'>+begin</div><div class='add'>+  syms = eval("%i[#{syms.join(' ')}]")</div><div class='add'>+rescue SyntaxError # &lt;= 1.9.3</div><div class='add'>+  syms.map!(&amp;:to_sym)</div><div class='add'>+end</div><div class='add'>+syms.each { |s| h[s] = s }</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..9dab8df7be<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/hash_aref_sym_long.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/hash_aref_sym_long.rb</a></div><div class='hunk'>@@ -0,0 +1,13 @@</div><div class='add'>+h = {}</div><div class='add'>+syms = %w[puts warn syswrite write stat bacon lettuce tomato</div><div class='add'>+some symbols in this array may already be interned  others should not be</div><div class='add'>+hash browns make good breakfast but not cooked using prime numbers</div><div class='add'>+shift for division entries delete_if keys exist?</div><div class='add'>+]</div><div class='add'>+begin</div><div class='add'>+  syms = eval("%i[#{syms.join(' ')}]")</div><div class='add'>+rescue SyntaxError # &lt;= 1.9.3</div><div class='add'>+  syms.map!(&amp;:to_sym)</div><div class='add'>+end</div><div class='add'>+syms.each { |s| h[s] = s }</div><div class='add'>+200_000.times { syms.each { |s| h[s] } }</div><div class='head'>diff --git a/benchmark/hash_defaults.yml b/benchmark/hash_defaults.yml<br/>new file mode 100644<br/>index 0000000000..833f10e1c7<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/hash_defaults.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/hash_defaults.yml</a></div><div class='hunk'>@@ -0,0 +1,6 @@</div><div class='add'>+prelude: |</div><div class='add'>+  h = Hash.new { :foo }</div><div class='add'>+benchmark:</div><div class='add'>+  default_aref: h[1]</div><div class='add'>+  default_method: h.default(1)</div><div class='add'>+loop_count: 1000000</div><div class='head'>diff --git a/benchmark/hash_dup.yml b/benchmark/hash_dup.yml<br/>new file mode 100644<br/>index 0000000000..65f521ec94<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/hash_dup.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/hash_dup.yml</a></div><div class='hunk'>@@ -0,0 +1,8 @@</div><div class='add'>+prelude: |</div><div class='add'>+  small_hash = { a: 1 }</div><div class='add'>+  larger_hash = 20.times.map { |i| [('a'.ord + i).chr.to_sym, i] }.to_h</div><div class='add'>+</div><div class='add'>+benchmark:</div><div class='add'>+  dup_small: small_hash.dup</div><div class='add'>+  dup_larger: larger_hash.dup</div><div class='add'>+loop_count: 10000</div><div class='head'>diff --git a/benchmark/hash_flatten.rb b/benchmark/hash_flatten.rb<br/>new file mode 100644<br/>index 0000000000..e944aae9f2<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/hash_flatten.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/hash_flatten.rb</a></div><div class='hunk'>@@ -0,0 +1,9 @@</div><div class='add'>+h = {}</div><div class='add'>+</div><div class='add'>+10000.times do |i|</div><div class='add'>+  h[i] = nil</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+1000.times do</div><div class='add'>+  h.flatten</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/hash_ident_flo.rb b/benchmark/hash_ident_flo.rb<br/>new file mode 100644<br/>index 0000000000..0c7edfed3e<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/hash_ident_flo.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/hash_ident_flo.rb</a></div><div class='hunk'>@@ -0,0 +1,4 @@</div><div class='add'>+h = {}.compare_by_identity</div><div class='add'>+strs = (1..10000).to_a.map!(&amp;:to_f)</div><div class='add'>+strs.each { |s| h[s] = s }</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..b226736c6f<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/hash_ident_num.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/hash_ident_num.rb</a></div><div class='hunk'>@@ -0,0 +1,4 @@</div><div class='add'>+h = {}.compare_by_identity</div><div class='add'>+nums = (1..26).to_a</div><div class='add'>+nums.each { |n| h[n] = n }</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..4b3b58edec<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/hash_ident_obj.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/hash_ident_obj.rb</a></div><div class='hunk'>@@ -0,0 +1,4 @@</div><div class='add'>+h = {}.compare_by_identity</div><div class='add'>+objs = 26.times.map { Object.new }</div><div class='add'>+objs.each { |o| h[o] = o }</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..8582b38e31<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/hash_ident_str.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/hash_ident_str.rb</a></div><div class='hunk'>@@ -0,0 +1,4 @@</div><div class='add'>+h = {}.compare_by_identity</div><div class='add'>+strs = ('a'..'z').to_a</div><div class='add'>+strs.each { |s| h[s] = s }</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..4c81e3d28e<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/hash_ident_sym.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/hash_ident_sym.rb</a></div><div class='hunk'>@@ -0,0 +1,4 @@</div><div class='add'>+h = {}.compare_by_identity</div><div class='add'>+syms = ('a'..'z').to_a.map(&amp;:to_sym)</div><div class='add'>+syms.each { |s| h[s] = s }</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..6863cd01f9<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/hash_keys.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/hash_keys.rb</a></div><div class='hunk'>@@ -0,0 +1,9 @@</div><div class='add'>+h = {}</div><div class='add'>+</div><div class='add'>+10000.times do |i|</div><div class='add'>+  h[i] = nil</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+5000.times do</div><div class='add'>+  h.keys</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/hash_literal_small2.rb b/benchmark/hash_literal_small2.rb<br/>new file mode 100644<br/>index 0000000000..c188529260<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/hash_literal_small2.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/hash_literal_small2.rb</a></div><div class='hunk'>@@ -0,0 +1,3 @@</div><div class='add'>+# frozen_string_literal: true</div><div class='add'>+</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..739f71b5b0<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/hash_literal_small4.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/hash_literal_small4.rb</a></div><div class='hunk'>@@ -0,0 +1,3 @@</div><div class='add'>+# frozen_string_literal: true</div><div class='add'>+</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..53d80af535<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/hash_literal_small8.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/hash_literal_small8.rb</a></div><div class='hunk'>@@ -0,0 +1,3 @@</div><div class='add'>+# frozen_string_literal: true</div><div class='add'>+</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..03d9109602<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/hash_long.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/hash_long.rb</a></div><div class='hunk'>@@ -0,0 +1,4 @@</div><div class='add'>+k1 = "Ping Pong Ping Pong Ping Pong Ping Pong Ping Pong Ping Pong Ping Pong Ping Pong Ping Pong Ping Pong";</div><div class='add'>+k2 = "Pong Ping Pong Ping Pong Ping Pong Ping Pong Ping Pong Ping Pong Ping Pong Ping Pong Ping Pong Ping";</div><div class='add'>+h = {k1 =&gt; 0, k2 =&gt; 0};</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..a645671a5b<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/hash_shift.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/hash_shift.rb</a></div><div class='hunk'>@@ -0,0 +1,10 @@</div><div class='add'>+h = {}</div><div class='add'>+</div><div class='add'>+10000.times do |i|</div><div class='add'>+  h[i] = nil</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+50000.times do</div><div class='add'>+  k, v = h.shift</div><div class='add'>+  h[k] = v</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/hash_shift_u16.rb b/benchmark/hash_shift_u16.rb<br/>new file mode 100644<br/>index 0000000000..ec800d0342<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/hash_shift_u16.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/hash_shift_u16.rb</a></div><div class='hunk'>@@ -0,0 +1,10 @@</div><div class='add'>+h = {}</div><div class='add'>+</div><div class='add'>+(16384..65536).each do |i|</div><div class='add'>+  h[i] = nil</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+300000.times do</div><div class='add'>+  k, v = h.shift</div><div class='add'>+  h[k] = v</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/hash_shift_u24.rb b/benchmark/hash_shift_u24.rb<br/>new file mode 100644<br/>index 0000000000..de4e0fa696<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/hash_shift_u24.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/hash_shift_u24.rb</a></div><div class='hunk'>@@ -0,0 +1,10 @@</div><div class='add'>+h = {}</div><div class='add'>+</div><div class='add'>+(0xff4000..0xffffff).each do |i|</div><div class='add'>+  h[i] = nil</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+300000.times do</div><div class='add'>+  k, v = h.shift</div><div class='add'>+  h[k] = v</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/hash_shift_u32.rb b/benchmark/hash_shift_u32.rb<br/>new file mode 100644<br/>index 0000000000..656aa55583<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/hash_shift_u32.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/hash_shift_u32.rb</a></div><div class='hunk'>@@ -0,0 +1,10 @@</div><div class='add'>+h = {}</div><div class='add'>+</div><div class='add'>+(0xffff4000..0xffffffff).each do |i|</div><div class='add'>+  h[i] = nil</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+300000.times do</div><div class='add'>+  k, v = h.shift</div><div class='add'>+  h[k] = v</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/hash_small2.rb b/benchmark/hash_small2.rb<br/>new file mode 100644<br/>index 0000000000..45485d9c71<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/hash_small2.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/hash_small2.rb</a></div><div class='hunk'>@@ -0,0 +1 @@</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..acd4084334<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/hash_small4.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/hash_small4.rb</a></div><div class='hunk'>@@ -0,0 +1 @@</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..9cffcc91b6<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/hash_small8.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/hash_small8.rb</a></div><div class='hunk'>@@ -0,0 +1 @@</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..2b675bf509<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/hash_to_proc.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/hash_to_proc.rb</a></div><div class='hunk'>@@ -0,0 +1,9 @@</div><div class='add'>+h = {}</div><div class='add'>+</div><div class='add'>+10000.times do |i|</div><div class='add'>+  h[i] = nil</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+5000.times do |i|</div><div class='add'>+  [i].map(&amp;h)</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/hash_values.rb b/benchmark/hash_values.rb<br/>new file mode 100644<br/>index 0000000000..069441302f<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/hash_values.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/hash_values.rb</a></div><div class='hunk'>@@ -0,0 +1,9 @@</div><div class='add'>+h = {}</div><div class='add'>+</div><div class='add'>+10000.times do |i|</div><div class='add'>+  h[i] = nil</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+5000.times do</div><div class='add'>+  h.values</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/int_quo.rb b/benchmark/int_quo.rb<br/>new file mode 100644<br/>index 0000000000..e22a3f8c30<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/int_quo.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/int_quo.rb</a></div><div class='hunk'>@@ -0,0 +1 @@</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..3fd87250a4<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/io_copy_stream_write.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/io_copy_stream_write.rb</a></div><div class='hunk'>@@ -0,0 +1,24 @@</div><div class='add'>+# The goal of this is to use a synthetic (non-IO) reader</div><div class='add'>+# to trigger the read/write loop of IO.copy_stream,</div><div class='add'>+# bypassing in-kernel mechanisms like sendfile for zero copy,</div><div class='add'>+# so we wrap the /dev/zero IO object:</div><div class='add'>+</div><div class='add'>+class Zero</div><div class='add'>+  def initialize</div><div class='add'>+    @n = 100000</div><div class='add'>+    @in = File.open('/dev/zero', 'rb')</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def read(len, buf)</div><div class='add'>+    return if (@n -= 1) == 0</div><div class='add'>+    @in.read(len, buf)</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+begin</div><div class='add'>+  src = Zero.new</div><div class='add'>+  dst = File.open(IO::NULL, 'wb')</div><div class='add'>+  n = IO.copy_stream(src, dst)</div><div class='add'>+rescue Errno::ENOENT</div><div class='add'>+  # not *nix</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..11f369bd0d<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/io_copy_stream_write_socket.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/io_copy_stream_write_socket.rb</a></div><div class='hunk'>@@ -0,0 +1,35 @@</div><div class='add'>+# The goal of this is to use a synthetic (non-IO) reader</div><div class='add'>+# to trigger the read/write loop of IO.copy_stream,</div><div class='add'>+# bypassing in-kernel mechanisms like sendfile for zero copy,</div><div class='add'>+# so we wrap the /dev/zero IO object:</div><div class='add'>+class Zero</div><div class='add'>+  def initialize</div><div class='add'>+    @n = 100000</div><div class='add'>+    @in = File.open('/dev/zero', 'rb')</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def read(len, buf)</div><div class='add'>+    return if (@n -= 1) == 0</div><div class='add'>+    @in.read(len, buf)</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+begin</div><div class='add'>+  require 'socket'</div><div class='add'>+  src = Zero.new</div><div class='add'>+  rd, wr = UNIXSocket.pair</div><div class='add'>+  pid = fork do</div><div class='add'>+    wr.close</div><div class='add'>+    buf = String.new</div><div class='add'>+    while rd.read(16384, buf)</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  rd.close</div><div class='add'>+  IO.copy_stream(src, wr)</div><div class='add'>+rescue Errno::ENOENT, NotImplementedError, NameError</div><div class='add'>+  # not *nix: missing /dev/zero, fork, or UNIXSocket</div><div class='add'>+rescue LoadError # no socket?</div><div class='add'>+ensure</div><div class='add'>+  wr.close if wr</div><div class='add'>+  Process.waitpid(pid) if pid</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..2f205c1333<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/io_file_create.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/io_file_create.rb</a></div><div class='hunk'>@@ -0,0 +1,13 @@</div><div class='add'>+#</div><div class='add'>+# Create files</div><div class='add'>+#</div><div class='add'>+</div><div class='add'>+max = 200_000</div><div class='add'>+file = './tmpfile_of_bm_io_file_create'</div><div class='add'>+</div><div class='add'>+max.times{</div><div class='add'>+  f = open(file, 'w')</div><div class='add'>+  f.close#(true)</div><div class='add'>+}</div><div class='add'>+File.unlink(file)</div><div class='add'>+</div><div class='head'>diff --git a/benchmark/io_file_read.rb b/benchmark/io_file_read.rb<br/>new file mode 100644<br/>index 0000000000..b9e796ed30<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/io_file_read.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/io_file_read.rb</a></div><div class='hunk'>@@ -0,0 +1,15 @@</div><div class='add'>+#</div><div class='add'>+# Seek and Read file.</div><div class='add'>+#</div><div class='add'>+</div><div class='add'>+require 'tempfile'</div><div class='add'>+</div><div class='add'>+max = 200_000</div><div class='add'>+str = "Hello world!  " * 1000</div><div class='add'>+f = Tempfile.new('yarv-benchmark')</div><div class='add'>+f.write str</div><div class='add'>+</div><div class='add'>+max.times{</div><div class='add'>+  f.seek 0</div><div class='add'>+  f.read</div><div class='add'>+}</div><div class='head'>diff --git a/benchmark/io_file_write.rb b/benchmark/io_file_write.rb<br/>new file mode 100644<br/>index 0000000000..aa1be0e5fe<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/io_file_write.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/io_file_write.rb</a></div><div class='hunk'>@@ -0,0 +1,14 @@</div><div class='add'>+#</div><div class='add'>+# Seek and Write file.</div><div class='add'>+#</div><div class='add'>+</div><div class='add'>+require 'tempfile'</div><div class='add'>+</div><div class='add'>+max = 200_000</div><div class='add'>+str = "Hello world!  " * 1000</div><div class='add'>+f = Tempfile.new('yarv-benchmark')</div><div class='add'>+</div><div class='add'>+max.times{</div><div class='add'>+  f.seek 0</div><div class='add'>+  f.write str</div><div class='add'>+}</div><div class='head'>diff --git a/benchmark/io_nonblock_noex.rb b/benchmark/io_nonblock_noex.rb<br/>new file mode 100644<br/>index 0000000000..da9357fdc6<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/io_nonblock_noex.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/io_nonblock_noex.rb</a></div><div class='hunk'>@@ -0,0 +1,22 @@</div><div class='add'>+nr = 1_000_000</div><div class='add'>+i = 0</div><div class='add'>+msg = '.'</div><div class='add'>+buf = '.'</div><div class='add'>+noex = { exception: false }</div><div class='add'>+begin</div><div class='add'>+  r, w = IO.pipe</div><div class='add'>+  while i &lt; nr</div><div class='add'>+    i += 1</div><div class='add'>+    w.write_nonblock(msg, noex)</div><div class='add'>+    r.read_nonblock(1, buf, noex)</div><div class='add'>+  end</div><div class='add'>+rescue ArgumentError # old Rubies</div><div class='add'>+  while i &lt; nr</div><div class='add'>+    i += 1</div><div class='add'>+    w.write_nonblock(msg)</div><div class='add'>+    r.read_nonblock(1, buf)</div><div class='add'>+  end</div><div class='add'>+ensure</div><div class='add'>+  r.close</div><div class='add'>+  w.close</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/io_nonblock_noex2.rb b/benchmark/io_nonblock_noex2.rb<br/>new file mode 100644<br/>index 0000000000..56819d049b<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/io_nonblock_noex2.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/io_nonblock_noex2.rb</a></div><div class='hunk'>@@ -0,0 +1,21 @@</div><div class='add'>+nr = 1_000_000</div><div class='add'>+i = 0</div><div class='add'>+msg = '.'</div><div class='add'>+buf = '.'</div><div class='add'>+begin</div><div class='add'>+  r, w = IO.pipe</div><div class='add'>+  while i &lt; nr</div><div class='add'>+    i += 1</div><div class='add'>+    w.write_nonblock(msg, exception: false)</div><div class='add'>+    r.read_nonblock(1, buf, exception: false)</div><div class='add'>+  end</div><div class='add'>+rescue ArgumentError # old Rubies</div><div class='add'>+  while i &lt; nr</div><div class='add'>+    i += 1</div><div class='add'>+    w.write_nonblock(msg)</div><div class='add'>+    r.read_nonblock(1, buf)</div><div class='add'>+  end</div><div class='add'>+ensure</div><div class='add'>+  r.close</div><div class='add'>+  w.close</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/io_pipe_rw.rb b/benchmark/io_pipe_rw.rb<br/>new file mode 100644<br/>index 0000000000..6862a8ae61<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/io_pipe_rw.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/io_pipe_rw.rb</a></div><div class='hunk'>@@ -0,0 +1,13 @@</div><div class='add'>+# Measure uncontended GVL performance via read/write with 1:1 threading</div><div class='add'>+# If we switch to M:N threading, this will benchmark something else...</div><div class='add'>+r, w = IO.pipe</div><div class='add'>+src = '0'.freeze</div><div class='add'>+dst = String.new</div><div class='add'>+i = 0</div><div class='add'>+while i &lt; 1_000_000</div><div class='add'>+  i += 1</div><div class='add'>+  w.write(src)</div><div class='add'>+  r.read(1, dst)</div><div class='add'>+end</div><div class='add'>+w.close</div><div class='add'>+r.close</div><div class='head'>diff --git a/benchmark/io_select.rb b/benchmark/io_select.rb<br/>new file mode 100644<br/>index 0000000000..19248daeb1<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/io_select.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/io_select.rb</a></div><div class='hunk'>@@ -0,0 +1,9 @@</div><div class='add'>+# IO.select performance</div><div class='add'>+</div><div class='add'>+w = [ IO.pipe[1] ];</div><div class='add'>+</div><div class='add'>+nr = 1000000</div><div class='add'>+nr.times {</div><div class='add'>+  IO.select nil, w</div><div class='add'>+}</div><div class='add'>+</div><div class='head'>diff --git a/benchmark/io_select2.rb b/benchmark/io_select2.rb<br/>new file mode 100644<br/>index 0000000000..10e37d71b2<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/io_select2.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/io_select2.rb</a></div><div class='hunk'>@@ -0,0 +1,22 @@</div><div class='add'>+# IO.select performance. worst case of single fd.</div><div class='add'>+</div><div class='add'>+ios = []</div><div class='add'>+nr = 1000000</div><div class='add'>+if defined?(Process::RLIMIT_NOFILE)</div><div class='add'>+  max = Process.getrlimit(Process::RLIMIT_NOFILE)[0]</div><div class='add'>+else</div><div class='add'>+  max = 64</div><div class='add'>+end</div><div class='add'>+puts "max fd: #{max} (results not apparent with &lt;= 1024 max fd)"</div><div class='add'>+</div><div class='add'>+((max / 2) - 10).times do</div><div class='add'>+  ios.concat IO.pipe</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+last = [ ios[-1] ]</div><div class='add'>+puts "last IO: #{last[0].inspect}"</div><div class='add'>+</div><div class='add'>+nr.times do</div><div class='add'>+  IO.select nil, last</div><div class='add'>+end</div><div class='add'>+</div><div class='head'>diff --git a/benchmark/io_select3.rb b/benchmark/io_select3.rb<br/>new file mode 100644<br/>index 0000000000..7d0ba1f092<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/io_select3.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/io_select3.rb</a></div><div class='hunk'>@@ -0,0 +1,21 @@</div><div class='add'>+# IO.select performance. a lot of fd</div><div class='add'>+</div><div class='add'>+ios = []</div><div class='add'>+nr = 100</div><div class='add'>+if defined?(Process::RLIMIT_NOFILE)</div><div class='add'>+  max = Process.getrlimit(Process::RLIMIT_NOFILE)[0]</div><div class='add'>+else</div><div class='add'>+  max = 64</div><div class='add'>+end</div><div class='add'>+puts "max fd: #{max} (results not apparent with &lt;= 1024 max fd)"</div><div class='add'>+</div><div class='add'>+(max - 10).times do</div><div class='add'>+  r, w = IO.pipe</div><div class='add'>+  r.close</div><div class='add'>+  ios.push w</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+nr.times do</div><div class='add'>+  IO.select nil, ios</div><div class='add'>+end</div><div class='add'>+</div><div class='head'>diff --git a/benchmark/irb_color.yml b/benchmark/irb_color.yml<br/>new file mode 100644<br/>index 0000000000..ebdc8d7e8b<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/irb_color.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/irb_color.yml</a></div><div class='hunk'>@@ -0,0 +1,13 @@</div><div class='add'>+prelude: |</div><div class='add'>+  require 'irb/color'</div><div class='add'>+  code = &lt;&lt;~'CODE'</div><div class='add'>+    def self.foo # bar</div><div class='add'>+      :"erb #{ERB.new("&lt;%= self %&gt;", trim_mode: ?-).result}"</div><div class='add'>+    end</div><div class='add'>+  CODE</div><div class='add'>+benchmark:</div><div class='add'>+  irb_color_complete: |</div><div class='add'>+    IRB::Color.colorize_code(code, complete: true)</div><div class='add'>+  irb_color_incomplete: |</div><div class='add'>+    IRB::Color.colorize_code(code, complete: false)</div><div class='add'>+loop_count: 2000000</div><div class='head'>diff --git a/benchmark/irb_exec.yml b/benchmark/irb_exec.yml<br/>new file mode 100644<br/>index 0000000000..28933f8b38<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/irb_exec.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/irb_exec.yml</a></div><div class='hunk'>@@ -0,0 +1,10 @@</div><div class='add'>+prelude: |</div><div class='add'>+  # frozen_string_literal: true</div><div class='add'>+  require 'rbconfig'</div><div class='add'>+  irb_f = [File.join(File.dirname(RbConfig.ruby), 'irb'), '-f']</div><div class='add'>+benchmark:</div><div class='add'>+  irb_exec: |</div><div class='add'>+    IO.popen(irb_f, 'w') do |io|</div><div class='add'>+      io.write('exit')</div><div class='add'>+    end</div><div class='add'>+loop_count: 30</div><div class='head'>diff --git a/benchmark/kernel_clone.yml b/benchmark/kernel_clone.yml<br/>new file mode 100644<br/>index 0000000000..069b23abcd<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/kernel_clone.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/kernel_clone.yml</a></div><div class='hunk'>@@ -0,0 +1,6 @@</div><div class='add'>+prelude: "object = Object.new"</div><div class='add'>+benchmark:</div><div class='add'>+  clone: "object.clone"</div><div class='add'>+  clone_true: "object.clone(freeze: true)"</div><div class='add'>+  clone_false: "object.clone(freeze: false)"</div><div class='add'>+loop_count: 10000</div><div class='head'>diff --git a/benchmark/kernel_float.yml b/benchmark/kernel_float.yml<br/>new file mode 100644<br/>index 0000000000..215f6750fc<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/kernel_float.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/kernel_float.yml</a></div><div class='hunk'>@@ -0,0 +1,5 @@</div><div class='add'>+benchmark:</div><div class='add'>+  float: "Float(42)"</div><div class='add'>+  float_true: "Float(42, exception: true)"</div><div class='add'>+  float_false: "Float(42, exception: false)"</div><div class='add'>+loop_count: 10000</div><div class='head'>diff --git a/benchmark/kernel_tap.yml b/benchmark/kernel_tap.yml<br/>new file mode 100644<br/>index 0000000000..4dcbb31b4d<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/kernel_tap.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/kernel_tap.yml</a></div><div class='hunk'>@@ -0,0 +1,6 @@</div><div class='add'>+prelude: |</div><div class='add'>+  obj = Object.new</div><div class='add'>+  x = nil</div><div class='add'>+benchmark:</div><div class='add'>+  kernel_tap: obj.tap { |o| x = o }</div><div class='add'>+loop_count: 20000000</div><div class='head'>diff --git a/benchmark/kernel_then.yml b/benchmark/kernel_then.yml<br/>new file mode 100644<br/>index 0000000000..85f7341e33<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/kernel_then.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/kernel_then.yml</a></div><div class='hunk'>@@ -0,0 +1,6 @@</div><div class='add'>+benchmark:</div><div class='add'>+  kernel_then: 1.then { |i| i + 1 }</div><div class='add'>+  kernel_then_enum: 1.then</div><div class='add'>+  kernel_yield_self: 1.yield_self { |i| i + 1 }</div><div class='add'>+  kernel_yield_self_enum: 1.yield_self</div><div class='add'>+loop_count: 20000000</div><div class='head'>diff --git a/benchmark/keyword_arguments.yml b/benchmark/keyword_arguments.yml<br/>new file mode 100644<br/>index 0000000000..fce6bce0b8<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/keyword_arguments.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/keyword_arguments.yml</a></div><div class='hunk'>@@ -0,0 +1,13 @@</div><div class='add'>+prelude: |</div><div class='add'>+  h = {a: 1}</div><div class='add'>+  def kw(a: 1) a end</div><div class='add'>+  def kws(**kw) kw end</div><div class='add'>+benchmark:</div><div class='add'>+  kw_to_kw: "kw(a: 1)"</div><div class='add'>+  kw_splat_to_kw: "kw(**h)"</div><div class='add'>+  kw_to_kw_splat: "kws(a: 1)"</div><div class='add'>+  kw_splat_to_kw_splat: "kws(**h)"</div><div class='add'>+  kw_and_splat_to_kw: "kw(a: 1, **h)"</div><div class='add'>+  kw_splats_to_kw: "kw(**h, **h)"</div><div class='add'>+  kw_and_splat_to_kw_splat: "kws(a: 1, **h)"</div><div class='add'>+  kw_splats_to_kw_splat: "kws(**h, **h)"</div><div class='head'>diff --git a/benchmark/lib/benchmark_driver/output/driver.rb b/benchmark/lib/benchmark_driver/output/driver.rb<br/>new file mode 100644<br/>index 0000000000..d22236e9fb<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/lib/benchmark_driver/output/driver.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/lib/benchmark_driver/output/driver.rb</a></div><div class='hunk'>@@ -0,0 +1,36 @@</div><div class='add'>+require 'benchmark_driver/output/simple'</div><div class='add'>+</div><div class='add'>+# This replicates the legacy benchmark/driver.rb behavior.</div><div class='add'>+class BenchmarkDriver::Output::Driver &lt; BenchmarkDriver::Output::Simple</div><div class='add'>+  def initialize(*)</div><div class='add'>+    super</div><div class='add'>+    @stdout = $stdout</div><div class='add'>+    @strio  = StringIO.new</div><div class='add'>+    $stdout = IOMultiplexer.new(@stdout, @strio)</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def with_benchmark(*)</div><div class='add'>+    super</div><div class='add'>+  ensure</div><div class='add'>+    logfile = "bmlog-#{Time.now.strftime('%Y%m%d-%H%M%S')}.#{$$}.log"</div><div class='add'>+    puts "\nLog file: #{logfile}"</div><div class='add'>+</div><div class='add'>+    $stdout = @stdout</div><div class='add'>+    File.write(logfile, @strio.tap(&amp;:rewind).read)</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  class IOMultiplexer</div><div class='add'>+    def initialize(io1, io2)</div><div class='add'>+      @io1 = io1</div><div class='add'>+      @io2 = io2</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    [:write, :sync, :sync=, :puts, :print, :flush].each do |method|</div><div class='add'>+      define_method(method) do |*args|</div><div class='add'>+        @io1.send(method, *args)</div><div class='add'>+        @io2.send(method, *args)</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  private_constant :IOMultiplexer</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/lib/benchmark_driver/runner/cstime.rb b/benchmark/lib/benchmark_driver/runner/cstime.rb<br/>new file mode 100644<br/>index 0000000000..3c3453e527<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/lib/benchmark_driver/runner/cstime.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/lib/benchmark_driver/runner/cstime.rb</a></div><div class='hunk'>@@ -0,0 +1,22 @@</div><div class='add'>+require 'benchmark_driver/runner/total'</div><div class='add'>+</div><div class='add'>+class BenchmarkDriver::Runner::Cstime &lt; BenchmarkDriver::Runner::Total</div><div class='add'>+  METRIC = BenchmarkDriver::Metric.new(name: 'cstime', unit: 's', larger_better: false)</div><div class='add'>+</div><div class='add'>+  # JobParser returns this, `BenchmarkDriver::Runner.runner_for` searches "*::Job"</div><div class='add'>+  Job = Class.new(BenchmarkDriver::DefaultJob)</div><div class='add'>+  # Dynamically fetched and used by `BenchmarkDriver::JobParser.parse`</div><div class='add'>+  JobParser = BenchmarkDriver::DefaultJobParser.for(klass: Job, metrics: [METRIC])</div><div class='add'>+</div><div class='add'>+  private</div><div class='add'>+</div><div class='add'>+  # Overriding BenchmarkDriver::Runner::Total#metric</div><div class='add'>+  def metric</div><div class='add'>+    METRIC</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  # Overriding BenchmarkDriver::Runner::Total#target</div><div class='add'>+  def target</div><div class='add'>+    :cstime</div><div class='add'>+  end</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/lib/benchmark_driver/runner/cutime.rb b/benchmark/lib/benchmark_driver/runner/cutime.rb<br/>new file mode 100644<br/>index 0000000000..e139962ef2<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/lib/benchmark_driver/runner/cutime.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/lib/benchmark_driver/runner/cutime.rb</a></div><div class='hunk'>@@ -0,0 +1,22 @@</div><div class='add'>+require 'benchmark_driver/runner/total'</div><div class='add'>+</div><div class='add'>+class BenchmarkDriver::Runner::Cutime &lt; BenchmarkDriver::Runner::Total</div><div class='add'>+  METRIC = BenchmarkDriver::Metric.new(name: 'cutime', unit: 's', larger_better: false)</div><div class='add'>+</div><div class='add'>+  # JobParser returns this, `BenchmarkDriver::Runner.runner_for` searches "*::Job"</div><div class='add'>+  Job = Class.new(BenchmarkDriver::DefaultJob)</div><div class='add'>+  # Dynamically fetched and used by `BenchmarkDriver::JobParser.parse`</div><div class='add'>+  JobParser = BenchmarkDriver::DefaultJobParser.for(klass: Job, metrics: [METRIC])</div><div class='add'>+</div><div class='add'>+  private</div><div class='add'>+</div><div class='add'>+  # Overriding BenchmarkDriver::Runner::Total#metric</div><div class='add'>+  def metric</div><div class='add'>+    METRIC</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  # Overriding BenchmarkDriver::Runner::Total#target</div><div class='add'>+  def target</div><div class='add'>+    :cutime</div><div class='add'>+  end</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/lib/benchmark_driver/runner/mjit.rb b/benchmark/lib/benchmark_driver/runner/mjit.rb<br/>new file mode 100644<br/>index 0000000000..1d4693e8be<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/lib/benchmark_driver/runner/mjit.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/lib/benchmark_driver/runner/mjit.rb</a></div><div class='hunk'>@@ -0,0 +1,34 @@</div><div class='add'>+require 'benchmark_driver/struct'</div><div class='add'>+require 'benchmark_driver/metric'</div><div class='add'>+require 'erb'</div><div class='add'>+</div><div class='add'>+# A runner to measure after-JIT performance easily</div><div class='add'>+class BenchmarkDriver::Runner::Mjit &lt; BenchmarkDriver::Runner::Ips</div><div class='add'>+  # JobParser returns this, `BenchmarkDriver::Runner.runner_for` searches "*::Job"</div><div class='add'>+  Job = Class.new(BenchmarkDriver::DefaultJob)</div><div class='add'>+</div><div class='add'>+  # Dynamically fetched and used by `BenchmarkDriver::JobParser.parse`</div><div class='add'>+  JobParser = BenchmarkDriver::DefaultJobParser.for(klass: Job, metrics: [METRIC]).extend(Module.new{</div><div class='add'>+    def parse(**)</div><div class='add'>+      jobs = super</div><div class='add'>+      jobs.map do |job|</div><div class='add'>+        job = job.dup</div><div class='add'>+        job.prelude = "#{job.prelude}\n#{&lt;&lt;~EOS}"</div><div class='add'>+          if defined?(RubyVM::MJIT) &amp;&amp; RubyVM::MJIT.enabled?</div><div class='add'>+            __bmdv_ruby_i = 0</div><div class='add'>+            while __bmdv_ruby_i &lt; 10000 # jit_min_calls</div><div class='add'>+              #{job.script}</div><div class='add'>+              __bmdv_ruby_i += 1</div><div class='add'>+            end</div><div class='add'>+            RubyVM::MJIT.pause # compile</div><div class='add'>+            #{job.script}</div><div class='add'>+            RubyVM::MJIT.resume; RubyVM::MJIT.pause # recompile</div><div class='add'>+            #{job.script}</div><div class='add'>+            RubyVM::MJIT.resume; RubyVM::MJIT.pause # recompile 2</div><div class='add'>+          end</div><div class='add'>+        EOS</div><div class='add'>+        job</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  })</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/lib/benchmark_driver/runner/mjit_exec.rb b/benchmark/lib/benchmark_driver/runner/mjit_exec.rb<br/>new file mode 100644<br/>index 0000000000..eac3dfba84<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/lib/benchmark_driver/runner/mjit_exec.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/lib/benchmark_driver/runner/mjit_exec.rb</a></div><div class='hunk'>@@ -0,0 +1,237 @@</div><div class='add'>+require 'benchmark_driver/struct'</div><div class='add'>+require 'benchmark_driver/metric'</div><div class='add'>+require 'erb'</div><div class='add'>+</div><div class='add'>+# A special runner dedicated for measuring mjit_exec overhead.</div><div class='add'>+class BenchmarkDriver::Runner::MjitExec</div><div class='add'>+  METRIC = BenchmarkDriver::Metric.new(name: 'Iteration per second', unit: 'i/s')</div><div class='add'>+</div><div class='add'>+  # JobParser returns this, `BenchmarkDriver::Runner.runner_for` searches "*::Job"</div><div class='add'>+  Job = ::BenchmarkDriver::Struct.new(</div><div class='add'>+    :name,        # @param [String] name - This is mandatory for all runner</div><div class='add'>+    :metrics,     # @param [Array&lt;BenchmarkDriver::Metric&gt;]</div><div class='add'>+    :num_methods, # @param [Integer] num_methods - The number of methods to be defined</div><div class='add'>+    :loop_count,  # @param [Integer] loop_count</div><div class='add'>+    :from_jit,    # @param [TrueClass,FalseClass] from_jit - Whether the mjit_exec() is from JIT or not</div><div class='add'>+    :to_jit,      # @param [TrueClass,FalseClass] to_jit - Whether the mjit_exec() is to JIT or not</div><div class='add'>+  )</div><div class='add'>+  # Dynamically fetched and used by `BenchmarkDriver::JobParser.parse`</div><div class='add'>+  class &lt;&lt; JobParser = Module.new</div><div class='add'>+    # @param [Array,String] num_methods</div><div class='add'>+    # @param [Integer] loop_count</div><div class='add'>+    # @param [TrueClass,FalseClass] from_jit</div><div class='add'>+    # @param [TrueClass,FalseClass] to_jit</div><div class='add'>+    def parse(num_methods:, loop_count:, from_jit:, to_jit:)</div><div class='add'>+      if num_methods.is_a?(String)</div><div class='add'>+        num_methods = eval(num_methods)</div><div class='add'>+      end</div><div class='add'>+</div><div class='add'>+      num_methods.map do |num|</div><div class='add'>+        if num_methods.size &gt; 1</div><div class='add'>+          suffix = "[#{'%4d' % num}]"</div><div class='add'>+        else</div><div class='add'>+          suffix = "_#{num}"</div><div class='add'>+        end</div><div class='add'>+        Job.new(</div><div class='add'>+          name: "mjit_exec_#{from_jit ? 'JT' : 'VM'}2#{to_jit ? 'JT' : 'VM'}#{suffix}",</div><div class='add'>+          metrics: [METRIC],</div><div class='add'>+          num_methods: num,</div><div class='add'>+          loop_count: loop_count,</div><div class='add'>+          from_jit: from_jit,</div><div class='add'>+          to_jit: to_jit,</div><div class='add'>+        )</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  # @param [BenchmarkDriver::Config::RunnerConfig] config</div><div class='add'>+  # @param [BenchmarkDriver::Output] output</div><div class='add'>+  # @param [BenchmarkDriver::Context] contexts</div><div class='add'>+  def initialize(config:, output:, contexts:)</div><div class='add'>+    @config = config</div><div class='add'>+    @output = output</div><div class='add'>+    @contexts = contexts</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  # This method is dynamically called by `BenchmarkDriver::JobRunner.run`</div><div class='add'>+  # @param [Array&lt;BenchmarkDriver::Runner::Peak::Job&gt;] jobs</div><div class='add'>+  def run(jobs)</div><div class='add'>+    @output.with_benchmark do</div><div class='add'>+      jobs.each do |job|</div><div class='add'>+        @output.with_job(name: job.name) do</div><div class='add'>+          @contexts.each do |context|</div><div class='add'>+            result = BenchmarkDriver::Repeater.with_repeat(config: @config, larger_better: true, rest_on_average: :average) do</div><div class='add'>+              run_benchmark(job, context: context)</div><div class='add'>+            end</div><div class='add'>+            value, duration = result.value</div><div class='add'>+            @output.with_context(name: context.name, executable: context.executable, gems: context.gems, prelude: context.prelude) do</div><div class='add'>+              @output.report(values: { METRIC =&gt; value }, duration: duration, loop_count: job.loop_count)</div><div class='add'>+            end</div><div class='add'>+          end</div><div class='add'>+        end</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  private</div><div class='add'>+</div><div class='add'>+  # @param [BenchmarkDriver::Runner::Ips::Job] job - loop_count is not nil</div><div class='add'>+  # @param [BenchmarkDriver::Context] context</div><div class='add'>+  # @return [BenchmarkDriver::Metrics]</div><div class='add'>+  def run_benchmark(job, context:)</div><div class='add'>+    if job.from_jit</div><div class='add'>+      if job.to_jit</div><div class='add'>+        benchmark = BenchmarkJT2JT.new(num_methods: job.num_methods, loop_count: job.loop_count)</div><div class='add'>+      else</div><div class='add'>+        raise NotImplementedError, "JT2VM is not implemented yet"</div><div class='add'>+      end</div><div class='add'>+    else</div><div class='add'>+      if job.to_jit</div><div class='add'>+        benchmark = BenchmarkVM2JT.new(num_methods: job.num_methods, loop_count: job.loop_count)</div><div class='add'>+      else</div><div class='add'>+        benchmark = BenchmarkVM2VM.new(num_methods: job.num_methods, loop_count: job.loop_count)</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    duration = Tempfile.open(['benchmark_driver-result', '.txt']) do |f|</div><div class='add'>+      with_script(benchmark.render(result: f.path)) do |path|</div><div class='add'>+        opt = []</div><div class='add'>+        if context.executable.command.any? { |c| c.start_with?('--jit') }</div><div class='add'>+          opt &lt;&lt; '--jit-min-calls=2'</div><div class='add'>+        end</div><div class='add'>+        IO.popen([*context.executable.command, '--disable-gems', *opt, path], &amp;:read)</div><div class='add'>+        if $?.success?</div><div class='add'>+          Float(f.read)</div><div class='add'>+        else</div><div class='add'>+          BenchmarkDriver::Result::ERROR</div><div class='add'>+        end</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    [job.loop_count.to_f / duration, duration]</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def with_script(script)</div><div class='add'>+    if @config.verbose &gt;= 2</div><div class='add'>+      sep = '-' * 30</div><div class='add'>+      $stdout.puts "\n\n#{sep}[Script begin]#{sep}\n#{script}#{sep}[Script end]#{sep}\n\n"</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    Tempfile.open(['benchmark_driver-', '.rb']) do |f|</div><div class='add'>+      f.puts script</div><div class='add'>+      f.close</div><div class='add'>+      return yield(f.path)</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  # @param [Integer] num_methods</div><div class='add'>+  # @param [Integer] loop_count</div><div class='add'>+  BenchmarkVM2VM = ::BenchmarkDriver::Struct.new(:num_methods, :loop_count) do</div><div class='add'>+    # @param [String] result - A file to write result</div><div class='add'>+    def render(result:)</div><div class='add'>+      ERB.new(&lt;&lt;~EOS, trim_mode: '%').result(binding)</div><div class='add'>+        % num_methods.times do |i|</div><div class='add'>+        def a&lt;%= i %&gt;</div><div class='add'>+          nil</div><div class='add'>+        end</div><div class='add'>+        % end</div><div class='add'>+        RubyVM::MJIT.pause if defined?(RubyVM::MJIT) &amp;&amp; RubyVM::MJIT.enabled?</div><div class='add'>+</div><div class='add'>+        def vm</div><div class='add'>+          t = Process.clock_gettime(Process::CLOCK_MONOTONIC)</div><div class='add'>+          i = 0</div><div class='add'>+          while i &lt; &lt;%= loop_count / 1000 %&gt;</div><div class='add'>+        % 1000.times do |i|</div><div class='add'>+            a&lt;%= i % num_methods %&gt;</div><div class='add'>+        % end</div><div class='add'>+            i += 1</div><div class='add'>+          end</div><div class='add'>+        % (loop_count % 1000).times do |i|</div><div class='add'>+          a&lt;%= i % num_methods %&gt;</div><div class='add'>+        % end</div><div class='add'>+          Process.clock_gettime(Process::CLOCK_MONOTONIC) - t</div><div class='add'>+        end</div><div class='add'>+</div><div class='add'>+        vm # warmup call cache</div><div class='add'>+        File.write(&lt;%= result.dump %&gt;, vm)</div><div class='add'>+      EOS</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  private_constant :BenchmarkVM2VM</div><div class='add'>+</div><div class='add'>+  # @param [Integer] num_methods</div><div class='add'>+  # @param [Integer] loop_count</div><div class='add'>+  BenchmarkVM2JT = ::BenchmarkDriver::Struct.new(:num_methods, :loop_count) do</div><div class='add'>+    # @param [String] result - A file to write result</div><div class='add'>+    def render(result:)</div><div class='add'>+      ERB.new(&lt;&lt;~EOS, trim_mode: '%').result(binding)</div><div class='add'>+        % num_methods.times do |i|</div><div class='add'>+        def a&lt;%= i %&gt;</div><div class='add'>+          nil</div><div class='add'>+        end</div><div class='add'>+        a&lt;%= i %&gt;</div><div class='add'>+        a&lt;%= i %&gt; # --jit-min-calls=2</div><div class='add'>+        % end</div><div class='add'>+        RubyVM::MJIT.pause if defined?(RubyVM::MJIT) &amp;&amp; RubyVM::MJIT.enabled?</div><div class='add'>+</div><div class='add'>+        def vm</div><div class='add'>+          t = Process.clock_gettime(Process::CLOCK_MONOTONIC)</div><div class='add'>+          i = 0</div><div class='add'>+          while i &lt; &lt;%= loop_count / 1000 %&gt;</div><div class='add'>+        % 1000.times do |i|</div><div class='add'>+            a&lt;%= i % num_methods %&gt;</div><div class='add'>+        % end</div><div class='add'>+            i += 1</div><div class='add'>+          end</div><div class='add'>+        % (loop_count % 1000).times do |i|</div><div class='add'>+          a&lt;%= i % num_methods %&gt;</div><div class='add'>+        % end</div><div class='add'>+          Process.clock_gettime(Process::CLOCK_MONOTONIC) - t</div><div class='add'>+        end</div><div class='add'>+</div><div class='add'>+        vm # warmup call cache</div><div class='add'>+        File.write(&lt;%= result.dump %&gt;, vm)</div><div class='add'>+      EOS</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  private_constant :BenchmarkVM2JT</div><div class='add'>+</div><div class='add'>+  # @param [Integer] num_methods</div><div class='add'>+  # @param [Integer] loop_count</div><div class='add'>+  BenchmarkJT2JT = ::BenchmarkDriver::Struct.new(:num_methods, :loop_count) do</div><div class='add'>+    # @param [String] result - A file to write result</div><div class='add'>+    def render(result:)</div><div class='add'>+      ERB.new(&lt;&lt;~EOS, trim_mode: '%').result(binding)</div><div class='add'>+        % num_methods.times do |i|</div><div class='add'>+        def a&lt;%= i %&gt;</div><div class='add'>+          nil</div><div class='add'>+        end</div><div class='add'>+        % end</div><div class='add'>+</div><div class='add'>+        # You may need to:</div><div class='add'>+        #   * Increase `JIT_ISEQ_SIZE_THRESHOLD` to 10000000 in mjit.h</div><div class='add'>+        #   * Always return false in `inlinable_iseq_p()` of mjit_compile.c</div><div class='add'>+        def jit</div><div class='add'>+          t = Process.clock_gettime(Process::CLOCK_MONOTONIC)</div><div class='add'>+          i = 0</div><div class='add'>+          while i &lt; &lt;%= loop_count / 1000 %&gt;</div><div class='add'>+        % 1000.times do |i|</div><div class='add'>+            a&lt;%= i % num_methods %&gt;</div><div class='add'>+        % end</div><div class='add'>+            i += 1</div><div class='add'>+          end</div><div class='add'>+        % (loop_count % 1000).times do |i|</div><div class='add'>+          a&lt;%= i % num_methods %&gt;</div><div class='add'>+        % end</div><div class='add'>+          Process.clock_gettime(Process::CLOCK_MONOTONIC) - t</div><div class='add'>+        end</div><div class='add'>+</div><div class='add'>+        jit</div><div class='add'>+        jit</div><div class='add'>+        RubyVM::MJIT.pause if defined?(RubyVM::MJIT) &amp;&amp; RubyVM::MJIT.enabled?</div><div class='add'>+        File.write(&lt;%= result.dump %&gt;, jit)</div><div class='add'>+      EOS</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  private_constant :BenchmarkJT2JT</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/lib/benchmark_driver/runner/peak.rb b/benchmark/lib/benchmark_driver/runner/peak.rb<br/>new file mode 100644<br/>index 0000000000..d04f2e51ff<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/lib/benchmark_driver/runner/peak.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/lib/benchmark_driver/runner/peak.rb</a></div><div class='hunk'>@@ -0,0 +1,151 @@</div><div class='add'>+require 'benchmark_driver/struct'</div><div class='add'>+require 'benchmark_driver/metric'</div><div class='add'>+require 'benchmark_driver/default_job'</div><div class='add'>+require 'benchmark_driver/default_job_parser'</div><div class='add'>+require 'tempfile'</div><div class='add'>+</div><div class='add'>+class BenchmarkDriver::Runner::Peak</div><div class='add'>+  METRIC = BenchmarkDriver::Metric.new(</div><div class='add'>+    name: 'Peak memory usage', unit: 'bytes', larger_better: false, worse_word: 'larger',</div><div class='add'>+  )</div><div class='add'>+</div><div class='add'>+  # JobParser returns this, `BenchmarkDriver::Runner.runner_for` searches "*::Job"</div><div class='add'>+  Job = Class.new(BenchmarkDriver::DefaultJob)</div><div class='add'>+  # Dynamically fetched and used by `BenchmarkDriver::JobParser.parse`</div><div class='add'>+  JobParser = BenchmarkDriver::DefaultJobParser.for(klass: Job, metrics: [METRIC])</div><div class='add'>+</div><div class='add'>+  # @param [BenchmarkDriver::Config::RunnerConfig] config</div><div class='add'>+  # @param [BenchmarkDriver::Output] output</div><div class='add'>+  # @param [BenchmarkDriver::Context] contexts</div><div class='add'>+  def initialize(config:, output:, contexts:)</div><div class='add'>+    @config = config</div><div class='add'>+    @output = output</div><div class='add'>+    @contexts = contexts</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  # This method is dynamically called by `BenchmarkDriver::JobRunner.run`</div><div class='add'>+  # @param [Array&lt;BenchmarkDriver::Runner::Peak::Job&gt;] jobs</div><div class='add'>+  def run(jobs)</div><div class='add'>+    if jobs.any? { |job| job.loop_count.nil? }</div><div class='add'>+      jobs = jobs.map do |job|</div><div class='add'>+        job.loop_count ? job : Job.new(job.to_h.merge(loop_count: 1))</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    @output.with_benchmark do</div><div class='add'>+      jobs.each do |job|</div><div class='add'>+        @output.with_job(name: job.name) do</div><div class='add'>+          job.runnable_contexts(@contexts).each do |context|</div><div class='add'>+            value = BenchmarkDriver::Repeater.with_repeat(config: @config, larger_better: false) do</div><div class='add'>+              run_benchmark(job, context: context)</div><div class='add'>+            end</div><div class='add'>+            @output.with_context(name: context.name, executable: context.executable, gems: context.gems, prelude: context.prelude) do</div><div class='add'>+              @output.report(values: { metric =&gt; value }, loop_count: job.loop_count)</div><div class='add'>+            end</div><div class='add'>+          end</div><div class='add'>+        end</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  private</div><div class='add'>+</div><div class='add'>+  # @param [BenchmarkDriver::Runner::Ips::Job] job - loop_count is not nil</div><div class='add'>+  # @param [BenchmarkDriver::Context] context</div><div class='add'>+  # @return [BenchmarkDriver::Metrics]</div><div class='add'>+  def run_benchmark(job, context:)</div><div class='add'>+    benchmark = BenchmarkScript.new(</div><div class='add'>+      preludes:   [context.prelude, job.prelude],</div><div class='add'>+      script:     job.script,</div><div class='add'>+      teardown:   job.teardown,</div><div class='add'>+      loop_count: job.loop_count,</div><div class='add'>+    )</div><div class='add'>+</div><div class='add'>+    memory_status = File.expand_path('../../../../tool/lib/memory_status', __dir__)</div><div class='add'>+    Tempfile.open(['benchmark_driver-', '.rb']) do |f|</div><div class='add'>+      with_script(benchmark.render) do |path|</div><div class='add'>+        output = IO.popen([*context.executable.command, path, f.path, target, memory_status], &amp;:read)</div><div class='add'>+        if $?.success?</div><div class='add'>+          Integer(f.read)</div><div class='add'>+        else</div><div class='add'>+          $stdout.print(output)</div><div class='add'>+          BenchmarkDriver::Result::ERROR</div><div class='add'>+        end</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  # Overridden by BenchmarkDriver::Runner::Size</div><div class='add'>+  def target</div><div class='add'>+    'peak'</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  # Overridden by BenchmarkDriver::Runner::Size</div><div class='add'>+  def metric</div><div class='add'>+    METRIC</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def with_script(script)</div><div class='add'>+    if @config.verbose &gt;= 2</div><div class='add'>+      sep = '-' * 30</div><div class='add'>+      $stdout.puts "\n\n#{sep}[Script begin]#{sep}\n#{script}#{sep}[Script end]#{sep}\n\n"</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    Tempfile.open(['benchmark_driver-', '.rb']) do |f|</div><div class='add'>+      f.puts script</div><div class='add'>+      f.close</div><div class='add'>+      return yield(f.path)</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  # @param [String] prelude</div><div class='add'>+  # @param [String] script</div><div class='add'>+  # @param [String] teardown</div><div class='add'>+  # @param [Integer] loop_count</div><div class='add'>+  BenchmarkScript = ::BenchmarkDriver::Struct.new(:preludes, :script, :teardown, :loop_count) do</div><div class='add'>+    def render</div><div class='add'>+      prelude = preludes.reject(&amp;:nil?).reject(&amp;:empty?).join("\n")</div><div class='add'>+      &lt;&lt;-RUBY</div><div class='add'>+#{prelude}</div><div class='add'>+#{while_loop(script, loop_count)}</div><div class='add'>+#{teardown}</div><div class='add'>+</div><div class='add'>+result_file, target, memory_status = ARGV</div><div class='add'>+require_relative memory_status</div><div class='add'>+</div><div class='add'>+ms = Memory::Status.new</div><div class='add'>+case target.to_sym</div><div class='add'>+when :peak</div><div class='add'>+  key = ms.respond_to?(:hwm) ? :hwm : :peak</div><div class='add'>+when :size</div><div class='add'>+  key = ms.respond_to?(:rss) ? :rss : :size</div><div class='add'>+else</div><div class='add'>+  raise('unexpected target: ' + target)</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+File.write(result_file, ms[key])</div><div class='add'>+      RUBY</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    private</div><div class='add'>+</div><div class='add'>+    def while_loop(content, times)</div><div class='add'>+      if !times.is_a?(Integer) || times &lt;= 0</div><div class='add'>+        raise ArgumentError.new("Unexpected times: #{times.inspect}")</div><div class='add'>+      end</div><div class='add'>+</div><div class='add'>+      if times &gt; 1</div><div class='add'>+        &lt;&lt;-RUBY</div><div class='add'>+__bmdv_i = 0</div><div class='add'>+while __bmdv_i &lt; #{times}</div><div class='add'>+  #{content}</div><div class='add'>+  __bmdv_i += 1</div><div class='add'>+end</div><div class='add'>+        RUBY</div><div class='add'>+      else</div><div class='add'>+        content</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  private_constant :BenchmarkScript</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/lib/benchmark_driver/runner/size.rb b/benchmark/lib/benchmark_driver/runner/size.rb<br/>new file mode 100644<br/>index 0000000000..1b31f901c7<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/lib/benchmark_driver/runner/size.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/lib/benchmark_driver/runner/size.rb</a></div><div class='hunk'>@@ -0,0 +1,25 @@</div><div class='add'>+require 'benchmark_driver/runner/peak'</div><div class='add'>+</div><div class='add'>+# Actually the same as BenchmarkDriver::Runner::Memory</div><div class='add'>+class BenchmarkDriver::Runner::Size &lt; BenchmarkDriver::Runner::Peak</div><div class='add'>+  METRIC = BenchmarkDriver::Metric.new(</div><div class='add'>+    name: 'Max resident set size', unit: 'bytes', larger_better: false, worse_word: 'larger',</div><div class='add'>+  )</div><div class='add'>+</div><div class='add'>+  # JobParser returns this, `BenchmarkDriver::Runner.runner_for` searches "*::Job"</div><div class='add'>+  Job = Class.new(BenchmarkDriver::DefaultJob)</div><div class='add'>+  # Dynamically fetched and used by `BenchmarkDriver::JobParser.parse`</div><div class='add'>+  JobParser = BenchmarkDriver::DefaultJobParser.for(klass: Job, metrics: [METRIC])</div><div class='add'>+</div><div class='add'>+  private</div><div class='add'>+</div><div class='add'>+  # Overriding BenchmarkDriver::Runner::Peak#metric</div><div class='add'>+  def metric</div><div class='add'>+    METRIC</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  # Overriding BenchmarkDriver::Runner::Peak#target</div><div class='add'>+  def target</div><div class='add'>+    'size'</div><div class='add'>+  end</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/lib/benchmark_driver/runner/stime.rb b/benchmark/lib/benchmark_driver/runner/stime.rb<br/>new file mode 100644<br/>index 0000000000..4577fb0bf8<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/lib/benchmark_driver/runner/stime.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/lib/benchmark_driver/runner/stime.rb</a></div><div class='hunk'>@@ -0,0 +1,22 @@</div><div class='add'>+require 'benchmark_driver/runner/total'</div><div class='add'>+</div><div class='add'>+class BenchmarkDriver::Runner::Stime &lt; BenchmarkDriver::Runner::Total</div><div class='add'>+  METRIC = BenchmarkDriver::Metric.new(name: 'stime', unit: 's', larger_better: false)</div><div class='add'>+</div><div class='add'>+  # JobParser returns this, `BenchmarkDriver::Runner.runner_for` searches "*::Job"</div><div class='add'>+  Job = Class.new(BenchmarkDriver::DefaultJob)</div><div class='add'>+  # Dynamically fetched and used by `BenchmarkDriver::JobParser.parse`</div><div class='add'>+  JobParser = BenchmarkDriver::DefaultJobParser.for(klass: Job, metrics: [METRIC])</div><div class='add'>+</div><div class='add'>+  private</div><div class='add'>+</div><div class='add'>+  # Overriding BenchmarkDriver::Runner::Total#metric</div><div class='add'>+  def metric</div><div class='add'>+    METRIC</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  # Overriding BenchmarkDriver::Runner::Total#target</div><div class='add'>+  def target</div><div class='add'>+    :stime</div><div class='add'>+  end</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/lib/benchmark_driver/runner/total.rb b/benchmark/lib/benchmark_driver/runner/total.rb<br/>new file mode 100644<br/>index 0000000000..64dc14f84e<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/lib/benchmark_driver/runner/total.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/lib/benchmark_driver/runner/total.rb</a></div><div class='hunk'>@@ -0,0 +1,137 @@</div><div class='add'>+require 'benchmark_driver/struct'</div><div class='add'>+require 'benchmark_driver/metric'</div><div class='add'>+require 'benchmark_driver/default_job'</div><div class='add'>+require 'benchmark_driver/default_job_parser'</div><div class='add'>+require 'tempfile'</div><div class='add'>+</div><div class='add'>+class BenchmarkDriver::Runner::Total</div><div class='add'>+  METRIC = BenchmarkDriver::Metric.new(name: 'Total time', unit: 's', larger_better: false)</div><div class='add'>+</div><div class='add'>+  # JobParser returns this, `BenchmarkDriver::Runner.runner_for` searches "*::Job"</div><div class='add'>+  Job = Class.new(BenchmarkDriver::DefaultJob)</div><div class='add'>+  # Dynamically fetched and used by `BenchmarkDriver::JobParser.parse`</div><div class='add'>+  JobParser = BenchmarkDriver::DefaultJobParser.for(klass: Job, metrics: [METRIC])</div><div class='add'>+</div><div class='add'>+  # @param [BenchmarkDriver::Config::RunnerConfig] config</div><div class='add'>+  # @param [BenchmarkDriver::Output] output</div><div class='add'>+  # @param [BenchmarkDriver::Context] contexts</div><div class='add'>+  def initialize(config:, output:, contexts:)</div><div class='add'>+    @config = config</div><div class='add'>+    @output = output</div><div class='add'>+    @contexts = contexts</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  # This method is dynamically called by `BenchmarkDriver::JobRunner.run`</div><div class='add'>+  # @param [Array&lt;BenchmarkDriver::Runner::Total::Job&gt;] jobs</div><div class='add'>+  def run(jobs)</div><div class='add'>+    if jobs.any? { |job| job.loop_count.nil? }</div><div class='add'>+      raise 'missing loop_count is not supported in Ruby repository'</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    @output.with_benchmark do</div><div class='add'>+      jobs.each do |job|</div><div class='add'>+        @output.with_job(name: job.name) do</div><div class='add'>+          job.runnable_contexts(@contexts).each do |context|</div><div class='add'>+            duration = BenchmarkDriver::Repeater.with_repeat(config: @config, larger_better: false) do</div><div class='add'>+              run_benchmark(job, context: context)</div><div class='add'>+            end</div><div class='add'>+            @output.with_context(name: context.name, executable: context.executable, gems: context.gems, prelude: context.prelude) do</div><div class='add'>+              @output.report(values: { metric =&gt; duration }, duration: duration, loop_count: job.loop_count)</div><div class='add'>+            end</div><div class='add'>+          end</div><div class='add'>+        end</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  private</div><div class='add'>+</div><div class='add'>+  # @param [BenchmarkDriver::Runner::Ips::Job] job - loop_count is not nil</div><div class='add'>+  # @param [BenchmarkDriver::Context] context</div><div class='add'>+  # @return [BenchmarkDriver::Metrics]</div><div class='add'>+  def run_benchmark(job, context:)</div><div class='add'>+    benchmark = BenchmarkScript.new(</div><div class='add'>+      preludes:   [context.prelude, job.prelude],</div><div class='add'>+      script:     job.script,</div><div class='add'>+      teardown:   job.teardown,</div><div class='add'>+      loop_count: job.loop_count,</div><div class='add'>+    )</div><div class='add'>+</div><div class='add'>+    Tempfile.open(['benchmark_driver-', '.rb']) do |f|</div><div class='add'>+      with_script(benchmark.render(result: f.path, target: target)) do |path|</div><div class='add'>+        IO.popen([*context.executable.command, path], &amp;:read) # TODO: print stdout if verbose=2</div><div class='add'>+        if $?.success?</div><div class='add'>+          Float(f.read)</div><div class='add'>+        else</div><div class='add'>+          BenchmarkDriver::Result::ERROR</div><div class='add'>+        end</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  # This method is overridden by some subclasses</div><div class='add'>+  def metric</div><div class='add'>+    METRIC</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  # This method is overridden by some subclasses</div><div class='add'>+  def target</div><div class='add'>+    :total</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def with_script(script)</div><div class='add'>+    if @config.verbose &gt;= 2</div><div class='add'>+      sep = '-' * 30</div><div class='add'>+      $stdout.puts "\n\n#{sep}[Script begin]#{sep}\n#{script}#{sep}[Script end]#{sep}\n\n"</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    Tempfile.open(['benchmark_driver-', '.rb']) do |f|</div><div class='add'>+      f.puts script</div><div class='add'>+      f.close</div><div class='add'>+      return yield(f.path)</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  # @param [String] prelude</div><div class='add'>+  # @param [String] script</div><div class='add'>+  # @param [String] teardown</div><div class='add'>+  # @param [Integer] loop_count</div><div class='add'>+  BenchmarkScript = ::BenchmarkDriver::Struct.new(:preludes, :script, :teardown, :loop_count) do</div><div class='add'>+    # @param [String] result - A file to write result</div><div class='add'>+    def render(result:, target:)</div><div class='add'>+      prelude = preludes.reject(&amp;:nil?).reject(&amp;:empty?).join("\n")</div><div class='add'>+      &lt;&lt;-RUBY</div><div class='add'>+#{prelude}</div><div class='add'>+</div><div class='add'>+require 'benchmark'</div><div class='add'>+__bmdv_result = Benchmark.measure {</div><div class='add'>+  #{while_loop(script, loop_count)}</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#{teardown}</div><div class='add'>+</div><div class='add'>+File.write(#{result.dump}, __bmdv_result.#{target})</div><div class='add'>+      RUBY</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    private</div><div class='add'>+</div><div class='add'>+    def while_loop(content, times)</div><div class='add'>+      if !times.is_a?(Integer) || times &lt;= 0</div><div class='add'>+        raise ArgumentError.new("Unexpected times: #{times.inspect}")</div><div class='add'>+      elsif times == 1</div><div class='add'>+        return content</div><div class='add'>+      end</div><div class='add'>+</div><div class='add'>+      # TODO: execute in batch</div><div class='add'>+      &lt;&lt;-RUBY</div><div class='add'>+__bmdv_i = 0</div><div class='add'>+while __bmdv_i &lt; #{times}</div><div class='add'>+  #{content}</div><div class='add'>+  __bmdv_i += 1</div><div class='add'>+end</div><div class='add'>+      RUBY</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  private_constant :BenchmarkScript</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/lib/benchmark_driver/runner/utime.rb b/benchmark/lib/benchmark_driver/runner/utime.rb<br/>new file mode 100644<br/>index 0000000000..b61d83a188<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/lib/benchmark_driver/runner/utime.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/lib/benchmark_driver/runner/utime.rb</a></div><div class='hunk'>@@ -0,0 +1,22 @@</div><div class='add'>+require 'benchmark_driver/runner/total'</div><div class='add'>+</div><div class='add'>+class BenchmarkDriver::Runner::Utime &lt; BenchmarkDriver::Runner::Total</div><div class='add'>+  METRIC = BenchmarkDriver::Metric.new(name: 'utime', unit: 's', larger_better: false)</div><div class='add'>+</div><div class='add'>+  # JobParser returns this, `BenchmarkDriver::Runner.runner_for` searches "*::Job"</div><div class='add'>+  Job = Class.new(BenchmarkDriver::DefaultJob)</div><div class='add'>+  # Dynamically fetched and used by `BenchmarkDriver::JobParser.parse`</div><div class='add'>+  JobParser = BenchmarkDriver::DefaultJobParser.for(klass: Job, metrics: [METRIC])</div><div class='add'>+</div><div class='add'>+  private</div><div class='add'>+</div><div class='add'>+  # Overriding BenchmarkDriver::Runner::Total#metric</div><div class='add'>+  def metric</div><div class='add'>+    METRIC</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  # Overriding BenchmarkDriver::Runner::Total#target</div><div class='add'>+  def target</div><div class='add'>+    :utime</div><div class='add'>+  end</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/lib/load.rb b/benchmark/lib/load.rb<br/>new file mode 100644<br/>index 0000000000..31b770c484<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/lib/load.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/lib/load.rb</a></div><div class='hunk'>@@ -0,0 +1,18 @@</div><div class='add'>+# How to use this file:</div><div class='add'>+#   1. write a `$(srcdir)/test.rb` like:</div><div class='add'>+=begin</div><div class='add'>+require_relative 'benchmark/lib/load'</div><div class='add'>+</div><div class='add'>+Benchmark.driver(repeat_count: 5){|x|</div><div class='add'>+  x.executable name: 'clean-miniruby', command: %w'../clean-trunk/miniruby'</div><div class='add'>+  x.executable name: 'modif-miniruby', command: %w'./miniruby'</div><div class='add'>+</div><div class='add'>+  x.report %q{</div><div class='add'>+    h = {a: 1, b: 2, c: 3, d: 4}</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+=end</div><div class='add'>+#</div><div class='add'>+#  2. `make run`</div><div class='add'>+$:.unshift(File.join(__dir__, '../benchmark-driver/lib'))</div><div class='add'>+require 'benchmark_driver'</div><div class='head'>diff --git a/benchmark/loop_for.rb b/benchmark/loop_for.rb<br/>new file mode 100644<br/>index 0000000000..0fc4cc1511<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/loop_for.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/loop_for.rb</a></div><div class='hunk'>@@ -0,0 +1,3 @@</div><div class='add'>+for i in 1..30_000_000</div><div class='add'>+  #</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/loop_generator.rb b/benchmark/loop_generator.rb<br/>new file mode 100644<br/>index 0000000000..d3375c744c<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/loop_generator.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/loop_generator.rb</a></div><div class='hunk'>@@ -0,0 +1,14 @@</div><div class='add'>+max = 600000</div><div class='add'>+</div><div class='add'>+if defined? Fiber</div><div class='add'>+  gen = (1..max).each</div><div class='add'>+  loop do</div><div class='add'>+    gen.next</div><div class='add'>+  end</div><div class='add'>+else</div><div class='add'>+  require 'generator'</div><div class='add'>+  gen = Generator.new((0..max))</div><div class='add'>+  while gen.next?</div><div class='add'>+    gen.next</div><div class='add'>+  end</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/loop_times.rb b/benchmark/loop_times.rb<br/>new file mode 100644<br/>index 0000000000..521f72ad1a<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/loop_times.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/loop_times.rb</a></div><div class='hunk'>@@ -0,0 +1 @@</div><div class='add'>+30_000_000.times{|e|}</div><div class='head'>diff --git a/benchmark/loop_whileloop.rb b/benchmark/loop_whileloop.rb<br/>new file mode 100644<br/>index 0000000000..0072822c06<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/loop_whileloop.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/loop_whileloop.rb</a></div><div class='hunk'>@@ -0,0 +1,4 @@</div><div class='add'>+i = 0</div><div class='add'>+while i&lt;30_000_000 # benchmark loop 1</div><div class='add'>+  i += 1</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/loop_whileloop2.rb b/benchmark/loop_whileloop2.rb<br/>new file mode 100644<br/>index 0000000000..47d02dffc4<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/loop_whileloop2.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/loop_whileloop2.rb</a></div><div class='hunk'>@@ -0,0 +1,4 @@</div><div class='add'>+i = 0</div><div class='add'>+while i&lt; 6_000_000 # benchmark loop 2</div><div class='add'>+  i += 1</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/marshal_dump_flo.rb b/benchmark/marshal_dump_flo.rb<br/>new file mode 100644<br/>index 0000000000..9b8d0c6afb<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/marshal_dump_flo.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/marshal_dump_flo.rb</a></div><div class='hunk'>@@ -0,0 +1,2 @@</div><div class='add'>+bug10761 = 10000.times.map { |x| x.to_f }</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..8252ad90fa<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/marshal_dump_load_geniv.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/marshal_dump_load_geniv.rb</a></div><div class='hunk'>@@ -0,0 +1,10 @@</div><div class='add'>+a = ''</div><div class='add'>+a.instance_eval do</div><div class='add'>+  @a = :a</div><div class='add'>+  @b = :b</div><div class='add'>+  @c = :c</div><div class='add'>+end</div><div class='add'>+100000.times do</div><div class='add'>+  a = Marshal.load(Marshal.dump(a))</div><div class='add'>+end</div><div class='add'>+#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/>new file mode 100644<br/>index 0000000000..e29743b791<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/marshal_dump_load_time.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/marshal_dump_load_time.rb</a></div><div class='hunk'>@@ -0,0 +1 @@</div><div class='add'>+100000.times { Marshal.load(Marshal.dump(Time.now)) }</div><div class='head'>diff --git a/benchmark/match_gt4.rb b/benchmark/match_gt4.rb<br/>new file mode 100644<br/>index 0000000000..ffda109912<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/match_gt4.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/match_gt4.rb</a></div><div class='hunk'>@@ -0,0 +1 @@</div><div class='add'>+1000000.times { /(.)(.)(\d+)(\d)/.match("THX1138.") }</div><div class='head'>diff --git a/benchmark/match_small.rb b/benchmark/match_small.rb<br/>new file mode 100644<br/>index 0000000000..3b743d484a<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/match_small.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/match_small.rb</a></div><div class='hunk'>@@ -0,0 +1 @@</div><div class='add'>+1000000.times { 'haystack'.match(/hay/) }</div><div class='head'>diff --git a/benchmark/mjit_exec_jt2jt.yml b/benchmark/mjit_exec_jt2jt.yml<br/>new file mode 100644<br/>index 0000000000..6c303c7a44<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/mjit_exec_jt2jt.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/mjit_exec_jt2jt.yml</a></div><div class='hunk'>@@ -0,0 +1,6 @@</div><div class='add'>+type: lib/benchmark_driver/runner/mjit_exec</div><div class='add'>+num_methods: [1]</div><div class='add'>+#num_methods: (1..100).to_a + [200, 300, 400, 500, 600, 700, 800, 900, 1000]</div><div class='add'>+loop_count: 50000000</div><div class='add'>+from_jit: true</div><div class='add'>+to_jit: true</div><div class='head'>diff --git a/benchmark/mjit_exec_vm2jt.yml b/benchmark/mjit_exec_vm2jt.yml<br/>new file mode 100644<br/>index 0000000000..764883f070<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/mjit_exec_vm2jt.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/mjit_exec_vm2jt.yml</a></div><div class='hunk'>@@ -0,0 +1,6 @@</div><div class='add'>+type: lib/benchmark_driver/runner/mjit_exec</div><div class='add'>+num_methods: [1]</div><div class='add'>+#num_methods: (1..100).to_a + [200, 300, 400, 500, 600, 700, 800, 900, 1000]</div><div class='add'>+loop_count: 50000000</div><div class='add'>+from_jit: false</div><div class='add'>+to_jit: true</div><div class='head'>diff --git a/benchmark/mjit_exec_vm2vm.yml b/benchmark/mjit_exec_vm2vm.yml<br/>new file mode 100644<br/>index 0000000000..030aa76c1c<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/mjit_exec_vm2vm.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/mjit_exec_vm2vm.yml</a></div><div class='hunk'>@@ -0,0 +1,6 @@</div><div class='add'>+type: lib/benchmark_driver/runner/mjit_exec</div><div class='add'>+num_methods: [1]</div><div class='add'>+#num_methods: (1..100).to_a + [200, 300, 400, 500, 600, 700, 800, 900, 1000]</div><div class='add'>+loop_count: 50000000</div><div class='add'>+from_jit: false</div><div class='add'>+to_jit: false</div><div class='head'>diff --git a/benchmark/mjit_exivar.yml b/benchmark/mjit_exivar.yml<br/>new file mode 100644<br/>index 0000000000..2584fa6410<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/mjit_exivar.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/mjit_exivar.yml</a></div><div class='hunk'>@@ -0,0 +1,18 @@</div><div class='add'>+type: lib/benchmark_driver/runner/mjit</div><div class='add'>+prelude: |</div><div class='add'>+  class Bench &lt; Hash</div><div class='add'>+    def initialize</div><div class='add'>+      @exivar = nil</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    def exivar</div><div class='add'>+      @exivar</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  bench = Bench.new</div><div class='add'>+</div><div class='add'>+benchmark:</div><div class='add'>+  mjit_exivar: bench.exivar</div><div class='add'>+</div><div class='add'>+loop_count: 200000000</div><div class='head'>diff --git a/benchmark/mjit_integer.yml b/benchmark/mjit_integer.yml<br/>new file mode 100644<br/>index 0000000000..edc3556479<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/mjit_integer.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/mjit_integer.yml</a></div><div class='hunk'>@@ -0,0 +1,30 @@</div><div class='add'>+type: lib/benchmark_driver/runner/mjit</div><div class='add'>+prelude: |</div><div class='add'>+  def mjit_abs(int)        int.abs        end</div><div class='add'>+  def mjit_bit_length(int) int.bit_length end</div><div class='add'>+  def mjit_comp(int)       ~int           end</div><div class='add'>+  def mjit_even?(int)      int.even?      end</div><div class='add'>+  def mjit_integer?(int)   int.integer?   end</div><div class='add'>+  def mjit_magnitude(int)  int.magnitude  end</div><div class='add'>+  def mjit_odd?(int)       int.odd?       end</div><div class='add'>+  def mjit_ord(int)        int.ord        end</div><div class='add'>+  def mjit_to_i(int)       int.to_i       end</div><div class='add'>+  def mjit_to_int(int)     int.to_int     end</div><div class='add'>+  def mjit_uminus(int)     -int           end</div><div class='add'>+  def mjit_zero?(int)      int.zero?      end</div><div class='add'>+</div><div class='add'>+benchmark:</div><div class='add'>+  - mjit_abs(-1)</div><div class='add'>+  - mjit_bit_length(100)</div><div class='add'>+  - mjit_comp(1)</div><div class='add'>+  - mjit_even?(2)</div><div class='add'>+  - mjit_integer?(0)</div><div class='add'>+  - mjit_magnitude(-1)</div><div class='add'>+  - mjit_odd?(1)</div><div class='add'>+  - mjit_ord(1)</div><div class='add'>+  - mjit_to_i(1)</div><div class='add'>+  - mjit_to_int(1)</div><div class='add'>+  - mjit_uminus(1)</div><div class='add'>+  - mjit_zero?(0)</div><div class='add'>+</div><div class='add'>+loop_count: 40000000</div><div class='head'>diff --git a/benchmark/mjit_kernel.yml b/benchmark/mjit_kernel.yml<br/>new file mode 100644<br/>index 0000000000..7720e65c2c<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/mjit_kernel.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/mjit_kernel.yml</a></div><div class='hunk'>@@ -0,0 +1,20 @@</div><div class='add'>+type: lib/benchmark_driver/runner/mjit</div><div class='add'>+prelude: |</div><div class='add'>+  def mjit_class(obj)</div><div class='add'>+    obj.class</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def mjit_frozen?(obj)</div><div class='add'>+    obj.frozen?</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  str = ""</div><div class='add'>+  fstr = "".freeze</div><div class='add'>+</div><div class='add'>+benchmark:</div><div class='add'>+  - mjit_class(self)</div><div class='add'>+  - mjit_class(1)</div><div class='add'>+  - mjit_frozen?(str)</div><div class='add'>+  - mjit_frozen?(fstr)</div><div class='add'>+</div><div class='add'>+loop_count: 40000000</div><div class='head'>diff --git a/benchmark/mjit_leave.yml b/benchmark/mjit_leave.yml<br/>new file mode 100644<br/>index 0000000000..9ac68b164b<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/mjit_leave.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/mjit_leave.yml</a></div><div class='hunk'>@@ -0,0 +1,8 @@</div><div class='add'>+type: lib/benchmark_driver/runner/mjit</div><div class='add'>+prelude: |</div><div class='add'>+  def leave</div><div class='add'>+    nil</div><div class='add'>+  end</div><div class='add'>+benchmark:</div><div class='add'>+  mjit_leave: leave</div><div class='add'>+loop_count: 200000000</div><div class='head'>diff --git a/benchmark/mjit_opt_cc_insns.yml b/benchmark/mjit_opt_cc_insns.yml<br/>new file mode 100644<br/>index 0000000000..fed6d34bd5<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/mjit_opt_cc_insns.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/mjit_opt_cc_insns.yml</a></div><div class='hunk'>@@ -0,0 +1,27 @@</div><div class='add'>+# opt_* insns using vm_method_cfunc_is with send-compatible operands:</div><div class='add'>+#   * opt_nil_p</div><div class='add'>+#   * opt_not</div><div class='add'>+#   * opt_eq</div><div class='add'>+type: lib/benchmark_driver/runner/mjit</div><div class='add'>+prelude: |</div><div class='add'>+  def mjit_nil?(obj)</div><div class='add'>+    obj.nil?</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def mjit_not(obj)</div><div class='add'>+    !obj</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def mjit_eq(a, b)</div><div class='add'>+    a == b</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+benchmark:</div><div class='add'>+  - script: mjit_nil?(1)</div><div class='add'>+    loop_count: 40000000</div><div class='add'>+  - script: mjit_not(1)</div><div class='add'>+    loop_count: 40000000</div><div class='add'>+  - script: mjit_eq(1, nil)</div><div class='add'>+    loop_count: 8000000</div><div class='add'>+  - script: mjit_eq(nil, 1)</div><div class='add'>+    loop_count: 8000000</div><div class='head'>diff --git a/benchmark/mjit_struct_aref.yml b/benchmark/mjit_struct_aref.yml<br/>new file mode 100644<br/>index 0000000000..bfba1323f2<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/mjit_struct_aref.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/mjit_struct_aref.yml</a></div><div class='hunk'>@@ -0,0 +1,10 @@</div><div class='add'>+type: lib/benchmark_driver/runner/mjit</div><div class='add'>+prelude: |</div><div class='add'>+  def mjit_struct_aref(struct)</div><div class='add'>+    struct.aa</div><div class='add'>+  end</div><div class='add'>+  struct = Struct.new(:a0, :a1, :a2, :a3, :a4, :a5, :a6, :a7, :a8, :a9, :aa).new</div><div class='add'>+</div><div class='add'>+benchmark: mjit_struct_aref(struct)</div><div class='add'>+</div><div class='add'>+loop_count: 40000000</div><div class='head'>diff --git a/benchmark/nil_p.yml b/benchmark/nil_p.yml<br/>new file mode 100644<br/>index 0000000000..79ba4f2177<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/nil_p.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/nil_p.yml</a></div><div class='hunk'>@@ -0,0 +1,9 @@</div><div class='add'>+prelude: |</div><div class='add'>+  class Niller; def nil?; true; end; end</div><div class='add'>+  xnil, notnil = nil, Object.new</div><div class='add'>+  niller = Niller.new</div><div class='add'>+benchmark:</div><div class='add'>+  - xnil.nil?</div><div class='add'>+  - notnil.nil?</div><div class='add'>+  - niller.nil?</div><div class='add'>+loop_count: 10000000</div><div class='head'>diff --git a/benchmark/num_zero_p.yml b/benchmark/num_zero_p.yml<br/>new file mode 100644<br/>index 0000000000..2195963433<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/num_zero_p.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/num_zero_p.yml</a></div><div class='hunk'>@@ -0,0 +1,8 @@</div><div class='add'>+benchmark:</div><div class='add'>+  - 0.zero?</div><div class='add'>+  - 1.zero?</div><div class='add'>+  - 0r.zero?</div><div class='add'>+  - 1r.zero?</div><div class='add'>+  - 0i.zero?</div><div class='add'>+  - 1i.zero?</div><div class='add'>+loop_count: 50000000</div><div class='head'>diff --git a/benchmark/object_allocate.yml b/benchmark/object_allocate.yml<br/>new file mode 100644<br/>index 0000000000..93ff463e41<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/object_allocate.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/object_allocate.yml</a></div><div class='hunk'>@@ -0,0 +1,21 @@</div><div class='add'>+prelude: |</div><div class='add'>+  class Eight</div><div class='add'>+    8.times { include(Module.new) }</div><div class='add'>+  end</div><div class='add'>+  class ThirtyTwo</div><div class='add'>+    32.times { include(Module.new) }</div><div class='add'>+  end</div><div class='add'>+  class SixtyFour</div><div class='add'>+    64.times { include(Module.new) }</div><div class='add'>+  end</div><div class='add'>+  class OneTwentyEight</div><div class='add'>+    128.times { include(Module.new) }</div><div class='add'>+  end</div><div class='add'>+  # Disable GC to see raw throughput:</div><div class='add'>+  GC.disable</div><div class='add'>+benchmark:</div><div class='add'>+  allocate_8_deep: Eight.new</div><div class='add'>+  allocate_32_deep: ThirtyTwo.new</div><div class='add'>+  allocate_64_deep: SixtyFour.new</div><div class='add'>+  allocate_128_deep: OneTwentyEight.new</div><div class='add'>+loop_count: 100000</div><div class='head'>diff --git a/benchmark/objspace_dump_all.yml b/benchmark/objspace_dump_all.yml<br/>new file mode 100644<br/>index 0000000000..ebab562d2e<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/objspace_dump_all.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/objspace_dump_all.yml</a></div><div class='hunk'>@@ -0,0 +1,13 @@</div><div class='add'>+prelude: |</div><div class='add'>+  require 'objspace'</div><div class='add'>+  require 'tempfile'</div><div class='add'>+  $objs = 1_000.times.map { Object.new }</div><div class='add'>+  $strings = 1_000.times.map { |i| "string #{i}" }</div><div class='add'>+  $file = Tempfile.new('heap')</div><div class='add'>+  $dev_null = File.open(File::NULL, 'w+')</div><div class='add'>+</div><div class='add'>+benchmark:</div><div class='add'>+  dump_all_string: "ObjectSpace.dump_all(output: :string)"</div><div class='add'>+  dump_all_file: "ObjectSpace.dump_all(output: $file)"</div><div class='add'>+  dump_all_dev_null: "ObjectSpace.dump_all(output: $dev_null)"</div><div class='add'>+loop_count: 1</div><div class='head'>diff --git a/benchmark/other-lang/ack.pl b/benchmark/other-lang/ack.pl<br/>new file mode 100644<br/>index 0000000000..201e22ddfa<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/other-lang/ack.pl?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/other-lang/ack.pl</a></div><div class='hunk'>@@ -0,0 +1,11 @@</div><div class='add'>+use integer;</div><div class='add'>+</div><div class='add'>+sub Ack {</div><div class='add'>+    return $_[0] ? ($_[1] ? Ack($_[0]-1, Ack($_[0], $_[1]-1))</div><div class='add'>+		    : Ack($_[0]-1, 1))</div><div class='add'>+	: $_[1]+1;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+my $NUM = 9;</div><div class='add'>+$NUM = 1 if ($NUM &lt; 1);</div><div class='add'>+my $ack = Ack(3, $NUM);</div><div class='head'>diff --git a/benchmark/other-lang/ack.py b/benchmark/other-lang/ack.py<br/>new file mode 100644<br/>index 0000000000..9968e7cfcf<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/other-lang/ack.py?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/other-lang/ack.py</a></div><div class='hunk'>@@ -0,0 +1,16 @@</div><div class='add'>+import sys</div><div class='add'>+sys.setrecursionlimit(5000000)</div><div class='add'>+</div><div class='add'>+def Ack(M, N):</div><div class='add'>+    if (not M):</div><div class='add'>+        return( N + 1 )</div><div class='add'>+    if (not N):</div><div class='add'>+        return( Ack(M-1, 1) )</div><div class='add'>+    return( Ack(M-1, Ack(M, N-1)) )</div><div class='add'>+</div><div class='add'>+def main():</div><div class='add'>+    NUM = 9</div><div class='add'>+    sys.setrecursionlimit(10000)</div><div class='add'>+    Ack(3, NUM)</div><div class='add'>+</div><div class='add'>+main()</div><div class='head'>diff --git a/benchmark/other-lang/ack.rb b/benchmark/other-lang/ack.rb<br/>new file mode 100644<br/>index 0000000000..7451bed6c4<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/other-lang/ack.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/other-lang/ack.rb</a></div><div class='hunk'>@@ -0,0 +1,12 @@</div><div class='add'>+def ack(m, n)</div><div class='add'>+    if m == 0 then</div><div class='add'>+        n + 1</div><div class='add'>+    elsif n == 0 then</div><div class='add'>+        ack(m - 1, 1)</div><div class='add'>+    else</div><div class='add'>+        ack(m - 1, ack(m, n - 1))</div><div class='add'>+    end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+NUM = 9</div><div class='add'>+ack(3, NUM)</div><div class='head'>diff --git a/benchmark/other-lang/ack.scm b/benchmark/other-lang/ack.scm<br/>new file mode 100644<br/>index 0000000000..a80b73ba55<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/other-lang/ack.scm?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/other-lang/ack.scm</a></div><div class='hunk'>@@ -0,0 +1,7 @@</div><div class='add'>+(define (ack m n)</div><div class='add'>+  (cond ((zero? m) (+ n 1))</div><div class='add'>+	((zero? n) (ack (- m 1) 1))</div><div class='add'>+	(else      (ack (- m 1) (ack m (- n 1))))))</div><div class='add'>+</div><div class='add'>+(ack 3 9)</div><div class='add'>+</div><div class='head'>diff --git a/benchmark/other-lang/eval.rb b/benchmark/other-lang/eval.rb<br/>new file mode 100644<br/>index 0000000000..48a2cea019<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/other-lang/eval.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/other-lang/eval.rb</a></div><div class='hunk'>@@ -0,0 +1,66 @@</div><div class='add'>+</div><div class='add'>+Bench = %w(</div><div class='add'>+  loop</div><div class='add'>+  ack</div><div class='add'>+  fib</div><div class='add'>+  tak</div><div class='add'>+  fact</div><div class='add'>+)</div><div class='add'>+</div><div class='add'>+Lang = &lt;&lt;EOP.map{|l| l.strip}</div><div class='add'>+  ruby-cyg</div><div class='add'>+  ../../../test6/miniruby</div><div class='add'>+  perl</div><div class='add'>+  python</div><div class='add'>+  gosh</div><div class='add'>+EOP</div><div class='add'>+</div><div class='add'>+Bench.replace ['loop2']</div><div class='add'>+Lang.replace ['ruby-cyg']</div><div class='add'>+</div><div class='add'>+Ext = %w(</div><div class='add'>+  .rb</div><div class='add'>+  .rb</div><div class='add'>+  .pl</div><div class='add'>+  .py</div><div class='add'>+  .scm</div><div class='add'>+)</div><div class='add'>+</div><div class='add'>+p Bench</div><div class='add'>+p Lang</div><div class='add'>+</div><div class='add'>+require 'benchmark'</div><div class='add'>+</div><div class='add'>+def bench cmd</div><div class='add'>+  m = Benchmark.measure{</div><div class='add'>+    #p cmd</div><div class='add'>+    system(cmd)</div><div class='add'>+  }</div><div class='add'>+  [m.utime, m.real]</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+Result = []</div><div class='add'>+Bench.each{|b|</div><div class='add'>+  r = []</div><div class='add'>+  Lang.each_with_index{|l, idx|</div><div class='add'>+    cmd = "#{l} #{b}#{Ext[idx]}"</div><div class='add'>+    r &lt;&lt; bench(cmd)</div><div class='add'>+  }</div><div class='add'>+  Result &lt;&lt; r</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+require 'pp'</div><div class='add'>+# utime</div><div class='add'>+puts Lang.join("\t")</div><div class='add'>+Bench.each_with_index{|b, bi|</div><div class='add'>+  print b, "\t"</div><div class='add'>+  puts Result[bi].map{|e| e[0]}.join("\t")</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# rtime</div><div class='add'>+puts Lang.join("\t")</div><div class='add'>+Bench.each_with_index{|b, bi|</div><div class='add'>+  print b, "\t"</div><div class='add'>+  puts Result[bi].map{|e| e[1]}.join("\t")</div><div class='add'>+}</div><div class='add'>+</div><div class='head'>diff --git a/benchmark/other-lang/fact.pl b/benchmark/other-lang/fact.pl<br/>new file mode 100644<br/>index 0000000000..a9b0b69cdf<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/other-lang/fact.pl?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/other-lang/fact.pl</a></div><div class='hunk'>@@ -0,0 +1,13 @@</div><div class='add'>+sub fact{</div><div class='add'>+  my $n = @_[0];</div><div class='add'>+  if($n &lt; 2){</div><div class='add'>+    return 1;</div><div class='add'>+  }</div><div class='add'>+  else{</div><div class='add'>+    return $n * fact($n-1);</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+for($i=0; $i&lt;10000; $i++){</div><div class='add'>+  &amp;fact(100);</div><div class='add'>+}</div><div class='head'>diff --git a/benchmark/other-lang/fact.py b/benchmark/other-lang/fact.py<br/>new file mode 100644<br/>index 0000000000..1ce9f76275<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/other-lang/fact.py?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/other-lang/fact.py</a></div><div class='hunk'>@@ -0,0 +1,18 @@</div><div class='add'>+#import sys</div><div class='add'>+#sys.setrecursionlimit(1000)</div><div class='add'>+</div><div class='add'>+def factL(n):</div><div class='add'>+	r = 1</div><div class='add'>+	for x in range(2, n+1):</div><div class='add'>+		r *= x</div><div class='add'>+	return r</div><div class='add'>+</div><div class='add'>+def factR(n):</div><div class='add'>+	if n &lt; 2:</div><div class='add'>+		return 1</div><div class='add'>+	else:</div><div class='add'>+		return n * factR(n-1)</div><div class='add'>+</div><div class='add'>+for i in range(10000):</div><div class='add'>+	factR(100)</div><div class='add'>+</div><div class='head'>diff --git a/benchmark/other-lang/fact.rb b/benchmark/other-lang/fact.rb<br/>new file mode 100644<br/>index 0000000000..6cedc752cd<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/other-lang/fact.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/other-lang/fact.rb</a></div><div class='hunk'>@@ -0,0 +1,13 @@</div><div class='add'>+def fact(n)</div><div class='add'>+  if n &lt; 2</div><div class='add'>+    1</div><div class='add'>+  else</div><div class='add'>+    n * fact(n-1)</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+i = 0</div><div class='add'>+while i&lt;10000</div><div class='add'>+  i += 1</div><div class='add'>+  fact(100)</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/other-lang/fact.scm b/benchmark/other-lang/fact.scm<br/>new file mode 100644<br/>index 0000000000..c98a7fedd3<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/other-lang/fact.scm?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/other-lang/fact.scm</a></div><div class='hunk'>@@ -0,0 +1,8 @@</div><div class='add'>+(define (fact n)</div><div class='add'>+        (if (&lt; n 2)</div><div class='add'>+            1</div><div class='add'>+          (* n (fact (- n 1)))))</div><div class='add'>+</div><div class='add'>+(dotimes (i 10000)</div><div class='add'>+  (fact 100))</div><div class='add'>+</div><div class='head'>diff --git a/benchmark/other-lang/fib.pl b/benchmark/other-lang/fib.pl<br/>new file mode 100644<br/>index 0000000000..a46f666d1e<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/other-lang/fib.pl?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/other-lang/fib.pl</a></div><div class='hunk'>@@ -0,0 +1,11 @@</div><div class='add'>+sub fib{</div><div class='add'>+  my $n = $_[0];</div><div class='add'>+  if($n &lt; 3){</div><div class='add'>+    return 1;</div><div class='add'>+  }</div><div class='add'>+  else{</div><div class='add'>+    return fib($n-1) + fib($n-2);</div><div class='add'>+  }</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+&amp;fib(34);</div><div class='head'>diff --git a/benchmark/other-lang/fib.py b/benchmark/other-lang/fib.py<br/>new file mode 100644<br/>index 0000000000..45f2bceb8d<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/other-lang/fib.py?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/other-lang/fib.py</a></div><div class='hunk'>@@ -0,0 +1,7 @@</div><div class='add'>+def fib(n):</div><div class='add'>+  if n &lt; 3:</div><div class='add'>+    return 1</div><div class='add'>+  else:</div><div class='add'>+    return fib(n-1) + fib(n-2)</div><div class='add'>+</div><div class='add'>+fib(34)</div><div class='head'>diff --git a/benchmark/other-lang/fib.rb b/benchmark/other-lang/fib.rb<br/>new file mode 100644<br/>index 0000000000..ec587eabe0<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/other-lang/fib.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/other-lang/fib.rb</a></div><div class='hunk'>@@ -0,0 +1,9 @@</div><div class='add'>+def fib n</div><div class='add'>+  if n &lt; 3</div><div class='add'>+    1</div><div class='add'>+  else</div><div class='add'>+    fib(n-1) + fib(n-2)</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+fib(34)</div><div class='head'>diff --git a/benchmark/other-lang/fib.scm b/benchmark/other-lang/fib.scm<br/>new file mode 100644<br/>index 0000000000..2fc4e225bd<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/other-lang/fib.scm?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/other-lang/fib.scm</a></div><div class='hunk'>@@ -0,0 +1,7 @@</div><div class='add'>+(define (fib n)</div><div class='add'>+        (if (&lt; n 3)</div><div class='add'>+            1</div><div class='add'>+          (+ (fib (- n 1)) (fib (- n 2)))))</div><div class='add'>+</div><div class='add'>+(fib 34)</div><div class='add'>+</div><div class='head'>diff --git a/benchmark/other-lang/loop.pl b/benchmark/other-lang/loop.pl<br/>new file mode 100644<br/>index 0000000000..2777490aaa<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/other-lang/loop.pl?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/other-lang/loop.pl</a></div><div class='hunk'>@@ -0,0 +1,3 @@</div><div class='add'>+for($i=0; $i&lt;30000000; $i++){</div><div class='add'>+}</div><div class='add'>+</div><div class='head'>diff --git a/benchmark/other-lang/loop.py b/benchmark/other-lang/loop.py<br/>new file mode 100644<br/>index 0000000000..003749bf3a<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/other-lang/loop.py?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/other-lang/loop.py</a></div><div class='hunk'>@@ -0,0 +1,2 @@</div><div class='add'>+for i in xrange(30000000):</div><div class='add'>+	pass</div><div class='head'>diff --git a/benchmark/other-lang/loop.rb b/benchmark/other-lang/loop.rb<br/>new file mode 100644<br/>index 0000000000..b367b9dbf3<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/other-lang/loop.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/other-lang/loop.rb</a></div><div class='hunk'>@@ -0,0 +1,4 @@</div><div class='add'>+i = 0</div><div class='add'>+while i&lt;30000000</div><div class='add'>+  i += 1</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/other-lang/loop.scm b/benchmark/other-lang/loop.scm<br/>new file mode 100644<br/>index 0000000000..3364f7e679<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/other-lang/loop.scm?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/other-lang/loop.scm</a></div><div class='hunk'>@@ -0,0 +1 @@</div><div class='add'>+(dotimes (x 30000000))</div><div class='head'>diff --git a/benchmark/other-lang/loop2.rb b/benchmark/other-lang/loop2.rb<br/>new file mode 100644<br/>index 0000000000..df8fffc1ff<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/other-lang/loop2.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/other-lang/loop2.rb</a></div><div class='hunk'>@@ -0,0 +1 @@</div><div class='add'>+30000000.times{}</div><div class='head'>diff --git a/benchmark/other-lang/tak.pl b/benchmark/other-lang/tak.pl<br/>new file mode 100644<br/>index 0000000000..7e748a67c6<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/other-lang/tak.pl?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/other-lang/tak.pl</a></div><div class='hunk'>@@ -0,0 +1,11 @@</div><div class='add'>+sub tak {</div><div class='add'>+    local($x, $y, $z) = @_;</div><div class='add'>+    if (!($y &lt; $x)) {</div><div class='add'>+	return $z;</div><div class='add'>+    } else {</div><div class='add'>+	return &amp;tak(&amp;tak($x - 1, $y, $z),</div><div class='add'>+		    &amp;tak($y - 1, $z, $x),</div><div class='add'>+		    &amp;tak($z - 1, $x, $y));</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+&amp;tak(18, 9, 0);</div><div class='head'>diff --git a/benchmark/other-lang/tak.py b/benchmark/other-lang/tak.py<br/>new file mode 100644<br/>index 0000000000..04f3f6829c<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/other-lang/tak.py?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/other-lang/tak.py</a></div><div class='hunk'>@@ -0,0 +1,8 @@</div><div class='add'>+def tak(x, y, z):</div><div class='add'>+	if not(y&lt;x):</div><div class='add'>+		return z</div><div class='add'>+	else:</div><div class='add'>+		return tak(tak(x-1, y, z),</div><div class='add'>+		           tak(y-1, z, x),</div><div class='add'>+		           tak(z-1, x, y))</div><div class='add'>+tak(18, 9, 0)</div><div class='head'>diff --git a/benchmark/other-lang/tak.rb b/benchmark/other-lang/tak.rb<br/>new file mode 100644<br/>index 0000000000..efe5380f4e<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/other-lang/tak.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/other-lang/tak.rb</a></div><div class='hunk'>@@ -0,0 +1,13 @@</div><div class='add'>+</div><div class='add'>+def tak x, y, z</div><div class='add'>+  unless y &lt; x</div><div class='add'>+    z</div><div class='add'>+  else</div><div class='add'>+    tak( tak(x-1, y, z),</div><div class='add'>+         tak(y-1, z, x),</div><div class='add'>+         tak(z-1, x, y))</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+tak(18, 9, 0)</div><div class='add'>+</div><div class='head'>diff --git a/benchmark/other-lang/tak.scm b/benchmark/other-lang/tak.scm<br/>new file mode 100644<br/>index 0000000000..52a7629ee5<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/other-lang/tak.scm?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/other-lang/tak.scm</a></div><div class='hunk'>@@ -0,0 +1,10 @@</div><div class='add'>+(define (tak x y z)</div><div class='add'>+        (if (not (&lt; y x))</div><div class='add'>+            z</div><div class='add'>+          (tak (tak (- x 1) y z)</div><div class='add'>+               (tak (- y 1) z x)</div><div class='add'>+               (tak (- z 1) x y))))</div><div class='add'>+</div><div class='add'>+(tak 18 9 0)</div><div class='add'>+</div><div class='add'>+</div><div class='head'>diff --git a/benchmark/pm_array.yml b/benchmark/pm_array.yml<br/>new file mode 100644<br/>index 0000000000..babb65a289<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/pm_array.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/pm_array.yml</a></div><div class='hunk'>@@ -0,0 +1,19 @@</div><div class='add'>+prelude: |</div><div class='add'>+  def call(*val)</div><div class='add'>+    case val</div><div class='add'>+      in [String =&gt; body]</div><div class='add'>+        [200, {}, [body]]</div><div class='add'>+      in [Integer =&gt; status]</div><div class='add'>+        [status, {}, [""]]</div><div class='add'>+      in [Integer, String] =&gt; response</div><div class='add'>+        [response[0], {}, [response[1]]]</div><div class='add'>+      in [Integer, Hash, String] =&gt; response</div><div class='add'>+        [response[0], response[1], [response[2]]]</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+benchmark:</div><div class='add'>+  first_match: call("ok")</div><div class='add'>+  second_match: call(401)</div><div class='add'>+  third_match: call(200, "ok")</div><div class='add'>+  fourth_match: call(201, {}, "created")</div><div class='head'>diff --git a/benchmark/range_last.yml b/benchmark/range_last.yml<br/>new file mode 100644<br/>index 0000000000..a6674f82ee<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/range_last.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/range_last.yml</a></div><div class='hunk'>@@ -0,0 +1,4 @@</div><div class='add'>+benchmark:</div><div class='add'>+  - (1..1_000_000).last(100)</div><div class='add'>+  - (1..1_000_000).last(1000)</div><div class='add'>+  - (1..1_000_000).last(10000)</div><div class='head'>diff --git a/benchmark/realpath.yml b/benchmark/realpath.yml<br/>new file mode 100644<br/>index 0000000000..90a029d5b9<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/realpath.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/realpath.yml</a></div><div class='hunk'>@@ -0,0 +1,30 @@</div><div class='add'>+prelude: |</div><div class='add'>+  f = File</div><div class='add'>+  pwd = Dir.pwd</div><div class='add'>+  Dir.mkdir('b') unless f.directory?('b')</div><div class='add'>+  f.write('b/a', '') unless f.file?('b/a')</div><div class='add'>+</div><div class='add'>+  relative = 'b/a'</div><div class='add'>+  absolute = File.join(pwd, relative)</div><div class='add'>+  dir = 'b'</div><div class='add'>+  file = 'a'</div><div class='add'>+</div><div class='add'>+  relative_dir = 'b/c'</div><div class='add'>+  absolute_dir = File.join(pwd, relative_dir)</div><div class='add'>+  file_dir = 'c'</div><div class='add'>+benchmark:</div><div class='add'>+  relative_nil: "f.realpath(relative, nil)"</div><div class='add'>+  absolute_nil: "f.realpath(absolute, nil)"</div><div class='add'>+  relative_relative: "f.realpath(file, dir)"</div><div class='add'>+  absolute_relative: "f.realpath(absolute, dir)"</div><div class='add'>+  relative_absolute: "f.realpath(relative, pwd)"</div><div class='add'>+  relative_nil_dir: "f.realdirpath(relative_dir, nil)"</div><div class='add'>+  absolute_nil_dir: "f.realdirpath(absolute_dir, nil)"</div><div class='add'>+  relative_relative_dir: "f.realdirpath(file_dir, dir)"</div><div class='add'>+  absolute_relative_dir: "f.realdirpath(absolute_dir, dir)"</div><div class='add'>+  relative_absolute_dir: "f.realdirpath(relative_dir, pwd)"</div><div class='add'>+  relative_nil_notexist: "f.realpath(relative_dir, nil) rescue nil"</div><div class='add'>+  absolute_nil_notexist: "f.realpath(absolute_dir, nil) rescue nil"</div><div class='add'>+  relative_relative_notexist: "f.realpath(file_dir, dir) rescue nil"</div><div class='add'>+  absolute_relative_notexist: "f.realpath(absolute_dir, dir) rescue nil"</div><div class='add'>+  relative_absolute_notexist: "f.realpath(relative_dir, pwd) rescue nil"</div><div class='head'>diff --git a/benchmark/require.yml b/benchmark/require.yml<br/>new file mode 100644<br/>index 0000000000..09f218cf08<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/require.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/require.yml</a></div><div class='hunk'>@@ -0,0 +1,32 @@</div><div class='add'>+prelude: |</div><div class='add'>+  require "fileutils"</div><div class='add'>+</div><div class='add'>+  def prepare</div><div class='add'>+    num_files = 10000</div><div class='add'>+</div><div class='add'>+    basename = File.dirname($0)</div><div class='add'>+    data_dir = File.join(basename, "bm_require.data")</div><div class='add'>+</div><div class='add'>+    # skip if all of files exists</div><div class='add'>+    if File.exist?(File.join(data_dir, "c#{num_files}.rb"))</div><div class='add'>+      return</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    FileUtils.mkdir_p(data_dir)</div><div class='add'>+</div><div class='add'>+    1.upto(num_files) do |i|</div><div class='add'>+      File.write("#{data_dir}/c#{i}.rb", "class C#{i}\n""end\n")</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  prepare</div><div class='add'>+benchmark:</div><div class='add'>+  require: |</div><div class='add'>+    $:.push File.join(File.dirname(__FILE__), "bm_require.data")</div><div class='add'>+</div><div class='add'>+    1.upto(10000) do |i|</div><div class='add'>+      require "c#{i}"</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    $:.pop</div><div class='add'>+loop_count: 1</div><div class='head'>diff --git a/benchmark/require_thread.yml b/benchmark/require_thread.yml<br/>new file mode 100644<br/>index 0000000000..0c63257106<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/require_thread.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/require_thread.yml</a></div><div class='hunk'>@@ -0,0 +1,40 @@</div><div class='add'>+prelude: |</div><div class='add'>+  require "fileutils"</div><div class='add'>+</div><div class='add'>+  def prepare</div><div class='add'>+    num_files = 10000</div><div class='add'>+</div><div class='add'>+    basename = File.dirname($0)</div><div class='add'>+    data_dir = File.join(basename, "bm_require.data")</div><div class='add'>+</div><div class='add'>+    # skip if all of files exists</div><div class='add'>+    if File.exist?(File.join(data_dir, "c#{num_files}.rb"))</div><div class='add'>+      return</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    FileUtils.mkdir_p(data_dir)</div><div class='add'>+</div><div class='add'>+    1.upto(num_files) do |i|</div><div class='add'>+      File.write("#{data_dir}/c#{i}.rb", "class C#{i}\n""end\n")</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  prepare</div><div class='add'>+benchmark:</div><div class='add'>+  require_thread: |</div><div class='add'>+    $:.push File.join(File.dirname(__FILE__), "bm_require.data")</div><div class='add'>+</div><div class='add'>+    i=0</div><div class='add'>+    t = Thread.new do</div><div class='add'>+      while true</div><div class='add'>+        i = i+1 # dummy loop</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    1.upto(100) do |i|</div><div class='add'>+      require "c#{i}"</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    $:.pop</div><div class='add'>+    t.kill</div><div class='add'>+loop_count: 1</div><div class='head'>diff --git a/benchmark/securerandom.rb b/benchmark/securerandom.rb<br/>new file mode 100644<br/>index 0000000000..a082ea6d5b<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/securerandom.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/securerandom.rb</a></div><div class='hunk'>@@ -0,0 +1,5 @@</div><div class='add'>+require "securerandom"</div><div class='add'>+</div><div class='add'>+20_0000.times do</div><div class='add'>+  SecureRandom.random_number(100)</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/so_ackermann.rb b/benchmark/so_ackermann.rb<br/>new file mode 100644<br/>index 0000000000..4effa1ecaf<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/so_ackermann.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/so_ackermann.rb</a></div><div class='hunk'>@@ -0,0 +1,19 @@</div><div class='add'>+#!/usr/bin/ruby</div><div class='add'>+# -*- Ruby -*-</div><div class='add'>+# $Id: ackermann-ruby.code,v 1.4 2004/11/13 07:40:41 bfulgham Exp $</div><div class='add'>+# http://www.bagley.org/~doug/shootout/</div><div class='add'>+</div><div class='add'>+def ack(m, n)</div><div class='add'>+    if m == 0 then</div><div class='add'>+        n + 1</div><div class='add'>+    elsif n == 0 then</div><div class='add'>+        ack(m - 1, 1)</div><div class='add'>+    else</div><div class='add'>+        ack(m - 1, ack(m, n - 1))</div><div class='add'>+    end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+NUM = 9</div><div class='add'>+ack(3, NUM)</div><div class='add'>+</div><div class='add'>+</div><div class='head'>diff --git a/benchmark/so_array.rb b/benchmark/so_array.rb<br/>new file mode 100644<br/>index 0000000000..767e03db5f<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/so_array.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/so_array.rb</a></div><div class='hunk'>@@ -0,0 +1,23 @@</div><div class='add'>+#!/usr/bin/ruby</div><div class='add'>+# -*- Ruby -*-</div><div class='add'>+# $Id: ary-ruby.code,v 1.4 2004/11/13 07:41:27 bfulgham Exp $</div><div class='add'>+# http://www.bagley.org/~doug/shootout/</div><div class='add'>+# with help from Paul Brannan and Mark Hubbart</div><div class='add'>+</div><div class='add'>+n = 9000 # Integer(ARGV.shift || 1)</div><div class='add'>+</div><div class='add'>+x = Array.new(n)</div><div class='add'>+y = Array.new(n, 0)</div><div class='add'>+</div><div class='add'>+n.times{|bi|</div><div class='add'>+  x[bi] = bi + 1</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+(0 .. 999).each do |e|</div><div class='add'>+  (n-1).step(0,-1) do |bi|</div><div class='add'>+    y[bi] += x.at(bi)</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+# puts "#{y.first} #{y.last}"</div><div class='add'>+</div><div class='add'>+</div><div class='head'>diff --git a/benchmark/so_binary_trees.rb b/benchmark/so_binary_trees.rb<br/>new file mode 100644<br/>index 0000000000..b1693e4109<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/so_binary_trees.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/so_binary_trees.rb</a></div><div class='hunk'>@@ -0,0 +1,62 @@</div><div class='add'>+# The Computer Language Shootout Benchmarks</div><div class='add'>+# http://shootout.alioth.debian.org</div><div class='add'>+#</div><div class='add'>+# contributed by Jesse Millikan</div><div class='add'>+</div><div class='add'>+# disable output</div><div class='add'>+alias puts_orig puts</div><div class='add'>+def puts str</div><div class='add'>+  # disable puts</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def item_check(tree)</div><div class='add'>+ if tree[0] == nil</div><div class='add'>+  tree[1]</div><div class='add'>+ else</div><div class='add'>+  tree[1] + item_check(tree[0]) - item_check(tree[2])</div><div class='add'>+ end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def bottom_up_tree(item, depth)</div><div class='add'>+ if depth &gt; 0</div><div class='add'>+  item_item = 2 * item</div><div class='add'>+  depth -= 1</div><div class='add'>+  [bottom_up_tree(item_item - 1, depth), item, bottom_up_tree(item_item, depth)]</div><div class='add'>+ else</div><div class='add'>+  [nil, item, nil]</div><div class='add'>+ end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+max_depth = 16 # ARGV[0].to_i</div><div class='add'>+min_depth = 4</div><div class='add'>+</div><div class='add'>+max_depth = min_depth + 2 if min_depth + 2 &gt; max_depth</div><div class='add'>+</div><div class='add'>+stretch_depth = max_depth + 1</div><div class='add'>+stretch_tree = bottom_up_tree(0, stretch_depth)</div><div class='add'>+</div><div class='add'>+puts "stretch tree of depth #{stretch_depth}\t check: #{item_check(stretch_tree)}"</div><div class='add'>+stretch_tree = nil</div><div class='add'>+</div><div class='add'>+long_lived_tree = bottom_up_tree(0, max_depth)</div><div class='add'>+</div><div class='add'>+min_depth.step(max_depth + 1, 2) do |depth|</div><div class='add'>+ iterations = 2**(max_depth - depth + min_depth)</div><div class='add'>+</div><div class='add'>+ check = 0</div><div class='add'>+</div><div class='add'>+ for i in 1..iterations</div><div class='add'>+  temp_tree = bottom_up_tree(i, depth)</div><div class='add'>+  check += item_check(temp_tree)</div><div class='add'>+</div><div class='add'>+  temp_tree = bottom_up_tree(-i, depth)</div><div class='add'>+  check += item_check(temp_tree)</div><div class='add'>+ end</div><div class='add'>+</div><div class='add'>+ puts "#{iterations * 2}\t trees of depth #{depth}\t check: #{check}"</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+puts "long lived tree of depth #{max_depth}\t check: #{item_check(long_lived_tree)}"</div><div class='add'>+</div><div class='add'>+undef puts</div><div class='add'>+alias puts puts_orig</div><div class='head'>diff --git a/benchmark/so_concatenate.rb b/benchmark/so_concatenate.rb<br/>new file mode 100644<br/>index 0000000000..4468e20ac8<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/so_concatenate.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/so_concatenate.rb</a></div><div class='hunk'>@@ -0,0 +1,18 @@</div><div class='add'>+#!/usr/bin/ruby</div><div class='add'>+# -*- Ruby -*-</div><div class='add'>+# $Id: strcat-ruby.code,v 1.4 2004/11/13 07:43:28 bfulgham Exp $</div><div class='add'>+# http://www.bagley.org/~doug/shootout/</div><div class='add'>+# based on code from Aristarkh A Zagorodnikov and Dat Nguyen</div><div class='add'>+</div><div class='add'>+STUFF = "hello\n"</div><div class='add'>+i = 0</div><div class='add'>+while i&lt;10</div><div class='add'>+  i += 1</div><div class='add'>+  hello = ''</div><div class='add'>+  4_000_000.times do |e|</div><div class='add'>+    hello &lt;&lt; STUFF</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+# puts hello.length</div><div class='add'>+</div><div class='add'>+</div><div class='head'>diff --git a/benchmark/so_count_words.yml b/benchmark/so_count_words.yml<br/>new file mode 100644<br/>index 0000000000..99683505f9<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/so_count_words.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/so_count_words.yml</a></div><div class='hunk'>@@ -0,0 +1,65 @@</div><div class='add'>+prelude: |</div><div class='add'>+  #!/usr/bin/ruby</div><div class='add'>+</div><div class='add'>+  wc_input_base = &lt;&lt;EOS</div><div class='add'>+  Subject:      Re: Who was Izchak Miller?</div><div class='add'>+  From:         "Jane D. Anonymous" &lt;nobody@yale.edu&gt;</div><div class='add'>+  Date:         1996/04/28</div><div class='add'>+  Message-Id:   &lt;4lv7bc$oh@news.ycc.yale.edu&gt;</div><div class='add'>+  References:   &lt;317C405E.5DFA@panix.com&gt; &lt;4lk6vl$gde@ns.oar.net&gt;</div><div class='add'>+  To:           75176.2330@compuserve.com</div><div class='add'>+  Content-Type: text/plain; charset=us-ascii</div><div class='add'>+  Organization: Yale University</div><div class='add'>+  X-Url:        news:4lk6vl$gde@ns.oar.net</div><div class='add'>+  Mime-Version: 1.0</div><div class='add'>+  Newsgroups:   rec.games.roguelike.nethack</div><div class='add'>+  X-Mailer:     Mozilla 1.1N (Macintosh; I; 68K)</div><div class='add'>+</div><div class='add'>+  Hello there, Izchak Miller was my father.  When I was younger I spent </div><div class='add'>+  many a night, hunched over the keyboard with a cup of tea, playing </div><div class='add'>+  nethack with him and my brother.  my dad was a philosopher with a strong </div><div class='add'>+  weakness for fantasy/sci fi.  I remember when he started to get involved </div><div class='add'>+  with the Nethack team- my brother's Dungeons and Dragons monster book </div><div class='add'>+  found a regular place beside my dad's desk. it's nice to see him living </div><div class='add'>+  on in the game he loved so much :-).  </div><div class='add'>+                                                                    Tamar Miller</div><div class='add'>+</div><div class='add'>+  The following is a really long word of 5000 characters:</div><div class='add'>+</div><div class='add'>+  wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww</div><div class='add'>+  EOS</div><div class='add'>+</div><div class='add'>+  # prepare 'wc.input'</div><div class='add'>+</div><div class='add'>+  def prepare_wc_input(wcbase)</div><div class='add'>+    wcinput = File.join(File.dirname($0), 'wc.input')</div><div class='add'>+    unless FileTest.exist?(wcinput)</div><div class='add'>+      data = wcbase.dup</div><div class='add'>+      13.times{</div><div class='add'>+        data &lt;&lt; data</div><div class='add'>+      }</div><div class='add'>+      open(wcinput, 'w'){|f| f.write data}</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  prepare_wc_input(wc_input_base)</div><div class='add'>+</div><div class='add'>+benchmark:</div><div class='add'>+  so_count_words: |</div><div class='add'>+    # $Id: wc-ruby.code,v 1.4 2004/11/13 07:43:32 bfulgham Exp $</div><div class='add'>+    # http://www.bagley.org/~doug/shootout/</div><div class='add'>+    # with help from Paul Brannan</div><div class='add'>+    input = open(File.join(File.dirname($0), 'wc.input'), 'rb')</div><div class='add'>+</div><div class='add'>+    nl = nw = nc = 0</div><div class='add'>+    while true</div><div class='add'>+      tmp = input.read(4096) or break</div><div class='add'>+      data = tmp &lt;&lt; (input.gets || "")</div><div class='add'>+      nc += data.length</div><div class='add'>+      nl += data.count("\n")</div><div class='add'>+      ((data.strip! || data).tr!("\n", " ") || data).squeeze!</div><div class='add'>+      nw += data.count(" ") + 1</div><div class='add'>+    end</div><div class='add'>+    # STDERR.puts "#{nl} #{nw} #{nc}"</div><div class='add'>+</div><div class='add'>+loop_count: 1</div><div class='head'>diff --git a/benchmark/so_exception.rb b/benchmark/so_exception.rb<br/>new file mode 100644<br/>index 0000000000..eb205b4df1<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/so_exception.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/so_exception.rb</a></div><div class='hunk'>@@ -0,0 +1,61 @@</div><div class='add'>+#!/usr/bin/ruby</div><div class='add'>+# -*- Ruby -*-</div><div class='add'>+# $Id: except-ruby.code,v 1.4 2004/11/13 07:41:33 bfulgham Exp $</div><div class='add'>+# http://www.bagley.org/~doug/shootout/</div><div class='add'>+</div><div class='add'>+$HI = 0</div><div class='add'>+$LO = 0</div><div class='add'>+NUM = 250000 # Integer(ARGV[0] || 1)</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+class Lo_Exception &lt; Exception</div><div class='add'>+  def initialize(num)</div><div class='add'>+    @value = num</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+class Hi_Exception &lt; Exception</div><div class='add'>+  def initialize(num)</div><div class='add'>+    @value = num</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def some_function(num)</div><div class='add'>+  begin</div><div class='add'>+    hi_function(num)</div><div class='add'>+  rescue</div><div class='add'>+    print "We shouldn't get here, exception is: #{$!.type}\n"</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def hi_function(num)</div><div class='add'>+  begin</div><div class='add'>+    lo_function(num)</div><div class='add'>+  rescue Hi_Exception</div><div class='add'>+    $HI = $HI + 1</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def lo_function(num)</div><div class='add'>+  begin</div><div class='add'>+    blowup(num)</div><div class='add'>+  rescue Lo_Exception</div><div class='add'>+    $LO = $LO + 1</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def blowup(num)</div><div class='add'>+  if num % 2 == 0</div><div class='add'>+    raise Lo_Exception.new(num)</div><div class='add'>+  else</div><div class='add'>+    raise Hi_Exception.new(num)</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+i = 1</div><div class='add'>+max = NUM+1</div><div class='add'>+while i &lt; max</div><div class='add'>+  i += 1</div><div class='add'>+  some_function(i+1)</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/so_fannkuch.rb b/benchmark/so_fannkuch.rb<br/>new file mode 100644<br/>index 0000000000..bac5ecd44c<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/so_fannkuch.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/so_fannkuch.rb</a></div><div class='hunk'>@@ -0,0 +1,45 @@</div><div class='add'>+# The Computer Language Shootout</div><div class='add'>+# http://shootout.alioth.debian.org/</div><div class='add'>+# Contributed by Sokolov Yura</div><div class='add'>+# Modified by Ryan Williams</div><div class='add'>+</div><div class='add'>+def fannkuch(n)</div><div class='add'>+   maxFlips, m, r, check = 0, n-1, n, 0</div><div class='add'>+   count = (1..n).to_a</div><div class='add'>+   perm = (1..n).to_a</div><div class='add'>+</div><div class='add'>+   while true</div><div class='add'>+      if check &lt; 30</div><div class='add'>+         puts "#{perm}"</div><div class='add'>+         check += 1</div><div class='add'>+      end</div><div class='add'>+</div><div class='add'>+      while r != 1</div><div class='add'>+         count[r-1] = r</div><div class='add'>+         r -= 1</div><div class='add'>+      end</div><div class='add'>+</div><div class='add'>+      if perm[0] != 1 and perm[m] != n</div><div class='add'>+         perml = perm.clone #.dup</div><div class='add'>+         flips = 0</div><div class='add'>+         while (k = perml.first ) != 1</div><div class='add'>+            perml = perml.slice!(0, k).reverse + perml</div><div class='add'>+            flips += 1</div><div class='add'>+         end</div><div class='add'>+         maxFlips = flips if flips &gt; maxFlips</div><div class='add'>+      end</div><div class='add'>+      while true</div><div class='add'>+         if r==n then return maxFlips end</div><div class='add'>+         perm.insert r,perm.shift</div><div class='add'>+         break if (count[r] -= 1) &gt; 0</div><div class='add'>+         r += 1</div><div class='add'>+      end</div><div class='add'>+   end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def puts *args</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+N = 9 # (ARGV[0] || 1).to_i</div><div class='add'>+puts "Pfannkuchen(#{N}) = #{fannkuch(N)}"</div><div class='add'>+</div><div class='head'>diff --git a/benchmark/so_fasta.rb b/benchmark/so_fasta.rb<br/>new file mode 100644<br/>index 0000000000..dcc6b39507<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/so_fasta.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/so_fasta.rb</a></div><div class='hunk'>@@ -0,0 +1,81 @@</div><div class='add'>+# The Computer Language Shootout</div><div class='add'>+# http://shootout.alioth.debian.org/</div><div class='add'>+# Contributed by Sokolov Yura</div><div class='add'>+</div><div class='add'>+$last = 42.0</div><div class='add'>+def gen_random(max, im=139968, ia=3877, ic=29573)</div><div class='add'>+    (max * ($last = ($last * ia + ic) % im)) / im</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+alu =</div><div class='add'>+   "GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG"+</div><div class='add'>+   "GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA"+</div><div class='add'>+   "CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT"+</div><div class='add'>+   "ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA"+</div><div class='add'>+   "GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG"+</div><div class='add'>+   "AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC"+</div><div class='add'>+   "AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA"</div><div class='add'>+</div><div class='add'>+iub = [</div><div class='add'>+    ["a", 0.27],</div><div class='add'>+    ["c", 0.12],</div><div class='add'>+    ["g", 0.12],</div><div class='add'>+    ["t", 0.27],</div><div class='add'>+</div><div class='add'>+    ["B", 0.02],</div><div class='add'>+    ["D", 0.02],</div><div class='add'>+    ["H", 0.02],</div><div class='add'>+    ["K", 0.02],</div><div class='add'>+    ["M", 0.02],</div><div class='add'>+    ["N", 0.02],</div><div class='add'>+    ["R", 0.02],</div><div class='add'>+    ["S", 0.02],</div><div class='add'>+    ["V", 0.02],</div><div class='add'>+    ["W", 0.02],</div><div class='add'>+    ["Y", 0.02],</div><div class='add'>+]</div><div class='add'>+homosapiens = [</div><div class='add'>+    ["a", 0.3029549426680],</div><div class='add'>+    ["c", 0.1979883004921],</div><div class='add'>+    ["g", 0.1975473066391],</div><div class='add'>+    ["t", 0.3015094502008],</div><div class='add'>+]</div><div class='add'>+</div><div class='add'>+def make_repeat_fasta(id, desc, src, n)</div><div class='add'>+    puts "&gt;#{id} #{desc}"</div><div class='add'>+    v = nil</div><div class='add'>+    width = 60</div><div class='add'>+    l = src.length</div><div class='add'>+    s = src * ((n / l) + 1)</div><div class='add'>+    s.slice!(n, l)</div><div class='add'>+    puts(s.scan(/.{1,#{width}}/).join("\n"))</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def make_random_fasta(id, desc, table, n)</div><div class='add'>+    puts "&gt;#{id} #{desc}"</div><div class='add'>+    rand, v = nil,nil</div><div class='add'>+    width = 60</div><div class='add'>+    chunk = 1 * width</div><div class='add'>+    prob = 0.0</div><div class='add'>+    table.each{|v| v[1]= (prob += v[1])}</div><div class='add'>+    for i in 1..(n/width)</div><div class='add'>+        puts((1..width).collect{</div><div class='add'>+            rand = gen_random(1.0)</div><div class='add'>+            table.find{|v| v[1]&gt;rand}[0]</div><div class='add'>+        }.join)</div><div class='add'>+    end</div><div class='add'>+    if n%width != 0</div><div class='add'>+        puts((1..(n%width)).collect{</div><div class='add'>+            rand = gen_random(1.0)</div><div class='add'>+            table.find{|v| v[1]&gt;rand}[0]</div><div class='add'>+        }.join)</div><div class='add'>+    end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+n = (ARGV[0] or 250_000).to_i</div><div class='add'>+</div><div class='add'>+make_repeat_fasta('ONE', 'Homo sapiens alu', alu, n*2)</div><div class='add'>+make_random_fasta('TWO', 'IUB ambiguity codes', iub, n*3)</div><div class='add'>+make_random_fasta('THREE', 'Homo sapiens frequency', homosapiens, n*5)</div><div class='add'>+</div><div class='head'>diff --git a/benchmark/so_k_nucleotide.yml b/benchmark/so_k_nucleotide.yml<br/>new file mode 100644<br/>index 0000000000..d7df086c39<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/so_k_nucleotide.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/so_k_nucleotide.yml</a></div><div class='hunk'>@@ -0,0 +1,155 @@</div><div class='add'>+prelude: |</div><div class='add'>+  bm_so_fasta = &lt;&lt;'EOS'</div><div class='add'>+  # The Computer Language Shootout</div><div class='add'>+  # http://shootout.alioth.debian.org/</div><div class='add'>+  # Contributed by Sokolov Yura</div><div class='add'>+</div><div class='add'>+  $last = 42.0</div><div class='add'>+  def gen_random(max, im=139968, ia=3877, ic=29573)</div><div class='add'>+      (max * ($last = ($last * ia + ic) % im)) / im</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  alu =</div><div class='add'>+     "GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG"+</div><div class='add'>+     "GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA"+</div><div class='add'>+     "CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT"+</div><div class='add'>+     "ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA"+</div><div class='add'>+     "GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG"+</div><div class='add'>+     "AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC"+</div><div class='add'>+     "AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA"</div><div class='add'>+</div><div class='add'>+  iub = [</div><div class='add'>+      ["a", 0.27],</div><div class='add'>+      ["c", 0.12],</div><div class='add'>+      ["g", 0.12],</div><div class='add'>+      ["t", 0.27],</div><div class='add'>+</div><div class='add'>+      ["B", 0.02],</div><div class='add'>+      ["D", 0.02],</div><div class='add'>+      ["H", 0.02],</div><div class='add'>+      ["K", 0.02],</div><div class='add'>+      ["M", 0.02],</div><div class='add'>+      ["N", 0.02],</div><div class='add'>+      ["R", 0.02],</div><div class='add'>+      ["S", 0.02],</div><div class='add'>+      ["V", 0.02],</div><div class='add'>+      ["W", 0.02],</div><div class='add'>+      ["Y", 0.02],</div><div class='add'>+  ]</div><div class='add'>+  homosapiens = [</div><div class='add'>+      ["a", 0.3029549426680],</div><div class='add'>+      ["c", 0.1979883004921],</div><div class='add'>+      ["g", 0.1975473066391],</div><div class='add'>+      ["t", 0.3015094502008],</div><div class='add'>+  ]</div><div class='add'>+</div><div class='add'>+  def make_repeat_fasta(id, desc, src, n)</div><div class='add'>+      puts "&gt;#{id} #{desc}"</div><div class='add'>+      v = nil</div><div class='add'>+      width = 60</div><div class='add'>+      l = src.length</div><div class='add'>+      s = src * ((n / l) + 1)</div><div class='add'>+      s.slice!(n, l)</div><div class='add'>+      puts(s.scan(/.{1,#{width}}/).join("\n"))</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def make_random_fasta(id, desc, table, n)</div><div class='add'>+      puts "&gt;#{id} #{desc}"</div><div class='add'>+      rand, v = nil,nil</div><div class='add'>+      width = 60</div><div class='add'>+      chunk = 1 * width</div><div class='add'>+      prob = 0.0</div><div class='add'>+      table.each{|v| v[1]= (prob += v[1])}</div><div class='add'>+      for i in 1..(n/width)</div><div class='add'>+          puts((1..width).collect{</div><div class='add'>+              rand = gen_random(1.0)</div><div class='add'>+              table.find{|v| v[1]&gt;rand}[0]</div><div class='add'>+          }.join)</div><div class='add'>+      end</div><div class='add'>+      if n%width != 0</div><div class='add'>+          puts((1..(n%width)).collect{</div><div class='add'>+              rand = gen_random(1.0)</div><div class='add'>+              table.find{|v| v[1]&gt;rand}[0]</div><div class='add'>+          }.join)</div><div class='add'>+      end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+  n = (ARGV[0] or 250_000).to_i</div><div class='add'>+</div><div class='add'>+  make_repeat_fasta('ONE', 'Homo sapiens alu', alu, n*2)</div><div class='add'>+  make_random_fasta('TWO', 'IUB ambiguity codes', iub, n*3)</div><div class='add'>+  make_random_fasta('THREE', 'Homo sapiens frequency', homosapiens, n*5)</div><div class='add'>+  EOS</div><div class='add'>+benchmark:</div><div class='add'>+  - name: so_k_nucleotide</div><div class='add'>+    prelude: |</div><div class='add'>+      script = File.join(File.dirname($0), 'bm_so_fasta.rb')</div><div class='add'>+      File.write(script, bm_so_fasta)</div><div class='add'>+</div><div class='add'>+      def prepare_fasta_output n</div><div class='add'>+        filebase = File.join(File.dirname($0), 'fasta.output')</div><div class='add'>+        script = File.join(File.dirname($0), 'bm_so_fasta.rb')</div><div class='add'>+        file = "#{filebase}.#{n}"</div><div class='add'>+</div><div class='add'>+        unless FileTest.exist?(file)</div><div class='add'>+          STDERR.puts "preparing #{file}"</div><div class='add'>+</div><div class='add'>+          open(file, 'w'){|f|</div><div class='add'>+            ARGV[0] = n</div><div class='add'>+            $stdout = f</div><div class='add'>+            load script</div><div class='add'>+            $stdout = STDOUT</div><div class='add'>+          }</div><div class='add'>+        end</div><div class='add'>+      end</div><div class='add'>+      prepare_fasta_output(100_000)</div><div class='add'>+    script: |</div><div class='add'>+      # The Computer Language Shootout</div><div class='add'>+      # http://shootout.alioth.debian.org</div><div class='add'>+      #</div><div class='add'>+      # contributed by jose fco. gonzalez</div><div class='add'>+      # modified by Sokolov Yura</div><div class='add'>+</div><div class='add'>+      seq = String.new</div><div class='add'>+</div><div class='add'>+      def frecuency( seq,length )</div><div class='add'>+          n, table = seq.length - length + 1, Hash.new(0)</div><div class='add'>+          f, i = nil, nil</div><div class='add'>+          (0 ... length).each do |f|</div><div class='add'>+              (f ... n).step(length) do |i|</div><div class='add'>+                  table[seq[i,length]] += 1</div><div class='add'>+              end</div><div class='add'>+          end</div><div class='add'>+          [n,table]</div><div class='add'>+</div><div class='add'>+      end</div><div class='add'>+</div><div class='add'>+      def sort_by_freq( seq,length )</div><div class='add'>+          n,table = frecuency( seq,length )</div><div class='add'>+          a, b, v = nil, nil, nil</div><div class='add'>+          table.sort{|a,b| b[1] &lt;=&gt; a[1]}.each do |v|</div><div class='add'>+              puts "%s %.3f" % [v[0].upcase,((v[1]*100).to_f/n)]</div><div class='add'>+          end</div><div class='add'>+          puts</div><div class='add'>+      end</div><div class='add'>+</div><div class='add'>+      def find_seq( seq,s )</div><div class='add'>+          n,table = frecuency( seq,s.length )</div><div class='add'>+          puts "#{table[s].to_s}\t#{s.upcase}"</div><div class='add'>+      end</div><div class='add'>+</div><div class='add'>+      input = open(File.join(File.dirname($0), 'fasta.output.100000'), 'rb')</div><div class='add'>+</div><div class='add'>+      line = input.gets while line !~ /^&gt;THREE/</div><div class='add'>+      line = input.gets</div><div class='add'>+</div><div class='add'>+      while (line !~ /^&gt;/) &amp; line do</div><div class='add'>+          seq &lt;&lt; line.chomp</div><div class='add'>+          line = input.gets</div><div class='add'>+      end</div><div class='add'>+</div><div class='add'>+      [1,2].each {|i| sort_by_freq( seq,i ) }</div><div class='add'>+</div><div class='add'>+      %w(ggt ggta ggtatt ggtattttaatt ggtattttaatttatagt).each{|s| find_seq( seq,s) }</div><div class='add'>+    loop_count: 1</div><div class='head'>diff --git a/benchmark/so_lists.rb b/benchmark/so_lists.rb<br/>new file mode 100644<br/>index 0000000000..e8f4a2a5f7<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/so_lists.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/so_lists.rb</a></div><div class='hunk'>@@ -0,0 +1,47 @@</div><div class='add'>+#from http://www.bagley.org/~doug/shootout/bench/lists/lists.ruby</div><div class='add'>+</div><div class='add'>+NUM = 300</div><div class='add'>+SIZE = 10000</div><div class='add'>+</div><div class='add'>+def test_lists()</div><div class='add'>+  # create a list of integers (Li1) from 1 to SIZE</div><div class='add'>+  li1 = (1..SIZE).to_a</div><div class='add'>+  # copy the list to li2 (not by individual items)</div><div class='add'>+  li2 = li1.dup</div><div class='add'>+  # remove each individual item from left side of li2 and</div><div class='add'>+  # append to right side of li3 (preserving order)</div><div class='add'>+  li3 = Array.new</div><div class='add'>+  while (not li2.empty?)</div><div class='add'>+    li3.push(li2.shift)</div><div class='add'>+  end</div><div class='add'>+  # li2 must now be empty</div><div class='add'>+  # remove each individual item from right side of li3 and</div><div class='add'>+  # append to right side of li2 (reversing list)</div><div class='add'>+  while (not li3.empty?)</div><div class='add'>+    li2.push(li3.pop)</div><div class='add'>+  end</div><div class='add'>+  # li3 must now be empty</div><div class='add'>+  # reverse li1 in place</div><div class='add'>+  li1.reverse!</div><div class='add'>+  # check that first item is now SIZE</div><div class='add'>+  if li1[0] != SIZE then</div><div class='add'>+    p "not SIZE"</div><div class='add'>+    0</div><div class='add'>+  else</div><div class='add'>+    # compare li1 and li2 for equality</div><div class='add'>+    if li1 != li2 then</div><div class='add'>+      return(0)</div><div class='add'>+    else</div><div class='add'>+      # return the length of the list</div><div class='add'>+      li1.length</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+i = 0</div><div class='add'>+while i&lt;NUM</div><div class='add'>+  i += 1</div><div class='add'>+  result = test_lists()</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+result</div><div class='head'>diff --git a/benchmark/so_mandelbrot.rb b/benchmark/so_mandelbrot.rb<br/>new file mode 100644<br/>index 0000000000..76331c64b8<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/so_mandelbrot.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/so_mandelbrot.rb</a></div><div class='hunk'>@@ -0,0 +1,57 @@</div><div class='add'>+#  The Computer Language Benchmarks Game</div><div class='add'>+#  http://shootout.alioth.debian.org/</div><div class='add'>+#</div><div class='add'>+#  contributed by Karl von Laudermann</div><div class='add'>+#  modified by Jeremy Echols</div><div class='add'>+</div><div class='add'>+size = 600 # ARGV[0].to_i</div><div class='add'>+</div><div class='add'>+puts "P4\n#{size} #{size}"</div><div class='add'>+</div><div class='add'>+ITER = 49                           # Iterations - 1 for easy for..in looping</div><div class='add'>+LIMIT_SQUARED = 4.0                 # Presquared limit</div><div class='add'>+</div><div class='add'>+byte_acc = 0</div><div class='add'>+bit_num = 0</div><div class='add'>+</div><div class='add'>+count_size = size - 1               # Precomputed size for easy for..in looping</div><div class='add'>+</div><div class='add'>+# For..in loops are faster than .upto, .downto, .times, etc.</div><div class='add'>+for y in 0..count_size</div><div class='add'>+  for x in 0..count_size</div><div class='add'>+    zr = 0.0</div><div class='add'>+    zi = 0.0</div><div class='add'>+    cr = (2.0*x/size)-1.5</div><div class='add'>+    ci = (2.0*y/size)-1.0</div><div class='add'>+    escape = false</div><div class='add'>+</div><div class='add'>+    # To make use of the for..in code, we use a dummy variable,</div><div class='add'>+    # like one would in C</div><div class='add'>+    for dummy in 0..ITER</div><div class='add'>+      tr = zr*zr - zi*zi + cr</div><div class='add'>+      ti = 2*zr*zi + ci</div><div class='add'>+      zr, zi = tr, ti</div><div class='add'>+</div><div class='add'>+      if (zr*zr+zi*zi) &gt; LIMIT_SQUARED</div><div class='add'>+        escape = true</div><div class='add'>+        break</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    byte_acc = (byte_acc &lt;&lt; 1) | (escape ? 0b0 : 0b1)</div><div class='add'>+    bit_num += 1</div><div class='add'>+</div><div class='add'>+    # Code is very similar for these cases, but using separate blocks</div><div class='add'>+    # ensures we skip the shifting when it's unnecessary, which is most cases.</div><div class='add'>+    if (bit_num == 8)</div><div class='add'>+      print byte_acc.chr</div><div class='add'>+      byte_acc = 0</div><div class='add'>+      bit_num = 0</div><div class='add'>+    elsif (x == count_size)</div><div class='add'>+      byte_acc &lt;&lt;= (8 - bit_num)</div><div class='add'>+      print byte_acc.chr</div><div class='add'>+      byte_acc = 0</div><div class='add'>+      bit_num = 0</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/so_matrix.rb b/benchmark/so_matrix.rb<br/>new file mode 100644<br/>index 0000000000..2d1e72bda9<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/so_matrix.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/so_matrix.rb</a></div><div class='hunk'>@@ -0,0 +1,48 @@</div><div class='add'>+#!/usr/bin/ruby</div><div class='add'>+# -*- Ruby -*-</div><div class='add'>+# $Id: matrix-ruby.code,v 1.4 2004/11/13 07:42:14 bfulgham Exp $</div><div class='add'>+# http://www.bagley.org/~doug/shootout/</div><div class='add'>+</div><div class='add'>+n = 60 #Integer(ARGV.shift || 1)</div><div class='add'>+</div><div class='add'>+size = 40</div><div class='add'>+</div><div class='add'>+def mkmatrix(rows, cols)</div><div class='add'>+    count = 1</div><div class='add'>+    mx = Array.new(rows)</div><div class='add'>+    (0 .. (rows - 1)).each do |bi|</div><div class='add'>+        row = Array.new(cols, 0)</div><div class='add'>+        (0 .. (cols - 1)).each do |j|</div><div class='add'>+            row[j] = count</div><div class='add'>+            count += 1</div><div class='add'>+        end</div><div class='add'>+        mx[bi] = row</div><div class='add'>+    end</div><div class='add'>+    mx</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def mmult(rows, cols, m1, m2)</div><div class='add'>+    m3 = Array.new(rows)</div><div class='add'>+    (0 .. (rows - 1)).each do |bi|</div><div class='add'>+        row = Array.new(cols, 0)</div><div class='add'>+        (0 .. (cols - 1)).each do |j|</div><div class='add'>+            val = 0</div><div class='add'>+            (0 .. (cols - 1)).each do |k|</div><div class='add'>+                val += m1.at(bi).at(k) * m2.at(k).at(j)</div><div class='add'>+            end</div><div class='add'>+            row[j] = val</div><div class='add'>+        end</div><div class='add'>+        m3[bi] = row</div><div class='add'>+    end</div><div class='add'>+    m3</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+m1 = mkmatrix(size, size)</div><div class='add'>+m2 = mkmatrix(size, size)</div><div class='add'>+mm = Array.new</div><div class='add'>+n.times do</div><div class='add'>+    mm = mmult(size, size, m1, m2)</div><div class='add'>+end</div><div class='add'>+# puts "#{mm[0][0]} #{mm[2][3]} #{mm[3][2]} #{mm[4][4]}"</div><div class='add'>+</div><div class='add'>+</div><div class='head'>diff --git a/benchmark/so_meteor_contest.rb b/benchmark/so_meteor_contest.rb<br/>new file mode 100644<br/>index 0000000000..8c136baa6c<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/so_meteor_contest.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/so_meteor_contest.rb</a></div><div class='hunk'>@@ -0,0 +1,563 @@</div><div class='add'>+#!/usr/bin/env ruby</div><div class='add'>+#</div><div class='add'>+# The Computer Language Shootout</div><div class='add'>+#   http://shootout.alioth.debian.org</div><div class='add'>+#   contributed by Kevin Barnes (Ruby novice)</div><div class='add'>+</div><div class='add'>+# PROGRAM:  the main body is at the bottom.</div><div class='add'>+#   1) read about the problem here: http://www-128.ibm.com/developerworks/java/library/j-javaopt/</div><div class='add'>+#   2) see how I represent a board as a bitmask by reading the blank_board comments</div><div class='add'>+#   3) read as your mental paths take you</div><div class='add'>+</div><div class='add'>+def print *args</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+# class to represent all information about a particular rotation of a particular piece</div><div class='add'>+class Rotation</div><div class='add'>+  # an array (by location) containing a bit mask for how the piece maps at the given location.</div><div class='add'>+  # if the rotation is invalid at that location the mask will contain false</div><div class='add'>+  attr_reader :start_masks</div><div class='add'>+</div><div class='add'>+  # maps a direction to a relative location.  these differ depending on whether it is an even or</div><div class='add'>+  # odd row being mapped from</div><div class='add'>+  @@rotation_even_adder = { :west =&gt; -1, :east =&gt; 1, :nw =&gt; -7, :ne =&gt; -6, :sw =&gt; 5, :se =&gt; 6 }</div><div class='add'>+  @@rotation_odd_adder = { :west =&gt; -1, :east =&gt; 1, :nw =&gt; -6, :ne =&gt; -5, :sw =&gt; 6, :se =&gt; 7 }</div><div class='add'>+</div><div class='add'>+  def initialize( directions )</div><div class='add'>+    @even_offsets, @odd_offsets = normalize_offsets( get_values( directions ))</div><div class='add'>+</div><div class='add'>+    @even_mask = mask_for_offsets( @even_offsets)</div><div class='add'>+    @odd_mask = mask_for_offsets( @odd_offsets)</div><div class='add'>+</div><div class='add'>+    @start_masks = Array.new(60)</div><div class='add'>+</div><div class='add'>+    # create the rotational masks by placing the base mask at the location and seeing if</div><div class='add'>+    # 1) it overlaps the boundaries and 2) it produces a prunable board.  if either of these</div><div class='add'>+    # is true the piece cannot be placed</div><div class='add'>+    0.upto(59) do | offset |</div><div class='add'>+      mask = is_even(offset) ? (@even_mask &lt;&lt; offset) : (@odd_mask &lt;&lt; offset)</div><div class='add'>+      if (blank_board &amp; mask == 0 &amp;&amp; !prunable(blank_board | mask, 0, true)) then</div><div class='add'>+        imask = compute_required( mask, offset)</div><div class='add'>+        @start_masks[offset] = [ mask, imask, imask | mask ]</div><div class='add'>+      else</div><div class='add'>+        @start_masks[offset] = false</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def compute_required( mask, offset )</div><div class='add'>+    board = blank_board</div><div class='add'>+    0.upto(offset) { | i | board |= 1 &lt;&lt; i }</div><div class='add'>+    board |= mask</div><div class='add'>+    return 0 if (!prunable(board | mask, offset))</div><div class='add'>+    board = flood_fill(board,58)</div><div class='add'>+    count = 0</div><div class='add'>+    imask = 0</div><div class='add'>+    0.upto(59) do | i |</div><div class='add'>+      if (board[i] == 0) then</div><div class='add'>+        imask |= (1 &lt;&lt; i)</div><div class='add'>+        count += 1</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+    (count &gt; 0 &amp;&amp; count &lt; 5) ? imask : 0</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def flood_fill( board, location)</div><div class='add'>+    return board if (board[location] == 1)</div><div class='add'>+    board |= 1 &lt;&lt; location</div><div class='add'>+    row, col = location.divmod(6)</div><div class='add'>+    board = flood_fill( board, location - 1) if (col &gt; 0)</div><div class='add'>+    board = flood_fill( board, location + 1) if (col &lt; 4)</div><div class='add'>+    if (row % 2 == 0) then</div><div class='add'>+      board = flood_fill( board, location - 7) if (col &gt; 0 &amp;&amp; row &gt; 0)</div><div class='add'>+      board = flood_fill( board, location - 6) if (row &gt; 0)</div><div class='add'>+      board = flood_fill( board, location + 6) if (row &lt; 9)</div><div class='add'>+      board = flood_fill( board, location + 5) if (col &gt; 0 &amp;&amp; row &lt; 9)</div><div class='add'>+    else</div><div class='add'>+      board = flood_fill( board, location - 5) if (col &lt; 4 &amp;&amp; row &gt; 0)</div><div class='add'>+      board = flood_fill( board, location - 6) if (row &gt; 0)</div><div class='add'>+      board = flood_fill( board, location + 6) if (row &lt; 9)</div><div class='add'>+      board = flood_fill( board, location + 7) if (col &lt; 4 &amp;&amp; row &lt; 9)</div><div class='add'>+    end</div><div class='add'>+    board</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  # given a location, produces a list of relative locations covered by the piece at this rotation</div><div class='add'>+  def offsets( location)</div><div class='add'>+    if is_even( location) then</div><div class='add'>+      @even_offsets.collect { | value | value + location }</div><div class='add'>+    else</div><div class='add'>+      @odd_offsets.collect { | value | value + location }</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  # returns a set of offsets relative to the top-left most piece of the rotation (by even or odd rows)</div><div class='add'>+  # this is hard to explain. imagine we have this partial board:</div><div class='add'>+  #   0 0 0 0 0 x        [positions 0-5]</div><div class='add'>+  #    0 0 1 1 0 x       [positions 6-11]</div><div class='add'>+  #   0 0 1 0 0 x        [positions 12-17]</div><div class='add'>+  #    0 1 0 0 0 x       [positions 18-23]</div><div class='add'>+  #   0 1 0 0 0 x        [positions 24-29]</div><div class='add'>+  #    0 0 0 0 0 x       [positions 30-35]</div><div class='add'>+  #       ...</div><div class='add'>+  # The top-left of the piece is at position 8, the</div><div class='add'>+  # board would be passed as a set of positions (values array) containing [8,9,14,19,25] not necessarily in that</div><div class='add'>+  # 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='add'>+  # 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='add'>+  #   0 0 0 1 1 x        [positions 0-5]</div><div class='add'>+  #    0 0 1 0 0 x       [positions 6-11]</div><div class='add'>+  #   0 0 1 0 0 x        [positions 12-17]</div><div class='add'>+  #    0 1 0 0 0 x       [positions 18-23]</div><div class='add'>+  #   0 0 0 0 0 x        [positions 24-29]</div><div class='add'>+  #    0 0 0 0 0 x       [positions 30-35]</div><div class='add'>+  #       ...</div><div class='add'>+  # 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='add'>+  # 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='add'>+  # this function would return</div><div class='add'>+  def normalize_offsets( values)</div><div class='add'>+    min = values.min</div><div class='add'>+    even_min = is_even(min)</div><div class='add'>+    other_min = even_min ? min + 6 : min + 7</div><div class='add'>+    other_values = values.collect do | value |</div><div class='add'>+      if is_even(value) then</div><div class='add'>+        value + 6 - other_min</div><div class='add'>+      else</div><div class='add'>+        value + 7 - other_min</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+    values.collect! { | value | value - min }</div><div class='add'>+</div><div class='add'>+    if even_min then</div><div class='add'>+      [values, other_values]</div><div class='add'>+    else</div><div class='add'>+      [other_values, values]</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  # produce a bitmask representation of an array of offset locations</div><div class='add'>+  def mask_for_offsets( offsets )</div><div class='add'>+    mask = 0</div><div class='add'>+    offsets.each { | value | mask = mask + ( 1 &lt;&lt; value ) }</div><div class='add'>+    mask</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  # finds a "safe" position that a position as described by a list of directions can be placed</div><div class='add'>+  # without falling off any edge of the board.  the values returned a location to place the first piece</div><div class='add'>+  # at so it will fit after making the described moves</div><div class='add'>+  def start_adjust( directions )</div><div class='add'>+    south = east = 0;</div><div class='add'>+    directions.each do | direction |</div><div class='add'>+      east += 1 if ( direction == :sw || direction == :nw || direction == :west )</div><div class='add'>+      south += 1 if ( direction == :nw || direction == :ne )</div><div class='add'>+    end</div><div class='add'>+    south * 6 + east</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  # given a set of directions places the piece (as defined by a set of directions) on the board at</div><div class='add'>+  # a location that will not take it off the edge</div><div class='add'>+  def get_values( directions )</div><div class='add'>+    start = start_adjust(directions)</div><div class='add'>+    values = [ start ]</div><div class='add'>+    directions.each do | direction |</div><div class='add'>+      if (start % 12 &gt;= 6) then</div><div class='add'>+        start += @@rotation_odd_adder[direction]</div><div class='add'>+      else</div><div class='add'>+        start += @@rotation_even_adder[direction]</div><div class='add'>+      end</div><div class='add'>+      values += [ start ]</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    # some moves take you back to an existing location, we'll strip duplicates</div><div class='add'>+    values.uniq</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+# describes a piece and caches information about its rotations to as to be efficient for iteration</div><div class='add'>+# ATTRIBUTES:</div><div class='add'>+#   rotations -- all the rotations of the piece</div><div class='add'>+#   type -- a numeic "name" of the piece</div><div class='add'>+#   masks -- an array by location of all legal rotational masks (a n inner array) for that location</div><div class='add'>+#   placed -- the mask that this piece was last placed at (not a location, but the actual mask used)</div><div class='add'>+class Piece</div><div class='add'>+  attr_reader :rotations, :type, :masks</div><div class='add'>+  attr_accessor :placed</div><div class='add'>+</div><div class='add'>+  # transform hashes that change one direction into another when you either flip or rotate a set of directions</div><div class='add'>+  @@flip_converter = { :west =&gt; :west, :east =&gt; :east, :nw =&gt; :sw, :ne =&gt; :se, :sw =&gt; :nw, :se =&gt; :ne }</div><div class='add'>+  @@rotate_converter = { :west =&gt; :nw, :east =&gt; :se, :nw =&gt; :ne, :ne =&gt; :east, :sw =&gt; :west, :se =&gt; :sw }</div><div class='add'>+</div><div class='add'>+  def initialize( directions, type )</div><div class='add'>+    @type = type</div><div class='add'>+    @rotations = Array.new();</div><div class='add'>+    @map = {}</div><div class='add'>+</div><div class='add'>+    generate_rotations( directions )</div><div class='add'>+    directions.collect! { | value | @@flip_converter[value] }</div><div class='add'>+    generate_rotations( directions )</div><div class='add'>+</div><div class='add'>+    # creates the masks AND a map that returns [location, rotation] for any given mask</div><div class='add'>+    # this is used when a board is found and we want to draw it, otherwise the map is unused</div><div class='add'>+    @masks = Array.new();</div><div class='add'>+    0.upto(59) do | i |</div><div class='add'>+      even = true</div><div class='add'>+      @masks[i] = @rotations.collect do | rotation |</div><div class='add'>+        mask = rotation.start_masks[i]</div><div class='add'>+        @map[mask[0]] = [ i, rotation ] if (mask)</div><div class='add'>+        mask || nil</div><div class='add'>+      end</div><div class='add'>+      @masks[i].compact!</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  # rotates a set of directions through all six angles and adds a Rotation to the list for each one</div><div class='add'>+  def generate_rotations( directions )</div><div class='add'>+    6.times do</div><div class='add'>+      rotations.push( Rotation.new(directions))</div><div class='add'>+      directions.collect! { | value | @@rotate_converter[value] }</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  # given a board string, adds this piece to the board at whatever location/rotation</div><div class='add'>+  # important: the outbound board string is 5 wide, the normal location notation is six wide (padded)</div><div class='add'>+  def fill_string( board_string)</div><div class='add'>+    location, rotation = @map[@placed]</div><div class='add'>+    rotation.offsets(location).each do | offset |</div><div class='add'>+      row, col = offset.divmod(6)</div><div class='add'>+      board_string[ row*5 + col, 1 ] = @type.to_s</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+# a blank bit board having this form:</div><div class='add'>+#</div><div class='add'>+#    0 0 0 0 0 1</div><div class='add'>+#     0 0 0 0 0 1</div><div class='add'>+#    0 0 0 0 0 1</div><div class='add'>+#     0 0 0 0 0 1</div><div class='add'>+#    0 0 0 0 0 1</div><div class='add'>+#     0 0 0 0 0 1</div><div class='add'>+#    0 0 0 0 0 1</div><div class='add'>+#     0 0 0 0 0 1</div><div class='add'>+#    0 0 0 0 0 1</div><div class='add'>+#     0 0 0 0 0 1</div><div class='add'>+#    1 1 1 1 1 1</div><div class='add'>+#</div><div class='add'>+# where left lest significant bit is the top left and the most significant is the lower right</div><div class='add'>+# the actual board only consists of the 0 places, the 1 places are blockers to keep things from running</div><div class='add'>+# off the edges or bottom</div><div class='add'>+def blank_board</div><div class='add'>+  0b111111100000100000100000100000100000100000100000100000100000100000</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def full_board</div><div class='add'>+  0b111111111111111111111111111111111111111111111111111111111111111111</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+# determines if a location (bit position) is in an even row</div><div class='add'>+def is_even( location)</div><div class='add'>+  (location % 12) &lt; 6</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+# support function that create three utility maps:</div><div class='add'>+#  $converter -- for each row an array that maps a five bit row (via array mapping)</div><div class='add'>+#                to the a five bit representation of the bits below it</div><div class='add'>+#  $bit_count -- maps a five bit row (via array mapping) to the number of 1s in the row</div><div class='add'>+#  @@new_regions -- maps a five bit row (via array mapping) to an array of "region" arrays</div><div class='add'>+#                   a region array has three values the first is a mask of bits in the region,</div><div class='add'>+#                   the second is the count of those bits and the third is identical to the first</div><div class='add'>+#                   examples:</div><div class='add'>+#                           0b10010 =&gt; [ 0b01100, 2, 0b01100 ], [ 0b00001, 1, 0b00001]</div><div class='add'>+#                           0b01010 =&gt; [ 0b10000, 1, 0b10000 ], [ 0b00100, 1, 0b00100 ], [ 0b00001, 1, 0b00001]</div><div class='add'>+#                           0b10001 =&gt; [ 0b01110, 3, 0b01110 ]</div><div class='add'>+def create_collector_support</div><div class='add'>+  odd_map = [0b11, 0b110, 0b1100, 0b11000, 0b10000]</div><div class='add'>+  even_map = [0b1, 0b11, 0b110, 0b1100, 0b11000]</div><div class='add'>+</div><div class='add'>+  all_odds = Array.new(0b100000)</div><div class='add'>+  all_evens = Array.new(0b100000)</div><div class='add'>+  bit_counts = Array.new(0b100000)</div><div class='add'>+  new_regions = Array.new(0b100000)</div><div class='add'>+  0.upto(0b11111) do | i |</div><div class='add'>+    bit_count = odd = even = 0</div><div class='add'>+    0.upto(4) do | bit |</div><div class='add'>+      if (i[bit] == 1) then</div><div class='add'>+        bit_count += 1</div><div class='add'>+        odd |= odd_map[bit]</div><div class='add'>+        even |= even_map[bit]</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+    all_odds[i] = odd</div><div class='add'>+    all_evens[i] = even</div><div class='add'>+    bit_counts[i] = bit_count</div><div class='add'>+    new_regions[i] = create_regions( i)</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  $converter = []</div><div class='add'>+  10.times { | row | $converter.push((row % 2 == 0) ? all_evens : all_odds) }</div><div class='add'>+  $bit_counts = bit_counts</div><div class='add'>+  $regions = new_regions.collect { | set | set.collect { | value | [ value, bit_counts[value], value] } }</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+# determines if a board is punable, meaning that there is no possibility that it</div><div class='add'>+# can be filled up with pieces.  A board is prunable if there is a grouping of unfilled spaces</div><div class='add'>+# that are not a multiple of five.  The following board is an example of a prunable board:</div><div class='add'>+#    0 0 1 0 0</div><div class='add'>+#     0 1 0 0 0</div><div class='add'>+#    1 1 0 0 0</div><div class='add'>+#     0 1 0 0 0</div><div class='add'>+#    0 0 0 0 0</div><div class='add'>+#       ...</div><div class='add'>+#</div><div class='add'>+# This board is prunable because the top left corner is only 3 bits in area, no piece will ever fit it</div><div class='add'>+# parameters:</div><div class='add'>+#   board -- an initial bit board (6 bit padded rows, see blank_board for format)</div><div class='add'>+#   location -- starting location, everything above and to the left is already full</div><div class='add'>+#   slotting -- set to true only when testing initial pieces, when filling normally</div><div class='add'>+#               additional assumptions are possible</div><div class='add'>+#</div><div class='add'>+# Algorithm:</div><div class='add'>+#    The algorithm starts at the top row (as determined by location) and iterates a row at a time</div><div class='add'>+#    maintainng counts of active open areas (kept in the collector array) each collector contains</div><div class='add'>+#    three values at the start of an iteration:</div><div class='add'>+#          0: mask of bits that would be adjacent to the collector in this row</div><div class='add'>+#          1: the number of bits collected so far</div><div class='add'>+#          2: a scratch space starting as zero, but used during the computation to represent</div><div class='add'>+#             the empty bits in the new row that are adjacent (position 0)</div><div class='add'>+#  The exact procedure is described in-code</div><div class='add'>+def prunable( board, location, slotting = false)</div><div class='add'>+  collectors = []</div><div class='add'>+  # loop across the rows</div><div class='add'>+  (location / 6).to_i.upto(9) do | row_on |</div><div class='add'>+    # obtain a set of regions representing the bits of the current row.</div><div class='add'>+    regions = $regions[(board &gt;&gt; (row_on * 6)) &amp; 0b11111]</div><div class='add'>+    converter = $converter[row_on]</div><div class='add'>+</div><div class='add'>+    # track the number of collectors at the start of the cycle so that</div><div class='add'>+    # we don't compute against newly created collectors, only existing collectors</div><div class='add'>+    initial_collector_count = collectors.length</div><div class='add'>+</div><div class='add'>+    # loop against the regions.  For each region of the row</div><div class='add'>+    # we will see if it connects to one or more existing collectors.</div><div class='add'>+    # if it connects to 1 collector, the bits from the region are added to the</div><div class='add'>+    # bits of the collector and the mask is placed in collector[2]</div><div class='add'>+    # If the region overlaps more than one collector then all the collectors</div><div class='add'>+    # it overlaps with are merged into the first one (the others are set to nil in the array)</div><div class='add'>+    # if NO collectors are found then the region is copied as a new collector</div><div class='add'>+    regions.each do | region |</div><div class='add'>+      collector_found = nil</div><div class='add'>+      region_mask = region[2]</div><div class='add'>+      initial_collector_count.times do | collector_num |</div><div class='add'>+        collector = collectors[collector_num]</div><div class='add'>+        if (collector) then</div><div class='add'>+          collector_mask = collector[0]</div><div class='add'>+          if (collector_mask &amp; region_mask != 0) then</div><div class='add'>+            if (collector_found) then</div><div class='add'>+              collector_found[0] |= collector_mask</div><div class='add'>+              collector_found[1] += collector[1]</div><div class='add'>+              collector_found[2] |= collector[2]</div><div class='add'>+              collectors[collector_num] = nil</div><div class='add'>+            else</div><div class='add'>+              collector_found = collector</div><div class='add'>+              collector[1] += region[1]</div><div class='add'>+              collector[2] |= region_mask</div><div class='add'>+            end</div><div class='add'>+          end</div><div class='add'>+        end</div><div class='add'>+      end</div><div class='add'>+      if (collector_found == nil) then</div><div class='add'>+        collectors.push(Array.new(region))</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    # check the existing collectors, if any collector overlapped no bits in the region its [2] value will</div><div class='add'>+    # 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='add'>+    # the board is prunable.  if it is a multiple of five it is removed.</div><div class='add'>+    # Collector that are still active have a new adjacent value [0] set based n the matched bits</div><div class='add'>+    # and have [2] cleared out for the next cycle.</div><div class='add'>+    collectors.length.times do | collector_num |</div><div class='add'>+      collector = collectors[collector_num]</div><div class='add'>+      if (collector) then</div><div class='add'>+        if (collector[2] == 0) then</div><div class='add'>+          return true if (collector[1] % 5 != 0)</div><div class='add'>+          collectors[collector_num] = nil</div><div class='add'>+        else</div><div class='add'>+          # if a collector matches all bits in the row then we can return unprunable early for the</div><div class='add'>+          # following reasons:</div><div class='add'>+          #    1) there can be no more unavailable bits bince we fill from the top left downward</div><div class='add'>+          #    2) all previous regions have been closed or joined so only this region can fail</div><div class='add'>+          #    3) this region must be good since there can never be only 1 region that is nuot</div><div class='add'>+          #       a multiple of five</div><div class='add'>+          # this rule only applies when filling normally, so we ignore the rule if we are "slotting"</div><div class='add'>+          # in pieces to see what configurations work for them (the only other time this algorithm is used).</div><div class='add'>+          return false if (collector[2] == 0b11111 &amp;&amp; !slotting)</div><div class='add'>+          collector[0] = converter[collector[2]]</div><div class='add'>+          collector[2] = 0</div><div class='add'>+        end</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    # get rid of all the empty converters for the next round</div><div class='add'>+    collectors.compact!</div><div class='add'>+  end</div><div class='add'>+  return false if (collectors.length &lt;= 1) # 1 collector or less and the region is fine</div><div class='add'>+  collectors.any? { | collector | (collector[1] % 5) != 0 } # more than 1 and we test them all for bad size</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+# creates a region given a row mask.  see prunable for what a "region" is</div><div class='add'>+def create_regions( value )</div><div class='add'>+  regions = []</div><div class='add'>+  cur_region = 0</div><div class='add'>+  5.times do | bit |</div><div class='add'>+    if (value[bit] == 0) then</div><div class='add'>+      cur_region |= 1 &lt;&lt; bit</div><div class='add'>+    else</div><div class='add'>+      if (cur_region != 0 ) then</div><div class='add'>+        regions.push( cur_region)</div><div class='add'>+        cur_region = 0;</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  regions.push(cur_region) if (cur_region != 0)</div><div class='add'>+  regions</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+# find up to the counted number of solutions (or all solutions) and prints the final result</div><div class='add'>+def find_all</div><div class='add'>+  find_top( 1)</div><div class='add'>+  find_top( 0)</div><div class='add'>+  print_results</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+# show the board</div><div class='add'>+def print_results</div><div class='add'>+  print "#{@boards_found} solutions found\n\n"</div><div class='add'>+  print_full_board( @min_board)</div><div class='add'>+  print "\n"</div><div class='add'>+  print_full_board( @max_board)</div><div class='add'>+  print "\n"</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+# finds solutions.  This special version of the main function is only used for the top level</div><div class='add'>+# the reason for it is basically to force a particular ordering on how the rotations are tested for</div><div class='add'>+# the first piece.  It is called twice, first looking for placements of the odd rotations and then</div><div class='add'>+# looking for placements of the even locations.</div><div class='add'>+#</div><div class='add'>+# WHY?</div><div class='add'>+#   Since any found solution has an inverse we want to maximize finding solutions that are not already found</div><div class='add'>+#   as an inverse.  The inverse will ALWAYS be 3 one of the piece configurations that is exactly 3 rotations away</div><div class='add'>+#   (an odd number).  Checking even vs odd then produces a higher probability of finding more pieces earlier</div><div class='add'>+#   in the cycle.  We still need to keep checking all the permutations, but our probability of finding one will</div><div class='add'>+#   diminsh over time.  Since we are TOLD how many to search for this lets us exit before checking all pieces</div><div class='add'>+#   this bennifit is very great when seeking small numbers of solutions and is 0 when looking for more than the</div><div class='add'>+#   maximum number</div><div class='add'>+def find_top( rotation_skip)</div><div class='add'>+  board = blank_board</div><div class='add'>+  (@pieces.length-1).times do</div><div class='add'>+    piece = @pieces.shift</div><div class='add'>+    piece.masks[0].each do | mask, imask, cmask |</div><div class='add'>+      if ((rotation_skip += 1) % 2 == 0) then</div><div class='add'>+        piece.placed = mask</div><div class='add'>+        find( 1, 1, board | mask)</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+    @pieces.push(piece)</div><div class='add'>+  end</div><div class='add'>+  piece = @pieces.shift</div><div class='add'>+  @pieces.push(piece)</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+# the normail find routine, iterates through the available pieces, checks all rotations at the current location</div><div class='add'>+# and adds any boards found.  depth is achieved via recursion.  the overall approach is described</div><div class='add'>+# here: http://www-128.ibm.com/developerworks/java/library/j-javaopt/</div><div class='add'>+# parameters:</div><div class='add'>+#  start_location -- where to start looking for place for the next piece at</div><div class='add'>+#  placed -- number of pieces placed</div><div class='add'>+#  board -- current state of the board</div><div class='add'>+#</div><div class='add'>+# see in-code comments</div><div class='add'>+def find( start_location, placed, board)</div><div class='add'>+  # find the next location to place a piece by looking for an empty bit</div><div class='add'>+  while board[start_location] == 1</div><div class='add'>+    start_location += 1</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  @pieces.length.times do</div><div class='add'>+    piece = @pieces.shift</div><div class='add'>+    piece.masks[start_location].each do | mask, imask, cmask |</div><div class='add'>+      if ( board &amp; cmask == imask) then</div><div class='add'>+        piece.placed = mask</div><div class='add'>+        if (placed == 9) then</div><div class='add'>+          add_board</div><div class='add'>+        else</div><div class='add'>+          find( start_location + 1, placed + 1, board | mask)</div><div class='add'>+        end</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+    @pieces.push(piece)</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+# print the board</div><div class='add'>+def print_full_board( board_string)</div><div class='add'>+  10.times do | row |</div><div class='add'>+    print " " if (row % 2 == 1)</div><div class='add'>+    5.times do | col |</div><div class='add'>+      print "#{board_string[row*5 + col,1]} "</div><div class='add'>+    end</div><div class='add'>+    print "\n"</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+# when a board is found we "draw it" into a string and then flip that string, adding both to</div><div class='add'>+# the list (hash) of solutions if they are unique.</div><div class='add'>+def add_board</div><div class='add'>+  board_string = "99999999999999999999999999999999999999999999999999"</div><div class='add'>+  @all_pieces.each {  | piece | piece.fill_string( board_string ) }</div><div class='add'>+  save( board_string)</div><div class='add'>+  save( board_string.reverse)</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+# adds a board string to the list (if new) and updates the current best/worst board</div><div class='add'>+def save( board_string)</div><div class='add'>+  if (@all_boards[board_string] == nil) then</div><div class='add'>+    @min_board = board_string if (board_string &lt; @min_board)</div><div class='add'>+    @max_board = board_string if (board_string &gt; @max_board)</div><div class='add'>+    @all_boards.store(board_string,true)</div><div class='add'>+    @boards_found += 1</div><div class='add'>+</div><div class='add'>+    # the exit motif is a time saver.  Ideally the function should return, but those tests</div><div class='add'>+    # take noticeable time (performance).</div><div class='add'>+    if (@boards_found == @stop_count) then</div><div class='add'>+      print_results</div><div class='add'>+      exit(0)</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+##</div><div class='add'>+## MAIN BODY :)</div><div class='add'>+##</div><div class='add'>+create_collector_support</div><div class='add'>+@pieces = [</div><div class='add'>+  Piece.new( [ :nw, :ne, :east, :east ], 2),</div><div class='add'>+  Piece.new( [ :ne, :se, :east, :ne ], 7),</div><div class='add'>+  Piece.new( [ :ne, :east, :ne, :nw ], 1),</div><div class='add'>+  Piece.new( [ :east, :sw, :sw, :se ], 6),</div><div class='add'>+  Piece.new( [ :east, :ne, :se, :ne ], 5),</div><div class='add'>+  Piece.new( [ :east, :east, :east, :se ], 0),</div><div class='add'>+  Piece.new( [ :ne, :nw, :se, :east, :se ], 4),</div><div class='add'>+  Piece.new( [ :se, :se, :se, :west ], 9),</div><div class='add'>+  Piece.new( [ :se, :se, :east, :se ], 8),</div><div class='add'>+  Piece.new( [ :east, :east, :sw, :se ], 3)</div><div class='add'>+  ];</div><div class='add'>+</div><div class='add'>+@all_pieces = Array.new( @pieces)</div><div class='add'>+</div><div class='add'>+@min_board = "99999999999999999999999999999999999999999999999999"</div><div class='add'>+@max_board = "00000000000000000000000000000000000000000000000000"</div><div class='add'>+@stop_count = ARGV[0].to_i || 2089</div><div class='add'>+@all_boards = {}</div><div class='add'>+@boards_found = 0</div><div class='add'>+</div><div class='add'>+find_all ######## DO IT!!!</div><div class='head'>diff --git a/benchmark/so_nbody.rb b/benchmark/so_nbody.rb<br/>new file mode 100644<br/>index 0000000000..d6c5bb9e61<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/so_nbody.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/so_nbody.rb</a></div><div class='hunk'>@@ -0,0 +1,148 @@</div><div class='add'>+# The Computer Language Shootout</div><div class='add'>+# http://shootout.alioth.debian.org</div><div class='add'>+#</div><div class='add'>+# Optimized for Ruby by Jesse Millikan</div><div class='add'>+# From version ported by Michael Neumann from the C gcc version,</div><div class='add'>+# which was written by Christoph Bauer.</div><div class='add'>+</div><div class='add'>+SOLAR_MASS = 4 * Math::PI**2</div><div class='add'>+DAYS_PER_YEAR = 365.24</div><div class='add'>+</div><div class='add'>+def _puts *args</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+class Planet</div><div class='add'>+ attr_accessor :x, :y, :z, :vx, :vy, :vz, :mass</div><div class='add'>+</div><div class='add'>+ def initialize(x, y, z, vx, vy, vz, mass)</div><div class='add'>+  @x, @y, @z = x, y, z</div><div class='add'>+  @vx, @vy, @vz = vx * DAYS_PER_YEAR, vy * DAYS_PER_YEAR, vz * DAYS_PER_YEAR</div><div class='add'>+  @mass = mass * SOLAR_MASS</div><div class='add'>+ end</div><div class='add'>+</div><div class='add'>+ def move_from_i(bodies, nbodies, dt, i)</div><div class='add'>+  while i &lt; nbodies</div><div class='add'>+   b2 = bodies[i]</div><div class='add'>+   dx = @x - b2.x</div><div class='add'>+   dy = @y - b2.y</div><div class='add'>+   dz = @z - b2.z</div><div class='add'>+</div><div class='add'>+   distance = Math.sqrt(dx * dx + dy * dy + dz * dz)</div><div class='add'>+   mag = dt / (distance * distance * distance)</div><div class='add'>+   b_mass_mag, b2_mass_mag = @mass * mag, b2.mass * mag</div><div class='add'>+</div><div class='add'>+   @vx -= dx * b2_mass_mag</div><div class='add'>+   @vy -= dy * b2_mass_mag</div><div class='add'>+   @vz -= dz * b2_mass_mag</div><div class='add'>+   b2.vx += dx * b_mass_mag</div><div class='add'>+   b2.vy += dy * b_mass_mag</div><div class='add'>+   b2.vz += dz * b_mass_mag</div><div class='add'>+   i += 1</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  @x += dt * @vx</div><div class='add'>+  @y += dt * @vy</div><div class='add'>+  @z += dt * @vz</div><div class='add'>+ end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def energy(bodies)</div><div class='add'>+  e = 0.0</div><div class='add'>+  nbodies = bodies.size</div><div class='add'>+</div><div class='add'>+  for i in 0 ... nbodies</div><div class='add'>+    b = bodies[i]</div><div class='add'>+    e += 0.5 * b.mass * (b.vx * b.vx + b.vy * b.vy + b.vz * b.vz)</div><div class='add'>+    for j in (i + 1) ... nbodies</div><div class='add'>+      b2 = bodies[j]</div><div class='add'>+      dx = b.x - b2.x</div><div class='add'>+      dy = b.y - b2.y</div><div class='add'>+      dz = b.z - b2.z</div><div class='add'>+      distance = Math.sqrt(dx * dx + dy * dy + dz * dz)</div><div class='add'>+      e -= (b.mass * b2.mass) / distance</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  e</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def offset_momentum(bodies)</div><div class='add'>+  px, py, pz = 0.0, 0.0, 0.0</div><div class='add'>+</div><div class='add'>+  for b in bodies</div><div class='add'>+    m = b.mass</div><div class='add'>+    px += b.vx * m</div><div class='add'>+    py += b.vy * m</div><div class='add'>+    pz += b.vz * m</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  b = bodies[0]</div><div class='add'>+  b.vx = - px / SOLAR_MASS</div><div class='add'>+  b.vy = - py / SOLAR_MASS</div><div class='add'>+  b.vz = - pz / SOLAR_MASS</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+BODIES = [</div><div class='add'>+  # sun</div><div class='add'>+  Planet.new(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0),</div><div class='add'>+</div><div class='add'>+  # jupiter</div><div class='add'>+  Planet.new(</div><div class='add'>+    4.84143144246472090e+00,</div><div class='add'>+    -1.16032004402742839e+00,</div><div class='add'>+    -1.03622044471123109e-01,</div><div class='add'>+    1.66007664274403694e-03,</div><div class='add'>+    7.69901118419740425e-03,</div><div class='add'>+    -6.90460016972063023e-05,</div><div class='add'>+    9.54791938424326609e-04),</div><div class='add'>+</div><div class='add'>+  # saturn</div><div class='add'>+  Planet.new(</div><div class='add'>+    8.34336671824457987e+00,</div><div class='add'>+    4.12479856412430479e+00,</div><div class='add'>+    -4.03523417114321381e-01,</div><div class='add'>+    -2.76742510726862411e-03,</div><div class='add'>+    4.99852801234917238e-03,</div><div class='add'>+    2.30417297573763929e-05,</div><div class='add'>+    2.85885980666130812e-04),</div><div class='add'>+</div><div class='add'>+  # uranus</div><div class='add'>+  Planet.new(</div><div class='add'>+    1.28943695621391310e+01,</div><div class='add'>+    -1.51111514016986312e+01,</div><div class='add'>+    -2.23307578892655734e-01,</div><div class='add'>+    2.96460137564761618e-03,</div><div class='add'>+    2.37847173959480950e-03,</div><div class='add'>+    -2.96589568540237556e-05,</div><div class='add'>+    4.36624404335156298e-05),</div><div class='add'>+</div><div class='add'>+  # neptune</div><div class='add'>+  Planet.new(</div><div class='add'>+    1.53796971148509165e+01,</div><div class='add'>+    -2.59193146099879641e+01,</div><div class='add'>+    1.79258772950371181e-01,</div><div class='add'>+    2.68067772490389322e-03,</div><div class='add'>+    1.62824170038242295e-03,</div><div class='add'>+    -9.51592254519715870e-05,</div><div class='add'>+    5.15138902046611451e-05)</div><div class='add'>+]</div><div class='add'>+</div><div class='add'>+init = 200_000 # ARGV[0]</div><div class='add'>+n = Integer(init)</div><div class='add'>+</div><div class='add'>+offset_momentum(BODIES)</div><div class='add'>+</div><div class='add'>+puts "%.9f" % energy(BODIES)</div><div class='add'>+</div><div class='add'>+nbodies = BODIES.size</div><div class='add'>+dt = 0.01</div><div class='add'>+</div><div class='add'>+n.times do</div><div class='add'>+  i = 0</div><div class='add'>+  while i &lt; nbodies</div><div class='add'>+    b = BODIES[i]</div><div class='add'>+    b.move_from_i(BODIES, nbodies, dt, i + 1)</div><div class='add'>+    i += 1</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+puts "%.9f" % energy(BODIES)</div><div class='head'>diff --git a/benchmark/so_nested_loop.rb b/benchmark/so_nested_loop.rb<br/>new file mode 100644<br/>index 0000000000..766fcf7b84<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/so_nested_loop.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/so_nested_loop.rb</a></div><div class='hunk'>@@ -0,0 +1,24 @@</div><div class='add'>+#!/usr/bin/ruby</div><div class='add'>+# -*- Ruby -*-</div><div class='add'>+# $Id: nestedloop-ruby.code,v 1.4 2004/11/13 07:42:22 bfulgham Exp $</div><div class='add'>+# http://www.bagley.org/~doug/shootout/</div><div class='add'>+# from Avi Bryant</div><div class='add'>+</div><div class='add'>+n = 16 # Integer(ARGV.shift || 1)</div><div class='add'>+x = 0</div><div class='add'>+n.times do</div><div class='add'>+    n.times do</div><div class='add'>+        n.times do</div><div class='add'>+            n.times do</div><div class='add'>+                n.times do</div><div class='add'>+                    n.times do</div><div class='add'>+                        x += 1</div><div class='add'>+                    end</div><div class='add'>+                end</div><div class='add'>+            end</div><div class='add'>+        end</div><div class='add'>+    end</div><div class='add'>+end</div><div class='add'>+# puts x</div><div class='add'>+</div><div class='add'>+</div><div class='head'>diff --git a/benchmark/so_nsieve.rb b/benchmark/so_nsieve.rb<br/>new file mode 100644<br/>index 0000000000..a65cc78233<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/so_nsieve.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/so_nsieve.rb</a></div><div class='hunk'>@@ -0,0 +1,35 @@</div><div class='add'>+# The Computer Language Shootout</div><div class='add'>+# http://shootout.alioth.debian.org/</div><div class='add'>+#</div><div class='add'>+# contributed by Glenn Parker, March 2005</div><div class='add'>+# modified by Evan Phoenix, Sept 2006</div><div class='add'>+</div><div class='add'>+def sieve(m)</div><div class='add'>+  flags = Flags.dup[0,m]</div><div class='add'>+  count = 0</div><div class='add'>+  pmax = m - 1</div><div class='add'>+  p = 2</div><div class='add'>+  while p &lt;= pmax</div><div class='add'>+    unless flags[p].zero?</div><div class='add'>+      count += 1</div><div class='add'>+      mult = p</div><div class='add'>+      while mult &lt;= pmax</div><div class='add'>+        flags[mult] = 0</div><div class='add'>+        mult += p</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+    p += 1</div><div class='add'>+  end</div><div class='add'>+  count</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+n = 9 # (ARGV[0] || 2).to_i</div><div class='add'>+Flags = ("\x1" * ( 2 ** n * 10_000)).unpack("c*")</div><div class='add'>+</div><div class='add'>+n.downto(n-2) do |exponent|</div><div class='add'>+  break if exponent &lt; 0</div><div class='add'>+  m = (1 &lt;&lt; exponent) * 10_000</div><div class='add'>+  # m = (2 ** exponent) * 10_000</div><div class='add'>+  count = sieve(m)</div><div class='add'>+  printf "Primes up to %8d %8d\n", m, count</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/so_nsieve_bits.rb b/benchmark/so_nsieve_bits.rb<br/>new file mode 100644<br/>index 0000000000..6f958ee44e<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/so_nsieve_bits.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/so_nsieve_bits.rb</a></div><div class='hunk'>@@ -0,0 +1,43 @@</div><div class='add'>+#!/usr/bin/ruby</div><div class='add'>+#coding: us-ascii</div><div class='add'>+#</div><div class='add'>+# The Great Computer Language Shootout</div><div class='add'>+# http://shootout.alioth.debian.org/</div><div class='add'>+#</div><div class='add'>+# nsieve-bits in Ruby</div><div class='add'>+# Contributed by Glenn Parker, March 2005</div><div class='add'>+</div><div class='add'>+CharExponent = 3</div><div class='add'>+BitsPerChar = 1 &lt;&lt; CharExponent</div><div class='add'>+LowMask = BitsPerChar - 1</div><div class='add'>+</div><div class='add'>+def sieve(m)</div><div class='add'>+  items = "\xFF" * ((m / BitsPerChar) + 1)</div><div class='add'>+  masks = ""</div><div class='add'>+  BitsPerChar.times do |b|</div><div class='add'>+    masks &lt;&lt; (1 &lt;&lt; b).chr</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  count = 0</div><div class='add'>+  pmax = m - 1</div><div class='add'>+  2.step(pmax, 1) do |p|</div><div class='add'>+    if items[p &gt;&gt; CharExponent][p &amp; LowMask] == 1</div><div class='add'>+      count += 1</div><div class='add'>+      p.step(pmax, p) do |mult|</div><div class='add'>+	a = mult &gt;&gt; CharExponent</div><div class='add'>+	b = mult &amp; LowMask</div><div class='add'>+	items[a] -= masks[b] if items[a][b] != 0</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  count</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+n = 9 # (ARGV[0] || 2).to_i</div><div class='add'>+n.step(n - 2, -1) do |exponent|</div><div class='add'>+  break if exponent &lt; 0</div><div class='add'>+  m = 2 ** exponent * 10_000</div><div class='add'>+  count = sieve(m)</div><div class='add'>+  printf "Primes up to %8d %8d\n", m, count</div><div class='add'>+end</div><div class='add'>+</div><div class='head'>diff --git a/benchmark/so_object.rb b/benchmark/so_object.rb<br/>new file mode 100644<br/>index 0000000000..131f44624c<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/so_object.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/so_object.rb</a></div><div class='hunk'>@@ -0,0 +1,56 @@</div><div class='add'>+#!/usr/bin/ruby</div><div class='add'>+# -*- Ruby -*-</div><div class='add'>+# $Id: objinst-ruby.code,v 1.4 2004/11/13 07:42:25 bfulgham Exp $</div><div class='add'>+# http://www.bagley.org/~doug/shootout/</div><div class='add'>+# with help from Aristarkh Zagorodnikov</div><div class='add'>+</div><div class='add'>+class Toggle</div><div class='add'>+    def initialize(start_state)</div><div class='add'>+        @bool = start_state</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    def value</div><div class='add'>+        @bool</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    def activate</div><div class='add'>+        @bool = !@bool</div><div class='add'>+        self</div><div class='add'>+    end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+class NthToggle &lt; Toggle</div><div class='add'>+    def initialize(start_state, max_counter)</div><div class='add'>+        super start_state</div><div class='add'>+        @count_max = max_counter</div><div class='add'>+        @counter = 0</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    def activate</div><div class='add'>+        @counter += 1</div><div class='add'>+        if @counter &gt;= @count_max</div><div class='add'>+            @bool = !@bool</div><div class='add'>+            @counter = 0</div><div class='add'>+        end</div><div class='add'>+        self</div><div class='add'>+    end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+n = 1500000 # (ARGV.shift || 1).to_i</div><div class='add'>+</div><div class='add'>+toggle = Toggle.new 1</div><div class='add'>+5.times do</div><div class='add'>+    toggle.activate.value ? 'true' : 'false'</div><div class='add'>+end</div><div class='add'>+n.times do</div><div class='add'>+    toggle = Toggle.new 1</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+ntoggle = NthToggle.new 1, 3</div><div class='add'>+8.times do</div><div class='add'>+    ntoggle.activate.value ? 'true' : 'false'</div><div class='add'>+end</div><div class='add'>+n.times do</div><div class='add'>+    ntoggle = NthToggle.new 1, 3</div><div class='add'>+end</div><div class='add'>+</div><div class='head'>diff --git a/benchmark/so_partial_sums.rb b/benchmark/so_partial_sums.rb<br/>new file mode 100644<br/>index 0000000000..630b45cb8d<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/so_partial_sums.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/so_partial_sums.rb</a></div><div class='hunk'>@@ -0,0 +1,31 @@</div><div class='add'>+n = 2_500_000 # (ARGV.shift || 1).to_i</div><div class='add'>+</div><div class='add'>+alt = 1.0 ; s0 = s1 = s2 = s3 = s4 = s5 = s6 = s7 = s8 = 0.0</div><div class='add'>+</div><div class='add'>+1.upto(n) do |d|</div><div class='add'>+  d = d.to_f ; d2 = d * d ; d3 = d2 * d ; ds = Math.sin(d) ; dc = Math.cos(d)</div><div class='add'>+</div><div class='add'>+  s0 += (2.0 / 3.0) ** (d - 1.0)</div><div class='add'>+  s1 += 1.0 / Math.sqrt(d)</div><div class='add'>+  s2 += 1.0 / (d * (d + 1.0))</div><div class='add'>+  s3 += 1.0 / (d3 * ds * ds)</div><div class='add'>+  s4 += 1.0 / (d3 * dc * dc)</div><div class='add'>+  s5 += 1.0 / d</div><div class='add'>+  s6 += 1.0 / d2</div><div class='add'>+  s7 += alt / d</div><div class='add'>+  s8 += alt / (2.0 * d - 1.0)</div><div class='add'>+</div><div class='add'>+  alt = -alt</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+if false</div><div class='add'>+  printf("%.9f\t(2/3)^k\n", s0)</div><div class='add'>+  printf("%.9f\tk^-0.5\n", s1)</div><div class='add'>+  printf("%.9f\t1/k(k+1)\n", s2)</div><div class='add'>+  printf("%.9f\tFlint Hills\n", s3)</div><div class='add'>+  printf("%.9f\tCookson Hills\n", s4)</div><div class='add'>+  printf("%.9f\tHarmonic\n", s5)</div><div class='add'>+  printf("%.9f\tRiemann Zeta\n", s6)</div><div class='add'>+  printf("%.9f\tAlternating Harmonic\n", s7)</div><div class='add'>+  printf("%.9f\tGregory\n", s8)</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/so_pidigits.rb b/benchmark/so_pidigits.rb<br/>new file mode 100644<br/>index 0000000000..9a537b2d1c<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/so_pidigits.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/so_pidigits.rb</a></div><div class='hunk'>@@ -0,0 +1,92 @@</div><div class='add'>+# The Great Computer Language Shootout</div><div class='add'>+# http://shootout.alioth.debian.org/</div><div class='add'>+#</div><div class='add'>+# contributed by Gabriele Renzi</div><div class='add'>+</div><div class='add'>+class PiDigitSpigot</div><div class='add'>+</div><div class='add'>+    def initialize()</div><div class='add'>+        @z = Transformation.new 1,0,0,1</div><div class='add'>+        @x = Transformation.new 0,0,0,0</div><div class='add'>+        @inverse = Transformation.new 0,0,0,0</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    def next!</div><div class='add'>+        @y = @z.extract(3)</div><div class='add'>+        if safe? @y</div><div class='add'>+            @z = produce(@y)</div><div class='add'>+            @y</div><div class='add'>+        else</div><div class='add'>+            @z = consume @x.next!()</div><div class='add'>+            next!()</div><div class='add'>+        end</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    def safe?(digit)</div><div class='add'>+        digit == @z.extract(4)</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    def produce(i)</div><div class='add'>+        @inverse.qrst(10,-10*i,0,1).compose(@z)</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    def consume(a)</div><div class='add'>+        @z.compose(a)</div><div class='add'>+    end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+class Transformation</div><div class='add'>+    attr_reader :q, :r, :s, :t</div><div class='add'>+    def initialize(q, r, s, t)</div><div class='add'>+        @q,@r,@s,@t,@k = q,r,s,t,0</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    def next!()</div><div class='add'>+        @q = @k = @k + 1</div><div class='add'>+        @r = 4 * @k + 2</div><div class='add'>+        @s = 0</div><div class='add'>+        @t = 2 * @k + 1</div><div class='add'>+        self</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    def extract(j)</div><div class='add'>+        (@q * j + @r) / (@s * j + @t)</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    def compose(a)</div><div class='add'>+        self.class.new( @q * a.q,</div><div class='add'>+                        @q * a.r + r * a.t,</div><div class='add'>+                        @s * a.q + t * a.s,</div><div class='add'>+                        @s * a.r + t * a.t</div><div class='add'>+                    )</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    def qrst *args</div><div class='add'>+        initialize *args</div><div class='add'>+        self</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+WIDTH = 10</div><div class='add'>+n = 2_500 # Integer(ARGV[0])</div><div class='add'>+j = 0</div><div class='add'>+</div><div class='add'>+digits = PiDigitSpigot.new</div><div class='add'>+</div><div class='add'>+while n &gt; 0</div><div class='add'>+    if n &gt;= WIDTH</div><div class='add'>+        WIDTH.times {print digits.next!}</div><div class='add'>+        j += WIDTH</div><div class='add'>+    else</div><div class='add'>+        n.times {print digits.next!}</div><div class='add'>+        (WIDTH-n).times {print " "}</div><div class='add'>+        j += n</div><div class='add'>+    end</div><div class='add'>+    puts "\t:"+j.to_s</div><div class='add'>+    n -= WIDTH</div><div class='add'>+end</div><div class='add'>+</div><div class='head'>diff --git a/benchmark/so_random.rb b/benchmark/so_random.rb<br/>new file mode 100644<br/>index 0000000000..a66b9e8e63<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/so_random.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/so_random.rb</a></div><div class='hunk'>@@ -0,0 +1,20 @@</div><div class='add'>+# from http://www.bagley.org/~doug/shootout/bench/random/random.ruby</div><div class='add'>+</div><div class='add'>+IM = 139968.0</div><div class='add'>+IA = 3877.0</div><div class='add'>+IC = 29573.0</div><div class='add'>+</div><div class='add'>+$last = 42.0</div><div class='add'>+</div><div class='add'>+def gen_random(max)</div><div class='add'>+  (max * ($last = ($last * IA + IC) % IM)) / IM</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+N = 3_000_000</div><div class='add'>+</div><div class='add'>+i = 0</div><div class='add'>+while i&lt;N</div><div class='add'>+  i +=1</div><div class='add'>+  gen_random(100.0)</div><div class='add'>+end</div><div class='add'>+# "%.9f" % gen_random(100.0)</div><div class='head'>diff --git a/benchmark/so_reverse_complement.yml b/benchmark/so_reverse_complement.yml<br/>new file mode 100644<br/>index 0000000000..de05eedfc4<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/so_reverse_complement.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/so_reverse_complement.yml</a></div><div class='hunk'>@@ -0,0 +1,137 @@</div><div class='add'>+prelude: |</div><div class='add'>+  bm_so_fasta = &lt;&lt;'EOS'</div><div class='add'>+  # The Computer Language Shootout</div><div class='add'>+  # http://shootout.alioth.debian.org/</div><div class='add'>+  # Contributed by Sokolov Yura</div><div class='add'>+</div><div class='add'>+  $last = 42.0</div><div class='add'>+  def gen_random(max, im=139968, ia=3877, ic=29573)</div><div class='add'>+      (max * ($last = ($last * ia + ic) % im)) / im</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  alu =</div><div class='add'>+     "GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG"+</div><div class='add'>+     "GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA"+</div><div class='add'>+     "CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT"+</div><div class='add'>+     "ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA"+</div><div class='add'>+     "GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG"+</div><div class='add'>+     "AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC"+</div><div class='add'>+     "AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA"</div><div class='add'>+</div><div class='add'>+  iub = [</div><div class='add'>+      ["a", 0.27],</div><div class='add'>+      ["c", 0.12],</div><div class='add'>+      ["g", 0.12],</div><div class='add'>+      ["t", 0.27],</div><div class='add'>+</div><div class='add'>+      ["B", 0.02],</div><div class='add'>+      ["D", 0.02],</div><div class='add'>+      ["H", 0.02],</div><div class='add'>+      ["K", 0.02],</div><div class='add'>+      ["M", 0.02],</div><div class='add'>+      ["N", 0.02],</div><div class='add'>+      ["R", 0.02],</div><div class='add'>+      ["S", 0.02],</div><div class='add'>+      ["V", 0.02],</div><div class='add'>+      ["W", 0.02],</div><div class='add'>+      ["Y", 0.02],</div><div class='add'>+  ]</div><div class='add'>+  homosapiens = [</div><div class='add'>+      ["a", 0.3029549426680],</div><div class='add'>+      ["c", 0.1979883004921],</div><div class='add'>+      ["g", 0.1975473066391],</div><div class='add'>+      ["t", 0.3015094502008],</div><div class='add'>+  ]</div><div class='add'>+</div><div class='add'>+  def make_repeat_fasta(id, desc, src, n)</div><div class='add'>+      puts "&gt;#{id} #{desc}"</div><div class='add'>+      v = nil</div><div class='add'>+      width = 60</div><div class='add'>+      l = src.length</div><div class='add'>+      s = src * ((n / l) + 1)</div><div class='add'>+      s.slice!(n, l)</div><div class='add'>+      puts(s.scan(/.{1,#{width}}/).join("\n"))</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def make_random_fasta(id, desc, table, n)</div><div class='add'>+      puts "&gt;#{id} #{desc}"</div><div class='add'>+      rand, v = nil,nil</div><div class='add'>+      width = 60</div><div class='add'>+      chunk = 1 * width</div><div class='add'>+      prob = 0.0</div><div class='add'>+      table.each{|v| v[1]= (prob += v[1])}</div><div class='add'>+      for i in 1..(n/width)</div><div class='add'>+          puts((1..width).collect{</div><div class='add'>+              rand = gen_random(1.0)</div><div class='add'>+              table.find{|v| v[1]&gt;rand}[0]</div><div class='add'>+          }.join)</div><div class='add'>+      end</div><div class='add'>+      if n%width != 0</div><div class='add'>+          puts((1..(n%width)).collect{</div><div class='add'>+              rand = gen_random(1.0)</div><div class='add'>+              table.find{|v| v[1]&gt;rand}[0]</div><div class='add'>+          }.join)</div><div class='add'>+      end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+  n = (ARGV[0] or 250_000).to_i</div><div class='add'>+</div><div class='add'>+  make_repeat_fasta('ONE', 'Homo sapiens alu', alu, n*2)</div><div class='add'>+  make_random_fasta('TWO', 'IUB ambiguity codes', iub, n*3)</div><div class='add'>+  make_random_fasta('THREE', 'Homo sapiens frequency', homosapiens, n*5)</div><div class='add'>+  EOS</div><div class='add'>+benchmark:</div><div class='add'>+  - name: so_reverse_complement</div><div class='add'>+    prelude: |</div><div class='add'>+      script = File.join(File.dirname($0), 'bm_so_fasta.rb')</div><div class='add'>+      File.write(script, bm_so_fasta)</div><div class='add'>+</div><div class='add'>+      def prepare_fasta_output n</div><div class='add'>+        filebase = File.join(File.dirname($0), 'fasta.output')</div><div class='add'>+        script = File.join(File.dirname($0), 'bm_so_fasta.rb')</div><div class='add'>+        file = "#{filebase}.#{n}"</div><div class='add'>+</div><div class='add'>+        unless FileTest.exist?(file)</div><div class='add'>+          STDERR.puts "preparing #{file}"</div><div class='add'>+</div><div class='add'>+          open(file, 'w'){|f|</div><div class='add'>+            ARGV[0] = n</div><div class='add'>+            $stdout = f</div><div class='add'>+            load script</div><div class='add'>+            $stdout = STDOUT</div><div class='add'>+          }</div><div class='add'>+        end</div><div class='add'>+      end</div><div class='add'>+      prepare_fasta_output(2_500_000)</div><div class='add'>+    script: |</div><div class='add'>+      # The Great Computer Language Shootout</div><div class='add'>+      # http://shootout.alioth.debian.org/</div><div class='add'>+      #</div><div class='add'>+      # Contributed by Peter Bjarke Olsen</div><div class='add'>+      # Modified by Doug King</div><div class='add'>+</div><div class='add'>+      seq=Array.new</div><div class='add'>+</div><div class='add'>+      def revcomp(seq)</div><div class='add'>+        seq.reverse!.tr!('wsatugcyrkmbdhvnATUGCYRKMBDHVN','WSTAACGRYMKVHDBNTAACGRYMKVHDBN')</div><div class='add'>+        stringlen=seq.length</div><div class='add'>+        0.step(stringlen-1,60) {|x| print seq.slice(x,60) , "\n"}</div><div class='add'>+      end</div><div class='add'>+</div><div class='add'>+      input = open(File.join(File.dirname($0), 'fasta.output.2500000'), 'rb')</div><div class='add'>+</div><div class='add'>+      while input.gets</div><div class='add'>+        if $_ =~ /&gt;/</div><div class='add'>+          if seq.length != 0</div><div class='add'>+            revcomp(seq.join)</div><div class='add'>+            seq=Array.new</div><div class='add'>+          end</div><div class='add'>+          puts $_</div><div class='add'>+        else</div><div class='add'>+          $_.sub(/\n/,'')</div><div class='add'>+          seq.push $_</div><div class='add'>+        end</div><div class='add'>+      end</div><div class='add'>+      revcomp(seq.join)</div><div class='add'>+    loop_count: 1</div><div class='head'>diff --git a/benchmark/so_sieve.rb b/benchmark/so_sieve.rb<br/>new file mode 100644<br/>index 0000000000..43dc302648<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/so_sieve.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/so_sieve.rb</a></div><div class='hunk'>@@ -0,0 +1,24 @@</div><div class='add'>+# from http://www.bagley.org/~doug/shootout/bench/sieve/sieve.ruby</div><div class='add'>+num = 500</div><div class='add'>+count = i = j = 0</div><div class='add'>+flags0 = Array.new(8192,1)</div><div class='add'>+k = 0</div><div class='add'>+while k &lt; num</div><div class='add'>+  k += 1</div><div class='add'>+  count = 0</div><div class='add'>+  flags = flags0.dup</div><div class='add'>+  i = 2</div><div class='add'>+  while i&lt;8192</div><div class='add'>+    i += 1</div><div class='add'>+    if flags[i]</div><div class='add'>+      # remove all multiples of prime: i</div><div class='add'>+      j = i*i</div><div class='add'>+      while j &lt; 8192</div><div class='add'>+        j += i</div><div class='add'>+        flags[j] = nil</div><div class='add'>+      end</div><div class='add'>+      count += 1</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+count</div><div class='head'>diff --git a/benchmark/so_spectralnorm.rb b/benchmark/so_spectralnorm.rb<br/>new file mode 100644<br/>index 0000000000..6b97206689<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/so_spectralnorm.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/so_spectralnorm.rb</a></div><div class='hunk'>@@ -0,0 +1,50 @@</div><div class='add'>+# The Computer Language Shootout</div><div class='add'>+# http://shootout.alioth.debian.org/</div><div class='add'>+# Contributed by Sokolov Yura</div><div class='add'>+</div><div class='add'>+def eval_A(i,j)</div><div class='add'>+	return 1.0/((i+j)*(i+j+1)/2+i+1)</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def eval_A_times_u(u)</div><div class='add'>+        v, i = nil, nil</div><div class='add'>+	(0..u.length-1).collect { |i|</div><div class='add'>+                v = 0</div><div class='add'>+		for j in 0..u.length-1</div><div class='add'>+			v += eval_A(i,j)*u[j]</div><div class='add'>+                end</div><div class='add'>+                v</div><div class='add'>+        }</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def eval_At_times_u(u)</div><div class='add'>+	v, i = nil, nil</div><div class='add'>+	(0..u.length-1).collect{|i|</div><div class='add'>+                v = 0</div><div class='add'>+		for j in 0..u.length-1</div><div class='add'>+			v += eval_A(j,i)*u[j]</div><div class='add'>+                end</div><div class='add'>+                v</div><div class='add'>+        }</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def eval_AtA_times_u(u)</div><div class='add'>+	return eval_At_times_u(eval_A_times_u(u))</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+n = 500 # ARGV[0].to_i</div><div class='add'>+</div><div class='add'>+u=[1]*n</div><div class='add'>+for i in 1..10</div><div class='add'>+        v=eval_AtA_times_u(u)</div><div class='add'>+        u=eval_AtA_times_u(v)</div><div class='add'>+end</div><div class='add'>+vBv=0</div><div class='add'>+vv=0</div><div class='add'>+for i in 0..n-1</div><div class='add'>+        vBv += u[i]*v[i]</div><div class='add'>+        vv += v[i]*v[i]</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+str = "%0.9f" % (Math.sqrt(vBv/vv)), "\n"</div><div class='add'>+# print str</div><div class='head'>diff --git a/benchmark/string_capitalize.yml b/benchmark/string_capitalize.yml<br/>new file mode 100644<br/>index 0000000000..7d23fd3d35<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/string_capitalize.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/string_capitalize.yml</a></div><div class='hunk'>@@ -0,0 +1,10 @@</div><div class='add'>+prelude: |</div><div class='add'>+  str1 = [*"a".."m",*"N".."Z",*"0".."9"].join("")</div><div class='add'>+  str10 = str1 * 10</div><div class='add'>+  str100 = str10 * 10</div><div class='add'>+  str1000 = str100 * 10</div><div class='add'>+benchmark:</div><div class='add'>+  capitalize-1: str1.capitalize</div><div class='add'>+  capitalize-10: str10.capitalize</div><div class='add'>+  capitalize-100: str100.capitalize</div><div class='add'>+  capitalize-1000: str1000.capitalize</div><div class='head'>diff --git a/benchmark/string_casecmp.yml b/benchmark/string_casecmp.yml<br/>new file mode 100644<br/>index 0000000000..2354040a04<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/string_casecmp.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/string_casecmp.yml</a></div><div class='hunk'>@@ -0,0 +1,26 @@</div><div class='add'>+prelude: |</div><div class='add'>+  lstr1 = [*"a".."z",*"0".."9"].join("")</div><div class='add'>+  lstr10 = lstr1 * 10</div><div class='add'>+  lstr100 = lstr10 * 10</div><div class='add'>+  lstr1000 = lstr100 * 10</div><div class='add'>+  lnonascii1 = [*"\u{e0}".."\u{ff}"].join("")</div><div class='add'>+  lnonascii10 = lnonascii1 * 10</div><div class='add'>+  lnonascii100 = lnonascii10 * 10</div><div class='add'>+  lnonascii1000 = lnonascii100 * 10</div><div class='add'>+  ustr1 = [*"A".."Z",*"0".."9"].join("")</div><div class='add'>+  ustr10 = ustr1 * 10</div><div class='add'>+  ustr100 = ustr10 * 10</div><div class='add'>+  ustr1000 = ustr100 * 10</div><div class='add'>+  unonascii1 = [*"\u{c0}".."\u{df}"].join("")</div><div class='add'>+  unonascii10 = unonascii1 * 10</div><div class='add'>+  unonascii100 = unonascii10 * 10</div><div class='add'>+  unonascii1000 = unonascii100 * 10</div><div class='add'>+benchmark:</div><div class='add'>+  casecmp-1: lstr1.casecmp(ustr1)</div><div class='add'>+  casecmp-10: lstr10.casecmp(ustr10)</div><div class='add'>+  casecmp-100: lstr100.casecmp(ustr100)</div><div class='add'>+  casecmp-1000: lstr1000.casecmp(ustr1000)</div><div class='add'>+  casecmp-nonascii1: lnonascii1.casecmp(unonascii1)</div><div class='add'>+  casecmp-nonascii10: lnonascii10.casecmp(unonascii10)</div><div class='add'>+  casecmp-nonascii100: lnonascii100.casecmp(unonascii100)</div><div class='add'>+  casecmp-nonascii1000: lnonascii1000.casecmp(unonascii1000)</div><div class='head'>diff --git a/benchmark/string_casecmp_p.yml b/benchmark/string_casecmp_p.yml<br/>new file mode 100644<br/>index 0000000000..a790ce7d55<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/string_casecmp_p.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/string_casecmp_p.yml</a></div><div class='hunk'>@@ -0,0 +1,26 @@</div><div class='add'>+prelude: |</div><div class='add'>+  lstr1 = [*"a".."z",*"0".."9"].join("")</div><div class='add'>+  lstr10 = lstr1 * 10</div><div class='add'>+  lstr100 = lstr10 * 10</div><div class='add'>+  lstr1000 = lstr100 * 10</div><div class='add'>+  lnonascii1 = [*"\u{e0}".."\u{ff}"].join("")</div><div class='add'>+  lnonascii10 = lnonascii1 * 10</div><div class='add'>+  lnonascii100 = lnonascii10 * 10</div><div class='add'>+  lnonascii1000 = lnonascii100 * 10</div><div class='add'>+  ustr1 = [*"A".."Z",*"0".."9"].join("")</div><div class='add'>+  ustr10 = ustr1 * 10</div><div class='add'>+  ustr100 = ustr10 * 10</div><div class='add'>+  ustr1000 = ustr100 * 10</div><div class='add'>+  unonascii1 = [*"\u{c0}".."\u{df}"].join("")</div><div class='add'>+  unonascii10 = unonascii1 * 10</div><div class='add'>+  unonascii100 = unonascii10 * 10</div><div class='add'>+  unonascii1000 = unonascii100 * 10</div><div class='add'>+benchmark:</div><div class='add'>+  casecmp_p-1: lstr1.casecmp?(ustr1)</div><div class='add'>+  casecmp_p-10: lstr10.casecmp?(ustr10)</div><div class='add'>+  casecmp_p-100: lstr100.casecmp?(ustr100)</div><div class='add'>+  casecmp_p-1000: lstr1000.casecmp?(ustr1000)</div><div class='add'>+  casecmp_p-nonascii1: lnonascii1.casecmp?(unonascii1)</div><div class='add'>+  casecmp_p-nonascii10: lnonascii10.casecmp?(unonascii10)</div><div class='add'>+  casecmp_p-nonascii100: lnonascii100.casecmp?(unonascii100)</div><div class='add'>+  casecmp_p-nonascii1000: lnonascii1000.casecmp?(unonascii1000)</div><div class='head'>diff --git a/benchmark/string_downcase.yml b/benchmark/string_downcase.yml<br/>new file mode 100644<br/>index 0000000000..1fea6afbec<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/string_downcase.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/string_downcase.yml</a></div><div class='hunk'>@@ -0,0 +1,18 @@</div><div class='add'>+prelude: |</div><div class='add'>+  str1 = [*"A".."Z",*"0".."9"].join("")</div><div class='add'>+  str10 = str1 * 10</div><div class='add'>+  str100 = str10 * 10</div><div class='add'>+  str1000 = str100 * 10</div><div class='add'>+  nonascii1 = [*"\u{c0}".."\u{df}"].join("")</div><div class='add'>+  nonascii10 = nonascii1 * 10</div><div class='add'>+  nonascii100 = nonascii10 * 10</div><div class='add'>+  nonascii1000 = nonascii100 * 10</div><div class='add'>+benchmark:</div><div class='add'>+  downcase-1: str1.upcase</div><div class='add'>+  downcase-10: str10.upcase</div><div class='add'>+  downcase-100: str100.upcase</div><div class='add'>+  downcase-1000: str1000.upcase</div><div class='add'>+  downcase-nonascii1: nonascii1.downcase</div><div class='add'>+  downcase-nonascii10: nonascii10.downcase</div><div class='add'>+  downcase-nonascii100: nonascii100.downcase</div><div class='add'>+  downcase-nonascii1000: nonascii1000.downcase</div><div class='head'>diff --git a/benchmark/string_index.rb b/benchmark/string_index.rb<br/>new file mode 100644<br/>index 0000000000..7783111082<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/string_index.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/string_index.rb</a></div><div class='hunk'>@@ -0,0 +1,3 @@</div><div class='add'>+str1 = "ã‚" * 1024 + "ã„" # not single byte optimizable</div><div class='add'>+str2 = "ã„"</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..b0d60201a9<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/string_scan_re.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/string_scan_re.rb</a></div><div class='hunk'>@@ -0,0 +1,2 @@</div><div class='add'>+str = Array.new(1_000, 'abc').join(',')</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..42440bd948<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/string_scan_str.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/string_scan_str.rb</a></div><div class='hunk'>@@ -0,0 +1,2 @@</div><div class='add'>+str = Array.new(1_000, 'abc').join(',')</div><div class='add'>+1_000.times { str.scan('abc') }</div><div class='head'>diff --git a/benchmark/string_slice.yml b/benchmark/string_slice.yml<br/>new file mode 100644<br/>index 0000000000..fc2393c5d1<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/string_slice.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/string_slice.yml</a></div><div class='hunk'>@@ -0,0 +1,11 @@</div><div class='add'>+prelude: |</div><div class='add'>+  long_string = "x"*1000+"-hÃ¥r"</div><div class='add'>+benchmark:</div><div class='add'>+  regexp-short: |</div><div class='add'>+    "x-hÃ¥r".slice!(/-(.)(.)(.)/, 3)</div><div class='add'>+  regexp-long: |</div><div class='add'>+    long_string.dup.slice!(/-(.)(.)(.)/, 3)</div><div class='add'>+  string-short: |</div><div class='add'>+    "x-hÃ¥r".slice!("r")</div><div class='add'>+  string-long: |</div><div class='add'>+    long_string.dup.slice!("r")</div><div class='head'>diff --git a/benchmark/string_split.yml b/benchmark/string_split.yml<br/>new file mode 100644<br/>index 0000000000..cc2c7d7855<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/string_split.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/string_split.yml</a></div><div class='hunk'>@@ -0,0 +1,22 @@</div><div class='add'>+prelude: |</div><div class='add'>+  str1 = [*0..5].join(" ") + " "</div><div class='add'>+  str10 = str1 * 10</div><div class='add'>+  str100 = str10 * 10</div><div class='add'>+  str1000 = str100 * 10</div><div class='add'>+benchmark:</div><div class='add'>+  to_chars-1: str1.split('')</div><div class='add'>+  to_chars-10: str10.split('')</div><div class='add'>+  to_chars-100: str100.split('')</div><div class='add'>+  to_chars-1000: str1000.split('')</div><div class='add'>+  to_words-1: str1.split(' ')</div><div class='add'>+  to_words-10: str10.split(' ')</div><div class='add'>+  to_words-100: str100.split(' ')</div><div class='add'>+  to_words-1000: str1000.split(' ')</div><div class='add'>+  re_chars-1: str1.split(//)</div><div class='add'>+  re_chars-10: str10.split(//)</div><div class='add'>+  re_chars-100: str100.split(//)</div><div class='add'>+  re_chars-1000: str1000.split(//)</div><div class='add'>+  re_space-1: str1.split(/ /)</div><div class='add'>+  re_space-10: str10.split(/ /)</div><div class='add'>+  re_space-100: str100.split(/ /)</div><div class='add'>+  re_space-1000: str1000.split(/ /)</div><div class='head'>diff --git a/benchmark/string_swapcase.yml b/benchmark/string_swapcase.yml<br/>new file mode 100644<br/>index 0000000000..eeb5928907<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/string_swapcase.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/string_swapcase.yml</a></div><div class='hunk'>@@ -0,0 +1,18 @@</div><div class='add'>+prelude: |</div><div class='add'>+  str1 = [*"A".."M",*"n".."z",*"0".."9"].join("")</div><div class='add'>+  str10 = str1 * 10</div><div class='add'>+  str100 = str10 * 10</div><div class='add'>+  str1000 = str100 * 10</div><div class='add'>+  nonascii1 = [*"\u{c0}".."\u{cf}",*"\u{f0}".."\u{ff}"].join("")</div><div class='add'>+  nonascii10 = nonascii1 * 10</div><div class='add'>+  nonascii100 = nonascii10 * 10</div><div class='add'>+  nonascii1000 = nonascii100 * 10</div><div class='add'>+benchmark:</div><div class='add'>+  swapcase-1: str1.swapcase</div><div class='add'>+  swapcase-10: str10.swapcase</div><div class='add'>+  swapcase-100: str100.swapcase</div><div class='add'>+  swapcase-1000: str1000.swapcase</div><div class='add'>+  swapcase-nonascii1: nonascii1.swapcase</div><div class='add'>+  swapcase-nonascii10: nonascii10.swapcase</div><div class='add'>+  swapcase-nonascii100: nonascii100.swapcase</div><div class='add'>+  swapcase-nonascii1000: nonascii1000.swapcase</div><div class='head'>diff --git a/benchmark/string_upcase.yml b/benchmark/string_upcase.yml<br/>new file mode 100644<br/>index 0000000000..dab84bbde2<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/string_upcase.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/string_upcase.yml</a></div><div class='hunk'>@@ -0,0 +1,18 @@</div><div class='add'>+prelude: |</div><div class='add'>+  str1 = [*"a".."z",*"0".."9"].join("")</div><div class='add'>+  str10 = str1 * 10</div><div class='add'>+  str100 = str10 * 10</div><div class='add'>+  str1000 = str100 * 10</div><div class='add'>+  nonascii1 = [*"\u{e0}".."\u{ff}"].join("")</div><div class='add'>+  nonascii10 = nonascii1 * 10</div><div class='add'>+  nonascii100 = nonascii10 * 10</div><div class='add'>+  nonascii1000 = nonascii100 * 10</div><div class='add'>+benchmark:</div><div class='add'>+  upcase-1: str1.upcase</div><div class='add'>+  upcase-10: str10.upcase</div><div class='add'>+  upcase-100: str100.upcase</div><div class='add'>+  upcase-1000: str1000.upcase</div><div class='add'>+  upcase-nonascii1: nonascii1.upcase</div><div class='add'>+  upcase-nonascii10: nonascii10.upcase</div><div class='add'>+  upcase-nonascii100: nonascii100.upcase</div><div class='add'>+  upcase-nonascii1000: nonascii1000.upcase</div><div class='head'>diff --git a/benchmark/time_strptime.yml b/benchmark/time_strptime.yml<br/>new file mode 100644<br/>index 0000000000..8d89ebb7a7<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/time_strptime.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/time_strptime.yml</a></div><div class='hunk'>@@ -0,0 +1,13 @@</div><div class='add'>+prelude: |</div><div class='add'>+  require 'time'</div><div class='add'>+benchmark:</div><div class='add'>+  - Time.strptime("28/Aug/2005:06:54:20 +0000", "%d/%b/%Y:%T %z")</div><div class='add'>+  - Time.strptime("1", "%s")</div><div class='add'>+  - Time.strptime("0 +0100", "%s %z")</div><div class='add'>+  - Time.strptime("0 UTC", "%s %z")</div><div class='add'>+  - Time.strptime("1.5", "%s.%N")</div><div class='add'>+  - Time.strptime("1.000000000001", "%s.%N")</div><div class='add'>+  - Time.strptime("20010203 -0200", "%Y%m%d %z")</div><div class='add'>+  - Time.strptime("20010203 UTC", "%Y%m%d %z")</div><div class='add'>+  - Time.strptime("2018-365", "%Y-%j")</div><div class='add'>+  - Time.strptime("2018-091", "%Y-%j")</div><div class='head'>diff --git a/benchmark/time_subsec.rb b/benchmark/time_subsec.rb<br/>new file mode 100644<br/>index 0000000000..505021c701<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/time_subsec.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/time_subsec.rb</a></div><div class='hunk'>@@ -0,0 +1,2 @@</div><div class='add'>+t = Time.now</div><div class='add'>+4000000.times { t.subsec }</div><div class='head'>diff --git a/benchmark/vm_array.yml b/benchmark/vm_array.yml<br/>new file mode 100644<br/>index 0000000000..2a177237ef<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_array.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_array.yml</a></div><div class='hunk'>@@ -0,0 +1,4 @@</div><div class='add'>+benchmark:</div><div class='add'>+  vm_array: |</div><div class='add'>+    a = [1,2,3,4,5,6,7,8,9,10]</div><div class='add'>+loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm_attr_ivar.yml b/benchmark/vm_attr_ivar.yml<br/>new file mode 100644<br/>index 0000000000..75b803478e<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_attr_ivar.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_attr_ivar.yml</a></div><div class='hunk'>@@ -0,0 +1,14 @@</div><div class='add'>+prelude: |</div><div class='add'>+  class C</div><div class='add'>+    attr_reader :a, :b</div><div class='add'>+    def initialize</div><div class='add'>+      @a = nil</div><div class='add'>+      @b = nil</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  obj = C.new</div><div class='add'>+benchmark:</div><div class='add'>+  vm_attr_ivar: |</div><div class='add'>+    j = obj.a</div><div class='add'>+    k = obj.b</div><div class='add'>+loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm_attr_ivar_set.yml b/benchmark/vm_attr_ivar_set.yml<br/>new file mode 100644<br/>index 0000000000..a0d379b18a<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_attr_ivar_set.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_attr_ivar_set.yml</a></div><div class='hunk'>@@ -0,0 +1,14 @@</div><div class='add'>+prelude: |</div><div class='add'>+  class C</div><div class='add'>+    attr_accessor :a, :b</div><div class='add'>+    def initialize</div><div class='add'>+      @a = nil</div><div class='add'>+      @b = nil</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  obj = C.new</div><div class='add'>+benchmark:</div><div class='add'>+  vm_attr_ivar_set: |</div><div class='add'>+    obj.a = 1</div><div class='add'>+    obj.b = 2</div><div class='add'>+loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm_backtrace.rb b/benchmark/vm_backtrace.rb<br/>new file mode 100644<br/>index 0000000000..0fbf73e1ca<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_backtrace.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_backtrace.rb</a></div><div class='hunk'>@@ -0,0 +1,22 @@</div><div class='add'>+# get last backtrace</div><div class='add'>+</div><div class='add'>+begin</div><div class='add'>+  caller(0, 0)</div><div class='add'>+rescue ArgumentError</div><div class='add'>+  alias caller_orig caller</div><div class='add'>+  def caller lev, n</div><div class='add'>+    caller_orig(lev)[0..n]</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def rec n</div><div class='add'>+  if n &lt; 0</div><div class='add'>+    100_000.times{</div><div class='add'>+      caller(0, 1)</div><div class='add'>+    }</div><div class='add'>+  else</div><div class='add'>+    rec(n-1)</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+rec 50</div><div class='head'>diff --git a/benchmark/vm_bigarray.yml b/benchmark/vm_bigarray.yml<br/>new file mode 100644<br/>index 0000000000..8b2d3f3443<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_bigarray.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_bigarray.yml</a></div><div class='hunk'>@@ -0,0 +1,105 @@</div><div class='add'>+benchmark:</div><div class='add'>+  vm_bigarray: |</div><div class='add'>+    a = [</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+      1,2,3,4,5,6,7,8,9,10,</div><div class='add'>+    ]</div><div class='add'>+loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm_bighash.yml b/benchmark/vm_bighash.yml<br/>new file mode 100644<br/>index 0000000000..4dacfde793<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_bighash.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_bighash.yml</a></div><div class='hunk'>@@ -0,0 +1,4 @@</div><div class='add'>+benchmark:</div><div class='add'>+  vm_bighash: |</div><div class='add'>+    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='add'>+loop_count: 60000</div><div class='head'>diff --git a/benchmark/vm_block.yml b/benchmark/vm_block.yml<br/>new file mode 100644<br/>index 0000000000..68b3e40bf5<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_block.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_block.yml</a></div><div class='hunk'>@@ -0,0 +1,9 @@</div><div class='add'>+prelude: |</div><div class='add'>+  def m</div><div class='add'>+    yield</div><div class='add'>+  end</div><div class='add'>+benchmark:</div><div class='add'>+  vm_block: |</div><div class='add'>+    m{</div><div class='add'>+    }</div><div class='add'>+loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm_block_handler.yml b/benchmark/vm_block_handler.yml<br/>new file mode 100644<br/>index 0000000000..461d7953ad<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_block_handler.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_block_handler.yml</a></div><div class='hunk'>@@ -0,0 +1,27 @@</div><div class='add'>+# :FIXME: is there a way to benchmark block_handler_type_ifunc?</div><div class='add'>+</div><div class='add'>+prelude: |</div><div class='add'>+  p = proc{_1}</div><div class='add'>+  o = Object.new</div><div class='add'>+  def o.each</div><div class='add'>+    i = 0</div><div class='add'>+    while i &lt; 3_000_000 do</div><div class='add'>+      yield i</div><div class='add'>+      i += 1</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+benchmark:</div><div class='add'>+  - name: block_handler_type_iseq</div><div class='add'>+    script: |</div><div class='add'>+      o.each{_1}</div><div class='add'>+</div><div class='add'>+  - name: block_handler_type_symbol</div><div class='add'>+    script: |</div><div class='add'>+      o.each(&amp;:itself)</div><div class='add'>+</div><div class='add'>+  - name: block_handler_type_proc</div><div class='add'>+    script: |</div><div class='add'>+      o.each(&amp;p)</div><div class='add'>+</div><div class='add'>+loop_count: 1</div><div class='head'>diff --git a/benchmark/vm_blockparam.yml b/benchmark/vm_blockparam.yml<br/>new file mode 100644<br/>index 0000000000..5e5a0170a2<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_blockparam.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_blockparam.yml</a></div><div class='hunk'>@@ -0,0 +1,7 @@</div><div class='add'>+prelude: |</div><div class='add'>+  def m &amp;b</div><div class='add'>+  end</div><div class='add'>+benchmark:</div><div class='add'>+  vm_blockparam: |</div><div class='add'>+    m{}</div><div class='add'>+loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm_blockparam_call.yml b/benchmark/vm_blockparam_call.yml<br/>new file mode 100644<br/>index 0000000000..a7d8d366ea<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_blockparam_call.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_blockparam_call.yml</a></div><div class='hunk'>@@ -0,0 +1,8 @@</div><div class='add'>+prelude: |</div><div class='add'>+  def m &amp;b</div><div class='add'>+    b.call</div><div class='add'>+  end</div><div class='add'>+benchmark:</div><div class='add'>+  vm_blockparam_call: |</div><div class='add'>+    m{}</div><div class='add'>+loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm_blockparam_pass.yml b/benchmark/vm_blockparam_pass.yml<br/>new file mode 100644<br/>index 0000000000..841f5e7a63<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_blockparam_pass.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_blockparam_pass.yml</a></div><div class='hunk'>@@ -0,0 +1,12 @@</div><div class='add'>+prelude: |</div><div class='add'>+  def bp_yield</div><div class='add'>+    yield</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def bp_pass &amp;b</div><div class='add'>+    bp_yield &amp;b</div><div class='add'>+  end</div><div class='add'>+benchmark:</div><div class='add'>+  vm_blockparam_pass: |</div><div class='add'>+    bp_pass{}</div><div class='add'>+loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm_blockparam_yield.yml b/benchmark/vm_blockparam_yield.yml<br/>new file mode 100644<br/>index 0000000000..8ea9b46ed2<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_blockparam_yield.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_blockparam_yield.yml</a></div><div class='hunk'>@@ -0,0 +1,8 @@</div><div class='add'>+prelude: |</div><div class='add'>+  def bp_yield &amp;b</div><div class='add'>+    yield</div><div class='add'>+  end</div><div class='add'>+benchmark:</div><div class='add'>+  vm_blockparam_yield: |</div><div class='add'>+    bp_yield{}</div><div class='add'>+loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm_case.yml b/benchmark/vm_case.yml<br/>new file mode 100644<br/>index 0000000000..b26a491a15<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_case.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_case.yml</a></div><div class='hunk'>@@ -0,0 +1,13 @@</div><div class='add'>+benchmark:</div><div class='add'>+  vm_case: |</div><div class='add'>+    case :foo</div><div class='add'>+    when :bar</div><div class='add'>+      raise</div><div class='add'>+    when :baz</div><div class='add'>+      raise</div><div class='add'>+    when :boo</div><div class='add'>+      raise</div><div class='add'>+    when :foo</div><div class='add'>+      # noop</div><div class='add'>+    end</div><div class='add'>+loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm_case_lit.yml b/benchmark/vm_case_lit.yml<br/>new file mode 100644<br/>index 0000000000..9f91801544<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_case_lit.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_case_lit.yml</a></div><div class='hunk'>@@ -0,0 +1,23 @@</div><div class='add'>+# loop_count is not utilized since `i` is involved in the script</div><div class='add'>+benchmark:</div><div class='add'>+  vm_case_lit: |</div><div class='add'>+    i = 0</div><div class='add'>+    @ret = [ "foo", true, false, :sym, 6, nil, 0.1, 0xffffffffffffffff ]</div><div class='add'>+    def foo(i)</div><div class='add'>+      @ret[i % @ret.size]</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    while i&lt;6_000_000</div><div class='add'>+      case foo(i)</div><div class='add'>+      when "foo" then :foo</div><div class='add'>+      when true then true</div><div class='add'>+      when false then false</div><div class='add'>+      when :sym then :sym</div><div class='add'>+      when 6 then :fix</div><div class='add'>+      when nil then nil</div><div class='add'>+      when 0.1 then :float</div><div class='add'>+      when 0xffffffffffffffff then :big</div><div class='add'>+      end</div><div class='add'>+      i += 1</div><div class='add'>+    end</div><div class='add'>+loop_count: 1</div><div class='head'>diff --git a/benchmark/vm_clearmethodcache.rb b/benchmark/vm_clearmethodcache.rb<br/>new file mode 100644<br/>index 0000000000..9661323cd2<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_clearmethodcache.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_clearmethodcache.rb</a></div><div class='hunk'>@@ -0,0 +1,8 @@</div><div class='add'>+i = 0</div><div class='add'>+while i&lt;200_000</div><div class='add'>+  i += 1</div><div class='add'>+</div><div class='add'>+  Class.new{</div><div class='add'>+    def m; end</div><div class='add'>+  }</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/vm_const.yml b/benchmark/vm_const.yml<br/>new file mode 100644<br/>index 0000000000..6064d4eed0<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_const.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_const.yml</a></div><div class='hunk'>@@ -0,0 +1,7 @@</div><div class='add'>+prelude: |</div><div class='add'>+  Const = 1</div><div class='add'>+benchmark:</div><div class='add'>+  vm_const: |</div><div class='add'>+    j = Const</div><div class='add'>+    k = Const</div><div class='add'>+loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm_defined_method.yml b/benchmark/vm_defined_method.yml<br/>new file mode 100644<br/>index 0000000000..347e0cfd33<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_defined_method.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_defined_method.yml</a></div><div class='hunk'>@@ -0,0 +1,8 @@</div><div class='add'>+prelude: |</div><div class='add'>+  class Object</div><div class='add'>+    define_method(:m){}</div><div class='add'>+  end</div><div class='add'>+benchmark:</div><div class='add'>+  vm_defined_method: |</div><div class='add'>+    m; m; m; m; m; m; m; m;</div><div class='add'>+loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm_dstr.yml b/benchmark/vm_dstr.yml<br/>new file mode 100644<br/>index 0000000000..30c7a3193c<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_dstr.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_dstr.yml</a></div><div class='hunk'>@@ -0,0 +1,6 @@</div><div class='add'>+prelude: |</div><div class='add'>+  x = y = 'z'</div><div class='add'>+benchmark:</div><div class='add'>+  vm_dstr: |</div><div class='add'>+    str = "foo#{x}bar#{y}baz"</div><div class='add'>+loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm_ensure.yml b/benchmark/vm_ensure.yml<br/>new file mode 100644<br/>index 0000000000..4ea62f30de<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_ensure.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_ensure.yml</a></div><div class='hunk'>@@ -0,0 +1,14 @@</div><div class='add'>+# Not utilizing loop_count since using it for this is too unstable for now</div><div class='add'>+benchmark:</div><div class='add'>+  vm_ensure: |</div><div class='add'>+    i = 0</div><div class='add'>+    while i&lt;30_000_000</div><div class='add'>+      i += 1</div><div class='add'>+      begin</div><div class='add'>+        begin</div><div class='add'>+        ensure</div><div class='add'>+        end</div><div class='add'>+      ensure</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+loop_count: 1</div><div class='head'>diff --git a/benchmark/vm_eval.yml b/benchmark/vm_eval.yml<br/>new file mode 100644<br/>index 0000000000..7ba1a8d1de<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_eval.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_eval.yml</a></div><div class='hunk'>@@ -0,0 +1,4 @@</div><div class='add'>+benchmark:</div><div class='add'>+  vm_eval: |</div><div class='add'>+    eval("1")</div><div class='add'>+loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm_fiber_allocate.yml b/benchmark/vm_fiber_allocate.yml<br/>new file mode 100644<br/>index 0000000000..b5a54e1ddf<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_fiber_allocate.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_fiber_allocate.yml</a></div><div class='hunk'>@@ -0,0 +1,8 @@</div><div class='add'>+prelude: |</div><div class='add'>+  # Disable GC to see raw throughput:</div><div class='add'>+  GC.disable</div><div class='add'>+benchmark:</div><div class='add'>+  vm_fiber_allocate: |</div><div class='add'>+    fiber = Fiber.new{Fiber.yield}</div><div class='add'>+    fiber.resume</div><div class='add'>+loop_count: 100000</div><div class='head'>diff --git a/benchmark/vm_fiber_count.yml b/benchmark/vm_fiber_count.yml<br/>new file mode 100644<br/>index 0000000000..b83d3152d4<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_fiber_count.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_fiber_count.yml</a></div><div class='hunk'>@@ -0,0 +1,10 @@</div><div class='add'>+# On Linux, you will need to increase the maximum number of memory maps:</div><div class='add'>+# sudo sysctl -w vm.max_map_count=200000</div><div class='add'>+prelude: |</div><div class='add'>+  fibers = []</div><div class='add'>+benchmark:</div><div class='add'>+  vm_fiber_count: |</div><div class='add'>+    fiber = Fiber.new{Fiber.yield}</div><div class='add'>+    fibers &lt;&lt; fiber</div><div class='add'>+    fiber.resume</div><div class='add'>+loop_count: 100000</div><div class='head'>diff --git a/benchmark/vm_fiber_reuse.yml b/benchmark/vm_fiber_reuse.yml<br/>new file mode 100644<br/>index 0000000000..4ca41085b1<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_fiber_reuse.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_fiber_reuse.yml</a></div><div class='hunk'>@@ -0,0 +1,14 @@</div><div class='add'>+prelude: |</div><div class='add'>+  GC.disable</div><div class='add'>+  fibers = []</div><div class='add'>+benchmark:</div><div class='add'>+  vm_fiber_reuse: |</div><div class='add'>+    1024.times do</div><div class='add'>+      fiber = Fiber.new{Fiber.yield}</div><div class='add'>+      fibers &lt;&lt; fiber</div><div class='add'>+      fiber.resume</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    fibers.clear</div><div class='add'>+    GC.start</div><div class='add'>+loop_count: 200</div><div class='head'>diff --git a/benchmark/vm_fiber_reuse_gc.yml b/benchmark/vm_fiber_reuse_gc.yml<br/>new file mode 100644<br/>index 0000000000..892622f121<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_fiber_reuse_gc.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_fiber_reuse_gc.yml</a></div><div class='hunk'>@@ -0,0 +1,12 @@</div><div class='add'>+# https://bugs.ruby-lang.org/issues/16009</div><div class='add'>+prelude: |</div><div class='add'>+  fibers = []</div><div class='add'>+benchmark:</div><div class='add'>+  vm_fiber_reuse_gc: |</div><div class='add'>+    2000.times do</div><div class='add'>+      fiber = Fiber.new{Fiber.yield}</div><div class='add'>+      fibers &lt;&lt; fiber</div><div class='add'>+      fiber.resume</div><div class='add'>+    end</div><div class='add'>+    fibers.clear</div><div class='add'>+loop_count: 100</div><div class='head'>diff --git a/benchmark/vm_fiber_switch.yml b/benchmark/vm_fiber_switch.yml<br/>new file mode 100644<br/>index 0000000000..3de36b66eb<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_fiber_switch.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_fiber_switch.yml</a></div><div class='hunk'>@@ -0,0 +1,9 @@</div><div class='add'>+prelude: |</div><div class='add'>+  # based on benchmark for [ruby-core:65518] [Feature #10341] by Knut Franke</div><div class='add'>+  fib = Fiber.new do</div><div class='add'>+    loop { Fiber.yield }</div><div class='add'>+  end</div><div class='add'>+benchmark:</div><div class='add'>+  vm_fiber_switch: |</div><div class='add'>+    fib.resume</div><div class='add'>+loop_count: 20000000</div><div class='head'>diff --git a/benchmark/vm_float_simple.yml b/benchmark/vm_float_simple.yml<br/>new file mode 100644<br/>index 0000000000..92f5fd52ab<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_float_simple.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_float_simple.yml</a></div><div class='hunk'>@@ -0,0 +1,8 @@</div><div class='add'>+prelude: |</div><div class='add'>+  f = 0.0</div><div class='add'>+benchmark:</div><div class='add'>+  vm_float_simple: |</div><div class='add'>+    f += 0.1; f -= 0.1</div><div class='add'>+    f += 0.1; f -= 0.1</div><div class='add'>+    f += 0.1; f -= 0.1</div><div class='add'>+loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm_freezestring.yml b/benchmark/vm_freezestring.yml<br/>new file mode 100644<br/>index 0000000000..facc9aa043<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_freezestring.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_freezestring.yml</a></div><div class='hunk'>@@ -0,0 +1,10 @@</div><div class='add'>+prelude: |</div><div class='add'>+  class String</div><div class='add'>+    def freeze</div><div class='add'>+      -self</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+benchmark:</div><div class='add'>+  vm_freezestring: |</div><div class='add'>+    "tXnL1BP5T1WPXMjuFNLQtallEtRcay1t2lHtJSrlVsDgvunlbtfpr/DGdH0NGYE9".freeze</div><div class='add'>+loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm_gc.rb b/benchmark/vm_gc.rb<br/>new file mode 100644<br/>index 0000000000..e668026915<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_gc.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_gc.rb</a></div><div class='hunk'>@@ -0,0 +1,6 @@</div><div class='add'>+5000.times do</div><div class='add'>+  100.times do</div><div class='add'>+    {"xxxx"=&gt;"yyyy"}</div><div class='add'>+  end</div><div class='add'>+  GC.start</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/vm_gc_old_full.rb b/benchmark/vm_gc_old_full.rb<br/>new file mode 100644<br/>index 0000000000..cfdfc8c5a5<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_gc_old_full.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_gc_old_full.rb</a></div><div class='hunk'>@@ -0,0 +1,4 @@</div><div class='add'>+old_object = Array.new(1_000_000){''}</div><div class='add'>+100.times do</div><div class='add'>+  GC.start</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/vm_gc_old_immediate.rb b/benchmark/vm_gc_old_immediate.rb<br/>new file mode 100644<br/>index 0000000000..ad22feb655<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_gc_old_immediate.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_gc_old_immediate.rb</a></div><div class='hunk'>@@ -0,0 +1,4 @@</div><div class='add'>+old_object = Array.new(1_000_000){''}</div><div class='add'>+30_000.times do</div><div class='add'>+  GC.start(full_mark: false, immediate_sweep: true)</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/vm_gc_old_lazy.rb b/benchmark/vm_gc_old_lazy.rb<br/>new file mode 100644<br/>index 0000000000..b74d44baf1<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_gc_old_lazy.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_gc_old_lazy.rb</a></div><div class='hunk'>@@ -0,0 +1,4 @@</div><div class='add'>+old_object = Array.new(1_000_000){''}</div><div class='add'>+30_000.times do</div><div class='add'>+  GC.start(full_mark: false, immediate_sweep: false)</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/vm_gc_short_lived.yml b/benchmark/vm_gc_short_lived.yml<br/>new file mode 100644<br/>index 0000000000..29c803fee3<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_gc_short_lived.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_gc_short_lived.yml</a></div><div class='hunk'>@@ -0,0 +1,9 @@</div><div class='add'>+benchmark:</div><div class='add'>+  vm_gc_short_lived: |</div><div class='add'>+    a = '' # short-lived String</div><div class='add'>+    b = ''</div><div class='add'>+    c = ''</div><div class='add'>+    d = ''</div><div class='add'>+    e = ''</div><div class='add'>+    f = ''</div><div class='add'>+loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm_gc_short_with_complex_long.yml b/benchmark/vm_gc_short_with_complex_long.yml<br/>new file mode 100644<br/>index 0000000000..4b6c3ed7b9<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_gc_short_with_complex_long.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_gc_short_with_complex_long.yml</a></div><div class='hunk'>@@ -0,0 +1,25 @@</div><div class='add'>+prelude: |</div><div class='add'>+  def nested_hash h, n</div><div class='add'>+    if n == 0</div><div class='add'>+      ''</div><div class='add'>+    else</div><div class='add'>+      10.times{</div><div class='add'>+        h[Object.new] = nested_hash(h, n-1)</div><div class='add'>+      }</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  long_lived = Hash.new</div><div class='add'>+  nested_hash long_lived, 6</div><div class='add'>+</div><div class='add'>+  GC.start</div><div class='add'>+  GC.start</div><div class='add'>+benchmark:</div><div class='add'>+  vm_gc_short_with_complex_long: |</div><div class='add'>+    a = '' # short-lived String</div><div class='add'>+    b = ''</div><div class='add'>+    c = ''</div><div class='add'>+    d = ''</div><div class='add'>+    e = ''</div><div class='add'>+    f = ''</div><div class='add'>+loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm_gc_short_with_long.yml b/benchmark/vm_gc_short_with_long.yml<br/>new file mode 100644<br/>index 0000000000..03ba0f95a9<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_gc_short_with_long.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_gc_short_with_long.yml</a></div><div class='hunk'>@@ -0,0 +1,13 @@</div><div class='add'>+prelude: |</div><div class='add'>+  long_lived = Array.new(1_000_000){|i| "#{i}"}</div><div class='add'>+  GC.start</div><div class='add'>+  GC.start</div><div class='add'>+benchmark:</div><div class='add'>+  vm_gc_short_with_long: |</div><div class='add'>+    a = '' # short-lived String</div><div class='add'>+    b = ''</div><div class='add'>+    c = ''</div><div class='add'>+    d = ''</div><div class='add'>+    e = ''</div><div class='add'>+    f = ''</div><div class='add'>+loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm_gc_short_with_symbol.yml b/benchmark/vm_gc_short_with_symbol.yml<br/>new file mode 100644<br/>index 0000000000..129b8bf4ed<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_gc_short_with_symbol.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_gc_short_with_symbol.yml</a></div><div class='hunk'>@@ -0,0 +1,13 @@</div><div class='add'>+prelude: |</div><div class='add'>+  50_000.times{|i| sym = "sym#{i}".to_sym}</div><div class='add'>+  GC.start</div><div class='add'>+  GC.start</div><div class='add'>+benchmark:</div><div class='add'>+  vm_gc_short_with_symbol: |</div><div class='add'>+    a = '' # short-lived String</div><div class='add'>+    b = ''</div><div class='add'>+    c = ''</div><div class='add'>+    d = ''</div><div class='add'>+    e = ''</div><div class='add'>+    f = ''</div><div class='add'>+loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm_gc_wb_ary.yml b/benchmark/vm_gc_wb_ary.yml<br/>new file mode 100644<br/>index 0000000000..e3293e72d0<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_gc_wb_ary.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_gc_wb_ary.yml</a></div><div class='hunk'>@@ -0,0 +1,12 @@</div><div class='add'>+prelude: |</div><div class='add'>+  short_lived_ary = []</div><div class='add'>+</div><div class='add'>+  if RUBY_VERSION &gt;= "2.2.0"</div><div class='add'>+    GC.start(full_mark: false, immediate_mark: true, immediate_sweep: true)</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  short_lived = ''</div><div class='add'>+benchmark:</div><div class='add'>+  vm_gc_wb_ary: |</div><div class='add'>+    short_lived_ary[0] = short_lived # write barrier</div><div class='add'>+loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm_gc_wb_ary_promoted.yml b/benchmark/vm_gc_wb_ary_promoted.yml<br/>new file mode 100644<br/>index 0000000000..003995945b<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_gc_wb_ary_promoted.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_gc_wb_ary_promoted.yml</a></div><div class='hunk'>@@ -0,0 +1,15 @@</div><div class='add'>+prelude: |</div><div class='add'>+  long_lived = []</div><div class='add'>+</div><div class='add'>+  if RUBY_VERSION &gt; "2.2.0"</div><div class='add'>+    3.times{ GC.start(full_mark: false, immediate_mark: true, immediate_sweep: true) }</div><div class='add'>+  elsif</div><div class='add'>+    GC.start</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  short_lived = ''</div><div class='add'>+</div><div class='add'>+benchmark:</div><div class='add'>+  vm_gc_wb_ary_promoted: |</div><div class='add'>+    long_lived[0] = short_lived # write barrier</div><div class='add'>+loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm_gc_wb_obj.yml b/benchmark/vm_gc_wb_obj.yml<br/>new file mode 100644<br/>index 0000000000..a2a2ce2d18<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_gc_wb_obj.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_gc_wb_obj.yml</a></div><div class='hunk'>@@ -0,0 +1,15 @@</div><div class='add'>+prelude: |</div><div class='add'>+  class C</div><div class='add'>+    attr_accessor :foo</div><div class='add'>+  end</div><div class='add'>+  short_lived_obj = C.new</div><div class='add'>+</div><div class='add'>+  if RUBY_VERSION &gt;= "2.2.0"</div><div class='add'>+    GC.start(full_mark: false, immediate_mark: true, immediate_sweep: true)</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  short_lived = ''</div><div class='add'>+benchmark:</div><div class='add'>+  vm_gc_wb_obj: |</div><div class='add'>+    short_lived_obj.foo = short_lived # write barrier</div><div class='add'>+loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm_gc_wb_obj_promoted.yml b/benchmark/vm_gc_wb_obj_promoted.yml<br/>new file mode 100644<br/>index 0000000000..00a454ba72<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_gc_wb_obj_promoted.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_gc_wb_obj_promoted.yml</a></div><div class='hunk'>@@ -0,0 +1,17 @@</div><div class='add'>+prelude: |</div><div class='add'>+  class C</div><div class='add'>+    attr_accessor :foo</div><div class='add'>+  end</div><div class='add'>+  long_lived = C.new</div><div class='add'>+</div><div class='add'>+  if RUBY_VERSION &gt;= "2.2.0"</div><div class='add'>+    3.times{ GC.start(full_mark: false, immediate_mark: true, immediate_sweep: true) }</div><div class='add'>+  elsif</div><div class='add'>+    GC.start</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  short_lived = ''</div><div class='add'>+benchmark:</div><div class='add'>+  vm_gc_wb_obj_promoted: |</div><div class='add'>+    long_lived.foo = short_lived # write barrier</div><div class='add'>+loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm_iclass_super.yml b/benchmark/vm_iclass_super.yml<br/>new file mode 100644<br/>index 0000000000..21bb7db247<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_iclass_super.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_iclass_super.yml</a></div><div class='hunk'>@@ -0,0 +1,20 @@</div><div class='add'>+prelude: |</div><div class='add'>+  class C</div><div class='add'>+    def m</div><div class='add'>+      1</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    ("A".."M").each do |module_name|</div><div class='add'>+      eval &lt;&lt;-EOM</div><div class='add'>+          module #{module_name}</div><div class='add'>+            def m; super; end</div><div class='add'>+          end</div><div class='add'>+          prepend #{module_name}</div><div class='add'>+      EOM</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  obj = C.new</div><div class='add'>+benchmark:</div><div class='add'>+  vm_iclass_super: obj.m</div><div class='add'>+loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm_ivar.yml b/benchmark/vm_ivar.yml<br/>new file mode 100644<br/>index 0000000000..119531d5ef<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_ivar.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_ivar.yml</a></div><div class='hunk'>@@ -0,0 +1,6 @@</div><div class='add'>+prelude: "@a = 1\n"</div><div class='add'>+benchmark:</div><div class='add'>+  vm_ivar: |</div><div class='add'>+    j = @a</div><div class='add'>+    k = @a</div><div class='add'>+loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm_ivar_init.yml b/benchmark/vm_ivar_init.yml<br/>new file mode 100644<br/>index 0000000000..c6f1633907<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_ivar_init.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_ivar_init.yml</a></div><div class='hunk'>@@ -0,0 +1,14 @@</div><div class='add'>+prelude: |</div><div class='add'>+  class C</div><div class='add'>+    def initialize</div><div class='add'>+      @a = nil</div><div class='add'>+      @b = nil</div><div class='add'>+      @c = nil</div><div class='add'>+      @d = nil</div><div class='add'>+      @e = nil</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+benchmark:</div><div class='add'>+  vm_ivar_init: |</div><div class='add'>+    C.new</div><div class='add'>+loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm_ivar_set.yml b/benchmark/vm_ivar_set.yml<br/>new file mode 100644<br/>index 0000000000..8bbb60043b<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_ivar_set.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_ivar_set.yml</a></div><div class='hunk'>@@ -0,0 +1,5 @@</div><div class='add'>+benchmark:</div><div class='add'>+  vm_ivar_set: |</div><div class='add'>+    @a = 1</div><div class='add'>+    @b = 2</div><div class='add'>+loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm_ivar_set_subclass.yml b/benchmark/vm_ivar_set_subclass.yml<br/>new file mode 100644<br/>index 0000000000..2653d36ded<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_ivar_set_subclass.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_ivar_set_subclass.yml</a></div><div class='hunk'>@@ -0,0 +1,17 @@</div><div class='add'>+prelude: |</div><div class='add'>+  class A</div><div class='add'>+    def initialize</div><div class='add'>+      @a = nil</div><div class='add'>+      @b = nil</div><div class='add'>+      @c = nil</div><div class='add'>+      @d = nil</div><div class='add'>+      @e = nil</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  class B &lt; A; end</div><div class='add'>+  class C &lt; A; end</div><div class='add'>+benchmark:</div><div class='add'>+  vm_ivar_init_subclass: |</div><div class='add'>+    B.new</div><div class='add'>+    C.new</div><div class='add'>+loop_count: 3000000</div><div class='head'>diff --git a/benchmark/vm_length.yml b/benchmark/vm_length.yml<br/>new file mode 100644<br/>index 0000000000..5fd94e7d86<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_length.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_length.yml</a></div><div class='hunk'>@@ -0,0 +1,8 @@</div><div class='add'>+prelude: |</div><div class='add'>+  a = 'abc'</div><div class='add'>+  b = [1, 2, 3]</div><div class='add'>+benchmark:</div><div class='add'>+  vm_length: |</div><div class='add'>+    a.length</div><div class='add'>+    b.length</div><div class='add'>+loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm_lvar_init.yml b/benchmark/vm_lvar_init.yml<br/>new file mode 100644<br/>index 0000000000..70a9b1c0ca<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_lvar_init.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_lvar_init.yml</a></div><div class='hunk'>@@ -0,0 +1,21 @@</div><div class='add'>+# while loop cost is not removed because `i` is used in the script</div><div class='add'>+benchmark:</div><div class='add'>+  vm_lvar_init: |</div><div class='add'>+    def m v</div><div class='add'>+      unless v</div><div class='add'>+        # unreachable code</div><div class='add'>+        v1 = v2 = v3 = v4 = v5 = v6 = v7 = v8 = v9 = v10 =</div><div class='add'>+        v11 = v12 = v13 = v14 = v15 = v16 = v17 = v18 = v19 = v20 =</div><div class='add'>+        v21 = v22 = v23 = v24 = v25 = v26 = v27 = v28 = v29 = v30 =</div><div class='add'>+        v31 = v32 = v33 = v34 = v35 = v36 = v37 = v38 = v39 = v40 =</div><div class='add'>+        v41 = v42 = v43 = v44 = v45 = v46 = v47 = v48 = v49 = v50 = 1</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    i = 0</div><div class='add'>+</div><div class='add'>+    while i&lt;30_000_000</div><div class='add'>+      i += 1</div><div class='add'>+      m i</div><div class='add'>+    end</div><div class='add'>+loop_count: 1</div><div class='head'>diff --git a/benchmark/vm_lvar_set.yml b/benchmark/vm_lvar_set.yml<br/>new file mode 100644<br/>index 0000000000..f29f763d81<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_lvar_set.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_lvar_set.yml</a></div><div class='hunk'>@@ -0,0 +1,4 @@</div><div class='add'>+benchmark:</div><div class='add'>+  vm_lvar_set: |</div><div class='add'>+    a = b = c = d = e = f = g = h = j = k = l = m = n = o = p = q = r = 1</div><div class='add'>+loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm_method.yml b/benchmark/vm_method.yml<br/>new file mode 100644<br/>index 0000000000..d45e4ec572<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_method.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_method.yml</a></div><div class='hunk'>@@ -0,0 +1,8 @@</div><div class='add'>+prelude: |</div><div class='add'>+  def m</div><div class='add'>+    nil</div><div class='add'>+  end</div><div class='add'>+benchmark:</div><div class='add'>+  vm_method: |</div><div class='add'>+    m; m; m; m; m; m; m; m;</div><div class='add'>+loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm_method_missing.yml b/benchmark/vm_method_missing.yml<br/>new file mode 100644<br/>index 0000000000..3da456c0bb<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_method_missing.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_method_missing.yml</a></div><div class='hunk'>@@ -0,0 +1,11 @@</div><div class='add'>+prelude: |</div><div class='add'>+  class C</div><div class='add'>+    def method_missing mid</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  obj = C.new</div><div class='add'>+benchmark:</div><div class='add'>+  vm_method_missing: |</div><div class='add'>+    obj.m; obj.m; obj.m; obj.m; obj.m; obj.m; obj.m; obj.m;</div><div class='add'>+loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm_method_with_block.yml b/benchmark/vm_method_with_block.yml<br/>new file mode 100644<br/>index 0000000000..281a481394<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_method_with_block.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_method_with_block.yml</a></div><div class='hunk'>@@ -0,0 +1,8 @@</div><div class='add'>+prelude: |</div><div class='add'>+  def m</div><div class='add'>+    nil</div><div class='add'>+  end</div><div class='add'>+benchmark:</div><div class='add'>+  vm_method_with_block: |</div><div class='add'>+    m{}; m{}; m{}; m{}; m{}; m{}; m{}; m{};</div><div class='add'>+loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm_module_ann_const_set.yml b/benchmark/vm_module_ann_const_set.yml<br/>new file mode 100644<br/>index 0000000000..243229ba4a<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_module_ann_const_set.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_module_ann_const_set.yml</a></div><div class='hunk'>@@ -0,0 +1,4 @@</div><div class='add'>+benchmark:</div><div class='add'>+  vm_module_ann_const_set: |</div><div class='add'>+    Module.new.const_set(:X, Module.new)</div><div class='add'>+loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm_module_const_set.yml b/benchmark/vm_module_const_set.yml<br/>new file mode 100644<br/>index 0000000000..e5a24181a9<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_module_const_set.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_module_const_set.yml</a></div><div class='hunk'>@@ -0,0 +1,8 @@</div><div class='add'>+prelude: |</div><div class='add'>+  module M</div><div class='add'>+  end</div><div class='add'>+  $VERBOSE = nil</div><div class='add'>+benchmark:</div><div class='add'>+  vm_module_const_set: |</div><div class='add'>+    M.const_set(:X, Module.new)</div><div class='add'>+loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm_mutex.yml b/benchmark/vm_mutex.yml<br/>new file mode 100644<br/>index 0000000000..abcf1e28ce<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_mutex.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_mutex.yml</a></div><div class='hunk'>@@ -0,0 +1,8 @@</div><div class='add'>+prelude: |</div><div class='add'>+  require 'thread'</div><div class='add'>+</div><div class='add'>+  m = Thread::Mutex.new</div><div class='add'>+benchmark:</div><div class='add'>+  vm_mutex: |</div><div class='add'>+    m.synchronize{}</div><div class='add'>+loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm_neq.yml b/benchmark/vm_neq.yml<br/>new file mode 100644<br/>index 0000000000..fb04d15ae8<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_neq.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_neq.yml</a></div><div class='hunk'>@@ -0,0 +1,7 @@</div><div class='add'>+prelude: |</div><div class='add'>+  obj1 = Object.new</div><div class='add'>+  obj2 = Object.new</div><div class='add'>+benchmark:</div><div class='add'>+  vm_neq: |</div><div class='add'>+    obj1 != obj2</div><div class='add'>+loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm_newlambda.yml b/benchmark/vm_newlambda.yml<br/>new file mode 100644<br/>index 0000000000..0b9787d91a<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_newlambda.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_newlambda.yml</a></div><div class='hunk'>@@ -0,0 +1,4 @@</div><div class='add'>+benchmark:</div><div class='add'>+  vm_newlambda: |</div><div class='add'>+    lambda {}</div><div class='add'>+loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm_not.yml b/benchmark/vm_not.yml<br/>new file mode 100644<br/>index 0000000000..c68dde3c50<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_not.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_not.yml</a></div><div class='hunk'>@@ -0,0 +1,6 @@</div><div class='add'>+prelude: |</div><div class='add'>+  obj = Object.new</div><div class='add'>+benchmark:</div><div class='add'>+  vm_not: |</div><div class='add'>+    !obj</div><div class='add'>+loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm_poly_method.yml b/benchmark/vm_poly_method.yml<br/>new file mode 100644<br/>index 0000000000..dd2f4e71de<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_poly_method.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_poly_method.yml</a></div><div class='hunk'>@@ -0,0 +1,24 @@</div><div class='add'>+# loop_count is not utilized since `i` is involved in the script</div><div class='add'>+benchmark:</div><div class='add'>+  vm_poly_method: |</div><div class='add'>+    class C1</div><div class='add'>+      def m</div><div class='add'>+        1</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+    class C2</div><div class='add'>+      def m</div><div class='add'>+        2</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    o1 = C1.new</div><div class='add'>+    o2 = C2.new</div><div class='add'>+</div><div class='add'>+    i = 0</div><div class='add'>+    while i&lt;6_000_000</div><div class='add'>+      o = (i % 2 == 0) ? o1 : o2</div><div class='add'>+      o.m; o.m; o.m; o.m; o.m; o.m; o.m; o.m</div><div class='add'>+      i += 1</div><div class='add'>+    end</div><div class='add'>+loop_count: 1</div><div class='head'>diff --git a/benchmark/vm_poly_method_ov.yml b/benchmark/vm_poly_method_ov.yml<br/>new file mode 100644<br/>index 0000000000..bca1b62729<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_poly_method_ov.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_poly_method_ov.yml</a></div><div class='hunk'>@@ -0,0 +1,24 @@</div><div class='add'>+# loop_count is not utilized since `i` is involved in the script</div><div class='add'>+benchmark:</div><div class='add'>+  vm_poly_method_ov: |</div><div class='add'>+    class C1</div><div class='add'>+      def m</div><div class='add'>+        1</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+    class C2</div><div class='add'>+      def m</div><div class='add'>+        2</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    o1 = C1.new</div><div class='add'>+    o2 = C2.new</div><div class='add'>+</div><div class='add'>+    i = 0</div><div class='add'>+    while i&lt;6_000_000</div><div class='add'>+      o = (i % 2 == 0) ? o1 : o2</div><div class='add'>+    #  o.m; o.m; o.m; o.m; o.m; o.m; o.m; o.m</div><div class='add'>+      i += 1</div><div class='add'>+    end</div><div class='add'>+loop_count: 1</div><div class='head'>diff --git a/benchmark/vm_poly_same_method.yml b/benchmark/vm_poly_same_method.yml<br/>new file mode 100644<br/>index 0000000000..6c5404ac84<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_poly_same_method.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_poly_same_method.yml</a></div><div class='hunk'>@@ -0,0 +1,25 @@</div><div class='add'>+prelude: |</div><div class='add'>+  module AR; end</div><div class='add'>+  class AR::Base</div><div class='add'>+    def create_or_update</div><div class='add'>+      nil</div><div class='add'>+    end</div><div class='add'>+    def save</div><div class='add'>+      create_or_update</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  class Foo &lt; AR::Base; end</div><div class='add'>+  class Bar &lt; AR::Base; end</div><div class='add'>+  o1 = Foo.new</div><div class='add'>+  o2 = Bar.new</div><div class='add'>+benchmark:</div><div class='add'>+  vm_poly_same_method: |</div><div class='add'>+    o1.save; o2.save;</div><div class='add'>+    o1.save; o2.save;</div><div class='add'>+    o1.save; o2.save;</div><div class='add'>+    o1.save; o2.save;</div><div class='add'>+    o1.save; o2.save;</div><div class='add'>+    o1.save; o2.save;</div><div class='add'>+    o1.save; o2.save;</div><div class='add'>+    o1.save; o2.save;</div><div class='add'>+loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm_poly_singleton.yml b/benchmark/vm_poly_singleton.yml<br/>new file mode 100644<br/>index 0000000000..c7923160fb<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_poly_singleton.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_poly_singleton.yml</a></div><div class='hunk'>@@ -0,0 +1,18 @@</div><div class='add'>+# loop_count is not utilized since `i` is involved in the script</div><div class='add'>+benchmark:</div><div class='add'>+  vm_poly_singleton: |</div><div class='add'>+    class C1</div><div class='add'>+      def m; 1; end</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    o1 = C1.new</div><div class='add'>+    o2 = C1.new</div><div class='add'>+    o2.singleton_class</div><div class='add'>+</div><div class='add'>+    i = 0</div><div class='add'>+    while i&lt;6_000_000 # benchmark loop 2</div><div class='add'>+      o = (i % 2 == 0) ? o1 : o2</div><div class='add'>+      o.m; o.m; o.m; o.m; o.m; o.m; o.m; o.m</div><div class='add'>+      i += 1</div><div class='add'>+    end</div><div class='add'>+loop_count: 1</div><div class='head'>diff --git a/benchmark/vm_proc.yml b/benchmark/vm_proc.yml<br/>new file mode 100644<br/>index 0000000000..2f8de6c272<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_proc.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_proc.yml</a></div><div class='hunk'>@@ -0,0 +1,12 @@</div><div class='add'>+prelude: |</div><div class='add'>+  def m &amp;b</div><div class='add'>+    b</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  pr = m{</div><div class='add'>+    a = 1</div><div class='add'>+  }</div><div class='add'>+benchmark:</div><div class='add'>+  vm_proc: |</div><div class='add'>+    pr.call</div><div class='add'>+loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm_raise1.yml b/benchmark/vm_raise1.yml<br/>new file mode 100644<br/>index 0000000000..247d9f70ee<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_raise1.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_raise1.yml</a></div><div class='hunk'>@@ -0,0 +1,16 @@</div><div class='add'>+prelude: |</div><div class='add'>+  def rec n</div><div class='add'>+    if n &gt; 0</div><div class='add'>+      rec n-1</div><div class='add'>+    else</div><div class='add'>+      raise</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+benchmark:</div><div class='add'>+  vm_raise1: |</div><div class='add'>+    begin</div><div class='add'>+      rec 1</div><div class='add'>+    rescue</div><div class='add'>+      # ignore</div><div class='add'>+    end</div><div class='add'>+loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm_raise2.yml b/benchmark/vm_raise2.yml<br/>new file mode 100644<br/>index 0000000000..f0fa047b3c<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_raise2.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_raise2.yml</a></div><div class='hunk'>@@ -0,0 +1,16 @@</div><div class='add'>+prelude: |</div><div class='add'>+  def rec n</div><div class='add'>+    if n &gt; 0</div><div class='add'>+      rec n-1</div><div class='add'>+    else</div><div class='add'>+      raise</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+benchmark:</div><div class='add'>+  vm_raise2: |</div><div class='add'>+    begin</div><div class='add'>+      rec 10</div><div class='add'>+    rescue</div><div class='add'>+      # ignore</div><div class='add'>+    end</div><div class='add'>+loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm_regexp.yml b/benchmark/vm_regexp.yml<br/>new file mode 100644<br/>index 0000000000..2aa3d94dbd<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_regexp.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_regexp.yml</a></div><div class='hunk'>@@ -0,0 +1,8 @@</div><div class='add'>+prelude: |</div><div class='add'>+  str = 'xxxhogexxx'</div><div class='add'>+benchmark:</div><div class='add'>+  vm_regexp: |</div><div class='add'>+    /hoge/ =~ str</div><div class='add'>+  vm_regexp_invert: |</div><div class='add'>+    str =~ /hoge/</div><div class='add'>+loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm_rescue.yml b/benchmark/vm_rescue.yml<br/>new file mode 100644<br/>index 0000000000..b4a0af521f<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_rescue.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_rescue.yml</a></div><div class='hunk'>@@ -0,0 +1,6 @@</div><div class='add'>+benchmark:</div><div class='add'>+  vm_rescue: |</div><div class='add'>+    begin</div><div class='add'>+    rescue</div><div class='add'>+    end</div><div class='add'>+loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm_send.yml b/benchmark/vm_send.yml<br/>new file mode 100644<br/>index 0000000000..f31bc7ac89<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_send.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_send.yml</a></div><div class='hunk'>@@ -0,0 +1,14 @@</div><div class='add'>+prelude: |</div><div class='add'>+  class C</div><div class='add'>+    def m</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  o = C.new</div><div class='add'>+  m = :m</div><div class='add'>+benchmark:</div><div class='add'>+  vm_send: |</div><div class='add'>+    o.__send__ :m</div><div class='add'>+  vm_send_var: |</div><div class='add'>+    o.__send__ m</div><div class='add'>+loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm_send_cfunc.yml b/benchmark/vm_send_cfunc.yml<br/>new file mode 100644<br/>index 0000000000..b114ac317d<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_send_cfunc.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_send_cfunc.yml</a></div><div class='hunk'>@@ -0,0 +1,3 @@</div><div class='add'>+benchmark:</div><div class='add'>+  vm_send_cfunc: self.class</div><div class='add'>+loop_count: 100000000</div><div class='head'>diff --git a/benchmark/vm_simplereturn.yml b/benchmark/vm_simplereturn.yml<br/>new file mode 100644<br/>index 0000000000..c9829cff0b<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_simplereturn.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_simplereturn.yml</a></div><div class='hunk'>@@ -0,0 +1,7 @@</div><div class='add'>+prelude: |</div><div class='add'>+  def m</div><div class='add'>+    return 1</div><div class='add'>+  end</div><div class='add'>+benchmark:</div><div class='add'>+  vm_simplereturn: m</div><div class='add'>+loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm_string_literal.yml b/benchmark/vm_string_literal.yml<br/>new file mode 100644<br/>index 0000000000..64439c7980<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_string_literal.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_string_literal.yml</a></div><div class='hunk'>@@ -0,0 +1,4 @@</div><div class='add'>+benchmark:</div><div class='add'>+  vm_string_literal: |</div><div class='add'>+    x = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"</div><div class='add'>+loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm_struct_big_aref_hi.yml b/benchmark/vm_struct_big_aref_hi.yml<br/>new file mode 100644<br/>index 0000000000..4cf78970cb<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_struct_big_aref_hi.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_struct_big_aref_hi.yml</a></div><div class='hunk'>@@ -0,0 +1,7 @@</div><div class='add'>+prelude: |</div><div class='add'>+  s = Struct.new(*('a'..'z').map { |x| x.to_sym })</div><div class='add'>+  x = s.new</div><div class='add'>+benchmark:</div><div class='add'>+  vm_struct_big_aref_hi: |</div><div class='add'>+    x.z # x[25]</div><div class='add'>+loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm_struct_big_aref_lo.yml b/benchmark/vm_struct_big_aref_lo.yml<br/>new file mode 100644<br/>index 0000000000..c91af27fa5<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_struct_big_aref_lo.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_struct_big_aref_lo.yml</a></div><div class='hunk'>@@ -0,0 +1,7 @@</div><div class='add'>+prelude: |</div><div class='add'>+  s = Struct.new(*('a'..'z').map { |x| x.to_sym })</div><div class='add'>+  x = s.new</div><div class='add'>+benchmark:</div><div class='add'>+  vm_struct_big_aref_lo: |</div><div class='add'>+    x.k # x[10]</div><div class='add'>+loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm_struct_big_aset.yml b/benchmark/vm_struct_big_aset.yml<br/>new file mode 100644<br/>index 0000000000..69550d14ea<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_struct_big_aset.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_struct_big_aset.yml</a></div><div class='hunk'>@@ -0,0 +1,11 @@</div><div class='add'>+# loop_count is not utilized since `i` is involved in the script</div><div class='add'>+benchmark:</div><div class='add'>+  vm_struct_big_aset: |</div><div class='add'>+    s = Struct.new(*('a'..'z').map { |x| x.to_sym })</div><div class='add'>+    x = s.new</div><div class='add'>+    i = 0</div><div class='add'>+    while i&lt;6_000_000</div><div class='add'>+      i += 1</div><div class='add'>+      x.k = i # x[10] = i</div><div class='add'>+    end</div><div class='add'>+loop_count: 1</div><div class='head'>diff --git a/benchmark/vm_struct_big_href_hi.yml b/benchmark/vm_struct_big_href_hi.yml<br/>new file mode 100644<br/>index 0000000000..09b764dd13<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_struct_big_href_hi.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_struct_big_href_hi.yml</a></div><div class='hunk'>@@ -0,0 +1,7 @@</div><div class='add'>+prelude: |</div><div class='add'>+  s = Struct.new(*('a'..'z').map { |x| x.to_sym })</div><div class='add'>+  x = s.new</div><div class='add'>+benchmark:</div><div class='add'>+  vm_struct_big_href_hi: |</div><div class='add'>+    x[:z]</div><div class='add'>+loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm_struct_big_href_lo.yml b/benchmark/vm_struct_big_href_lo.yml<br/>new file mode 100644<br/>index 0000000000..d2f00b220f<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_struct_big_href_lo.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_struct_big_href_lo.yml</a></div><div class='hunk'>@@ -0,0 +1,7 @@</div><div class='add'>+prelude: |</div><div class='add'>+  s = Struct.new(*('a'..'z').map { |x| x.to_sym })</div><div class='add'>+  x = s.new</div><div class='add'>+benchmark:</div><div class='add'>+  vm_struct_big_href_lo: |</div><div class='add'>+    x[:k]</div><div class='add'>+loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm_struct_big_hset.yml b/benchmark/vm_struct_big_hset.yml<br/>new file mode 100644<br/>index 0000000000..fc45cbee9c<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_struct_big_hset.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_struct_big_hset.yml</a></div><div class='hunk'>@@ -0,0 +1,11 @@</div><div class='add'>+# loop_count is not utilized since `i` is involved in the script</div><div class='add'>+benchmark:</div><div class='add'>+  vm_struct_big_hset: |</div><div class='add'>+    s = Struct.new(*('a'..'z').map { |x| x.to_sym })</div><div class='add'>+    x = s.new</div><div class='add'>+    i = 0</div><div class='add'>+    while i&lt;6_000_000</div><div class='add'>+      i += 1</div><div class='add'>+      x[:k] = i</div><div class='add'>+    end</div><div class='add'>+loop_count: 1</div><div class='head'>diff --git a/benchmark/vm_struct_small_aref.yml b/benchmark/vm_struct_small_aref.yml<br/>new file mode 100644<br/>index 0000000000..5a83251d1e<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_struct_small_aref.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_struct_small_aref.yml</a></div><div class='hunk'>@@ -0,0 +1,7 @@</div><div class='add'>+prelude: |</div><div class='add'>+  s = Struct.new(:a, :b, :c)</div><div class='add'>+  x = s.new</div><div class='add'>+benchmark:</div><div class='add'>+  vm_struct_small_aref: |</div><div class='add'>+    x.a</div><div class='add'>+loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm_struct_small_aset.yml b/benchmark/vm_struct_small_aset.yml<br/>new file mode 100644<br/>index 0000000000..74f435f126<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_struct_small_aset.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_struct_small_aset.yml</a></div><div class='hunk'>@@ -0,0 +1,11 @@</div><div class='add'>+# loop_count is not utilized since `i` is involved in the script</div><div class='add'>+benchmark:</div><div class='add'>+  vm_struct_small_aset: |</div><div class='add'>+    s = Struct.new(:a, :b, :c)</div><div class='add'>+    x = s.new</div><div class='add'>+    i = 0</div><div class='add'>+    while i&lt;6_000_000</div><div class='add'>+      i += 1</div><div class='add'>+      x.a = i</div><div class='add'>+    end</div><div class='add'>+loop_count: 1</div><div class='head'>diff --git a/benchmark/vm_struct_small_href.yml b/benchmark/vm_struct_small_href.yml<br/>new file mode 100644<br/>index 0000000000..6b7d7f39e7<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_struct_small_href.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_struct_small_href.yml</a></div><div class='hunk'>@@ -0,0 +1,7 @@</div><div class='add'>+prelude: |</div><div class='add'>+  s = Struct.new(:a, :b, :c)</div><div class='add'>+  x = s.new</div><div class='add'>+benchmark:</div><div class='add'>+  vm_struct_small_href: |</div><div class='add'>+    x[:a]</div><div class='add'>+loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm_struct_small_hset.yml b/benchmark/vm_struct_small_hset.yml<br/>new file mode 100644<br/>index 0000000000..5d43b150de<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_struct_small_hset.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_struct_small_hset.yml</a></div><div class='hunk'>@@ -0,0 +1,7 @@</div><div class='add'>+prelude: |</div><div class='add'>+  s = Struct.new(:a, :b, :c)</div><div class='add'>+  x = s.new</div><div class='add'>+benchmark:</div><div class='add'>+  vm_struct_small_hset: |</div><div class='add'>+    x[:a] = 1</div><div class='add'>+loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm_super.yml b/benchmark/vm_super.yml<br/>new file mode 100644<br/>index 0000000000..0d1e965c6e<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_super.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_super.yml</a></div><div class='hunk'>@@ -0,0 +1,17 @@</div><div class='add'>+prelude: |</div><div class='add'>+  class C</div><div class='add'>+    def m</div><div class='add'>+      1</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  class CC &lt; C</div><div class='add'>+    def m</div><div class='add'>+      super()</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  obj = CC.new</div><div class='add'>+benchmark:</div><div class='add'>+  vm_super: obj.m</div><div class='add'>+loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm_swap.yml b/benchmark/vm_swap.yml<br/>new file mode 100644<br/>index 0000000000..e824a65e0a<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_swap.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_swap.yml</a></div><div class='hunk'>@@ -0,0 +1,7 @@</div><div class='add'>+prelude: |</div><div class='add'>+  a = 1</div><div class='add'>+  b = 2</div><div class='add'>+benchmark:</div><div class='add'>+  vm_swap: |</div><div class='add'>+    a, b = b, a</div><div class='add'>+loop_count: 30000000</div><div class='head'>diff --git a/benchmark/vm_symbol_block_pass.rb b/benchmark/vm_symbol_block_pass.rb<br/>new file mode 100644<br/>index 0000000000..1d433353e1<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_symbol_block_pass.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_symbol_block_pass.rb</a></div><div class='hunk'>@@ -0,0 +1,13 @@</div><div class='add'>+class C</div><div class='add'>+  1000.times {|i|</div><div class='add'>+    eval("def i#{i};end")</div><div class='add'>+  }</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+c = C.new</div><div class='add'>+m = C.instance_methods(false)</div><div class='add'>+5_000.times do</div><div class='add'>+  m.each do |n|</div><div class='add'>+    c.tap(&amp;n)</div><div class='add'>+  end</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/vm_thread_alive_check.yml b/benchmark/vm_thread_alive_check.yml<br/>new file mode 100644<br/>index 0000000000..d21737d3e8<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_thread_alive_check.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_thread_alive_check.yml</a></div><div class='hunk'>@@ -0,0 +1,8 @@</div><div class='add'>+benchmark:</div><div class='add'>+  vm_thread_alive_check: |</div><div class='add'>+    t = Thread.new{}</div><div class='add'>+    while t.alive?</div><div class='add'>+      Thread.pass</div><div class='add'>+    end</div><div class='add'>+loop_count: 50_000</div><div class='add'>+</div><div class='head'>diff --git a/benchmark/vm_thread_close.rb b/benchmark/vm_thread_close.rb<br/>new file mode 100644<br/>index 0000000000..3e9a265ce8<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_thread_close.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_thread_close.rb</a></div><div class='hunk'>@@ -0,0 +1,6 @@</div><div class='add'>+1000.times { Thread.new { sleep } }</div><div class='add'>+i = 0</div><div class='add'>+while i&lt;100_000 # benchmark loop 3</div><div class='add'>+  i += 1</div><div class='add'>+  IO.pipe.each(&amp;:close)</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/vm_thread_condvar1.rb b/benchmark/vm_thread_condvar1.rb<br/>new file mode 100644<br/>index 0000000000..cf5706b23e<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_thread_condvar1.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_thread_condvar1.rb</a></div><div class='hunk'>@@ -0,0 +1,28 @@</div><div class='add'>+# two threads, two mutex, two condvar ping-pong</div><div class='add'>+require 'thread'</div><div class='add'>+m1 = Mutex.new</div><div class='add'>+m2 = Mutex.new</div><div class='add'>+cv1 = ConditionVariable.new</div><div class='add'>+cv2 = ConditionVariable.new</div><div class='add'>+max = 100000</div><div class='add'>+i = 0</div><div class='add'>+wait = nil</div><div class='add'>+m2.synchronize do</div><div class='add'>+  wait = Thread.new do</div><div class='add'>+    m1.synchronize do</div><div class='add'>+      m2.synchronize { cv2.signal }</div><div class='add'>+      while (i += 1) &lt; max</div><div class='add'>+        cv1.wait(m1)</div><div class='add'>+        cv2.signal</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  cv2.wait(m2)</div><div class='add'>+end</div><div class='add'>+m1.synchronize do</div><div class='add'>+  while i &lt; max</div><div class='add'>+    cv1.signal</div><div class='add'>+    cv2.wait(m1)</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+wait.join</div><div class='head'>diff --git a/benchmark/vm_thread_condvar2.rb b/benchmark/vm_thread_condvar2.rb<br/>new file mode 100644<br/>index 0000000000..7c8dc19481<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_thread_condvar2.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_thread_condvar2.rb</a></div><div class='hunk'>@@ -0,0 +1,35 @@</div><div class='add'>+# many threads, one mutex, many condvars</div><div class='add'>+require 'thread'</div><div class='add'>+m = Mutex.new</div><div class='add'>+cv1 = ConditionVariable.new</div><div class='add'>+cv2 = ConditionVariable.new</div><div class='add'>+max = 1000</div><div class='add'>+n = 100</div><div class='add'>+waiting = 0</div><div class='add'>+scvs = []</div><div class='add'>+waiters = n.times.map do |i|</div><div class='add'>+  start_cv = ConditionVariable.new</div><div class='add'>+  scvs &lt;&lt; start_cv</div><div class='add'>+  start_mtx = Mutex.new</div><div class='add'>+  start_mtx.synchronize do</div><div class='add'>+    th = Thread.new(start_mtx, start_cv) do |sm, scv|</div><div class='add'>+      m.synchronize do</div><div class='add'>+        sm.synchronize { scv.signal }</div><div class='add'>+        max.times do</div><div class='add'>+          cv2.signal if (waiting += 1) == n</div><div class='add'>+          cv1.wait(m)</div><div class='add'>+        end</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+    start_cv.wait(start_mtx)</div><div class='add'>+    th</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+m.synchronize do</div><div class='add'>+  max.times do</div><div class='add'>+    cv2.wait(m) until waiting == n</div><div class='add'>+    waiting = 0</div><div class='add'>+    cv1.broadcast</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..393cd45df9<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_thread_create_join.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_thread_create_join.rb</a></div><div class='hunk'>@@ -0,0 +1,6 @@</div><div class='add'>+i = 0</div><div class='add'>+while i&lt;100_000 # benchmark loop 3</div><div class='add'>+  i += 1</div><div class='add'>+  Thread.new{</div><div class='add'>+  }.join</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/vm_thread_mutex1.rb b/benchmark/vm_thread_mutex1.rb<br/>new file mode 100644<br/>index 0000000000..66e42c85e1<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_thread_mutex1.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_thread_mutex1.rb</a></div><div class='hunk'>@@ -0,0 +1,21 @@</div><div class='add'>+# one thread, one mutex (no contention)</div><div class='add'>+</div><div class='add'>+require 'thread'</div><div class='add'>+m = Thread::Mutex.new</div><div class='add'>+r = 0</div><div class='add'>+max = 2000</div><div class='add'>+lmax = max * max</div><div class='add'>+(1..1).map{</div><div class='add'>+  Thread.new{</div><div class='add'>+    i = 0</div><div class='add'>+    while i&lt;lmax</div><div class='add'>+      i += 1</div><div class='add'>+      m.synchronize{</div><div class='add'>+        r += 1</div><div class='add'>+      }</div><div class='add'>+    end</div><div class='add'>+  }</div><div class='add'>+}.each{|e|</div><div class='add'>+  e.join</div><div class='add'>+}</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..6e6c804c31<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_thread_mutex2.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_thread_mutex2.rb</a></div><div class='hunk'>@@ -0,0 +1,21 @@</div><div class='add'>+# two threads, one mutex</div><div class='add'>+</div><div class='add'>+require 'thread'</div><div class='add'>+m = Thread::Mutex.new</div><div class='add'>+r = 0</div><div class='add'>+max = 2000</div><div class='add'>+lmax = (max * max)/2</div><div class='add'>+(1..2).map{</div><div class='add'>+  Thread.new{</div><div class='add'>+    i = 0</div><div class='add'>+    while i&lt;lmax</div><div class='add'>+      i += 1</div><div class='add'>+      m.synchronize{</div><div class='add'>+        r += 1</div><div class='add'>+      }</div><div class='add'>+    end</div><div class='add'>+  }</div><div class='add'>+}.each{|e|</div><div class='add'>+  e.join</div><div class='add'>+}</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..c750dc542a<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_thread_mutex3.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_thread_mutex3.rb</a></div><div class='hunk'>@@ -0,0 +1,20 @@</div><div class='add'>+# 1000 threads, one mutex</div><div class='add'>+</div><div class='add'>+require 'thread'</div><div class='add'>+m = Thread::Mutex.new</div><div class='add'>+r = 0</div><div class='add'>+max = 2000</div><div class='add'>+(1..max).map{</div><div class='add'>+  Thread.new{</div><div class='add'>+    i = 0</div><div class='add'>+    while i&lt;max</div><div class='add'>+      i += 1</div><div class='add'>+      m.synchronize{</div><div class='add'>+        r += 1</div><div class='add'>+      }</div><div class='add'>+    end</div><div class='add'>+  }</div><div class='add'>+}.each{|e|</div><div class='add'>+  e.join</div><div class='add'>+}</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..438bd08d45<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_thread_pass.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_thread_pass.rb</a></div><div class='hunk'>@@ -0,0 +1,15 @@</div><div class='add'>+# Plenty Thread.pass</div><div class='add'>+# A performance may depend on GVL implementation.</div><div class='add'>+</div><div class='add'>+tmax = (ARGV.shift || 8).to_i</div><div class='add'>+lmax = 400_000 / tmax</div><div class='add'>+</div><div class='add'>+(1..tmax).map{</div><div class='add'>+  Thread.new{</div><div class='add'>+    lmax.times{</div><div class='add'>+      Thread.pass</div><div class='add'>+    }</div><div class='add'>+  }</div><div class='add'>+}.each{|t| t.join}</div><div class='add'>+</div><div class='add'>+</div><div class='head'>diff --git a/benchmark/vm_thread_pass_flood.rb b/benchmark/vm_thread_pass_flood.rb<br/>new file mode 100644<br/>index 0000000000..65df8e6154<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_thread_pass_flood.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_thread_pass_flood.rb</a></div><div class='hunk'>@@ -0,0 +1,10 @@</div><div class='add'>+# n.b. this is a good test for GVL when pinned to a single CPU</div><div class='add'>+</div><div class='add'>+5_000.times{</div><div class='add'>+  Thread.new{loop{Thread.pass}}</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+i = 0</div><div class='add'>+while i&lt;10_000</div><div class='add'>+  i += 1</div><div class='add'>+end</div><div class='head'>diff --git a/benchmark/vm_thread_pipe.rb b/benchmark/vm_thread_pipe.rb<br/>new file mode 100644<br/>index 0000000000..112a621905<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_thread_pipe.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_thread_pipe.rb</a></div><div class='hunk'>@@ -0,0 +1,17 @@</div><div class='add'>+# Measure small and plenty pipe read/write.</div><div class='add'>+# A performance may depend on GVL implementation.</div><div class='add'>+</div><div class='add'>+lmax = 100_000</div><div class='add'>+r, w = IO.pipe</div><div class='add'>+[Thread.new{</div><div class='add'>+  lmax.times{</div><div class='add'>+    w.write('a')</div><div class='add'>+  }</div><div class='add'>+  p "w:exit"</div><div class='add'>+}, Thread.new{</div><div class='add'>+  lmax.times{</div><div class='add'>+    r.read(1)</div><div class='add'>+  }</div><div class='add'>+  p "r:exit"</div><div class='add'>+}].each{|t| t.join}</div><div class='add'>+</div><div class='head'>diff --git a/benchmark/vm_thread_queue.rb b/benchmark/vm_thread_queue.rb<br/>new file mode 100644<br/>index 0000000000..1dd3696a3c<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_thread_queue.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_thread_queue.rb</a></div><div class='hunk'>@@ -0,0 +1,18 @@</div><div class='add'>+require 'thread'</div><div class='add'>+</div><div class='add'>+n = 10_000_000</div><div class='add'>+q = Thread::Queue.new</div><div class='add'>+consumer = Thread.new{</div><div class='add'>+  while q.pop</div><div class='add'>+    # consuming</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+producer = Thread.new{</div><div class='add'>+  n.times{</div><div class='add'>+    q.push true</div><div class='add'>+  }</div><div class='add'>+  q.push nil</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+consumer.join</div><div class='head'>diff --git a/benchmark/vm_thread_sized_queue.rb b/benchmark/vm_thread_sized_queue.rb<br/>new file mode 100644<br/>index 0000000000..7b9af5482b<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_thread_sized_queue.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_thread_sized_queue.rb</a></div><div class='hunk'>@@ -0,0 +1,20 @@</div><div class='add'>+require 'thread'</div><div class='add'>+# on producer, one consumer</div><div class='add'>+</div><div class='add'>+n = 1_000_000</div><div class='add'>+q = Thread::SizedQueue.new(100)</div><div class='add'>+consumer = Thread.new{</div><div class='add'>+  while q.pop</div><div class='add'>+    # consuming</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+producer = Thread.new{</div><div class='add'>+  while n &gt; 0</div><div class='add'>+    q.push true</div><div class='add'>+    n -= 1</div><div class='add'>+  end</div><div class='add'>+  q.push nil</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+consumer.join</div><div class='head'>diff --git a/benchmark/vm_thread_sized_queue2.rb b/benchmark/vm_thread_sized_queue2.rb<br/>new file mode 100644<br/>index 0000000000..de9f55e978<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_thread_sized_queue2.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_thread_sized_queue2.rb</a></div><div class='hunk'>@@ -0,0 +1,23 @@</div><div class='add'>+require 'thread'</div><div class='add'>+# one producer, many consumers</div><div class='add'>+n = 1_000_000</div><div class='add'>+m = 10</div><div class='add'>+q = Thread::SizedQueue.new(100)</div><div class='add'>+consumers = m.times.map do</div><div class='add'>+  Thread.new do</div><div class='add'>+    while q.pop</div><div class='add'>+      # consuming</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+producer = Thread.new do</div><div class='add'>+  while n &gt; 0</div><div class='add'>+    q.push true</div><div class='add'>+    n -= 1</div><div class='add'>+  end</div><div class='add'>+  m.times { q.push nil }</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+producer.join</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..ce5f1796d8<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_thread_sized_queue3.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_thread_sized_queue3.rb</a></div><div class='hunk'>@@ -0,0 +1,22 @@</div><div class='add'>+require 'thread'</div><div class='add'>+# many producers, one consumer</div><div class='add'>+n = 1_000_000</div><div class='add'>+m = 10</div><div class='add'>+q = Thread::SizedQueue.new(100)</div><div class='add'>+consumer = Thread.new do</div><div class='add'>+  while q.pop</div><div class='add'>+    # consuming</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+producers = m.times.map do</div><div class='add'>+  Thread.new do</div><div class='add'>+    while n &gt; 0</div><div class='add'>+      q.push true</div><div class='add'>+      n -= 1</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+producers.each(&amp;:join)</div><div class='add'>+q.push nil</div><div class='add'>+consumer.join</div><div class='head'>diff --git a/benchmark/vm_thread_sized_queue4.rb b/benchmark/vm_thread_sized_queue4.rb<br/>new file mode 100644<br/>index 0000000000..a9b7d80ec0<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_thread_sized_queue4.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_thread_sized_queue4.rb</a></div><div class='hunk'>@@ -0,0 +1,26 @@</div><div class='add'>+require 'thread'</div><div class='add'>+# many producers, many consumers</div><div class='add'>+nr = 1_000_000</div><div class='add'>+n = 10</div><div class='add'>+m = 10</div><div class='add'>+q = Thread::SizedQueue.new(100)</div><div class='add'>+consumers = n.times.map do</div><div class='add'>+  Thread.new do</div><div class='add'>+    while q.pop</div><div class='add'>+      # consuming</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+producers = m.times.map do</div><div class='add'>+  Thread.new do</div><div class='add'>+    while nr &gt; 0</div><div class='add'>+      q.push true</div><div class='add'>+      nr -= 1</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+producers.each(&amp;:join)</div><div class='add'>+n.times { q.push nil }</div><div class='add'>+consumers.each(&amp;:join)</div><div class='head'>diff --git a/benchmark/vm_thread_sleep.yml b/benchmark/vm_thread_sleep.yml<br/>new file mode 100644<br/>index 0000000000..96901d8466<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_thread_sleep.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_thread_sleep.yml</a></div><div class='hunk'>@@ -0,0 +1,4 @@</div><div class='add'>+benchmark:</div><div class='add'>+  vm_thread_sleep: |</div><div class='add'>+    Thread.new { sleep }</div><div class='add'>+loop_count: 10_000</div><div class='head'>diff --git a/benchmark/vm_unif1.yml b/benchmark/vm_unif1.yml<br/>new file mode 100644<br/>index 0000000000..04187bb0e2<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_unif1.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_unif1.yml</a></div><div class='hunk'>@@ -0,0 +1,7 @@</div><div class='add'>+prelude: |</div><div class='add'>+  def m a, b</div><div class='add'>+  end</div><div class='add'>+benchmark:</div><div class='add'>+  vm_unif1: |</div><div class='add'>+    m 100, 200</div><div class='add'>+loop_count: 6000000</div><div class='head'>diff --git a/benchmark/vm_yield.yml b/benchmark/vm_yield.yml<br/>new file mode 100644<br/>index 0000000000..230be3d84f<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_yield.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_yield.yml</a></div><div class='hunk'>@@ -0,0 +1,13 @@</div><div class='add'>+# while loop cost is not removed due to benchmark_driver.gem's limitation</div><div class='add'>+benchmark:</div><div class='add'>+  vm_yield: |</div><div class='add'>+    def m</div><div class='add'>+      i = 0</div><div class='add'>+      while i&lt;30_000_000</div><div class='add'>+        i += 1</div><div class='add'>+        yield</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    m{}</div><div class='add'>+loop_count: 1</div><div class='head'>diff --git a/benchmark/vm_zsuper.yml b/benchmark/vm_zsuper.yml<br/>new file mode 100644<br/>index 0000000000..bfb5837578<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/benchmark/vm_zsuper.yml?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>benchmark/vm_zsuper.yml</a></div><div class='hunk'>@@ -0,0 +1,18 @@</div><div class='add'>+prelude: |</div><div class='add'>+  class C</div><div class='add'>+    def m a</div><div class='add'>+      1</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  class CC &lt; C</div><div class='add'>+    def m a</div><div class='add'>+      super</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  obj = CC.new</div><div class='add'>+benchmark:</div><div class='add'>+  vm_zsuper: |</div><div class='add'>+    obj.m 10</div><div class='add'>+loop_count: 6000000</div><div class='head'>diff --git a/bignum.c b/bignum.c<br/>index 36a46af3fd..7c55366ecb 100644<br/>--- a/<a href='/ruby.git/tree/bignum.c?h=v3_0_0&amp;id=cfb52c86678519810cfa84b564a3d32a9200139d'>bignum.c</a><br/>+++ b/<a href='/ruby.git/tree/bignum.c?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>bignum.c</a></div><div class='hunk'>@@ -1,405 +1,5223 @@</div><div class='del'>-/************************************************</div><div class='add'>+/**********************************************************************</div><div class='ctx'> </div><div class='ctx'>   bignum.c -</div><div class='ctx'> </div><div class='ctx'>   $Author$</div><div class='del'>-  $Date$</div><div class='ctx'>   created at: Fri Jun 10 00:48:55 JST 1994</div><div class='ctx'> </div><div class='del'>-************************************************/</div><div class='add'>+  Copyright (C) 1993-2007 Yukihiro Matsumoto</div><div class='add'>+</div><div class='add'>+**********************************************************************/</div><div class='add'>+</div><div class='add'>+#include "ruby/internal/config.h"</div><div class='ctx'> </div><div class='del'>-#include "ruby.h"</div><div class='del'>-#include &lt;math.h&gt;</div><div class='ctx'> #include &lt;ctype.h&gt;</div><div class='add'>+#include &lt;float.h&gt;</div><div class='add'>+#include &lt;math.h&gt;</div><div class='ctx'> </div><div class='del'>-VALUE rb_cBignum;</div><div class='del'>-typedef unsigned short USHORT;</div><div class='add'>+#ifdef HAVE_STRINGS_H</div><div class='add'>+# include &lt;strings.h&gt;</div><div class='add'>+#endif</div><div class='ctx'> </div><div class='del'>-#define BDIGITS(x) RBIGNUM(x)-&gt;digits</div><div class='del'>-#define BITSPERDIG (sizeof(short)*CHAR_BIT)</div><div class='del'>-#define BIGRAD (1L &lt;&lt; BITSPERDIG)</div><div class='del'>-#define DIGSPERINT ((unsigned int)(sizeof(long)/sizeof(short)))</div><div class='del'>-#define BIGUP(x) ((unsigned long)(x) &lt;&lt; BITSPERDIG)</div><div class='del'>-#define BIGDN(x) (((x)&lt;0) ? ~((~(x))&gt;&gt;BITSPERDIG) : (x)&gt;&gt;BITSPERDIG)</div><div class='del'>-#define BIGLO(x) ((USHORT)((x) &amp; (BIGRAD-1)))</div><div class='add'>+#ifdef HAVE_IEEEFP_H</div><div class='add'>+# include &lt;ieeefp.h&gt;</div><div class='add'>+#endif</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-bignew_1(klass, len, sign)</div><div class='del'>-    VALUE klass;</div><div class='del'>-    long len;</div><div class='del'>-    char sign;</div><div class='add'>+#if defined(HAVE_LIBGMP) &amp;&amp; defined(HAVE_GMP_H)</div><div class='add'>+# define USE_GMP</div><div class='add'>+# include &lt;gmp.h&gt;</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#include "id.h"</div><div class='add'>+#include "internal.h"</div><div class='add'>+#include "internal/bignum.h"</div><div class='add'>+#include "internal/complex.h"</div><div class='add'>+#include "internal/gc.h"</div><div class='add'>+#include "internal/numeric.h"</div><div class='add'>+#include "internal/object.h"</div><div class='add'>+#include "internal/sanitizers.h"</div><div class='add'>+#include "internal/util.h"</div><div class='add'>+#include "internal/variable.h"</div><div class='add'>+#include "internal/warnings.h"</div><div class='add'>+#include "ruby/thread.h"</div><div class='add'>+#include "ruby/util.h"</div><div class='add'>+#include "ruby_assert.h"</div><div class='add'>+</div><div class='add'>+#define RB_BIGNUM_TYPE_P(x) RB_TYPE_P((x), T_BIGNUM)</div><div class='add'>+</div><div class='add'>+const char ruby_digitmap[] = "0123456789abcdefghijklmnopqrstuvwxyz";</div><div class='add'>+</div><div class='add'>+#ifndef SIZEOF_BDIGIT_DBL</div><div class='add'>+# if SIZEOF_INT*2 &lt;= SIZEOF_LONG_LONG</div><div class='add'>+#  define SIZEOF_BDIGIT_DBL SIZEOF_LONG_LONG</div><div class='add'>+# else</div><div class='add'>+#  define SIZEOF_BDIGIT_DBL SIZEOF_LONG</div><div class='add'>+# endif</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+STATIC_ASSERT(sizeof_bdigit_dbl, sizeof(BDIGIT_DBL) == SIZEOF_BDIGIT_DBL);</div><div class='add'>+STATIC_ASSERT(sizeof_bdigit_dbl_signed, sizeof(BDIGIT_DBL_SIGNED) == SIZEOF_BDIGIT_DBL);</div><div class='add'>+STATIC_ASSERT(sizeof_bdigit, SIZEOF_BDIGIT &lt;= sizeof(BDIGIT));</div><div class='add'>+STATIC_ASSERT(sizeof_bdigit_and_dbl, SIZEOF_BDIGIT*2 &lt;= SIZEOF_BDIGIT_DBL);</div><div class='add'>+STATIC_ASSERT(bdigit_signedness, 0 &lt; (BDIGIT)-1);</div><div class='add'>+STATIC_ASSERT(bdigit_dbl_signedness, 0 &lt; (BDIGIT_DBL)-1);</div><div class='add'>+STATIC_ASSERT(bdigit_dbl_signed_signedness, 0 &gt; (BDIGIT_DBL_SIGNED)-1);</div><div class='add'>+STATIC_ASSERT(rbignum_embed_len_max, BIGNUM_EMBED_LEN_MAX &lt;= (BIGNUM_EMBED_LEN_MASK &gt;&gt; BIGNUM_EMBED_LEN_SHIFT));</div><div class='add'>+</div><div class='add'>+#if SIZEOF_BDIGIT &lt; SIZEOF_LONG</div><div class='add'>+STATIC_ASSERT(sizeof_long_and_sizeof_bdigit, SIZEOF_LONG % SIZEOF_BDIGIT == 0);</div><div class='add'>+#else</div><div class='add'>+STATIC_ASSERT(sizeof_long_and_sizeof_bdigit, SIZEOF_BDIGIT % SIZEOF_LONG == 0);</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#ifdef WORDS_BIGENDIAN</div><div class='add'>+#   define HOST_BIGENDIAN_P 1</div><div class='add'>+#else</div><div class='add'>+#   define HOST_BIGENDIAN_P 0</div><div class='add'>+#endif</div><div class='add'>+/* (!LSHIFTABLE(d, n) ? 0 : (n)) is same as n but suppress a warning, C4293, by Visual Studio.  */</div><div class='add'>+#define LSHIFTABLE(d, n) ((n) &lt; sizeof(d) * CHAR_BIT)</div><div class='add'>+#define LSHIFTX(d, n) (!LSHIFTABLE(d, n) ? 0 : ((d) &lt;&lt; (!LSHIFTABLE(d, n) ? 0 : (n))))</div><div class='add'>+#define CLEAR_LOWBITS(d, numbits) ((d) &amp; LSHIFTX(~((d)*0), (numbits)))</div><div class='add'>+#define FILL_LOWBITS(d, numbits) ((d) | (LSHIFTX(((d)*0+1), (numbits))-1))</div><div class='add'>+#define POW2_P(x) (((x)&amp;((x)-1))==0)</div><div class='add'>+</div><div class='add'>+#define BDIGITS(x) (BIGNUM_DIGITS(x))</div><div class='add'>+#define BITSPERDIG (SIZEOF_BDIGIT*CHAR_BIT)</div><div class='add'>+#define BIGRAD ((BDIGIT_DBL)1 &lt;&lt; BITSPERDIG)</div><div class='add'>+#define BIGRAD_HALF ((BDIGIT)(BIGRAD &gt;&gt; 1))</div><div class='add'>+#define BDIGIT_MSB(d) (((d) &amp; BIGRAD_HALF) != 0)</div><div class='add'>+#define BIGUP(x) LSHIFTX(((x) + (BDIGIT_DBL)0), BITSPERDIG)</div><div class='add'>+#define BIGDN(x) RSHIFT((x),BITSPERDIG)</div><div class='add'>+#define BIGLO(x) ((BDIGIT)((x) &amp; BDIGMAX))</div><div class='add'>+#define BDIGMAX ((BDIGIT)(BIGRAD-1))</div><div class='add'>+#define BDIGIT_DBL_MAX (~(BDIGIT_DBL)0)</div><div class='add'>+</div><div class='add'>+#if SIZEOF_BDIGIT == 2</div><div class='add'>+#   define swap_bdigit(x) swap16(x)</div><div class='add'>+#elif SIZEOF_BDIGIT == 4</div><div class='add'>+#   define swap_bdigit(x) swap32(x)</div><div class='add'>+#elif SIZEOF_BDIGIT == 8</div><div class='add'>+#   define swap_bdigit(x) swap64(x)</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#define BIGZEROP(x) (BIGNUM_LEN(x) == 0 || \</div><div class='add'>+		     (BDIGITS(x)[0] == 0 &amp;&amp; \</div><div class='add'>+		      (BIGNUM_LEN(x) == 1 || bigzero_p(x))))</div><div class='add'>+#define BIGSIZE(x) (BIGNUM_LEN(x) == 0 ? (size_t)0 : \</div><div class='add'>+    BDIGITS(x)[BIGNUM_LEN(x)-1] ? \</div><div class='add'>+        (size_t)(BIGNUM_LEN(x)*SIZEOF_BDIGIT - nlz(BDIGITS(x)[BIGNUM_LEN(x)-1])/CHAR_BIT) : \</div><div class='add'>+    rb_absint_size(x, NULL))</div><div class='add'>+</div><div class='add'>+#define BIGDIVREM_EXTRA_WORDS 1</div><div class='add'>+#define bdigit_roomof(n) roomof(n, SIZEOF_BDIGIT)</div><div class='add'>+#define BARY_ARGS(ary) ary, numberof(ary)</div><div class='add'>+</div><div class='add'>+#define BARY_ADD(z, x, y) bary_add(BARY_ARGS(z), BARY_ARGS(x), BARY_ARGS(y))</div><div class='add'>+#define BARY_SUB(z, x, y) bary_sub(BARY_ARGS(z), BARY_ARGS(x), BARY_ARGS(y))</div><div class='add'>+#define BARY_SHORT_MUL(z, x, y) bary_short_mul(BARY_ARGS(z), BARY_ARGS(x), BARY_ARGS(y))</div><div class='add'>+#define BARY_DIVMOD(q, r, x, y) bary_divmod(BARY_ARGS(q), BARY_ARGS(r), BARY_ARGS(x), BARY_ARGS(y))</div><div class='add'>+#define BARY_ZERO_P(x) bary_zero_p(BARY_ARGS(x))</div><div class='add'>+</div><div class='add'>+#define BIGNUM_SET_NEGATIVE_SIGN(b) BIGNUM_SET_SIGN(b, 0)</div><div class='add'>+#define BIGNUM_SET_POSITIVE_SIGN(b) BIGNUM_SET_SIGN(b, 1)</div><div class='add'>+</div><div class='add'>+#define bignew(len,sign) bignew_1(rb_cInteger,(len),(sign))</div><div class='add'>+</div><div class='add'>+#define BDIGITS_ZERO(ptr, n) do { \</div><div class='add'>+  BDIGIT *bdigitz_zero_ptr = (ptr); \</div><div class='add'>+  size_t bdigitz_zero_n = (n); \</div><div class='add'>+  while (bdigitz_zero_n) { \</div><div class='add'>+    *bdigitz_zero_ptr++ = 0; \</div><div class='add'>+    bdigitz_zero_n--; \</div><div class='add'>+  } \</div><div class='add'>+} while (0)</div><div class='add'>+</div><div class='add'>+#define BARY_TRUNC(ds, n) do { \</div><div class='add'>+        while (0 &lt; (n) &amp;&amp; (ds)[(n)-1] == 0) \</div><div class='add'>+            (n)--; \</div><div class='add'>+    } while (0)</div><div class='add'>+</div><div class='add'>+#define KARATSUBA_BALANCED(xn, yn) ((yn)/2 &lt; (xn))</div><div class='add'>+#define TOOM3_BALANCED(xn, yn) (((yn)+2)/3 * 2 &lt; (xn))</div><div class='add'>+</div><div class='add'>+#define GMP_MUL_DIGITS 20</div><div class='add'>+#define KARATSUBA_MUL_DIGITS 70</div><div class='add'>+#define TOOM3_MUL_DIGITS 150</div><div class='add'>+</div><div class='add'>+#define GMP_DIV_DIGITS 20</div><div class='add'>+#define GMP_BIG2STR_DIGITS 20</div><div class='add'>+#define GMP_STR2BIG_DIGITS 20</div><div class='add'>+#ifdef USE_GMP</div><div class='add'>+# define NAIVE_MUL_DIGITS GMP_MUL_DIGITS</div><div class='add'>+#else</div><div class='add'>+# define NAIVE_MUL_DIGITS KARATSUBA_MUL_DIGITS</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+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='add'>+</div><div class='add'>+static mulfunc_t bary_mul_toom3_start;</div><div class='add'>+static mulfunc_t bary_mul_karatsuba_start;</div><div class='add'>+static BDIGIT bigdivrem_single(BDIGIT *qds, const BDIGIT *xds, size_t xn, BDIGIT y);</div><div class='add'>+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='add'>+</div><div class='add'>+static VALUE bigmul0(VALUE x, VALUE y);</div><div class='add'>+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='add'>+static VALUE bignew_1(VALUE klass, size_t len, int sign);</div><div class='add'>+static inline VALUE bigtrunc(VALUE x);</div><div class='add'>+</div><div class='add'>+static VALUE bigsq(VALUE x);</div><div class='add'>+static void bigdivmod(VALUE x, VALUE y, volatile VALUE *divp, volatile VALUE *modp);</div><div class='add'>+static inline VALUE power_cache_get_power(int base, int power_level, size_t *numdigits_ret);</div><div class='add'>+</div><div class='add'>+#if SIZEOF_BDIGIT &lt;= SIZEOF_INT</div><div class='add'>+static int nlz(BDIGIT x) { return nlz_int((unsigned int)x) - (SIZEOF_INT-SIZEOF_BDIGIT) * CHAR_BIT; }</div><div class='add'>+#elif SIZEOF_BDIGIT &lt;= SIZEOF_LONG</div><div class='add'>+static int nlz(BDIGIT x) { return nlz_long((unsigned long)x) - (SIZEOF_LONG-SIZEOF_BDIGIT) * CHAR_BIT; }</div><div class='add'>+#elif SIZEOF_BDIGIT &lt;= SIZEOF_LONG_LONG</div><div class='add'>+static int nlz(BDIGIT x) { return nlz_long_long((unsigned LONG_LONG)x) - (SIZEOF_LONG_LONG-SIZEOF_BDIGIT) * CHAR_BIT; }</div><div class='add'>+#elif SIZEOF_BDIGIT &lt;= SIZEOF_INT128_T</div><div class='add'>+static int nlz(BDIGIT x) { return nlz_int128((uint128_t)x) - (SIZEOF_INT128_T-SIZEOF_BDIGIT) * CHAR_BIT; }</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#define U16(a) ((uint16_t)(a))</div><div class='add'>+#define U32(a) ((uint32_t)(a))</div><div class='add'>+#ifdef HAVE_UINT64_T</div><div class='add'>+#define U64(a,b) (((uint64_t)(a) &lt;&lt; 32) | (b))</div><div class='add'>+#endif</div><div class='add'>+#ifdef HAVE_UINT128_T</div><div class='add'>+#define U128(a,b,c,d) (((uint128_t)U64(a,b) &lt;&lt; 64) | U64(c,d))</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+/* The following script, maxpow.rb, generates the tables follows.</div><div class='add'>+</div><div class='add'>+def big(n, bits)</div><div class='add'>+  ns = []</div><div class='add'>+  ((bits+31)/32).times {</div><div class='add'>+    ns &lt;&lt; sprintf("0x%08x", n &amp; 0xffff_ffff)</div><div class='add'>+    n &gt;&gt;= 32</div><div class='add'>+  }</div><div class='add'>+  "U#{bits}(" + ns.reverse.join(",") + ")"</div><div class='add'>+end</div><div class='add'>+def values(ary, width, indent)</div><div class='add'>+  lines = [""]</div><div class='add'>+  ary.each {|e|</div><div class='add'>+    lines &lt;&lt; "" if !ary.last.empty? &amp;&amp; width &lt; (lines.last + e + ", ").length</div><div class='add'>+    lines.last &lt;&lt; e + ", "</div><div class='add'>+  }</div><div class='add'>+  lines.map {|line| " " * indent + line.chomp(" ") + "\n" }.join</div><div class='add'>+end</div><div class='add'>+[16,32,64,128].each {|bits|</div><div class='add'>+  max = 2**bits-1</div><div class='add'>+  exps = []</div><div class='add'>+  nums = []</div><div class='add'>+  2.upto(36) {|base|</div><div class='add'>+    exp = 0</div><div class='add'>+    n = 1</div><div class='add'>+    while n * base &lt;= max</div><div class='add'>+      exp += 1</div><div class='add'>+      n *= base</div><div class='add'>+    end</div><div class='add'>+    exps &lt;&lt; exp.to_s</div><div class='add'>+    nums &lt;&lt; big(n, bits)</div><div class='add'>+  }</div><div class='add'>+  puts "#ifdef HAVE_UINT#{bits}_T"</div><div class='add'>+  puts "static const int maxpow#{bits}_exp[35] = {"</div><div class='add'>+  print values(exps, 70, 4)</div><div class='add'>+  puts "};"</div><div class='add'>+  puts "static const uint#{bits}_t maxpow#{bits}_num[35] = {"</div><div class='add'>+  print values(nums, 70, 4)</div><div class='add'>+  puts "};"</div><div class='add'>+  puts "#endif"</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+#if SIZEOF_BDIGIT_DBL == 2</div><div class='add'>+static const int maxpow16_exp[35] = {</div><div class='add'>+    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='add'>+    3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,</div><div class='add'>+};</div><div class='add'>+static const uint16_t maxpow16_num[35] = {</div><div class='add'>+    U16(0x00008000), U16(0x0000e6a9), U16(0x00004000), U16(0x00003d09),</div><div class='add'>+    U16(0x0000b640), U16(0x000041a7), U16(0x00008000), U16(0x0000e6a9),</div><div class='add'>+    U16(0x00002710), U16(0x00003931), U16(0x00005100), U16(0x00006f91),</div><div class='add'>+    U16(0x00009610), U16(0x0000c5c1), U16(0x00001000), U16(0x00001331),</div><div class='add'>+    U16(0x000016c8), U16(0x00001acb), U16(0x00001f40), U16(0x0000242d),</div><div class='add'>+    U16(0x00002998), U16(0x00002f87), U16(0x00003600), U16(0x00003d09),</div><div class='add'>+    U16(0x000044a8), U16(0x00004ce3), U16(0x000055c0), U16(0x00005f45),</div><div class='add'>+    U16(0x00006978), U16(0x0000745f), U16(0x00008000), U16(0x00008c61),</div><div class='add'>+    U16(0x00009988), U16(0x0000a77b), U16(0x0000b640),</div><div class='add'>+};</div><div class='add'>+#elif SIZEOF_BDIGIT_DBL == 4</div><div class='add'>+static const int maxpow32_exp[35] = {</div><div class='add'>+    31, 20, 15, 13, 12, 11, 10, 10, 9, 9, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7,</div><div class='add'>+    7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,</div><div class='add'>+};</div><div class='add'>+static const uint32_t maxpow32_num[35] = {</div><div class='add'>+    U32(0x80000000), U32(0xcfd41b91), U32(0x40000000), U32(0x48c27395),</div><div class='add'>+    U32(0x81bf1000), U32(0x75db9c97), U32(0x40000000), U32(0xcfd41b91),</div><div class='add'>+    U32(0x3b9aca00), U32(0x8c8b6d2b), U32(0x19a10000), U32(0x309f1021),</div><div class='add'>+    U32(0x57f6c100), U32(0x98c29b81), U32(0x10000000), U32(0x18754571),</div><div class='add'>+    U32(0x247dbc80), U32(0x3547667b), U32(0x4c4b4000), U32(0x6b5a6e1d),</div><div class='add'>+    U32(0x94ace180), U32(0xcaf18367), U32(0x0b640000), U32(0x0e8d4a51),</div><div class='add'>+    U32(0x1269ae40), U32(0x17179149), U32(0x1cb91000), U32(0x23744899),</div><div class='add'>+    U32(0x2b73a840), U32(0x34e63b41), U32(0x40000000), U32(0x4cfa3cc1),</div><div class='add'>+    U32(0x5c13d840), U32(0x6d91b519), U32(0x81bf1000),</div><div class='add'>+};</div><div class='add'>+#elif SIZEOF_BDIGIT_DBL == 8 &amp;&amp; defined HAVE_UINT64_T</div><div class='add'>+static const int maxpow64_exp[35] = {</div><div class='add'>+    63, 40, 31, 27, 24, 22, 21, 20, 19, 18, 17, 17, 16, 16, 15, 15, 15,</div><div class='add'>+    15, 14, 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, 12, 12, 12, 12, 12,</div><div class='add'>+    12,</div><div class='add'>+};</div><div class='add'>+static const uint64_t maxpow64_num[35] = {</div><div class='add'>+    U64(0x80000000,0x00000000), U64(0xa8b8b452,0x291fe821),</div><div class='add'>+    U64(0x40000000,0x00000000), U64(0x6765c793,0xfa10079d),</div><div class='add'>+    U64(0x41c21cb8,0xe1000000), U64(0x36427987,0x50226111),</div><div class='add'>+    U64(0x80000000,0x00000000), U64(0xa8b8b452,0x291fe821),</div><div class='add'>+    U64(0x8ac72304,0x89e80000), U64(0x4d28cb56,0xc33fa539),</div><div class='add'>+    U64(0x1eca170c,0x00000000), U64(0x780c7372,0x621bd74d),</div><div class='add'>+    U64(0x1e39a505,0x7d810000), U64(0x5b27ac99,0x3df97701),</div><div class='add'>+    U64(0x10000000,0x00000000), U64(0x27b95e99,0x7e21d9f1),</div><div class='add'>+    U64(0x5da0e1e5,0x3c5c8000), U64(0xd2ae3299,0xc1c4aedb),</div><div class='add'>+    U64(0x16bcc41e,0x90000000), U64(0x2d04b7fd,0xd9c0ef49),</div><div class='add'>+    U64(0x5658597b,0xcaa24000), U64(0xa0e20737,0x37609371),</div><div class='add'>+    U64(0x0c29e980,0x00000000), U64(0x14adf4b7,0x320334b9),</div><div class='add'>+    U64(0x226ed364,0x78bfa000), U64(0x383d9170,0xb85ff80b),</div><div class='add'>+    U64(0x5a3c23e3,0x9c000000), U64(0x8e651373,0x88122bcd),</div><div class='add'>+    U64(0xdd41bb36,0xd259e000), U64(0x0aee5720,0xee830681),</div><div class='add'>+    U64(0x10000000,0x00000000), U64(0x172588ad,0x4f5f0981),</div><div class='add'>+    U64(0x211e44f7,0xd02c1000), U64(0x2ee56725,0xf06e5c71),</div><div class='add'>+    U64(0x41c21cb8,0xe1000000),</div><div class='add'>+};</div><div class='add'>+#elif SIZEOF_BDIGIT_DBL == 16 &amp;&amp; defined HAVE_UINT128_T</div><div class='add'>+static const int maxpow128_exp[35] = {</div><div class='add'>+    127, 80, 63, 55, 49, 45, 42, 40, 38, 37, 35, 34, 33, 32, 31, 31, 30,</div><div class='add'>+    30, 29, 29, 28, 28, 27, 27, 27, 26, 26, 26, 26, 25, 25, 25, 25, 24,</div><div class='add'>+    24,</div><div class='add'>+};</div><div class='add'>+static const uint128_t maxpow128_num[35] = {</div><div class='add'>+    U128(0x80000000,0x00000000,0x00000000,0x00000000),</div><div class='add'>+    U128(0x6f32f1ef,0x8b18a2bc,0x3cea5978,0x9c79d441),</div><div class='add'>+    U128(0x40000000,0x00000000,0x00000000,0x00000000),</div><div class='add'>+    U128(0xd0cf4b50,0xcfe20765,0xfff4b4e3,0xf741cf6d),</div><div class='add'>+    U128(0x6558e2a0,0x921fe069,0x42860000,0x00000000),</div><div class='add'>+    U128(0x5080c7b7,0xd0e31ba7,0x5911a67d,0xdd3d35e7),</div><div class='add'>+    U128(0x40000000,0x00000000,0x00000000,0x00000000),</div><div class='add'>+    U128(0x6f32f1ef,0x8b18a2bc,0x3cea5978,0x9c79d441),</div><div class='add'>+    U128(0x4b3b4ca8,0x5a86c47a,0x098a2240,0x00000000),</div><div class='add'>+    U128(0xffd1390a,0x0adc2fb8,0xdabbb817,0x4d95c99b),</div><div class='add'>+    U128(0x2c6fdb36,0x4c25e6c0,0x00000000,0x00000000),</div><div class='add'>+    U128(0x384bacd6,0x42c343b4,0xe90c4272,0x13506d29),</div><div class='add'>+    U128(0x31f5db32,0xa34aced6,0x0bf13a0e,0x00000000),</div><div class='add'>+    U128(0x20753ada,0xfd1e839f,0x53686d01,0x3143ee01),</div><div class='add'>+    U128(0x10000000,0x00000000,0x00000000,0x00000000),</div><div class='add'>+    U128(0x68ca11d6,0xb4f6d1d1,0xfaa82667,0x8073c2f1),</div><div class='add'>+    U128(0x223e493b,0xb3bb69ff,0xa4b87d6c,0x40000000),</div><div class='add'>+    U128(0xad62418d,0x14ea8247,0x01c4b488,0x6cc66f59),</div><div class='add'>+    U128(0x2863c1f5,0xcdae42f9,0x54000000,0x00000000),</div><div class='add'>+    U128(0xa63fd833,0xb9386b07,0x36039e82,0xbe651b25),</div><div class='add'>+    U128(0x1d1f7a9c,0xd087a14d,0x28cdf3d5,0x10000000),</div><div class='add'>+    U128(0x651b5095,0xc2ea8fc1,0xb30e2c57,0x77aaf7e1),</div><div class='add'>+    U128(0x0ddef20e,0xff760000,0x00000000,0x00000000),</div><div class='add'>+    U128(0x29c30f10,0x29939b14,0x6664242d,0x97d9f649),</div><div class='add'>+    U128(0x786a435a,0xe9558b0e,0x6aaf6d63,0xa8000000),</div><div class='add'>+    U128(0x0c5afe6f,0xf302bcbf,0x94fd9829,0xd87f5079),</div><div class='add'>+    U128(0x1fce575c,0xe1692706,0x07100000,0x00000000),</div><div class='add'>+    U128(0x4f34497c,0x8597e144,0x36e91802,0x00528229),</div><div class='add'>+    U128(0xbf3a8e1d,0x41ef2170,0x7802130d,0x84000000),</div><div class='add'>+    U128(0x0e7819e1,0x7f1eb0fb,0x6ee4fb89,0x01d9531f),</div><div class='add'>+    U128(0x20000000,0x00000000,0x00000000,0x00000000),</div><div class='add'>+    U128(0x4510460d,0xd9e879c0,0x14a82375,0x2f22b321),</div><div class='add'>+    U128(0x91abce3c,0x4b4117ad,0xe76d35db,0x22000000),</div><div class='add'>+    U128(0x08973ea3,0x55d75bc2,0x2e42c391,0x727d69e1),</div><div class='add'>+    U128(0x10e425c5,0x6daffabc,0x35c10000,0x00000000),</div><div class='add'>+};</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+static BDIGIT_DBL</div><div class='add'>+maxpow_in_bdigit_dbl(int base, int *exp_ret)</div><div class='add'>+{</div><div class='add'>+    BDIGIT_DBL maxpow;</div><div class='add'>+    int exponent;</div><div class='add'>+</div><div class='add'>+    assert(2 &lt;= base &amp;&amp; base &lt;= 36);</div><div class='add'>+</div><div class='add'>+    {</div><div class='add'>+#if SIZEOF_BDIGIT_DBL == 2</div><div class='add'>+        maxpow = maxpow16_num[base-2];</div><div class='add'>+        exponent = maxpow16_exp[base-2];</div><div class='add'>+#elif SIZEOF_BDIGIT_DBL == 4</div><div class='add'>+        maxpow = maxpow32_num[base-2];</div><div class='add'>+        exponent = maxpow32_exp[base-2];</div><div class='add'>+#elif SIZEOF_BDIGIT_DBL == 8 &amp;&amp; defined HAVE_UINT64_T</div><div class='add'>+        maxpow = maxpow64_num[base-2];</div><div class='add'>+        exponent = maxpow64_exp[base-2];</div><div class='add'>+#elif SIZEOF_BDIGIT_DBL == 16 &amp;&amp; defined HAVE_UINT128_T</div><div class='add'>+        maxpow = maxpow128_num[base-2];</div><div class='add'>+        exponent = maxpow128_exp[base-2];</div><div class='add'>+#else</div><div class='add'>+        maxpow = base;</div><div class='add'>+        exponent = 1;</div><div class='add'>+        while (maxpow &lt;= BDIGIT_DBL_MAX / base) {</div><div class='add'>+            maxpow *= base;</div><div class='add'>+            exponent++;</div><div class='add'>+        }</div><div class='add'>+#endif</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    *exp_ret = exponent;</div><div class='add'>+    return maxpow;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static inline BDIGIT_DBL</div><div class='add'>+bary2bdigitdbl(const BDIGIT *ds, size_t n)</div><div class='add'>+{</div><div class='add'>+    assert(n &lt;= 2);</div><div class='add'>+</div><div class='add'>+    if (n == 2)</div><div class='add'>+        return ds[0] | BIGUP(ds[1]);</div><div class='add'>+    if (n == 1)</div><div class='add'>+        return ds[0];</div><div class='add'>+    return 0;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static inline void</div><div class='add'>+bdigitdbl2bary(BDIGIT *ds, size_t n, BDIGIT_DBL num)</div><div class='add'>+{</div><div class='add'>+    assert(n == 2);</div><div class='add'>+</div><div class='add'>+    ds[0] = BIGLO(num);</div><div class='add'>+    ds[1] = (BDIGIT)BIGDN(num);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+bary_cmp(const BDIGIT *xds, size_t xn, const BDIGIT *yds, size_t yn)</div><div class='add'>+{</div><div class='add'>+    size_t i;</div><div class='add'>+    BARY_TRUNC(xds, xn);</div><div class='add'>+    BARY_TRUNC(yds, yn);</div><div class='add'>+</div><div class='add'>+    if (xn &lt; yn)</div><div class='add'>+        return -1;</div><div class='add'>+    if (xn &gt; yn)</div><div class='add'>+        return 1;</div><div class='add'>+</div><div class='add'>+    for (i = 0; i &lt; xn; i++)</div><div class='add'>+        if (xds[xn - i - 1] != yds[yn - i - 1])</div><div class='add'>+            break;</div><div class='add'>+    if (i == xn)</div><div class='add'>+        return 0;</div><div class='add'>+    return xds[xn - i - 1] &lt; yds[yn - i - 1] ? -1 : 1;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static BDIGIT</div><div class='add'>+bary_small_lshift(BDIGIT *zds, const BDIGIT *xds, size_t n, int shift)</div><div class='add'>+{</div><div class='add'>+    size_t i;</div><div class='add'>+    BDIGIT_DBL num = 0;</div><div class='add'>+    assert(0 &lt;= shift &amp;&amp; shift &lt; BITSPERDIG);</div><div class='add'>+</div><div class='add'>+    for (i=0; i&lt;n; i++) {</div><div class='add'>+	num = num | (BDIGIT_DBL)*xds++ &lt;&lt; shift;</div><div class='add'>+	*zds++ = BIGLO(num);</div><div class='add'>+	num = BIGDN(num);</div><div class='add'>+    }</div><div class='add'>+    return BIGLO(num);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+bary_small_rshift(BDIGIT *zds, const BDIGIT *xds, size_t n, int shift, BDIGIT higher_bdigit)</div><div class='add'>+{</div><div class='add'>+    size_t i;</div><div class='add'>+    BDIGIT_DBL num = 0;</div><div class='add'>+</div><div class='add'>+    assert(0 &lt;= shift &amp;&amp; shift &lt; BITSPERDIG);</div><div class='add'>+</div><div class='add'>+    num = BIGUP(higher_bdigit);</div><div class='add'>+    for (i = 0; i &lt; n; i++) {</div><div class='add'>+        BDIGIT x = xds[n - i - 1];</div><div class='add'>+	num = (num | x) &gt;&gt; shift;</div><div class='add'>+        zds[n - i - 1] = BIGLO(num);</div><div class='add'>+	num = BIGUP(x);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+bary_zero_p(const BDIGIT *xds, size_t xn)</div><div class='add'>+{</div><div class='add'>+    if (xn == 0)</div><div class='add'>+        return 1;</div><div class='add'>+    do {</div><div class='add'>+	if (xds[--xn]) return 0;</div><div class='add'>+    } while (xn);</div><div class='add'>+    return 1;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+bary_neg(BDIGIT *ds, size_t n)</div><div class='add'>+{</div><div class='add'>+    size_t i;</div><div class='add'>+    for (i = 0; i &lt; n; i++)</div><div class='add'>+        ds[n - i - 1] = BIGLO(~ds[n - i - 1]);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+bary_2comp(BDIGIT *ds, size_t n)</div><div class='add'>+{</div><div class='add'>+    size_t i;</div><div class='add'>+    i = 0;</div><div class='add'>+    for (i = 0; i &lt; n; i++) {</div><div class='add'>+        if (ds[i] != 0) {</div><div class='add'>+            goto non_zero;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    return 1;</div><div class='add'>+</div><div class='add'>+  non_zero:</div><div class='add'>+    ds[i] = BIGLO(~ds[i] + 1);</div><div class='add'>+    i++;</div><div class='add'>+    for (; i &lt; n; i++) {</div><div class='add'>+        ds[i] = BIGLO(~ds[i]);</div><div class='add'>+    }</div><div class='add'>+    return 0;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+bary_swap(BDIGIT *ds, size_t num_bdigits)</div><div class='add'>+{</div><div class='add'>+    BDIGIT *p1 = ds;</div><div class='add'>+    BDIGIT *p2 = ds + num_bdigits - 1;</div><div class='add'>+    for (; p1 &lt; p2; p1++, p2--) {</div><div class='add'>+        BDIGIT tmp = *p1;</div><div class='add'>+        *p1 = *p2;</div><div class='add'>+        *p2 = tmp;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#define INTEGER_PACK_WORDORDER_MASK \</div><div class='add'>+    (INTEGER_PACK_MSWORD_FIRST | \</div><div class='add'>+     INTEGER_PACK_LSWORD_FIRST)</div><div class='add'>+#define INTEGER_PACK_BYTEORDER_MASK \</div><div class='add'>+    (INTEGER_PACK_MSBYTE_FIRST | \</div><div class='add'>+     INTEGER_PACK_LSBYTE_FIRST | \</div><div class='add'>+     INTEGER_PACK_NATIVE_BYTE_ORDER)</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+validate_integer_pack_format(size_t numwords, size_t wordsize, size_t nails, int flags, int supported_flags)</div><div class='add'>+{</div><div class='add'>+    int wordorder_bits = flags &amp; INTEGER_PACK_WORDORDER_MASK;</div><div class='add'>+    int byteorder_bits = flags &amp; INTEGER_PACK_BYTEORDER_MASK;</div><div class='add'>+</div><div class='add'>+    if (flags &amp; ~supported_flags) {</div><div class='add'>+        rb_raise(rb_eArgError, "unsupported flags specified");</div><div class='add'>+    }</div><div class='add'>+    if (wordorder_bits == 0) {</div><div class='add'>+        if (1 &lt; numwords)</div><div class='add'>+            rb_raise(rb_eArgError, "word order not specified");</div><div class='add'>+    }</div><div class='add'>+    else if (wordorder_bits != INTEGER_PACK_MSWORD_FIRST &amp;&amp;</div><div class='add'>+        wordorder_bits != INTEGER_PACK_LSWORD_FIRST)</div><div class='add'>+        rb_raise(rb_eArgError, "unexpected word order");</div><div class='add'>+    if (byteorder_bits == 0) {</div><div class='add'>+        rb_raise(rb_eArgError, "byte order not specified");</div><div class='add'>+    }</div><div class='add'>+    else if (byteorder_bits != INTEGER_PACK_MSBYTE_FIRST &amp;&amp;</div><div class='add'>+        byteorder_bits != INTEGER_PACK_LSBYTE_FIRST &amp;&amp;</div><div class='add'>+        byteorder_bits != INTEGER_PACK_NATIVE_BYTE_ORDER)</div><div class='add'>+        rb_raise(rb_eArgError, "unexpected byte order");</div><div class='add'>+    if (wordsize == 0)</div><div class='add'>+        rb_raise(rb_eArgError, "invalid wordsize: %"PRI_SIZE_PREFIX"u", wordsize);</div><div class='add'>+    if (SSIZE_MAX &lt; wordsize)</div><div class='add'>+        rb_raise(rb_eArgError, "too big wordsize: %"PRI_SIZE_PREFIX"u", wordsize);</div><div class='add'>+    if (wordsize &lt;= nails / CHAR_BIT)</div><div class='add'>+        rb_raise(rb_eArgError, "too big nails: %"PRI_SIZE_PREFIX"u", nails);</div><div class='add'>+    if (SIZE_MAX / wordsize &lt; numwords)</div><div class='add'>+        rb_raise(rb_eArgError, "too big numwords * wordsize: %"PRI_SIZE_PREFIX"u * %"PRI_SIZE_PREFIX"u", numwords, wordsize);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+integer_pack_loop_setup(</div><div class='add'>+    size_t numwords, size_t wordsize, size_t nails, int flags,</div><div class='add'>+    size_t *word_num_fullbytes_ret,</div><div class='add'>+    int *word_num_partialbits_ret,</div><div class='add'>+    size_t *word_start_ret,</div><div class='add'>+    ssize_t *word_step_ret,</div><div class='add'>+    size_t *word_last_ret,</div><div class='add'>+    size_t *byte_start_ret,</div><div class='add'>+    int *byte_step_ret)</div><div class='add'>+{</div><div class='add'>+    int wordorder_bits = flags &amp; INTEGER_PACK_WORDORDER_MASK;</div><div class='add'>+    int byteorder_bits = flags &amp; INTEGER_PACK_BYTEORDER_MASK;</div><div class='add'>+    size_t word_num_fullbytes;</div><div class='add'>+    int word_num_partialbits;</div><div class='add'>+    size_t word_start;</div><div class='add'>+    ssize_t word_step;</div><div class='add'>+    size_t word_last;</div><div class='add'>+    size_t byte_start;</div><div class='add'>+    int byte_step;</div><div class='add'>+</div><div class='add'>+    word_num_partialbits = CHAR_BIT - (int)(nails % CHAR_BIT);</div><div class='add'>+    if (word_num_partialbits == CHAR_BIT)</div><div class='add'>+        word_num_partialbits = 0;</div><div class='add'>+    word_num_fullbytes = wordsize - (nails / CHAR_BIT);</div><div class='add'>+    if (word_num_partialbits != 0) {</div><div class='add'>+        word_num_fullbytes--;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (wordorder_bits == INTEGER_PACK_MSWORD_FIRST) {</div><div class='add'>+        word_start = wordsize*(numwords-1);</div><div class='add'>+        word_step = -(ssize_t)wordsize;</div><div class='add'>+        word_last = 0;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        word_start = 0;</div><div class='add'>+        word_step = wordsize;</div><div class='add'>+        word_last = wordsize*(numwords-1);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (byteorder_bits == INTEGER_PACK_NATIVE_BYTE_ORDER) {</div><div class='add'>+#ifdef WORDS_BIGENDIAN</div><div class='add'>+        byteorder_bits = INTEGER_PACK_MSBYTE_FIRST;</div><div class='add'>+#else</div><div class='add'>+        byteorder_bits = INTEGER_PACK_LSBYTE_FIRST;</div><div class='add'>+#endif</div><div class='add'>+    }</div><div class='add'>+    if (byteorder_bits == INTEGER_PACK_MSBYTE_FIRST) {</div><div class='add'>+        byte_start = wordsize-1;</div><div class='add'>+        byte_step = -1;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        byte_start = 0;</div><div class='add'>+        byte_step = 1;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    *word_num_partialbits_ret = word_num_partialbits;</div><div class='add'>+    *word_num_fullbytes_ret = word_num_fullbytes;</div><div class='add'>+    *word_start_ret = word_start;</div><div class='add'>+    *word_step_ret = word_step;</div><div class='add'>+    *word_last_ret = word_last;</div><div class='add'>+    *byte_start_ret = byte_start;</div><div class='add'>+    *byte_step_ret = byte_step;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static inline void</div><div class='add'>+integer_pack_fill_dd(BDIGIT **dpp, BDIGIT **dep, BDIGIT_DBL *ddp, int *numbits_in_dd_p)</div><div class='add'>+{</div><div class='add'>+    if (*dpp &lt; *dep &amp;&amp; BITSPERDIG &lt;= (int)sizeof(*ddp) * CHAR_BIT - *numbits_in_dd_p) {</div><div class='add'>+        *ddp |= (BDIGIT_DBL)(*(*dpp)++) &lt;&lt; *numbits_in_dd_p;</div><div class='add'>+        *numbits_in_dd_p += BITSPERDIG;</div><div class='add'>+    }</div><div class='add'>+    else if (*dpp == *dep) {</div><div class='add'>+        /* higher bits are infinity zeros */</div><div class='add'>+        *numbits_in_dd_p = (int)sizeof(*ddp) * CHAR_BIT;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static inline BDIGIT_DBL</div><div class='add'>+integer_pack_take_lowbits(int n, BDIGIT_DBL *ddp, int *numbits_in_dd_p)</div><div class='add'>+{</div><div class='add'>+    BDIGIT_DBL ret;</div><div class='add'>+    ret = (*ddp) &amp; (((BDIGIT_DBL)1 &lt;&lt; n) - 1);</div><div class='add'>+    *ddp &gt;&gt;= n;</div><div class='add'>+    *numbits_in_dd_p -= n;</div><div class='add'>+    return ret;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#if !defined(WORDS_BIGENDIAN)</div><div class='add'>+static int</div><div class='add'>+bytes_2comp(unsigned char *buf, size_t len)</div><div class='add'>+{</div><div class='add'>+    size_t i;</div><div class='add'>+    for (i = 0; i &lt; len; i++) {</div><div class='add'>+        signed char c = buf[i];</div><div class='add'>+        signed int d = ~c;</div><div class='add'>+        unsigned int e = d &amp; 0xFF;</div><div class='add'>+        buf[i] = e;</div><div class='add'>+    }</div><div class='add'>+    for (i = 0; i &lt; len; i++) {</div><div class='add'>+        buf[i]++;</div><div class='add'>+        if (buf[i] != 0)</div><div class='add'>+            return 0;</div><div class='add'>+    }</div><div class='add'>+    return 1;</div><div class='add'>+}</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+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='add'>+{</div><div class='add'>+    BDIGIT *dp, *de;</div><div class='add'>+    unsigned char *buf, *bufend;</div><div class='add'>+</div><div class='add'>+    dp = ds;</div><div class='add'>+    de = ds + num_bdigits;</div><div class='add'>+</div><div class='add'>+    validate_integer_pack_format(numwords, wordsize, nails, flags,</div><div class='add'>+            INTEGER_PACK_MSWORD_FIRST|</div><div class='add'>+            INTEGER_PACK_LSWORD_FIRST|</div><div class='add'>+            INTEGER_PACK_MSBYTE_FIRST|</div><div class='add'>+            INTEGER_PACK_LSBYTE_FIRST|</div><div class='add'>+            INTEGER_PACK_NATIVE_BYTE_ORDER|</div><div class='add'>+            INTEGER_PACK_2COMP|</div><div class='add'>+            INTEGER_PACK_FORCE_GENERIC_IMPLEMENTATION);</div><div class='add'>+</div><div class='add'>+    while (dp &lt; de &amp;&amp; de[-1] == 0)</div><div class='add'>+        de--;</div><div class='add'>+    if (dp == de) {</div><div class='add'>+        sign = 0;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (!(flags &amp; INTEGER_PACK_FORCE_GENERIC_IMPLEMENTATION)) {</div><div class='add'>+        if (sign == 0) {</div><div class='add'>+            MEMZERO(words, unsigned char, numwords * wordsize);</div><div class='add'>+            return 0;</div><div class='add'>+        }</div><div class='add'>+        if (nails == 0 &amp;&amp; numwords == 1) {</div><div class='add'>+            int need_swap = wordsize != 1 &amp;&amp;</div><div class='add'>+                (flags &amp; INTEGER_PACK_BYTEORDER_MASK) != INTEGER_PACK_NATIVE_BYTE_ORDER &amp;&amp;</div><div class='add'>+                ((flags &amp; INTEGER_PACK_MSBYTE_FIRST) ? !HOST_BIGENDIAN_P : HOST_BIGENDIAN_P);</div><div class='add'>+            if (0 &lt; sign || !(flags &amp; INTEGER_PACK_2COMP)) {</div><div class='add'>+                BDIGIT d;</div><div class='add'>+                if (wordsize == 1) {</div><div class='add'>+                    *((unsigned char *)words) = (unsigned char)(d = dp[0]);</div><div class='add'>+                    return ((1 &lt; de - dp || CLEAR_LOWBITS(d, 8) != 0) ? 2 : 1) * sign;</div><div class='add'>+                }</div><div class='add'>+#if defined(HAVE_UINT16_T) &amp;&amp; 2 &lt;= SIZEOF_BDIGIT</div><div class='add'>+                if (wordsize == 2 &amp;&amp; (uintptr_t)words % RUBY_ALIGNOF(uint16_t) == 0) {</div><div class='add'>+                    uint16_t u = (uint16_t)(d = dp[0]);</div><div class='add'>+                    if (need_swap) u = swap16(u);</div><div class='add'>+                    *((uint16_t *)words) = u;</div><div class='add'>+                    return ((1 &lt; de - dp || CLEAR_LOWBITS(d, 16) != 0) ? 2 : 1) * sign;</div><div class='add'>+                }</div><div class='add'>+#endif</div><div class='add'>+#if defined(HAVE_UINT32_T) &amp;&amp; 4 &lt;= SIZEOF_BDIGIT</div><div class='add'>+                if (wordsize == 4 &amp;&amp; (uintptr_t)words % RUBY_ALIGNOF(uint32_t) == 0) {</div><div class='add'>+                    uint32_t u = (uint32_t)(d = dp[0]);</div><div class='add'>+                    if (need_swap) u = swap32(u);</div><div class='add'>+                    *((uint32_t *)words) = u;</div><div class='add'>+                    return ((1 &lt; de - dp || CLEAR_LOWBITS(d, 32) != 0) ? 2 : 1) * sign;</div><div class='add'>+                }</div><div class='add'>+#endif</div><div class='add'>+#if defined(HAVE_UINT64_T) &amp;&amp; 8 &lt;= SIZEOF_BDIGIT</div><div class='add'>+                if (wordsize == 8 &amp;&amp; (uintptr_t)words % RUBY_ALIGNOF(uint64_t) == 0) {</div><div class='add'>+                    uint64_t u = (uint64_t)(d = dp[0]);</div><div class='add'>+                    if (need_swap) u = swap64(u);</div><div class='add'>+                    *((uint64_t *)words) = u;</div><div class='add'>+                    return ((1 &lt; de - dp || CLEAR_LOWBITS(d, 64) != 0) ? 2 : 1) * sign;</div><div class='add'>+                }</div><div class='add'>+#endif</div><div class='add'>+            }</div><div class='add'>+            else { /* sign &lt; 0 &amp;&amp; (flags &amp; INTEGER_PACK_2COMP) */</div><div class='add'>+                BDIGIT_DBL_SIGNED d;</div><div class='add'>+                if (wordsize == 1) {</div><div class='add'>+                    *((unsigned char *)words) = (unsigned char)(d = -(BDIGIT_DBL_SIGNED)dp[0]);</div><div class='add'>+                    return (1 &lt; de - dp || FILL_LOWBITS(d, 8) != -1) ? -2 : -1;</div><div class='add'>+                }</div><div class='add'>+#if defined(HAVE_UINT16_T) &amp;&amp; 2 &lt;= SIZEOF_BDIGIT</div><div class='add'>+                if (wordsize == 2 &amp;&amp; (uintptr_t)words % RUBY_ALIGNOF(uint16_t) == 0) {</div><div class='add'>+                    uint16_t u = (uint16_t)(d = -(BDIGIT_DBL_SIGNED)dp[0]);</div><div class='add'>+                    if (need_swap) u = swap16(u);</div><div class='add'>+                    *((uint16_t *)words) = u;</div><div class='add'>+                    return (wordsize == SIZEOF_BDIGIT &amp;&amp; de - dp == 2 &amp;&amp; dp[1] == 1 &amp;&amp; dp[0] == 0) ? -1 :</div><div class='add'>+                        (1 &lt; de - dp || FILL_LOWBITS(d, 16) != -1) ? -2 : -1;</div><div class='add'>+                }</div><div class='add'>+#endif</div><div class='add'>+#if defined(HAVE_UINT32_T) &amp;&amp; 4 &lt;= SIZEOF_BDIGIT</div><div class='add'>+                if (wordsize == 4 &amp;&amp; (uintptr_t)words % RUBY_ALIGNOF(uint32_t) == 0) {</div><div class='add'>+                    uint32_t u = (uint32_t)(d = -(BDIGIT_DBL_SIGNED)dp[0]);</div><div class='add'>+                    if (need_swap) u = swap32(u);</div><div class='add'>+                    *((uint32_t *)words) = u;</div><div class='add'>+                    return (wordsize == SIZEOF_BDIGIT &amp;&amp; de - dp == 2 &amp;&amp; dp[1] == 1 &amp;&amp; dp[0] == 0) ? -1 :</div><div class='add'>+                        (1 &lt; de - dp || FILL_LOWBITS(d, 32) != -1) ? -2 : -1;</div><div class='add'>+                }</div><div class='add'>+#endif</div><div class='add'>+#if defined(HAVE_UINT64_T) &amp;&amp; 8 &lt;= SIZEOF_BDIGIT</div><div class='add'>+                if (wordsize == 8 &amp;&amp; (uintptr_t)words % RUBY_ALIGNOF(uint64_t) == 0) {</div><div class='add'>+                    uint64_t u = (uint64_t)(d = -(BDIGIT_DBL_SIGNED)dp[0]);</div><div class='add'>+                    if (need_swap) u = swap64(u);</div><div class='add'>+                    *((uint64_t *)words) = u;</div><div class='add'>+                    return (wordsize == SIZEOF_BDIGIT &amp;&amp; de - dp == 2 &amp;&amp; dp[1] == 1 &amp;&amp; dp[0] == 0) ? -1 :</div><div class='add'>+                        (1 &lt; de - dp || FILL_LOWBITS(d, 64) != -1) ? -2 : -1;</div><div class='add'>+                }</div><div class='add'>+#endif</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+#if !defined(WORDS_BIGENDIAN)</div><div class='add'>+        if (nails == 0 &amp;&amp; SIZEOF_BDIGIT == sizeof(BDIGIT) &amp;&amp;</div><div class='add'>+            (flags &amp; INTEGER_PACK_WORDORDER_MASK) == INTEGER_PACK_LSWORD_FIRST &amp;&amp;</div><div class='add'>+            (flags &amp; INTEGER_PACK_BYTEORDER_MASK) != INTEGER_PACK_MSBYTE_FIRST) {</div><div class='add'>+            size_t src_size = (de - dp) * SIZEOF_BDIGIT;</div><div class='add'>+            size_t dst_size = numwords * wordsize;</div><div class='add'>+            int overflow = 0;</div><div class='add'>+            while (0 &lt; src_size &amp;&amp; ((unsigned char *)ds)[src_size-1] == 0)</div><div class='add'>+                src_size--;</div><div class='add'>+            if (src_size &lt;= dst_size) {</div><div class='add'>+                MEMCPY(words, dp, char, src_size);</div><div class='add'>+                MEMZERO((char*)words + src_size, char, dst_size - src_size);</div><div class='add'>+            }</div><div class='add'>+            else {</div><div class='add'>+                MEMCPY(words, dp, char, dst_size);</div><div class='add'>+                overflow = 1;</div><div class='add'>+            }</div><div class='add'>+            if (sign &lt; 0 &amp;&amp; (flags &amp; INTEGER_PACK_2COMP)) {</div><div class='add'>+                int zero_p = bytes_2comp(words, dst_size);</div><div class='add'>+                if (zero_p &amp;&amp; overflow) {</div><div class='add'>+                    unsigned char *p = (unsigned char *)dp;</div><div class='add'>+                    if (dst_size == src_size-1 &amp;&amp;</div><div class='add'>+                        p[dst_size] == 1) {</div><div class='add'>+                        overflow = 0;</div><div class='add'>+                    }</div><div class='add'>+                }</div><div class='add'>+            }</div><div class='add'>+            if (overflow)</div><div class='add'>+                sign *= 2;</div><div class='add'>+            return sign;</div><div class='add'>+        }</div><div class='add'>+#endif</div><div class='add'>+        if (nails == 0 &amp;&amp; SIZEOF_BDIGIT == sizeof(BDIGIT) &amp;&amp;</div><div class='add'>+            wordsize % SIZEOF_BDIGIT == 0 &amp;&amp; (uintptr_t)words % RUBY_ALIGNOF(BDIGIT) == 0) {</div><div class='add'>+            size_t bdigits_per_word = wordsize / SIZEOF_BDIGIT;</div><div class='add'>+            size_t src_num_bdigits = de - dp;</div><div class='add'>+            size_t dst_num_bdigits = numwords * bdigits_per_word;</div><div class='add'>+            int overflow = 0;</div><div class='add'>+            int mswordfirst_p = (flags &amp; INTEGER_PACK_MSWORD_FIRST) != 0;</div><div class='add'>+            int msbytefirst_p = (flags &amp; INTEGER_PACK_NATIVE_BYTE_ORDER) ? HOST_BIGENDIAN_P :</div><div class='add'>+                (flags &amp; INTEGER_PACK_MSBYTE_FIRST) != 0;</div><div class='add'>+            if (src_num_bdigits &lt;= dst_num_bdigits) {</div><div class='add'>+                MEMCPY(words, dp, BDIGIT, src_num_bdigits);</div><div class='add'>+                BDIGITS_ZERO((BDIGIT*)words + src_num_bdigits, dst_num_bdigits - src_num_bdigits);</div><div class='add'>+            }</div><div class='add'>+            else {</div><div class='add'>+                MEMCPY(words, dp, BDIGIT, dst_num_bdigits);</div><div class='add'>+                overflow = 1;</div><div class='add'>+            }</div><div class='add'>+            if (sign &lt; 0 &amp;&amp; (flags &amp; INTEGER_PACK_2COMP)) {</div><div class='add'>+                int zero_p = bary_2comp(words, dst_num_bdigits);</div><div class='add'>+                if (zero_p &amp;&amp; overflow &amp;&amp;</div><div class='add'>+                    dst_num_bdigits == src_num_bdigits-1 &amp;&amp;</div><div class='add'>+                    dp[dst_num_bdigits] == 1)</div><div class='add'>+                    overflow = 0;</div><div class='add'>+            }</div><div class='add'>+            if (msbytefirst_p != HOST_BIGENDIAN_P) {</div><div class='add'>+                size_t i;</div><div class='add'>+                for (i = 0; i &lt; dst_num_bdigits; i++) {</div><div class='add'>+                    BDIGIT d = ((BDIGIT*)words)[i];</div><div class='add'>+                    ((BDIGIT*)words)[i] = swap_bdigit(d);</div><div class='add'>+                }</div><div class='add'>+            }</div><div class='add'>+            if (mswordfirst_p ? !msbytefirst_p : msbytefirst_p) {</div><div class='add'>+                size_t i;</div><div class='add'>+                BDIGIT *p = words;</div><div class='add'>+                for (i = 0; i &lt; numwords; i++) {</div><div class='add'>+                    bary_swap(p, bdigits_per_word);</div><div class='add'>+                    p += bdigits_per_word;</div><div class='add'>+                }</div><div class='add'>+            }</div><div class='add'>+            if (mswordfirst_p) {</div><div class='add'>+                bary_swap(words, dst_num_bdigits);</div><div class='add'>+            }</div><div class='add'>+            if (overflow)</div><div class='add'>+                sign *= 2;</div><div class='add'>+            return sign;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    buf = words;</div><div class='add'>+    bufend = buf + numwords * wordsize;</div><div class='add'>+</div><div class='add'>+    if (buf == bufend) {</div><div class='add'>+        /* overflow if non-zero*/</div><div class='add'>+        if (!(flags &amp; INTEGER_PACK_2COMP) || 0 &lt;= sign)</div><div class='add'>+            sign *= 2;</div><div class='add'>+        else {</div><div class='add'>+            if (de - dp == 1 &amp;&amp; dp[0] == 1)</div><div class='add'>+                sign = -1; /* val == -1 == -2**(numwords*(wordsize*CHAR_BIT-nails)) */</div><div class='add'>+            else</div><div class='add'>+                sign = -2; /* val &lt; -1 == -2**(numwords*(wordsize*CHAR_BIT-nails)) */</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    else if (dp == de) {</div><div class='add'>+        memset(buf, '\0', bufend - buf);</div><div class='add'>+    }</div><div class='add'>+    else if (dp &lt; de &amp;&amp; buf &lt; bufend) {</div><div class='add'>+        int word_num_partialbits;</div><div class='add'>+        size_t word_num_fullbytes;</div><div class='add'>+</div><div class='add'>+        ssize_t word_step;</div><div class='add'>+        size_t byte_start;</div><div class='add'>+        int byte_step;</div><div class='add'>+</div><div class='add'>+        size_t word_start, word_last;</div><div class='add'>+        unsigned char *wordp, *last_wordp;</div><div class='add'>+        BDIGIT_DBL dd;</div><div class='add'>+        int numbits_in_dd;</div><div class='add'>+</div><div class='add'>+        integer_pack_loop_setup(numwords, wordsize, nails, flags,</div><div class='add'>+            &amp;word_num_fullbytes, &amp;word_num_partialbits,</div><div class='add'>+            &amp;word_start, &amp;word_step, &amp;word_last, &amp;byte_start, &amp;byte_step);</div><div class='add'>+</div><div class='add'>+        wordp = buf + word_start;</div><div class='add'>+        last_wordp = buf + word_last;</div><div class='add'>+</div><div class='add'>+        dd = 0;</div><div class='add'>+        numbits_in_dd = 0;</div><div class='add'>+</div><div class='add'>+#define FILL_DD \</div><div class='add'>+    integer_pack_fill_dd(&amp;dp, &amp;de, &amp;dd, &amp;numbits_in_dd)</div><div class='add'>+#define TAKE_LOWBITS(n) \</div><div class='add'>+    integer_pack_take_lowbits(n, &amp;dd, &amp;numbits_in_dd)</div><div class='add'>+</div><div class='add'>+        while (1) {</div><div class='add'>+            size_t index_in_word = 0;</div><div class='add'>+            unsigned char *bytep = wordp + byte_start;</div><div class='add'>+            while (index_in_word &lt; word_num_fullbytes) {</div><div class='add'>+                FILL_DD;</div><div class='add'>+                *bytep = TAKE_LOWBITS(CHAR_BIT);</div><div class='add'>+                bytep += byte_step;</div><div class='add'>+                index_in_word++;</div><div class='add'>+            }</div><div class='add'>+            if (word_num_partialbits) {</div><div class='add'>+                FILL_DD;</div><div class='add'>+                *bytep = TAKE_LOWBITS(word_num_partialbits);</div><div class='add'>+                bytep += byte_step;</div><div class='add'>+                index_in_word++;</div><div class='add'>+            }</div><div class='add'>+            while (index_in_word &lt; wordsize) {</div><div class='add'>+                *bytep = 0;</div><div class='add'>+                bytep += byte_step;</div><div class='add'>+                index_in_word++;</div><div class='add'>+            }</div><div class='add'>+</div><div class='add'>+            if (wordp == last_wordp)</div><div class='add'>+                break;</div><div class='add'>+</div><div class='add'>+            wordp += word_step;</div><div class='add'>+        }</div><div class='add'>+        FILL_DD;</div><div class='add'>+        /* overflow tests */</div><div class='add'>+        if (dp != de || 1 &lt; dd) {</div><div class='add'>+            /* 2**(numwords*(wordsize*CHAR_BIT-nails)+1) &lt;= abs(val) */</div><div class='add'>+            sign *= 2;</div><div class='add'>+        }</div><div class='add'>+        else if (dd == 1) {</div><div class='add'>+            /* 2**(numwords*(wordsize*CHAR_BIT-nails)) &lt;= abs(val) &lt; 2**(numwords*(wordsize*CHAR_BIT-nails)+1) */</div><div class='add'>+            if (!(flags &amp; INTEGER_PACK_2COMP) || 0 &lt;= sign)</div><div class='add'>+                sign *= 2;</div><div class='add'>+            else { /* overflow_2comp &amp;&amp; sign == -1 */</div><div class='add'>+                /* test lower bits are all zero. */</div><div class='add'>+                dp = ds;</div><div class='add'>+                while (dp &lt; de &amp;&amp; *dp == 0)</div><div class='add'>+                    dp++;</div><div class='add'>+                if (de - dp == 1 &amp;&amp; /* only one non-zero word. */</div><div class='add'>+                    POW2_P(*dp)) /* *dp contains only one bit set. */</div><div class='add'>+                    sign = -1; /* val == -2**(numwords*(wordsize*CHAR_BIT-nails)) */</div><div class='add'>+                else</div><div class='add'>+                    sign = -2; /* val &lt; -2**(numwords*(wordsize*CHAR_BIT-nails)) */</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if ((flags &amp; INTEGER_PACK_2COMP) &amp;&amp; (sign &lt; 0 &amp;&amp; numwords != 0)) {</div><div class='add'>+        int word_num_partialbits;</div><div class='add'>+        size_t word_num_fullbytes;</div><div class='add'>+</div><div class='add'>+        ssize_t word_step;</div><div class='add'>+        size_t byte_start;</div><div class='add'>+        int byte_step;</div><div class='add'>+</div><div class='add'>+        size_t word_start, word_last;</div><div class='add'>+        unsigned char *wordp, *last_wordp;</div><div class='add'>+</div><div class='add'>+        unsigned int partialbits_mask;</div><div class='add'>+        int carry;</div><div class='add'>+</div><div class='add'>+        integer_pack_loop_setup(numwords, wordsize, nails, flags,</div><div class='add'>+            &amp;word_num_fullbytes, &amp;word_num_partialbits,</div><div class='add'>+            &amp;word_start, &amp;word_step, &amp;word_last, &amp;byte_start, &amp;byte_step);</div><div class='add'>+</div><div class='add'>+        partialbits_mask = (1 &lt;&lt; word_num_partialbits) - 1;</div><div class='add'>+</div><div class='add'>+        buf = words;</div><div class='add'>+        wordp = buf + word_start;</div><div class='add'>+        last_wordp = buf + word_last;</div><div class='add'>+</div><div class='add'>+        carry = 1;</div><div class='add'>+        while (1) {</div><div class='add'>+            size_t index_in_word = 0;</div><div class='add'>+            unsigned char *bytep = wordp + byte_start;</div><div class='add'>+            while (index_in_word &lt; word_num_fullbytes) {</div><div class='add'>+                carry += (unsigned char)~*bytep;</div><div class='add'>+                *bytep = (unsigned char)carry;</div><div class='add'>+                carry &gt;&gt;= CHAR_BIT;</div><div class='add'>+                bytep += byte_step;</div><div class='add'>+                index_in_word++;</div><div class='add'>+            }</div><div class='add'>+            if (word_num_partialbits) {</div><div class='add'>+                carry += (*bytep &amp; partialbits_mask) ^ partialbits_mask;</div><div class='add'>+                *bytep = carry &amp; partialbits_mask;</div><div class='add'>+                carry &gt;&gt;= word_num_partialbits;</div><div class='add'>+                bytep += byte_step;</div><div class='add'>+                index_in_word++;</div><div class='add'>+            }</div><div class='add'>+</div><div class='add'>+            if (wordp == last_wordp)</div><div class='add'>+                break;</div><div class='add'>+</div><div class='add'>+            wordp += word_step;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return sign;</div><div class='add'>+#undef FILL_DD</div><div class='add'>+#undef TAKE_LOWBITS</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static size_t</div><div class='add'>+integer_unpack_num_bdigits_small(size_t numwords, size_t wordsize, size_t nails, int *nlp_bits_ret)</div><div class='add'>+{</div><div class='add'>+    /* nlp_bits stands for number of leading padding bits */</div><div class='add'>+    size_t num_bits = (wordsize * CHAR_BIT - nails) * numwords;</div><div class='add'>+    size_t num_bdigits = (num_bits + BITSPERDIG - 1) / BITSPERDIG;</div><div class='add'>+    *nlp_bits_ret = (int)(num_bdigits * BITSPERDIG - num_bits);</div><div class='add'>+    return num_bdigits;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static size_t</div><div class='add'>+integer_unpack_num_bdigits_generic(size_t numwords, size_t wordsize, size_t nails, int *nlp_bits_ret)</div><div class='add'>+{</div><div class='add'>+    /* BITSPERDIG = SIZEOF_BDIGIT * CHAR_BIT */</div><div class='add'>+    /* num_bits = (wordsize * CHAR_BIT - nails) * numwords */</div><div class='add'>+    /* num_bdigits = (num_bits + BITSPERDIG - 1) / BITSPERDIG */</div><div class='add'>+</div><div class='add'>+    /* num_bits = CHAR_BIT * (wordsize * numwords) - nails * numwords = CHAR_BIT * num_bytes1 - nails * numwords */</div><div class='add'>+    size_t num_bytes1 = wordsize * numwords;</div><div class='add'>+</div><div class='add'>+    /* q1 * CHAR_BIT + r1 = numwords */</div><div class='add'>+    size_t q1 = numwords / CHAR_BIT;</div><div class='add'>+    size_t r1 = numwords % CHAR_BIT;</div><div class='add'>+</div><div class='add'>+    /* num_bits = CHAR_BIT * num_bytes1 - nails * (q1 * CHAR_BIT + r1) = CHAR_BIT * num_bytes2 - nails * r1 */</div><div class='add'>+    size_t num_bytes2 = num_bytes1 - nails * q1;</div><div class='add'>+</div><div class='add'>+    /* q2 * CHAR_BIT + r2 = nails */</div><div class='add'>+    size_t q2 = nails / CHAR_BIT;</div><div class='add'>+    size_t r2 = nails % CHAR_BIT;</div><div class='add'>+</div><div class='add'>+    /* num_bits = CHAR_BIT * num_bytes2 - (q2 * CHAR_BIT + r2) * r1 = CHAR_BIT * num_bytes3 - r1 * r2 */</div><div class='add'>+    size_t num_bytes3 = num_bytes2 - q2 * r1;</div><div class='add'>+</div><div class='add'>+    /* q3 * BITSPERDIG + r3 = num_bytes3 */</div><div class='add'>+    size_t q3 = num_bytes3 / BITSPERDIG;</div><div class='add'>+    size_t r3 = num_bytes3 % BITSPERDIG;</div><div class='add'>+</div><div class='add'>+    /* num_bits = CHAR_BIT * (q3 * BITSPERDIG + r3) - r1 * r2 = BITSPERDIG * num_digits1 + CHAR_BIT * r3 - r1 * r2 */</div><div class='add'>+    size_t num_digits1 = CHAR_BIT * q3;</div><div class='add'>+</div><div class='add'>+    /*</div><div class='add'>+     * if CHAR_BIT * r3 &gt;= r1 * r2</div><div class='add'>+     *   CHAR_BIT * r3 - r1 * r2 = CHAR_BIT * BITSPERDIG - (CHAR_BIT * BITSPERDIG - (CHAR_BIT * r3 - r1 * r2))</div><div class='add'>+     *   q4 * BITSPERDIG + r4 = CHAR_BIT * BITSPERDIG - (CHAR_BIT * r3 - r1 * r2)</div><div class='add'>+     *   num_bits = BITSPERDIG * num_digits1 + CHAR_BIT * BITSPERDIG - (q4 * BITSPERDIG + r4) = BITSPERDIG * num_digits2 - r4</div><div class='add'>+     * else</div><div class='add'>+     *   q4 * BITSPERDIG + r4 = -(CHAR_BIT * r3 - r1 * r2)</div><div class='add'>+     *   num_bits = BITSPERDIG * num_digits1 - (q4 * BITSPERDIG + r4) = BITSPERDIG * num_digits2 - r4</div><div class='add'>+     * end</div><div class='add'>+     */</div><div class='add'>+</div><div class='add'>+    if (CHAR_BIT * r3 &gt;= r1 * r2) {</div><div class='add'>+        size_t tmp1 = CHAR_BIT * BITSPERDIG - (CHAR_BIT * r3 - r1 * r2);</div><div class='add'>+        size_t q4 = tmp1 / BITSPERDIG;</div><div class='add'>+        int r4 = (int)(tmp1 % BITSPERDIG);</div><div class='add'>+        size_t num_digits2 = num_digits1 + CHAR_BIT - q4;</div><div class='add'>+        *nlp_bits_ret = r4;</div><div class='add'>+        return num_digits2;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        size_t tmp1 = r1 * r2 - CHAR_BIT * r3;</div><div class='add'>+        size_t q4 = tmp1 / BITSPERDIG;</div><div class='add'>+        int r4 = (int)(tmp1 % BITSPERDIG);</div><div class='add'>+        size_t num_digits2 = num_digits1 - q4;</div><div class='add'>+        *nlp_bits_ret = r4;</div><div class='add'>+        return num_digits2;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static size_t</div><div class='add'>+integer_unpack_num_bdigits(size_t numwords, size_t wordsize, size_t nails, int *nlp_bits_ret)</div><div class='add'>+{</div><div class='add'>+    size_t num_bdigits;</div><div class='add'>+</div><div class='add'>+    if (numwords &lt;= (SIZE_MAX - (BITSPERDIG-1)) / CHAR_BIT / wordsize) {</div><div class='add'>+        num_bdigits = integer_unpack_num_bdigits_small(numwords, wordsize, nails, nlp_bits_ret);</div><div class='add'>+#ifdef DEBUG_INTEGER_PACK</div><div class='add'>+        {</div><div class='add'>+            int nlp_bits1;</div><div class='add'>+            size_t num_bdigits1 = integer_unpack_num_bdigits_generic(numwords, wordsize, nails, &amp;nlp_bits1);</div><div class='add'>+            assert(num_bdigits == num_bdigits1);</div><div class='add'>+            assert(*nlp_bits_ret == nlp_bits1);</div><div class='add'>+        }</div><div class='add'>+#endif</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        num_bdigits = integer_unpack_num_bdigits_generic(numwords, wordsize, nails, nlp_bits_ret);</div><div class='add'>+    }</div><div class='add'>+    return num_bdigits;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static inline void</div><div class='add'>+integer_unpack_push_bits(int data, int numbits, BDIGIT_DBL *ddp, int *numbits_in_dd_p, BDIGIT **dpp)</div><div class='add'>+{</div><div class='add'>+    (*ddp) |= ((BDIGIT_DBL)data) &lt;&lt; (*numbits_in_dd_p);</div><div class='add'>+    *numbits_in_dd_p += numbits;</div><div class='add'>+    while (BITSPERDIG &lt;= *numbits_in_dd_p) {</div><div class='add'>+        *(*dpp)++ = BIGLO(*ddp);</div><div class='add'>+        *ddp = BIGDN(*ddp);</div><div class='add'>+        *numbits_in_dd_p -= BITSPERDIG;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+integer_unpack_single_bdigit(BDIGIT u, size_t size, int flags, BDIGIT *dp)</div><div class='add'>+{</div><div class='add'>+    int sign;</div><div class='add'>+    if (flags &amp; INTEGER_PACK_2COMP) {</div><div class='add'>+        sign = (flags &amp; INTEGER_PACK_NEGATIVE) ?</div><div class='add'>+            ((size == SIZEOF_BDIGIT &amp;&amp; u == 0) ? -2 : -1) :</div><div class='add'>+            ((u &gt;&gt; (size * CHAR_BIT - 1)) ? -1 : 1);</div><div class='add'>+        if (sign &lt; 0) {</div><div class='add'>+            u |= LSHIFTX(BDIGMAX, size * CHAR_BIT);</div><div class='add'>+            u = BIGLO(1 + ~u);</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    else</div><div class='add'>+        sign = (flags &amp; INTEGER_PACK_NEGATIVE) ? -1 : 1;</div><div class='add'>+    *dp = u;</div><div class='add'>+    return sign;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#ifdef HAVE_BUILTIN___BUILTIN_ASSUME_ALIGNED</div><div class='add'>+#define reinterpret_cast(type, value) (type) \</div><div class='add'>+    __builtin_assume_aligned((value), sizeof(*(type)NULL));</div><div class='add'>+#else</div><div class='add'>+#define reinterpret_cast(type, value) (type)value</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+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='add'>+{</div><div class='add'>+    int sign;</div><div class='add'>+    const unsigned char *buf = words;</div><div class='add'>+    BDIGIT *dp;</div><div class='add'>+    BDIGIT *de;</div><div class='add'>+</div><div class='add'>+    dp = bdigits;</div><div class='add'>+    de = dp + num_bdigits;</div><div class='add'>+</div><div class='add'>+    if (!(flags &amp; INTEGER_PACK_FORCE_GENERIC_IMPLEMENTATION)) {</div><div class='add'>+        if (nails == 0 &amp;&amp; numwords == 1) {</div><div class='add'>+            int need_swap = wordsize != 1 &amp;&amp;</div><div class='add'>+                (flags &amp; INTEGER_PACK_BYTEORDER_MASK) != INTEGER_PACK_NATIVE_BYTE_ORDER &amp;&amp;</div><div class='add'>+                ((flags &amp; INTEGER_PACK_MSBYTE_FIRST) ? !HOST_BIGENDIAN_P : HOST_BIGENDIAN_P);</div><div class='add'>+            if (wordsize == 1) {</div><div class='add'>+                return integer_unpack_single_bdigit(*(uint8_t *)buf, sizeof(uint8_t), flags, dp);</div><div class='add'>+            }</div><div class='add'>+#if defined(HAVE_UINT16_T) &amp;&amp; 2 &lt;= SIZEOF_BDIGIT</div><div class='add'>+            if (wordsize == 2 &amp;&amp; (uintptr_t)words % RUBY_ALIGNOF(uint16_t) == 0) {</div><div class='add'>+                uint16_t u = *reinterpret_cast(const uint16_t *, buf);</div><div class='add'>+                return integer_unpack_single_bdigit(need_swap ? swap16(u) : u, sizeof(uint16_t), flags, dp);</div><div class='add'>+            }</div><div class='add'>+#endif</div><div class='add'>+#if defined(HAVE_UINT32_T) &amp;&amp; 4 &lt;= SIZEOF_BDIGIT</div><div class='add'>+            if (wordsize == 4 &amp;&amp; (uintptr_t)words % RUBY_ALIGNOF(uint32_t) == 0) {</div><div class='add'>+                uint32_t u = *reinterpret_cast(const uint32_t *, buf);</div><div class='add'>+                return integer_unpack_single_bdigit(need_swap ? swap32(u) : u, sizeof(uint32_t), flags, dp);</div><div class='add'>+            }</div><div class='add'>+#endif</div><div class='add'>+#if defined(HAVE_UINT64_T) &amp;&amp; 8 &lt;= SIZEOF_BDIGIT</div><div class='add'>+            if (wordsize == 8 &amp;&amp; (uintptr_t)words % RUBY_ALIGNOF(uint64_t) == 0) {</div><div class='add'>+                uint64_t u = *reinterpret_cast(const uint64_t *, buf);</div><div class='add'>+                return integer_unpack_single_bdigit(need_swap ? swap64(u) : u, sizeof(uint64_t), flags, dp);</div><div class='add'>+            }</div><div class='add'>+#endif</div><div class='add'>+#undef reinterpret_cast</div><div class='add'>+        }</div><div class='add'>+#if !defined(WORDS_BIGENDIAN)</div><div class='add'>+        if (nails == 0 &amp;&amp; SIZEOF_BDIGIT == sizeof(BDIGIT) &amp;&amp;</div><div class='add'>+            (flags &amp; INTEGER_PACK_WORDORDER_MASK) == INTEGER_PACK_LSWORD_FIRST &amp;&amp;</div><div class='add'>+            (flags &amp; INTEGER_PACK_BYTEORDER_MASK) != INTEGER_PACK_MSBYTE_FIRST) {</div><div class='add'>+            size_t src_size = numwords * wordsize;</div><div class='add'>+            size_t dst_size = num_bdigits * SIZEOF_BDIGIT;</div><div class='add'>+            MEMCPY(dp, words, char, src_size);</div><div class='add'>+            if (flags &amp; INTEGER_PACK_2COMP) {</div><div class='add'>+                if (flags &amp; INTEGER_PACK_NEGATIVE) {</div><div class='add'>+                    int zero_p;</div><div class='add'>+                    memset((char*)dp + src_size, 0xff, dst_size - src_size);</div><div class='add'>+                    zero_p = bary_2comp(dp, num_bdigits);</div><div class='add'>+                    sign = zero_p ? -2 : -1;</div><div class='add'>+                }</div><div class='add'>+                else if (buf[src_size-1] &gt;&gt; (CHAR_BIT-1)) {</div><div class='add'>+                    memset((char*)dp + src_size, 0xff, dst_size - src_size);</div><div class='add'>+                    bary_2comp(dp, num_bdigits);</div><div class='add'>+                    sign = -1;</div><div class='add'>+                }</div><div class='add'>+                else {</div><div class='add'>+                    MEMZERO((char*)dp + src_size, char, dst_size - src_size);</div><div class='add'>+                    sign = 1;</div><div class='add'>+                }</div><div class='add'>+            }</div><div class='add'>+            else {</div><div class='add'>+                MEMZERO((char*)dp + src_size, char, dst_size - src_size);</div><div class='add'>+                sign = (flags &amp; INTEGER_PACK_NEGATIVE) ? -1 : 1;</div><div class='add'>+            }</div><div class='add'>+            return sign;</div><div class='add'>+        }</div><div class='add'>+#endif</div><div class='add'>+        if (nails == 0 &amp;&amp; SIZEOF_BDIGIT == sizeof(BDIGIT) &amp;&amp;</div><div class='add'>+            wordsize % SIZEOF_BDIGIT == 0) {</div><div class='add'>+            size_t bdigits_per_word = wordsize / SIZEOF_BDIGIT;</div><div class='add'>+            int mswordfirst_p = (flags &amp; INTEGER_PACK_MSWORD_FIRST) != 0;</div><div class='add'>+            int msbytefirst_p = (flags &amp; INTEGER_PACK_NATIVE_BYTE_ORDER) ? HOST_BIGENDIAN_P :</div><div class='add'>+                (flags &amp; INTEGER_PACK_MSBYTE_FIRST) != 0;</div><div class='add'>+            MEMCPY(dp, words, BDIGIT, numwords*bdigits_per_word);</div><div class='add'>+            if (mswordfirst_p) {</div><div class='add'>+                bary_swap(dp, num_bdigits);</div><div class='add'>+            }</div><div class='add'>+            if (mswordfirst_p ? !msbytefirst_p : msbytefirst_p) {</div><div class='add'>+                size_t i;</div><div class='add'>+                BDIGIT *p = dp;</div><div class='add'>+                for (i = 0; i &lt; numwords; i++) {</div><div class='add'>+                    bary_swap(p, bdigits_per_word);</div><div class='add'>+                    p += bdigits_per_word;</div><div class='add'>+                }</div><div class='add'>+            }</div><div class='add'>+            if (msbytefirst_p != HOST_BIGENDIAN_P) {</div><div class='add'>+                BDIGIT *p;</div><div class='add'>+                for (p = dp; p &lt; de; p++) {</div><div class='add'>+                    BDIGIT d = *p;</div><div class='add'>+                    *p = swap_bdigit(d);</div><div class='add'>+                }</div><div class='add'>+            }</div><div class='add'>+            if (flags &amp; INTEGER_PACK_2COMP) {</div><div class='add'>+                if (flags &amp; INTEGER_PACK_NEGATIVE) {</div><div class='add'>+                    int zero_p = bary_2comp(dp, num_bdigits);</div><div class='add'>+                    sign = zero_p ? -2 : -1;</div><div class='add'>+                }</div><div class='add'>+                else if (BDIGIT_MSB(de[-1])) {</div><div class='add'>+                    bary_2comp(dp, num_bdigits);</div><div class='add'>+                    sign = -1;</div><div class='add'>+                }</div><div class='add'>+                else {</div><div class='add'>+                    sign = 1;</div><div class='add'>+                }</div><div class='add'>+            }</div><div class='add'>+            else {</div><div class='add'>+                sign = (flags &amp; INTEGER_PACK_NEGATIVE) ? -1 : 1;</div><div class='add'>+            }</div><div class='add'>+            return sign;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (num_bdigits != 0) {</div><div class='add'>+        int word_num_partialbits;</div><div class='add'>+        size_t word_num_fullbytes;</div><div class='add'>+</div><div class='add'>+        ssize_t word_step;</div><div class='add'>+        size_t byte_start;</div><div class='add'>+        int byte_step;</div><div class='add'>+</div><div class='add'>+        size_t word_start, word_last;</div><div class='add'>+        const unsigned char *wordp, *last_wordp;</div><div class='add'>+        BDIGIT_DBL dd;</div><div class='add'>+        int numbits_in_dd;</div><div class='add'>+</div><div class='add'>+        integer_pack_loop_setup(numwords, wordsize, nails, flags,</div><div class='add'>+            &amp;word_num_fullbytes, &amp;word_num_partialbits,</div><div class='add'>+            &amp;word_start, &amp;word_step, &amp;word_last, &amp;byte_start, &amp;byte_step);</div><div class='add'>+</div><div class='add'>+        wordp = buf + word_start;</div><div class='add'>+        last_wordp = buf + word_last;</div><div class='add'>+</div><div class='add'>+        dd = 0;</div><div class='add'>+        numbits_in_dd = 0;</div><div class='add'>+</div><div class='add'>+#define PUSH_BITS(data, numbits) \</div><div class='add'>+        integer_unpack_push_bits(data, numbits, &amp;dd, &amp;numbits_in_dd, &amp;dp)</div><div class='add'>+</div><div class='add'>+        while (1) {</div><div class='add'>+            size_t index_in_word = 0;</div><div class='add'>+            const unsigned char *bytep = wordp + byte_start;</div><div class='add'>+            while (index_in_word &lt; word_num_fullbytes) {</div><div class='add'>+                PUSH_BITS(*bytep, CHAR_BIT);</div><div class='add'>+                bytep += byte_step;</div><div class='add'>+                index_in_word++;</div><div class='add'>+            }</div><div class='add'>+            if (word_num_partialbits) {</div><div class='add'>+                PUSH_BITS(*bytep &amp; ((1 &lt;&lt; word_num_partialbits) - 1), word_num_partialbits);</div><div class='add'>+                bytep += byte_step;</div><div class='add'>+                index_in_word++;</div><div class='add'>+            }</div><div class='add'>+</div><div class='add'>+            if (wordp == last_wordp)</div><div class='add'>+                break;</div><div class='add'>+</div><div class='add'>+            wordp += word_step;</div><div class='add'>+        }</div><div class='add'>+        if (dd)</div><div class='add'>+            *dp++ = (BDIGIT)dd;</div><div class='add'>+        assert(dp &lt;= de);</div><div class='add'>+        while (dp &lt; de)</div><div class='add'>+            *dp++ = 0;</div><div class='add'>+#undef PUSH_BITS</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (!(flags &amp; INTEGER_PACK_2COMP)) {</div><div class='add'>+        sign = (flags &amp; INTEGER_PACK_NEGATIVE) ? -1 : 1;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        if (nlp_bits) {</div><div class='add'>+            if ((flags &amp; INTEGER_PACK_NEGATIVE) ||</div><div class='add'>+                (bdigits[num_bdigits-1] &gt;&gt; (BITSPERDIG - nlp_bits - 1))) {</div><div class='add'>+                bdigits[num_bdigits-1] |= BIGLO(BDIGMAX &lt;&lt; (BITSPERDIG - nlp_bits));</div><div class='add'>+                sign = -1;</div><div class='add'>+            }</div><div class='add'>+            else {</div><div class='add'>+                sign = 1;</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            if (flags &amp; INTEGER_PACK_NEGATIVE) {</div><div class='add'>+                sign = bary_zero_p(bdigits, num_bdigits) ? -2 : -1;</div><div class='add'>+            }</div><div class='add'>+            else {</div><div class='add'>+                if (num_bdigits != 0 &amp;&amp; BDIGIT_MSB(bdigits[num_bdigits-1]))</div><div class='add'>+                    sign = -1;</div><div class='add'>+                else</div><div class='add'>+                    sign = 1;</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+        if (sign == -1 &amp;&amp; num_bdigits != 0) {</div><div class='add'>+            bary_2comp(bdigits, num_bdigits);</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return sign;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+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='add'>+{</div><div class='add'>+    size_t num_bdigits0;</div><div class='add'>+    int nlp_bits;</div><div class='add'>+    int sign;</div><div class='add'>+</div><div class='add'>+    validate_integer_pack_format(numwords, wordsize, nails, flags,</div><div class='add'>+            INTEGER_PACK_MSWORD_FIRST|</div><div class='add'>+            INTEGER_PACK_LSWORD_FIRST|</div><div class='add'>+            INTEGER_PACK_MSBYTE_FIRST|</div><div class='add'>+            INTEGER_PACK_LSBYTE_FIRST|</div><div class='add'>+            INTEGER_PACK_NATIVE_BYTE_ORDER|</div><div class='add'>+            INTEGER_PACK_2COMP|</div><div class='add'>+            INTEGER_PACK_FORCE_BIGNUM|</div><div class='add'>+            INTEGER_PACK_NEGATIVE|</div><div class='add'>+            INTEGER_PACK_FORCE_GENERIC_IMPLEMENTATION);</div><div class='add'>+</div><div class='add'>+    num_bdigits0 = integer_unpack_num_bdigits(numwords, wordsize, nails, &amp;nlp_bits);</div><div class='add'>+</div><div class='add'>+    assert(num_bdigits0 &lt;= num_bdigits);</div><div class='add'>+</div><div class='add'>+    sign = bary_unpack_internal(bdigits, num_bdigits0, words, numwords, wordsize, nails, flags, nlp_bits);</div><div class='add'>+</div><div class='add'>+    if (num_bdigits0 &lt; num_bdigits) {</div><div class='add'>+        BDIGITS_ZERO(bdigits + num_bdigits0, num_bdigits - num_bdigits0);</div><div class='add'>+        if (sign == -2) {</div><div class='add'>+            bdigits[num_bdigits0] = 1;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+bary_subb(BDIGIT *zds, size_t zn, const BDIGIT *xds, size_t xn, const BDIGIT *yds, size_t yn, int borrow)</div><div class='add'>+{</div><div class='add'>+    BDIGIT_DBL_SIGNED num;</div><div class='add'>+    size_t i;</div><div class='add'>+    size_t sn;</div><div class='add'>+</div><div class='add'>+    assert(xn &lt;= zn);</div><div class='add'>+    assert(yn &lt;= zn);</div><div class='add'>+</div><div class='add'>+    sn = xn &lt; yn ? xn : yn;</div><div class='add'>+</div><div class='add'>+    num = borrow ? -1 : 0;</div><div class='add'>+    for (i = 0; i &lt; sn; i++) {</div><div class='add'>+	num += (BDIGIT_DBL_SIGNED)xds[i] - yds[i];</div><div class='add'>+	zds[i] = BIGLO(num);</div><div class='add'>+	num = BIGDN(num);</div><div class='add'>+    }</div><div class='add'>+    if (yn &lt;= xn) {</div><div class='add'>+        for (; i &lt; xn; i++) {</div><div class='add'>+            if (num == 0) goto num_is_zero;</div><div class='add'>+            num += xds[i];</div><div class='add'>+            zds[i] = BIGLO(num);</div><div class='add'>+            num = BIGDN(num);</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        for (; i &lt; yn; i++) {</div><div class='add'>+            num -= yds[i];</div><div class='add'>+            zds[i] = BIGLO(num);</div><div class='add'>+            num = BIGDN(num);</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    if (num == 0) goto num_is_zero;</div><div class='add'>+    for (; i &lt; zn; i++) {</div><div class='add'>+	zds[i] = BDIGMAX;</div><div class='add'>+    }</div><div class='add'>+    return 1;</div><div class='add'>+</div><div class='add'>+  num_is_zero:</div><div class='add'>+    if (xds == zds &amp;&amp; xn == zn)</div><div class='add'>+        return 0;</div><div class='add'>+    for (; i &lt; xn; i++) {</div><div class='add'>+	zds[i] = xds[i];</div><div class='add'>+    }</div><div class='add'>+    for (; i &lt; zn; i++) {</div><div class='add'>+	zds[i] = 0;</div><div class='add'>+    }</div><div class='add'>+    return 0;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+bary_sub(BDIGIT *zds, size_t zn, const BDIGIT *xds, size_t xn, const BDIGIT *yds, size_t yn)</div><div class='add'>+{</div><div class='add'>+    return bary_subb(zds, zn, xds, xn, yds, yn, 0);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+bary_sub_one(BDIGIT *zds, size_t zn)</div><div class='add'>+{</div><div class='add'>+    return bary_subb(zds, zn, zds, zn, NULL, 0, 1);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+bary_addc(BDIGIT *zds, size_t zn, const BDIGIT *xds, size_t xn, const BDIGIT *yds, size_t yn, int carry)</div><div class='add'>+{</div><div class='add'>+    BDIGIT_DBL num;</div><div class='add'>+    size_t i;</div><div class='add'>+</div><div class='add'>+    assert(xn &lt;= zn);</div><div class='add'>+    assert(yn &lt;= zn);</div><div class='add'>+</div><div class='add'>+    if (xn &gt; yn) {</div><div class='add'>+	const BDIGIT *tds;</div><div class='add'>+	tds = xds; xds = yds; yds = tds;</div><div class='add'>+	i = xn; xn = yn; yn = i;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    num = carry ? 1 : 0;</div><div class='add'>+    for (i = 0; i &lt; xn; i++) {</div><div class='add'>+	num += (BDIGIT_DBL)xds[i] + yds[i];</div><div class='add'>+	zds[i] = BIGLO(num);</div><div class='add'>+	num = BIGDN(num);</div><div class='add'>+    }</div><div class='add'>+    for (; i &lt; yn; i++) {</div><div class='add'>+        if (num == 0) goto num_is_zero;</div><div class='add'>+	num += yds[i];</div><div class='add'>+	zds[i] = BIGLO(num);</div><div class='add'>+	num = BIGDN(num);</div><div class='add'>+    }</div><div class='add'>+    for (; i &lt; zn; i++) {</div><div class='add'>+        if (num == 0) goto num_is_zero;</div><div class='add'>+	zds[i] = BIGLO(num);</div><div class='add'>+	num = BIGDN(num);</div><div class='add'>+    }</div><div class='add'>+    return num != 0;</div><div class='add'>+</div><div class='add'>+  num_is_zero:</div><div class='add'>+    if (yds == zds &amp;&amp; yn == zn)</div><div class='add'>+        return 0;</div><div class='add'>+    for (; i &lt; yn; i++) {</div><div class='add'>+	zds[i] = yds[i];</div><div class='add'>+    }</div><div class='add'>+    for (; i &lt; zn; i++) {</div><div class='add'>+	zds[i] = 0;</div><div class='add'>+    }</div><div class='add'>+    return 0;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+bary_add(BDIGIT *zds, size_t zn, const BDIGIT *xds, size_t xn, const BDIGIT *yds, size_t yn)</div><div class='ctx'> {</div><div class='del'>-    NEWOBJ(big, struct RBignum);</div><div class='del'>-    OBJSETUP(big, klass, T_BIGNUM);</div><div class='del'>-    big-&gt;sign = sign;</div><div class='del'>-    big-&gt;len = len;</div><div class='del'>-    BDIGITS(big) = ALLOC_N(USHORT, len);</div><div class='add'>+    return bary_addc(zds, zn, xds, xn, yds, yn, 0);</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-    return (VALUE)big;</div><div class='add'>+static int</div><div class='add'>+bary_add_one(BDIGIT *ds, size_t n)</div><div class='add'>+{</div><div class='add'>+    size_t i;</div><div class='add'>+    for (i = 0; i &lt; n; i++) {</div><div class='add'>+        BDIGIT_DBL n = ds[i];</div><div class='add'>+        n += 1;</div><div class='add'>+        ds[i] = BIGLO(n);</div><div class='add'>+        if (ds[i] != 0)</div><div class='add'>+            return 0;</div><div class='add'>+    }</div><div class='add'>+    return 1;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-#define bignew(len,sign) bignew_1(rb_cBignum,len,sign)</div><div class='add'>+static void</div><div class='add'>+bary_mul_single(BDIGIT *zds, size_t zn, BDIGIT x, BDIGIT y)</div><div class='add'>+{</div><div class='add'>+    BDIGIT_DBL n;</div><div class='add'>+</div><div class='add'>+    assert(2 &lt;= zn);</div><div class='add'>+</div><div class='add'>+    n = (BDIGIT_DBL)x * y;</div><div class='add'>+    bdigitdbl2bary(zds, 2, n);</div><div class='add'>+    BDIGITS_ZERO(zds + 2, zn - 2);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+bary_muladd_1xN(BDIGIT *zds, size_t zn, BDIGIT x, const BDIGIT *yds, size_t yn)</div><div class='add'>+{</div><div class='add'>+    BDIGIT_DBL n;</div><div class='add'>+    BDIGIT_DBL dd;</div><div class='add'>+    size_t j;</div><div class='add'>+</div><div class='add'>+    assert(zn &gt; yn);</div><div class='add'>+</div><div class='add'>+    if (x == 0)</div><div class='add'>+        return 0;</div><div class='add'>+    dd = x;</div><div class='add'>+    n = 0;</div><div class='add'>+    for (j = 0; j &lt; yn; j++) {</div><div class='add'>+        BDIGIT_DBL ee = n + dd * yds[j];</div><div class='add'>+        if (ee) {</div><div class='add'>+            n = zds[j] + ee;</div><div class='add'>+            zds[j] = BIGLO(n);</div><div class='add'>+            n = BIGDN(n);</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            n = 0;</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+    }</div><div class='add'>+    for (; j &lt; zn; j++) {</div><div class='add'>+        if (n == 0)</div><div class='add'>+            break;</div><div class='add'>+        n += zds[j];</div><div class='add'>+        zds[j] = BIGLO(n);</div><div class='add'>+        n = BIGDN(n);</div><div class='add'>+    }</div><div class='add'>+    return n != 0;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static BDIGIT_DBL_SIGNED</div><div class='add'>+bigdivrem_mulsub(BDIGIT *zds, size_t zn, BDIGIT x, const BDIGIT *yds, size_t yn)</div><div class='add'>+{</div><div class='add'>+    size_t i;</div><div class='add'>+    BDIGIT_DBL t2;</div><div class='add'>+    BDIGIT_DBL_SIGNED num;</div><div class='add'>+</div><div class='add'>+    assert(zn == yn + 1);</div><div class='add'>+</div><div class='add'>+    num = 0;</div><div class='add'>+    t2 = 0;</div><div class='add'>+    i = 0;</div><div class='add'>+</div><div class='add'>+    do {</div><div class='add'>+        BDIGIT_DBL_SIGNED ee;</div><div class='add'>+        t2 += (BDIGIT_DBL)yds[i] * x;</div><div class='add'>+        ee = num - BIGLO(t2);</div><div class='add'>+        num = (BDIGIT_DBL_SIGNED)zds[i] + ee;</div><div class='add'>+        if (ee) zds[i] = BIGLO(num);</div><div class='add'>+        num = BIGDN(num);</div><div class='add'>+        t2 = BIGDN(t2);</div><div class='add'>+    } while (++i &lt; yn);</div><div class='add'>+    num -= (BDIGIT_DBL_SIGNED)t2;</div><div class='add'>+    num += (BDIGIT_DBL_SIGNED)zds[yn]; /* borrow from high digit; don't update */</div><div class='add'>+    return num;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+bary_mulsub_1xN(BDIGIT *zds, size_t zn, BDIGIT x, const BDIGIT *yds, size_t yn)</div><div class='add'>+{</div><div class='add'>+    BDIGIT_DBL_SIGNED num;</div><div class='add'>+</div><div class='add'>+    assert(zn == yn + 1);</div><div class='add'>+</div><div class='add'>+    num = bigdivrem_mulsub(zds, zn, x, yds, yn);</div><div class='add'>+    zds[yn] = BIGLO(num);</div><div class='add'>+    if (BIGDN(num))</div><div class='add'>+        return 1;</div><div class='add'>+    return 0;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+bary_mul_normal(BDIGIT *zds, size_t zn, const BDIGIT *xds, size_t xn, const BDIGIT *yds, size_t yn)</div><div class='add'>+{</div><div class='add'>+    size_t i;</div><div class='add'>+</div><div class='add'>+    assert(xn + yn &lt;= zn);</div><div class='add'>+</div><div class='add'>+    BDIGITS_ZERO(zds, zn);</div><div class='add'>+    for (i = 0; i &lt; xn; i++) {</div><div class='add'>+        bary_muladd_1xN(zds+i, zn-i, xds[i], yds, yn);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_big_clone(x)</div><div class='del'>-    VALUE x;</div><div class='add'>+rb_big_mul_normal(VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    size_t xn = BIGNUM_LEN(x), yn = BIGNUM_LEN(y), zn = xn + yn;</div><div class='add'>+    VALUE z = bignew(zn, BIGNUM_SIGN(x)==BIGNUM_SIGN(y));</div><div class='add'>+    bary_mul_normal(BDIGITS(z), zn, BDIGITS(x), xn, BDIGITS(y), yn);</div><div class='add'>+    RB_GC_GUARD(x);</div><div class='add'>+    RB_GC_GUARD(y);</div><div class='add'>+    return z;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/* efficient squaring (2 times faster than normal multiplication)</div><div class='add'>+ * ref: Handbook of Applied Cryptography, Algorithm 14.16</div><div class='add'>+ *      http://www.cacr.math.uwaterloo.ca/hac/about/chap14.pdf</div><div class='add'>+ */</div><div class='add'>+static void</div><div class='add'>+bary_sq_fast(BDIGIT *zds, size_t zn, const BDIGIT *xds, size_t xn)</div><div class='ctx'> {</div><div class='del'>-    VALUE z = bignew_1(CLASS_OF(x), RBIGNUM(x)-&gt;len, RBIGNUM(x)-&gt;sign);</div><div class='add'>+    size_t i, j;</div><div class='add'>+    BDIGIT_DBL c, v, w;</div><div class='add'>+    BDIGIT vl;</div><div class='add'>+    int vh;</div><div class='add'>+</div><div class='add'>+    assert(xn * 2 &lt;= zn);</div><div class='add'>+</div><div class='add'>+    BDIGITS_ZERO(zds, zn);</div><div class='add'>+</div><div class='add'>+    if (xn == 0)</div><div class='add'>+        return;</div><div class='add'>+</div><div class='add'>+    for (i = 0; i &lt; xn-1; i++) {</div><div class='add'>+	v = (BDIGIT_DBL)xds[i];</div><div class='add'>+	if (!v)</div><div class='add'>+            continue;</div><div class='add'>+	c = (BDIGIT_DBL)zds[i + i] + v * v;</div><div class='add'>+	zds[i + i] = BIGLO(c);</div><div class='add'>+	c = BIGDN(c);</div><div class='add'>+	v *= 2;</div><div class='add'>+        vl = BIGLO(v);</div><div class='add'>+        vh = (int)BIGDN(v);</div><div class='add'>+	for (j = i + 1; j &lt; xn; j++) {</div><div class='add'>+	    w = (BDIGIT_DBL)xds[j];</div><div class='add'>+	    c += (BDIGIT_DBL)zds[i + j] + vl * w;</div><div class='add'>+	    zds[i + j] = BIGLO(c);</div><div class='add'>+	    c = BIGDN(c);</div><div class='add'>+	    if (vh)</div><div class='add'>+                c += w;</div><div class='add'>+	}</div><div class='add'>+	if (c) {</div><div class='add'>+	    c += (BDIGIT_DBL)zds[i + xn];</div><div class='add'>+	    zds[i + xn] = BIGLO(c);</div><div class='add'>+	    c = BIGDN(c);</div><div class='add'>+            if (c)</div><div class='add'>+                zds[i + xn + 1] += (BDIGIT)c;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    /* i == xn-1 */</div><div class='add'>+    v = (BDIGIT_DBL)xds[i];</div><div class='add'>+    if (!v)</div><div class='add'>+        return;</div><div class='add'>+    c = (BDIGIT_DBL)zds[i + i] + v * v;</div><div class='add'>+    zds[i + i] = BIGLO(c);</div><div class='add'>+    c = BIGDN(c);</div><div class='add'>+    if (c) {</div><div class='add'>+        zds[i + xn] += BIGLO(c);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-    MEMCPY(BDIGITS(z), BDIGITS(x), USHORT, RBIGNUM(x)-&gt;len);</div><div class='add'>+VALUE</div><div class='add'>+rb_big_sq_fast(VALUE x)</div><div class='add'>+{</div><div class='add'>+    size_t xn = BIGNUM_LEN(x), zn = 2 * xn;</div><div class='add'>+    VALUE z = bignew(zn, 1);</div><div class='add'>+    bary_sq_fast(BDIGITS(z), zn, BDIGITS(x), xn);</div><div class='add'>+    RB_GC_GUARD(x);</div><div class='ctx'>     return z;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-void</div><div class='del'>-rb_big_2comp(x)			/* get 2's complement */</div><div class='del'>-    VALUE x;</div><div class='add'>+/* balancing multiplication by slicing larger argument */</div><div class='add'>+static void</div><div class='add'>+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='add'>+{</div><div class='add'>+    VALUE work = 0;</div><div class='add'>+    size_t yn0 = yn;</div><div class='add'>+    size_t r, n;</div><div class='add'>+</div><div class='add'>+    assert(xn + yn &lt;= zn);</div><div class='add'>+    assert(xn &lt;= yn);</div><div class='add'>+    assert(!KARATSUBA_BALANCED(xn, yn) || !TOOM3_BALANCED(xn, yn));</div><div class='add'>+</div><div class='add'>+    BDIGITS_ZERO(zds, xn);</div><div class='add'>+</div><div class='add'>+    n = 0;</div><div class='add'>+    while (yn &gt; 0) {</div><div class='add'>+        BDIGIT *tds;</div><div class='add'>+        size_t tn;</div><div class='add'>+	r = xn &gt; yn ? yn : xn;</div><div class='add'>+        tn = xn + r;</div><div class='add'>+        if (2 * (xn + r) &lt;= zn - n) {</div><div class='add'>+            tds = zds + n + xn + r;</div><div class='add'>+            mulfunc(tds, tn, xds, xn, yds + n, r, wds, wn);</div><div class='add'>+            BDIGITS_ZERO(zds + n + xn, r);</div><div class='add'>+            bary_add(zds + n, tn,</div><div class='add'>+                     zds + n, tn,</div><div class='add'>+                     tds, tn);</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            if (wn &lt; xn) {</div><div class='add'>+                wn = xn;</div><div class='add'>+                wds = ALLOCV_N(BDIGIT, work, wn);</div><div class='add'>+            }</div><div class='add'>+            tds = zds + n;</div><div class='add'>+            MEMCPY(wds, zds + n, BDIGIT, xn);</div><div class='add'>+            mulfunc(tds, tn, xds, xn, yds + n, r, wds+xn, wn-xn);</div><div class='add'>+            bary_add(zds + n, tn,</div><div class='add'>+                     zds + n, tn,</div><div class='add'>+                     wds, xn);</div><div class='add'>+        }</div><div class='add'>+	yn -= r;</div><div class='add'>+	n += r;</div><div class='add'>+    }</div><div class='add'>+    BDIGITS_ZERO(zds+xn+yn0, zn - (xn+yn0));</div><div class='add'>+</div><div class='add'>+    if (work)</div><div class='add'>+        ALLOCV_END(work);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_big_mul_balance(VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    size_t xn = BIGNUM_LEN(x), yn = BIGNUM_LEN(y), zn = xn + yn;</div><div class='add'>+    VALUE z = bignew(zn, BIGNUM_SIGN(x)==BIGNUM_SIGN(y));</div><div class='add'>+    bary_mul_balance_with_mulfunc(BDIGITS(z), zn, BDIGITS(x), xn, BDIGITS(y), yn, NULL, 0, bary_mul_toom3_start);</div><div class='add'>+    RB_GC_GUARD(x);</div><div class='add'>+    RB_GC_GUARD(y);</div><div class='add'>+    return z;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/* multiplication by karatsuba method */</div><div class='add'>+static void</div><div class='add'>+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='add'>+{</div><div class='add'>+    VALUE work = 0;</div><div class='add'>+</div><div class='add'>+    size_t n;</div><div class='add'>+    int sub_p, borrow, carry1, carry2, carry3;</div><div class='add'>+</div><div class='add'>+    int odd_y = 0;</div><div class='add'>+    int odd_xy = 0;</div><div class='add'>+    int sq;</div><div class='add'>+</div><div class='add'>+    const BDIGIT *xds0, *xds1, *yds0, *yds1;</div><div class='add'>+    BDIGIT *zds0, *zds1, *zds2, *zds3;</div><div class='add'>+</div><div class='add'>+    assert(xn + yn &lt;= zn);</div><div class='add'>+    assert(xn &lt;= yn);</div><div class='add'>+    assert(yn &lt; 2 * xn);</div><div class='add'>+</div><div class='add'>+    sq = xds == yds &amp;&amp; xn == yn;</div><div class='add'>+</div><div class='add'>+    if (yn &amp; 1) {</div><div class='add'>+        odd_y = 1;</div><div class='add'>+        yn--;</div><div class='add'>+        if (yn &lt; xn) {</div><div class='add'>+            odd_xy = 1;</div><div class='add'>+            xn--;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    n = yn / 2;</div><div class='add'>+</div><div class='add'>+    assert(n &lt; xn);</div><div class='add'>+</div><div class='add'>+    if (wn &lt; n) {</div><div class='add'>+        /* This function itself needs only n BDIGITs for work area.</div><div class='add'>+         * However this function calls bary_mul_karatsuba and</div><div class='add'>+         * bary_mul_balance recursively.</div><div class='add'>+         * 2n BDIGITs are enough to avoid allocations in</div><div class='add'>+         * the recursively called functions.</div><div class='add'>+         */</div><div class='add'>+        wn = 2*n;</div><div class='add'>+        wds = ALLOCV_N(BDIGIT, work, wn);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    /* Karatsuba algorithm:</div><div class='add'>+     *</div><div class='add'>+     * x = x0 + r*x1</div><div class='add'>+     * y = y0 + r*y1</div><div class='add'>+     * z = x*y</div><div class='add'>+     *   = (x0 + r*x1) * (y0 + r*y1)</div><div class='add'>+     *   = x0*y0 + r*(x1*y0 + x0*y1) + r*r*x1*y1</div><div class='add'>+     *   = x0*y0 + r*(x0*y0 + x1*y1 - (x1-x0)*(y1-y0)) + r*r*x1*y1</div><div class='add'>+     *   = x0*y0 + r*(x0*y0 + x1*y1 - (x0-x1)*(y0-y1)) + r*r*x1*y1</div><div class='add'>+     */</div><div class='add'>+</div><div class='add'>+    xds0 = xds;</div><div class='add'>+    xds1 = xds + n;</div><div class='add'>+    yds0 = yds;</div><div class='add'>+    yds1 = yds + n;</div><div class='add'>+    zds0 = zds;</div><div class='add'>+    zds1 = zds + n;</div><div class='add'>+    zds2 = zds + 2*n;</div><div class='add'>+    zds3 = zds + 3*n;</div><div class='add'>+</div><div class='add'>+    sub_p = 1;</div><div class='add'>+</div><div class='add'>+    /* zds0:? zds1:? zds2:? zds3:? wds:? */</div><div class='add'>+</div><div class='add'>+    if (bary_sub(zds0, n, xds, n, xds+n, xn-n)) {</div><div class='add'>+        bary_2comp(zds0, n);</div><div class='add'>+        sub_p = !sub_p;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    /* zds0:|x1-x0| zds1:? zds2:? zds3:? wds:? */</div><div class='add'>+</div><div class='add'>+    if (sq) {</div><div class='add'>+        sub_p = 1;</div><div class='add'>+        bary_mul_karatsuba_start(zds1, 2*n, zds0, n, zds0, n, wds, wn);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        if (bary_sub(wds, n, yds, n, yds+n, n)) {</div><div class='add'>+            bary_2comp(wds, n);</div><div class='add'>+            sub_p = !sub_p;</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        /* zds0:|x1-x0| zds1:? zds2:? zds3:? wds:|y1-y0| */</div><div class='add'>+</div><div class='add'>+        bary_mul_karatsuba_start(zds1, 2*n, zds0, n, wds, n, wds+n, wn-n);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    /* zds0:|x1-x0| zds1,zds2:|x1-x0|*|y1-y0| zds3:? wds:|y1-y0| */</div><div class='add'>+</div><div class='add'>+    borrow = 0;</div><div class='add'>+    if (sub_p) {</div><div class='add'>+        borrow = !bary_2comp(zds1, 2*n);</div><div class='add'>+    }</div><div class='add'>+    /* zds0:|x1-x0| zds1,zds2:-?|x1-x0|*|y1-y0| zds3:? wds:|y1-y0| */</div><div class='add'>+</div><div class='add'>+    MEMCPY(wds, zds1, BDIGIT, n);</div><div class='add'>+</div><div class='add'>+    /* zds0:|x1-x0| zds1,zds2:-?|x1-x0|*|y1-y0| zds3:? wds:lo(-?|x1-x0|*|y1-y0|) */</div><div class='add'>+</div><div class='add'>+    bary_mul_karatsuba_start(zds0, 2*n, xds0, n, yds0, n, wds+n, wn-n);</div><div class='add'>+</div><div class='add'>+    /* zds0,zds1:x0*y0 zds2:hi(-?|x1-x0|*|y1-y0|) zds3:? wds:lo(-?|x1-x0|*|y1-y0|) */</div><div class='add'>+</div><div class='add'>+    carry1 = bary_add(wds, n, wds, n, zds0, n);</div><div class='add'>+    carry1 = bary_addc(zds2, n, zds2, n, zds1, n, carry1);</div><div class='add'>+</div><div class='add'>+    /* zds0,zds1:x0*y0 zds2:hi(x0*y0-?|x1-x0|*|y1-y0|) zds3:? wds:lo(x0*y0-?|x1-x0|*|y1-y0|) */</div><div class='add'>+</div><div class='add'>+    carry2 = bary_add(zds1, n, zds1, n, wds, n);</div><div class='add'>+</div><div class='add'>+    /* 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='add'>+</div><div class='add'>+    MEMCPY(wds, zds2, BDIGIT, n);</div><div class='add'>+</div><div class='add'>+    /* 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='add'>+</div><div class='add'>+    bary_mul_karatsuba_start(zds2, zn-2*n, xds1, xn-n, yds1, n, wds+n, wn-n);</div><div class='add'>+</div><div class='add'>+    /* 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='add'>+</div><div class='add'>+    carry3 = bary_add(zds1, n, zds1, n, zds2, n);</div><div class='add'>+</div><div class='add'>+    /* 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='add'>+</div><div class='add'>+    carry3 = bary_addc(zds2, n, zds2, n, zds3, (4*n &lt; zn ? n : zn-3*n), carry3);</div><div class='add'>+</div><div class='add'>+    /* 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='add'>+</div><div class='add'>+    bary_add(zds2, zn-2*n, zds2, zn-2*n, wds, n);</div><div class='add'>+</div><div class='add'>+    /* 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='add'>+</div><div class='add'>+    if (carry2)</div><div class='add'>+        bary_add_one(zds2, zn-2*n);</div><div class='add'>+</div><div class='add'>+    if (carry1 + carry3 - borrow &lt; 0)</div><div class='add'>+        bary_sub_one(zds3, zn-3*n);</div><div class='add'>+    else if (carry1 + carry3 - borrow &gt; 0) {</div><div class='add'>+        BDIGIT c = carry1 + carry3 - borrow;</div><div class='add'>+        bary_add(zds3, zn-3*n, zds3, zn-3*n, &amp;c, 1);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    /*</div><div class='add'>+    if (SIZEOF_BDIGIT * zn &lt;= 16) {</div><div class='add'>+        uint128_t z, x, y;</div><div class='add'>+        ssize_t i;</div><div class='add'>+        for (x = 0, i = xn-1; 0 &lt;= i; i--) { x &lt;&lt;= SIZEOF_BDIGIT*CHAR_BIT; x |= xds[i]; }</div><div class='add'>+        for (y = 0, i = yn-1; 0 &lt;= i; i--) { y &lt;&lt;= SIZEOF_BDIGIT*CHAR_BIT; y |= yds[i]; }</div><div class='add'>+        for (z = 0, i = zn-1; 0 &lt;= i; i--) { z &lt;&lt;= SIZEOF_BDIGIT*CHAR_BIT; z |= zds[i]; }</div><div class='add'>+        assert(z == x * y);</div><div class='add'>+    }</div><div class='add'>+    */</div><div class='add'>+</div><div class='add'>+    if (odd_xy) {</div><div class='add'>+        bary_muladd_1xN(zds+yn, zn-yn, yds[yn], xds, xn);</div><div class='add'>+        bary_muladd_1xN(zds+xn, zn-xn, xds[xn], yds, yn+1);</div><div class='add'>+    }</div><div class='add'>+    else if (odd_y) {</div><div class='add'>+        bary_muladd_1xN(zds+yn, zn-yn, yds[yn], xds, xn);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (work)</div><div class='add'>+        ALLOCV_END(work);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_big_mul_karatsuba(VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    size_t xn = BIGNUM_LEN(x), yn = BIGNUM_LEN(y), zn = xn + yn;</div><div class='add'>+    VALUE z = bignew(zn, BIGNUM_SIGN(x)==BIGNUM_SIGN(y));</div><div class='add'>+    if (!((xn &lt;= yn &amp;&amp; yn &lt; 2) || KARATSUBA_BALANCED(xn, yn)))</div><div class='add'>+        rb_raise(rb_eArgError, "unexpected bignum length for karatsuba");</div><div class='add'>+    bary_mul_karatsuba(BDIGITS(z), zn, BDIGITS(x), xn, BDIGITS(y), yn, NULL, 0);</div><div class='add'>+    RB_GC_GUARD(x);</div><div class='add'>+    RB_GC_GUARD(y);</div><div class='add'>+    return z;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+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='add'>+{</div><div class='add'>+    size_t n;</div><div class='add'>+    size_t wnc;</div><div class='add'>+    VALUE work = 0;</div><div class='add'>+</div><div class='add'>+    /* "p" stands for "positive".  Actually it means "non-negative", though. */</div><div class='add'>+    size_t x0n; const BDIGIT *x0ds;</div><div class='add'>+    size_t x1n; const BDIGIT *x1ds;</div><div class='add'>+    size_t x2n; const BDIGIT *x2ds;</div><div class='add'>+    size_t y0n; const BDIGIT *y0ds;</div><div class='add'>+    size_t y1n; const BDIGIT *y1ds;</div><div class='add'>+    size_t y2n; const BDIGIT *y2ds;</div><div class='add'>+</div><div class='add'>+    size_t u1n; BDIGIT *u1ds; int u1p;</div><div class='add'>+    size_t u2n; BDIGIT *u2ds; int u2p;</div><div class='add'>+    size_t u3n; BDIGIT *u3ds; int u3p;</div><div class='add'>+</div><div class='add'>+    size_t v1n; BDIGIT *v1ds; int v1p;</div><div class='add'>+    size_t v2n; BDIGIT *v2ds; int v2p;</div><div class='add'>+    size_t v3n; BDIGIT *v3ds; int v3p;</div><div class='add'>+</div><div class='add'>+    size_t t0n; BDIGIT *t0ds; int t0p;</div><div class='add'>+    size_t t1n; BDIGIT *t1ds; int t1p;</div><div class='add'>+    size_t t2n; BDIGIT *t2ds; int t2p;</div><div class='add'>+    size_t t3n; BDIGIT *t3ds; int t3p;</div><div class='add'>+    size_t t4n; BDIGIT *t4ds; int t4p;</div><div class='add'>+</div><div class='add'>+    size_t z0n; BDIGIT *z0ds;</div><div class='add'>+    size_t z1n; BDIGIT *z1ds; int z1p;</div><div class='add'>+    size_t z2n; BDIGIT *z2ds; int z2p;</div><div class='add'>+    size_t z3n; BDIGIT *z3ds; int z3p;</div><div class='add'>+    size_t z4n; BDIGIT *z4ds;</div><div class='add'>+</div><div class='add'>+    size_t zzn; BDIGIT *zzds;</div><div class='add'>+</div><div class='add'>+    int sq = xds == yds &amp;&amp; xn == yn;</div><div class='add'>+</div><div class='add'>+    assert(xn &lt;= yn);  /* assume y &gt;= x */</div><div class='add'>+    assert(xn + yn &lt;= zn);</div><div class='add'>+</div><div class='add'>+    n = (yn + 2) / 3;</div><div class='add'>+    assert(2*n &lt; xn);</div><div class='add'>+</div><div class='add'>+    wnc = 0;</div><div class='add'>+</div><div class='add'>+    wnc += (u1n = n+1); /* BITSPERDIG*n+2 bits */</div><div class='add'>+    wnc += (u2n = n+1); /* BITSPERDIG*n+1 bits */</div><div class='add'>+    wnc += (u3n = n+1); /* BITSPERDIG*n+3 bits */</div><div class='add'>+    wnc += (v1n = n+1); /* BITSPERDIG*n+2 bits */</div><div class='add'>+    wnc += (v2n = n+1); /* BITSPERDIG*n+1 bits */</div><div class='add'>+    wnc += (v3n = n+1); /* BITSPERDIG*n+3 bits */</div><div class='add'>+</div><div class='add'>+    wnc += (t0n = 2*n); /* BITSPERDIG*2*n bits */</div><div class='add'>+    wnc += (t1n = 2*n+2); /* BITSPERDIG*2*n+4 bits but bary_mul needs u1n+v1n */</div><div class='add'>+    wnc += (t2n = 2*n+2); /* BITSPERDIG*2*n+2 bits but bary_mul needs u2n+v2n */</div><div class='add'>+    wnc += (t3n = 2*n+2); /* BITSPERDIG*2*n+6 bits but bary_mul needs u3n+v3n */</div><div class='add'>+    wnc += (t4n = 2*n); /* BITSPERDIG*2*n bits */</div><div class='add'>+</div><div class='add'>+    wnc += (z1n = 2*n+1); /* BITSPERDIG*2*n+5 bits */</div><div class='add'>+    wnc += (z2n = 2*n+1); /* BITSPERDIG*2*n+6 bits */</div><div class='add'>+    wnc += (z3n = 2*n+1); /* BITSPERDIG*2*n+8 bits */</div><div class='add'>+</div><div class='add'>+    if (wn &lt; wnc) {</div><div class='add'>+        wn = wnc * 3 / 2; /* Allocate working memory for whole recursion at once. */</div><div class='add'>+        wds = ALLOCV_N(BDIGIT, work, wn);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    u1ds = wds; wds += u1n;</div><div class='add'>+    u2ds = wds; wds += u2n;</div><div class='add'>+    u3ds = wds; wds += u3n;</div><div class='add'>+</div><div class='add'>+    v1ds = wds; wds += v1n;</div><div class='add'>+    v2ds = wds; wds += v2n;</div><div class='add'>+    v3ds = wds; wds += v3n;</div><div class='add'>+</div><div class='add'>+    t0ds = wds; wds += t0n;</div><div class='add'>+    t1ds = wds; wds += t1n;</div><div class='add'>+    t2ds = wds; wds += t2n;</div><div class='add'>+    t3ds = wds; wds += t3n;</div><div class='add'>+    t4ds = wds; wds += t4n;</div><div class='add'>+</div><div class='add'>+    z1ds = wds; wds += z1n;</div><div class='add'>+    z2ds = wds; wds += z2n;</div><div class='add'>+    z3ds = wds; wds += z3n;</div><div class='add'>+</div><div class='add'>+    wn -= wnc;</div><div class='add'>+</div><div class='add'>+    zzds = u1ds;</div><div class='add'>+    zzn = 6*n+1;</div><div class='add'>+</div><div class='add'>+    x0n = n;</div><div class='add'>+    x1n = n;</div><div class='add'>+    x2n = xn - 2*n;</div><div class='add'>+    x0ds = xds;</div><div class='add'>+    x1ds = xds + n;</div><div class='add'>+    x2ds = xds + 2*n;</div><div class='add'>+</div><div class='add'>+    if (sq) {</div><div class='add'>+        y0n = x0n;</div><div class='add'>+        y1n = x1n;</div><div class='add'>+        y2n = x2n;</div><div class='add'>+        y0ds = x0ds;</div><div class='add'>+        y1ds = x1ds;</div><div class='add'>+        y2ds = x2ds;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        y0n = n;</div><div class='add'>+        y1n = n;</div><div class='add'>+        y2n = yn - 2*n;</div><div class='add'>+        y0ds = yds;</div><div class='add'>+        y1ds = yds + n;</div><div class='add'>+        y2ds = yds + 2*n;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    /*</div><div class='add'>+     * ref. https://en.wikipedia.org/wiki/Toom%E2%80%93Cook_multiplication</div><div class='add'>+     *</div><div class='add'>+     * x(b) = x0 * b^0 + x1 * b^1 + x2 * b^2</div><div class='add'>+     * y(b) = y0 * b^0 + y1 * b^1 + y2 * b^2</div><div class='add'>+     *</div><div class='add'>+     * z(b) = x(b) * y(b)</div><div class='add'>+     * z(b) = z0 * b^0 + z1 * b^1 + z2 * b^2 + z3 * b^3 + z4 * b^4</div><div class='add'>+     * where:</div><div class='add'>+     *   z0 = x0 * y0</div><div class='add'>+     *   z1 = x0 * y1 + x1 * y0</div><div class='add'>+     *   z2 = x0 * y2 + x1 * y1 + x2 * y0</div><div class='add'>+     *   z3 = x1 * y2 + x2 * y1</div><div class='add'>+     *   z4 = x2 * y2</div><div class='add'>+     *</div><div class='add'>+     * Toom3 method (a.k.a. Toom-Cook method):</div><div class='add'>+     * (Step1) calculating 5 points z(b0), z(b1), z(b2), z(b3), z(b4),</div><div class='add'>+     * where:</div><div class='add'>+     *   b0 = 0, b1 = 1, b2 = -1, b3 = -2, b4 = inf,</div><div class='add'>+     *   z(0)   = x(0)   * y(0)   = x0 * y0</div><div class='add'>+     *   z(1)   = x(1)   * y(1)   = (x0 + x1 + x2) * (y0 + y1 + y2)</div><div class='add'>+     *   z(-1)  = x(-1)  * y(-1)  = (x0 - x1 + x2) * (y0 - y1 + y2)</div><div class='add'>+     *   z(-2)  = x(-2)  * y(-2)  = (x0 - 2 * (x1 - 2 * x2)) * (y0 - 2 * (y1 - 2 * y2))</div><div class='add'>+     *   z(inf) = x(inf) * y(inf) = x2 * y2</div><div class='add'>+     *</div><div class='add'>+     * (Step2) interpolating z0, z1, z2, z3 and z4.</div><div class='add'>+     *</div><div class='add'>+     * (Step3) Substituting base value into b of the polynomial z(b),</div><div class='add'>+     */</div><div class='add'>+</div><div class='add'>+    /*</div><div class='add'>+     * [Step1] calculating 5 points z(b0), z(b1), z(b2), z(b3), z(b4)</div><div class='add'>+     */</div><div class='add'>+</div><div class='add'>+    /* u1 &lt;- x0 + x2 */</div><div class='add'>+    bary_add(u1ds, u1n, x0ds, x0n, x2ds, x2n);</div><div class='add'>+    u1p = 1;</div><div class='add'>+</div><div class='add'>+    /* x(-1) : u2 &lt;- u1 - x1 = x0 - x1 + x2 */</div><div class='add'>+    if (bary_sub(u2ds, u2n, u1ds, u1n, x1ds, x1n)) {</div><div class='add'>+        bary_2comp(u2ds, u2n);</div><div class='add'>+        u2p = 0;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        u2p = 1;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    /* x(1) : u1 &lt;- u1 + x1 = x0 + x1 + x2 */</div><div class='add'>+    bary_add(u1ds, u1n, u1ds, u1n, x1ds, x1n);</div><div class='add'>+</div><div class='add'>+    /* x(-2) : u3 &lt;- 2 * (u2 + x2) - x0 = x0 - 2 * (x1 - 2 * x2) */</div><div class='add'>+    u3p = 1;</div><div class='add'>+    if (u2p) {</div><div class='add'>+        bary_add(u3ds, u3n, u2ds, u2n, x2ds, x2n);</div><div class='add'>+    }</div><div class='add'>+    else if (bary_sub(u3ds, u3n, x2ds, x2n, u2ds, u2n)) {</div><div class='add'>+        bary_2comp(u3ds, u3n);</div><div class='add'>+        u3p = 0;</div><div class='add'>+    }</div><div class='add'>+    bary_small_lshift(u3ds, u3ds, u3n, 1);</div><div class='add'>+    if (!u3p) {</div><div class='add'>+        bary_add(u3ds, u3n, u3ds, u3n, x0ds, x0n);</div><div class='add'>+    }</div><div class='add'>+    else if (bary_sub(u3ds, u3n, u3ds, u3n, x0ds, x0n)) {</div><div class='add'>+        bary_2comp(u3ds, u3n);</div><div class='add'>+        u3p = 0;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (sq) {</div><div class='add'>+        v1n = u1n; v1ds = u1ds; v1p = u1p;</div><div class='add'>+        v2n = u2n; v2ds = u2ds; v2p = u2p;</div><div class='add'>+        v3n = u3n; v3ds = u3ds; v3p = u3p;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	/* v1 &lt;- y0 + y2 */</div><div class='add'>+        bary_add(v1ds, v1n, y0ds, y0n, y2ds, y2n);</div><div class='add'>+        v1p = 1;</div><div class='add'>+</div><div class='add'>+	/* y(-1) : v2 &lt;- v1 - y1 = y0 - y1 + y2 */</div><div class='add'>+        v2p = 1;</div><div class='add'>+        if (bary_sub(v2ds, v2n, v1ds, v1n, y1ds, y1n)) {</div><div class='add'>+            bary_2comp(v2ds, v2n);</div><div class='add'>+            v2p = 0;</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+	/* y(1) : v1 &lt;- v1 + y1 = y0 + y1 + y2 */</div><div class='add'>+        bary_add(v1ds, v1n, v1ds, v1n, y1ds, y1n);</div><div class='add'>+</div><div class='add'>+	/* y(-2) : v3 &lt;- 2 * (v2 + y2) - y0 = y0 - 2 * (y1 - 2 * y2) */</div><div class='add'>+        v3p = 1;</div><div class='add'>+        if (v2p) {</div><div class='add'>+            bary_add(v3ds, v3n, v2ds, v2n, y2ds, y2n);</div><div class='add'>+        }</div><div class='add'>+        else if (bary_sub(v3ds, v3n, y2ds, y2n, v2ds, v2n)) {</div><div class='add'>+            bary_2comp(v3ds, v3n);</div><div class='add'>+            v3p = 0;</div><div class='add'>+        }</div><div class='add'>+        bary_small_lshift(v3ds, v3ds, v3n, 1);</div><div class='add'>+        if (!v3p) {</div><div class='add'>+            bary_add(v3ds, v3n, v3ds, v3n, y0ds, y0n);</div><div class='add'>+        }</div><div class='add'>+        else if (bary_sub(v3ds, v3n, v3ds, v3n, y0ds, y0n)) {</div><div class='add'>+            bary_2comp(v3ds, v3n);</div><div class='add'>+            v3p = 0;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    /* z(0) : t0 &lt;- x0 * y0 */</div><div class='add'>+    bary_mul_toom3_start(t0ds, t0n, x0ds, x0n, y0ds, y0n, wds, wn);</div><div class='add'>+    t0p = 1;</div><div class='add'>+</div><div class='add'>+    /* z(1) : t1 &lt;- u1 * v1 */</div><div class='add'>+    bary_mul_toom3_start(t1ds, t1n, u1ds, u1n, v1ds, v1n, wds, wn);</div><div class='add'>+    t1p = u1p == v1p;</div><div class='add'>+    assert(t1ds[t1n-1] == 0);</div><div class='add'>+    t1n--;</div><div class='add'>+</div><div class='add'>+    /* z(-1) : t2 &lt;- u2 * v2 */</div><div class='add'>+    bary_mul_toom3_start(t2ds, t2n, u2ds, u2n, v2ds, v2n, wds, wn);</div><div class='add'>+    t2p = u2p == v2p;</div><div class='add'>+    assert(t2ds[t2n-1] == 0);</div><div class='add'>+    t2n--;</div><div class='add'>+</div><div class='add'>+    /* z(-2) : t3 &lt;- u3 * v3 */</div><div class='add'>+    bary_mul_toom3_start(t3ds, t3n, u3ds, u3n, v3ds, v3n, wds, wn);</div><div class='add'>+    t3p = u3p == v3p;</div><div class='add'>+    assert(t3ds[t3n-1] == 0);</div><div class='add'>+    t3n--;</div><div class='add'>+</div><div class='add'>+    /* z(inf) : t4 &lt;- x2 * y2 */</div><div class='add'>+    bary_mul_toom3_start(t4ds, t4n, x2ds, x2n, y2ds, y2n, wds, wn);</div><div class='add'>+    t4p = 1;</div><div class='add'>+</div><div class='add'>+    /*</div><div class='add'>+     * [Step2] interpolating z0, z1, z2, z3 and z4.</div><div class='add'>+     */</div><div class='add'>+</div><div class='add'>+    /* z0 &lt;- z(0) == t0 */</div><div class='add'>+    z0n = t0n; z0ds = t0ds;</div><div class='add'>+</div><div class='add'>+    /* z4 &lt;- z(inf) == t4 */</div><div class='add'>+    z4n = t4n; z4ds = t4ds;</div><div class='add'>+</div><div class='add'>+    /* z3 &lt;- (z(-2) - z(1)) / 3 == (t3 - t1) / 3 */</div><div class='add'>+    if (t3p == t1p) {</div><div class='add'>+        z3p = t3p;</div><div class='add'>+        if (bary_sub(z3ds, z3n, t3ds, t3n, t1ds, t1n)) {</div><div class='add'>+            bary_2comp(z3ds, z3n);</div><div class='add'>+            z3p = !z3p;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        z3p = t3p;</div><div class='add'>+        bary_add(z3ds, z3n, t3ds, t3n, t1ds, t1n);</div><div class='add'>+    }</div><div class='add'>+    bigdivrem_single(z3ds, z3ds, z3n, 3);</div><div class='add'>+</div><div class='add'>+    /* z1 &lt;- (z(1) - z(-1)) / 2 == (t1 - t2) / 2 */</div><div class='add'>+    if (t1p == t2p) {</div><div class='add'>+        z1p = t1p;</div><div class='add'>+        if (bary_sub(z1ds, z1n, t1ds, t1n, t2ds, t2n)) {</div><div class='add'>+            bary_2comp(z1ds, z1n);</div><div class='add'>+            z1p = !z1p;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        z1p = t1p;</div><div class='add'>+        bary_add(z1ds, z1n, t1ds, t1n, t2ds, t2n);</div><div class='add'>+    }</div><div class='add'>+    bary_small_rshift(z1ds, z1ds, z1n, 1, 0);</div><div class='add'>+</div><div class='add'>+    /* z2 &lt;- z(-1) - z(0) == t2 - t0 */</div><div class='add'>+    if (t2p == t0p) {</div><div class='add'>+        z2p = t2p;</div><div class='add'>+        if (bary_sub(z2ds, z2n, t2ds, t2n, t0ds, t0n)) {</div><div class='add'>+            bary_2comp(z2ds, z2n);</div><div class='add'>+            z2p = !z2p;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        z2p = t2p;</div><div class='add'>+        bary_add(z2ds, z2n, t2ds, t2n, t0ds, t0n);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    /* z3 &lt;- (z2 - z3) / 2 + 2 * z(inf) == (z2 - z3) / 2 + 2 * t4 */</div><div class='add'>+    if (z2p == z3p) {</div><div class='add'>+        z3p = z2p;</div><div class='add'>+        if (bary_sub(z3ds, z3n, z2ds, z2n, z3ds, z3n)) {</div><div class='add'>+            bary_2comp(z3ds, z3n);</div><div class='add'>+            z3p = !z3p;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        z3p = z2p;</div><div class='add'>+        bary_add(z3ds, z3n, z2ds, z2n, z3ds, z3n);</div><div class='add'>+    }</div><div class='add'>+    bary_small_rshift(z3ds, z3ds, z3n, 1, 0);</div><div class='add'>+    if (z3p == t4p) {</div><div class='add'>+        bary_muladd_1xN(z3ds, z3n, 2, t4ds, t4n);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        if (bary_mulsub_1xN(z3ds, z3n, 2, t4ds, t4n)) {</div><div class='add'>+            bary_2comp(z3ds, z3n);</div><div class='add'>+            z3p = !z3p;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    /* z2 &lt;- z2 + z1 - z(inf) == z2 + z1 - t4 */</div><div class='add'>+    if (z2p == z1p) {</div><div class='add'>+        bary_add(z2ds, z2n, z2ds, z2n, z1ds, z1n);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        if (bary_sub(z2ds, z2n, z2ds, z2n, z1ds, z1n)) {</div><div class='add'>+            bary_2comp(z2ds, z2n);</div><div class='add'>+            z2p = !z2p;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (z2p == t4p) {</div><div class='add'>+        if (bary_sub(z2ds, z2n, z2ds, z2n, t4ds, t4n)) {</div><div class='add'>+            bary_2comp(z2ds, z2n);</div><div class='add'>+            z2p = !z2p;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        bary_add(z2ds, z2n, z2ds, z2n, t4ds, t4n);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    /* z1 &lt;- z1 - z3 */</div><div class='add'>+    if (z1p == z3p) {</div><div class='add'>+        if (bary_sub(z1ds, z1n, z1ds, z1n, z3ds, z3n)) {</div><div class='add'>+            bary_2comp(z1ds, z1n);</div><div class='add'>+            z1p = !z1p;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        bary_add(z1ds, z1n, z1ds, z1n, z3ds, z3n);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    /*</div><div class='add'>+     * [Step3] Substituting base value into b of the polynomial z(b),</div><div class='add'>+     */</div><div class='add'>+</div><div class='add'>+    MEMCPY(zzds, z0ds, BDIGIT, z0n);</div><div class='add'>+    BDIGITS_ZERO(zzds + z0n, 4*n - z0n);</div><div class='add'>+    MEMCPY(zzds + 4*n, z4ds, BDIGIT, z4n);</div><div class='add'>+    BDIGITS_ZERO(zzds + 4*n + z4n, zzn - (4*n + z4n));</div><div class='add'>+    if (z1p)</div><div class='add'>+        bary_add(zzds +   n, zzn -   n, zzds +   n, zzn -   n, z1ds, z1n);</div><div class='add'>+    else</div><div class='add'>+        bary_sub(zzds +   n, zzn -   n, zzds +   n, zzn -   n, z1ds, z1n);</div><div class='add'>+    if (z2p)</div><div class='add'>+        bary_add(zzds + 2*n, zzn - 2*n, zzds + 2*n, zzn - 2*n, z2ds, z2n);</div><div class='add'>+    else</div><div class='add'>+        bary_sub(zzds + 2*n, zzn - 2*n, zzds + 2*n, zzn - 2*n, z2ds, z2n);</div><div class='add'>+    if (z3p)</div><div class='add'>+        bary_add(zzds + 3*n, zzn - 3*n, zzds + 3*n, zzn - 3*n, z3ds, z3n);</div><div class='add'>+    else</div><div class='add'>+        bary_sub(zzds + 3*n, zzn - 3*n, zzds + 3*n, zzn - 3*n, z3ds, z3n);</div><div class='add'>+</div><div class='add'>+    BARY_TRUNC(zzds, zzn);</div><div class='add'>+    MEMCPY(zds, zzds, BDIGIT, zzn);</div><div class='add'>+    BDIGITS_ZERO(zds + zzn, zn - zzn);</div><div class='add'>+</div><div class='add'>+    if (work)</div><div class='add'>+        ALLOCV_END(work);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_big_mul_toom3(VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    size_t xn = BIGNUM_LEN(x), yn = BIGNUM_LEN(y), zn = xn + yn;</div><div class='add'>+    VALUE z = bignew(zn, BIGNUM_SIGN(x)==BIGNUM_SIGN(y));</div><div class='add'>+    if (xn &gt; yn || yn &lt; 3 || !TOOM3_BALANCED(xn,yn))</div><div class='add'>+        rb_raise(rb_eArgError, "unexpected bignum length for toom3");</div><div class='add'>+    bary_mul_toom3(BDIGITS(z), zn, BDIGITS(x), xn, BDIGITS(y), yn, NULL, 0);</div><div class='add'>+    RB_GC_GUARD(x);</div><div class='add'>+    RB_GC_GUARD(y);</div><div class='add'>+    return z;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#ifdef USE_GMP</div><div class='add'>+static inline void</div><div class='add'>+bdigits_to_mpz(mpz_t mp, const BDIGIT *digits, size_t len)</div><div class='add'>+{</div><div class='add'>+    const size_t nails = (sizeof(BDIGIT)-SIZEOF_BDIGIT)*CHAR_BIT;</div><div class='add'>+    mpz_import(mp, len, -1, sizeof(BDIGIT), 0, nails, digits);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static inline void</div><div class='add'>+bdigits_from_mpz(mpz_t mp, BDIGIT *digits, size_t *len)</div><div class='ctx'> {</div><div class='del'>-    long i = RBIGNUM(x)-&gt;len;</div><div class='del'>-    USHORT *ds = BDIGITS(x);</div><div class='del'>-    long num;</div><div class='add'>+    const size_t nails = (sizeof(BDIGIT)-SIZEOF_BDIGIT)*CHAR_BIT;</div><div class='add'>+    mpz_export(digits, len, -1, sizeof(BDIGIT), 0, nails, mp);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+bary_mul_gmp(BDIGIT *zds, size_t zn, const BDIGIT *xds, size_t xn, const BDIGIT *yds, size_t yn)</div><div class='add'>+{</div><div class='add'>+    mpz_t x, y, z;</div><div class='add'>+    size_t count;</div><div class='add'>+</div><div class='add'>+    assert(xn + yn &lt;= zn);</div><div class='add'>+</div><div class='add'>+    mpz_init(x);</div><div class='add'>+    mpz_init(y);</div><div class='add'>+    mpz_init(z);</div><div class='add'>+    bdigits_to_mpz(x, xds, xn);</div><div class='add'>+    if (xds == yds &amp;&amp; xn == yn) {</div><div class='add'>+        mpz_mul(z, x, x);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        bdigits_to_mpz(y, yds, yn);</div><div class='add'>+        mpz_mul(z, x, y);</div><div class='add'>+    }</div><div class='add'>+    bdigits_from_mpz(z, zds, &amp;count);</div><div class='add'>+    BDIGITS_ZERO(zds+count, zn-count);</div><div class='add'>+    mpz_clear(x);</div><div class='add'>+    mpz_clear(y);</div><div class='add'>+    mpz_clear(z);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_big_mul_gmp(VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    size_t xn = BIGNUM_LEN(x), yn = BIGNUM_LEN(y), zn = xn + yn;</div><div class='add'>+    VALUE z = bignew(zn, BIGNUM_SIGN(x)==BIGNUM_SIGN(y));</div><div class='add'>+    bary_mul_gmp(BDIGITS(z), zn, BDIGITS(x), xn, BDIGITS(y), yn);</div><div class='add'>+    RB_GC_GUARD(x);</div><div class='add'>+    RB_GC_GUARD(y);</div><div class='add'>+    return z;</div><div class='add'>+}</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+bary_short_mul(BDIGIT *zds, size_t zn, const BDIGIT *xds, size_t xn, const BDIGIT *yds, size_t yn)</div><div class='add'>+{</div><div class='add'>+    assert(xn + yn &lt;= zn);</div><div class='add'>+</div><div class='add'>+    if (xn == 1 &amp;&amp; yn == 1) {</div><div class='add'>+        bary_mul_single(zds, zn, xds[0], yds[0]);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        bary_mul_normal(zds, zn, xds, xn, yds, yn);</div><div class='add'>+        rb_thread_check_ints();</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/* determine whether a bignum is sparse or not by random sampling */</div><div class='add'>+static inline int</div><div class='add'>+bary_sparse_p(const BDIGIT *ds, size_t n)</div><div class='add'>+{</div><div class='add'>+    long c = 0;</div><div class='add'>+</div><div class='add'>+    if (          ds[2 * n / 5]) c++;</div><div class='add'>+    if (c &lt;= 1 &amp;&amp; ds[    n / 2]) c++;</div><div class='add'>+    if (c &lt;= 1 &amp;&amp; ds[3 * n / 5]) c++;</div><div class='add'>+</div><div class='add'>+    return (c &lt;= 1) ? 1 : 0;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+bary_mul_precheck(BDIGIT **zdsp, size_t *znp, const BDIGIT **xdsp, size_t *xnp, const BDIGIT **ydsp, size_t *ynp)</div><div class='add'>+{</div><div class='add'>+    size_t nlsz; /* number of least significant zero BDIGITs */</div><div class='add'>+</div><div class='add'>+    BDIGIT *zds = *zdsp;</div><div class='add'>+    size_t zn = *znp;</div><div class='add'>+    const BDIGIT *xds = *xdsp;</div><div class='add'>+    size_t xn = *xnp;</div><div class='add'>+    const BDIGIT *yds = *ydsp;</div><div class='add'>+    size_t yn = *ynp;</div><div class='add'>+</div><div class='add'>+    assert(xn + yn &lt;= zn);</div><div class='add'>+</div><div class='add'>+    nlsz = 0;</div><div class='add'>+</div><div class='add'>+    while (0 &lt; xn) {</div><div class='add'>+        if (xds[xn-1] == 0) {</div><div class='add'>+            xn--;</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            do {</div><div class='add'>+                if (xds[0] != 0)</div><div class='add'>+                    break;</div><div class='add'>+                xds++;</div><div class='add'>+                xn--;</div><div class='add'>+                nlsz++;</div><div class='add'>+            } while (0 &lt; xn);</div><div class='add'>+            break;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    while (0 &lt; yn) {</div><div class='add'>+        if (yds[yn-1] == 0) {</div><div class='add'>+            yn--;</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            do {</div><div class='add'>+                if (yds[0] != 0)</div><div class='add'>+                    break;</div><div class='add'>+                yds++;</div><div class='add'>+                yn--;</div><div class='add'>+                nlsz++;</div><div class='add'>+            } while (0 &lt; yn);</div><div class='add'>+            break;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (nlsz) {</div><div class='add'>+        BDIGITS_ZERO(zds, nlsz);</div><div class='add'>+        zds += nlsz;</div><div class='add'>+        zn -= nlsz;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    /* make sure that y is longer than x */</div><div class='add'>+    if (xn &gt; yn) {</div><div class='add'>+        const BDIGIT *tds;</div><div class='add'>+        size_t tn;</div><div class='add'>+	tds = xds; xds = yds; yds = tds;</div><div class='add'>+	tn = xn; xn = yn; yn = tn;</div><div class='add'>+    }</div><div class='add'>+    assert(xn &lt;= yn);</div><div class='add'>+</div><div class='add'>+    if (xn &lt;= 1) {</div><div class='add'>+        if (xn == 0) {</div><div class='add'>+            BDIGITS_ZERO(zds, zn);</div><div class='add'>+            return 1;</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        if (xds[0] == 1) {</div><div class='add'>+            MEMCPY(zds, yds, BDIGIT, yn);</div><div class='add'>+            BDIGITS_ZERO(zds+yn, zn-yn);</div><div class='add'>+            return 1;</div><div class='add'>+        }</div><div class='add'>+        if (POW2_P(xds[0])) {</div><div class='add'>+            zds[yn] = bary_small_lshift(zds, yds, yn, bit_length(xds[0])-1);</div><div class='add'>+            BDIGITS_ZERO(zds+yn+1, zn-yn-1);</div><div class='add'>+            return 1;</div><div class='add'>+        }</div><div class='add'>+        if (yn == 1 &amp;&amp; yds[0] == 1) {</div><div class='add'>+            zds[0] = xds[0];</div><div class='add'>+            BDIGITS_ZERO(zds+1, zn-1);</div><div class='add'>+            return 1;</div><div class='add'>+        }</div><div class='add'>+        bary_mul_normal(zds, zn, xds, xn, yds, yn);</div><div class='add'>+        return 1;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    *zdsp = zds;</div><div class='add'>+    *znp = zn;</div><div class='add'>+    *xdsp = xds;</div><div class='add'>+    *xnp = xn;</div><div class='add'>+    *ydsp = yds;</div><div class='add'>+    *ynp = yn;</div><div class='add'>+</div><div class='add'>+    return 0;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+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='add'>+{</div><div class='add'>+    /* normal multiplication when x is small */</div><div class='add'>+    if (xn &lt; KARATSUBA_MUL_DIGITS) {</div><div class='add'>+        goto normal;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    /* normal multiplication when x or y is a sparse bignum */</div><div class='add'>+    if (bary_sparse_p(xds, xn)) goto normal;</div><div class='add'>+    if (bary_sparse_p(yds, yn)) {</div><div class='add'>+        bary_short_mul(zds, zn, yds, yn, xds, xn);</div><div class='add'>+        return;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    /* balance multiplication by slicing y when x is much smaller than y */</div><div class='add'>+    if (!KARATSUBA_BALANCED(xn, yn)) {</div><div class='add'>+        bary_mul_balance_with_mulfunc(zds, zn, xds, xn, yds, yn, wds, wn, bary_mul_karatsuba_start);</div><div class='add'>+        return;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    /* multiplication by karatsuba method */</div><div class='add'>+    bary_mul_karatsuba(zds, zn, xds, xn, yds, yn, wds, wn);</div><div class='add'>+    return;</div><div class='add'>+</div><div class='add'>+  normal:</div><div class='add'>+    if (xds == yds &amp;&amp; xn == yn) {</div><div class='add'>+        bary_sq_fast(zds, zn, xds, xn);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        bary_short_mul(zds, zn, xds, xn, yds, yn);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+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='add'>+{</div><div class='add'>+    if (bary_mul_precheck(&amp;zds, &amp;zn, &amp;xds, &amp;xn, &amp;yds, &amp;yn))</div><div class='add'>+        return;</div><div class='add'>+</div><div class='add'>+    bary_mul_karatsuba_branch(zds, zn, xds, xn, yds, yn, wds, wn);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+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='add'>+{</div><div class='add'>+    if (xn &lt; TOOM3_MUL_DIGITS) {</div><div class='add'>+        bary_mul_karatsuba_branch(zds, zn, xds, xn, yds, yn, wds, wn);</div><div class='add'>+        return;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (!TOOM3_BALANCED(xn, yn)) {</div><div class='add'>+        bary_mul_balance_with_mulfunc(zds, zn, xds, xn, yds, yn, wds, wn, bary_mul_toom3_start);</div><div class='add'>+        return;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    bary_mul_toom3(zds, zn, xds, xn, yds, yn, wds, wn);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+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='add'>+{</div><div class='add'>+    if (bary_mul_precheck(&amp;zds, &amp;zn, &amp;xds, &amp;xn, &amp;yds, &amp;yn))</div><div class='add'>+        return;</div><div class='add'>+</div><div class='add'>+    bary_mul_toom3_branch(zds, zn, xds, xn, yds, yn, wds, wn);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+bary_mul(BDIGIT *zds, size_t zn, const BDIGIT *xds, size_t xn, const BDIGIT *yds, size_t yn)</div><div class='add'>+{</div><div class='add'>+    if (xn &lt;= yn) {</div><div class='add'>+        if (xn &lt; NAIVE_MUL_DIGITS) {</div><div class='add'>+            if (xds == yds &amp;&amp; xn == yn)</div><div class='add'>+                bary_sq_fast(zds, zn, xds, xn);</div><div class='add'>+            else</div><div class='add'>+                bary_short_mul(zds, zn, xds, xn, yds, yn);</div><div class='add'>+            return;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        if (yn &lt; NAIVE_MUL_DIGITS) {</div><div class='add'>+            bary_short_mul(zds, zn, yds, yn, xds, xn);</div><div class='add'>+            return;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+#ifdef USE_GMP</div><div class='add'>+    bary_mul_gmp(zds, zn, xds, xn, yds, yn);</div><div class='add'>+#else</div><div class='add'>+    bary_mul_toom3_start(zds, zn, xds, xn, yds, yn, NULL, 0);</div><div class='add'>+#endif</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+struct big_div_struct {</div><div class='add'>+    size_t yn, zn;</div><div class='add'>+    BDIGIT *yds, *zds;</div><div class='add'>+    volatile VALUE stop;</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+static void *</div><div class='add'>+bigdivrem1(void *ptr)</div><div class='add'>+{</div><div class='add'>+    struct big_div_struct *bds = (struct big_div_struct*)ptr;</div><div class='add'>+    size_t yn = bds-&gt;yn;</div><div class='add'>+    size_t zn = bds-&gt;zn;</div><div class='add'>+    BDIGIT *yds = bds-&gt;yds, *zds = bds-&gt;zds;</div><div class='add'>+    BDIGIT_DBL_SIGNED num;</div><div class='add'>+    BDIGIT q;</div><div class='ctx'> </div><div class='del'>-    while (i--) ds[i] = ~ds[i];</div><div class='del'>-    i = 0; num = 1;</div><div class='ctx'>     do {</div><div class='del'>-	num += ds[i];</div><div class='del'>-	ds[i++] = BIGLO(num);</div><div class='del'>-	num = BIGDN(num);</div><div class='del'>-    } while (i &lt; RBIGNUM(x)-&gt;len);</div><div class='del'>-    if (ds[0] == 1 || ds[0] == 0) {</div><div class='del'>-	for (i=1; i&lt;RBIGNUM(x)-&gt;len; i++) {</div><div class='del'>-	    if (ds[i] != 0) return;</div><div class='add'>+	if (bds-&gt;stop) {</div><div class='add'>+	    bds-&gt;zn = zn;</div><div class='add'>+	    return 0;</div><div class='add'>+        }</div><div class='add'>+	if (zds[zn-1] == yds[yn-1]) q = BDIGMAX;</div><div class='add'>+	else q = (BDIGIT)((BIGUP(zds[zn-1]) + zds[zn-2])/yds[yn-1]);</div><div class='add'>+	if (q) {</div><div class='add'>+            num = bigdivrem_mulsub(zds+zn-(yn+1), yn+1,</div><div class='add'>+                                   q,</div><div class='add'>+                                   yds, yn);</div><div class='add'>+	    while (num) { /* "add back" required */</div><div class='add'>+		q--;</div><div class='add'>+                num = bary_add(zds+zn-(yn+1), yn,</div><div class='add'>+                               zds+zn-(yn+1), yn,</div><div class='add'>+                               yds, yn);</div><div class='add'>+                num--;</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+        zn--;</div><div class='add'>+	zds[zn] = q;</div><div class='add'>+    } while (zn &gt; yn);</div><div class='add'>+    return 0;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/* async-signal-safe */</div><div class='add'>+static void</div><div class='add'>+rb_big_stop(void *ptr)</div><div class='add'>+{</div><div class='add'>+    struct big_div_struct *bds = ptr;</div><div class='add'>+    bds-&gt;stop = Qtrue;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static BDIGIT</div><div class='add'>+bigdivrem_single1(BDIGIT *qds, const BDIGIT *xds, size_t xn, BDIGIT x_higher_bdigit, BDIGIT y)</div><div class='add'>+{</div><div class='add'>+    assert(0 &lt; xn);</div><div class='add'>+    assert(x_higher_bdigit &lt; y);</div><div class='add'>+    if (POW2_P(y)) {</div><div class='add'>+        BDIGIT r;</div><div class='add'>+        r = xds[0] &amp; (y-1);</div><div class='add'>+        bary_small_rshift(qds, xds, xn, bit_length(y)-1, x_higher_bdigit);</div><div class='add'>+        return r;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        size_t i;</div><div class='add'>+        BDIGIT_DBL t2;</div><div class='add'>+        t2 = x_higher_bdigit;</div><div class='add'>+        for (i = 0; i &lt; xn; i++) {</div><div class='add'>+            t2 = BIGUP(t2) + xds[xn - i - 1];</div><div class='add'>+            qds[xn - i - 1] = (BDIGIT)(t2 / y);</div><div class='add'>+            t2 %= y;</div><div class='add'>+        }</div><div class='add'>+        return (BDIGIT)t2;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static BDIGIT</div><div class='add'>+bigdivrem_single(BDIGIT *qds, const BDIGIT *xds, size_t xn, BDIGIT y)</div><div class='add'>+{</div><div class='add'>+    return bigdivrem_single1(qds, xds, xn, 0, y);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+bigdivrem_restoring(BDIGIT *zds, size_t zn, BDIGIT *yds, size_t yn)</div><div class='add'>+{</div><div class='add'>+    struct big_div_struct bds;</div><div class='add'>+    size_t ynzero;</div><div class='add'>+</div><div class='add'>+    assert(yn &lt; zn);</div><div class='add'>+    assert(BDIGIT_MSB(yds[yn-1]));</div><div class='add'>+    assert(zds[zn-1] &lt; yds[yn-1]);</div><div class='add'>+</div><div class='add'>+    for (ynzero = 0; !yds[ynzero]; ynzero++);</div><div class='add'>+</div><div class='add'>+    if (ynzero+1 == yn) {</div><div class='add'>+        BDIGIT r;</div><div class='add'>+        r = bigdivrem_single1(zds+yn, zds+ynzero, zn-yn, zds[zn-1], yds[ynzero]);</div><div class='add'>+        zds[ynzero] = r;</div><div class='add'>+        return;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    bds.yn = yn - ynzero;</div><div class='add'>+    bds.zds = zds + ynzero;</div><div class='add'>+    bds.yds = yds + ynzero;</div><div class='add'>+    bds.stop = Qfalse;</div><div class='add'>+    bds.zn = zn - ynzero;</div><div class='add'>+    if (bds.zn &gt; 10000 || bds.yn &gt; 10000) {</div><div class='add'>+      retry:</div><div class='add'>+	bds.stop = Qfalse;</div><div class='add'>+        rb_nogvl(bigdivrem1, &amp;bds, rb_big_stop, &amp;bds, RB_NOGVL_UBF_ASYNC_SAFE);</div><div class='add'>+</div><div class='add'>+	if (bds.stop == Qtrue) {</div><div class='add'>+	    /* execute trap handler, but exception was not raised. */</div><div class='add'>+	    goto retry;</div><div class='ctx'> 	}</div><div class='del'>-	REALLOC_N(BDIGITS(x), USHORT, RBIGNUM(x)-&gt;len++);</div><div class='del'>-	ds = BDIGITS(x);</div><div class='del'>-	ds[RBIGNUM(x)-&gt;len-1] = 1;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	bigdivrem1(&amp;bds);</div><div class='ctx'>     }</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-bignorm(x)</div><div class='del'>-    VALUE x;</div><div class='add'>+static void</div><div class='add'>+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='add'>+{</div><div class='add'>+    int shift;</div><div class='add'>+    BDIGIT *zds, *yyds;</div><div class='add'>+    size_t zn;</div><div class='add'>+    VALUE tmpyz = 0;</div><div class='add'>+</div><div class='add'>+    assert(yn &lt; xn || (xn == yn &amp;&amp; yds[yn - 1] &lt;= xds[xn - 1]));</div><div class='add'>+    assert(qds ? (xn - yn + 1) &lt;= qn : 1);</div><div class='add'>+    assert(rds ? yn &lt;= rn : 1);</div><div class='add'>+</div><div class='add'>+    zn = xn + BIGDIVREM_EXTRA_WORDS;</div><div class='add'>+</div><div class='add'>+    shift = nlz(yds[yn-1]);</div><div class='add'>+    if (shift) {</div><div class='add'>+        int alloc_y = !rds;</div><div class='add'>+        int alloc_z = !qds || qn &lt; zn;</div><div class='add'>+        if (alloc_y &amp;&amp; alloc_z) {</div><div class='add'>+            yyds = ALLOCV_N(BDIGIT, tmpyz, yn+zn);</div><div class='add'>+            zds = yyds + yn;</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            yyds = alloc_y ? ALLOCV_N(BDIGIT, tmpyz, yn) : rds;</div><div class='add'>+            zds = alloc_z ? ALLOCV_N(BDIGIT, tmpyz, zn) : qds;</div><div class='add'>+        }</div><div class='add'>+        zds[xn] = bary_small_lshift(zds, xds, xn, shift);</div><div class='add'>+        bary_small_lshift(yyds, yds, yn, shift);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        if (qds &amp;&amp; zn &lt;= qn)</div><div class='add'>+            zds = qds;</div><div class='add'>+        else</div><div class='add'>+            zds = ALLOCV_N(BDIGIT, tmpyz, zn);</div><div class='add'>+        MEMCPY(zds, xds, BDIGIT, xn);</div><div class='add'>+        zds[xn] = 0;</div><div class='add'>+        /* bigdivrem_restoring will not modify y.</div><div class='add'>+         * So use yds directly.  */</div><div class='add'>+        yyds = (BDIGIT *)yds;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    bigdivrem_restoring(zds, zn, yyds, yn);</div><div class='add'>+</div><div class='add'>+    if (rds) {</div><div class='add'>+        if (shift)</div><div class='add'>+            bary_small_rshift(rds, zds, yn, shift, 0);</div><div class='add'>+        else</div><div class='add'>+            MEMCPY(rds, zds, BDIGIT, yn);</div><div class='add'>+        BDIGITS_ZERO(rds+yn, rn-yn);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (qds) {</div><div class='add'>+        size_t j = zn - yn;</div><div class='add'>+        MEMMOVE(qds, zds+yn, BDIGIT, j);</div><div class='add'>+        BDIGITS_ZERO(qds+j, qn-j);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (tmpyz)</div><div class='add'>+        ALLOCV_END(tmpyz);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_big_divrem_normal(VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    size_t xn = BIGNUM_LEN(x), yn = BIGNUM_LEN(y), qn, rn;</div><div class='add'>+    BDIGIT *xds = BDIGITS(x), *yds = BDIGITS(y), *qds, *rds;</div><div class='add'>+    VALUE q, r;</div><div class='add'>+</div><div class='add'>+    BARY_TRUNC(yds, yn);</div><div class='add'>+    if (yn == 0)</div><div class='add'>+        rb_num_zerodiv();</div><div class='add'>+    BARY_TRUNC(xds, xn);</div><div class='add'>+</div><div class='add'>+    if (xn &lt; yn || (xn == yn &amp;&amp; xds[xn - 1] &lt; yds[yn - 1]))</div><div class='add'>+        return rb_assoc_new(LONG2FIX(0), x);</div><div class='add'>+</div><div class='add'>+    qn = xn + BIGDIVREM_EXTRA_WORDS;</div><div class='add'>+    q = bignew(qn, BIGNUM_SIGN(x)==BIGNUM_SIGN(y));</div><div class='add'>+    qds = BDIGITS(q);</div><div class='add'>+</div><div class='add'>+    rn = yn;</div><div class='add'>+    r = bignew(rn, BIGNUM_SIGN(x));</div><div class='add'>+    rds = BDIGITS(r);</div><div class='add'>+</div><div class='add'>+    bary_divmod_normal(qds, qn, rds, rn, xds, xn, yds, yn);</div><div class='add'>+</div><div class='add'>+    bigtrunc(q);</div><div class='add'>+    bigtrunc(r);</div><div class='add'>+</div><div class='add'>+    RB_GC_GUARD(x);</div><div class='add'>+    RB_GC_GUARD(y);</div><div class='add'>+</div><div class='add'>+    return rb_assoc_new(q, r);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#ifdef USE_GMP</div><div class='add'>+static void</div><div class='add'>+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='add'>+{</div><div class='add'>+    mpz_t x, y, q, r;</div><div class='add'>+    size_t count;</div><div class='add'>+</div><div class='add'>+    assert(yn &lt; xn || (xn == yn &amp;&amp; yds[yn - 1] &lt;= xds[xn - 1]));</div><div class='add'>+    assert(qds ? (xn - yn + 1) &lt;= qn : 1);</div><div class='add'>+    assert(rds ? yn &lt;= rn : 1);</div><div class='add'>+    assert(qds || rds);</div><div class='add'>+</div><div class='add'>+    mpz_init(x);</div><div class='add'>+    mpz_init(y);</div><div class='add'>+    if (qds) mpz_init(q);</div><div class='add'>+    if (rds) mpz_init(r);</div><div class='add'>+</div><div class='add'>+    bdigits_to_mpz(x, xds, xn);</div><div class='add'>+    bdigits_to_mpz(y, yds, yn);</div><div class='add'>+</div><div class='add'>+    if (!rds) {</div><div class='add'>+        mpz_fdiv_q(q, x, y);</div><div class='add'>+    }</div><div class='add'>+    else if (!qds) {</div><div class='add'>+        mpz_fdiv_r(r, x, y);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        mpz_fdiv_qr(q, r, x, y);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    mpz_clear(x);</div><div class='add'>+    mpz_clear(y);</div><div class='add'>+</div><div class='add'>+    if (qds) {</div><div class='add'>+        bdigits_from_mpz(q, qds, &amp;count);</div><div class='add'>+        BDIGITS_ZERO(qds+count, qn-count);</div><div class='add'>+        mpz_clear(q);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (rds) {</div><div class='add'>+        bdigits_from_mpz(r, rds, &amp;count);</div><div class='add'>+        BDIGITS_ZERO(rds+count, rn-count);</div><div class='add'>+        mpz_clear(r);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_big_divrem_gmp(VALUE x, VALUE y)</div><div class='ctx'> {</div><div class='del'>-    long len = RBIGNUM(x)-&gt;len;</div><div class='del'>-    USHORT *ds = BDIGITS(x);</div><div class='add'>+    size_t xn = BIGNUM_LEN(x), yn = BIGNUM_LEN(y), qn, rn;</div><div class='add'>+    BDIGIT *xds = BDIGITS(x), *yds = BDIGITS(y), *qds, *rds;</div><div class='add'>+    VALUE q, r;</div><div class='add'>+</div><div class='add'>+    BARY_TRUNC(yds, yn);</div><div class='add'>+    if (yn == 0)</div><div class='add'>+        rb_num_zerodiv();</div><div class='add'>+    BARY_TRUNC(xds, xn);</div><div class='add'>+</div><div class='add'>+    if (xn &lt; yn || (xn == yn &amp;&amp; xds[xn - 1] &lt; yds[yn - 1]))</div><div class='add'>+        return rb_assoc_new(LONG2FIX(0), x);</div><div class='add'>+</div><div class='add'>+    qn = xn - yn + 1;</div><div class='add'>+    q = bignew(qn, BIGNUM_SIGN(x)==BIGNUM_SIGN(y));</div><div class='add'>+    qds = BDIGITS(q);</div><div class='add'>+</div><div class='add'>+    rn = yn;</div><div class='add'>+    r = bignew(rn, BIGNUM_SIGN(x));</div><div class='add'>+    rds = BDIGITS(r);</div><div class='ctx'> </div><div class='del'>-    while (len-- &amp;&amp; !ds[len]) ;</div><div class='del'>-    RBIGNUM(x)-&gt;len = ++len;</div><div class='add'>+    bary_divmod_gmp(qds, qn, rds, rn, xds, xn, yds, yn);</div><div class='ctx'> </div><div class='del'>-    if (len*sizeof(USHORT) &lt;= sizeof(VALUE)) {</div><div class='del'>-	long num = 0;</div><div class='del'>-	while (len--) {</div><div class='del'>-	    num = BIGUP(num) + ds[len];</div><div class='add'>+    bigtrunc(q);</div><div class='add'>+    bigtrunc(r);</div><div class='add'>+</div><div class='add'>+    RB_GC_GUARD(x);</div><div class='add'>+    RB_GC_GUARD(y);</div><div class='add'>+</div><div class='add'>+    return rb_assoc_new(q, r);</div><div class='add'>+}</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+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='add'>+{</div><div class='add'>+#ifdef USE_GMP</div><div class='add'>+    if (GMP_DIV_DIGITS &lt; xn) {</div><div class='add'>+        bary_divmod_gmp(qds, qn, rds, rn, xds, xn, yds, yn);</div><div class='add'>+        return;</div><div class='add'>+    }</div><div class='add'>+#endif</div><div class='add'>+    bary_divmod_normal(qds, qn, rds, rn, xds, xn, yds, yn);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+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='add'>+{</div><div class='add'>+    assert(xn &lt;= qn);</div><div class='add'>+    assert(yn &lt;= rn);</div><div class='add'>+</div><div class='add'>+    BARY_TRUNC(yds, yn);</div><div class='add'>+    if (yn == 0)</div><div class='add'>+        rb_num_zerodiv();</div><div class='add'>+</div><div class='add'>+    BARY_TRUNC(xds, xn);</div><div class='add'>+    if (xn == 0) {</div><div class='add'>+        BDIGITS_ZERO(qds, qn);</div><div class='add'>+        BDIGITS_ZERO(rds, rn);</div><div class='add'>+        return;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (xn &lt; yn || (xn == yn &amp;&amp; xds[xn - 1] &lt; yds[yn - 1])) {</div><div class='add'>+        MEMCPY(rds, xds, BDIGIT, xn);</div><div class='add'>+        BDIGITS_ZERO(rds+xn, rn-xn);</div><div class='add'>+        BDIGITS_ZERO(qds, qn);</div><div class='add'>+    }</div><div class='add'>+    else if (yn == 1) {</div><div class='add'>+        MEMCPY(qds, xds, BDIGIT, xn);</div><div class='add'>+        BDIGITS_ZERO(qds+xn, qn-xn);</div><div class='add'>+        rds[0] = bigdivrem_single(qds, xds, xn, yds[0]);</div><div class='add'>+        BDIGITS_ZERO(rds+1, rn-1);</div><div class='add'>+    }</div><div class='add'>+    else if (xn == 2 &amp;&amp; yn == 2) {</div><div class='add'>+        BDIGIT_DBL x = bary2bdigitdbl(xds, 2);</div><div class='add'>+        BDIGIT_DBL y = bary2bdigitdbl(yds, 2);</div><div class='add'>+        BDIGIT_DBL q = x / y;</div><div class='add'>+        BDIGIT_DBL r = x % y;</div><div class='add'>+        qds[0] = BIGLO(q);</div><div class='add'>+        qds[1] = BIGLO(BIGDN(q));</div><div class='add'>+        BDIGITS_ZERO(qds+2, qn-2);</div><div class='add'>+        rds[0] = BIGLO(r);</div><div class='add'>+        rds[1] = BIGLO(BIGDN(r));</div><div class='add'>+        BDIGITS_ZERO(rds+2, rn-2);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        bary_divmod_branch(qds, qn, rds, rn, xds, xn, yds, yn);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+#ifndef BIGNUM_DEBUG</div><div class='add'>+# define BIGNUM_DEBUG (0+RUBY_DEBUG)</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+bigzero_p(VALUE x)</div><div class='add'>+{</div><div class='add'>+    return bary_zero_p(BDIGITS(x), BIGNUM_LEN(x));</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+int</div><div class='add'>+rb_bigzero_p(VALUE x)</div><div class='add'>+{</div><div class='add'>+    return BIGZEROP(x);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+int</div><div class='add'>+rb_cmpint(VALUE val, VALUE a, VALUE b)</div><div class='add'>+{</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)) {</div><div class='add'>+        long l = FIX2LONG(val);</div><div class='add'>+        if (l &gt; 0) return 1;</div><div class='add'>+        if (l &lt; 0) return -1;</div><div class='add'>+        return 0;</div><div class='add'>+    }</div><div class='add'>+    if (RB_BIGNUM_TYPE_P(val)) {</div><div class='add'>+	if (BIGZEROP(val)) return 0;</div><div class='add'>+	if (BIGNUM_SIGN(val)) 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='add'>+}</div><div class='add'>+</div><div class='add'>+#define BIGNUM_SET_LEN(b,l) \</div><div class='add'>+    (BIGNUM_EMBED_P(b) ? \</div><div class='add'>+     (void)(RBASIC(b)-&gt;flags = \</div><div class='add'>+	    (RBASIC(b)-&gt;flags &amp; ~BIGNUM_EMBED_LEN_MASK) | \</div><div class='add'>+	    ((l) &lt;&lt; BIGNUM_EMBED_LEN_SHIFT)) : \</div><div class='add'>+     (void)(RBIGNUM(b)-&gt;as.heap.len = (l)))</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+rb_big_realloc(VALUE big, size_t len)</div><div class='add'>+{</div><div class='add'>+    BDIGIT *ds;</div><div class='add'>+    if (BIGNUM_EMBED_P(big)) {</div><div class='add'>+	if (BIGNUM_EMBED_LEN_MAX &lt; len) {</div><div class='add'>+	    ds = ALLOC_N(BDIGIT, len);</div><div class='add'>+	    MEMCPY(ds, RBIGNUM(big)-&gt;as.ary, BDIGIT, BIGNUM_EMBED_LEN_MAX);</div><div class='add'>+	    RBIGNUM(big)-&gt;as.heap.len = BIGNUM_LEN(big);</div><div class='add'>+	    RBIGNUM(big)-&gt;as.heap.digits = ds;</div><div class='add'>+            FL_UNSET_RAW(big, BIGNUM_EMBED_FLAG);</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	if (len &lt;= BIGNUM_EMBED_LEN_MAX) {</div><div class='add'>+	    ds = RBIGNUM(big)-&gt;as.heap.digits;</div><div class='add'>+            FL_SET_RAW(big, BIGNUM_EMBED_FLAG);</div><div class='add'>+	    BIGNUM_SET_LEN(big, len);</div><div class='add'>+            (void)VALGRIND_MAKE_MEM_UNDEFINED((void*)RBIGNUM(big)-&gt;as.ary, sizeof(RBIGNUM(big)-&gt;as.ary));</div><div class='add'>+	    if (ds) {</div><div class='add'>+		MEMCPY(RBIGNUM(big)-&gt;as.ary, ds, BDIGIT, len);</div><div class='add'>+		xfree(ds);</div><div class='add'>+	    }</div><div class='ctx'> 	}</div><div class='del'>-	if (num &gt;= 0) {</div><div class='del'>-	    if (RBIGNUM(x)-&gt;sign) {</div><div class='del'>-		if (POSFIXABLE(num)) return INT2FIX(num);</div><div class='add'>+	else {</div><div class='add'>+	    if (BIGNUM_LEN(big) == 0) {</div><div class='add'>+		RBIGNUM(big)-&gt;as.heap.digits = ALLOC_N(BDIGIT, len);</div><div class='add'>+	    }</div><div class='add'>+	    else {</div><div class='add'>+		REALLOC_N(RBIGNUM(big)-&gt;as.heap.digits, BDIGIT, len);</div><div class='ctx'> 	    }</div><div class='del'>-	    else if (NEGFIXABLE(-(long)num)) return INT2FIX(-(long)num);</div><div class='ctx'> 	}</div><div class='ctx'>     }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+rb_big_resize(VALUE big, size_t len)</div><div class='add'>+{</div><div class='add'>+    rb_big_realloc(big, len);</div><div class='add'>+    BIGNUM_SET_LEN(big, len);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+bignew_1(VALUE klass, size_t len, int sign)</div><div class='add'>+{</div><div class='add'>+    NEWOBJ_OF(big, struct RBignum, klass, T_BIGNUM | (RGENGC_WB_PROTECTED_BIGNUM ? FL_WB_PROTECTED : 0));</div><div class='add'>+    VALUE bigv = (VALUE)big;</div><div class='add'>+    BIGNUM_SET_SIGN(bigv, sign);</div><div class='add'>+    if (len &lt;= BIGNUM_EMBED_LEN_MAX) {</div><div class='add'>+        FL_SET_RAW(bigv, BIGNUM_EMBED_FLAG);</div><div class='add'>+        BIGNUM_SET_LEN(bigv, len);</div><div class='add'>+        (void)VALGRIND_MAKE_MEM_UNDEFINED((void*)big-&gt;as.ary, sizeof(big-&gt;as.ary));</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        big-&gt;as.heap.digits = ALLOC_N(BDIGIT, len);</div><div class='add'>+        big-&gt;as.heap.len = len;</div><div class='add'>+    }</div><div class='add'>+    OBJ_FREEZE(bigv);</div><div class='add'>+    return bigv;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_big_new(size_t len, int sign)</div><div class='add'>+{</div><div class='add'>+    return bignew(len, sign != 0);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_big_clone(VALUE x)</div><div class='add'>+{</div><div class='add'>+    size_t len = BIGNUM_LEN(x);</div><div class='add'>+    VALUE z = bignew_1(CLASS_OF(x), len, BIGNUM_SIGN(x));</div><div class='add'>+</div><div class='add'>+    MEMCPY(BDIGITS(z), BDIGITS(x), BDIGIT, len);</div><div class='add'>+    return z;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+big_extend_carry(VALUE x)</div><div class='add'>+{</div><div class='add'>+    rb_big_resize(x, BIGNUM_LEN(x)+1);</div><div class='add'>+    BDIGITS(x)[BIGNUM_LEN(x)-1] = 1;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/* modify a bignum by 2's complement */</div><div class='add'>+static void</div><div class='add'>+get2comp(VALUE x)</div><div class='add'>+{</div><div class='add'>+    long i = BIGNUM_LEN(x);</div><div class='add'>+    BDIGIT *ds = BDIGITS(x);</div><div class='add'>+</div><div class='add'>+    if (bary_2comp(ds, i)) {</div><div class='add'>+        big_extend_carry(x);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+rb_big_2comp(VALUE x)			/* get 2's complement */</div><div class='add'>+{</div><div class='add'>+    get2comp(x);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static BDIGIT</div><div class='add'>+abs2twocomp(VALUE *xp, long *n_ret)</div><div class='add'>+{</div><div class='add'>+    VALUE x = *xp;</div><div class='add'>+    long n = BIGNUM_LEN(x);</div><div class='add'>+    BDIGIT *ds = BDIGITS(x);</div><div class='add'>+    BDIGIT hibits = 0;</div><div class='add'>+</div><div class='add'>+    BARY_TRUNC(ds, n);</div><div class='add'>+</div><div class='add'>+    if (n != 0 &amp;&amp; BIGNUM_NEGATIVE_P(x)) {</div><div class='add'>+        VALUE z = bignew_1(CLASS_OF(x), n, 0);</div><div class='add'>+        MEMCPY(BDIGITS(z), ds, BDIGIT, n);</div><div class='add'>+        bary_2comp(BDIGITS(z), n);</div><div class='add'>+        hibits = BDIGMAX;</div><div class='add'>+	*xp = z;</div><div class='add'>+    }</div><div class='add'>+    *n_ret = n;</div><div class='add'>+    return hibits;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+twocomp2abs_bang(VALUE x, int hibits)</div><div class='add'>+{</div><div class='add'>+    BIGNUM_SET_SIGN(x, !hibits);</div><div class='add'>+    if (hibits) {</div><div class='add'>+        get2comp(x);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static inline VALUE</div><div class='add'>+bigtrunc(VALUE x)</div><div class='add'>+{</div><div class='add'>+    size_t len = BIGNUM_LEN(x);</div><div class='add'>+    BDIGIT *ds = BDIGITS(x);</div><div class='add'>+</div><div class='add'>+    if (len == 0) return x;</div><div class='add'>+    while (--len &amp;&amp; !ds[len]);</div><div class='add'>+    if (BIGNUM_LEN(x) &gt; len+1) {</div><div class='add'>+	rb_big_resize(x, len+1);</div><div class='add'>+    }</div><div class='add'>+    return x;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static inline VALUE</div><div class='add'>+bigfixize(VALUE x)</div><div class='add'>+{</div><div class='add'>+    size_t n = BIGNUM_LEN(x);</div><div class='add'>+    BDIGIT *ds = BDIGITS(x);</div><div class='add'>+#if SIZEOF_BDIGIT &lt; SIZEOF_LONG</div><div class='add'>+    unsigned long u;</div><div class='add'>+#else</div><div class='add'>+    BDIGIT u;</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+    BARY_TRUNC(ds, n);</div><div class='add'>+</div><div class='add'>+    if (n == 0) return INT2FIX(0);</div><div class='add'>+</div><div class='add'>+#if SIZEOF_BDIGIT &lt; SIZEOF_LONG</div><div class='add'>+    if (sizeof(long)/SIZEOF_BDIGIT &lt; n)</div><div class='add'>+        goto return_big;</div><div class='add'>+    else {</div><div class='add'>+        int i = (int)n;</div><div class='add'>+        u = 0;</div><div class='add'>+        while (i--) {</div><div class='add'>+            u = (unsigned long)(BIGUP(u) + ds[i]);</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+#else /* SIZEOF_BDIGIT &gt;= SIZEOF_LONG */</div><div class='add'>+    if (1 &lt; n)</div><div class='add'>+        goto return_big;</div><div class='add'>+    else</div><div class='add'>+        u = ds[0];</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+    if (BIGNUM_POSITIVE_P(x)) {</div><div class='add'>+        if (POSFIXABLE(u)) return LONG2FIX((long)u);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        if (u &lt;= -FIXNUM_MIN) return LONG2FIX(-(long)u);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+  return_big:</div><div class='add'>+    rb_big_resize(x, n);</div><div class='add'>+    return x;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+bignorm(VALUE x)</div><div class='add'>+{</div><div class='add'>+    if (RB_BIGNUM_TYPE_P(x)) {</div><div class='add'>+	x = bigfixize(x);</div><div class='add'>+    }</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(x)</div><div class='del'>-    VALUE x;</div><div class='add'>+rb_big_norm(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(n)</div><div class='del'>-    unsigned long n;</div><div class='add'>+rb_uint2big(uintptr_t n)</div><div class='ctx'> {</div><div class='del'>-    unsigned int i = 0;</div><div class='del'>-    USHORT *digits;</div><div class='del'>-    VALUE big;</div><div class='add'>+    long i;</div><div class='add'>+    VALUE big = bignew(bdigit_roomof(SIZEOF_VALUE), 1);</div><div class='add'>+    BDIGIT *digits = BDIGITS(big);</div><div class='ctx'> </div><div class='del'>-    i = 0;</div><div class='del'>-    big = bignew(DIGSPERINT, 1);</div><div class='del'>-    digits = BDIGITS(big);</div><div class='del'>-    while (i &lt; DIGSPERINT) {</div><div class='del'>-	digits[i++] = BIGLO(n);</div><div class='add'>+#if SIZEOF_BDIGIT &gt;= SIZEOF_VALUE</div><div class='add'>+    digits[0] = n;</div><div class='add'>+#else</div><div class='add'>+    for (i = 0; i &lt; bdigit_roomof(SIZEOF_VALUE); i++) {</div><div class='add'>+	digits[i] = BIGLO(n);</div><div class='ctx'> 	n = BIGDN(n);</div><div class='ctx'>     }</div><div class='add'>+#endif</div><div class='ctx'> </div><div class='del'>-    i = DIGSPERINT;</div><div class='del'>-    while (i-- &amp;&amp; !digits[i]) ;</div><div class='del'>-    RBIGNUM(big)-&gt;len = i+1;</div><div class='add'>+    i = bdigit_roomof(SIZEOF_VALUE);</div><div class='add'>+    while (--i &amp;&amp; !digits[i]) ;</div><div class='add'>+    BIGNUM_SET_LEN(big, 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(n)</div><div class='del'>-    long n;</div><div class='add'>+rb_int2big(intptr_t n)</div><div class='ctx'> {</div><div class='ctx'>     long neg = 0;</div><div class='add'>+    VALUE u;</div><div class='ctx'>     VALUE big;</div><div class='ctx'> </div><div class='ctx'>     if (n &lt; 0) {</div><div class='del'>-	n = -n;</div><div class='add'>+        u = 1 + (VALUE)(-(n + 1)); /* u = -n avoiding overflow */</div><div class='ctx'> 	neg = 1;</div><div class='ctx'>     }</div><div class='del'>-    big = rb_uint2big(n);</div><div class='add'>+    else {</div><div class='add'>+        u = n;</div><div class='add'>+    }</div><div class='add'>+    big = rb_uint2big(u);</div><div class='ctx'>     if (neg) {</div><div class='del'>-	RBIGNUM(big)-&gt;sign = 0;</div><div class='add'>+	BIGNUM_SET_NEGATIVE_SIGN(big);</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(n)</div><div class='del'>-    unsigned long n;</div><div class='add'>+rb_uint2inum(uintptr_t n)</div><div class='ctx'> {</div><div class='del'>-    if (POSFIXABLE(n)) return INT2FIX(n);</div><div class='add'>+    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(n)</div><div class='del'>-    long n;</div><div class='add'>+rb_int2inum(intptr_t n)</div><div class='ctx'> {</div><div class='del'>-    if (FIXABLE(n)) return INT2FIX(n);</div><div class='add'>+    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='add'>+void</div><div class='add'>+rb_big_pack(VALUE val, unsigned long *buf, long num_longs)</div><div class='add'>+{</div><div class='add'>+    rb_integer_pack(val, buf, num_longs, sizeof(long), 0,</div><div class='add'>+            INTEGER_PACK_LSWORD_FIRST|INTEGER_PACK_NATIVE_BYTE_ORDER|</div><div class='add'>+            INTEGER_PACK_2COMP);</div><div class='add'>+}</div><div class='add'>+</div><div class='ctx'> VALUE</div><div class='del'>-rb_str2inum(str, base)</div><div class='del'>-    const char *str;</div><div class='del'>-    int base;</div><div class='add'>+rb_big_unpack(unsigned long *buf, long num_longs)</div><div class='ctx'> {</div><div class='del'>-    char sign = 1, c;</div><div class='del'>-    unsigned long num;</div><div class='del'>-    long len, blen = 1;</div><div class='del'>-    long i;</div><div class='del'>-    VALUE z;</div><div class='del'>-    USHORT *zds;</div><div class='add'>+    return rb_integer_unpack(buf, num_longs, sizeof(long), 0,</div><div class='add'>+            INTEGER_PACK_LSWORD_FIRST|INTEGER_PACK_NATIVE_BYTE_ORDER|</div><div class='add'>+            INTEGER_PACK_2COMP);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * Calculate the number of bytes to be required to represent</div><div class='add'>+ * the absolute value of the integer given as _val_.</div><div class='add'>+ *</div><div class='add'>+ * [val] an integer.</div><div class='add'>+ * [nlz_bits_ret] number of leading zero bits in the most significant byte is returned if not NULL.</div><div class='add'>+ *</div><div class='add'>+ * This function returns ((val_numbits * CHAR_BIT + CHAR_BIT - 1) / CHAR_BIT)</div><div class='add'>+ * where val_numbits is the number of bits of abs(val).</div><div class='add'>+ * This function should not overflow.</div><div class='add'>+ *</div><div class='add'>+ * If nlz_bits_ret is not NULL,</div><div class='add'>+ * (return_value * CHAR_BIT - val_numbits) is stored in *nlz_bits_ret.</div><div class='add'>+ * In this case, 0 &lt;= *nlz_bits_ret &lt; CHAR_BIT.</div><div class='add'>+ *</div><div class='add'>+ */</div><div class='add'>+size_t</div><div class='add'>+rb_absint_size(VALUE val, int *nlz_bits_ret)</div><div class='add'>+{</div><div class='add'>+    BDIGIT *dp;</div><div class='add'>+    BDIGIT *de;</div><div class='add'>+    BDIGIT fixbuf[bdigit_roomof(sizeof(long))];</div><div class='add'>+</div><div class='add'>+    int num_leading_zeros;</div><div class='add'>+</div><div class='add'>+    val = rb_to_int(val);</div><div class='add'>+</div><div class='add'>+    if (FIXNUM_P(val)) {</div><div class='add'>+        long v = FIX2LONG(val);</div><div class='add'>+        if (v &lt; 0) {</div><div class='add'>+            v = -v;</div><div class='add'>+        }</div><div class='add'>+#if SIZEOF_BDIGIT &gt;= SIZEOF_LONG</div><div class='add'>+        fixbuf[0] = v;</div><div class='add'>+#else</div><div class='add'>+        {</div><div class='add'>+            int i;</div><div class='add'>+            for (i = 0; i &lt; numberof(fixbuf); i++) {</div><div class='add'>+                fixbuf[i] = BIGLO(v);</div><div class='add'>+                v = BIGDN(v);</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+#endif</div><div class='add'>+        dp = fixbuf;</div><div class='add'>+        de = fixbuf + numberof(fixbuf);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        dp = BDIGITS(val);</div><div class='add'>+        de = dp + BIGNUM_LEN(val);</div><div class='add'>+    }</div><div class='add'>+    while (dp &lt; de &amp;&amp; de[-1] == 0)</div><div class='add'>+        de--;</div><div class='add'>+    if (dp == de) {</div><div class='add'>+        if (nlz_bits_ret)</div><div class='add'>+            *nlz_bits_ret = 0;</div><div class='add'>+        return 0;</div><div class='add'>+    }</div><div class='add'>+    num_leading_zeros = nlz(de[-1]);</div><div class='add'>+    if (nlz_bits_ret)</div><div class='add'>+        *nlz_bits_ret = num_leading_zeros % CHAR_BIT;</div><div class='add'>+    return (de - dp) * SIZEOF_BDIGIT - num_leading_zeros / CHAR_BIT;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static size_t</div><div class='add'>+absint_numwords_small(size_t numbytes, int nlz_bits_in_msbyte, size_t word_numbits, size_t *nlz_bits_ret)</div><div class='add'>+{</div><div class='add'>+    size_t val_numbits = numbytes * CHAR_BIT - nlz_bits_in_msbyte;</div><div class='add'>+    size_t div = val_numbits / word_numbits;</div><div class='add'>+    size_t mod = val_numbits % word_numbits;</div><div class='add'>+    size_t numwords;</div><div class='add'>+    size_t nlz_bits;</div><div class='add'>+    numwords = mod == 0 ? div : div + 1;</div><div class='add'>+    nlz_bits = mod == 0 ? 0 : word_numbits - mod;</div><div class='add'>+    *nlz_bits_ret = nlz_bits;</div><div class='add'>+    return numwords;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static size_t</div><div class='add'>+absint_numwords_generic(size_t numbytes, int nlz_bits_in_msbyte, size_t word_numbits, size_t *nlz_bits_ret)</div><div class='add'>+{</div><div class='add'>+    static const BDIGIT char_bit[1] = { CHAR_BIT };</div><div class='add'>+    BDIGIT numbytes_bary[bdigit_roomof(sizeof(numbytes))];</div><div class='add'>+    BDIGIT val_numbits_bary[bdigit_roomof(sizeof(numbytes) + 1)];</div><div class='add'>+    BDIGIT nlz_bits_in_msbyte_bary[1];</div><div class='add'>+    BDIGIT word_numbits_bary[bdigit_roomof(sizeof(word_numbits))];</div><div class='add'>+    BDIGIT div_bary[numberof(val_numbits_bary) + BIGDIVREM_EXTRA_WORDS];</div><div class='add'>+    BDIGIT mod_bary[numberof(word_numbits_bary)];</div><div class='add'>+    BDIGIT one[1] = { 1 };</div><div class='add'>+    size_t nlz_bits;</div><div class='add'>+    size_t mod;</div><div class='add'>+    int sign;</div><div class='add'>+    size_t numwords;</div><div class='add'>+</div><div class='add'>+    nlz_bits_in_msbyte_bary[0] = nlz_bits_in_msbyte;</div><div class='add'>+</div><div class='add'>+    /*</div><div class='add'>+     * val_numbits = numbytes * CHAR_BIT - nlz_bits_in_msbyte</div><div class='add'>+     * div, mod = val_numbits.divmod(word_numbits)</div><div class='add'>+     * numwords = mod == 0 ? div : div + 1</div><div class='add'>+     * nlz_bits = mod == 0 ? 0 : word_numbits - mod</div><div class='add'>+     */</div><div class='add'>+</div><div class='add'>+    bary_unpack(BARY_ARGS(numbytes_bary), &amp;numbytes, 1, sizeof(numbytes), 0,</div><div class='add'>+        INTEGER_PACK_NATIVE_BYTE_ORDER);</div><div class='add'>+    BARY_SHORT_MUL(val_numbits_bary, numbytes_bary, char_bit);</div><div class='add'>+    if (nlz_bits_in_msbyte)</div><div class='add'>+        BARY_SUB(val_numbits_bary, val_numbits_bary, nlz_bits_in_msbyte_bary);</div><div class='add'>+    bary_unpack(BARY_ARGS(word_numbits_bary), &amp;word_numbits, 1, sizeof(word_numbits), 0,</div><div class='add'>+        INTEGER_PACK_NATIVE_BYTE_ORDER);</div><div class='add'>+    BARY_DIVMOD(div_bary, mod_bary, val_numbits_bary, word_numbits_bary);</div><div class='add'>+    if (BARY_ZERO_P(mod_bary)) {</div><div class='add'>+        nlz_bits = 0;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        BARY_ADD(div_bary, div_bary, one);</div><div class='add'>+        bary_pack(+1, BARY_ARGS(mod_bary), &amp;mod, 1, sizeof(mod), 0,</div><div class='add'>+            INTEGER_PACK_NATIVE_BYTE_ORDER);</div><div class='add'>+        nlz_bits = word_numbits - mod;</div><div class='add'>+    }</div><div class='add'>+    sign = bary_pack(+1, BARY_ARGS(div_bary), &amp;numwords, 1, sizeof(numwords), 0,</div><div class='add'>+        INTEGER_PACK_NATIVE_BYTE_ORDER);</div><div class='add'>+</div><div class='add'>+    if (sign == 2) {</div><div class='add'>+#if defined __GNUC__ &amp;&amp; (__GNUC__ == 4 &amp;&amp; __GNUC_MINOR__ == 4)</div><div class='add'>+	*nlz_bits_ret = 0;</div><div class='add'>+#endif</div><div class='add'>+        return (size_t)-1;</div><div class='add'>+    }</div><div class='add'>+    *nlz_bits_ret = nlz_bits;</div><div class='add'>+    return numwords;</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-    while (ISSPACE(*str)) str++;</div><div class='add'>+/*</div><div class='add'>+ * Calculate the number of words to be required to represent</div><div class='add'>+ * the absolute value of the integer given as _val_.</div><div class='add'>+ *</div><div class='add'>+ * [val] an integer.</div><div class='add'>+ * [word_numbits] number of bits in a word.</div><div class='add'>+ * [nlz_bits_ret] number of leading zero bits in the most significant word is returned if not NULL.</div><div class='add'>+ *</div><div class='add'>+ * This function returns ((val_numbits * CHAR_BIT + word_numbits - 1) / word_numbits)</div><div class='add'>+ * where val_numbits is the number of bits of abs(val).</div><div class='add'>+ *</div><div class='add'>+ * This function can overflow.</div><div class='add'>+ * When overflow occur, (size_t)-1 is returned.</div><div class='add'>+ *</div><div class='add'>+ * If nlz_bits_ret is not NULL and overflow is not occur,</div><div class='add'>+ * (return_value * word_numbits - val_numbits) is stored in *nlz_bits_ret.</div><div class='add'>+ * In this case, 0 &lt;= *nlz_bits_ret &lt; word_numbits.</div><div class='add'>+ *</div><div class='add'>+ */</div><div class='add'>+size_t</div><div class='add'>+rb_absint_numwords(VALUE val, size_t word_numbits, size_t *nlz_bits_ret)</div><div class='add'>+{</div><div class='add'>+    size_t numbytes;</div><div class='add'>+    int nlz_bits_in_msbyte;</div><div class='add'>+    size_t numwords;</div><div class='add'>+    size_t nlz_bits = 0;</div><div class='add'>+</div><div class='add'>+    if (word_numbits == 0)</div><div class='add'>+        return (size_t)-1;</div><div class='add'>+</div><div class='add'>+    numbytes = rb_absint_size(val, &amp;nlz_bits_in_msbyte);</div><div class='add'>+</div><div class='add'>+    if (numbytes &lt;= SIZE_MAX / CHAR_BIT) {</div><div class='add'>+        numwords = absint_numwords_small(numbytes, nlz_bits_in_msbyte, word_numbits, &amp;nlz_bits);</div><div class='add'>+#ifdef DEBUG_INTEGER_PACK</div><div class='add'>+        {</div><div class='add'>+            size_t numwords0, nlz_bits0;</div><div class='add'>+            numwords0 = absint_numwords_generic(numbytes, nlz_bits_in_msbyte, word_numbits, &amp;nlz_bits0);</div><div class='add'>+            assert(numwords0 == numwords);</div><div class='add'>+            assert(nlz_bits0 == nlz_bits);</div><div class='add'>+        }</div><div class='add'>+#endif</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        numwords = absint_numwords_generic(numbytes, nlz_bits_in_msbyte, word_numbits, &amp;nlz_bits);</div><div class='add'>+    }</div><div class='add'>+    if (numwords == (size_t)-1)</div><div class='add'>+        return numwords;</div><div class='add'>+</div><div class='add'>+    if (nlz_bits_ret)</div><div class='add'>+        *nlz_bits_ret = nlz_bits;</div><div class='add'>+</div><div class='add'>+    return numwords;</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-    if (*str == '+') {</div><div class='del'>-	str++;</div><div class='add'>+/* Test abs(val) consists only a bit or not.</div><div class='add'>+ *</div><div class='add'>+ * Returns 1 if abs(val) == 1 &lt;&lt; n for some n &gt;= 0.</div><div class='add'>+ * Returns 0 otherwise.</div><div class='add'>+ *</div><div class='add'>+ * rb_absint_singlebit_p can be used to determine required buffer size</div><div class='add'>+ * for rb_integer_pack used with INTEGER_PACK_2COMP (two's complement).</div><div class='add'>+ *</div><div class='add'>+ * Following example calculates number of bits required to</div><div class='add'>+ * represent val in two's complement number, without sign bit.</div><div class='add'>+ *</div><div class='add'>+ *   size_t size;</div><div class='add'>+ *   int neg = FIXNUM_P(val) ? FIX2LONG(val) &lt; 0 : BIGNUM_NEGATIVE_P(val);</div><div class='add'>+ *   size = rb_absint_numwords(val, 1, NULL)</div><div class='add'>+ *   if (size == (size_t)-1) ...overflow...</div><div class='add'>+ *   if (neg &amp;&amp; rb_absint_singlebit_p(val))</div><div class='add'>+ *     size--;</div><div class='add'>+ *</div><div class='add'>+ * Following example calculates number of bytes required to</div><div class='add'>+ * represent val in two's complement number, with sign bit.</div><div class='add'>+ *</div><div class='add'>+ *   size_t size;</div><div class='add'>+ *   int neg = FIXNUM_P(val) ? FIX2LONG(val) &lt; 0 : BIGNUM_NEGATIVE_P(val);</div><div class='add'>+ *   int nlz_bits;</div><div class='add'>+ *   size = rb_absint_size(val, &amp;nlz_bits);</div><div class='add'>+ *   if (nlz_bits == 0 &amp;&amp; !(neg &amp;&amp; rb_absint_singlebit_p(val)))</div><div class='add'>+ *     size++;</div><div class='add'>+ */</div><div class='add'>+int</div><div class='add'>+rb_absint_singlebit_p(VALUE val)</div><div class='add'>+{</div><div class='add'>+    BDIGIT *dp;</div><div class='add'>+    BDIGIT *de;</div><div class='add'>+    BDIGIT fixbuf[bdigit_roomof(sizeof(long))];</div><div class='add'>+    BDIGIT d;</div><div class='add'>+</div><div class='add'>+    val = rb_to_int(val);</div><div class='add'>+</div><div class='add'>+    if (FIXNUM_P(val)) {</div><div class='add'>+        long v = FIX2LONG(val);</div><div class='add'>+        if (v &lt; 0) {</div><div class='add'>+            v = -v;</div><div class='add'>+        }</div><div class='add'>+#if SIZEOF_BDIGIT &gt;= SIZEOF_LONG</div><div class='add'>+        fixbuf[0] = v;</div><div class='add'>+#else</div><div class='add'>+        {</div><div class='add'>+            int i;</div><div class='add'>+            for (i = 0; i &lt; numberof(fixbuf); i++) {</div><div class='add'>+                fixbuf[i] = BIGLO(v);</div><div class='add'>+                v = BIGDN(v);</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+#endif</div><div class='add'>+        dp = fixbuf;</div><div class='add'>+        de = fixbuf + numberof(fixbuf);</div><div class='ctx'>     }</div><div class='del'>-    else if (*str == '-') {</div><div class='del'>-	str++;</div><div class='del'>-	sign = 0;</div><div class='add'>+    else {</div><div class='add'>+        dp = BDIGITS(val);</div><div class='add'>+        de = dp + BIGNUM_LEN(val);</div><div class='ctx'>     }</div><div class='del'>-    if (base == 0) {</div><div class='del'>-	if (*str == '0') {</div><div class='add'>+    while (dp &lt; de &amp;&amp; de[-1] == 0)</div><div class='add'>+        de--;</div><div class='add'>+    while (dp &lt; de &amp;&amp; dp[0] == 0)</div><div class='add'>+        dp++;</div><div class='add'>+    if (dp == de) /* no bit set. */</div><div class='add'>+        return 0;</div><div class='add'>+    if (dp != de-1) /* two non-zero words. two bits set, at least. */</div><div class='add'>+        return 0;</div><div class='add'>+    d = *dp;</div><div class='add'>+    return POW2_P(d);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * Export an integer into a buffer.</div><div class='add'>+ *</div><div class='add'>+ * This function fills the buffer specified by _words_ and _numwords_ as</div><div class='add'>+ * val in the format specified by _wordsize_, _nails_ and _flags_.</div><div class='add'>+ *</div><div class='add'>+ * [val] Fixnum, Bignum or another integer like object which has to_int method.</div><div class='add'>+ * [words] buffer to export abs(val).</div><div class='add'>+ * [numwords] the size of given buffer as number of words.</div><div class='add'>+ * [wordsize] the size of word as number of bytes.</div><div class='add'>+ * [nails] number of padding bits in a word.</div><div class='add'>+ *   Most significant nails bits of each word are filled by zero.</div><div class='add'>+ * [flags] bitwise or of constants which name starts "INTEGER_PACK_".</div><div class='add'>+ *</div><div class='add'>+ * flags:</div><div class='add'>+ * [INTEGER_PACK_MSWORD_FIRST] Store the most significant word as the first word.</div><div class='add'>+ * [INTEGER_PACK_LSWORD_FIRST] Store the least significant word as the first word.</div><div class='add'>+ * [INTEGER_PACK_MSBYTE_FIRST] Store the most significant byte in a word as the first byte in the word.</div><div class='add'>+ * [INTEGER_PACK_LSBYTE_FIRST] Store the least significant byte in a word as the first byte in the word.</div><div class='add'>+ * [INTEGER_PACK_NATIVE_BYTE_ORDER] INTEGER_PACK_MSBYTE_FIRST or INTEGER_PACK_LSBYTE_FIRST corresponding to the host's endian.</div><div class='add'>+ * [INTEGER_PACK_2COMP] Use 2's complement representation.</div><div class='add'>+ * [INTEGER_PACK_LITTLE_ENDIAN] Same as INTEGER_PACK_LSWORD_FIRST|INTEGER_PACK_LSBYTE_FIRST</div><div class='add'>+ * [INTEGER_PACK_BIG_ENDIAN] Same as INTEGER_PACK_MSWORD_FIRST|INTEGER_PACK_MSBYTE_FIRST</div><div class='add'>+ * [INTEGER_PACK_FORCE_GENERIC_IMPLEMENTATION] Use generic implementation (for test and debug).</div><div class='add'>+ *</div><div class='add'>+ * This function fills the buffer specified by _words_</div><div class='add'>+ * as abs(val) if INTEGER_PACK_2COMP is not specified in _flags_.</div><div class='add'>+ * If INTEGER_PACK_2COMP is specified, 2's complement representation of val is</div><div class='add'>+ * filled in the buffer.</div><div class='add'>+ *</div><div class='add'>+ * This function returns the signedness and overflow condition.</div><div class='add'>+ * The overflow condition depends on INTEGER_PACK_2COMP.</div><div class='add'>+ *</div><div class='add'>+ * INTEGER_PACK_2COMP is not specified:</div><div class='add'>+ *   -2 : negative overflow.  val &lt;= -2**(numwords*(wordsize*CHAR_BIT-nails))</div><div class='add'>+ *   -1 : negative without overflow.  -2**(numwords*(wordsize*CHAR_BIT-nails)) &lt; val &lt; 0</div><div class='add'>+ *   0 : zero.  val == 0</div><div class='add'>+ *   1 : positive without overflow.  0 &lt; val &lt; 2**(numwords*(wordsize*CHAR_BIT-nails))</div><div class='add'>+ *   2 : positive overflow.  2**(numwords*(wordsize*CHAR_BIT-nails)) &lt;= val</div><div class='add'>+ *</div><div class='add'>+ * INTEGER_PACK_2COMP is specified:</div><div class='add'>+ *   -2 : negative overflow.  val &lt; -2**(numwords*(wordsize*CHAR_BIT-nails))</div><div class='add'>+ *   -1 : negative without overflow.  -2**(numwords*(wordsize*CHAR_BIT-nails)) &lt;= val &lt; 0</div><div class='add'>+ *   0 : zero.  val == 0</div><div class='add'>+ *   1 : positive without overflow.  0 &lt; val &lt; 2**(numwords*(wordsize*CHAR_BIT-nails))</div><div class='add'>+ *   2 : positive overflow.  2**(numwords*(wordsize*CHAR_BIT-nails)) &lt;= val</div><div class='add'>+ *</div><div class='add'>+ * The value, -2**(numwords*(wordsize*CHAR_BIT-nails)), is representable</div><div class='add'>+ * in 2's complement representation but not representable in absolute value.</div><div class='add'>+ * So -1 is returned for the value if INTEGER_PACK_2COMP is specified</div><div class='add'>+ * but returns -2 if INTEGER_PACK_2COMP is not specified.</div><div class='add'>+ *</div><div class='add'>+ * The least significant words are filled in the buffer when overflow occur.</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+int</div><div class='add'>+rb_integer_pack(VALUE val, void *words, size_t numwords, size_t wordsize, size_t nails, int flags)</div><div class='add'>+{</div><div class='add'>+    int sign;</div><div class='add'>+    BDIGIT *ds;</div><div class='add'>+    size_t num_bdigits;</div><div class='add'>+    BDIGIT fixbuf[bdigit_roomof(sizeof(long))];</div><div class='add'>+</div><div class='add'>+    RB_GC_GUARD(val) = rb_to_int(val);</div><div class='add'>+</div><div class='add'>+    if (FIXNUM_P(val)) {</div><div class='add'>+        long v = FIX2LONG(val);</div><div class='add'>+        if (v &lt; 0) {</div><div class='add'>+            sign = -1;</div><div class='add'>+            v = -v;</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            sign = 1;</div><div class='add'>+        }</div><div class='add'>+#if SIZEOF_BDIGIT &gt;= SIZEOF_LONG</div><div class='add'>+        fixbuf[0] = v;</div><div class='add'>+#else</div><div class='add'>+        {</div><div class='add'>+            int i;</div><div class='add'>+            for (i = 0; i &lt; numberof(fixbuf); i++) {</div><div class='add'>+                fixbuf[i] = BIGLO(v);</div><div class='add'>+                v = BIGDN(v);</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+#endif</div><div class='add'>+        ds = fixbuf;</div><div class='add'>+        num_bdigits = numberof(fixbuf);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        sign = BIGNUM_POSITIVE_P(val) ? 1 : -1;</div><div class='add'>+        ds = BDIGITS(val);</div><div class='add'>+        num_bdigits = BIGNUM_LEN(val);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return bary_pack(sign, ds, num_bdigits, words, numwords, wordsize, nails, flags);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * Import an integer from a buffer.</div><div class='add'>+ *</div><div class='add'>+ * [words] buffer to import.</div><div class='add'>+ * [numwords] the size of given buffer as number of words.</div><div class='add'>+ * [wordsize] the size of word as number of bytes.</div><div class='add'>+ * [nails] number of padding bits in a word.</div><div class='add'>+ *   Most significant nails bits of each word are ignored.</div><div class='add'>+ * [flags] bitwise or of constants which name starts "INTEGER_PACK_".</div><div class='add'>+ *</div><div class='add'>+ * flags:</div><div class='add'>+ * [INTEGER_PACK_MSWORD_FIRST] Interpret the first word as the most significant word.</div><div class='add'>+ * [INTEGER_PACK_LSWORD_FIRST] Interpret the first word as the least significant word.</div><div class='add'>+ * [INTEGER_PACK_MSBYTE_FIRST] Interpret the first byte in a word as the most significant byte in the word.</div><div class='add'>+ * [INTEGER_PACK_LSBYTE_FIRST] Interpret the first byte in a word as the least significant byte in the word.</div><div class='add'>+ * [INTEGER_PACK_NATIVE_BYTE_ORDER] INTEGER_PACK_MSBYTE_FIRST or INTEGER_PACK_LSBYTE_FIRST corresponding to the host's endian.</div><div class='add'>+ * [INTEGER_PACK_2COMP] Use 2's complement representation.</div><div class='add'>+ * [INTEGER_PACK_LITTLE_ENDIAN] Same as INTEGER_PACK_LSWORD_FIRST|INTEGER_PACK_LSBYTE_FIRST</div><div class='add'>+ * [INTEGER_PACK_BIG_ENDIAN] Same as INTEGER_PACK_MSWORD_FIRST|INTEGER_PACK_MSBYTE_FIRST</div><div class='add'>+ * [INTEGER_PACK_FORCE_BIGNUM] the result will be a Bignum</div><div class='add'>+ *   even if it is representable as a Fixnum.</div><div class='add'>+ * [INTEGER_PACK_NEGATIVE] Returns non-positive value.</div><div class='add'>+ *   (Returns non-negative value if not specified.)</div><div class='add'>+ * [INTEGER_PACK_FORCE_GENERIC_IMPLEMENTATION] Use generic implementation (for test and debug).</div><div class='add'>+ *</div><div class='add'>+ * This function returns the imported integer as Fixnum or Bignum.</div><div class='add'>+ *</div><div class='add'>+ * The range of the result value depends on INTEGER_PACK_2COMP and INTEGER_PACK_NEGATIVE.</div><div class='add'>+ *</div><div class='add'>+ * INTEGER_PACK_2COMP is not set:</div><div class='add'>+ *   0 &lt;= val &lt; 2**(numwords*(wordsize*CHAR_BIT-nails)) if !INTEGER_PACK_NEGATIVE</div><div class='add'>+ *   -2**(numwords*(wordsize*CHAR_BIT-nails)) &lt; val &lt;= 0 if INTEGER_PACK_NEGATIVE</div><div class='add'>+ *</div><div class='add'>+ * INTEGER_PACK_2COMP is set:</div><div class='add'>+ *   -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='add'>+ *   -2**(numwords*(wordsize*CHAR_BIT-nails)) &lt;= val &lt;= -1 if INTEGER_PACK_NEGATIVE</div><div class='add'>+ *</div><div class='add'>+ * INTEGER_PACK_2COMP without INTEGER_PACK_NEGATIVE means sign extension.</div><div class='add'>+ * INTEGER_PACK_2COMP with INTEGER_PACK_NEGATIVE mean assuming the higher bits are 1.</div><div class='add'>+ *</div><div class='add'>+ * Note that this function returns 0 when numwords is zero and</div><div class='add'>+ * INTEGER_PACK_2COMP is set but INTEGER_PACK_NEGATIVE is not set.</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_integer_unpack(const void *words, size_t numwords, size_t wordsize, size_t nails, int flags)</div><div class='add'>+{</div><div class='add'>+    VALUE val;</div><div class='add'>+    size_t num_bdigits;</div><div class='add'>+    int sign;</div><div class='add'>+    int nlp_bits;</div><div class='add'>+    BDIGIT *ds;</div><div class='add'>+    BDIGIT fixbuf[2] = { 0, 0 };</div><div class='add'>+</div><div class='add'>+    validate_integer_pack_format(numwords, wordsize, nails, flags,</div><div class='add'>+            INTEGER_PACK_MSWORD_FIRST|</div><div class='add'>+            INTEGER_PACK_LSWORD_FIRST|</div><div class='add'>+            INTEGER_PACK_MSBYTE_FIRST|</div><div class='add'>+            INTEGER_PACK_LSBYTE_FIRST|</div><div class='add'>+            INTEGER_PACK_NATIVE_BYTE_ORDER|</div><div class='add'>+            INTEGER_PACK_2COMP|</div><div class='add'>+            INTEGER_PACK_FORCE_BIGNUM|</div><div class='add'>+            INTEGER_PACK_NEGATIVE|</div><div class='add'>+            INTEGER_PACK_FORCE_GENERIC_IMPLEMENTATION);</div><div class='add'>+</div><div class='add'>+    num_bdigits = integer_unpack_num_bdigits(numwords, wordsize, nails, &amp;nlp_bits);</div><div class='add'>+</div><div class='add'>+    if (LONG_MAX-1 &lt; num_bdigits)</div><div class='add'>+        rb_raise(rb_eArgError, "too big to unpack as an integer");</div><div class='add'>+    if (num_bdigits &lt;= numberof(fixbuf) &amp;&amp; !(flags &amp; INTEGER_PACK_FORCE_BIGNUM)) {</div><div class='add'>+        val = Qfalse;</div><div class='add'>+        ds = fixbuf;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        val = bignew((long)num_bdigits, 0);</div><div class='add'>+        ds = BDIGITS(val);</div><div class='add'>+    }</div><div class='add'>+    sign = bary_unpack_internal(ds, num_bdigits, words, numwords, wordsize, nails, flags, nlp_bits);</div><div class='add'>+</div><div class='add'>+    if (sign == -2) {</div><div class='add'>+        if (val) {</div><div class='add'>+            big_extend_carry(val);</div><div class='add'>+        }</div><div class='add'>+        else if (num_bdigits == numberof(fixbuf)) {</div><div class='add'>+            val = bignew((long)num_bdigits+1, 0);</div><div class='add'>+	    MEMCPY(BDIGITS(val), fixbuf, BDIGIT, num_bdigits);</div><div class='add'>+            BDIGITS(val)[num_bdigits++] = 1;</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            ds[num_bdigits++] = 1;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (!val) {</div><div class='add'>+        BDIGIT_DBL u = fixbuf[0] + BIGUP(fixbuf[1]);</div><div class='add'>+        if (u == 0)</div><div class='add'>+            return LONG2FIX(0);</div><div class='add'>+	if (0 &lt; sign &amp;&amp; POSFIXABLE(u))</div><div class='add'>+            return LONG2FIX(u);</div><div class='add'>+	if (sign &lt; 0 &amp;&amp; BDIGIT_MSB(fixbuf[1]) == 0 &amp;&amp;</div><div class='add'>+                NEGFIXABLE(-(BDIGIT_DBL_SIGNED)u))</div><div class='add'>+            return LONG2FIX(-(BDIGIT_DBL_SIGNED)u);</div><div class='add'>+        val = bignew((long)num_bdigits, 0 &lt;= sign);</div><div class='add'>+        MEMCPY(BDIGITS(val), fixbuf, BDIGIT, num_bdigits);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if ((flags &amp; INTEGER_PACK_FORCE_BIGNUM) &amp;&amp; sign != 0 &amp;&amp;</div><div class='add'>+        bary_zero_p(BDIGITS(val), BIGNUM_LEN(val)))</div><div class='add'>+        sign = 0;</div><div class='add'>+    BIGNUM_SET_SIGN(val, 0 &lt;= sign);</div><div class='add'>+</div><div class='add'>+    if (flags &amp; INTEGER_PACK_FORCE_BIGNUM)</div><div class='add'>+        return bigtrunc(val);</div><div class='add'>+    return bignorm(val);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#define conv_digit(c) (ruby_digit36_to_number_table[(unsigned char)(c)])</div><div class='add'>+</div><div class='add'>+NORETURN(static inline void invalid_radix(int base));</div><div class='add'>+NORETURN(static inline void invalid_integer(VALUE s));</div><div class='add'>+</div><div class='add'>+static inline int</div><div class='add'>+valid_radix_p(int base)</div><div class='add'>+{</div><div class='add'>+    return (1 &lt; base &amp;&amp; base &lt;= 36);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static inline void</div><div class='add'>+invalid_radix(int base)</div><div class='add'>+{</div><div class='add'>+    rb_raise(rb_eArgError, "invalid radix %d", base);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static inline void</div><div class='add'>+invalid_integer(VALUE s)</div><div class='add'>+{</div><div class='add'>+    rb_raise(rb_eArgError, "invalid value for Integer(): %+"PRIsVALUE, s);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+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='add'>+{</div><div class='add'>+    char nondigit = 0;</div><div class='add'>+    size_t num_digits = 0;</div><div class='add'>+    const char *digits_start = str;</div><div class='add'>+    const char *digits_end = str;</div><div class='add'>+    ssize_t len = *len_p;</div><div class='add'>+</div><div class='add'>+    int c;</div><div class='add'>+</div><div class='add'>+    if (!len) {</div><div class='add'>+	*num_digits_p = 0;</div><div class='add'>+	*len_p = 0;</div><div class='add'>+	return TRUE;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (badcheck &amp;&amp; *str == '_') return FALSE;</div><div class='add'>+</div><div class='add'>+    while ((c = *str++) != 0) {</div><div class='add'>+	if (c == '_') {</div><div class='add'>+	    if (nondigit) {</div><div class='add'>+                if (badcheck) return FALSE;</div><div class='add'>+		break;</div><div class='add'>+	    }</div><div class='add'>+	    nondigit = (char) c;</div><div class='add'>+	}</div><div class='add'>+	else if ((c = conv_digit(c)) &lt; 0 || c &gt;= base) {</div><div class='add'>+	    break;</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    nondigit = 0;</div><div class='add'>+	    num_digits++;</div><div class='add'>+	    digits_end = str;</div><div class='add'>+	}</div><div class='add'>+	if (len &gt; 0 &amp;&amp; !--len) break;</div><div class='add'>+    }</div><div class='add'>+    if (badcheck &amp;&amp; nondigit) return FALSE;</div><div class='add'>+    if (badcheck &amp;&amp; len) {</div><div class='add'>+	str--;</div><div class='add'>+	while (*str &amp;&amp; ISSPACE(*str)) {</div><div class='ctx'> 	    str++;</div><div class='del'>-	    if (*str == 'x' || *str == 'X') {</div><div class='del'>-		str++;</div><div class='add'>+	    if (len &gt; 0 &amp;&amp; !--len) break;</div><div class='add'>+	}</div><div class='add'>+	if (len &amp;&amp; *str) {</div><div class='add'>+	    return FALSE;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    *num_digits_p = num_digits;</div><div class='add'>+    *len_p = digits_end - digits_start;</div><div class='add'>+    return TRUE;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+str2big_poweroftwo(</div><div class='add'>+    int sign,</div><div class='add'>+    const char *digits_start,</div><div class='add'>+    const char *digits_end,</div><div class='add'>+    size_t num_digits,</div><div class='add'>+    int bits_per_digit)</div><div class='add'>+{</div><div class='add'>+    BDIGIT *dp;</div><div class='add'>+    BDIGIT_DBL dd;</div><div class='add'>+    int numbits;</div><div class='add'>+</div><div class='add'>+    size_t num_bdigits;</div><div class='add'>+    const char *p;</div><div class='add'>+    int c;</div><div class='add'>+    VALUE z;</div><div class='add'>+</div><div class='add'>+    num_bdigits = (num_digits / BITSPERDIG) * bits_per_digit + roomof((num_digits % BITSPERDIG) * bits_per_digit, BITSPERDIG);</div><div class='add'>+    z = bignew(num_bdigits, sign);</div><div class='add'>+    dp = BDIGITS(z);</div><div class='add'>+    dd = 0;</div><div class='add'>+    numbits = 0;</div><div class='add'>+    for (p = digits_end; digits_start &lt; p; p--) {</div><div class='add'>+        if ((c = conv_digit(p[-1])) &lt; 0)</div><div class='add'>+            continue;</div><div class='add'>+        dd |= (BDIGIT_DBL)c &lt;&lt; numbits;</div><div class='add'>+        numbits += bits_per_digit;</div><div class='add'>+        if (BITSPERDIG &lt;= numbits) {</div><div class='add'>+            *dp++ = BIGLO(dd);</div><div class='add'>+            dd = BIGDN(dd);</div><div class='add'>+            numbits -= BITSPERDIG;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    if (numbits) {</div><div class='add'>+        *dp++ = BIGLO(dd);</div><div class='add'>+    }</div><div class='add'>+    assert((size_t)(dp - BDIGITS(z)) == num_bdigits);</div><div class='add'>+</div><div class='add'>+    return z;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+str2big_normal(</div><div class='add'>+    int sign,</div><div class='add'>+    const char *digits_start,</div><div class='add'>+    const char *digits_end,</div><div class='add'>+    size_t num_bdigits,</div><div class='add'>+    int base)</div><div class='add'>+{</div><div class='add'>+    size_t blen = 1;</div><div class='add'>+    BDIGIT *zds;</div><div class='add'>+    BDIGIT_DBL num;</div><div class='add'>+</div><div class='add'>+    size_t i;</div><div class='add'>+    const char *p;</div><div class='add'>+    int c;</div><div class='add'>+    VALUE z;</div><div class='add'>+</div><div class='add'>+    z = bignew(num_bdigits, sign);</div><div class='add'>+    zds = BDIGITS(z);</div><div class='add'>+    BDIGITS_ZERO(zds, num_bdigits);</div><div class='add'>+</div><div class='add'>+    for (p = digits_start; p &lt; digits_end; p++) {</div><div class='add'>+        if ((c = conv_digit(*p)) &lt; 0)</div><div class='add'>+            continue;</div><div class='add'>+        num = c;</div><div class='add'>+        i = 0;</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='add'>+        assert(blen &lt;= num_bdigits);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return z;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+str2big_karatsuba(</div><div class='add'>+    int sign,</div><div class='add'>+    const char *digits_start,</div><div class='add'>+    const char *digits_end,</div><div class='add'>+    size_t num_digits,</div><div class='add'>+    size_t num_bdigits,</div><div class='add'>+    int digits_per_bdigits_dbl,</div><div class='add'>+    int base)</div><div class='add'>+{</div><div class='add'>+    VALUE powerv;</div><div class='add'>+    size_t unit;</div><div class='add'>+    VALUE tmpuv = 0;</div><div class='add'>+    BDIGIT *uds, *vds, *tds;</div><div class='add'>+    BDIGIT_DBL dd;</div><div class='add'>+    BDIGIT_DBL current_base;</div><div class='add'>+    int m;</div><div class='add'>+    int power_level = 0;</div><div class='add'>+</div><div class='add'>+    size_t i;</div><div class='add'>+    const char *p;</div><div class='add'>+    int c;</div><div class='add'>+    VALUE z;</div><div class='add'>+</div><div class='add'>+    uds = ALLOCV_N(BDIGIT, tmpuv, 2*num_bdigits);</div><div class='add'>+    vds = uds + num_bdigits;</div><div class='add'>+</div><div class='add'>+    powerv = power_cache_get_power(base, power_level, NULL);</div><div class='add'>+</div><div class='add'>+    i = 0;</div><div class='add'>+    dd = 0;</div><div class='add'>+    current_base = 1;</div><div class='add'>+    m = digits_per_bdigits_dbl;</div><div class='add'>+    if (num_digits &lt; (size_t)m)</div><div class='add'>+        m = (int)num_digits;</div><div class='add'>+    for (p = digits_end; digits_start &lt; p; p--) {</div><div class='add'>+        if ((c = conv_digit(p[-1])) &lt; 0)</div><div class='add'>+            continue;</div><div class='add'>+        dd = dd + c * current_base;</div><div class='add'>+        current_base *= base;</div><div class='add'>+        num_digits--;</div><div class='add'>+        m--;</div><div class='add'>+        if (m == 0) {</div><div class='add'>+            uds[i++] = BIGLO(dd);</div><div class='add'>+            uds[i++] = (BDIGIT)BIGDN(dd);</div><div class='add'>+            dd = 0;</div><div class='add'>+            m = digits_per_bdigits_dbl;</div><div class='add'>+            if (num_digits &lt; (size_t)m)</div><div class='add'>+                m = (int)num_digits;</div><div class='add'>+            current_base = 1;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    assert(i == num_bdigits);</div><div class='add'>+    for (unit = 2; unit &lt; num_bdigits; unit *= 2) {</div><div class='add'>+        for (i = 0; i &lt; num_bdigits; i += unit*2) {</div><div class='add'>+            if (2*unit &lt;= num_bdigits - i) {</div><div class='add'>+                bary_mul(vds+i, unit*2, BDIGITS(powerv), BIGNUM_LEN(powerv), uds+i+unit, unit);</div><div class='add'>+                bary_add(vds+i, unit*2, vds+i, unit*2, uds+i, unit);</div><div class='add'>+            }</div><div class='add'>+            else if (unit &lt;= num_bdigits - i) {</div><div class='add'>+                bary_mul(vds+i, num_bdigits-i, BDIGITS(powerv), BIGNUM_LEN(powerv), uds+i+unit, num_bdigits-(i+unit));</div><div class='add'>+                bary_add(vds+i, num_bdigits-i, vds+i, num_bdigits-i, uds+i, unit);</div><div class='add'>+            }</div><div class='add'>+            else {</div><div class='add'>+                MEMCPY(vds+i, uds+i, BDIGIT, num_bdigits-i);</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+        power_level++;</div><div class='add'>+        powerv = power_cache_get_power(base, power_level, NULL);</div><div class='add'>+        tds = vds;</div><div class='add'>+        vds = uds;</div><div class='add'>+        uds = tds;</div><div class='add'>+    }</div><div class='add'>+    BARY_TRUNC(uds, num_bdigits);</div><div class='add'>+    z = bignew(num_bdigits, sign);</div><div class='add'>+    MEMCPY(BDIGITS(z), uds, BDIGIT, num_bdigits);</div><div class='add'>+</div><div class='add'>+    if (tmpuv)</div><div class='add'>+        ALLOCV_END(tmpuv);</div><div class='add'>+</div><div class='add'>+    return z;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#ifdef USE_GMP</div><div class='add'>+static VALUE</div><div class='add'>+str2big_gmp(</div><div class='add'>+    int sign,</div><div class='add'>+    const char *digits_start,</div><div class='add'>+    const char *digits_end,</div><div class='add'>+    size_t num_digits,</div><div class='add'>+    size_t num_bdigits,</div><div class='add'>+    int base)</div><div class='add'>+{</div><div class='add'>+    char *buf, *p;</div><div class='add'>+    const char *q;</div><div class='add'>+    VALUE tmps;</div><div class='add'>+    mpz_t mz;</div><div class='add'>+    VALUE z;</div><div class='add'>+    BDIGIT *zds;</div><div class='add'>+    size_t zn, count;</div><div class='add'>+</div><div class='add'>+    buf = ALLOCV_N(char, tmps, num_digits+1);</div><div class='add'>+    p = buf;</div><div class='add'>+    for (q = digits_start; q &lt; digits_end; q++) {</div><div class='add'>+        if (conv_digit(*q) &lt; 0)</div><div class='add'>+            continue;</div><div class='add'>+        *p++ = *q;</div><div class='add'>+    }</div><div class='add'>+    *p = '\0';</div><div class='add'>+</div><div class='add'>+    mpz_init(mz);</div><div class='add'>+    mpz_set_str(mz, buf, base);</div><div class='add'>+    zn = num_bdigits;</div><div class='add'>+    z = bignew(zn, sign);</div><div class='add'>+    zds = BDIGITS(z);</div><div class='add'>+    bdigits_from_mpz(mz, BDIGITS(z), &amp;count);</div><div class='add'>+    BDIGITS_ZERO(zds+count, zn-count);</div><div class='add'>+    mpz_clear(mz);</div><div class='add'>+</div><div class='add'>+    if (tmps)</div><div class='add'>+        ALLOCV_END(tmps);</div><div class='add'>+</div><div class='add'>+    return z;</div><div class='add'>+}</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+static VALUE rb_cstr_parse_inum(const char *str, ssize_t len, char **endp, int base);</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * Parse +str+ as Ruby Integer, i.e., underscores, 0d and 0b prefixes.</div><div class='add'>+ *</div><div class='add'>+ * str:      pointer to the string to be parsed.</div><div class='add'>+ *	     should be NUL-terminated.</div><div class='add'>+ * base:     base of conversion, must be 2..36, or -36..0.</div><div class='add'>+ *           if +base+ &gt; 0, the conversion is done according to the +base+</div><div class='add'>+ *           and unmatched prefix is parsed as a part of the result if</div><div class='add'>+ *           present.</div><div class='add'>+ *           if +base+ &lt;= 0, the conversion is done according to the</div><div class='add'>+ *           prefix if present, in base &lt;code&gt;-base&lt;/code&gt; if +base+ &lt; -1,</div><div class='add'>+ *           or in base 10.</div><div class='add'>+ * badcheck: if non-zero, +ArgumentError+ is raised when +str+ is not</div><div class='add'>+ *           valid as an Integer.  if zero, Fixnum 0 is returned in</div><div class='add'>+ *           that case.</div><div class='add'>+ */</div><div class='add'>+VALUE</div><div class='add'>+rb_cstr_to_inum(const char *str, int base, int badcheck)</div><div class='add'>+{</div><div class='add'>+    char *end;</div><div class='add'>+    VALUE ret = rb_cstr_parse_inum(str, -1, (badcheck ? NULL : &amp;end), base);</div><div class='add'>+    if (NIL_P(ret)) {</div><div class='add'>+	if (badcheck) rb_invalid_str(str, "Integer()");</div><div class='add'>+	ret = INT2FIX(0);</div><div class='add'>+    }</div><div class='add'>+    return ret;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * Parse +str+ as Ruby Integer, i.e., underscores, 0d and 0b prefixes.</div><div class='add'>+ *</div><div class='add'>+ * str:  pointer to the string to be parsed.</div><div class='add'>+ *       should be NUL-terminated if +len+ is negative.</div><div class='add'>+ * len:  length of +str+ if &gt;= 0.  if +len+ is negative, +str+ should</div><div class='add'>+ *       be NUL-terminated.</div><div class='add'>+ * endp: if non-NULL, the address after parsed part is stored.  if</div><div class='add'>+ *       NULL, Qnil is returned when +str+ is not valid as an Integer.</div><div class='add'>+ * ndigits: if non-NULL, the number of parsed digits is stored.</div><div class='add'>+ * base: see +rb_cstr_to_inum+</div><div class='add'>+ * flags: bitwise OR of below flags:</div><div class='add'>+ *       RB_INT_PARSE_SIGN: allow preceding spaces and +/- sign</div><div class='add'>+ *       RB_INT_PARSE_UNDERSCORE: allow an underscore between digits</div><div class='add'>+ *       RB_INT_PARSE_PREFIX: allow preceding prefix</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_int_parse_cstr(const char *str, ssize_t len, char **endp, size_t *ndigits,</div><div class='add'>+		  int base, int flags)</div><div class='add'>+{</div><div class='add'>+    const char *const s = str;</div><div class='add'>+    char sign = 1;</div><div class='add'>+    int c;</div><div class='add'>+    VALUE z = Qnil;</div><div class='add'>+</div><div class='add'>+    unsigned long val;</div><div class='add'>+    int ov;</div><div class='add'>+</div><div class='add'>+    const char *digits_start, *digits_end;</div><div class='add'>+    size_t num_digits = 0;</div><div class='add'>+    size_t num_bdigits;</div><div class='add'>+    const ssize_t len0 = len;</div><div class='add'>+    const int badcheck = !endp;</div><div class='add'>+</div><div class='add'>+#define ADV(n) do {\</div><div class='add'>+	if (len &gt; 0 &amp;&amp; len &lt;= (n)) goto bad; \</div><div class='add'>+	str += (n); \</div><div class='add'>+	len -= (n); \</div><div class='add'>+    } while (0)</div><div class='add'>+#define ASSERT_LEN() do {\</div><div class='add'>+	assert(len != 0); \</div><div class='add'>+	if (len0 &gt;= 0) assert(s + len0 == str + len); \</div><div class='add'>+    } while (0)</div><div class='add'>+</div><div class='add'>+    if (!str) {</div><div class='add'>+        goto bad;</div><div class='add'>+    }</div><div class='add'>+    if (len &amp;&amp; (flags &amp; RB_INT_PARSE_SIGN)) {</div><div class='add'>+	while (ISSPACE(*str)) ADV(1);</div><div class='add'>+</div><div class='add'>+	if (str[0] == '+') {</div><div class='add'>+	    ADV(1);</div><div class='add'>+	}</div><div class='add'>+	else if (str[0] == '-') {</div><div class='add'>+	    ADV(1);</div><div class='add'>+	    sign = 0;</div><div class='add'>+	}</div><div class='add'>+	ASSERT_LEN();</div><div class='add'>+    }</div><div class='add'>+    if (base &lt;= 0) {</div><div class='add'>+	if (str[0] == '0' &amp;&amp; len &gt; 1) {</div><div class='add'>+	    switch (str[1]) {</div><div class='add'>+	      case 'x': case 'X':</div><div class='ctx'> 		base = 16;</div><div class='del'>-	    }</div><div class='del'>-	    else if (*str == 'b' || *str == 'B') {</div><div class='del'>-		str++;</div><div class='add'>+		ADV(2);</div><div class='add'>+		break;</div><div class='add'>+	      case 'b': case 'B':</div><div class='ctx'> 		base = 2;</div><div class='del'>-	    }</div><div class='del'>-	    else {</div><div class='add'>+		ADV(2);</div><div class='add'>+		break;</div><div class='add'>+	      case 'o': case 'O':</div><div class='add'>+		base = 8;</div><div class='add'>+		ADV(2);</div><div class='add'>+		break;</div><div class='add'>+	      case 'd': case 'D':</div><div class='add'>+		base = 10;</div><div class='add'>+		ADV(2);</div><div class='add'>+		break;</div><div class='add'>+	      default:</div><div class='ctx'> 		base = 8;</div><div class='ctx'> 	    }</div><div class='del'>-	    if (*str == '\0') return INT2FIX(0);</div><div class='add'>+	}</div><div class='add'>+	else if (base &lt; -1) {</div><div class='add'>+	    base = -base;</div><div class='ctx'> 	}</div><div class='ctx'> 	else {</div><div class='ctx'> 	    base = 10;</div><div class='ctx'> 	}</div><div class='ctx'>     }</div><div class='del'>-    if (base == 8) {</div><div class='del'>-	while (str[0] == '0') str++;</div><div class='del'>-	len = 3*strlen(str)*sizeof(char);</div><div class='add'>+    else if (len == 1 || !(flags &amp; RB_INT_PARSE_PREFIX)) {</div><div class='add'>+	/* no prefix */</div><div class='add'>+    }</div><div class='add'>+    else if (base == 2) {</div><div class='add'>+	if (str[0] == '0' &amp;&amp; (str[1] == 'b'||str[1] == 'B')) {</div><div class='add'>+	    ADV(2);</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    else if (base == 8) {</div><div class='add'>+	if (str[0] == '0' &amp;&amp; (str[1] == 'o'||str[1] == 'O')) {</div><div class='add'>+	    ADV(2);</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    else if (base == 10) {</div><div class='add'>+	if (str[0] == '0' &amp;&amp; (str[1] == 'd'||str[1] == 'D')) {</div><div class='add'>+	    ADV(2);</div><div class='add'>+	}</div><div class='ctx'>     }</div><div class='del'>-    else {			/* base == 10, 2 or 16 */</div><div class='del'>-	if (base == 16 &amp;&amp; str[0] == '0' &amp;&amp; (str[1] == 'x'||str[1] == 'X')) {</div><div class='del'>-	    str += 2;</div><div class='add'>+    else if (base == 16) {</div><div class='add'>+	if (str[0] == '0' &amp;&amp; (str[1] == 'x'||str[1] == 'X')) {</div><div class='add'>+	    ADV(2);</div><div class='ctx'> 	}</div><div class='del'>-	if (base == 2 &amp;&amp; str[0] == '0' &amp;&amp; (str[1] == 'b'||str[1] == 'B')) {</div><div class='del'>-	    str += 2;</div><div class='add'>+    }</div><div class='add'>+    if (!valid_radix_p(base)) {</div><div class='add'>+        invalid_radix(base);</div><div class='add'>+    }</div><div class='add'>+    if (!len) goto bad;</div><div class='add'>+    num_digits = str - s;</div><div class='add'>+    if (*str == '0' &amp;&amp; len != 1) { /* squeeze preceding 0s */</div><div class='add'>+	int us = 0;</div><div class='add'>+	const char *end = len &lt; 0 ? NULL : str + len;</div><div class='add'>+	++num_digits;</div><div class='add'>+	while ((c = *++str) == '0' ||</div><div class='add'>+	       ((flags &amp; RB_INT_PARSE_UNDERSCORE) &amp;&amp; c == '_')) {</div><div class='add'>+	    if (c == '_') {</div><div class='add'>+		if (++us &gt;= 2)</div><div class='add'>+		    break;</div><div class='add'>+	    }</div><div class='add'>+	    else {</div><div class='add'>+		++num_digits;</div><div class='add'>+		us = 0;</div><div class='add'>+	    }</div><div class='add'>+	    if (str == end) break;</div><div class='ctx'> 	}</div><div class='del'>-	while (str[0] == '0') str++;</div><div class='del'>-	len = 4*strlen(str)*sizeof(char);</div><div class='add'>+	if (!c || ISSPACE(c)) --str;</div><div class='add'>+	if (end) len = end - str;</div><div class='add'>+	ASSERT_LEN();</div><div class='add'>+    }</div><div class='add'>+    c = *str;</div><div class='add'>+    c = conv_digit(c);</div><div class='add'>+    if (c &lt; 0 || c &gt;= base) {</div><div class='add'>+	if (!badcheck &amp;&amp; num_digits) z = INT2FIX(0);</div><div class='add'>+	goto bad;</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='del'>-    if (len &lt;= (sizeof(VALUE)*CHAR_BIT)) {</div><div class='del'>-	unsigned long val = strtoul((char*)str, 0, base);</div><div class='add'>+    if (ndigits) *ndigits = num_digits;</div><div class='add'>+    val = ruby_scan_digits(str, len, base, &amp;num_digits, &amp;ov);</div><div class='add'>+    if (!ov) {</div><div class='add'>+	const char *end = &amp;str[num_digits];</div><div class='add'>+	if (num_digits &gt; 0 &amp;&amp; *end == '_' &amp;&amp; (flags &amp; RB_INT_PARSE_UNDERSCORE))</div><div class='add'>+	    goto bigparse;</div><div class='add'>+	if (endp) *endp = (char *)end;</div><div class='add'>+	if (ndigits) *ndigits += num_digits;</div><div class='add'>+	if (badcheck) {</div><div class='add'>+	    if (num_digits == 0) return Qnil; /* no number */</div><div class='add'>+	    while (len &lt; 0 ? *end : end &lt; str + len) {</div><div class='add'>+		if (!ISSPACE(*end)) return Qnil; /* trailing garbage */</div><div class='add'>+		end++;</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='ctx'> </div><div class='ctx'> 	if (POSFIXABLE(val)) {</div><div class='del'>-	    if (sign) return INT2FIX(val);</div><div class='add'>+	    if (sign) return LONG2FIX(val);</div><div class='ctx'> 	    else {</div><div class='ctx'> 		long result = -(long)val;</div><div class='del'>-		return INT2FIX(result);</div><div class='add'>+		return LONG2FIX(result);</div><div class='ctx'> 	    }</div><div class='ctx'> 	}</div><div class='ctx'> 	else {</div><div class='ctx'> 	    VALUE big = rb_uint2big(val);</div><div class='del'>-	    RBIGNUM(big)-&gt;sign = sign;</div><div class='del'>-	    return big;</div><div class='add'>+	    BIGNUM_SET_SIGN(big, sign);</div><div class='add'>+	    return bignorm(big);</div><div class='ctx'> 	}</div><div class='ctx'>     }</div><div class='del'>-    len = (len/BITSPERDIG)+1;</div><div class='ctx'> </div><div class='del'>-    z = bignew(len, sign);</div><div class='del'>-    zds = BDIGITS(z);</div><div class='del'>-    for (i=len;i--;) zds[i]=0;</div><div class='del'>-    while (c = *str++) {</div><div class='del'>-	switch (c) {</div><div class='del'>-	  case '0': 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'>-	    c = c - '0';</div><div class='del'>-	    break;</div><div class='del'>-	  case 'a': case 'b': case 'c':</div><div class='del'>-	  case 'd': case 'e': case 'f':</div><div class='del'>-	    c = c - 'a' + 10;</div><div class='del'>-	    break;</div><div class='del'>-	  case 'A': case 'B': case 'C':</div><div class='del'>-	  case 'D': case 'E': case 'F':</div><div class='del'>-	    c = c - 'A' + 10;</div><div class='del'>-	    break;</div><div class='del'>-	  default:</div><div class='del'>-	    c = base;</div><div class='del'>-	    break;</div><div class='del'>-	}</div><div class='del'>-	if (c &gt;= base) break;</div><div class='del'>-	i = 0;</div><div class='del'>-	num = c;</div><div class='del'>-	for (;;) {</div><div class='del'>-	    while (i&lt;blen) {</div><div class='del'>-		num += 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='add'>+  bigparse:</div><div class='add'>+    digits_start = str;</div><div class='add'>+    if (!str2big_scan_digits(s, str, base, badcheck, &amp;num_digits, &amp;len))</div><div class='add'>+	goto bad;</div><div class='add'>+    if (endp) *endp = (char *)(str + len);</div><div class='add'>+    if (ndigits) *ndigits += num_digits;</div><div class='add'>+    digits_end = digits_start + len;</div><div class='add'>+</div><div class='add'>+    if (POW2_P(base)) {</div><div class='add'>+        z = str2big_poweroftwo(sign, digits_start, digits_end, num_digits,</div><div class='add'>+			       bit_length(base-1));</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        int digits_per_bdigits_dbl;</div><div class='add'>+        maxpow_in_bdigit_dbl(base, &amp;digits_per_bdigits_dbl);</div><div class='add'>+        num_bdigits = roomof(num_digits, digits_per_bdigits_dbl)*2;</div><div class='add'>+</div><div class='add'>+#ifdef USE_GMP</div><div class='add'>+        if (GMP_STR2BIG_DIGITS &lt; num_bdigits) {</div><div class='add'>+            z = str2big_gmp(sign, digits_start, digits_end, num_digits,</div><div class='add'>+                    num_bdigits, base);</div><div class='add'>+        }</div><div class='add'>+        else</div><div class='add'>+#endif</div><div class='add'>+        if (num_bdigits &lt; KARATSUBA_MUL_DIGITS) {</div><div class='add'>+            z = str2big_normal(sign, digits_start, digits_end,</div><div class='add'>+                    num_bdigits, base);</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            z = str2big_karatsuba(sign, digits_start, digits_end, num_digits,</div><div class='add'>+                    num_bdigits, digits_per_bdigits_dbl, base);</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return bignorm(z);</div><div class='add'>+</div><div class='add'>+  bad:</div><div class='add'>+    if (endp) *endp = (char *)str;</div><div class='add'>+    if (ndigits) *ndigits = num_digits;</div><div class='add'>+    return z;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_cstr_parse_inum(const char *str, ssize_t len, char **endp, int base)</div><div class='add'>+{</div><div class='add'>+    return rb_int_parse_cstr(str, len, endp, NULL, base,</div><div class='add'>+			     RB_INT_PARSE_DEFAULT);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_str_convert_to_inum(VALUE str, int base, int badcheck, int raise_exception)</div><div class='add'>+{</div><div class='add'>+    VALUE ret;</div><div class='add'>+    const char *s;</div><div class='add'>+    long len;</div><div class='add'>+    char *end;</div><div class='add'>+</div><div class='add'>+    StringValue(str);</div><div class='add'>+    rb_must_asciicompat(str);</div><div class='add'>+    RSTRING_GETMEM(str, s, len);</div><div class='add'>+    ret = rb_cstr_parse_inum(s, len, (badcheck ? NULL : &amp;end), base);</div><div class='add'>+    if (NIL_P(ret)) {</div><div class='add'>+        if (badcheck) {</div><div class='add'>+            if (!raise_exception) return Qnil;</div><div class='add'>+            invalid_integer(str);</div><div class='add'>+        }</div><div class='add'>+        ret = INT2FIX(0);</div><div class='ctx'>     }</div><div class='add'>+    return ret;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_str_to_inum(VALUE str, int base, int badcheck)</div><div class='add'>+{</div><div class='add'>+    return rb_str_convert_to_inum(str, base, badcheck, TRUE);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_str2big_poweroftwo(VALUE arg, int base, int badcheck)</div><div class='add'>+{</div><div class='add'>+    int positive_p = 1;</div><div class='add'>+    const char *s, *str;</div><div class='add'>+    const char *digits_start, *digits_end;</div><div class='add'>+    size_t num_digits;</div><div class='add'>+    ssize_t len;</div><div class='add'>+    VALUE z;</div><div class='add'>+</div><div class='add'>+    if (!valid_radix_p(base) || !POW2_P(base)) {</div><div class='add'>+        invalid_radix(base);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    rb_must_asciicompat(arg);</div><div class='add'>+    s = str = StringValueCStr(arg);</div><div class='add'>+    len = RSTRING_LEN(arg);</div><div class='add'>+    if (*str == '-') {</div><div class='add'>+	len--;</div><div class='add'>+        str++;</div><div class='add'>+        positive_p = 0;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    digits_start = str;</div><div class='add'>+    if (!str2big_scan_digits(s, str, base, badcheck, &amp;num_digits, &amp;len))</div><div class='add'>+	invalid_integer(arg);</div><div class='add'>+    digits_end = digits_start + len;</div><div class='add'>+</div><div class='add'>+    z = str2big_poweroftwo(positive_p, digits_start, digits_end, num_digits,</div><div class='add'>+            bit_length(base-1));</div><div class='add'>+</div><div class='add'>+    RB_GC_GUARD(arg);</div><div class='add'>+</div><div class='ctx'>     return bignorm(z);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static char hexmap[] = "0123456789abcdef";</div><div class='ctx'> VALUE</div><div class='del'>-rb_big2str(x, base)</div><div class='del'>-    VALUE x;</div><div class='del'>-    int base;</div><div class='add'>+rb_str2big_normal(VALUE arg, int base, int badcheck)</div><div class='ctx'> {</div><div class='del'>-    VALUE t;</div><div class='del'>-    USHORT *ds;</div><div class='del'>-    unsigned long i, j, hbase;</div><div class='del'>-    VALUE ss;</div><div class='del'>-    char *s, c;</div><div class='add'>+    int positive_p = 1;</div><div class='add'>+    const char *s, *str;</div><div class='add'>+    const char *digits_start, *digits_end;</div><div class='add'>+    size_t num_digits;</div><div class='add'>+    ssize_t len;</div><div class='add'>+    VALUE z;</div><div class='ctx'> </div><div class='del'>-    if (FIXNUM_P(x)) {</div><div class='del'>-	return rb_fix2str(x, base);</div><div class='add'>+    int digits_per_bdigits_dbl;</div><div class='add'>+    size_t num_bdigits;</div><div class='add'>+</div><div class='add'>+    if (!valid_radix_p(base)) {</div><div class='add'>+        invalid_radix(base);</div><div class='ctx'>     }</div><div class='del'>-    i = RBIGNUM(x)-&gt;len;</div><div class='del'>-    if (i == 0) return rb_str_new2("0");</div><div class='del'>-    if (base == 10) {</div><div class='del'>-	j = (sizeof(USHORT)/sizeof(char)*CHAR_BIT*i*241L)/800+2;</div><div class='del'>-	hbase = 10000;</div><div class='add'>+</div><div class='add'>+    rb_must_asciicompat(arg);</div><div class='add'>+    s = str = StringValuePtr(arg);</div><div class='add'>+    len = RSTRING_LEN(arg);</div><div class='add'>+    if (len &gt; 0 &amp;&amp; *str == '-') {</div><div class='add'>+	len--;</div><div class='add'>+        str++;</div><div class='add'>+        positive_p = 0;</div><div class='ctx'>     }</div><div class='del'>-    else if (base == 16) {</div><div class='del'>-	j = (sizeof(USHORT)/sizeof(char)*CHAR_BIT*i)/4+2;</div><div class='del'>-	hbase = 0x10000;</div><div class='add'>+</div><div class='add'>+    digits_start = str;</div><div class='add'>+    if (!str2big_scan_digits(s, str, base, badcheck, &amp;num_digits, &amp;len))</div><div class='add'>+	invalid_integer(arg);</div><div class='add'>+    digits_end = digits_start + len;</div><div class='add'>+</div><div class='add'>+    maxpow_in_bdigit_dbl(base, &amp;digits_per_bdigits_dbl);</div><div class='add'>+    num_bdigits = roomof(num_digits, digits_per_bdigits_dbl)*2;</div><div class='add'>+</div><div class='add'>+    z = str2big_normal(positive_p, digits_start, digits_end,</div><div class='add'>+            num_bdigits, base);</div><div class='add'>+</div><div class='add'>+    RB_GC_GUARD(arg);</div><div class='add'>+</div><div class='add'>+    return bignorm(z);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_str2big_karatsuba(VALUE arg, int base, int badcheck)</div><div class='add'>+{</div><div class='add'>+    int positive_p = 1;</div><div class='add'>+    const char *s, *str;</div><div class='add'>+    const char *digits_start, *digits_end;</div><div class='add'>+    size_t num_digits;</div><div class='add'>+    ssize_t len;</div><div class='add'>+    VALUE z;</div><div class='add'>+</div><div class='add'>+    int digits_per_bdigits_dbl;</div><div class='add'>+    size_t num_bdigits;</div><div class='add'>+</div><div class='add'>+    if (!valid_radix_p(base)) {</div><div class='add'>+        invalid_radix(base);</div><div class='ctx'>     }</div><div class='del'>-    else if (base == 8) {</div><div class='del'>-	j = (sizeof(USHORT)/sizeof(char)*CHAR_BIT*i)+2;</div><div class='del'>-	hbase = 010000;</div><div class='add'>+</div><div class='add'>+    rb_must_asciicompat(arg);</div><div class='add'>+    s = str = StringValuePtr(arg);</div><div class='add'>+    len = RSTRING_LEN(arg);</div><div class='add'>+    if (len &gt; 0 &amp;&amp; *str == '-') {</div><div class='add'>+	len--;</div><div class='add'>+        str++;</div><div class='add'>+        positive_p = 0;</div><div class='ctx'>     }</div><div class='del'>-    else if (base == 2) {</div><div class='del'>-	j = (sizeof(USHORT)*CHAR_BIT*i)+2;</div><div class='del'>-	hbase = 020;</div><div class='add'>+</div><div class='add'>+    digits_start = str;</div><div class='add'>+    if (!str2big_scan_digits(s, str, base, badcheck, &amp;num_digits, &amp;len))</div><div class='add'>+	invalid_integer(arg);</div><div class='add'>+    digits_end = digits_start + len;</div><div class='add'>+</div><div class='add'>+    maxpow_in_bdigit_dbl(base, &amp;digits_per_bdigits_dbl);</div><div class='add'>+    num_bdigits = roomof(num_digits, digits_per_bdigits_dbl)*2;</div><div class='add'>+</div><div class='add'>+    z = str2big_karatsuba(positive_p, digits_start, digits_end, num_digits,</div><div class='add'>+            num_bdigits, digits_per_bdigits_dbl, base);</div><div class='add'>+</div><div class='add'>+    RB_GC_GUARD(arg);</div><div class='add'>+</div><div class='add'>+    return bignorm(z);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#ifdef USE_GMP</div><div class='add'>+VALUE</div><div class='add'>+rb_str2big_gmp(VALUE arg, int base, int badcheck)</div><div class='add'>+{</div><div class='add'>+    int positive_p = 1;</div><div class='add'>+    const char *s, *str;</div><div class='add'>+    const char *digits_start, *digits_end;</div><div class='add'>+    size_t num_digits;</div><div class='add'>+    ssize_t len;</div><div class='add'>+    VALUE z;</div><div class='add'>+</div><div class='add'>+    int digits_per_bdigits_dbl;</div><div class='add'>+    size_t num_bdigits;</div><div class='add'>+</div><div class='add'>+    if (!valid_radix_p(base)) {</div><div class='add'>+        invalid_radix(base);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    rb_must_asciicompat(arg);</div><div class='add'>+    s = str = StringValuePtr(arg);</div><div class='add'>+    len = RSTRING_LEN(arg);</div><div class='add'>+    if (len &gt; 0 &amp;&amp; *str == '-') {</div><div class='add'>+	len--;</div><div class='add'>+        str++;</div><div class='add'>+        positive_p = 0;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    digits_start = str;</div><div class='add'>+    if (!str2big_scan_digits(s, str, base, badcheck, &amp;num_digits, &amp;len))</div><div class='add'>+	invalid_integer(arg);</div><div class='add'>+    digits_end = digits_start + len;</div><div class='add'>+</div><div class='add'>+    maxpow_in_bdigit_dbl(base, &amp;digits_per_bdigits_dbl);</div><div class='add'>+    num_bdigits = roomof(num_digits, digits_per_bdigits_dbl)*2;</div><div class='add'>+</div><div class='add'>+    z = str2big_gmp(positive_p, digits_start, digits_end, num_digits, num_bdigits, base);</div><div class='add'>+</div><div class='add'>+    RB_GC_GUARD(arg);</div><div class='add'>+</div><div class='add'>+    return bignorm(z);</div><div class='add'>+}</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#if HAVE_LONG_LONG</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ull2big(unsigned LONG_LONG n)</div><div class='add'>+{</div><div class='add'>+    long i;</div><div class='add'>+    VALUE big = bignew(bdigit_roomof(SIZEOF_LONG_LONG), 1);</div><div class='add'>+    BDIGIT *digits = BDIGITS(big);</div><div class='add'>+</div><div class='add'>+#if SIZEOF_BDIGIT &gt;= SIZEOF_LONG_LONG</div><div class='add'>+    digits[0] = n;</div><div class='add'>+#else</div><div class='add'>+    for (i = 0; i &lt; bdigit_roomof(SIZEOF_LONG_LONG); i++) {</div><div class='add'>+	digits[i] = BIGLO(n);</div><div class='add'>+	n = BIGDN(n);</div><div class='add'>+    }</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+    i = bdigit_roomof(SIZEOF_LONG_LONG);</div><div class='add'>+    while (i-- &amp;&amp; !digits[i]) ;</div><div class='add'>+    BIGNUM_SET_LEN(big, i+1);</div><div class='add'>+    return big;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_ll2big(LONG_LONG n)</div><div class='add'>+{</div><div class='add'>+    long neg = 0;</div><div class='add'>+    unsigned LONG_LONG u;</div><div class='add'>+    VALUE big;</div><div class='add'>+</div><div class='add'>+    if (n &lt; 0) {</div><div class='add'>+        u = 1 + (unsigned LONG_LONG)(-(n + 1)); /* u = -n avoiding overflow */</div><div class='add'>+	neg = 1;</div><div class='ctx'>     }</div><div class='ctx'>     else {</div><div class='del'>-	j = 0;</div><div class='del'>-	hbase = 0;</div><div class='del'>-	rb_raise(rb_eArgError, "bignum cannot treat base %d", base);</div><div class='add'>+        u = n;</div><div class='ctx'>     }</div><div class='add'>+    big = rb_ull2big(u);</div><div class='add'>+    if (neg) {</div><div class='add'>+	BIGNUM_SET_NEGATIVE_SIGN(big);</div><div class='add'>+    }</div><div class='add'>+    return big;</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-    t = rb_big_clone(x);</div><div class='del'>-    ds = BDIGITS(t);</div><div class='del'>-    ss = rb_str_new(0, j);</div><div class='del'>-    s = RSTRING(ss)-&gt;ptr;</div><div class='add'>+VALUE</div><div class='add'>+rb_ull2inum(unsigned LONG_LONG n)</div><div class='add'>+{</div><div class='add'>+    if (POSFIXABLE(n)) return LONG2FIX(n);</div><div class='add'>+    return rb_ull2big(n);</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-    s[0] = RBIGNUM(x)-&gt;sign ? '+' : '-';</div><div class='del'>-    while (i &amp;&amp; j) {</div><div class='del'>-	long k = i;</div><div class='del'>-	unsigned long num = 0;</div><div class='del'>-	while (k--) {</div><div class='del'>-	    num = BIGUP(num) + ds[k];</div><div class='del'>-	    ds[k] = (USHORT)(num / hbase);</div><div class='del'>-	    num %= hbase;</div><div class='del'>-	}</div><div class='del'>-	if (ds[i-1] == 0) i--;</div><div class='del'>-	k = 4;</div><div class='del'>-	while (k--) {</div><div class='del'>-	    c = (char)(num % base);</div><div class='del'>-	    s[--j] = hexmap[(int)c];</div><div class='del'>-	    num /= base;</div><div class='del'>-	    if (i == 0 &amp;&amp; num == 0) break;</div><div class='add'>+VALUE</div><div class='add'>+rb_ll2inum(LONG_LONG n)</div><div class='add'>+{</div><div class='add'>+    if (FIXABLE(n)) return LONG2FIX(n);</div><div class='add'>+    return rb_ll2big(n);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#endif  /* HAVE_LONG_LONG */</div><div class='add'>+</div><div class='add'>+#ifdef HAVE_INT128_T</div><div class='add'>+static VALUE</div><div class='add'>+rb_uint128t2big(uint128_t n)</div><div class='add'>+{</div><div class='add'>+    long i;</div><div class='add'>+    VALUE big = bignew(bdigit_roomof(SIZEOF_INT128_T), 1);</div><div class='add'>+    BDIGIT *digits = BDIGITS(big);</div><div class='add'>+</div><div class='add'>+    for (i = 0; i &lt; bdigit_roomof(SIZEOF_INT128_T); i++) {</div><div class='add'>+	digits[i] = BIGLO(RSHIFT(n ,BITSPERDIG*i));</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    i = bdigit_roomof(SIZEOF_INT128_T);</div><div class='add'>+    while (i-- &amp;&amp; !digits[i]) ;</div><div class='add'>+    BIGNUM_SET_LEN(big, i+1);</div><div class='add'>+    return big;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+MJIT_FUNC_EXPORTED VALUE</div><div class='add'>+rb_int128t2big(int128_t n)</div><div class='add'>+{</div><div class='add'>+    int neg = 0;</div><div class='add'>+    uint128_t u;</div><div class='add'>+    VALUE big;</div><div class='add'>+</div><div class='add'>+    if (n &lt; 0) {</div><div class='add'>+        u = 1 + (uint128_t)(-(n + 1)); /* u = -n avoiding overflow */</div><div class='add'>+	neg = 1;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        u = n;</div><div class='add'>+    }</div><div class='add'>+    big = rb_uint128t2big(u);</div><div class='add'>+    if (neg) {</div><div class='add'>+	BIGNUM_SET_NEGATIVE_SIGN(big);</div><div class='add'>+    }</div><div class='add'>+    return big;</div><div class='add'>+}</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_cstr2inum(const char *str, int base)</div><div class='add'>+{</div><div class='add'>+    return rb_cstr_to_inum(str, base, base==0);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_str2inum(VALUE str, int base)</div><div class='add'>+{</div><div class='add'>+    return rb_str_to_inum(str, base, base==0);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+big_shift3(VALUE x, int lshift_p, size_t shift_numdigits, int shift_numbits)</div><div class='add'>+{</div><div class='add'>+    BDIGIT *xds, *zds;</div><div class='add'>+    long s1;</div><div class='add'>+    int s2;</div><div class='add'>+    VALUE z;</div><div class='add'>+    long xn;</div><div class='add'>+</div><div class='add'>+    if (lshift_p) {</div><div class='add'>+        if (LONG_MAX &lt; shift_numdigits) {</div><div class='add'>+            rb_raise(rb_eArgError, "too big number");</div><div class='add'>+        }</div><div class='add'>+        s1 = shift_numdigits;</div><div class='add'>+        s2 = shift_numbits;</div><div class='add'>+        xn = BIGNUM_LEN(x);</div><div class='add'>+        z = bignew(xn+s1+1, BIGNUM_SIGN(x));</div><div class='add'>+        zds = BDIGITS(z);</div><div class='add'>+        BDIGITS_ZERO(zds, s1);</div><div class='add'>+        xds = BDIGITS(x);</div><div class='add'>+        zds[xn+s1] = bary_small_lshift(zds+s1, xds, xn, s2);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        long zn;</div><div class='add'>+        BDIGIT hibitsx;</div><div class='add'>+        if (LONG_MAX &lt; shift_numdigits || (size_t)BIGNUM_LEN(x) &lt;= shift_numdigits) {</div><div class='add'>+            if (BIGNUM_POSITIVE_P(x) ||</div><div class='add'>+                bary_zero_p(BDIGITS(x), BIGNUM_LEN(x)))</div><div class='add'>+                return INT2FIX(0);</div><div class='add'>+            else</div><div class='add'>+                return INT2FIX(-1);</div><div class='add'>+        }</div><div class='add'>+        s1 = shift_numdigits;</div><div class='add'>+        s2 = shift_numbits;</div><div class='add'>+        hibitsx = abs2twocomp(&amp;x, &amp;xn);</div><div class='add'>+        xds = BDIGITS(x);</div><div class='add'>+        if (xn &lt;= s1) {</div><div class='add'>+            return hibitsx ? INT2FIX(-1) : INT2FIX(0);</div><div class='add'>+        }</div><div class='add'>+        zn = xn - s1;</div><div class='add'>+        z = bignew(zn, 0);</div><div class='add'>+        zds = BDIGITS(z);</div><div class='add'>+        bary_small_rshift(zds, xds+s1, zn, s2, hibitsx != 0 ? BDIGMAX : 0);</div><div class='add'>+        twocomp2abs_bang(z, hibitsx != 0);</div><div class='add'>+    }</div><div class='add'>+    RB_GC_GUARD(x);</div><div class='add'>+    return z;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+big_shift2(VALUE x, int lshift_p, VALUE y)</div><div class='add'>+{</div><div class='add'>+    int sign;</div><div class='add'>+    size_t lens[2];</div><div class='add'>+    size_t shift_numdigits;</div><div class='add'>+    int shift_numbits;</div><div class='add'>+</div><div class='add'>+    assert(POW2_P(CHAR_BIT));</div><div class='add'>+    assert(POW2_P(BITSPERDIG));</div><div class='add'>+</div><div class='add'>+    if (BIGZEROP(x))</div><div class='add'>+        return INT2FIX(0);</div><div class='add'>+    sign = rb_integer_pack(y, lens, numberof(lens), sizeof(size_t), 0,</div><div class='add'>+        INTEGER_PACK_LSWORD_FIRST|INTEGER_PACK_NATIVE_BYTE_ORDER);</div><div class='add'>+    if (sign &lt; 0) {</div><div class='add'>+        lshift_p = !lshift_p;</div><div class='add'>+        sign = -sign;</div><div class='add'>+    }</div><div class='add'>+    if (lshift_p) {</div><div class='add'>+        if (1 &lt; sign || CHAR_BIT &lt;= lens[1])</div><div class='add'>+            rb_raise(rb_eRangeError, "shift width too big");</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        if (1 &lt; sign || CHAR_BIT &lt;= lens[1])</div><div class='add'>+            return BIGNUM_POSITIVE_P(x) ? INT2FIX(0) : INT2FIX(-1);</div><div class='add'>+    }</div><div class='add'>+    shift_numbits = (int)(lens[0] &amp; (BITSPERDIG-1));</div><div class='add'>+    shift_numdigits = (lens[0] &gt;&gt; bit_length(BITSPERDIG-1)) |</div><div class='add'>+      (lens[1] &lt;&lt; (CHAR_BIT*SIZEOF_SIZE_T - bit_length(BITSPERDIG-1)));</div><div class='add'>+    return big_shift3(x, lshift_p, shift_numdigits, shift_numbits);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+big_lshift(VALUE x, unsigned long shift)</div><div class='add'>+{</div><div class='add'>+    long s1 = shift/BITSPERDIG;</div><div class='add'>+    int s2 = (int)(shift%BITSPERDIG);</div><div class='add'>+    return big_shift3(x, 1, s1, s2);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+big_rshift(VALUE x, unsigned long shift)</div><div class='add'>+{</div><div class='add'>+    long s1 = shift/BITSPERDIG;</div><div class='add'>+    int s2 = (int)(shift%BITSPERDIG);</div><div class='add'>+    return big_shift3(x, 0, s1, s2);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#define MAX_BASE36_POWER_TABLE_ENTRIES (SIZEOF_SIZE_T * CHAR_BIT + 1)</div><div class='add'>+</div><div class='add'>+static VALUE base36_power_cache[35][MAX_BASE36_POWER_TABLE_ENTRIES];</div><div class='add'>+static size_t base36_numdigits_cache[35][MAX_BASE36_POWER_TABLE_ENTRIES];</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+power_cache_init(void)</div><div class='add'>+{</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static inline VALUE</div><div class='add'>+power_cache_get_power(int base, int power_level, size_t *numdigits_ret)</div><div class='add'>+{</div><div class='add'>+    /*</div><div class='add'>+     * MAX_BASE36_POWER_TABLE_ENTRIES is big enough to that</div><div class='add'>+     * base36_power_cache[base][MAX_BASE36_POWER_TABLE_ENTRIES-1] fills whole memory.</div><div class='add'>+     * So MAX_BASE36_POWER_TABLE_ENTRIES &lt;= power_level is not possible to calculate.</div><div class='add'>+     *</div><div class='add'>+     * number-of-bytes =</div><div class='add'>+     * log256(base36_power_cache[base][MAX_BASE36_POWER_TABLE_ENTRIES-1]) =</div><div class='add'>+     * log256(maxpow_in_bdigit_dbl(base)**(2**(MAX_BASE36_POWER_TABLE_ENTRIES-1))) =</div><div class='add'>+     * log256(maxpow_in_bdigit_dbl(base)**(2**(SIZEOF_SIZE_T*CHAR_BIT))) =</div><div class='add'>+     * (2**(SIZEOF_SIZE_T*CHAR_BIT))*log256(maxpow_in_bdigit_dbl(base)) =</div><div class='add'>+     * (256**SIZEOF_SIZE_T)*log256(maxpow_in_bdigit_dbl(base)) &gt;</div><div class='add'>+     * (256**SIZEOF_SIZE_T)*(sizeof(BDIGIT_DBL)-1) &gt;</div><div class='add'>+     * 256**SIZEOF_SIZE_T</div><div class='add'>+     */</div><div class='add'>+    if (MAX_BASE36_POWER_TABLE_ENTRIES &lt;= power_level)</div><div class='add'>+        rb_bug("too big power number requested: maxpow_in_bdigit_dbl(%d)**(2**%d)", base, power_level);</div><div class='add'>+</div><div class='add'>+    VALUE power = base36_power_cache[base - 2][power_level];</div><div class='add'>+    if (!power) {</div><div class='add'>+        size_t numdigits;</div><div class='add'>+        if (power_level == 0) {</div><div class='add'>+            int numdigits0;</div><div class='add'>+            BDIGIT_DBL dd = maxpow_in_bdigit_dbl(base, &amp;numdigits0);</div><div class='add'>+            power = bignew(2, 1);</div><div class='add'>+            bdigitdbl2bary(BDIGITS(power), 2, dd);</div><div class='add'>+            numdigits = numdigits0;</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            power = bigtrunc(bigsq(power_cache_get_power(base, power_level - 1, &amp;numdigits)));</div><div class='add'>+            numdigits *= 2;</div><div class='add'>+        }</div><div class='add'>+        rb_obj_hide(power);</div><div class='add'>+        base36_power_cache[base - 2][power_level] = power;</div><div class='add'>+        base36_numdigits_cache[base - 2][power_level] = numdigits;</div><div class='add'>+	rb_gc_register_mark_object(power);</div><div class='add'>+    }</div><div class='add'>+    if (numdigits_ret)</div><div class='add'>+        *numdigits_ret = base36_numdigits_cache[base - 2][power_level];</div><div class='add'>+    return power;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+struct big2str_struct {</div><div class='add'>+    int negative;</div><div class='add'>+    int base;</div><div class='add'>+    BDIGIT_DBL hbase2;</div><div class='add'>+    int hbase2_numdigits;</div><div class='add'>+    VALUE result;</div><div class='add'>+    char *ptr;</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+big2str_alloc(struct big2str_struct *b2s, size_t len)</div><div class='add'>+{</div><div class='add'>+    if (LONG_MAX-1 &lt; len)</div><div class='add'>+        rb_raise(rb_eArgError, "too big number");</div><div class='add'>+    b2s-&gt;result = rb_usascii_str_new(0, (long)(len + 1)); /* plus one for sign */</div><div class='add'>+    b2s-&gt;ptr = RSTRING_PTR(b2s-&gt;result);</div><div class='add'>+    if (b2s-&gt;negative)</div><div class='add'>+        *b2s-&gt;ptr++ = '-';</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+big2str_2bdigits(struct big2str_struct *b2s, BDIGIT *xds, size_t xn, size_t taillen)</div><div class='add'>+{</div><div class='add'>+    size_t j;</div><div class='add'>+    BDIGIT_DBL num;</div><div class='add'>+    char buf[SIZEOF_BDIGIT_DBL*CHAR_BIT], *p;</div><div class='add'>+    int beginning = !b2s-&gt;ptr;</div><div class='add'>+    size_t len = 0;</div><div class='add'>+</div><div class='add'>+    assert(xn &lt;= 2);</div><div class='add'>+    num = bary2bdigitdbl(xds, xn);</div><div class='add'>+</div><div class='add'>+    if (beginning) {</div><div class='add'>+        if (num == 0)</div><div class='add'>+            return;</div><div class='add'>+        p = buf;</div><div class='add'>+        j = sizeof(buf);</div><div class='add'>+        do {</div><div class='add'>+            BDIGIT_DBL idx = num % b2s-&gt;base;</div><div class='add'>+            num /= b2s-&gt;base;</div><div class='add'>+            p[--j] = ruby_digitmap[idx];</div><div class='add'>+        } while (num);</div><div class='add'>+        len = sizeof(buf) - j;</div><div class='add'>+        big2str_alloc(b2s, len + taillen);</div><div class='add'>+	MEMCPY(b2s-&gt;ptr, buf + j, char, len);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        p = b2s-&gt;ptr;</div><div class='add'>+        j = b2s-&gt;hbase2_numdigits;</div><div class='add'>+        do {</div><div class='add'>+            BDIGIT_DBL idx = num % b2s-&gt;base;</div><div class='add'>+            num /= b2s-&gt;base;</div><div class='add'>+            p[--j] = ruby_digitmap[idx];</div><div class='add'>+        } while (j);</div><div class='add'>+        len = b2s-&gt;hbase2_numdigits;</div><div class='add'>+    }</div><div class='add'>+    b2s-&gt;ptr += len;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+big2str_karatsuba(struct big2str_struct *b2s, BDIGIT *xds, size_t xn, size_t wn,</div><div class='add'>+		  int power_level, size_t taillen)</div><div class='add'>+{</div><div class='add'>+    VALUE b;</div><div class='add'>+    size_t half_numdigits, lower_numdigits;</div><div class='add'>+    int lower_power_level;</div><div class='add'>+    size_t bn;</div><div class='add'>+    const BDIGIT *bds;</div><div class='add'>+    size_t len;</div><div class='add'>+</div><div class='add'>+    /*</div><div class='add'>+     * Precondition:</div><div class='add'>+     * abs(x) &lt; maxpow**(2**power_level)</div><div class='add'>+     * where</div><div class='add'>+     *   maxpow = maxpow_in_bdigit_dbl(base, &amp;numdigits)</div><div class='add'>+     *</div><div class='add'>+     * This function generates sequence of zeros, and then stringized abs(x) into b2s-&gt;ptr.</div><div class='add'>+     *</div><div class='add'>+     * b2s-&gt;ptr can be NULL.</div><div class='add'>+     * It is allocated when the first character is generated via big2str_alloc.</div><div class='add'>+     *</div><div class='add'>+     * The prefix zeros should be generated if and only if b2s-&gt;ptr is not NULL.</div><div class='add'>+     * When the zeros are generated, the zeros and abs(x) consists</div><div class='add'>+     * numdigits*(2**power_level) characters at total.</div><div class='add'>+     *</div><div class='add'>+     * Note:</div><div class='add'>+     * power_cache_get_power(base, power_level, &amp;len) may not be cached yet. It should not be called.</div><div class='add'>+     * power_cache_get_power(base, power_level-1, &amp;len) should be cached already if 0 &lt;= power_level-1.</div><div class='add'>+     */</div><div class='add'>+</div><div class='add'>+    if (xn == 0 || bary_zero_p(xds, xn)) {</div><div class='add'>+	if (b2s-&gt;ptr) {</div><div class='add'>+            /* When x is zero, power_cache_get_power(base, power_level) should be cached already. */</div><div class='add'>+            power_cache_get_power(b2s-&gt;base, power_level, &amp;len);</div><div class='add'>+	    memset(b2s-&gt;ptr, '0', len);</div><div class='add'>+            b2s-&gt;ptr += len;</div><div class='ctx'> 	}</div><div class='add'>+        return;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (power_level == 0) {</div><div class='add'>+	big2str_2bdigits(b2s, xds, xn, taillen);</div><div class='add'>+        return;</div><div class='ctx'>     }</div><div class='del'>-    while (s[j] == '0') j++;</div><div class='del'>-    RSTRING(ss)-&gt;len -= RBIGNUM(x)-&gt;sign?j:j-1;</div><div class='del'>-    memmove(RBIGNUM(x)-&gt;sign?s:s+1, s+j, RSTRING(ss)-&gt;len);</div><div class='del'>-    s[RSTRING(ss)-&gt;len] = '\0';</div><div class='ctx'> </div><div class='del'>-    return ss;</div><div class='add'>+    lower_power_level = power_level-1;</div><div class='add'>+    b = power_cache_get_power(b2s-&gt;base, lower_power_level, &amp;lower_numdigits);</div><div class='add'>+    bn = BIGNUM_LEN(b);</div><div class='add'>+    bds = BDIGITS(b);</div><div class='add'>+</div><div class='add'>+    half_numdigits = lower_numdigits;</div><div class='add'>+</div><div class='add'>+    while (0 &lt; lower_power_level &amp;&amp;</div><div class='add'>+            (xn &lt; bn ||</div><div class='add'>+             (xn == bn &amp;&amp; bary_cmp(xds, xn, bds, bn) &lt; 0))) {</div><div class='add'>+        lower_power_level--;</div><div class='add'>+        b = power_cache_get_power(b2s-&gt;base, lower_power_level, &amp;lower_numdigits);</div><div class='add'>+        bn = BIGNUM_LEN(b);</div><div class='add'>+        bds = BDIGITS(b);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (lower_power_level == 0 &amp;&amp;</div><div class='add'>+            (xn &lt; bn ||</div><div class='add'>+             (xn == bn &amp;&amp; bary_cmp(xds, xn, bds, bn) &lt; 0))) {</div><div class='add'>+        if (b2s-&gt;ptr) {</div><div class='add'>+            len = half_numdigits * 2 - lower_numdigits;</div><div class='add'>+            memset(b2s-&gt;ptr, '0', len);</div><div class='add'>+            b2s-&gt;ptr += len;</div><div class='add'>+        }</div><div class='add'>+	big2str_2bdigits(b2s, xds, xn, taillen);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        BDIGIT *qds, *rds;</div><div class='add'>+        size_t qn, rn;</div><div class='add'>+        BDIGIT *tds;</div><div class='add'>+        int shift;</div><div class='add'>+</div><div class='add'>+        if (lower_power_level != power_level-1 &amp;&amp; b2s-&gt;ptr) {</div><div class='add'>+            len = (half_numdigits - lower_numdigits) * 2;</div><div class='add'>+            memset(b2s-&gt;ptr, '0', len);</div><div class='add'>+            b2s-&gt;ptr += len;</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        shift = nlz(bds[bn-1]);</div><div class='add'>+</div><div class='add'>+        qn = xn + BIGDIVREM_EXTRA_WORDS;</div><div class='add'>+</div><div class='add'>+        if (shift == 0) {</div><div class='add'>+            /* bigdivrem_restoring will not modify y.</div><div class='add'>+             * So use bds directly.  */</div><div class='add'>+            tds = (BDIGIT *)bds;</div><div class='add'>+            xds[xn] = 0;</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            /* bigdivrem_restoring will modify y.</div><div class='add'>+             * So use temporary buffer.  */</div><div class='add'>+            tds = xds + qn;</div><div class='add'>+            assert(qn + bn &lt;= xn + wn);</div><div class='add'>+            bary_small_lshift(tds, bds, bn, shift);</div><div class='add'>+            xds[xn] = bary_small_lshift(xds, xds, xn, shift);</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        bigdivrem_restoring(xds, qn, tds, bn);</div><div class='add'>+</div><div class='add'>+        rds = xds;</div><div class='add'>+        rn = bn;</div><div class='add'>+</div><div class='add'>+        qds = xds + bn;</div><div class='add'>+        qn = qn - bn;</div><div class='add'>+</div><div class='add'>+        if (shift) {</div><div class='add'>+            bary_small_rshift(rds, rds, rn, shift, 0);</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        BARY_TRUNC(qds, qn);</div><div class='add'>+        assert(qn &lt;= bn);</div><div class='add'>+        big2str_karatsuba(b2s, qds, qn, xn+wn - (rn+qn), lower_power_level, lower_numdigits+taillen);</div><div class='add'>+        BARY_TRUNC(rds, rn);</div><div class='add'>+        big2str_karatsuba(b2s, rds, rn, xn+wn - rn, lower_power_level, taillen);</div><div class='add'>+    }</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_big_to_s(x)</div><div class='del'>-    VALUE x;</div><div class='add'>+big2str_base_poweroftwo(VALUE x, int base)</div><div class='ctx'> {</div><div class='del'>-    return rb_big2str(x, 10);</div><div class='add'>+    int word_numbits = ffs(base) - 1;</div><div class='add'>+    size_t numwords;</div><div class='add'>+    VALUE result;</div><div class='add'>+    char *ptr;</div><div class='add'>+    numwords = rb_absint_numwords(x, word_numbits, NULL);</div><div class='add'>+    if (BIGNUM_NEGATIVE_P(x)) {</div><div class='add'>+        if (LONG_MAX-1 &lt; numwords)</div><div class='add'>+            rb_raise(rb_eArgError, "too big number");</div><div class='add'>+        result = rb_usascii_str_new(0, 1+numwords);</div><div class='add'>+        ptr = RSTRING_PTR(result);</div><div class='add'>+        *ptr++ = BIGNUM_POSITIVE_P(x) ? '+' : '-';</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        if (LONG_MAX &lt; numwords)</div><div class='add'>+            rb_raise(rb_eArgError, "too big number");</div><div class='add'>+        result = rb_usascii_str_new(0, numwords);</div><div class='add'>+        ptr = RSTRING_PTR(result);</div><div class='add'>+    }</div><div class='add'>+    rb_integer_pack(x, ptr, numwords, 1, CHAR_BIT-word_numbits,</div><div class='add'>+                    INTEGER_PACK_BIG_ENDIAN);</div><div class='add'>+    while (0 &lt; numwords) {</div><div class='add'>+        *ptr = ruby_digitmap[*(unsigned char *)ptr];</div><div class='add'>+        ptr++;</div><div class='add'>+        numwords--;</div><div class='add'>+    }</div><div class='add'>+    return result;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-unsigned long</div><div class='del'>-rb_big2ulong(x)</div><div class='del'>-    VALUE x;</div><div class='add'>+VALUE</div><div class='add'>+rb_big2str_poweroftwo(VALUE x, int base)</div><div class='add'>+{</div><div class='add'>+    return big2str_base_poweroftwo(x, base);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+big2str_generic(VALUE x, int base)</div><div class='add'>+{</div><div class='add'>+    BDIGIT *xds;</div><div class='add'>+    size_t xn;</div><div class='add'>+    struct big2str_struct b2s_data;</div><div class='add'>+    int power_level;</div><div class='add'>+    VALUE power;</div><div class='add'>+</div><div class='add'>+    xds = BDIGITS(x);</div><div class='add'>+    xn = BIGNUM_LEN(x);</div><div class='add'>+    BARY_TRUNC(xds, xn);</div><div class='add'>+</div><div class='add'>+    if (xn == 0) {</div><div class='add'>+	return rb_usascii_str_new2("0");</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (!valid_radix_p(base))</div><div class='add'>+	invalid_radix(base);</div><div class='add'>+</div><div class='add'>+    if (xn &gt;= LONG_MAX/BITSPERDIG) {</div><div class='add'>+        rb_raise(rb_eRangeError, "bignum too big to convert into `string'");</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    power_level = 0;</div><div class='add'>+    power = power_cache_get_power(base, power_level, NULL);</div><div class='add'>+    while (power_level &lt; MAX_BASE36_POWER_TABLE_ENTRIES &amp;&amp;</div><div class='add'>+           (size_t)BIGNUM_LEN(power) &lt;= (xn+1)/2) {</div><div class='add'>+        power_level++;</div><div class='add'>+        power = power_cache_get_power(base, power_level, NULL);</div><div class='add'>+    }</div><div class='add'>+    assert(power_level != MAX_BASE36_POWER_TABLE_ENTRIES);</div><div class='add'>+</div><div class='add'>+    if ((size_t)BIGNUM_LEN(power) &lt;= xn) {</div><div class='add'>+        /*</div><div class='add'>+         * This increment guarantees x &lt; power_cache_get_power(base, power_level)</div><div class='add'>+         * without invoking it actually.</div><div class='add'>+         * (power_cache_get_power(base, power_level) can be slow and not used</div><div class='add'>+         * in big2str_karatsuba.)</div><div class='add'>+         *</div><div class='add'>+         * Although it is possible that x &lt; power_cache_get_power(base, power_level-1),</div><div class='add'>+         * it is no problem because big2str_karatsuba checks it and</div><div class='add'>+         * doesn't affect the result when b2s_data.ptr is NULL.</div><div class='add'>+         */</div><div class='add'>+        power_level++;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    b2s_data.negative = BIGNUM_NEGATIVE_P(x);</div><div class='add'>+    b2s_data.base = base;</div><div class='add'>+    b2s_data.hbase2 = maxpow_in_bdigit_dbl(base, &amp;b2s_data.hbase2_numdigits);</div><div class='add'>+</div><div class='add'>+    b2s_data.result = Qnil;</div><div class='add'>+    b2s_data.ptr = NULL;</div><div class='add'>+</div><div class='add'>+    if (power_level == 0) {</div><div class='add'>+	big2str_2bdigits(&amp;b2s_data, xds, xn, 0);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        VALUE tmpw = 0;</div><div class='add'>+        BDIGIT *wds;</div><div class='add'>+        size_t wn;</div><div class='add'>+        wn = power_level * BIGDIVREM_EXTRA_WORDS + BIGNUM_LEN(power);</div><div class='add'>+        wds = ALLOCV_N(BDIGIT, tmpw, xn + wn);</div><div class='add'>+        MEMCPY(wds, xds, BDIGIT, xn);</div><div class='add'>+	big2str_karatsuba(&amp;b2s_data, wds, xn, wn, power_level, 0);</div><div class='add'>+        if (tmpw)</div><div class='add'>+            ALLOCV_END(tmpw);</div><div class='add'>+    }</div><div class='add'>+    RB_GC_GUARD(x);</div><div class='add'>+</div><div class='add'>+    *b2s_data.ptr = '\0';</div><div class='add'>+    rb_str_resize(b2s_data.result, (long)(b2s_data.ptr - RSTRING_PTR(b2s_data.result)));</div><div class='add'>+</div><div class='add'>+    RB_GC_GUARD(x);</div><div class='add'>+    return b2s_data.result;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_big2str_generic(VALUE x, int base)</div><div class='add'>+{</div><div class='add'>+    return big2str_generic(x, base);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#ifdef USE_GMP</div><div class='add'>+static VALUE</div><div class='add'>+big2str_gmp(VALUE x, int base)</div><div class='add'>+{</div><div class='add'>+    mpz_t mx;</div><div class='add'>+    size_t size;</div><div class='add'>+    VALUE str;</div><div class='add'>+    BDIGIT *xds = BDIGITS(x);</div><div class='add'>+    size_t xn = BIGNUM_LEN(x);</div><div class='add'>+</div><div class='add'>+    mpz_init(mx);</div><div class='add'>+    bdigits_to_mpz(mx, xds, xn);</div><div class='add'>+</div><div class='add'>+    size = mpz_sizeinbase(mx, base);</div><div class='add'>+</div><div class='add'>+    if (BIGNUM_NEGATIVE_P(x)) {</div><div class='add'>+        mpz_neg(mx, mx);</div><div class='add'>+        str = rb_usascii_str_new(0, size+1);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        str = rb_usascii_str_new(0, size);</div><div class='add'>+    }</div><div class='add'>+    mpz_get_str(RSTRING_PTR(str), base, mx);</div><div class='add'>+    mpz_clear(mx);</div><div class='add'>+</div><div class='add'>+    if (RSTRING_PTR(str)[RSTRING_LEN(str)-1] == '\0') {</div><div class='add'>+        rb_str_set_len(str, RSTRING_LEN(str)-1);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    RB_GC_GUARD(x);</div><div class='add'>+    return str;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_big2str_gmp(VALUE x, int base)</div><div class='add'>+{</div><div class='add'>+    return big2str_gmp(x, base);</div><div class='add'>+}</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_big2str1(VALUE x, int base)</div><div class='ctx'> {</div><div class='add'>+    BDIGIT *xds;</div><div class='add'>+    size_t xn;</div><div class='add'>+</div><div class='add'>+    if (FIXNUM_P(x)) {</div><div class='add'>+	return rb_fix2str(x, base);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    bigtrunc(x);</div><div class='add'>+    xds = BDIGITS(x);</div><div class='add'>+    xn = BIGNUM_LEN(x);</div><div class='add'>+    BARY_TRUNC(xds, xn);</div><div class='add'>+</div><div class='add'>+    if (xn == 0) {</div><div class='add'>+	return rb_usascii_str_new2("0");</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (!valid_radix_p(base))</div><div class='add'>+	invalid_radix(base);</div><div class='add'>+</div><div class='add'>+    if (xn &gt;= LONG_MAX/BITSPERDIG) {</div><div class='add'>+        rb_raise(rb_eRangeError, "bignum too big to convert into `string'");</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (POW2_P(base)) {</div><div class='add'>+        /* base == 2 || base == 4 || base == 8 || base == 16 || base == 32 */</div><div class='add'>+        return big2str_base_poweroftwo(x, base);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+#ifdef USE_GMP</div><div class='add'>+    if (GMP_BIG2STR_DIGITS &lt; xn) {</div><div class='add'>+        return big2str_gmp(x, base);</div><div class='add'>+    }</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+    return big2str_generic(x, base);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_big2str(VALUE x, int base)</div><div class='add'>+{</div><div class='add'>+    return rb_big2str1(x, base);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static unsigned long</div><div class='add'>+big2ulong(VALUE x, const char *type)</div><div class='add'>+{</div><div class='add'>+#if SIZEOF_LONG &gt; SIZEOF_BDIGIT</div><div class='add'>+    size_t i;</div><div class='add'>+#endif</div><div class='add'>+    size_t len = BIGNUM_LEN(x);</div><div class='ctx'>     unsigned long num;</div><div class='del'>-    long len = RBIGNUM(x)-&gt;len;</div><div class='del'>-    USHORT *ds;</div><div class='add'>+    BDIGIT *ds;</div><div class='ctx'> </div><div class='del'>-    if (len &gt; sizeof(long)/sizeof(USHORT))</div><div class='del'>-	rb_raise(rb_eArgError, "bignum too big to convert into `uint'");</div><div class='add'>+    if (len == 0)</div><div class='add'>+        return 0;</div><div class='add'>+    if (BIGSIZE(x) &gt; sizeof(long)) {</div><div class='add'>+        rb_raise(rb_eRangeError, "bignum too big to convert into `%s'", type);</div><div class='add'>+    }</div><div class='ctx'>     ds = BDIGITS(x);</div><div class='add'>+#if SIZEOF_LONG &lt;= SIZEOF_BDIGIT</div><div class='add'>+    num = (unsigned long)ds[0];</div><div class='add'>+#else</div><div class='ctx'>     num = 0;</div><div class='del'>-    while (len--) {</div><div class='del'>-	num = BIGUP(num);</div><div class='del'>-	num += ds[len];</div><div class='add'>+    for (i = 0; i &lt; len; i++) {</div><div class='add'>+	num &lt;&lt;= BITSPERDIG;</div><div class='add'>+        num += (unsigned long)ds[len - i - 1]; /* overflow is already checked */</div><div class='ctx'>     }</div><div class='add'>+#endif</div><div class='ctx'>     return num;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+unsigned long</div><div class='add'>+rb_big2ulong(VALUE x)</div><div class='add'>+{</div><div class='add'>+    unsigned long num = big2ulong(x, "unsigned long");</div><div class='add'>+</div><div class='add'>+    if (BIGNUM_POSITIVE_P(x)) {</div><div class='add'>+        return num;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        if (num &lt;= 1+(unsigned long)(-(LONG_MIN+1)))</div><div class='add'>+            return -(long)(num-1)-1;</div><div class='add'>+    }</div><div class='add'>+    rb_raise(rb_eRangeError, "bignum out of range of unsigned long");</div><div class='add'>+}</div><div class='add'>+</div><div class='ctx'> long</div><div class='del'>-rb_big2long(x)</div><div class='del'>-    VALUE x;</div><div class='add'>+rb_big2long(VALUE x)</div><div class='ctx'> {</div><div class='del'>-    unsigned long num = rb_big2ulong(x);</div><div class='add'>+    unsigned long num = big2ulong(x, "long");</div><div class='ctx'> </div><div class='del'>-    if ((long)num &lt; 0) {</div><div class='del'>-	rb_raise(rb_eArgError, "bignum too big to convert into `int'");</div><div class='add'>+    if (BIGNUM_POSITIVE_P(x)) {</div><div class='add'>+        if (num &lt;= LONG_MAX)</div><div class='add'>+            return num;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        if (num &lt;= 1+(unsigned long)(-(LONG_MIN+1)))</div><div class='add'>+            return -(long)(num-1)-1;</div><div class='ctx'>     }</div><div class='del'>-    if (!RBIGNUM(x)-&gt;sign) return -(long)num;</div><div class='add'>+    rb_raise(rb_eRangeError, "bignum too big to convert into `long'");</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#if HAVE_LONG_LONG</div><div class='add'>+</div><div class='add'>+static unsigned LONG_LONG</div><div class='add'>+big2ull(VALUE x, const char *type)</div><div class='add'>+{</div><div class='add'>+#if SIZEOF_LONG_LONG &gt; SIZEOF_BDIGIT</div><div class='add'>+    size_t i;</div><div class='add'>+#endif</div><div class='add'>+    size_t len = BIGNUM_LEN(x);</div><div class='add'>+    unsigned LONG_LONG num;</div><div class='add'>+    BDIGIT *ds = BDIGITS(x);</div><div class='add'>+</div><div class='add'>+    if (len == 0)</div><div class='add'>+        return 0;</div><div class='add'>+    if (BIGSIZE(x) &gt; SIZEOF_LONG_LONG)</div><div class='add'>+	rb_raise(rb_eRangeError, "bignum too big to convert into `%s'", type);</div><div class='add'>+#if SIZEOF_LONG_LONG &lt;= SIZEOF_BDIGIT</div><div class='add'>+    num = (unsigned LONG_LONG)ds[0];</div><div class='add'>+#else</div><div class='add'>+    num = 0;</div><div class='add'>+    for (i = 0; i &lt; len; i++) {</div><div class='add'>+	num = BIGUP(num);</div><div class='add'>+        num += ds[len - i - 1];</div><div class='add'>+    }</div><div class='add'>+#endif</div><div class='ctx'>     return num;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-rb_big_to_i(x)</div><div class='del'>-    VALUE x;</div><div class='add'>+unsigned LONG_LONG</div><div class='add'>+rb_big2ull(VALUE x)</div><div class='ctx'> {</div><div class='del'>-    return bignorm(x);</div><div class='add'>+    unsigned LONG_LONG num = big2ull(x, "unsigned long long");</div><div class='add'>+</div><div class='add'>+    if (BIGNUM_POSITIVE_P(x)) {</div><div class='add'>+        return num;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        if (num &lt;= 1+(unsigned LONG_LONG)(-(LLONG_MIN+1)))</div><div class='add'>+            return -(LONG_LONG)(num-1)-1;</div><div class='add'>+    }</div><div class='add'>+    rb_raise(rb_eRangeError, "bignum out of range of unsigned long long");</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_dbl2big(d)</div><div class='del'>-    double d;</div><div class='add'>+LONG_LONG</div><div class='add'>+rb_big2ll(VALUE x)</div><div class='add'>+{</div><div class='add'>+    unsigned LONG_LONG num = big2ull(x, "long long");</div><div class='add'>+</div><div class='add'>+    if (BIGNUM_POSITIVE_P(x)) {</div><div class='add'>+        if (num &lt;= LLONG_MAX)</div><div class='add'>+            return num;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        if (num &lt;= 1+(unsigned LONG_LONG)(-(LLONG_MIN+1)))</div><div class='add'>+            return -(LONG_LONG)(num-1)-1;</div><div class='add'>+    }</div><div class='add'>+    rb_raise(rb_eRangeError, "bignum too big to convert into `long long'");</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#endif  /* HAVE_LONG_LONG */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+dbl2big(double d)</div><div class='ctx'> {</div><div class='del'>-    unsigned long i = 0;</div><div class='del'>-    long c;</div><div class='del'>-    USHORT *digits;</div><div class='add'>+    long i = 0;</div><div class='add'>+    BDIGIT c;</div><div class='add'>+    BDIGIT *digits;</div><div class='ctx'>     VALUE z;</div><div class='ctx'>     double u = (d &lt; 0)?-d:d;</div><div class='ctx'> </div><div class='hunk'>@@ -410,7 +5228,7 @@ rb_dbl2big(d)</div><div class='ctx'> 	rb_raise(rb_eFloatDomainError, "NaN");</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='del'>-    while (!POSFIXABLE(u) || 0 != (long)u) {</div><div class='add'>+    while (1.0 &lt;= u) {</div><div class='ctx'> 	u /= (double)(BIGRAD);</div><div class='ctx'> 	i++;</div><div class='ctx'>     }</div><div class='hunk'>@@ -418,910 +5236,1954 @@ rb_dbl2big(d)</div><div class='ctx'>     digits = BDIGITS(z);</div><div class='ctx'>     while (i--) {</div><div class='ctx'> 	u *= BIGRAD;</div><div class='del'>-	c = (long)u;</div><div class='add'>+	c = (BDIGIT)u;</div><div class='ctx'> 	u -= c;</div><div class='del'>-	digits[i] = (USHORT)c;</div><div class='add'>+	digits[i] = c;</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='del'>-    return bignorm(z);</div><div class='add'>+    return z;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-double</div><div class='del'>-rb_big2dbl(x)</div><div class='del'>-    VALUE x;</div><div class='add'>+VALUE</div><div class='add'>+rb_dbl2big(double d)</div><div class='add'>+{</div><div class='add'>+    return bignorm(dbl2big(d));</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static double</div><div class='add'>+big2dbl(VALUE x)</div><div class='ctx'> {</div><div class='ctx'>     double d = 0.0;</div><div class='del'>-    long i = RBIGNUM(x)-&gt;len;</div><div class='del'>-    USHORT *ds = BDIGITS(x);</div><div class='add'>+    long i = (bigtrunc(x), BIGNUM_LEN(x)), lo = 0, bits;</div><div class='add'>+    BDIGIT *ds = BDIGITS(x), dl;</div><div class='ctx'> </div><div class='del'>-    while (i--) {</div><div class='del'>-	d = ds[i] + BIGRAD*d;</div><div class='add'>+    if (i) {</div><div class='add'>+	bits = i * BITSPERDIG - nlz(ds[i-1]);</div><div class='add'>+	if (bits &gt; DBL_MANT_DIG+DBL_MAX_EXP) {</div><div class='add'>+	    d = HUGE_VAL;</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    if (bits &gt; DBL_MANT_DIG+1)</div><div class='add'>+		lo = (bits -= DBL_MANT_DIG+1) / BITSPERDIG;</div><div class='add'>+	    else</div><div class='add'>+		bits = 0;</div><div class='add'>+	    while (--i &gt; lo) {</div><div class='add'>+		d = ds[i] + BIGRAD*d;</div><div class='add'>+	    }</div><div class='add'>+	    dl = ds[i];</div><div class='add'>+	    if (bits &amp;&amp; (dl &amp; ((BDIGIT)1 &lt;&lt; (bits %= BITSPERDIG)))) {</div><div class='add'>+		int carry = (dl &amp; ~(BDIGMAX &lt;&lt; bits)) != 0;</div><div class='add'>+		if (!carry) {</div><div class='add'>+		    while (i-- &gt; 0) {</div><div class='add'>+			carry = ds[i] != 0;</div><div class='add'>+			if (carry) break;</div><div class='add'>+		    }</div><div class='add'>+		}</div><div class='add'>+		if (carry) {</div><div class='add'>+                    BDIGIT mask = BDIGMAX;</div><div class='add'>+                    BDIGIT bit = 1;</div><div class='add'>+                    mask &lt;&lt;= bits;</div><div class='add'>+                    bit &lt;&lt;= bits;</div><div class='add'>+                    dl &amp;= mask;</div><div class='add'>+                    dl += bit;</div><div class='add'>+                    dl = BIGLO(dl);</div><div class='add'>+		    if (!dl) d += 1;</div><div class='add'>+		}</div><div class='add'>+	    }</div><div class='add'>+	    d = dl + BIGRAD*d;</div><div class='add'>+	    if (lo) {</div><div class='add'>+		if (lo &gt; INT_MAX / BITSPERDIG)</div><div class='add'>+		    d = HUGE_VAL;</div><div class='add'>+		else if (lo &lt; INT_MIN / BITSPERDIG)</div><div class='add'>+		    d = 0.0;</div><div class='add'>+		else</div><div class='add'>+		    d = ldexp(d, (int)(lo * BITSPERDIG));</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='ctx'>     }</div><div class='del'>-    if (!RBIGNUM(x)-&gt;sign) d = -d;</div><div class='add'>+    if (BIGNUM_NEGATIVE_P(x)) d = -d;</div><div class='ctx'>     return d;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-rb_big_to_f(x)</div><div class='del'>-    VALUE x;</div><div class='add'>+double</div><div class='add'>+rb_big2dbl(VALUE x)</div><div class='ctx'> {</div><div class='del'>-    return rb_float_new(rb_big2dbl(x));</div><div class='add'>+    double d = big2dbl(x);</div><div class='add'>+</div><div class='add'>+    if (isinf(d)) {</div><div class='add'>+	rb_warning("Bignum out of Float range");</div><div class='add'>+	if (d &lt; 0.0)</div><div class='add'>+	    d = -HUGE_VAL;</div><div class='add'>+	else</div><div class='add'>+	    d = HUGE_VAL;</div><div class='add'>+    }</div><div class='add'>+    return d;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+VALUE</div><div class='add'>+rb_integer_float_cmp(VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    double yd = RFLOAT_VALUE(y);</div><div class='add'>+    double yi, yf;</div><div class='add'>+    VALUE rel;</div><div class='add'>+</div><div class='add'>+    if (isnan(yd))</div><div class='add'>+        return Qnil;</div><div class='add'>+    if (isinf(yd)) {</div><div class='add'>+        if (yd &gt; 0.0) return INT2FIX(-1);</div><div class='add'>+        else return INT2FIX(1);</div><div class='add'>+    }</div><div class='add'>+    yf = modf(yd, &amp;yi);</div><div class='add'>+    if (FIXNUM_P(x)) {</div><div class='add'>+#if SIZEOF_LONG * CHAR_BIT &lt; DBL_MANT_DIG /* assume FLT_RADIX == 2 */</div><div class='add'>+        double xd = (double)FIX2LONG(x);</div><div class='add'>+        if (xd &lt; yd)</div><div class='add'>+            return INT2FIX(-1);</div><div class='add'>+        if (xd &gt; yd)</div><div class='add'>+            return INT2FIX(1);</div><div class='add'>+        return INT2FIX(0);</div><div class='add'>+#else</div><div class='add'>+        long xn, yn;</div><div class='add'>+        if (yi &lt; FIXNUM_MIN)</div><div class='add'>+            return INT2FIX(1);</div><div class='add'>+        if (FIXNUM_MAX+1 &lt;= yi)</div><div class='add'>+            return INT2FIX(-1);</div><div class='add'>+        xn = FIX2LONG(x);</div><div class='add'>+        yn = (long)yi;</div><div class='add'>+        if (xn &lt; yn)</div><div class='add'>+            return INT2FIX(-1);</div><div class='add'>+        if (xn &gt; yn)</div><div class='add'>+            return INT2FIX(1);</div><div class='add'>+        if (yf &lt; 0.0)</div><div class='add'>+            return INT2FIX(1);</div><div class='add'>+        if (0.0 &lt; yf)</div><div class='add'>+            return INT2FIX(-1);</div><div class='add'>+        return INT2FIX(0);</div><div class='add'>+#endif</div><div class='add'>+    }</div><div class='add'>+    y = rb_dbl2big(yi);</div><div class='add'>+    rel = rb_big_cmp(x, y);</div><div class='add'>+    if (yf == 0.0 || rel != INT2FIX(0))</div><div class='add'>+        return rel;</div><div class='add'>+    if (yf &lt; 0.0)</div><div class='add'>+        return INT2FIX(1);</div><div class='add'>+    return INT2FIX(-1);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#if SIZEOF_LONG * CHAR_BIT &gt;= DBL_MANT_DIG /* assume FLT_RADIX == 2 */</div><div class='add'>+COMPILER_WARNING_PUSH</div><div class='add'>+#if __has_warning("-Wimplicit-int-float-conversion")</div><div class='add'>+COMPILER_WARNING_IGNORED(-Wimplicit-int-float-conversion)</div><div class='add'>+#endif</div><div class='add'>+static const double LONG_MAX_as_double = LONG_MAX;</div><div class='add'>+COMPILER_WARNING_POP</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_integer_float_eq(VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    double yd = RFLOAT_VALUE(y);</div><div class='add'>+    double yi, yf;</div><div class='add'>+</div><div class='add'>+    if (isnan(yd) || isinf(yd))</div><div class='add'>+        return Qfalse;</div><div class='add'>+    yf = modf(yd, &amp;yi);</div><div class='add'>+    if (yf != 0)</div><div class='add'>+        return Qfalse;</div><div class='add'>+    if (FIXNUM_P(x)) {</div><div class='add'>+#if SIZEOF_LONG * CHAR_BIT &lt; DBL_MANT_DIG /* assume FLT_RADIX == 2 */</div><div class='add'>+        double xd = (double)FIX2LONG(x);</div><div class='add'>+        if (xd != yd)</div><div class='add'>+            return Qfalse;</div><div class='add'>+        return Qtrue;</div><div class='add'>+#else</div><div class='add'>+        long xn, yn;</div><div class='add'>+        if (yi &lt; LONG_MIN || LONG_MAX_as_double &lt;= yi)</div><div class='add'>+            return Qfalse;</div><div class='add'>+        xn = FIX2LONG(x);</div><div class='add'>+        yn = (long)yi;</div><div class='add'>+        if (xn != yn)</div><div class='add'>+            return Qfalse;</div><div class='add'>+        return Qtrue;</div><div class='add'>+#endif</div><div class='add'>+    }</div><div class='add'>+    y = rb_dbl2big(yi);</div><div class='add'>+    return rb_big_eq(x, y);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_big_cmp(VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    if (FIXNUM_P(y)) {</div><div class='add'>+	x = bigfixize(x);</div><div class='add'>+        if (FIXNUM_P(x)) {</div><div class='add'>+	    /* SIGNED_VALUE and Fixnum have same sign-bits, same</div><div class='add'>+	     * order */</div><div class='add'>+	    SIGNED_VALUE sx = (SIGNED_VALUE)x, sy = (SIGNED_VALUE)y;</div><div class='add'>+	    if (sx &lt; sy) return INT2FIX(-1);</div><div class='add'>+	    return INT2FIX(sx &gt; sy);</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    else if (RB_BIGNUM_TYPE_P(y)) {</div><div class='add'>+	if (BIGNUM_SIGN(x) == BIGNUM_SIGN(y)) {</div><div class='add'>+	    int cmp = bary_cmp(BDIGITS(x), BIGNUM_LEN(x), BDIGITS(y), BIGNUM_LEN(y));</div><div class='add'>+	    return INT2FIX(BIGNUM_SIGN(x) ? cmp : -cmp);</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    else if (RB_FLOAT_TYPE_P(y)) {</div><div class='add'>+        return rb_integer_float_cmp(x, y);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	return rb_num_coerce_cmp(x, y, idCmp);</div><div class='add'>+    }</div><div class='add'>+    return INT2FIX(BIGNUM_SIGN(x) ? 1 : -1);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+enum big_op_t {</div><div class='add'>+    big_op_gt,</div><div class='add'>+    big_op_ge,</div><div class='add'>+    big_op_lt,</div><div class='add'>+    big_op_le</div><div class='add'>+};</div><div class='add'>+</div><div class='ctx'> static VALUE</div><div class='del'>-rb_big_cmp(x, y)</div><div class='del'>-    VALUE x, y;</div><div class='add'>+big_op(VALUE x, VALUE y, enum big_op_t op)</div><div class='ctx'> {</div><div class='del'>-    long xlen = RBIGNUM(x)-&gt;len;</div><div class='add'>+    VALUE rel;</div><div class='add'>+    int n;</div><div class='ctx'> </div><div class='del'>-    switch (TYPE(y)) {</div><div class='del'>-      case T_FIXNUM:</div><div class='del'>-	y = rb_int2big(FIX2LONG(y));</div><div class='del'>-	break;</div><div class='add'>+    if (RB_INTEGER_TYPE_P(y)) {</div><div class='add'>+	rel = rb_big_cmp(x, y);</div><div class='add'>+    }</div><div class='add'>+    else if (RB_FLOAT_TYPE_P(y)) {</div><div class='add'>+        rel = rb_integer_float_cmp(x, y);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	ID id = 0;</div><div class='add'>+	switch (op) {</div><div class='add'>+	  case big_op_gt: id = '&gt;'; break;</div><div class='add'>+	  case big_op_ge: id = idGE; break;</div><div class='add'>+	  case big_op_lt: id = '&lt;'; break;</div><div class='add'>+	  case big_op_le: id = idLE; break;</div><div class='add'>+	}</div><div class='add'>+	return rb_num_coerce_relop(x, y, id);</div><div class='add'>+    }</div><div class='ctx'> </div><div class='del'>-      case T_BIGNUM:</div><div class='del'>-	break;</div><div class='add'>+    if (NIL_P(rel)) return Qfalse;</div><div class='add'>+    n = FIX2INT(rel);</div><div class='ctx'> </div><div class='del'>-      default:</div><div class='del'>-	return rb_num_coerce_bin(x, y);</div><div class='add'>+    switch (op) {</div><div class='add'>+	case big_op_gt: return n &gt;  0 ? Qtrue : Qfalse;</div><div class='add'>+	case big_op_ge: return n &gt;= 0 ? Qtrue : Qfalse;</div><div class='add'>+	case big_op_lt: return n &lt;  0 ? Qtrue : Qfalse;</div><div class='add'>+	case big_op_le: return n &lt;= 0 ? Qtrue : Qfalse;</div><div class='ctx'>     }</div><div class='add'>+    return Qundef;</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-    if (RBIGNUM(x)-&gt;sign &gt; RBIGNUM(y)-&gt;sign) return INT2FIX(1);</div><div class='del'>-    if (RBIGNUM(x)-&gt;sign &lt; RBIGNUM(y)-&gt;sign) return INT2FIX(-1);</div><div class='del'>-    if (xlen &lt; RBIGNUM(y)-&gt;len)</div><div class='del'>-	return (RBIGNUM(x)-&gt;sign) ? INT2FIX(-1) : INT2FIX(1);</div><div class='del'>-    if (xlen &gt; RBIGNUM(y)-&gt;len)</div><div class='del'>-	return (RBIGNUM(x)-&gt;sign) ? INT2FIX(1) : INT2FIX(-1);</div><div class='add'>+VALUE</div><div class='add'>+rb_big_gt(VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    return big_op(x, y, big_op_gt);</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-    while(xlen-- &amp;&amp; (BDIGITS(x)[xlen]==BDIGITS(y)[xlen]));</div><div class='del'>-    if (-1 == xlen) return INT2FIX(0);</div><div class='del'>-    return (BDIGITS(x)[xlen] &gt; BDIGITS(y)[xlen]) ?</div><div class='del'>-	(RBIGNUM(x)-&gt;sign ? INT2FIX(1) : INT2FIX(-1)) :</div><div class='del'>-	    (RBIGNUM(x)-&gt;sign ? INT2FIX(-1) : INT2FIX(1));</div><div class='add'>+VALUE</div><div class='add'>+rb_big_ge(VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    return big_op(x, y, big_op_ge);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-rb_big_eq(x, y)</div><div class='del'>-    VALUE x, y;</div><div class='add'>+VALUE</div><div class='add'>+rb_big_lt(VALUE x, VALUE y)</div><div class='ctx'> {</div><div class='del'>-    if (rb_big_cmp(x, y) == INT2FIX(0)) return Qtrue;</div><div class='del'>-    return Qfalse;</div><div class='add'>+    return big_op(x, y, big_op_lt);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-rb_big_uminus(x)</div><div class='del'>-    VALUE x;</div><div class='add'>+VALUE</div><div class='add'>+rb_big_le(VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    return big_op(x, y, big_op_le);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     big == 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; has the same value</div><div class='add'>+ *  as &lt;i&gt;big&lt;/i&gt;. Contrast this with Integer#eql?, which requires</div><div class='add'>+ *  &lt;i&gt;obj&lt;/i&gt; to be an Integer.</div><div class='add'>+ *</div><div class='add'>+ *     68719476736 == 68719476736.0   #=&gt; true</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_big_eq(VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    if (FIXNUM_P(y)) {</div><div class='add'>+	return bignorm(x) == y ? Qtrue : Qfalse;</div><div class='add'>+    }</div><div class='add'>+    else if (RB_BIGNUM_TYPE_P(y)) {</div><div class='add'>+    }</div><div class='add'>+    else if (RB_FLOAT_TYPE_P(y)) {</div><div class='add'>+        return rb_integer_float_eq(x, y);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	return rb_equal(y, x);</div><div class='add'>+    }</div><div class='add'>+    if (BIGNUM_SIGN(x) != BIGNUM_SIGN(y)) return Qfalse;</div><div class='add'>+    if (BIGNUM_LEN(x) != BIGNUM_LEN(y)) return Qfalse;</div><div class='add'>+    if (MEMCMP(BDIGITS(x),BDIGITS(y),BDIGIT,BIGNUM_LEN(y)) != 0) return Qfalse;</div><div class='add'>+    return Qtrue;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_big_eql(VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    if (!RB_BIGNUM_TYPE_P(y)) return Qfalse;</div><div class='add'>+    if (BIGNUM_SIGN(x) != BIGNUM_SIGN(y)) return Qfalse;</div><div class='add'>+    if (BIGNUM_LEN(x) != BIGNUM_LEN(y)) return Qfalse;</div><div class='add'>+    if (MEMCMP(BDIGITS(x),BDIGITS(y),BDIGIT,BIGNUM_LEN(y)) != 0) return Qfalse;</div><div class='add'>+    return Qtrue;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_big_uminus(VALUE x)</div><div class='ctx'> {</div><div class='ctx'>     VALUE z = rb_big_clone(x);</div><div class='ctx'> </div><div class='del'>-    RBIGNUM(z)-&gt;sign = !RBIGNUM(x)-&gt;sign;</div><div class='add'>+    BIGNUM_NEGATE(z);</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'>-rb_big_neg(x)</div><div class='del'>-    VALUE x;</div><div class='add'>+VALUE</div><div class='add'>+rb_big_comp(VALUE x)</div><div class='ctx'> {</div><div class='ctx'>     VALUE z = rb_big_clone(x);</div><div class='del'>-    long i = RBIGNUM(x)-&gt;len;</div><div class='del'>-    USHORT *ds = BDIGITS(z);</div><div class='add'>+    BDIGIT *ds = BDIGITS(z);</div><div class='add'>+    long n = BIGNUM_LEN(z);</div><div class='ctx'> </div><div class='del'>-    if (!RBIGNUM(x)-&gt;sign) rb_big_2comp(z);</div><div class='del'>-    while (i--) ds[i] = ~ds[i];</div><div class='del'>-    if (RBIGNUM(x)-&gt;sign) rb_big_2comp(z);</div><div class='del'>-    RBIGNUM(z)-&gt;sign = !RBIGNUM(z)-&gt;sign;</div><div class='add'>+    if (!n) return INT2FIX(-1);</div><div class='add'>+</div><div class='add'>+    if (BIGNUM_POSITIVE_P(z)) {</div><div class='add'>+        if (bary_add_one(ds, n)) {</div><div class='add'>+            big_extend_carry(z);</div><div class='add'>+        }</div><div class='add'>+        BIGNUM_SET_NEGATIVE_SIGN(z);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        bary_neg(ds, n);</div><div class='add'>+        if (bary_add_one(ds, n))</div><div class='add'>+            return INT2FIX(-1);</div><div class='add'>+        bary_neg(ds, n);</div><div class='add'>+        BIGNUM_SET_POSITIVE_SIGN(z);</div><div class='add'>+    }</div><div class='ctx'> </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'>-bigsub(x, y)</div><div class='del'>-    VALUE x, y;</div><div class='add'>+bigsub(VALUE x, VALUE y)</div><div class='ctx'> {</div><div class='del'>-    VALUE z = 0;</div><div class='del'>-    USHORT *zds;</div><div class='del'>-    long num;</div><div class='del'>-    long i;</div><div class='add'>+    VALUE z;</div><div class='add'>+    BDIGIT *xds, *yds, *zds;</div><div class='add'>+    long xn, yn, zn;</div><div class='ctx'> </div><div class='del'>-    i = RBIGNUM(x)-&gt;len;</div><div class='del'>-    /* if x is larger than y, swap */</div><div class='del'>-    if (RBIGNUM(x)-&gt;len &lt; RBIGNUM(y)-&gt;len) {</div><div class='del'>-	z = x; x = y; y = z;	/* swap x y */</div><div class='del'>-    }</div><div class='del'>-    else if (RBIGNUM(x)-&gt;len == RBIGNUM(y)-&gt;len) {</div><div class='del'>-	while (i &gt; 0) {</div><div class='del'>-	    i--;</div><div class='del'>-	    if (BDIGITS(x)[i] &gt; BDIGITS(y)[i]) {</div><div class='del'>-		break;</div><div class='del'>-	    }</div><div class='del'>-	    if (BDIGITS(x)[i] &lt; BDIGITS(y)[i]) {</div><div class='del'>-		z = x; x = y; y = z;	/* swap x y */</div><div class='del'>-		break;</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='add'>+    xn = BIGNUM_LEN(x);</div><div class='add'>+    yn = BIGNUM_LEN(y);</div><div class='add'>+    zn = xn &lt; yn ? yn : xn;</div><div class='add'>+</div><div class='add'>+    z = bignew(zn, 1);</div><div class='add'>+</div><div class='add'>+    xds = BDIGITS(x);</div><div class='add'>+    yds = BDIGITS(y);</div><div class='add'>+    zds = BDIGITS(z);</div><div class='add'>+</div><div class='add'>+    if (bary_sub(zds, zn, xds, xn, yds, yn)) {</div><div class='add'>+        bary_2comp(zds, zn);</div><div class='add'>+        BIGNUM_SET_NEGATIVE_SIGN(z);</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='del'>-    z = bignew(RBIGNUM(x)-&gt;len, (z == 0)?1:0);</div><div class='add'>+    return z;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE bigadd_int(VALUE x, long y);</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+bigsub_int(VALUE x, long y0)</div><div class='add'>+{</div><div class='add'>+    VALUE z;</div><div class='add'>+    BDIGIT *xds, *zds;</div><div class='add'>+    long xn, zn;</div><div class='add'>+    BDIGIT_DBL_SIGNED num;</div><div class='add'>+    long i, y;</div><div class='add'>+</div><div class='add'>+    y = y0;</div><div class='add'>+    xds = BDIGITS(x);</div><div class='add'>+    xn = BIGNUM_LEN(x);</div><div class='add'>+</div><div class='add'>+    if (xn == 0)</div><div class='add'>+        return LONG2NUM(-y0);</div><div class='add'>+</div><div class='add'>+    zn = xn;</div><div class='add'>+#if SIZEOF_BDIGIT &lt; SIZEOF_LONG</div><div class='add'>+    if (zn &lt; bdigit_roomof(SIZEOF_LONG))</div><div class='add'>+        zn = bdigit_roomof(SIZEOF_LONG);</div><div class='add'>+#endif</div><div class='add'>+    z = bignew(zn, BIGNUM_SIGN(x));</div><div class='ctx'>     zds = BDIGITS(z);</div><div class='ctx'> </div><div class='del'>-    for (i = 0, num = 0; i &lt; RBIGNUM(y)-&gt;len; i++) { </div><div class='del'>-	num += (long)BDIGITS(x)[i] - BDIGITS(y)[i];</div><div class='add'>+#if SIZEOF_BDIGIT &gt;= SIZEOF_LONG</div><div class='add'>+    assert(xn == zn);</div><div class='add'>+    num = (BDIGIT_DBL_SIGNED)xds[0] - y;</div><div class='add'>+    if (xn == 1 &amp;&amp; num &lt; 0) {</div><div class='add'>+	BIGNUM_NEGATE(z);</div><div class='add'>+	zds[0] = (BDIGIT)-num;</div><div class='add'>+	RB_GC_GUARD(x);</div><div class='add'>+	return bignorm(z);</div><div class='add'>+    }</div><div class='add'>+    zds[0] = BIGLO(num);</div><div class='add'>+    num = BIGDN(num);</div><div class='add'>+    i = 1;</div><div class='add'>+    if (i &lt; xn)</div><div class='add'>+        goto y_is_zero_x;</div><div class='add'>+    goto finish;</div><div class='add'>+#else</div><div class='add'>+    num = 0;</div><div class='add'>+    for (i=0; i &lt; xn; i++) {</div><div class='add'>+        if (y == 0) goto y_is_zero_x;</div><div class='add'>+	num += (BDIGIT_DBL_SIGNED)xds[i] - BIGLO(y);</div><div class='ctx'> 	zds[i] = BIGLO(num);</div><div class='ctx'> 	num = BIGDN(num);</div><div class='del'>-    } </div><div class='del'>-    while (num &amp;&amp; i &lt; RBIGNUM(x)-&gt;len) {</div><div class='del'>-	num += BDIGITS(x)[i];</div><div class='del'>-	zds[i++] = BIGLO(num);</div><div class='add'>+	y = BIGDN(y);</div><div class='add'>+    }</div><div class='add'>+    for (; i &lt; zn; i++) {</div><div class='add'>+        if (y == 0) goto y_is_zero_z;</div><div class='add'>+        num -= BIGLO(y);</div><div class='add'>+        zds[i] = BIGLO(num);</div><div class='add'>+        num = BIGDN(num);</div><div class='add'>+        y = BIGDN(y);</div><div class='add'>+    }</div><div class='add'>+    goto finish;</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+    for (; i &lt; xn; i++) {</div><div class='add'>+      y_is_zero_x:</div><div class='add'>+        if (num == 0) goto num_is_zero_x;</div><div class='add'>+	num += xds[i];</div><div class='add'>+	zds[i] = BIGLO(num);</div><div class='ctx'> 	num = BIGDN(num);</div><div class='ctx'>     }</div><div class='del'>-    while (i &lt; RBIGNUM(x)-&gt;len) {</div><div class='del'>-	zds[i] = BDIGITS(x)[i];</div><div class='del'>-	i++;</div><div class='add'>+#if SIZEOF_BDIGIT &lt; SIZEOF_LONG</div><div class='add'>+    for (; i &lt; zn; i++) {</div><div class='add'>+      y_is_zero_z:</div><div class='add'>+        if (num == 0) goto num_is_zero_z;</div><div class='add'>+        zds[i] = BIGLO(num);</div><div class='add'>+        num = BIGDN(num);</div><div class='ctx'>     }</div><div class='del'>-    </div><div class='add'>+#endif</div><div class='add'>+    goto finish;</div><div class='add'>+</div><div class='add'>+    for (; i &lt; xn; i++) {</div><div class='add'>+      num_is_zero_x:</div><div class='add'>+	zds[i] = xds[i];</div><div class='add'>+    }</div><div class='add'>+#if SIZEOF_BDIGIT &lt; SIZEOF_LONG</div><div class='add'>+    for (; i &lt; zn; i++) {</div><div class='add'>+      num_is_zero_z:</div><div class='add'>+        zds[i] = 0;</div><div class='add'>+    }</div><div class='add'>+#endif</div><div class='add'>+    goto finish;</div><div class='add'>+</div><div class='add'>+  finish:</div><div class='add'>+    assert(num == 0 || num == -1);</div><div class='add'>+    if (num &lt; 0) {</div><div class='add'>+        get2comp(z);</div><div class='add'>+	BIGNUM_NEGATE(z);</div><div class='add'>+    }</div><div class='add'>+    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(x, y, sign)</div><div class='del'>-    VALUE x, y;</div><div class='del'>-    char sign;</div><div class='add'>+bigadd_int(VALUE x, long y)</div><div class='ctx'> {</div><div class='ctx'>     VALUE z;</div><div class='del'>-    long num;</div><div class='del'>-    long i, len;</div><div class='add'>+    BDIGIT *xds, *zds;</div><div class='add'>+    long xn, zn;</div><div class='add'>+    BDIGIT_DBL num;</div><div class='add'>+    long i;</div><div class='ctx'> </div><div class='del'>-    sign = (sign == RBIGNUM(y)-&gt;sign);</div><div class='del'>-    if (RBIGNUM(x)-&gt;sign != sign) {</div><div class='del'>-	if (sign) return bigsub(y, x);</div><div class='del'>-	return bigsub(x, y);</div><div class='del'>-    }</div><div class='add'>+    xds = BDIGITS(x);</div><div class='add'>+    xn = BIGNUM_LEN(x);</div><div class='add'>+</div><div class='add'>+    if (xn == 0)</div><div class='add'>+        return LONG2NUM(y);</div><div class='add'>+</div><div class='add'>+    zn = xn;</div><div class='add'>+#if SIZEOF_BDIGIT &lt; SIZEOF_LONG</div><div class='add'>+    if (zn &lt; bdigit_roomof(SIZEOF_LONG))</div><div class='add'>+        zn = bdigit_roomof(SIZEOF_LONG);</div><div class='add'>+#endif</div><div class='add'>+    zn++;</div><div class='add'>+</div><div class='add'>+    z = bignew(zn, BIGNUM_SIGN(x));</div><div class='add'>+    zds = BDIGITS(z);</div><div class='ctx'> </div><div class='del'>-    if (RBIGNUM(x)-&gt;len &gt; RBIGNUM(y)-&gt;len) {</div><div class='del'>-	len = RBIGNUM(x)-&gt;len + 1;</div><div class='del'>-        z = x; x = y; y = z;</div><div class='add'>+#if SIZEOF_BDIGIT &gt;= SIZEOF_LONG</div><div class='add'>+    num = (BDIGIT_DBL)xds[0] + y;</div><div class='add'>+    zds[0] = BIGLO(num);</div><div class='add'>+    num = BIGDN(num);</div><div class='add'>+    i = 1;</div><div class='add'>+    if (i &lt; xn)</div><div class='add'>+        goto y_is_zero_x;</div><div class='add'>+    goto y_is_zero_z;</div><div class='add'>+#else</div><div class='add'>+    num = 0;</div><div class='add'>+    for (i=0; i &lt; xn; i++) {</div><div class='add'>+        if (y == 0) goto y_is_zero_x;</div><div class='add'>+	num += (BDIGIT_DBL)xds[i] + BIGLO(y);</div><div class='add'>+	zds[i] = BIGLO(num);</div><div class='add'>+	num = BIGDN(num);</div><div class='add'>+	y = BIGDN(y);</div><div class='ctx'>     }</div><div class='del'>-    else {</div><div class='del'>-	len = RBIGNUM(y)-&gt;len + 1;</div><div class='add'>+    for (; i &lt; zn; i++) {</div><div class='add'>+        if (y == 0) goto y_is_zero_z;</div><div class='add'>+	num += BIGLO(y);</div><div class='add'>+	zds[i] = BIGLO(num);</div><div class='add'>+	num = BIGDN(num);</div><div class='add'>+	y = BIGDN(y);</div><div class='ctx'>     }</div><div class='del'>-    z = bignew(len, sign);</div><div class='add'>+    goto finish;</div><div class='add'>+</div><div class='add'>+#endif</div><div class='ctx'> </div><div class='del'>-    len = RBIGNUM(x)-&gt;len;</div><div class='del'>-    for (i = 0, num = 0; i &lt; len; i++) {</div><div class='del'>-	num += BDIGITS(x)[i] + BDIGITS(y)[i];</div><div class='del'>-	BDIGITS(z)[i] = BIGLO(num);</div><div class='add'>+    for (;i &lt; xn; i++) {</div><div class='add'>+      y_is_zero_x:</div><div class='add'>+        if (num == 0) goto num_is_zero_x;</div><div class='add'>+	num += (BDIGIT_DBL)xds[i];</div><div class='add'>+	zds[i] = BIGLO(num);</div><div class='ctx'> 	num = BIGDN(num);</div><div class='ctx'>     }</div><div class='del'>-    len = RBIGNUM(y)-&gt;len;</div><div class='del'>-    while (num &amp;&amp; i &lt; len) {</div><div class='del'>-	num += BDIGITS(y)[i];</div><div class='del'>-	BDIGITS(z)[i++] = BIGLO(num);</div><div class='add'>+    for (; i &lt; zn; i++) {</div><div class='add'>+      y_is_zero_z:</div><div class='add'>+        if (num == 0) goto num_is_zero_z;</div><div class='add'>+	zds[i] = BIGLO(num);</div><div class='ctx'> 	num = BIGDN(num);</div><div class='ctx'>     }</div><div class='del'>-    while (i &lt; len) {</div><div class='del'>-	BDIGITS(z)[i] = BDIGITS(y)[i];</div><div class='del'>-	i++;</div><div class='add'>+    goto finish;</div><div class='add'>+</div><div class='add'>+    for (;i &lt; xn; i++) {</div><div class='add'>+      num_is_zero_x:</div><div class='add'>+	zds[i] = xds[i];</div><div class='add'>+    }</div><div class='add'>+    for (; i &lt; zn; i++) {</div><div class='add'>+      num_is_zero_z:</div><div class='add'>+	zds[i] = 0;</div><div class='ctx'>     }</div><div class='del'>-    BDIGITS(z)[i] = (USHORT)num;</div><div class='add'>+    goto finish;</div><div class='ctx'> </div><div class='add'>+  finish:</div><div class='add'>+    RB_GC_GUARD(x);</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_plus(x, y)</div><div class='del'>-    VALUE x, y;</div><div class='add'>+static VALUE</div><div class='add'>+bigadd(VALUE x, VALUE y, int sign)</div><div class='ctx'> {</div><div class='del'>-    switch (TYPE(y)) {</div><div class='del'>-      case T_FIXNUM:</div><div class='del'>-	y = rb_int2big(FIX2LONG(y));</div><div class='del'>-	/* fall through */</div><div class='del'>-      case T_BIGNUM:</div><div class='del'>-	return bigadd(x, y, 1);</div><div class='add'>+    VALUE z;</div><div class='add'>+    size_t len;</div><div class='ctx'> </div><div class='del'>-      case T_FLOAT:</div><div class='del'>-	return rb_float_new(rb_big2dbl(x) + RFLOAT(y)-&gt;value);</div><div class='add'>+    sign = (sign == BIGNUM_SIGN(y));</div><div class='add'>+    if (BIGNUM_SIGN(x) != sign) {</div><div class='add'>+	if (sign) return bigsub(y, x);</div><div class='add'>+	return bigsub(x, y);</div><div class='add'>+    }</div><div class='ctx'> </div><div class='del'>-      default:</div><div class='del'>-	return rb_num_coerce_bin(x, y);</div><div class='add'>+    if (BIGNUM_LEN(x) &gt; BIGNUM_LEN(y)) {</div><div class='add'>+	len = BIGNUM_LEN(x) + 1;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	len = BIGNUM_LEN(y) + 1;</div><div class='ctx'>     }</div><div class='add'>+    z = bignew(len, sign);</div><div class='add'>+</div><div class='add'>+    bary_add(BDIGITS(z), BIGNUM_LEN(z),</div><div class='add'>+             BDIGITS(x), BIGNUM_LEN(x),</div><div class='add'>+             BDIGITS(y), BIGNUM_LEN(y));</div><div class='add'>+</div><div class='add'>+    return z;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_big_minus(x, y)</div><div class='del'>-    VALUE x, y;</div><div class='add'>+rb_big_plus(VALUE x, VALUE y)</div><div class='ctx'> {</div><div class='del'>-    switch (TYPE(y)) {</div><div class='del'>-      case T_FIXNUM:</div><div class='del'>-	y = rb_int2big(FIX2LONG(y));</div><div class='del'>-	/* fall through */</div><div class='del'>-      case T_BIGNUM:</div><div class='del'>-	return bigadd(x, y, 0);</div><div class='del'>-</div><div class='del'>-      case T_FLOAT:</div><div class='del'>-	return rb_float_new(rb_big2dbl(x) - RFLOAT(y)-&gt;value);</div><div class='add'>+    long n;</div><div class='ctx'> </div><div class='del'>-      default:</div><div class='del'>-	return rb_num_coerce_bin(x, y);</div><div class='add'>+    if (FIXNUM_P(y)) {</div><div class='add'>+	n = FIX2LONG(y);</div><div class='add'>+	if ((n &gt; 0) != BIGNUM_SIGN(x)) {</div><div class='add'>+	    if (n &lt; 0) {</div><div class='add'>+		n = -n;</div><div class='add'>+	    }</div><div class='add'>+	    return bigsub_int(x, n);</div><div class='add'>+	}</div><div class='add'>+	if (n &lt; 0) {</div><div class='add'>+	    n = -n;</div><div class='add'>+	}</div><div class='add'>+	return bigadd_int(x, n);</div><div class='add'>+    }</div><div class='add'>+    else if (RB_BIGNUM_TYPE_P(y)) {</div><div class='add'>+	return bignorm(bigadd(x, y, 1));</div><div class='add'>+    }</div><div class='add'>+    else if (RB_FLOAT_TYPE_P(y)) {</div><div class='add'>+	return DBL2NUM(rb_big2dbl(x) + RFLOAT_VALUE(y));</div><div class='add'>+    }</div><div class='add'>+    else {</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='ctx'> VALUE</div><div class='del'>-rb_big_mul(x, y)</div><div class='del'>-    VALUE x, y;</div><div class='add'>+rb_big_minus(VALUE x, VALUE y)</div><div class='ctx'> {</div><div class='del'>-    long i, j;</div><div class='del'>-    unsigned long n = 0;</div><div class='add'>+    long n;</div><div class='add'>+</div><div class='add'>+    if (FIXNUM_P(y)) {</div><div class='add'>+	n = FIX2LONG(y);</div><div class='add'>+	if ((n &gt; 0) != BIGNUM_SIGN(x)) {</div><div class='add'>+	    if (n &lt; 0) {</div><div class='add'>+		n = -n;</div><div class='add'>+	    }</div><div class='add'>+	    return bigadd_int(x, n);</div><div class='add'>+	}</div><div class='add'>+	if (n &lt; 0) {</div><div class='add'>+	    n = -n;</div><div class='add'>+	}</div><div class='add'>+	return bigsub_int(x, n);</div><div class='add'>+    }</div><div class='add'>+    else if (RB_BIGNUM_TYPE_P(y)) {</div><div class='add'>+	return bignorm(bigadd(x, y, 0));</div><div class='add'>+    }</div><div class='add'>+    else if (RB_FLOAT_TYPE_P(y)) {</div><div class='add'>+	return DBL2NUM(rb_big2dbl(x) - RFLOAT_VALUE(y));</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	return rb_num_coerce_bin(x, y, '-');</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+bigsq(VALUE x)</div><div class='add'>+{</div><div class='add'>+    long xn, zn;</div><div class='ctx'>     VALUE z;</div><div class='del'>-    USHORT *zds;</div><div class='add'>+    BDIGIT *xds, *zds;</div><div class='ctx'> </div><div class='del'>-    if (FIXNUM_P(x)) x = rb_int2big(FIX2LONG(x));</div><div class='del'>-    switch (TYPE(y)) {</div><div class='del'>-      case T_FIXNUM:</div><div class='del'>-	y = rb_int2big(FIX2LONG(y));</div><div class='del'>-	break;</div><div class='add'>+    xn = BIGNUM_LEN(x);</div><div class='add'>+    zn = 2 * xn;</div><div class='add'>+</div><div class='add'>+    z = bignew(zn, 1);</div><div class='ctx'> </div><div class='del'>-      case T_BIGNUM:</div><div class='del'>-	break;</div><div class='add'>+    xds = BDIGITS(x);</div><div class='add'>+    zds = BDIGITS(z);</div><div class='ctx'> </div><div class='del'>-      case T_FLOAT:</div><div class='del'>-	return rb_float_new(rb_big2dbl(x) * RFLOAT(y)-&gt;value);</div><div class='add'>+    if (xn &lt; NAIVE_MUL_DIGITS)</div><div class='add'>+        bary_sq_fast(zds, zn, xds, xn);</div><div class='add'>+    else</div><div class='add'>+        bary_mul(zds, zn, xds, xn, xds, xn);</div><div class='ctx'> </div><div class='del'>-      default:</div><div class='del'>-	return rb_num_coerce_bin(x, y);</div><div class='del'>-    }</div><div class='add'>+    RB_GC_GUARD(x);</div><div class='add'>+    return z;</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-    j = RBIGNUM(x)-&gt;len + RBIGNUM(y)-&gt;len + 1;</div><div class='del'>-    z = bignew(j, RBIGNUM(x)-&gt;sign==RBIGNUM(y)-&gt;sign);</div><div class='add'>+static VALUE</div><div class='add'>+bigmul0(VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    long xn, yn, zn;</div><div class='add'>+    VALUE z;</div><div class='add'>+    BDIGIT *xds, *yds, *zds;</div><div class='add'>+</div><div class='add'>+    if (x == y)</div><div class='add'>+        return bigsq(x);</div><div class='add'>+</div><div class='add'>+    xn = BIGNUM_LEN(x);</div><div class='add'>+    yn = BIGNUM_LEN(y);</div><div class='add'>+    zn = xn + yn;</div><div class='add'>+</div><div class='add'>+    z = bignew(zn, BIGNUM_SIGN(x)==BIGNUM_SIGN(y));</div><div class='add'>+</div><div class='add'>+    xds = BDIGITS(x);</div><div class='add'>+    yds = BDIGITS(y);</div><div class='ctx'>     zds = BDIGITS(z);</div><div class='del'>-    while (j--) zds[j] = 0;</div><div class='del'>-    for (i = 0; i &lt; RBIGNUM(x)-&gt;len; i++) {</div><div class='del'>-	unsigned long dd = BDIGITS(x)[i]; </div><div class='del'>-	if (dd == 0) continue;</div><div class='del'>-	n = 0;</div><div class='del'>-	for (j = 0; j &lt; RBIGNUM(y)-&gt;len; j++) {</div><div class='del'>-	    int ee = n + dd * BDIGITS(y)[j];</div><div class='del'>-	    n = zds[i + j] + ee;</div><div class='del'>-	    if (ee) zds[i + j] = BIGLO(n);</div><div class='del'>-	    n = BIGDN(n);</div><div class='del'>-	}</div><div class='del'>-	if (n) {</div><div class='del'>-	    zds[i + j] = n;</div><div class='del'>-	}</div><div class='add'>+</div><div class='add'>+    bary_mul(zds, zn, xds, xn, yds, yn);</div><div class='add'>+</div><div class='add'>+    RB_GC_GUARD(x);</div><div class='add'>+    RB_GC_GUARD(y);</div><div class='add'>+    return z;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_big_mul(VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    if (FIXNUM_P(y)) {</div><div class='add'>+	y = rb_int2big(FIX2LONG(y));</div><div class='add'>+    }</div><div class='add'>+    else if (RB_BIGNUM_TYPE_P(y)) {</div><div class='add'>+    }</div><div class='add'>+    else if (RB_FLOAT_TYPE_P(y)) {</div><div class='add'>+	return DBL2NUM(rb_big2dbl(x) * RFLOAT_VALUE(y));</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	return rb_num_coerce_bin(x, y, '*');</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='del'>-    return bignorm(z);</div><div class='add'>+    return bignorm(bigmul0(x, y));</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static void</div><div class='del'>-bigdivmod(x, y, div, mod, modulo)</div><div class='del'>-    VALUE x, y;</div><div class='del'>-    VALUE *div, *mod;</div><div class='del'>-    int modulo;</div><div class='del'>-{</div><div class='del'>-    long nx = RBIGNUM(x)-&gt;len, ny = RBIGNUM(y)-&gt;len;</div><div class='del'>-    long i, j;</div><div class='del'>-    VALUE yy, z;</div><div class='del'>-    USHORT *xds, *yds, *zds, *tds;</div><div class='del'>-    unsigned long t2;</div><div class='del'>-    long num;</div><div class='del'>-    USHORT dd, q;</div><div class='add'>+static VALUE</div><div class='add'>+bigdivrem(VALUE x, VALUE y, volatile VALUE *divp, volatile VALUE *modp)</div><div class='add'>+{</div><div class='add'>+    long xn = BIGNUM_LEN(x), yn = BIGNUM_LEN(y);</div><div class='add'>+    VALUE z;</div><div class='add'>+    BDIGIT *xds, *yds, *zds;</div><div class='add'>+    BDIGIT dd;</div><div class='add'>+</div><div class='add'>+    VALUE q = Qnil, r = Qnil;</div><div class='add'>+    BDIGIT *qds, *rds;</div><div class='add'>+    long qn, rn;</div><div class='ctx'> </div><div class='ctx'>     yds = BDIGITS(y);</div><div class='del'>-    if (ny == 0 &amp;&amp; yds[0] == 0) rb_num_zerodiv();</div><div class='del'>-    if (nx &lt; ny	|| nx == ny &amp;&amp; BDIGITS(x)[nx - 1] &lt; BDIGITS(y)[ny - 1]) {</div><div class='del'>-	if (div) *div = INT2FIX(0);</div><div class='del'>-	if (mod) *mod = bignorm(x);</div><div class='del'>-	return;</div><div class='del'>-    }</div><div class='add'>+    BARY_TRUNC(yds, yn);</div><div class='add'>+    if (yn == 0)</div><div class='add'>+        rb_num_zerodiv();</div><div class='add'>+</div><div class='ctx'>     xds = BDIGITS(x);</div><div class='del'>-    if (ny == 1) {</div><div class='add'>+    BARY_TRUNC(xds, xn);</div><div class='add'>+</div><div class='add'>+    if (xn &lt; yn || (xn == yn &amp;&amp; xds[xn - 1] &lt; yds[yn - 1])) {</div><div class='add'>+	if (divp) *divp = rb_int2big(0);</div><div class='add'>+	if (modp) *modp = x;</div><div class='add'>+	return Qnil;</div><div class='add'>+    }</div><div class='add'>+    if (yn == 1) {</div><div class='ctx'> 	dd = yds[0];</div><div class='del'>-	z = rb_big_clone(x);</div><div class='add'>+	z = bignew(xn, BIGNUM_SIGN(x)==BIGNUM_SIGN(y));</div><div class='ctx'> 	zds = BDIGITS(z);</div><div class='del'>-	t2 = 0; i = nx;</div><div class='del'>-	while (i--) {</div><div class='del'>-	    t2 = BIGUP(t2) + zds[i];</div><div class='del'>-	    zds[i] = (USHORT)(t2 / dd);</div><div class='del'>-	    t2 %= dd;</div><div class='add'>+        dd = bigdivrem_single(zds, xds, xn, dd);</div><div class='add'>+	if (modp) {</div><div class='add'>+	    *modp = rb_uint2big((uintptr_t)dd);</div><div class='add'>+	    BIGNUM_SET_SIGN(*modp, BIGNUM_SIGN(x));</div><div class='ctx'> 	}</div><div class='del'>-	RBIGNUM(z)-&gt;sign = RBIGNUM(x)-&gt;sign==RBIGNUM(y)-&gt;sign;</div><div class='del'>-	if (div) *div = bignorm(z);</div><div class='del'>-	if (mod) {</div><div class='del'>-	    if (!RBIGNUM(y)-&gt;sign) t2 = -(long)t2;</div><div class='del'>-	    *mod = INT2NUM(t2);</div><div class='del'>-	}</div><div class='del'>-	return;</div><div class='add'>+	if (divp) *divp = z;</div><div class='add'>+	return Qnil;</div><div class='ctx'>     }</div><div class='del'>-    z = bignew(nx==ny?nx+2:nx+1, RBIGNUM(x)-&gt;sign==RBIGNUM(y)-&gt;sign);</div><div class='del'>-    zds = BDIGITS(z);</div><div class='del'>-    if (nx==ny) zds[nx+1] = 0;</div><div class='del'>-    while (!yds[ny-1]) ny--;</div><div class='del'>-    if ((dd = BIGRAD/(int)(yds[ny-1]+1)) != 1) {</div><div class='del'>-	yy = rb_big_clone(y);</div><div class='del'>-	tds = BDIGITS(yy);</div><div class='del'>-	j = 0;</div><div class='del'>-	num = 0;</div><div class='del'>-	while (j&lt;ny) {</div><div class='del'>-	    num += (long)yds[j]*dd;</div><div class='del'>-	    tds[j++] = BIGLO(num);</div><div class='del'>-	    num = BIGDN(num);</div><div class='del'>-	}</div><div class='del'>-	yds = tds;</div><div class='del'>-	j = 0;</div><div class='del'>-	num = 0;</div><div class='del'>-	while (j&lt;nx) {</div><div class='del'>-	    num += (long)xds[j]*dd;</div><div class='del'>-	    zds[j++] = BIGLO(num);</div><div class='del'>-	    num = BIGDN(num);</div><div class='del'>-	}</div><div class='del'>-	zds[j] = (USHORT)num;</div><div class='add'>+    if (xn == 2 &amp;&amp; yn == 2) {</div><div class='add'>+        BDIGIT_DBL x0 = bary2bdigitdbl(xds, 2);</div><div class='add'>+        BDIGIT_DBL y0 = bary2bdigitdbl(yds, 2);</div><div class='add'>+        BDIGIT_DBL q0 = x0 / y0;</div><div class='add'>+        BDIGIT_DBL r0 = x0 % y0;</div><div class='add'>+        if (divp) {</div><div class='add'>+            z = bignew(bdigit_roomof(sizeof(BDIGIT_DBL)), BIGNUM_SIGN(x)==BIGNUM_SIGN(y));</div><div class='add'>+            zds = BDIGITS(z);</div><div class='add'>+            zds[0] = BIGLO(q0);</div><div class='add'>+            zds[1] = BIGLO(BIGDN(q0));</div><div class='add'>+            *divp = z;</div><div class='add'>+        }</div><div class='add'>+        if (modp) {</div><div class='add'>+            z = bignew(bdigit_roomof(sizeof(BDIGIT_DBL)), BIGNUM_SIGN(x));</div><div class='add'>+            zds = BDIGITS(z);</div><div class='add'>+            zds[0] = BIGLO(r0);</div><div class='add'>+            zds[1] = BIGLO(BIGDN(r0));</div><div class='add'>+            *modp = z;</div><div class='add'>+        }</div><div class='add'>+        return Qnil;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (divp) {</div><div class='add'>+        qn = xn + BIGDIVREM_EXTRA_WORDS;</div><div class='add'>+        q = bignew(qn, BIGNUM_SIGN(x)==BIGNUM_SIGN(y));</div><div class='add'>+        qds = BDIGITS(q);</div><div class='ctx'>     }</div><div class='ctx'>     else {</div><div class='del'>-	zds[nx] = 0;</div><div class='del'>-	j = nx;</div><div class='del'>-	while (j--) zds[j] = xds[j];</div><div class='add'>+        qn = 0;</div><div class='add'>+        qds = NULL;</div><div class='ctx'>     }</div><div class='del'>-    j = nx==ny?nx+1:nx;</div><div class='del'>-    do {</div><div class='del'>-	if (zds[j] ==  yds[ny-1]) q = BIGRAD-1;</div><div class='del'>-	else q = (USHORT)((BIGUP(zds[j]) + zds[j-1])/yds[ny-1]);</div><div class='del'>-	if (q) {</div><div class='del'>-	    i = 0; num = 0; t2 = 0;</div><div class='del'>-	    do {			/* multiply and subtract */</div><div class='del'>-		int ee;</div><div class='del'>-		t2 += (long)yds[i] * q;</div><div class='del'>-		ee = num - BIGLO(t2);</div><div class='del'>-		num = zds[j - ny + i] + ee;</div><div class='del'>-		if (ee) zds[j - ny + i] = BIGLO(num);</div><div class='del'>-		num = BIGDN(num);</div><div class='del'>-		t2 = BIGDN(t2);</div><div class='del'>-	    } while (++i &lt; ny);</div><div class='del'>-	    num += zds[j - ny + i] - t2; /* borrow from high digit; don't update */</div><div class='del'>-	    while (num) {		/* "add back" required */</div><div class='del'>-		i = 0; num = 0; q--;</div><div class='del'>-		do {</div><div class='del'>-		    int ee = num + yds[i];</div><div class='del'>-		    num = (long) zds[j - ny + i] + ee;</div><div class='del'>-		    if (ee) zds[j - ny + i] = BIGLO(num);</div><div class='del'>-		    num = BIGDN(num);</div><div class='del'>-		} while (++i &lt; ny);</div><div class='del'>-		num--;</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	zds[j] = q;</div><div class='del'>-    } while (--j &gt;= ny);</div><div class='del'>-    if (div) {			/* move quotient down in z */</div><div class='del'>-	*div = rb_big_clone(z);</div><div class='del'>-	zds = BDIGITS(*div);</div><div class='del'>-	j = (nx==ny ? nx+2 : nx+1) - ny;</div><div class='del'>-	for (i = 0;i &lt; j;i++) zds[i] = zds[i+ny];</div><div class='del'>-	RBIGNUM(*div)-&gt;len = i;</div><div class='del'>-	*div = bignorm(*div);</div><div class='del'>-    }</div><div class='del'>-    if (mod) {			/* just normalize remainder */</div><div class='del'>-	*mod = rb_big_clone(z);</div><div class='del'>-	if (dd) {</div><div class='del'>-	    zds = BDIGITS(*mod);</div><div class='del'>-	    t2 = 0; i = ny;</div><div class='del'>-	    while(i--) {</div><div class='del'>-		t2 = BIGUP(t2) + zds[i];</div><div class='del'>-		zds[i] = (USHORT)(t2 / dd);</div><div class='del'>-		t2 %= dd;</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	RBIGNUM(*mod)-&gt;len = ny;</div><div class='del'>-	RBIGNUM(*mod)-&gt;sign = RBIGNUM(x)-&gt;sign;</div><div class='del'>-	if (modulo &amp;&amp; RBIGNUM(x)-&gt;sign != RBIGNUM(y)-&gt;sign) {</div><div class='del'>-	    long len = ny;</div><div class='del'>-	    zds = BDIGITS(*mod);</div><div class='del'>-	    while (len-- &amp;&amp; !zds[len]);</div><div class='del'>-	    if (len &gt; 0) {</div><div class='del'>-		*mod = bigadd(*mod, y, 1);</div><div class='del'>-		return;</div><div class='del'>-	    }</div><div class='del'>-	}</div><div class='del'>-	*mod = bignorm(*mod);</div><div class='add'>+</div><div class='add'>+    if (modp) {</div><div class='add'>+        rn = yn;</div><div class='add'>+        r = bignew(rn, BIGNUM_SIGN(x));</div><div class='add'>+        rds = BDIGITS(r);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        rn = 0;</div><div class='add'>+        rds = NULL;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    bary_divmod_branch(qds, qn, rds, rn, xds, xn, yds, yn);</div><div class='add'>+</div><div class='add'>+    if (divp) {</div><div class='add'>+        bigtrunc(q);</div><div class='add'>+        *divp = q;</div><div class='ctx'>     }</div><div class='add'>+    if (modp) {</div><div class='add'>+        bigtrunc(r);</div><div class='add'>+        *modp = r;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return Qnil;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+static void</div><div class='add'>+bigdivmod(VALUE x, VALUE y, volatile VALUE *divp, volatile VALUE *modp)</div><div class='add'>+{</div><div class='add'>+    VALUE mod;</div><div class='add'>+</div><div class='add'>+    bigdivrem(x, y, divp, &amp;mod);</div><div class='add'>+    if (BIGNUM_SIGN(x) != BIGNUM_SIGN(y) &amp;&amp; !BIGZEROP(mod)) {</div><div class='add'>+	if (divp) *divp = bigadd(*divp, rb_int2big(1), 0);</div><div class='add'>+	if (modp) *modp = bigadd(mod, y, 1);</div><div class='add'>+    }</div><div class='add'>+    else if (modp) {</div><div class='add'>+	*modp = mod;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+</div><div class='ctx'> static VALUE</div><div class='del'>-rb_big_div(x, y)</div><div class='del'>-    VALUE x, y;</div><div class='add'>+rb_big_divide(VALUE x, VALUE y, ID op)</div><div class='ctx'> {</div><div class='ctx'>     VALUE z;</div><div class='ctx'> </div><div class='del'>-    switch (TYPE(y)) {</div><div class='del'>-      case T_FIXNUM:</div><div class='add'>+    if (FIXNUM_P(y)) {</div><div class='ctx'> 	y = rb_int2big(FIX2LONG(y));</div><div class='del'>-	break;</div><div class='add'>+    }</div><div class='add'>+    else if (RB_BIGNUM_TYPE_P(y)) {</div><div class='add'>+    }</div><div class='add'>+    else if (RB_FLOAT_TYPE_P(y)) {</div><div class='add'>+	if (op == '/') {</div><div class='add'>+            double dx = rb_big2dbl(x);</div><div class='add'>+            return rb_flo_div_flo(DBL2NUM(dx), y);</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+            VALUE v;</div><div class='add'>+	    double dy = RFLOAT_VALUE(y);</div><div class='add'>+	    if (dy == 0.0) rb_num_zerodiv();</div><div class='add'>+            v = rb_big_divide(x, y, '/');</div><div class='add'>+            return rb_dbl2big(RFLOAT_VALUE(v));</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	return rb_num_coerce_bin(x, y, op);</div><div class='add'>+    }</div><div class='add'>+    bigdivmod(x, y, &amp;z, 0);</div><div class='add'>+</div><div class='add'>+    return bignorm(z);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_big_div(VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    return rb_big_divide(x, y, '/');</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-      case T_BIGNUM:</div><div class='del'>-	break;</div><div class='add'>+VALUE</div><div class='add'>+rb_big_idiv(VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    return rb_big_divide(x, y, idDiv);</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-      case T_FLOAT:</div><div class='del'>-	return rb_float_new(rb_big2dbl(x) / RFLOAT(y)-&gt;value);</div><div class='add'>+VALUE</div><div class='add'>+rb_big_modulo(VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    VALUE z;</div><div class='ctx'> </div><div class='del'>-      default:</div><div class='del'>-	return rb_num_coerce_bin(x, y);</div><div class='add'>+    if (FIXNUM_P(y)) {</div><div class='add'>+	y = rb_int2big(FIX2LONG(y));</div><div class='ctx'>     }</div><div class='del'>-    bigdivmod(x, y, &amp;z, 0, 0);</div><div class='add'>+    else if (!RB_BIGNUM_TYPE_P(y)) {</div><div class='add'>+	return rb_num_coerce_bin(x, y, '%');</div><div class='add'>+    }</div><div class='add'>+    bigdivmod(x, y, 0, &amp;z);</div><div class='ctx'> </div><div class='del'>-    return z;</div><div class='add'>+    return bignorm(z);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-</div><div class='del'>-static VALUE</div><div class='del'>-rb_big_modulo(x, y, modulo)</div><div class='del'>-    VALUE x, y;</div><div class='del'>-    int modulo;</div><div class='add'>+VALUE</div><div class='add'>+rb_big_remainder(VALUE x, VALUE y)</div><div class='ctx'> {</div><div class='ctx'>     VALUE z;</div><div class='ctx'> </div><div class='del'>-    switch (TYPE(y)) {</div><div class='del'>-      case T_FIXNUM:</div><div class='add'>+    if (FIXNUM_P(y)) {</div><div class='ctx'> 	y = rb_int2big(FIX2LONG(y));</div><div class='del'>-	break;</div><div class='add'>+    }</div><div class='add'>+    else if (!RB_BIGNUM_TYPE_P(y)) {</div><div class='add'>+	return rb_num_coerce_bin(x, y, rb_intern("remainder"));</div><div class='add'>+    }</div><div class='add'>+    bigdivrem(x, y, 0, &amp;z);</div><div class='ctx'> </div><div class='del'>-      case T_BIGNUM:</div><div class='del'>-	break;</div><div class='add'>+    return bignorm(z);</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-      case T_FLOAT:</div><div class='del'>-	y = rb_dbl2big(RFLOAT(y)-&gt;value);</div><div class='del'>-	break;</div><div class='add'>+VALUE</div><div class='add'>+rb_big_divmod(VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    VALUE div, mod;</div><div class='ctx'> </div><div class='del'>-      default:</div><div class='del'>-	return rb_num_coerce_bin(x, y);</div><div class='add'>+    if (FIXNUM_P(y)) {</div><div class='add'>+	y = rb_int2big(FIX2LONG(y));</div><div class='add'>+    }</div><div class='add'>+    else if (!RB_BIGNUM_TYPE_P(y)) {</div><div class='add'>+        return rb_num_coerce_bin(x, y, idDivmod);</div><div class='ctx'>     }</div><div class='del'>-    bigdivmod(x, y, 0, &amp;z, modulo);</div><div class='add'>+    bigdivmod(x, y, &amp;div, &amp;mod);</div><div class='ctx'> </div><div class='del'>-    return z;</div><div class='add'>+    return rb_assoc_new(bignorm(div), bignorm(mod));</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-rb_big_mod(x, y)</div><div class='del'>-    VALUE x, y;</div><div class='add'>+big_shift(VALUE x, long n)</div><div class='ctx'> {</div><div class='del'>-    return rb_big_modulo(x, y, 1);</div><div class='add'>+    if (n &lt; 0)</div><div class='add'>+	return big_lshift(x, 1+(unsigned long)(-(n+1)));</div><div class='add'>+    else if (n &gt; 0)</div><div class='add'>+	return big_rshift(x, (unsigned long)n);</div><div class='add'>+    return x;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-rb_big_remainder(x, y)</div><div class='del'>-    VALUE x, y;</div><div class='add'>+enum {DBL_BIGDIG = ((DBL_MANT_DIG + BITSPERDIG) / BITSPERDIG)};</div><div class='add'>+</div><div class='add'>+static double</div><div class='add'>+big_fdiv(VALUE x, VALUE y, long ey)</div><div class='ctx'> {</div><div class='del'>-    return rb_big_modulo(x, y, 0);</div><div class='add'>+    VALUE z;</div><div class='add'>+    long l, ex;</div><div class='add'>+</div><div class='add'>+    bigtrunc(x);</div><div class='add'>+    l = BIGNUM_LEN(x);</div><div class='add'>+    ex = l * BITSPERDIG - nlz(BDIGITS(x)[l-1]);</div><div class='add'>+    ex -= 2 * DBL_BIGDIG * BITSPERDIG;</div><div class='add'>+    if (ex &gt; BITSPERDIG) ex -= BITSPERDIG;</div><div class='add'>+    else if (ex &gt; 0) ex = 0;</div><div class='add'>+    if (ex) x = big_shift(x, ex);</div><div class='add'>+</div><div class='add'>+    bigdivrem(x, y, &amp;z, 0);</div><div class='add'>+    l = ex - ey;</div><div class='add'>+#if SIZEOF_LONG &gt; SIZEOF_INT</div><div class='add'>+    {</div><div class='add'>+	/* Visual C++ can't be here */</div><div class='add'>+	if (l &gt; INT_MAX) return HUGE_VAL;</div><div class='add'>+	if (l &lt; INT_MIN) return 0.0;</div><div class='add'>+    }</div><div class='add'>+#endif</div><div class='add'>+    return ldexp(big2dbl(z), (int)l);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-rb_big_divmod(x, y)</div><div class='del'>-    VALUE x, y;</div><div class='add'>+static double</div><div class='add'>+big_fdiv_int(VALUE x, VALUE y)</div><div class='ctx'> {</div><div class='del'>-    VALUE div, mod;</div><div class='del'>-</div><div class='del'>-    switch (TYPE(y)) {</div><div class='del'>-      case T_FIXNUM:</div><div class='del'>-	y = rb_int2big(FIX2LONG(y));</div><div class='del'>-	break;</div><div class='add'>+    long l, ey;</div><div class='add'>+    bigtrunc(y);</div><div class='add'>+    l = BIGNUM_LEN(y);</div><div class='add'>+    ey = l * BITSPERDIG - nlz(BDIGITS(y)[l-1]);</div><div class='add'>+    ey -= DBL_BIGDIG * BITSPERDIG;</div><div class='add'>+    if (ey) y = big_shift(y, ey);</div><div class='add'>+    return big_fdiv(x, y, ey);</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-      case T_FLOAT:</div><div class='del'>-	y = rb_dbl2big(RFLOAT(y)-&gt;value);</div><div class='del'>-	break;</div><div class='add'>+static double</div><div class='add'>+big_fdiv_float(VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    int i;</div><div class='add'>+    y = dbl2big(ldexp(frexp(RFLOAT_VALUE(y), &amp;i), DBL_MANT_DIG));</div><div class='add'>+    return big_fdiv(x, y, i - DBL_MANT_DIG);</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-      case T_BIGNUM:</div><div class='del'>-	break;</div><div class='add'>+double</div><div class='add'>+rb_big_fdiv_double(VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    double dx, dy;</div><div class='add'>+    VALUE v;</div><div class='ctx'> </div><div class='del'>-      default:</div><div class='del'>-	return rb_num_coerce_bin(x, y);</div><div class='add'>+    dx = big2dbl(x);</div><div class='add'>+    if (FIXNUM_P(y)) {</div><div class='add'>+	dy = (double)FIX2LONG(y);</div><div class='add'>+	if (isinf(dx))</div><div class='add'>+	    return big_fdiv_int(x, rb_int2big(FIX2LONG(y)));</div><div class='ctx'>     }</div><div class='del'>-    bigdivmod(x, y, &amp;div, &amp;mod, 1);</div><div class='add'>+    else if (RB_BIGNUM_TYPE_P(y)) {</div><div class='add'>+	return big_fdiv_int(x, y);</div><div class='add'>+    }</div><div class='add'>+    else if (RB_FLOAT_TYPE_P(y)) {</div><div class='add'>+	dy = RFLOAT_VALUE(y);</div><div class='add'>+	if (isnan(dy))</div><div class='add'>+	    return dy;</div><div class='add'>+	if (isinf(dx))</div><div class='add'>+	    return big_fdiv_float(x, y);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        return NUM2DBL(rb_num_coerce_bin(x, y, idFdiv));</div><div class='add'>+    }</div><div class='add'>+    v = rb_flo_div_flo(DBL2NUM(dx), DBL2NUM(dy));</div><div class='add'>+    return NUM2DBL(v);</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-    return rb_assoc_new(div, mod);;</div><div class='add'>+VALUE</div><div class='add'>+rb_big_fdiv(VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    return DBL2NUM(rb_big_fdiv_double(x, y));</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_big_pow(x, y)</div><div class='del'>-    VALUE x, y;</div><div class='add'>+rb_big_pow(VALUE x, VALUE y)</div><div class='ctx'> {</div><div class='ctx'>     double d;</div><div class='del'>-    long yy;</div><div class='del'>-    </div><div class='del'>-    if (y == INT2FIX(0)) return INT2FIX(1);</div><div class='del'>-    switch (TYPE(y)) {</div><div class='del'>-      case T_FLOAT:</div><div class='del'>-	d = RFLOAT(y)-&gt;value;</div><div class='del'>-	break;</div><div class='add'>+    SIGNED_VALUE yy;</div><div class='ctx'> </div><div class='del'>-      case T_BIGNUM:</div><div class='add'>+  again:</div><div class='add'>+    if (y == INT2FIX(0)) return INT2FIX(1);</div><div class='add'>+    if (y == INT2FIX(1)) return x;</div><div class='add'>+    if (RB_FLOAT_TYPE_P(y)) {</div><div class='add'>+	d = RFLOAT_VALUE(y);</div><div class='add'>+	if ((BIGNUM_NEGATIVE_P(x) &amp;&amp; !BIGZEROP(x))) {</div><div class='add'>+            return rb_dbl_complex_new_polar_pi(pow(-rb_big2dbl(x), d), d);</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    else if (RB_BIGNUM_TYPE_P(y)) {</div><div class='add'>+	y = bignorm(y);</div><div class='add'>+	if (FIXNUM_P(y))</div><div class='add'>+	    goto again;</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'>-	break;</div><div class='del'>-</div><div class='del'>-      case T_FIXNUM:</div><div class='del'>-	yy = NUM2LONG(y);</div><div class='del'>-	if (yy &gt; 0) {</div><div class='del'>-	    VALUE z;</div><div class='del'>-</div><div class='del'>-	    z = x;</div><div class='del'>-	    for (;;) {</div><div class='del'>-		yy = yy - 1;</div><div class='del'>-		if (yy == 0) break;</div><div class='del'>-		while (yy % 2 == 0) {</div><div class='del'>-		    yy = yy / 2;</div><div class='del'>-		    x = rb_big_mul(x, x);</div><div class='add'>+    }</div><div class='add'>+    else if (FIXNUM_P(y)) {</div><div class='add'>+	yy = FIX2LONG(y);</div><div class='add'>+</div><div class='add'>+        if (yy &lt; 0) {</div><div class='add'>+            x = rb_big_pow(x, LONG2NUM(-yy));</div><div class='add'>+            if (RB_INTEGER_TYPE_P(x))</div><div class='add'>+                return rb_rational_raw(INT2FIX(1), x);</div><div class='add'>+            else</div><div class='add'>+                return DBL2NUM(1.0 / NUM2DBL(x));</div><div class='add'>+        }</div><div class='add'>+	else {</div><div class='add'>+	    VALUE z = 0;</div><div class='add'>+	    SIGNED_VALUE mask;</div><div class='add'>+            const size_t xbits = rb_absint_numwords(x, 1, NULL);</div><div class='add'>+	    const size_t BIGLEN_LIMIT = 32*1024*1024;</div><div class='add'>+</div><div class='add'>+	    if (xbits == (size_t)-1 ||</div><div class='add'>+                (xbits &gt; BIGLEN_LIMIT) ||</div><div class='add'>+                (xbits * yy &gt; BIGLEN_LIMIT)) {</div><div class='add'>+		rb_warn("in a**b, b may be too big");</div><div class='add'>+		d = (double)yy;</div><div class='add'>+	    }</div><div class='add'>+	    else {</div><div class='add'>+		for (mask = FIXNUM_MAX + 1; mask; mask &gt;&gt;= 1) {</div><div class='add'>+		    if (z) z = bigsq(z);</div><div class='add'>+		    if (yy &amp; mask) {</div><div class='add'>+			z = z ? bigtrunc(bigmul0(z, x)) : x;</div><div class='add'>+		    }</div><div class='ctx'> 		}</div><div class='del'>-		z = rb_big_mul(z, x);</div><div class='add'>+		return bignorm(z);</div><div class='ctx'> 	    }</div><div class='del'>-	    if (!FIXNUM_P(z)) z = bignorm(z);</div><div class='del'>-	    return z;</div><div class='ctx'> 	}</div><div class='del'>-	d = (double)yy;</div><div class='del'>-	break;</div><div class='del'>-</div><div class='del'>-      default:</div><div class='del'>-	return rb_num_coerce_bin(x, y);</div><div class='ctx'>     }</div><div class='del'>-    return rb_float_new(pow(rb_big2dbl(x), d));</div><div class='add'>+    else {</div><div class='add'>+	return rb_num_coerce_bin(x, y, idPow);</div><div class='add'>+    }</div><div class='add'>+    return DBL2NUM(pow(rb_big2dbl(x), d));</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_big_and(x, y)</div><div class='del'>-    VALUE x, y;</div><div class='add'>+static VALUE</div><div class='add'>+bigand_int(VALUE x, long xn, BDIGIT hibitsx, long y)</div><div class='ctx'> {</div><div class='ctx'>     VALUE z;</div><div class='del'>-    USHORT *ds1, *ds2, *zds;</div><div class='del'>-    long i, l1, l2;</div><div class='del'>-    char sign;</div><div class='add'>+    BDIGIT *xds, *zds;</div><div class='add'>+    long zn;</div><div class='add'>+    long i;</div><div class='add'>+    BDIGIT hibitsy;</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 {</div><div class='del'>-	Check_Type(y, T_BIGNUM);</div><div class='add'>+    if (y == 0) return INT2FIX(0);</div><div class='add'>+    if (xn == 0) return hibitsx ? LONG2NUM(y) : 0;</div><div class='add'>+    hibitsy = 0 &lt;= y ? 0 : BDIGMAX;</div><div class='add'>+    xds = BDIGITS(x);</div><div class='add'>+#if SIZEOF_BDIGIT &gt;= SIZEOF_LONG</div><div class='add'>+    if (!hibitsy) {</div><div class='add'>+	y &amp;= xds[0];</div><div class='add'>+	return LONG2NUM(y);</div><div class='ctx'>     }</div><div class='add'>+#endif</div><div class='ctx'> </div><div class='del'>-    if (!RBIGNUM(y)-&gt;sign) {</div><div class='del'>-	y = rb_big_clone(y);</div><div class='del'>-	rb_big_2comp(y);</div><div class='del'>-    }</div><div class='del'>-    if (!RBIGNUM(x)-&gt;sign) {</div><div class='del'>-	x = rb_big_clone(x);</div><div class='del'>-	rb_big_2comp(x);</div><div class='del'>-    }</div><div class='del'>-    if (RBIGNUM(x)-&gt;len &gt; RBIGNUM(y)-&gt;len) {</div><div class='del'>-	l1 = RBIGNUM(y)-&gt;len;</div><div class='del'>-	l2 = RBIGNUM(x)-&gt;len;</div><div class='del'>-	ds1 = BDIGITS(y);</div><div class='del'>-	ds2 = BDIGITS(x);</div><div class='del'>-	sign = RBIGNUM(y)-&gt;sign;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	l1 = RBIGNUM(x)-&gt;len;</div><div class='del'>-	l2 = RBIGNUM(y)-&gt;len;</div><div class='del'>-	ds1 = BDIGITS(x);</div><div class='del'>-	ds2 = BDIGITS(y);</div><div class='del'>-	sign = RBIGNUM(x)-&gt;sign;</div><div class='del'>-    }</div><div class='del'>-    z = bignew(l2, RBIGNUM(x)-&gt;sign || RBIGNUM(y)-&gt;sign);</div><div class='add'>+    zn = xn;</div><div class='add'>+#if SIZEOF_BDIGIT &lt; SIZEOF_LONG</div><div class='add'>+    if (hibitsx &amp;&amp; zn &lt; bdigit_roomof(SIZEOF_LONG))</div><div class='add'>+        zn = bdigit_roomof(SIZEOF_LONG);</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+    z = bignew(zn, 0);</div><div class='ctx'>     zds = BDIGITS(z);</div><div class='ctx'> </div><div class='del'>-    for (i=0; i&lt;l1; i++) {</div><div class='del'>-	zds[i] = ds1[i] &amp; ds2[i];</div><div class='add'>+#if SIZEOF_BDIGIT &gt;= SIZEOF_LONG</div><div class='add'>+    i = 1;</div><div class='add'>+    zds[0] = xds[0] &amp; BIGLO(y);</div><div class='add'>+#else</div><div class='add'>+    for (i=0; i &lt; xn; i++) {</div><div class='add'>+        if (y == 0 || y == -1) break;</div><div class='add'>+        zds[i] = xds[i] &amp; BIGLO(y);</div><div class='add'>+        y = BIGDN(y);</div><div class='ctx'>     }</div><div class='del'>-    for (; i&lt;l2; i++) {</div><div class='del'>-	zds[i] = sign?0:ds2[i];</div><div class='add'>+    for (; i &lt; zn; i++) {</div><div class='add'>+        if (y == 0 || y == -1) break;</div><div class='add'>+        zds[i] = hibitsx &amp; BIGLO(y);</div><div class='add'>+        y = BIGDN(y);</div><div class='add'>+    }</div><div class='add'>+#endif</div><div class='add'>+    for (;i &lt; xn; i++) {</div><div class='add'>+	zds[i] = xds[i] &amp; hibitsy;</div><div class='ctx'>     }</div><div class='del'>-    if (!RBIGNUM(z)-&gt;sign) rb_big_2comp(z);</div><div class='add'>+    for (;i &lt; zn; i++) {</div><div class='add'>+	zds[i] = hibitsx &amp; hibitsy;</div><div class='add'>+    }</div><div class='add'>+    twocomp2abs_bang(z, hibitsx &amp;&amp; hibitsy);</div><div class='add'>+    RB_GC_GUARD(x);</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_big_or(x, y)</div><div class='del'>-    VALUE x, y;</div><div class='add'>+rb_big_and(VALUE x, VALUE y)</div><div class='ctx'> {</div><div class='ctx'>     VALUE z;</div><div class='del'>-    USHORT *ds1, *ds2, *zds;</div><div class='del'>-    unsigned long i, l1, l2;</div><div class='del'>-    char sign;</div><div class='add'>+    BDIGIT *ds1, *ds2, *zds;</div><div class='add'>+    long i, xn, yn, n1, n2;</div><div class='add'>+    BDIGIT hibitsx, hibitsy;</div><div class='add'>+    BDIGIT hibits1, hibits2;</div><div class='add'>+    VALUE tmpv;</div><div class='add'>+    BDIGIT tmph;</div><div class='add'>+    long tmpn;</div><div class='add'>+</div><div class='add'>+    if (!RB_INTEGER_TYPE_P(y)) {</div><div class='add'>+	return rb_num_coerce_bit(x, y, '&amp;');</div><div class='add'>+    }</div><div class='ctx'> </div><div class='add'>+    hibitsx = abs2twocomp(&amp;x, &amp;xn);</div><div class='ctx'>     if (FIXNUM_P(y)) {</div><div class='del'>-	y = rb_int2big(FIX2LONG(y));</div><div class='add'>+	return bigand_int(x, xn, hibitsx, FIX2LONG(y));</div><div class='ctx'>     }</div><div class='del'>-    else {</div><div class='del'>-	Check_Type(y, T_BIGNUM);</div><div class='add'>+    hibitsy = abs2twocomp(&amp;y, &amp;yn);</div><div class='add'>+    if (xn &gt; yn) {</div><div class='add'>+        tmpv = x; x = y; y = tmpv;</div><div class='add'>+        tmpn = xn; xn = yn; yn = tmpn;</div><div class='add'>+        tmph = hibitsx; hibitsx = hibitsy; hibitsy = tmph;</div><div class='ctx'>     }</div><div class='add'>+    n1 = xn;</div><div class='add'>+    n2 = yn;</div><div class='add'>+    ds1 = BDIGITS(x);</div><div class='add'>+    ds2 = BDIGITS(y);</div><div class='add'>+    hibits1 = hibitsx;</div><div class='add'>+    hibits2 = hibitsy;</div><div class='add'>+</div><div class='add'>+    if (!hibits1)</div><div class='add'>+        n2 = n1;</div><div class='add'>+</div><div class='add'>+    z = bignew(n2, 0);</div><div class='add'>+    zds = BDIGITS(z);</div><div class='ctx'> </div><div class='del'>-    if (!RBIGNUM(y)-&gt;sign) {</div><div class='del'>-	y = rb_big_clone(y);</div><div class='del'>-	rb_big_2comp(y);</div><div class='add'>+    for (i=0; i&lt;n1; i++) {</div><div class='add'>+	zds[i] = ds1[i] &amp; ds2[i];</div><div class='ctx'>     }</div><div class='del'>-    if (!RBIGNUM(x)-&gt;sign) {</div><div class='del'>-	x = rb_big_clone(x);</div><div class='del'>-	rb_big_2comp(x);</div><div class='add'>+    for (; i&lt;n2; i++) {</div><div class='add'>+	zds[i] = hibits1 &amp; ds2[i];</div><div class='ctx'>     }</div><div class='del'>-    if (RBIGNUM(x)-&gt;len &gt; RBIGNUM(y)-&gt;len) {</div><div class='del'>-	l1 = RBIGNUM(y)-&gt;len;</div><div class='del'>-	l2 = RBIGNUM(x)-&gt;len;</div><div class='del'>-	ds1 = BDIGITS(y);</div><div class='del'>-	ds2 = BDIGITS(x);</div><div class='del'>-	sign = RBIGNUM(y)-&gt;sign;</div><div class='add'>+    twocomp2abs_bang(z, hibits1 &amp;&amp; hibits2);</div><div class='add'>+    RB_GC_GUARD(x);</div><div class='add'>+    RB_GC_GUARD(y);</div><div class='add'>+    return bignorm(z);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+bigor_int(VALUE x, long xn, BDIGIT hibitsx, long y)</div><div class='add'>+{</div><div class='add'>+    VALUE z;</div><div class='add'>+    BDIGIT *xds, *zds;</div><div class='add'>+    long zn;</div><div class='add'>+    long i;</div><div class='add'>+    BDIGIT hibitsy;</div><div class='add'>+</div><div class='add'>+    if (y == -1) return INT2FIX(-1);</div><div class='add'>+    if (xn == 0) return hibitsx ? INT2FIX(-1) : LONG2FIX(y);</div><div class='add'>+    hibitsy = 0 &lt;= y ? 0 : BDIGMAX;</div><div class='add'>+    xds = BDIGITS(x);</div><div class='add'>+</div><div class='add'>+    zn = BIGNUM_LEN(x);</div><div class='add'>+#if SIZEOF_BDIGIT &lt; SIZEOF_LONG</div><div class='add'>+    if (zn &lt; bdigit_roomof(SIZEOF_LONG))</div><div class='add'>+        zn = bdigit_roomof(SIZEOF_LONG);</div><div class='add'>+#endif</div><div class='add'>+    z = bignew(zn, 0);</div><div class='add'>+    zds = BDIGITS(z);</div><div class='add'>+</div><div class='add'>+#if SIZEOF_BDIGIT &gt;= SIZEOF_LONG</div><div class='add'>+    i = 1;</div><div class='add'>+    zds[0] = xds[0] | BIGLO(y);</div><div class='add'>+    if (i &lt; zn)</div><div class='add'>+        goto y_is_fixed_point;</div><div class='add'>+    goto finish;</div><div class='add'>+#else</div><div class='add'>+    for (i=0; i &lt; xn; i++) {</div><div class='add'>+        if (y == 0 || y == -1) goto y_is_fixed_point;</div><div class='add'>+        zds[i] = xds[i] | BIGLO(y);</div><div class='add'>+        y = BIGDN(y);</div><div class='ctx'>     }</div><div class='del'>-    else {</div><div class='del'>-	l1 = RBIGNUM(x)-&gt;len;</div><div class='del'>-	l2 = RBIGNUM(y)-&gt;len;</div><div class='del'>-	ds1 = BDIGITS(x);</div><div class='del'>-	ds2 = BDIGITS(y);</div><div class='del'>-	sign = RBIGNUM(x)-&gt;sign;</div><div class='add'>+    if (hibitsx)</div><div class='add'>+        goto fill_hibits;</div><div class='add'>+    for (; i &lt; zn; i++) {</div><div class='add'>+        if (y == 0 || y == -1) goto y_is_fixed_point;</div><div class='add'>+        zds[i] = BIGLO(y);</div><div class='add'>+        y = BIGDN(y);</div><div class='ctx'>     }</div><div class='del'>-    z = bignew(l2, RBIGNUM(x)-&gt;sign &amp;&amp; RBIGNUM(y)-&gt;sign);</div><div class='del'>-    zds = BDIGITS(z);</div><div class='add'>+  goto finish;</div><div class='add'>+#endif</div><div class='ctx'> </div><div class='del'>-    for (i=0; i&lt;l1; i++) {</div><div class='del'>-	zds[i] = ds1[i] | ds2[i];</div><div class='add'>+  y_is_fixed_point:</div><div class='add'>+    if (hibitsy)</div><div class='add'>+        goto fill_hibits;</div><div class='add'>+    for (; i &lt; xn; i++) {</div><div class='add'>+        zds[i] = xds[i];</div><div class='ctx'>     }</div><div class='del'>-    for (; i&lt;l2; i++) {</div><div class='del'>-	zds[i] = sign?ds2[i]:(BIGRAD-1);</div><div class='add'>+    if (hibitsx)</div><div class='add'>+        goto fill_hibits;</div><div class='add'>+    for (; i &lt; zn; i++) {</div><div class='add'>+        zds[i] = 0;</div><div class='ctx'>     }</div><div class='del'>-    if (!RBIGNUM(z)-&gt;sign) rb_big_2comp(z);</div><div class='add'>+  goto finish;</div><div class='ctx'> </div><div class='add'>+  fill_hibits:</div><div class='add'>+    for (; i &lt; zn; i++) {</div><div class='add'>+        zds[i] = BDIGMAX;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+  finish:</div><div class='add'>+    twocomp2abs_bang(z, hibitsx || hibitsy);</div><div class='add'>+    RB_GC_GUARD(x);</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_big_xor(x, y)</div><div class='del'>-    VALUE x, y;</div><div class='add'>+rb_big_or(VALUE x, VALUE y)</div><div class='ctx'> {</div><div class='ctx'>     VALUE z;</div><div class='del'>-    USHORT *ds1, *ds2, *zds;</div><div class='del'>-    unsigned int i, l1, l2;</div><div class='del'>-    char sign;</div><div class='add'>+    BDIGIT *ds1, *ds2, *zds;</div><div class='add'>+    long i, xn, yn, n1, n2;</div><div class='add'>+    BDIGIT hibitsx, hibitsy;</div><div class='add'>+    BDIGIT hibits1, hibits2;</div><div class='add'>+    VALUE tmpv;</div><div class='add'>+    BDIGIT tmph;</div><div class='add'>+    long tmpn;</div><div class='add'>+</div><div class='add'>+    if (!RB_INTEGER_TYPE_P(y)) {</div><div class='add'>+	return rb_num_coerce_bit(x, y, '|');</div><div class='add'>+    }</div><div class='ctx'> </div><div class='add'>+    hibitsx = abs2twocomp(&amp;x, &amp;xn);</div><div class='ctx'>     if (FIXNUM_P(y)) {</div><div class='del'>-	y = rb_int2big(FIX2LONG(y));</div><div class='add'>+	return bigor_int(x, xn, hibitsx, FIX2LONG(y));</div><div class='ctx'>     }</div><div class='del'>-    else {</div><div class='del'>-	Check_Type(y, T_BIGNUM);</div><div class='add'>+    hibitsy = abs2twocomp(&amp;y, &amp;yn);</div><div class='add'>+    if (xn &gt; yn) {</div><div class='add'>+        tmpv = x; x = y; y = tmpv;</div><div class='add'>+        tmpn = xn; xn = yn; yn = tmpn;</div><div class='add'>+        tmph = hibitsx; hibitsx = hibitsy; hibitsy = tmph;</div><div class='ctx'>     }</div><div class='add'>+    n1 = xn;</div><div class='add'>+    n2 = yn;</div><div class='add'>+    ds1 = BDIGITS(x);</div><div class='add'>+    ds2 = BDIGITS(y);</div><div class='add'>+    hibits1 = hibitsx;</div><div class='add'>+    hibits2 = hibitsy;</div><div class='ctx'> </div><div class='del'>-    if (!RBIGNUM(y)-&gt;sign) {</div><div class='del'>-	y = rb_big_clone(y);</div><div class='del'>-	rb_big_2comp(y);</div><div class='del'>-    }</div><div class='del'>-    if (!RBIGNUM(x)-&gt;sign) {</div><div class='del'>-	x = rb_big_clone(x);</div><div class='del'>-	rb_big_2comp(x);</div><div class='del'>-    }</div><div class='del'>-    if (RBIGNUM(x)-&gt;len &gt; RBIGNUM(y)-&gt;len) {</div><div class='del'>-	l1 = RBIGNUM(y)-&gt;len;</div><div class='del'>-	l2 = RBIGNUM(x)-&gt;len;</div><div class='del'>-	ds1 = BDIGITS(y);</div><div class='del'>-	ds2 = BDIGITS(x);</div><div class='del'>-	sign = RBIGNUM(y)-&gt;sign;</div><div class='del'>-    }</div><div class='del'>-    else {</div><div class='del'>-	l1 = RBIGNUM(x)-&gt;len;</div><div class='del'>-	l2 = RBIGNUM(y)-&gt;len;</div><div class='del'>-	ds1 = BDIGITS(x);</div><div class='del'>-	ds2 = BDIGITS(y);</div><div class='del'>-	sign = RBIGNUM(x)-&gt;sign;</div><div class='del'>-    }</div><div class='del'>-    RBIGNUM(x)-&gt;sign = RBIGNUM(x)-&gt;sign?1:0;</div><div class='del'>-    RBIGNUM(y)-&gt;sign = RBIGNUM(y)-&gt;sign?1:0;</div><div class='del'>-    z = bignew(l2, !(RBIGNUM(x)-&gt;sign ^ RBIGNUM(y)-&gt;sign));</div><div class='add'>+    if (hibits1)</div><div class='add'>+        n2 = n1;</div><div class='add'>+</div><div class='add'>+    z = bignew(n2, 0);</div><div class='ctx'>     zds = BDIGITS(z);</div><div class='ctx'> </div><div class='del'>-    for (i=0; i&lt;l1; i++) {</div><div class='del'>-	zds[i] = ds1[i] ^ ds2[i];</div><div class='add'>+    for (i=0; i&lt;n1; i++) {</div><div class='add'>+	zds[i] = ds1[i] | ds2[i];</div><div class='ctx'>     }</div><div class='del'>-    for (; i&lt;l2; i++) {</div><div class='del'>-	zds[i] = sign?ds2[i]:~ds2[i];</div><div class='add'>+    for (; i&lt;n2; i++) {</div><div class='add'>+	zds[i] = hibits1 | ds2[i];</div><div class='ctx'>     }</div><div class='del'>-    if (!RBIGNUM(z)-&gt;sign) rb_big_2comp(z);</div><div class='del'>-</div><div class='add'>+    twocomp2abs_bang(z, hibits1 || hibits2);</div><div class='add'>+    RB_GC_GUARD(x);</div><div class='add'>+    RB_GC_GUARD(y);</div><div class='ctx'>     return bignorm(z);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static VALUE rb_big_rshift _((VALUE,VALUE));</div><div class='del'>-</div><div class='del'>-VALUE</div><div class='del'>-rb_big_lshift(x, y)</div><div class='del'>-    VALUE x, y;</div><div class='add'>+static VALUE</div><div class='add'>+bigxor_int(VALUE x, long xn, BDIGIT hibitsx, long y)</div><div class='ctx'> {</div><div class='del'>-    USHORT *xds, *zds;</div><div class='del'>-    int shift = NUM2INT(y);</div><div class='del'>-    int s1 = shift/BITSPERDIG;</div><div class='del'>-    int s2 = shift%BITSPERDIG;</div><div class='ctx'>     VALUE z;</div><div class='del'>-    unsigned long num = 0;</div><div class='del'>-    long len, i;</div><div class='add'>+    BDIGIT *xds, *zds;</div><div class='add'>+    long zn;</div><div class='add'>+    long i;</div><div class='add'>+    BDIGIT hibitsy;</div><div class='ctx'> </div><div class='del'>-    if (shift &lt; 0) return rb_big_rshift(x, INT2FIX(-shift));</div><div class='add'>+    hibitsy = 0 &lt;= y ? 0 : BDIGMAX;</div><div class='ctx'>     xds = BDIGITS(x);</div><div class='del'>-    len = RBIGNUM(x)-&gt;len;</div><div class='del'>-    z = bignew(len+s1+1, RBIGNUM(x)-&gt;sign);</div><div class='add'>+    zn = BIGNUM_LEN(x);</div><div class='add'>+#if SIZEOF_BDIGIT &lt; SIZEOF_LONG</div><div class='add'>+    if (zn &lt; bdigit_roomof(SIZEOF_LONG))</div><div class='add'>+        zn = bdigit_roomof(SIZEOF_LONG);</div><div class='add'>+#endif</div><div class='add'>+    z = bignew(zn, 0);</div><div class='ctx'>     zds = BDIGITS(z);</div><div class='del'>-    for (i=0; i&lt;s1; i++) {</div><div class='del'>-	*zds++ = 0;</div><div class='add'>+</div><div class='add'>+#if SIZEOF_BDIGIT &gt;= SIZEOF_LONG</div><div class='add'>+    i = 1;</div><div class='add'>+    zds[0] = xds[0] ^ BIGLO(y);</div><div class='add'>+#else</div><div class='add'>+    for (i = 0; i &lt; xn; i++) {</div><div class='add'>+        zds[i] = xds[i] ^ BIGLO(y);</div><div class='add'>+        y = BIGDN(y);</div><div class='ctx'>     }</div><div class='del'>-    for (i=0; i&lt;len; i++) {</div><div class='del'>-	num = num | *xds++&lt;&lt;s2;</div><div class='del'>-	*zds++ = BIGLO(num);</div><div class='del'>-	num = BIGDN(num);</div><div class='add'>+    for (; i &lt; zn; i++) {</div><div class='add'>+        zds[i] = hibitsx ^ BIGLO(y);</div><div class='add'>+        y = BIGDN(y);</div><div class='add'>+    }</div><div class='add'>+#endif</div><div class='add'>+    for (; i &lt; xn; i++) {</div><div class='add'>+        zds[i] = xds[i] ^ hibitsy;</div><div class='ctx'>     }</div><div class='del'>-    *zds = BIGLO(num);</div><div class='add'>+    for (; i &lt; zn; i++) {</div><div class='add'>+        zds[i] = hibitsx ^ hibitsy;</div><div class='add'>+    }</div><div class='add'>+    twocomp2abs_bang(z, (hibitsx ^ hibitsy) != 0);</div><div class='add'>+    RB_GC_GUARD(x);</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'>-rb_big_rshift(x, y)</div><div class='del'>-    VALUE x, y;</div><div class='add'>+VALUE</div><div class='add'>+rb_big_xor(VALUE x, VALUE y)</div><div class='ctx'> {</div><div class='del'>-    USHORT *xds, *zds;</div><div class='del'>-    int shift = NUM2INT(y);</div><div class='del'>-    int s1 = shift/BITSPERDIG;</div><div class='del'>-    int s2 = shift%BITSPERDIG;</div><div class='ctx'>     VALUE z;</div><div class='del'>-    unsigned long num = 0;</div><div class='del'>-    long i = RBIGNUM(x)-&gt;len;</div><div class='del'>-    long j;</div><div class='add'>+    BDIGIT *ds1, *ds2, *zds;</div><div class='add'>+    long i, xn, yn, n1, n2;</div><div class='add'>+    BDIGIT hibitsx, hibitsy;</div><div class='add'>+    BDIGIT hibits1, hibits2;</div><div class='add'>+    VALUE tmpv;</div><div class='add'>+    BDIGIT tmph;</div><div class='add'>+    long tmpn;</div><div class='add'>+</div><div class='add'>+    if (!RB_INTEGER_TYPE_P(y)) {</div><div class='add'>+	return rb_num_coerce_bit(x, y, '^');</div><div class='add'>+    }</div><div class='ctx'> </div><div class='del'>-    if (shift &lt; 0) return rb_big_lshift(x, INT2FIX(-shift));</div><div class='del'>-    if (s1 &gt; RBIGNUM(x)-&gt;len) {</div><div class='del'>-	if (RBIGNUM(x)-&gt;sign)</div><div class='del'>-	    return INT2FIX(0);</div><div class='del'>-	else</div><div class='del'>-	    return INT2FIX(-1);</div><div class='add'>+    hibitsx = abs2twocomp(&amp;x, &amp;xn);</div><div class='add'>+    if (FIXNUM_P(y)) {</div><div class='add'>+	return bigxor_int(x, xn, hibitsx, FIX2LONG(y));</div><div class='ctx'>     }</div><div class='del'>-    xds = BDIGITS(x);</div><div class='del'>-    i = RBIGNUM(x)-&gt;len; j = i - s1;</div><div class='del'>-    z = bignew(j, RBIGNUM(x)-&gt;sign);</div><div class='add'>+    hibitsy = abs2twocomp(&amp;y, &amp;yn);</div><div class='add'>+    if (xn &gt; yn) {</div><div class='add'>+        tmpv = x; x = y; y = tmpv;</div><div class='add'>+        tmpn = xn; xn = yn; yn = tmpn;</div><div class='add'>+        tmph = hibitsx; hibitsx = hibitsy; hibitsy = tmph;</div><div class='add'>+    }</div><div class='add'>+    n1 = xn;</div><div class='add'>+    n2 = yn;</div><div class='add'>+    ds1 = BDIGITS(x);</div><div class='add'>+    ds2 = BDIGITS(y);</div><div class='add'>+    hibits1 = hibitsx;</div><div class='add'>+    hibits2 = hibitsy;</div><div class='add'>+</div><div class='add'>+    z = bignew(n2, 0);</div><div class='ctx'>     zds = BDIGITS(z);</div><div class='del'>-    while (i--, j--) {</div><div class='del'>-	num = (num | xds[i]) &gt;&gt; s2;</div><div class='del'>-	zds[j] = BIGLO(num);</div><div class='del'>-	num = BIGUP(xds[i]);</div><div class='add'>+</div><div class='add'>+    for (i=0; i&lt;n1; i++) {</div><div class='add'>+	zds[i] = ds1[i] ^ ds2[i];</div><div class='ctx'>     }</div><div class='add'>+    for (; i&lt;n2; i++) {</div><div class='add'>+	zds[i] = hibitsx ^ ds2[i];</div><div class='add'>+    }</div><div class='add'>+    twocomp2abs_bang(z, (hibits1 ^ hibits2) != 0);</div><div class='add'>+    RB_GC_GUARD(x);</div><div class='add'>+    RB_GC_GUARD(y);</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'>-rb_big_aref(x, y)</div><div class='del'>-    VALUE x, y;</div><div class='add'>+VALUE</div><div class='add'>+rb_big_lshift(VALUE x, VALUE y)</div><div class='ctx'> {</div><div class='del'>-    USHORT *xds;</div><div class='del'>-    int shift = NUM2INT(y);</div><div class='del'>-    int s1, s2;</div><div class='add'>+    int lshift_p;</div><div class='add'>+    size_t shift_numdigits;</div><div class='add'>+    int shift_numbits;</div><div class='add'>+</div><div class='add'>+    for (;;) {</div><div class='add'>+	if (FIXNUM_P(y)) {</div><div class='add'>+	    long l = FIX2LONG(y);</div><div class='add'>+            unsigned long shift;</div><div class='add'>+	    if (0 &lt;= l) {</div><div class='add'>+		lshift_p = 1;</div><div class='add'>+                shift = l;</div><div class='add'>+            }</div><div class='add'>+            else {</div><div class='add'>+		lshift_p = 0;</div><div class='add'>+		shift = 1+(unsigned long)(-(l+1));</div><div class='add'>+	    }</div><div class='add'>+            shift_numbits = (int)(shift &amp; (BITSPERDIG-1));</div><div class='add'>+            shift_numdigits = shift &gt;&gt; bit_length(BITSPERDIG-1);</div><div class='add'>+            return bignorm(big_shift3(x, lshift_p, shift_numdigits, shift_numbits));</div><div class='add'>+	}</div><div class='add'>+	else if (RB_BIGNUM_TYPE_P(y)) {</div><div class='add'>+            return bignorm(big_shift2(x, 1, y));</div><div class='add'>+	}</div><div class='add'>+	y = rb_to_int(y);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-    if (shift &lt; 0) return INT2FIX(0);</div><div class='del'>-    s1 = shift/BITSPERDIG;</div><div class='del'>-    s2 = shift%BITSPERDIG;</div><div class='add'>+VALUE</div><div class='add'>+rb_big_rshift(VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    int lshift_p;</div><div class='add'>+    size_t shift_numdigits;</div><div class='add'>+    int shift_numbits;</div><div class='add'>+</div><div class='add'>+    for (;;) {</div><div class='add'>+	if (FIXNUM_P(y)) {</div><div class='add'>+	    long l = FIX2LONG(y);</div><div class='add'>+            unsigned long shift;</div><div class='add'>+            if (0 &lt;= l) {</div><div class='add'>+                lshift_p = 0;</div><div class='add'>+                shift = l;</div><div class='add'>+            }</div><div class='add'>+            else {</div><div class='add'>+                lshift_p = 1;</div><div class='add'>+		shift = 1+(unsigned long)(-(l+1));</div><div class='add'>+	    }</div><div class='add'>+            shift_numbits = (int)(shift &amp; (BITSPERDIG-1));</div><div class='add'>+            shift_numdigits = shift &gt;&gt; bit_length(BITSPERDIG-1);</div><div class='add'>+            return bignorm(big_shift3(x, lshift_p, shift_numdigits, shift_numbits));</div><div class='add'>+	}</div><div class='add'>+	else if (RB_BIGNUM_TYPE_P(y)) {</div><div class='add'>+            return bignorm(big_shift2(x, 0, y));</div><div class='add'>+	}</div><div class='add'>+	y = rb_to_int(y);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-    if (!RBIGNUM(x)-&gt;sign) {</div><div class='del'>-	if (s1 &gt;= RBIGNUM(x)-&gt;len) return INT2FIX(1);</div><div class='del'>-	x = rb_big_clone(x);</div><div class='del'>-	rb_big_2comp(x);</div><div class='add'>+VALUE</div><div class='add'>+rb_big_aref(VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    BDIGIT *xds;</div><div class='add'>+    size_t shift;</div><div class='add'>+    size_t i, s1, s2;</div><div class='add'>+    long l;</div><div class='add'>+    BDIGIT bit;</div><div class='add'>+</div><div class='add'>+    if (RB_BIGNUM_TYPE_P(y)) {</div><div class='add'>+	if (BIGNUM_NEGATIVE_P(y))</div><div class='add'>+	    return INT2FIX(0);</div><div class='add'>+	bigtrunc(y);</div><div class='add'>+	if (BIGSIZE(y) &gt; sizeof(size_t)) {</div><div class='add'>+	    return BIGNUM_SIGN(x) ? INT2FIX(0) : INT2FIX(1);</div><div class='add'>+	}</div><div class='add'>+#if SIZEOF_SIZE_T &lt;= SIZEOF_LONG</div><div class='add'>+	shift = big2ulong(y, "long");</div><div class='add'>+#else</div><div class='add'>+	shift = big2ull(y, "long long");</div><div class='add'>+#endif</div><div class='ctx'>     }</div><div class='ctx'>     else {</div><div class='del'>-	if (s1 &gt;= RBIGNUM(x)-&gt;len) return INT2FIX(0);</div><div class='add'>+	l = NUM2LONG(y);</div><div class='add'>+	if (l &lt; 0) return INT2FIX(0);</div><div class='add'>+	shift = (size_t)l;</div><div class='ctx'>     }</div><div class='add'>+    s1 = shift/BITSPERDIG;</div><div class='add'>+    s2 = shift%BITSPERDIG;</div><div class='add'>+    bit = (BDIGIT)1 &lt;&lt; s2;</div><div class='add'>+</div><div class='add'>+    if (s1 &gt;= BIGNUM_LEN(x))</div><div class='add'>+        return BIGNUM_SIGN(x) ? INT2FIX(0) : INT2FIX(1);</div><div class='add'>+</div><div class='ctx'>     xds = BDIGITS(x);</div><div class='del'>-    if (xds[s1] &amp; (1&lt;&lt;s2))</div><div class='del'>-	return INT2FIX(1);</div><div class='del'>-    return INT2FIX(0);</div><div class='add'>+    if (BIGNUM_POSITIVE_P(x))</div><div class='add'>+        return (xds[s1] &amp; bit) ? INT2FIX(1) : INT2FIX(0);</div><div class='add'>+    if (xds[s1] &amp; (bit-1))</div><div class='add'>+        return (xds[s1] &amp; bit) ? INT2FIX(0) : INT2FIX(1);</div><div class='add'>+    for (i = 0; i &lt; s1; i++)</div><div class='add'>+        if (xds[i])</div><div class='add'>+            return (xds[s1] &amp; bit) ? INT2FIX(0) : INT2FIX(1);</div><div class='add'>+    return (xds[s1] &amp; bit) ? INT2FIX(1) : INT2FIX(0);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-rb_big_hash(x)</div><div class='del'>-    VALUE x;</div><div class='add'>+VALUE</div><div class='add'>+rb_big_hash(VALUE x)</div><div class='ctx'> {</div><div class='del'>-    long i, len;</div><div class='del'>-    int key;</div><div class='del'>-    USHORT *digits;</div><div class='add'>+    st_index_t hash;</div><div class='ctx'> </div><div class='del'>-    key = 0; digits = BDIGITS(x);</div><div class='del'>-    for (i=0,len=RBIGNUM(x)-&gt;len; i&lt;RBIGNUM(x)-&gt;len; i++) {</div><div class='del'>-	key ^= *digits++;</div><div class='del'>-    }</div><div class='del'>-    return INT2FIX(key);</div><div class='add'>+    hash = rb_memhash(BDIGITS(x), sizeof(BDIGIT)*BIGNUM_LEN(x)) ^ BIGNUM_SIGN(x);</div><div class='add'>+    return ST2FIX(hash);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *   big.coerce(numeric)  -&gt;  array</div><div class='add'>+ *</div><div class='add'>+ * Returns an array with both a +numeric+ and a +big+ represented as Bignum</div><div class='add'>+ * objects.</div><div class='add'>+ *</div><div class='add'>+ * This is achieved by converting +numeric+ to a Bignum.</div><div class='add'>+ *</div><div class='add'>+ * A TypeError is raised if the +numeric+ is not a Fixnum or Bignum type.</div><div class='add'>+ *</div><div class='add'>+ *     (0x3FFFFFFFFFFFFFFF+1).coerce(42)   #=&gt; [42, 4611686018427387904]</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> static VALUE</div><div class='del'>-rb_big_coerce(x, y)</div><div class='del'>-    VALUE x, y;</div><div class='add'>+rb_int_coerce(VALUE x, VALUE y)</div><div class='ctx'> {</div><div class='del'>-    if (FIXNUM_P(y)) {</div><div class='del'>-	return rb_assoc_new(rb_int2big(FIX2LONG(y)), x);</div><div class='add'>+    if (RB_INTEGER_TYPE_P(y)) {</div><div class='add'>+        return rb_assoc_new(y, x);</div><div class='ctx'>     }</div><div class='ctx'>     else {</div><div class='del'>-	rb_raise(rb_eTypeError, "Can't coerce %s to Bignum",</div><div class='del'>-		 rb_class2name(CLASS_OF(y)));</div><div class='add'>+        x = rb_Float(x);</div><div class='add'>+        y = rb_Float(y);</div><div class='add'>+        return rb_assoc_new(y, x);</div><div class='ctx'>     }</div><div class='del'>-    /* not reached */</div><div class='del'>-    return Qnil;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-rb_big_abs(x)</div><div class='del'>-    VALUE x;</div><div class='add'>+VALUE</div><div class='add'>+rb_big_abs(VALUE x)</div><div class='ctx'> {</div><div class='del'>-    if (!RBIGNUM(x)-&gt;sign) {</div><div class='add'>+    if (BIGNUM_NEGATIVE_P(x)) {</div><div class='ctx'> 	x = rb_big_clone(x);</div><div class='del'>-	RBIGNUM(x)-&gt;sign = 1;</div><div class='add'>+	BIGNUM_SET_POSITIVE_SIGN(x);</div><div class='ctx'>     }</div><div class='ctx'>     return x;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-/* !!!warnig!!!!</div><div class='del'>-   this is not really a random number!!</div><div class='del'>-*/</div><div class='add'>+int</div><div class='add'>+rb_big_sign(VALUE x)</div><div class='add'>+{</div><div class='add'>+    return BIGNUM_SIGN(x);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+size_t</div><div class='add'>+rb_big_size(VALUE big)</div><div class='add'>+{</div><div class='add'>+    return BIGSIZE(big);</div><div class='add'>+}</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_big_rand(max)</div><div class='del'>-    VALUE max;</div><div class='add'>+rb_big_size_m(VALUE big)</div><div class='ctx'> {</div><div class='del'>-    struct RBignum *v;</div><div class='del'>-    long len;</div><div class='add'>+    return SIZET2NUM(rb_big_size(big));</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-    len = RBIGNUM(max)-&gt;len;</div><div class='del'>-    v = RBIGNUM(bignew(len,1));</div><div class='del'>-    while (len--) {</div><div class='del'>-#ifdef HAVE_RANDOM</div><div class='del'>-	BDIGITS(v)[len] = random();</div><div class='add'>+VALUE</div><div class='add'>+rb_big_bit_length(VALUE big)</div><div class='add'>+{</div><div class='add'>+    int nlz_bits;</div><div class='add'>+    size_t numbytes;</div><div class='add'>+</div><div class='add'>+    static const BDIGIT char_bit[1] = { CHAR_BIT };</div><div class='add'>+    BDIGIT numbytes_bary[bdigit_roomof(sizeof(size_t))];</div><div class='add'>+    BDIGIT nlz_bary[1];</div><div class='add'>+    BDIGIT result_bary[bdigit_roomof(sizeof(size_t)+1)];</div><div class='add'>+</div><div class='add'>+    numbytes = rb_absint_size(big, &amp;nlz_bits);</div><div class='add'>+</div><div class='add'>+    if (numbytes == 0)</div><div class='add'>+        return LONG2FIX(0);</div><div class='add'>+</div><div class='add'>+    if (BIGNUM_NEGATIVE_P(big) &amp;&amp; rb_absint_singlebit_p(big)) {</div><div class='add'>+        if (nlz_bits != CHAR_BIT-1) {</div><div class='add'>+            nlz_bits++;</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            nlz_bits = 0;</div><div class='add'>+            numbytes--;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (numbytes &lt;= SIZE_MAX / CHAR_BIT) {</div><div class='add'>+        return SIZET2NUM(numbytes * CHAR_BIT - nlz_bits);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    nlz_bary[0] = nlz_bits;</div><div class='add'>+</div><div class='add'>+    bary_unpack(BARY_ARGS(numbytes_bary), &amp;numbytes, 1, sizeof(numbytes), 0,</div><div class='add'>+            INTEGER_PACK_NATIVE_BYTE_ORDER);</div><div class='add'>+    BARY_SHORT_MUL(result_bary, numbytes_bary, char_bit);</div><div class='add'>+    BARY_SUB(result_bary, result_bary, nlz_bary);</div><div class='add'>+</div><div class='add'>+    return rb_integer_unpack(result_bary, numberof(result_bary), sizeof(BDIGIT), 0,</div><div class='add'>+            INTEGER_PACK_LSWORD_FIRST|INTEGER_PACK_NATIVE_BYTE_ORDER);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_big_odd_p(VALUE num)</div><div class='add'>+{</div><div class='add'>+    if (BIGNUM_LEN(num) != 0 &amp;&amp; BDIGITS(num)[0] &amp; 1) {</div><div class='add'>+	return Qtrue;</div><div class='add'>+    }</div><div class='add'>+    return Qfalse;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_big_even_p(VALUE num)</div><div class='add'>+{</div><div class='add'>+    if (BIGNUM_LEN(num) != 0 &amp;&amp; BDIGITS(num)[0] &amp; 1) {</div><div class='add'>+	return Qfalse;</div><div class='add'>+    }</div><div class='add'>+    return Qtrue;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+unsigned long rb_ulong_isqrt(unsigned long);</div><div class='add'>+#if SIZEOF_BDIGIT*2 &gt; SIZEOF_LONG</div><div class='add'>+BDIGIT rb_bdigit_dbl_isqrt(BDIGIT_DBL);</div><div class='add'>+# ifdef ULL_TO_DOUBLE</div><div class='add'>+#   define BDIGIT_DBL_TO_DOUBLE(n) ULL_TO_DOUBLE(n)</div><div class='add'>+# endif</div><div class='ctx'> #else</div><div class='del'>-	BDIGITS(v)[len] = rand();</div><div class='add'>+# define rb_bdigit_dbl_isqrt(x) (BDIGIT)rb_ulong_isqrt(x)</div><div class='add'>+#endif</div><div class='add'>+#ifndef BDIGIT_DBL_TO_DOUBLE</div><div class='add'>+# define BDIGIT_DBL_TO_DOUBLE(n) (double)(n)</div><div class='ctx'> #endif</div><div class='add'>+</div><div class='add'>+static BDIGIT *</div><div class='add'>+estimate_initial_sqrt(VALUE *xp, const size_t xn, const BDIGIT *nds, size_t len)</div><div class='add'>+{</div><div class='add'>+    enum {dbl_per_bdig = roomof(DBL_MANT_DIG,BITSPERDIG)};</div><div class='add'>+    const int zbits = nlz(nds[len-1]);</div><div class='add'>+    VALUE x = *xp = bignew_1(0, xn, 1); /* division may release the GVL */</div><div class='add'>+    BDIGIT *xds = BDIGITS(x);</div><div class='add'>+    BDIGIT_DBL d = bary2bdigitdbl(nds+len-dbl_per_bdig, dbl_per_bdig);</div><div class='add'>+    BDIGIT lowbits = 1;</div><div class='add'>+    int rshift = (int)((BITSPERDIG*2-zbits+(len&amp;BITSPERDIG&amp;1) - DBL_MANT_DIG + 1) &amp; ~1);</div><div class='add'>+    double f;</div><div class='add'>+</div><div class='add'>+    if (rshift &gt; 0) {</div><div class='add'>+	lowbits = (BDIGIT)d &amp; ~(~(BDIGIT)1U &lt;&lt; rshift);</div><div class='add'>+	d &gt;&gt;= rshift;</div><div class='add'>+    }</div><div class='add'>+    else if (rshift &lt; 0) {</div><div class='add'>+	d &lt;&lt;= -rshift;</div><div class='add'>+	d |= nds[len-dbl_per_bdig-1] &gt;&gt; (BITSPERDIG+rshift);</div><div class='add'>+    }</div><div class='add'>+    f = sqrt(BDIGIT_DBL_TO_DOUBLE(d));</div><div class='add'>+    d = (BDIGIT_DBL)ceil(f);</div><div class='add'>+    if (BDIGIT_DBL_TO_DOUBLE(d) == f) {</div><div class='add'>+	if (lowbits || (lowbits = !bary_zero_p(nds, len-dbl_per_bdig)))</div><div class='add'>+	    ++d;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	lowbits = 1;</div><div class='add'>+    }</div><div class='add'>+    rshift /= 2;</div><div class='add'>+    rshift += (2-(len&amp;1))*BITSPERDIG/2;</div><div class='add'>+    if (rshift &gt;= 0) {</div><div class='add'>+        if (nlz((BDIGIT)d) + rshift &gt;= BITSPERDIG) {</div><div class='add'>+            /* (d &lt;&lt; rshift) does cause overflow.</div><div class='add'>+             * example: Integer.sqrt(0xffff_ffff_ffff_ffff ** 2)</div><div class='add'>+             */</div><div class='add'>+            d = ~(BDIGIT_DBL)0;</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            d &lt;&lt;= rshift;</div><div class='add'>+        }</div><div class='ctx'>     }</div><div class='add'>+    BDIGITS_ZERO(xds, xn-2);</div><div class='add'>+    bdigitdbl2bary(&amp;xds[xn-2], 2, d);</div><div class='ctx'> </div><div class='del'>-    return rb_big_mod((VALUE)v, max);</div><div class='add'>+    if (!lowbits) return NULL; /* special case, exact result */</div><div class='add'>+    return xds;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+VALUE</div><div class='add'>+rb_big_isqrt(VALUE n)</div><div class='add'>+{</div><div class='add'>+    BDIGIT *nds = BDIGITS(n);</div><div class='add'>+    size_t len = BIGNUM_LEN(n);</div><div class='add'>+    size_t xn = (len+1) / 2;</div><div class='add'>+    VALUE x;</div><div class='add'>+    BDIGIT *xds;</div><div class='add'>+</div><div class='add'>+    if (len &lt;= 2) {</div><div class='add'>+	BDIGIT sq = rb_bdigit_dbl_isqrt(bary2bdigitdbl(nds, len));</div><div class='add'>+#if SIZEOF_BDIGIT &gt; SIZEOF_LONG</div><div class='add'>+	return ULL2NUM(sq);</div><div class='add'>+#else</div><div class='add'>+	return ULONG2NUM(sq);</div><div class='add'>+#endif</div><div class='add'>+    }</div><div class='add'>+    else if ((xds = estimate_initial_sqrt(&amp;x, xn, nds, len)) != 0) {</div><div class='add'>+	size_t tn = xn + BIGDIVREM_EXTRA_WORDS;</div><div class='add'>+	VALUE t = bignew_1(0, tn, 1);</div><div class='add'>+	BDIGIT *tds = BDIGITS(t);</div><div class='add'>+	tn = BIGNUM_LEN(t);</div><div class='add'>+</div><div class='add'>+	/* t = n/x */</div><div class='add'>+	while (bary_divmod_branch(tds, tn, NULL, 0, nds, len, xds, xn),</div><div class='add'>+	       bary_cmp(tds, tn, xds, xn) &lt; 0) {</div><div class='add'>+	    int carry;</div><div class='add'>+	    BARY_TRUNC(tds, tn);</div><div class='add'>+	    /* x = (x+t)/2 */</div><div class='add'>+	    carry = bary_add(xds, xn, xds, xn, tds, tn);</div><div class='add'>+	    bary_small_rshift(xds, xds, xn, 1, carry);</div><div class='add'>+	    tn = BIGNUM_LEN(t);</div><div class='add'>+	}</div><div class='add'>+	rb_big_realloc(t, 0);</div><div class='add'>+	rb_gc_force_recycle(t);</div><div class='add'>+    }</div><div class='add'>+    RBASIC_SET_CLASS_RAW(x, rb_cInteger);</div><div class='add'>+    return x;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#ifdef USE_GMP</div><div class='add'>+static void</div><div class='add'>+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='add'>+{</div><div class='add'>+    mpz_t z, x, y, m;</div><div class='add'>+    size_t count;</div><div class='add'>+    mpz_init(x);</div><div class='add'>+    mpz_init(y);</div><div class='add'>+    mpz_init(m);</div><div class='add'>+    mpz_init(z);</div><div class='add'>+    bdigits_to_mpz(x, xds, xn);</div><div class='add'>+    bdigits_to_mpz(y, yds, yn);</div><div class='add'>+    bdigits_to_mpz(m, mds, mn);</div><div class='add'>+    mpz_powm(z, x, y, m);</div><div class='add'>+    bdigits_from_mpz(z, zds, &amp;count);</div><div class='add'>+    BDIGITS_ZERO(zds+count, zn-count);</div><div class='add'>+    mpz_clear(x);</div><div class='add'>+    mpz_clear(y);</div><div class='add'>+    mpz_clear(m);</div><div class='add'>+    mpz_clear(z);</div><div class='add'>+}</div><div class='add'>+#endif</div><div class='add'>+</div><div class='ctx'> static VALUE</div><div class='del'>-rb_big_size(big)</div><div class='del'>-    VALUE big;</div><div class='add'>+int_pow_tmp3(VALUE x, VALUE y, VALUE m, int nega_flg)</div><div class='ctx'> {</div><div class='del'>-    return INT2FIX(RBIGNUM(big)-&gt;len*sizeof(USHORT));</div><div class='add'>+#ifdef USE_GMP</div><div class='add'>+    VALUE z;</div><div class='add'>+    size_t xn, yn, mn, zn;</div><div class='add'>+</div><div class='add'>+    if (FIXNUM_P(x)) {</div><div class='add'>+       x = rb_int2big(FIX2LONG(x));</div><div class='add'>+    }</div><div class='add'>+    if (FIXNUM_P(y)) {</div><div class='add'>+       y = rb_int2big(FIX2LONG(y));</div><div class='add'>+    }</div><div class='add'>+    assert(RB_BIGNUM_TYPE_P(m));</div><div class='add'>+    xn = BIGNUM_LEN(x);</div><div class='add'>+    yn = BIGNUM_LEN(y);</div><div class='add'>+    mn = BIGNUM_LEN(m);</div><div class='add'>+    zn = mn;</div><div class='add'>+    z = bignew(zn, 1);</div><div class='add'>+    bary_powm_gmp(BDIGITS(z), zn, BDIGITS(x), xn, BDIGITS(y), yn, BDIGITS(m), mn);</div><div class='add'>+    if (nega_flg &amp; BIGNUM_POSITIVE_P(z)) {</div><div class='add'>+        z = rb_big_minus(z, m);</div><div class='add'>+    }</div><div class='add'>+    RB_GC_GUARD(x);</div><div class='add'>+    RB_GC_GUARD(y);</div><div class='add'>+    RB_GC_GUARD(m);</div><div class='add'>+    return rb_big_norm(z);</div><div class='add'>+#else</div><div class='add'>+    VALUE tmp = LONG2FIX(1L);</div><div class='add'>+    long yy;</div><div class='add'>+</div><div class='add'>+    for (/*NOP*/; ! FIXNUM_P(y); y = rb_big_rshift(y, LONG2FIX(1L))) {</div><div class='add'>+        if (RTEST(rb_int_odd_p(y))) {</div><div class='add'>+            tmp = rb_int_mul(tmp, x);</div><div class='add'>+            tmp = rb_int_modulo(tmp, m);</div><div class='add'>+        }</div><div class='add'>+        x = rb_int_mul(x, x);</div><div class='add'>+        x = rb_int_modulo(x, m);</div><div class='add'>+    }</div><div class='add'>+    for (yy = FIX2LONG(y); yy; yy &gt;&gt;= 1L) {</div><div class='add'>+        if (yy &amp; 1L) {</div><div class='add'>+            tmp = rb_int_mul(tmp, x);</div><div class='add'>+            tmp = rb_int_modulo(tmp, m);</div><div class='add'>+        }</div><div class='add'>+        x = rb_int_mul(x, x);</div><div class='add'>+        x = rb_int_modulo(x, m);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (nega_flg &amp;&amp; rb_int_positive_p(tmp)) {</div><div class='add'>+        tmp = rb_int_minus(tmp, m);</div><div class='add'>+    }</div><div class='add'>+    return tmp;</div><div class='add'>+#endif</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ * Integer#pow</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> static VALUE</div><div class='del'>-rb_big_zero_p(big)</div><div class='del'>-    VALUE big;</div><div class='add'>+int_pow_tmp1(VALUE x, VALUE y, long mm, int nega_flg)</div><div class='ctx'> {</div><div class='del'>-    return Qfalse;</div><div class='add'>+    long xx = FIX2LONG(x);</div><div class='add'>+    long tmp = 1L;</div><div class='add'>+    long yy;</div><div class='add'>+</div><div class='add'>+    for (/*NOP*/; ! FIXNUM_P(y); y = rb_big_rshift(y, LONG2FIX(1L))) {</div><div class='add'>+        if (RTEST(rb_int_odd_p(y))) {</div><div class='add'>+            tmp = (tmp * xx) % mm;</div><div class='add'>+        }</div><div class='add'>+        xx = (xx * xx) % mm;</div><div class='add'>+    }</div><div class='add'>+    for (yy = FIX2LONG(y); yy; yy &gt;&gt;= 1L) {</div><div class='add'>+        if (yy &amp; 1L) {</div><div class='add'>+            tmp = (tmp * xx) % mm;</div><div class='add'>+        }</div><div class='add'>+        xx = (xx * xx) % mm;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (nega_flg &amp;&amp; tmp) {</div><div class='add'>+        tmp -= mm;</div><div class='add'>+    }</div><div class='add'>+    return LONG2FIX(tmp);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+static VALUE</div><div class='add'>+int_pow_tmp2(VALUE x, VALUE y, long mm, int nega_flg)</div><div class='add'>+{</div><div class='add'>+    long tmp = 1L;</div><div class='add'>+    long yy;</div><div class='add'>+#ifdef DLONG</div><div class='add'>+    const DLONG m = mm;</div><div class='add'>+    long tmp2 = tmp;</div><div class='add'>+    long xx = FIX2LONG(x);</div><div class='add'>+# define MUL_MODULO(a, b, c) (long)(((DLONG)(a) * (DLONG)(b)) % (c))</div><div class='add'>+#else</div><div class='add'>+    const VALUE m = LONG2FIX(mm);</div><div class='add'>+    VALUE tmp2 = LONG2FIX(tmp);</div><div class='add'>+    VALUE xx = x;</div><div class='add'>+# define MUL_MODULO(a, b, c) rb_int_modulo(rb_fix_mul_fix((a), (b)), (c))</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+    for (/*NOP*/; ! FIXNUM_P(y); y = rb_big_rshift(y, LONG2FIX(1L))) {</div><div class='add'>+        if (RTEST(rb_int_odd_p(y))) {</div><div class='add'>+            tmp2 = MUL_MODULO(tmp2, xx, m);</div><div class='add'>+        }</div><div class='add'>+        xx = MUL_MODULO(xx, xx, m);</div><div class='add'>+    }</div><div class='add'>+    for (yy = FIX2LONG(y); yy; yy &gt;&gt;= 1L) {</div><div class='add'>+        if (yy &amp; 1L) {</div><div class='add'>+            tmp2 = MUL_MODULO(tmp2, xx, m);</div><div class='add'>+        }</div><div class='add'>+        xx = MUL_MODULO(xx, xx, m);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+#ifdef DLONG</div><div class='add'>+    tmp = tmp2;</div><div class='add'>+#else</div><div class='add'>+    tmp = FIX2LONG(tmp2);</div><div class='add'>+#endif</div><div class='add'>+    if (nega_flg &amp;&amp; tmp) {</div><div class='add'>+        tmp -= mm;</div><div class='add'>+    }</div><div class='add'>+    return LONG2FIX(tmp);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * Document-method: Integer#pow</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    integer.pow(numeric)           -&gt;  numeric</div><div class='add'>+ *    integer.pow(integer, integer)  -&gt;  integer</div><div class='add'>+ *</div><div class='add'>+ * Returns (modular) exponentiation as:</div><div class='add'>+ *</div><div class='add'>+ *   a.pow(b)     #=&gt; same as a**b</div><div class='add'>+ *   a.pow(b, m)  #=&gt; same as (a**b) % m, but avoids huge temporary values</div><div class='add'>+ */</div><div class='add'>+VALUE</div><div class='add'>+rb_int_powm(int const argc, VALUE * const argv, VALUE const num)</div><div class='add'>+{</div><div class='add'>+    rb_check_arity(argc, 1, 2);</div><div class='add'>+</div><div class='add'>+    if (argc == 1) {</div><div class='add'>+        return rb_int_pow(num, argv[0]);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        VALUE const a = num;</div><div class='add'>+        VALUE const b = argv[0];</div><div class='add'>+        VALUE m = argv[1];</div><div class='add'>+        int nega_flg = 0;</div><div class='add'>+        if ( ! RB_INTEGER_TYPE_P(b)) {</div><div class='add'>+            rb_raise(rb_eTypeError, "Integer#pow() 2nd argument not allowed unless a 1st argument is integer");</div><div class='add'>+        }</div><div class='add'>+        if (rb_int_negative_p(b)) {</div><div class='add'>+            rb_raise(rb_eRangeError, "Integer#pow() 1st argument cannot be negative when 2nd argument specified");</div><div class='add'>+        }</div><div class='add'>+        if (!RB_INTEGER_TYPE_P(m)) {</div><div class='add'>+            rb_raise(rb_eTypeError, "Integer#pow() 2nd argument not allowed unless all arguments are integers");</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        if (rb_int_negative_p(m)) {</div><div class='add'>+            m = rb_int_uminus(m);</div><div class='add'>+            nega_flg = 1;</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        if (FIXNUM_P(m)) {</div><div class='add'>+            long const half_val = (long)HALF_LONG_MSB;</div><div class='add'>+            long const mm = FIX2LONG(m);</div><div class='add'>+            if (!mm) rb_num_zerodiv();</div><div class='add'>+            if (mm == 1) return INT2FIX(0);</div><div class='add'>+            if (mm &lt;= half_val) {</div><div class='add'>+                return int_pow_tmp1(rb_int_modulo(a, m), b, mm, nega_flg);</div><div class='add'>+            }</div><div class='add'>+            else {</div><div class='add'>+                return int_pow_tmp2(rb_int_modulo(a, m), b, mm, nega_flg);</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            if (rb_bigzero_p(m)) rb_num_zerodiv();</div><div class='add'>+	    if (bignorm(m) == INT2FIX(1)) return INT2FIX(0);</div><div class='add'>+            return int_pow_tmp3(rb_int_modulo(a, m), b, m, nega_flg);</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    UNREACHABLE_RETURN(Qnil);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  Bignum objects hold integers outside the range of</div><div class='add'>+ *  Fixnum. Bignum objects are created</div><div class='add'>+ *  automatically when integer calculations would otherwise overflow a</div><div class='add'>+ *  Fixnum. When a calculation involving</div><div class='add'>+ *  Bignum objects returns a result that will fit in a</div><div class='add'>+ *  Fixnum, the result is automatically converted.</div><div class='add'>+ *</div><div class='add'>+ *  For the purposes of the bitwise operations and &lt;code&gt;[]&lt;/code&gt;, a</div><div class='add'>+ *  Bignum is treated as if it were an infinite-length</div><div class='add'>+ *  bitstring with 2's complement representation.</div><div class='add'>+ *</div><div class='add'>+ *  While Fixnum values are immediate, Bignum</div><div class='add'>+ *  objects are not---assignment and parameter passing work with</div><div class='add'>+ *  references to objects, not the objects themselves.</div><div class='add'>+ *</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> void</div><div class='del'>-Init_Bignum()</div><div class='del'>-{</div><div class='del'>-    rb_cBignum = rb_define_class("Bignum", rb_cInteger);</div><div class='del'>-</div><div class='del'>-    rb_undef_method(CLASS_OF(rb_cBignum), "new");</div><div class='del'>-</div><div class='del'>-    rb_define_method(rb_cBignum, "to_s", rb_big_to_s, 0);</div><div class='del'>-    rb_define_method(rb_cBignum, "coerce", rb_big_coerce, 1);</div><div class='del'>-    rb_define_method(rb_cBignum, "-@", rb_big_uminus, 0);</div><div class='del'>-    rb_define_method(rb_cBignum, "+", rb_big_plus, 1);</div><div class='del'>-    rb_define_method(rb_cBignum, "-", rb_big_minus, 1);</div><div class='del'>-    rb_define_method(rb_cBignum, "*", rb_big_mul, 1);</div><div class='del'>-    rb_define_method(rb_cBignum, "/", rb_big_div, 1);</div><div class='del'>-    rb_define_method(rb_cBignum, "%", rb_big_mod, 1);</div><div class='del'>-    rb_define_method(rb_cBignum, "divmod", rb_big_divmod, 1);</div><div class='del'>-    rb_define_method(rb_cBignum, "remainder", rb_big_remainder, 1);</div><div class='del'>-    rb_define_method(rb_cBignum, "**", rb_big_pow, 1);</div><div class='del'>-    rb_define_method(rb_cBignum, "&amp;", rb_big_and, 1);</div><div class='del'>-    rb_define_method(rb_cBignum, "|", rb_big_or, 1);</div><div class='del'>-    rb_define_method(rb_cBignum, "^", rb_big_xor, 1);</div><div class='del'>-    rb_define_method(rb_cBignum, "~", rb_big_neg, 0);</div><div class='del'>-    rb_define_method(rb_cBignum, "&lt;&lt;", rb_big_lshift, 1);</div><div class='del'>-    rb_define_method(rb_cBignum, "&gt;&gt;", rb_big_rshift, 1);</div><div class='del'>-    rb_define_method(rb_cBignum, "[]", rb_big_aref, 1);</div><div class='del'>-</div><div class='del'>-    rb_define_method(rb_cBignum, "&lt;=&gt;", rb_big_cmp, 1);</div><div class='del'>-    rb_define_method(rb_cBignum, "==", rb_big_eq, 1);</div><div class='del'>-    rb_define_method(rb_cBignum, "===", rb_big_eq, 1);</div><div class='del'>-    rb_define_method(rb_cBignum, "eql?", rb_big_eq, 1);</div><div class='del'>-    rb_define_method(rb_cBignum, "hash", rb_big_hash, 0);</div><div class='del'>-    rb_define_method(rb_cBignum, "to_i", rb_big_to_i, 0);</div><div class='del'>-    rb_define_method(rb_cBignum, "to_f", rb_big_to_f, 0);</div><div class='del'>-    rb_define_method(rb_cBignum, "abs", rb_big_abs, 0);</div><div class='del'>-    rb_define_method(rb_cBignum, "size", rb_big_size, 0);</div><div class='del'>-    rb_define_method(rb_cBignum, "zero?", rb_big_zero_p, 0);</div><div class='add'>+Init_Bignum(void)</div><div class='add'>+{</div><div class='add'>+    /* An obsolete class, use Integer */</div><div class='add'>+    rb_define_const(rb_cObject, "Bignum", rb_cInteger);</div><div class='add'>+    rb_deprecate_constant(rb_cObject, "Bignum");</div><div class='add'>+</div><div class='add'>+    rb_define_method(rb_cInteger, "coerce", rb_int_coerce, 1);</div><div class='add'>+</div><div class='add'>+#ifdef USE_GMP</div><div class='add'>+    /* The version of loaded GMP. */</div><div class='add'>+    rb_define_const(rb_cInteger, "GMP_VERSION", rb_sprintf("GMP %s", gmp_version));</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+    power_cache_init();</div><div class='ctx'> }</div><div class='head'>diff --git a/bin/bundle b/bin/bundle<br/>new file mode 100755<br/>index 0000000000..1a0b06b005<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bin/bundle?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>bin/bundle</a></div><div class='hunk'>@@ -0,0 +1,27 @@</div><div class='add'>+#!/usr/bin/env ruby</div><div class='add'>+#</div><div class='add'>+# This file was generated by RubyGems.</div><div class='add'>+#</div><div class='add'>+# The application 'bundler' is installed as part of a gem, and</div><div class='add'>+# this file is here to facilitate running it.</div><div class='add'>+#</div><div class='add'>+</div><div class='add'>+require 'rubygems'</div><div class='add'>+</div><div class='add'>+version = "&gt;= 0.a"</div><div class='add'>+</div><div class='add'>+str = ARGV.first</div><div class='add'>+if str</div><div class='add'>+  str = str.b[/\A_(.*)_\z/, 1]</div><div class='add'>+  if str and Gem::Version.correct?(str)</div><div class='add'>+    version = str</div><div class='add'>+    ARGV.shift</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+if Gem.respond_to?(:activate_bin_path)</div><div class='add'>+load Gem.activate_bin_path('bundler', 'bundle', version)</div><div class='add'>+else</div><div class='add'>+gem "bundler", version</div><div class='add'>+load Gem.bin_path("bundler", "bundle", version)</div><div class='add'>+end</div><div class='head'>diff --git a/bin/bundler b/bin/bundler<br/>new file mode 100755<br/>index 0000000000..e15eb39ed7<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bin/bundler?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>bin/bundler</a></div><div class='hunk'>@@ -0,0 +1,27 @@</div><div class='add'>+#!/usr/bin/env ruby</div><div class='add'>+#</div><div class='add'>+# This file was generated by RubyGems.</div><div class='add'>+#</div><div class='add'>+# The application 'bundler' is installed as part of a gem, and</div><div class='add'>+# this file is here to facilitate running it.</div><div class='add'>+#</div><div class='add'>+</div><div class='add'>+require 'rubygems'</div><div class='add'>+</div><div class='add'>+version = "&gt;= 0.a"</div><div class='add'>+</div><div class='add'>+str = ARGV.first</div><div class='add'>+if str</div><div class='add'>+  str = str.b[/\A_(.*)_\z/, 1]</div><div class='add'>+  if str and Gem::Version.correct?(str)</div><div class='add'>+    version = str</div><div class='add'>+    ARGV.shift</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+if Gem.respond_to?(:activate_bin_path)</div><div class='add'>+load Gem.activate_bin_path('bundler', 'bundler', version)</div><div class='add'>+else</div><div class='add'>+gem "bundler", version</div><div class='add'>+load Gem.bin_path("bundler", "bundler", version)</div><div class='add'>+end</div><div class='head'>diff --git a/bin/erb b/bin/erb<br/>new file mode 100755<br/>index 0000000000..89d74fc525<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bin/erb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>bin/erb</a></div><div class='hunk'>@@ -0,0 +1,27 @@</div><div class='add'>+#!/usr/bin/env ruby</div><div class='add'>+#</div><div class='add'>+# This file was generated by RubyGems.</div><div class='add'>+#</div><div class='add'>+# The application 'erb' is installed as part of a gem, and</div><div class='add'>+# this file is here to facilitate running it.</div><div class='add'>+#</div><div class='add'>+</div><div class='add'>+require 'rubygems'</div><div class='add'>+</div><div class='add'>+version = "&gt;= 0.a"</div><div class='add'>+</div><div class='add'>+str = ARGV.first</div><div class='add'>+if str</div><div class='add'>+  str = str.b[/\A_(.*)_\z/, 1]</div><div class='add'>+  if str and Gem::Version.correct?(str)</div><div class='add'>+    version = str</div><div class='add'>+    ARGV.shift</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+if Gem.respond_to?(:activate_bin_path)</div><div class='add'>+load Gem.activate_bin_path('erb', 'erb', version)</div><div class='add'>+else</div><div class='add'>+gem "erb", version</div><div class='add'>+load Gem.bin_path("erb", "erb", version)</div><div class='add'>+end</div><div class='head'>diff --git a/bin/gem b/bin/gem<br/>new file mode 100755<br/>index 0000000000..a4ec754abb<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bin/gem?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>bin/gem</a></div><div class='hunk'>@@ -0,0 +1,25 @@</div><div class='add'>+#!/usr/bin/env ruby</div><div class='add'>+#--</div><div class='add'>+# Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.</div><div class='add'>+# All rights reserved.</div><div class='add'>+# See LICENSE.txt for permissions.</div><div class='add'>+#++</div><div class='add'>+</div><div class='add'>+require 'rubygems'</div><div class='add'>+require 'rubygems/gem_runner'</div><div class='add'>+require 'rubygems/exceptions'</div><div class='add'>+</div><div class='add'>+required_version = Gem::Requirement.new "&gt;= 1.8.7"</div><div class='add'>+</div><div class='add'>+unless required_version.satisfied_by? Gem.ruby_version then</div><div class='add'>+  abort "Expected Ruby Version #{required_version}, is #{Gem.ruby_version}"</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+args = ARGV.clone</div><div class='add'>+</div><div class='add'>+begin</div><div class='add'>+  Gem::GemRunner.new.run args</div><div class='add'>+rescue Gem::SystemExitException =&gt; e</div><div class='add'>+  exit e.exit_code</div><div class='add'>+end</div><div class='add'>+</div><div class='head'>diff --git a/bin/irb b/bin/irb<br/>new file mode 100755<br/>index 0000000000..ae6d358c9d<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bin/irb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>bin/irb</a></div><div class='hunk'>@@ -0,0 +1,27 @@</div><div class='add'>+#!/usr/bin/env ruby</div><div class='add'>+#</div><div class='add'>+# This file was generated by RubyGems.</div><div class='add'>+#</div><div class='add'>+# The application 'irb' is installed as part of a gem, and</div><div class='add'>+# this file is here to facilitate running it.</div><div class='add'>+#</div><div class='add'>+</div><div class='add'>+require 'rubygems'</div><div class='add'>+</div><div class='add'>+version = "&gt;= 0.a"</div><div class='add'>+</div><div class='add'>+str = ARGV.first</div><div class='add'>+if str</div><div class='add'>+  str = str.b[/\A_(.*)_\z/, 1]</div><div class='add'>+  if str and Gem::Version.correct?(str)</div><div class='add'>+    version = str</div><div class='add'>+    ARGV.shift</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+if Gem.respond_to?(:activate_bin_path)</div><div class='add'>+load Gem.activate_bin_path('irb', 'irb', version)</div><div class='add'>+else</div><div class='add'>+gem "irb", version</div><div class='add'>+load Gem.bin_path("irb", "irb", version)</div><div class='add'>+end</div><div class='head'>diff --git a/bin/racc b/bin/racc<br/>new file mode 100755<br/>index 0000000000..3ddac532b4<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bin/racc?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>bin/racc</a></div><div class='hunk'>@@ -0,0 +1,27 @@</div><div class='add'>+#!/usr/bin/env ruby</div><div class='add'>+#</div><div class='add'>+# This file was generated by RubyGems.</div><div class='add'>+#</div><div class='add'>+# The application 'racc' is installed as part of a gem, and</div><div class='add'>+# this file is here to facilitate running it.</div><div class='add'>+#</div><div class='add'>+</div><div class='add'>+require 'rubygems'</div><div class='add'>+</div><div class='add'>+version = "&gt;= 0.a"</div><div class='add'>+</div><div class='add'>+if ARGV.first</div><div class='add'>+  str = ARGV.first</div><div class='add'>+  str = str.dup.force_encoding("BINARY") if str.respond_to? :force_encoding</div><div class='add'>+  if str =~ /\A_(.*)_\z/ and Gem::Version.correct?($1) then</div><div class='add'>+    version = $1</div><div class='add'>+    ARGV.shift</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+if Gem.respond_to?(:activate_bin_path)</div><div class='add'>+load Gem.activate_bin_path('racc', 'racc', version)</div><div class='add'>+else</div><div class='add'>+gem "racc", version</div><div class='add'>+load Gem.bin_path("racc", "racc", version)</div><div class='add'>+end</div><div class='head'>diff --git a/bin/rdoc b/bin/rdoc<br/>new file mode 100755<br/>index 0000000000..8fa948cddb<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bin/rdoc?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>bin/rdoc</a></div><div class='hunk'>@@ -0,0 +1,27 @@</div><div class='add'>+#!/usr/bin/env ruby</div><div class='add'>+#</div><div class='add'>+# This file was generated by RubyGems.</div><div class='add'>+#</div><div class='add'>+# The application 'rdoc' is installed as part of a gem, and</div><div class='add'>+# this file is here to facilitate running it.</div><div class='add'>+#</div><div class='add'>+</div><div class='add'>+require 'rubygems'</div><div class='add'>+</div><div class='add'>+version = "&gt;= 0.a"</div><div class='add'>+</div><div class='add'>+str = ARGV.first</div><div class='add'>+if str</div><div class='add'>+  str = str.b[/\A_(.*)_\z/, 1]</div><div class='add'>+  if str and Gem::Version.correct?(str)</div><div class='add'>+    version = str</div><div class='add'>+    ARGV.shift</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+if Gem.respond_to?(:activate_bin_path)</div><div class='add'>+load Gem.activate_bin_path('rdoc', 'rdoc', version)</div><div class='add'>+else</div><div class='add'>+gem "rdoc", version</div><div class='add'>+load Gem.bin_path("rdoc", "rdoc", version)</div><div class='add'>+end</div><div class='head'>diff --git a/bin/ri b/bin/ri<br/>new file mode 100755<br/>index 0000000000..0cc2f73bb6<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bin/ri?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>bin/ri</a></div><div class='hunk'>@@ -0,0 +1,27 @@</div><div class='add'>+#!/usr/bin/env ruby</div><div class='add'>+#</div><div class='add'>+# This file was generated by RubyGems.</div><div class='add'>+#</div><div class='add'>+# The application 'rdoc' is installed as part of a gem, and</div><div class='add'>+# this file is here to facilitate running it.</div><div class='add'>+#</div><div class='add'>+</div><div class='add'>+require 'rubygems'</div><div class='add'>+</div><div class='add'>+version = "&gt;= 0.a"</div><div class='add'>+</div><div class='add'>+str = ARGV.first</div><div class='add'>+if str</div><div class='add'>+  str = str.b[/\A_(.*)_\z/, 1]</div><div class='add'>+  if str and Gem::Version.correct?(str)</div><div class='add'>+    version = str</div><div class='add'>+    ARGV.shift</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+if Gem.respond_to?(:activate_bin_path)</div><div class='add'>+load Gem.activate_bin_path('rdoc', 'ri', version)</div><div class='add'>+else</div><div class='add'>+gem "rdoc", version</div><div class='add'>+load Gem.bin_path("rdoc", "ri", version)</div><div class='add'>+end</div><div class='head'>diff --git a/bootstraptest/pending.rb b/bootstraptest/pending.rb<br/>new file mode 100644<br/>index 0000000000..2c4b85a419<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bootstraptest/pending.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>bootstraptest/pending.rb</a></div><div class='hunk'>@@ -0,0 +1,21 @@</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  def m</div><div class='add'>+    lambda{</div><div class='add'>+      proc{</div><div class='add'>+        return :ng1</div><div class='add'>+      }</div><div class='add'>+    }.call.call</div><div class='add'>+    :ng2</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  begin</div><div class='add'>+    m()</div><div class='add'>+  rescue LocalJumpError</div><div class='add'>+    :ok</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# This randomly fails on mswin.</div><div class='add'>+assert_equal %q{[]}, %q{</div><div class='add'>+  Thread.new{sleep}.backtrace</div><div class='add'>+}</div><div class='head'>diff --git a/bootstraptest/runner.rb b/bootstraptest/runner.rb<br/>new file mode 100755<br/>index 0000000000..2cd91ffd07<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bootstraptest/runner.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>bootstraptest/runner.rb</a></div><div class='hunk'>@@ -0,0 +1,550 @@</div><div class='add'>+"exec" "${RUBY-ruby}" "-x" "$0" "$@" || true # -*- Ruby -*-</div><div class='add'>+#!./ruby</div><div class='add'>+# $Id$</div><div class='add'>+</div><div class='add'>+# NOTE:</div><div class='add'>+# Never use optparse in this file.</div><div class='add'>+# Never use test/unit in this file.</div><div class='add'>+# Never use Ruby extensions in this file.</div><div class='add'>+# Maintain Ruby 1.8 compatibility for now</div><div class='add'>+</div><div class='add'>+begin</div><div class='add'>+  require 'fileutils'</div><div class='add'>+  require 'tmpdir'</div><div class='add'>+rescue LoadError</div><div class='add'>+  $:.unshift File.join(File.dirname(__FILE__), '../lib')</div><div class='add'>+  retry</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+if !Dir.respond_to?(:mktmpdir)</div><div class='add'>+  # copied from lib/tmpdir.rb</div><div class='add'>+  def Dir.mktmpdir(prefix_suffix=nil, tmpdir=nil)</div><div class='add'>+    case prefix_suffix</div><div class='add'>+    when nil</div><div class='add'>+      prefix = "d"</div><div class='add'>+      suffix = ""</div><div class='add'>+    when String</div><div class='add'>+      prefix = prefix_suffix</div><div class='add'>+      suffix = ""</div><div class='add'>+    when Array</div><div class='add'>+      prefix = prefix_suffix[0]</div><div class='add'>+      suffix = prefix_suffix[1]</div><div class='add'>+    else</div><div class='add'>+      raise ArgumentError, "unexpected prefix_suffix: #{prefix_suffix.inspect}"</div><div class='add'>+    end</div><div class='add'>+    tmpdir ||= Dir.tmpdir</div><div class='add'>+    t = Time.now.strftime("%Y%m%d")</div><div class='add'>+    n = nil</div><div class='add'>+    begin</div><div class='add'>+      path = "#{tmpdir}/#{prefix}#{t}-#{$$}-#{rand(0x100000000).to_s(36)}"</div><div class='add'>+      path &lt;&lt; "-#{n}" if n</div><div class='add'>+      path &lt;&lt; suffix</div><div class='add'>+      Dir.mkdir(path, 0700)</div><div class='add'>+    rescue Errno::EEXIST</div><div class='add'>+      n ||= 0</div><div class='add'>+      n += 1</div><div class='add'>+      retry</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    if block_given?</div><div class='add'>+      begin</div><div class='add'>+        yield path</div><div class='add'>+      ensure</div><div class='add'>+        FileUtils.remove_entry_secure path</div><div class='add'>+      end</div><div class='add'>+    else</div><div class='add'>+      path</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def main</div><div class='add'>+  @ruby = File.expand_path('miniruby')</div><div class='add'>+  @verbose = false</div><div class='add'>+  $VERBOSE = false</div><div class='add'>+  $stress = false</div><div class='add'>+  @color = nil</div><div class='add'>+  @tty = nil</div><div class='add'>+  @quiet = false</div><div class='add'>+  dir = nil</div><div class='add'>+  quiet = false</div><div class='add'>+  tests = nil</div><div class='add'>+  ARGV.delete_if {|arg|</div><div class='add'>+    case arg</div><div class='add'>+    when /\A--ruby=(.*)/</div><div class='add'>+      @ruby = $1</div><div class='add'>+      @ruby.gsub!(/^([^ ]*)/){File.expand_path($1)}</div><div class='add'>+      @ruby.gsub!(/(\s+-I\s*)((?!(?:\.\/)*-(?:\s|\z))\S+)/){$1+File.expand_path($2)}</div><div class='add'>+      @ruby.gsub!(/(\s+-r\s*)(\.\.?\/\S+)/){$1+File.expand_path($2)}</div><div class='add'>+      true</div><div class='add'>+    when /\A--sets=(.*)/</div><div class='add'>+      tests = Dir.glob("#{File.dirname($0)}/test_{#{$1}}*.rb").sort</div><div class='add'>+      puts tests.map {|path| File.basename(path) }.inspect</div><div class='add'>+      true</div><div class='add'>+    when /\A--dir=(.*)/</div><div class='add'>+      dir = $1</div><div class='add'>+      true</div><div class='add'>+    when /\A(--stress|-s)/</div><div class='add'>+      $stress = true</div><div class='add'>+    when /\A--color(?:=(?:always|(auto)|(never)|(.*)))?\z/</div><div class='add'>+      warn "unknown --color argument: #$3" if $3</div><div class='add'>+      @color = $1 ? nil : !$2</div><div class='add'>+      true</div><div class='add'>+    when /\A--tty(=(?:yes|(no)|(.*)))?\z/</div><div class='add'>+      warn "unknown --tty argument: #$3" if $3</div><div class='add'>+      @tty = !$1 || !$2</div><div class='add'>+      true</div><div class='add'>+    when /\A(-q|--q(uiet))\z/</div><div class='add'>+      quiet = true</div><div class='add'>+      @quiet = true</div><div class='add'>+      true</div><div class='add'>+    when /\A(-v|--v(erbose))\z/</div><div class='add'>+      @verbose = true</div><div class='add'>+    when /\A(-h|--h(elp)?)\z/</div><div class='add'>+      puts(&lt;&lt;-End)</div><div class='add'>+Usage: #{File.basename($0, '.*')} --ruby=PATH [--sets=NAME,NAME,...]</div><div class='add'>+        --sets=NAME,NAME,...        Name of test sets.</div><div class='add'>+        --dir=DIRECTORY             Working directory.</div><div class='add'>+                                    default: /tmp/bootstraptestXXXXX.tmpwd</div><div class='add'>+        --color[=WHEN]              Colorize the output.  WHEN defaults to 'always'</div><div class='add'>+                                    or can be 'never' or 'auto'.</div><div class='add'>+    -s, --stress                    stress test.</div><div class='add'>+    -v, --verbose                   Output test name before exec.</div><div class='add'>+    -q, --quiet                     Don\'t print header message.</div><div class='add'>+    -h, --help                      Print this message and quit.</div><div class='add'>+End</div><div class='add'>+      exit true</div><div class='add'>+    when /\A-j/</div><div class='add'>+      true</div><div class='add'>+    else</div><div class='add'>+      false</div><div class='add'>+    end</div><div class='add'>+  }</div><div class='add'>+  if tests and not ARGV.empty?</div><div class='add'>+    $stderr.puts "--tests and arguments are exclusive"</div><div class='add'>+    exit false</div><div class='add'>+  end</div><div class='add'>+  tests ||= ARGV</div><div class='add'>+  tests = Dir.glob("#{File.dirname($0)}/test_*.rb").sort if tests.empty?</div><div class='add'>+  pathes = tests.map {|path| File.expand_path(path) }</div><div class='add'>+</div><div class='add'>+  @progress = %w[- \\ | /]</div><div class='add'>+  @progress_bs = "\b" * @progress[0].size</div><div class='add'>+  @tty = $stderr.tty? if @tty.nil?</div><div class='add'>+  case @color</div><div class='add'>+  when nil</div><div class='add'>+    @color = @tty &amp;&amp; /dumb/ !~ ENV["TERM"]</div><div class='add'>+  end</div><div class='add'>+  @tty &amp;&amp;= !@verbose</div><div class='add'>+  if @color</div><div class='add'>+    # dircolors-like style</div><div class='add'>+    colors = (colors = ENV['TEST_COLORS']) ? Hash[colors.scan(/(\w+)=([^:\n]*)/)] : {}</div><div class='add'>+    begin</div><div class='add'>+      File.read(File.join(__dir__, "../tool/colors")).scan(/(\w+)=([^:\n]*)/) do |n, c|</div><div class='add'>+        colors[n] ||= c</div><div class='add'>+      end</div><div class='add'>+    rescue</div><div class='add'>+    end</div><div class='add'>+    @passed = "\e[;#{colors["pass"] || "32"}m"</div><div class='add'>+    @failed = "\e[;#{colors["fail"] || "31"}m"</div><div class='add'>+    @reset = "\e[m"</div><div class='add'>+  else</div><div class='add'>+    @passed = @failed = @reset = ""</div><div class='add'>+  end</div><div class='add'>+  unless quiet</div><div class='add'>+    puts Time.now</div><div class='add'>+    if defined?(RUBY_DESCRIPTION)</div><div class='add'>+      puts "Driver is #{RUBY_DESCRIPTION}"</div><div class='add'>+    elsif defined?(RUBY_PATCHLEVEL)</div><div class='add'>+      puts "Driver is ruby #{RUBY_VERSION} (#{RUBY_RELEASE_DATE}#{RUBY_PLATFORM}) [#{RUBY_PLATFORM}]"</div><div class='add'>+    else</div><div class='add'>+      puts "Driver is ruby #{RUBY_VERSION} (#{RUBY_RELEASE_DATE}) [#{RUBY_PLATFORM}]"</div><div class='add'>+    end</div><div class='add'>+    puts "Target is #{`#{@ruby} -v`.chomp}"</div><div class='add'>+    puts</div><div class='add'>+    $stdout.flush</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  in_temporary_working_directory(dir) {</div><div class='add'>+    exec_test pathes</div><div class='add'>+  }</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def erase(e = true)</div><div class='add'>+  if e and @columns &gt; 0 and @tty and !@verbose</div><div class='add'>+    "\e[1K\r"</div><div class='add'>+  else</div><div class='add'>+    ""</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def exec_test(pathes)</div><div class='add'>+  @count = 0</div><div class='add'>+  @error = 0</div><div class='add'>+  @errbuf = []</div><div class='add'>+  @location = nil</div><div class='add'>+  @columns = 0</div><div class='add'>+  @width = pathes.map {|path| File.basename(path).size}.max + 2</div><div class='add'>+  pathes.each do |path|</div><div class='add'>+    @basename = File.basename(path)</div><div class='add'>+    $stderr.printf("%s%-*s ", erase(@quiet), @width, @basename)</div><div class='add'>+    $stderr.flush</div><div class='add'>+    @columns = @width + 1</div><div class='add'>+    $stderr.puts if @verbose</div><div class='add'>+    count = @count</div><div class='add'>+    error = @error</div><div class='add'>+    load File.expand_path(path)</div><div class='add'>+    if @tty</div><div class='add'>+      if @error == error</div><div class='add'>+        msg = "PASS #{@count-count}"</div><div class='add'>+        @columns += msg.size - 1</div><div class='add'>+        $stderr.print "#{@progress_bs}#{@passed}#{msg}#{@reset}"</div><div class='add'>+      else</div><div class='add'>+        msg = "FAIL #{@error-error}/#{@count-count}"</div><div class='add'>+        $stderr.print "#{@progress_bs}#{@failed}#{msg}#{@reset}"</div><div class='add'>+        @columns = 0</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+    $stderr.puts unless @quiet and @tty and @error == error</div><div class='add'>+  end</div><div class='add'>+  $stderr.print(erase) if @quiet</div><div class='add'>+  @errbuf.each do |msg|</div><div class='add'>+    $stderr.puts msg</div><div class='add'>+  end</div><div class='add'>+  if @error == 0</div><div class='add'>+    if @count == 0</div><div class='add'>+      $stderr.puts "No tests, no problem"</div><div class='add'>+    else</div><div class='add'>+      $stderr.puts "#{@passed}PASS#{@reset} all #{@count} tests"</div><div class='add'>+    end</div><div class='add'>+    exit true</div><div class='add'>+  else</div><div class='add'>+    $stderr.puts "#{@failed}FAIL#{@reset} #{@error}/#{@count} tests failed"</div><div class='add'>+    exit false</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def show_progress(message = '')</div><div class='add'>+  if @verbose</div><div class='add'>+    $stderr.print "\##{@count} #{@location} "</div><div class='add'>+  elsif @tty</div><div class='add'>+    $stderr.print "#{@progress_bs}#{@progress[@count % @progress.size]}"</div><div class='add'>+  end</div><div class='add'>+  t = Time.now if @verbose</div><div class='add'>+  faildesc, errout = with_stderr {yield}</div><div class='add'>+  t = Time.now - t if @verbose</div><div class='add'>+  if !faildesc</div><div class='add'>+    if @tty</div><div class='add'>+      $stderr.print "#{@progress_bs}#{@progress[@count % @progress.size]}"</div><div class='add'>+    elsif @verbose</div><div class='add'>+      $stderr.printf(". %.3f\n", t)</div><div class='add'>+    else</div><div class='add'>+      $stderr.print '.'</div><div class='add'>+    end</div><div class='add'>+  else</div><div class='add'>+    $stderr.print "#{@failed}F"</div><div class='add'>+    $stderr.printf(" %.3f", t) if @verbose</div><div class='add'>+    $stderr.print @reset</div><div class='add'>+    $stderr.puts if @verbose</div><div class='add'>+    error faildesc, message</div><div class='add'>+    unless errout.empty?</div><div class='add'>+      $stderr.print "#{@failed}stderr output is not empty#{@reset}\n", adjust_indent(errout)</div><div class='add'>+    end</div><div class='add'>+    if @tty and !@verbose</div><div class='add'>+      $stderr.printf("%-*s%s", @width, @basename, @progress[@count % @progress.size])</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+rescue Interrupt</div><div class='add'>+  $stderr.puts "\##{@count} #{@location}"</div><div class='add'>+  raise</div><div class='add'>+rescue Exception =&gt; err</div><div class='add'>+  $stderr.print 'E'</div><div class='add'>+  $stderr.puts if @verbose</div><div class='add'>+  error err.message, message</div><div class='add'>+ensure</div><div class='add'>+  begin</div><div class='add'>+    check_coredump</div><div class='add'>+  rescue CoreDumpError =&gt; err</div><div class='add'>+    $stderr.print 'E'</div><div class='add'>+    $stderr.puts if @verbose</div><div class='add'>+    error err.message, message</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def show_limit(testsrc, opt = '', **argh)</div><div class='add'>+  result = get_result_string(testsrc, opt, **argh)</div><div class='add'>+  if @tty and @verbose</div><div class='add'>+    $stderr.puts ".{#@reset}\n#{erase}#{result}"</div><div class='add'>+  else</div><div class='add'>+    @errbuf.push result</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def assert_check(testsrc, message = '', opt = '', **argh)</div><div class='add'>+  show_progress(message) {</div><div class='add'>+    result = get_result_string(testsrc, opt, **argh)</div><div class='add'>+    yield(result)</div><div class='add'>+  }</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def assert_equal(expected, testsrc, message = '', opt = '', **argh)</div><div class='add'>+  newtest</div><div class='add'>+  assert_check(testsrc, message, opt, **argh) {|result|</div><div class='add'>+    if expected == result</div><div class='add'>+      nil</div><div class='add'>+    else</div><div class='add'>+      desc = "#{result.inspect} (expected #{expected.inspect})"</div><div class='add'>+      pretty(testsrc, desc, result)</div><div class='add'>+    end</div><div class='add'>+  }</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def assert_match(expected_pattern, testsrc, message = '')</div><div class='add'>+  newtest</div><div class='add'>+  assert_check(testsrc, message) {|result|</div><div class='add'>+    if expected_pattern =~ result</div><div class='add'>+      nil</div><div class='add'>+    else</div><div class='add'>+      desc = "#{expected_pattern.inspect} expected to be =~\n#{result.inspect}"</div><div class='add'>+      pretty(testsrc, desc, result)</div><div class='add'>+    end</div><div class='add'>+  }</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def assert_not_match(unexpected_pattern, testsrc, message = '')</div><div class='add'>+  newtest</div><div class='add'>+  assert_check(testsrc, message) {|result|</div><div class='add'>+    if unexpected_pattern !~ result</div><div class='add'>+      nil</div><div class='add'>+    else</div><div class='add'>+      desc = "#{unexpected_pattern.inspect} expected to be !~\n#{result.inspect}"</div><div class='add'>+      pretty(testsrc, desc, result)</div><div class='add'>+    end</div><div class='add'>+  }</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def assert_valid_syntax(testsrc, message = '')</div><div class='add'>+  newtest</div><div class='add'>+  assert_check(testsrc, message, '-c') {|result|</div><div class='add'>+    result if /Syntax OK/ !~ result</div><div class='add'>+  }</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def assert_normal_exit(testsrc, *rest, timeout: nil, **opt)</div><div class='add'>+  newtest</div><div class='add'>+  message, ignore_signals = rest</div><div class='add'>+  message ||= ''</div><div class='add'>+  show_progress(message) {</div><div class='add'>+    faildesc = nil</div><div class='add'>+    filename = make_srcfile(testsrc)</div><div class='add'>+    old_stderr = $stderr.dup</div><div class='add'>+    timeout_signaled = false</div><div class='add'>+    begin</div><div class='add'>+      $stderr.reopen("assert_normal_exit.log", "w")</div><div class='add'>+      io = IO.popen("#{@ruby} -W0 #{filename}")</div><div class='add'>+      pid = io.pid</div><div class='add'>+      th = Thread.new {</div><div class='add'>+        io.read</div><div class='add'>+        io.close</div><div class='add'>+        $?</div><div class='add'>+      }</div><div class='add'>+      if !th.join(timeout)</div><div class='add'>+        Process.kill :KILL, pid</div><div class='add'>+        timeout_signaled = true</div><div class='add'>+      end</div><div class='add'>+      status = th.value</div><div class='add'>+    ensure</div><div class='add'>+      $stderr.reopen(old_stderr)</div><div class='add'>+      old_stderr.close</div><div class='add'>+    end</div><div class='add'>+    if status &amp;&amp; status.signaled?</div><div class='add'>+      signo = status.termsig</div><div class='add'>+      signame = Signal.list.invert[signo]</div><div class='add'>+      unless ignore_signals and ignore_signals.include?(signame)</div><div class='add'>+        sigdesc = "signal #{signo}"</div><div class='add'>+        if signame</div><div class='add'>+          sigdesc = "SIG#{signame} (#{sigdesc})"</div><div class='add'>+        end</div><div class='add'>+        if timeout_signaled</div><div class='add'>+          sigdesc &lt;&lt; " (timeout)"</div><div class='add'>+        end</div><div class='add'>+        faildesc = pretty(testsrc, "killed by #{sigdesc}", nil)</div><div class='add'>+        stderr_log = File.read("assert_normal_exit.log")</div><div class='add'>+        if !stderr_log.empty?</div><div class='add'>+          faildesc &lt;&lt; "\n" if /\n\z/ !~ faildesc</div><div class='add'>+          stderr_log &lt;&lt; "\n" if /\n\z/ !~ stderr_log</div><div class='add'>+          stderr_log.gsub!(/^.*\n/) { '| ' + $&amp; }</div><div class='add'>+          faildesc &lt;&lt; stderr_log</div><div class='add'>+        end</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+    faildesc</div><div class='add'>+  }</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def assert_finish(timeout_seconds, testsrc, message = '')</div><div class='add'>+  if defined?(RubyVM::MJIT) &amp;&amp; RubyVM::MJIT.enabled? # for --jit-wait</div><div class='add'>+    timeout_seconds *= 3</div><div class='add'>+  end</div><div class='add'>+  newtest</div><div class='add'>+  show_progress(message) {</div><div class='add'>+    faildesc = nil</div><div class='add'>+    filename = make_srcfile(testsrc)</div><div class='add'>+    io = IO.popen("#{@ruby} -W0 #{filename}")</div><div class='add'>+    pid = io.pid</div><div class='add'>+    waited = false</div><div class='add'>+    tlimit = Time.now + timeout_seconds</div><div class='add'>+    diff = timeout_seconds</div><div class='add'>+    while diff &gt; 0</div><div class='add'>+      if Process.waitpid pid, Process::WNOHANG</div><div class='add'>+        waited = true</div><div class='add'>+        break</div><div class='add'>+      end</div><div class='add'>+      if io.respond_to?(:read_nonblock)</div><div class='add'>+        if IO.select([io], nil, nil, diff)</div><div class='add'>+          begin</div><div class='add'>+            io.read_nonblock(1024)</div><div class='add'>+          rescue Errno::EAGAIN, IO::WaitReadable, EOFError</div><div class='add'>+            break</div><div class='add'>+          end while true</div><div class='add'>+        end</div><div class='add'>+      else</div><div class='add'>+        sleep 0.1</div><div class='add'>+      end</div><div class='add'>+      diff = tlimit - Time.now</div><div class='add'>+    end</div><div class='add'>+    if !waited</div><div class='add'>+      Process.kill(:KILL, pid)</div><div class='add'>+      Process.waitpid pid</div><div class='add'>+      faildesc = pretty(testsrc, "not finished in #{timeout_seconds} seconds", nil)</div><div class='add'>+    end</div><div class='add'>+    io.close</div><div class='add'>+    faildesc</div><div class='add'>+  }</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def flunk(message = '')</div><div class='add'>+  newtest</div><div class='add'>+  show_progress('') { message }</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def pretty(src, desc, result)</div><div class='add'>+  src = src.sub(/\A\s*\n/, '')</div><div class='add'>+  (/\n/ =~ src ? "\n#{adjust_indent(src)}" : src) + "  #=&gt; #{desc}"</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+INDENT = 27</div><div class='add'>+</div><div class='add'>+def adjust_indent(src)</div><div class='add'>+  untabify(src).gsub(/^ {#{INDENT}}/o, '').gsub(/^/, '   ').sub(/\s*\z/, "\n")</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def untabify(str)</div><div class='add'>+  str.gsub(/^\t+/) {' ' * (8 * $&amp;.size) }</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def make_srcfile(src, frozen_string_literal: nil)</div><div class='add'>+  filename = 'bootstraptest.tmp.rb'</div><div class='add'>+  File.open(filename, 'w') {|f|</div><div class='add'>+    f.puts "#frozen_string_literal:true" if frozen_string_literal</div><div class='add'>+    f.puts "GC.stress = true" if $stress</div><div class='add'>+    f.puts "print(begin; #{src}; end)"</div><div class='add'>+  }</div><div class='add'>+  filename</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def get_result_string(src, opt = '', **argh)</div><div class='add'>+  if @ruby</div><div class='add'>+    filename = make_srcfile(src, **argh)</div><div class='add'>+    begin</div><div class='add'>+      `#{@ruby} -W0 #{opt} #{filename}`</div><div class='add'>+    ensure</div><div class='add'>+      raise Interrupt if $? and $?.signaled? &amp;&amp; $?.termsig == Signal.list["INT"]</div><div class='add'>+    end</div><div class='add'>+  else</div><div class='add'>+    eval(src).to_s</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def with_stderr</div><div class='add'>+  out = err = nil</div><div class='add'>+  begin</div><div class='add'>+    r, w = IO.pipe</div><div class='add'>+    stderr = $stderr.dup</div><div class='add'>+    $stderr.reopen(w)</div><div class='add'>+    w.close</div><div class='add'>+    reader = Thread.start {r.read}</div><div class='add'>+    begin</div><div class='add'>+      out = yield</div><div class='add'>+    ensure</div><div class='add'>+      $stderr.reopen(stderr)</div><div class='add'>+      err = reader.value</div><div class='add'>+    end</div><div class='add'>+  ensure</div><div class='add'>+    w.close rescue nil</div><div class='add'>+    r.close rescue nil</div><div class='add'>+  end</div><div class='add'>+  return out, err</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def newtest</div><div class='add'>+  @location = File.basename(caller(2).first)</div><div class='add'>+  @count += 1</div><div class='add'>+  cleanup_coredump</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def error(msg, additional_message)</div><div class='add'>+  msg = "#{@failed}\##{@count} #{@location}#{@reset}: #{msg}  #{additional_message}"</div><div class='add'>+  if @tty</div><div class='add'>+    $stderr.puts "#{erase}#{msg}"</div><div class='add'>+  else</div><div class='add'>+    @errbuf.push msg</div><div class='add'>+  end</div><div class='add'>+  @error += 1</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def in_temporary_working_directory(dir)</div><div class='add'>+  if dir</div><div class='add'>+    Dir.mkdir dir</div><div class='add'>+    Dir.chdir(dir) {</div><div class='add'>+      yield</div><div class='add'>+    }</div><div class='add'>+  else</div><div class='add'>+    Dir.mktmpdir(["bootstraptest", ".tmpwd"]) {|d|</div><div class='add'>+      Dir.chdir(d) {</div><div class='add'>+        yield</div><div class='add'>+      }</div><div class='add'>+    }</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+def cleanup_coredump</div><div class='add'>+  if File.file?('core')</div><div class='add'>+    require 'time'</div><div class='add'>+    Dir.glob('/tmp/bootstraptest-core.*').each do |f|</div><div class='add'>+      if Time.now - File.mtime(f) &gt; 7 * 24 * 60 * 60 # 7 days</div><div class='add'>+        warn "Deleting an old core file: #{f}"</div><div class='add'>+        FileUtils.rm(f)</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+    core_path = "/tmp/bootstraptest-core.#{Time.now.utc.iso8601}"</div><div class='add'>+    warn "A core file is found. Saving it at: #{core_path.dump}"</div><div class='add'>+    FileUtils.mv('core', core_path)</div><div class='add'>+    cmd = ['gdb', @ruby, '-c', core_path, '-ex', 'bt', '-batch']</div><div class='add'>+    p cmd # debugging why it's not working</div><div class='add'>+    system(*cmd)</div><div class='add'>+  end</div><div class='add'>+  FileUtils.rm_f Dir.glob('core.*')</div><div class='add'>+  FileUtils.rm_f @ruby+'.stackdump' if @ruby</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+class CoreDumpError &lt; StandardError; end</div><div class='add'>+</div><div class='add'>+def check_coredump</div><div class='add'>+  if File.file?('core') or not Dir.glob('core.*').empty? or</div><div class='add'>+      (@ruby and File.exist?(@ruby+'.stackdump'))</div><div class='add'>+    raise CoreDumpError, "core dumped"</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+main</div><div class='head'>diff --git a/bootstraptest/test_attr.rb b/bootstraptest/test_attr.rb<br/>new file mode 100644<br/>index 0000000000..721a847145<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bootstraptest/test_attr.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>bootstraptest/test_attr.rb</a></div><div class='hunk'>@@ -0,0 +1,36 @@</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  module M</div><div class='add'>+    class A</div><div class='add'>+      class &lt;&lt; self</div><div class='add'>+        attr_accessor :at</div><div class='add'>+        def workflow_rule</div><div class='add'>+          yield self</div><div class='add'>+        end</div><div class='add'>+</div><div class='add'>+        def eval_str(str)</div><div class='add'>+          eval(str)</div><div class='add'>+        end</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  begin</div><div class='add'>+    M::A.eval_str(&lt;&lt;-END)</div><div class='add'>+    workflow_rule do |r|</div><div class='add'>+      r.at 1</div><div class='add'>+    end</div><div class='add'>+    END</div><div class='add'>+  rescue ArgumentError =&gt; e</div><div class='add'>+    print "ok"</div><div class='add'>+  end</div><div class='add'>+}, '[ruby-core:14641]'</div><div class='add'>+</div><div class='add'>+assert_equal %{ok}, %{</div><div class='add'>+  class A</div><div class='add'>+    attr :m</div><div class='add'>+  end</div><div class='add'>+  begin</div><div class='add'>+    A.new.m(3)</div><div class='add'>+  rescue ArgumentError =&gt; e</div><div class='add'>+    print "ok"</div><div class='add'>+  end</div><div class='add'>+}, '[ruby-core:15120]'</div><div class='head'>diff --git a/bootstraptest/test_autoload.rb b/bootstraptest/test_autoload.rb<br/>new file mode 100644<br/>index 0000000000..a9f8e6dacd<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bootstraptest/test_autoload.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>bootstraptest/test_autoload.rb</a></div><div class='hunk'>@@ -0,0 +1,70 @@</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  File.unlink('zzz.rb') if File.file?('zzz.rb')</div><div class='add'>+  instance_eval do</div><div class='add'>+    autoload :ZZZ, './zzz.rb'</div><div class='add'>+    begin</div><div class='add'>+      ZZZ</div><div class='add'>+    rescue LoadError</div><div class='add'>+      :ok</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+}, '[ruby-dev:43816]'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  open('zzz.rb', 'w') {|f| f.puts '' }</div><div class='add'>+  instance_eval do</div><div class='add'>+    autoload :ZZZ, './zzz.rb'</div><div class='add'>+    begin</div><div class='add'>+      ZZZ</div><div class='add'>+    rescue NameError</div><div class='add'>+      :ok</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+}, '[ruby-dev:43816]'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  open('zzz.rb', 'w') {|f| f.puts 'class ZZZ; def self.ok;:ok;end;end'}</div><div class='add'>+  instance_eval do</div><div class='add'>+    autoload :ZZZ, './zzz.rb'</div><div class='add'>+    ZZZ.ok</div><div class='add'>+  end</div><div class='add'>+}, '[ruby-dev:43816]'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  open("zzz.rb", "w") {|f| f.puts "class ZZZ; def self.ok;:ok;end;end"}</div><div class='add'>+  autoload :ZZZ, "./zzz.rb"</div><div class='add'>+  ZZZ.ok</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  open("zzz.rb", "w") {|f| f.puts "class ZZZ; def self.ok;:ok;end;end"}</div><div class='add'>+  autoload :ZZZ, "./zzz.rb"</div><div class='add'>+  require "./zzz.rb"</div><div class='add'>+  ZZZ.ok</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal 'okok', %q{</div><div class='add'>+  open("zzz.rb", "w") {|f| f.puts "class ZZZ; def self.ok;:ok;end;end"}</div><div class='add'>+  autoload :ZZZ, "./zzz.rb"</div><div class='add'>+  t1 = Thread.new {ZZZ.ok}</div><div class='add'>+  t2 = Thread.new {ZZZ.ok}</div><div class='add'>+  [t1.value, t2.value].join</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_finish 5, %q{</div><div class='add'>+  autoload :ZZZ, File.expand_path(__FILE__)</div><div class='add'>+  begin</div><div class='add'>+    ZZZ</div><div class='add'>+  rescue NameError</div><div class='add'>+  end</div><div class='add'>+}, '[ruby-core:21696]'</div><div class='add'>+</div><div class='add'>+assert_equal 'A::C', %q{</div><div class='add'>+  open("zzz.rb", "w") {}</div><div class='add'>+  class A</div><div class='add'>+    autoload :C, "./zzz"</div><div class='add'>+    class C</div><div class='add'>+    end</div><div class='add'>+    C</div><div class='add'>+  end</div><div class='add'>+}</div><div class='head'>diff --git a/bootstraptest/test_block.rb b/bootstraptest/test_block.rb<br/>new file mode 100644<br/>index 0000000000..cdc5960a59<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bootstraptest/test_block.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>bootstraptest/test_block.rb</a></div><div class='hunk'>@@ -0,0 +1,613 @@</div><div class='add'>+assert_equal %q{1}, %q{</div><div class='add'>+  1.times{</div><div class='add'>+    begin</div><div class='add'>+      a = 1</div><div class='add'>+    ensure</div><div class='add'>+      foo = nil</div><div class='add'>+    end</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{2}, %q{</div><div class='add'>+  [1,2,3].find{|x| x == 2}</div><div class='add'>+}</div><div class='add'>+assert_equal %q{2}, %q{</div><div class='add'>+  class E</div><div class='add'>+    include Enumerable</div><div class='add'>+    def each(&amp;block)</div><div class='add'>+      [1, 2, 3].each(&amp;block)</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  E.new.find {|x| x == 2 }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{6}, %q{</div><div class='add'>+  sum = 0</div><div class='add'>+  for x in [1, 2, 3]</div><div class='add'>+    sum += x</div><div class='add'>+  end</div><div class='add'>+  sum</div><div class='add'>+}</div><div class='add'>+assert_equal %q{15}, %q{</div><div class='add'>+  sum = 0</div><div class='add'>+  for x in (1..5)</div><div class='add'>+    sum += x</div><div class='add'>+  end</div><div class='add'>+  sum</div><div class='add'>+}</div><div class='add'>+assert_equal %q{0}, %q{</div><div class='add'>+  sum = 0</div><div class='add'>+  for x in []</div><div class='add'>+    sum += x</div><div class='add'>+  end</div><div class='add'>+  sum</div><div class='add'>+}</div><div class='add'>+assert_equal %q{1}, %q{</div><div class='add'>+  ans = []</div><div class='add'>+  1.times{</div><div class='add'>+    for n in 1..3</div><div class='add'>+      a = n</div><div class='add'>+      ans &lt;&lt; a</div><div class='add'>+    end</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{1..3}, %q{</div><div class='add'>+  ans = []</div><div class='add'>+  for m in 1..3</div><div class='add'>+    for n in 1..3</div><div class='add'>+      a = [m, n]</div><div class='add'>+      ans &lt;&lt; a</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{[1, 2, 3]}, %q{</div><div class='add'>+  (1..3).to_a</div><div class='add'>+}</div><div class='add'>+assert_equal %q{[4, 8, 12]}, %q{</div><div class='add'>+  (1..3).map{|e|</div><div class='add'>+    e * 4</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{[1, 2, 3]}, %q{</div><div class='add'>+  class C</div><div class='add'>+    include Enumerable</div><div class='add'>+    def each</div><div class='add'>+      [1,2,3].each{|e|</div><div class='add'>+        yield e</div><div class='add'>+      }</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  C.new.to_a</div><div class='add'>+}</div><div class='add'>+assert_equal %q{[4, 5, 6]}, %q{</div><div class='add'>+  class C</div><div class='add'>+    include Enumerable</div><div class='add'>+    def each</div><div class='add'>+      [1,2,3].each{|e|</div><div class='add'>+        yield e</div><div class='add'>+      }</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  C.new.map{|e|</div><div class='add'>+    e + 3</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{100}, %q{</div><div class='add'>+  def m</div><div class='add'>+    yield</div><div class='add'>+  end</div><div class='add'>+  def n</div><div class='add'>+    yield</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  m{</div><div class='add'>+    n{</div><div class='add'>+      100</div><div class='add'>+    }</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{20}, %q{</div><div class='add'>+  def m</div><div class='add'>+    yield 1</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  m{|ib|</div><div class='add'>+    m{|jb|</div><div class='add'>+      i = 20</div><div class='add'>+    }</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{2}, %q{</div><div class='add'>+  def m</div><div class='add'>+    yield 1</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  m{|ib|</div><div class='add'>+    m{|jb|</div><div class='add'>+      ib = 20</div><div class='add'>+      kb = 2</div><div class='add'>+    }</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{3}, %q{</div><div class='add'>+  def iter1</div><div class='add'>+    iter2{</div><div class='add'>+      yield</div><div class='add'>+    }</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def iter2</div><div class='add'>+    yield</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  iter1{</div><div class='add'>+    jb = 2</div><div class='add'>+    iter1{</div><div class='add'>+      jb = 3</div><div class='add'>+    }</div><div class='add'>+    jb</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{2}, %q{</div><div class='add'>+  def iter1</div><div class='add'>+    iter2{</div><div class='add'>+      yield</div><div class='add'>+    }</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def iter2</div><div class='add'>+    yield</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  iter1{</div><div class='add'>+    jb = 2</div><div class='add'>+    iter1{</div><div class='add'>+      jb</div><div class='add'>+    }</div><div class='add'>+    jb</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{2}, %q{</div><div class='add'>+  def m</div><div class='add'>+    yield 1</div><div class='add'>+  end</div><div class='add'>+  m{|ib|</div><div class='add'>+    ib*2</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{92580}, %q{</div><div class='add'>+  def m</div><div class='add'>+    yield 12345, 67890</div><div class='add'>+  end</div><div class='add'>+  m{|ib,jb|</div><div class='add'>+    ib*2+jb</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{[10, nil]}, %q{</div><div class='add'>+  def iter</div><div class='add'>+    yield 10</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  a = nil</div><div class='add'>+  [iter{|a|</div><div class='add'>+    a</div><div class='add'>+  }, a]</div><div class='add'>+}</div><div class='add'>+assert_equal %q{21}, %q{</div><div class='add'>+  def iter</div><div class='add'>+    yield 10</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  iter{|a|</div><div class='add'>+    iter{|a|</div><div class='add'>+      a + 1</div><div class='add'>+    } + a</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{[10, 20, 30, 40, nil, nil, nil, nil]}, %q{</div><div class='add'>+  def iter</div><div class='add'>+    yield 10, 20, 30, 40</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  a = b = c = d = nil</div><div class='add'>+  iter{|a, b, c, d|</div><div class='add'>+    [a, b, c, d]</div><div class='add'>+  } + [a, b, c, d]</div><div class='add'>+}</div><div class='add'>+assert_equal %q{[10, 20, 30, 40, nil, nil]}, %q{</div><div class='add'>+  def iter</div><div class='add'>+    yield 10, 20, 30, 40</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  a = b = nil</div><div class='add'>+  iter{|a, b, c, d|</div><div class='add'>+    [a, b, c, d]</div><div class='add'>+  } + [a, b]</div><div class='add'>+}</div><div class='add'>+assert_equal %q{[1]}, %q{</div><div class='add'>+  $a = []</div><div class='add'>+</div><div class='add'>+  def iter</div><div class='add'>+    yield 1</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def m</div><div class='add'>+    x = iter{|x|</div><div class='add'>+      $a &lt;&lt; x</div><div class='add'>+      y = 0</div><div class='add'>+    }</div><div class='add'>+  end</div><div class='add'>+  m</div><div class='add'>+  $a</div><div class='add'>+}</div><div class='add'>+assert_equal %q{[1, [2]]}, %q{</div><div class='add'>+  def iter</div><div class='add'>+    yield 1, 2</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  iter{|a, *b|</div><div class='add'>+    [a, b]</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{[[1, 2]]}, %q{</div><div class='add'>+  def iter</div><div class='add'>+    yield 1, 2</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  iter{|*a|</div><div class='add'>+    [a]</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{[1, 2, []]}, %q{</div><div class='add'>+  def iter</div><div class='add'>+    yield 1, 2</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  iter{|a, b, *c|</div><div class='add'>+    [a, b, c]</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{[1, 2, nil, []]}, %q{</div><div class='add'>+  def iter</div><div class='add'>+    yield 1, 2</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  iter{|a, b, c, *d|</div><div class='add'>+    [a, b, c, d]</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{1}, %q{</div><div class='add'>+  def m</div><div class='add'>+    yield</div><div class='add'>+  end</div><div class='add'>+  m{</div><div class='add'>+    1</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{15129}, %q{</div><div class='add'>+  def m</div><div class='add'>+    yield 123</div><div class='add'>+  end</div><div class='add'>+  m{|ib|</div><div class='add'>+    m{|jb|</div><div class='add'>+      ib*jb</div><div class='add'>+    }</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{2}, %q{</div><div class='add'>+  def m a</div><div class='add'>+    yield a</div><div class='add'>+  end</div><div class='add'>+  m(1){|ib|</div><div class='add'>+    m(2){|jb|</div><div class='add'>+      ib*jb</div><div class='add'>+    }</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{9}, %q{</div><div class='add'>+  sum = 0</div><div class='add'>+  3.times{|ib|</div><div class='add'>+    2.times{|jb|</div><div class='add'>+      sum += ib + jb</div><div class='add'>+    }}</div><div class='add'>+  sum</div><div class='add'>+}</div><div class='add'>+assert_equal %q{10}, %q{</div><div class='add'>+  3.times{|bl|</div><div class='add'>+    break 10</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{[1, 2]}, %q{</div><div class='add'>+  def iter</div><div class='add'>+    yield 1,2,3</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  iter{|i, j|</div><div class='add'>+    [i, j]</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{[1, nil]}, %q{</div><div class='add'>+  def iter</div><div class='add'>+    yield 1</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  iter{|i, j|</div><div class='add'>+    [i, j]</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal '0', %q{</div><div class='add'>+def m()</div><div class='add'>+end</div><div class='add'>+m {|(v0,*,(*)),|}</div><div class='add'>+m {|(*v0,(*)),|}</div><div class='add'>+m {|(v0,*v1,(*)),|}</div><div class='add'>+m {|((v0,*v1,v2)),|}</div><div class='add'>+m {|(v0,*v1,v2),|}</div><div class='add'>+m {|(v0,*v1,(v2)),|}</div><div class='add'>+m {|((*),*v0,v1),|}</div><div class='add'>+m {|((v0),*v1,v2),|}</div><div class='add'>+m {|(v0,v1,*v2,v3),|}</div><div class='add'>+m {|v0,(v1,*v2,v3),|}</div><div class='add'>+m {|(v0,*v1,v2),v3,|}</div><div class='add'>+m {|(v0,*v1,v2)|}</div><div class='add'>+m {|(v0,*v1,v2),&amp;v3|}</div><div class='add'>+m {|(v0,*v1,v2),*|}</div><div class='add'>+m {|(v0,*v1,v2),*,&amp;v3|}</div><div class='add'>+m {|*,(v0,*v1,v2)|}</div><div class='add'>+m {|*,(v0,*v1,v2),&amp;v3|}</div><div class='add'>+m {|v0,*,(v1,*v2,v3)|}</div><div class='add'>+m {|v0,*,(v1,*v2,v3),&amp;v4|}</div><div class='add'>+m {|(v0,*v1,v2),*,v3|}</div><div class='add'>+m {|(v0,*v1,v2),*,v3,&amp;v4|}</div><div class='add'>+m {|(v0, *v1, v2)|}</div><div class='add'>+m {|(*,v)|}</div><div class='add'>+0</div><div class='add'>+}, "block parameter (shouldn't SEGV: [ruby-dev:31143])"</div><div class='add'>+</div><div class='add'>+assert_equal 'nil', %q{</div><div class='add'>+  def m</div><div class='add'>+    yield</div><div class='add'>+  end</div><div class='add'>+  m{|&amp;b| b}.inspect</div><div class='add'>+}, '[ruby-dev:31147]'</div><div class='add'>+</div><div class='add'>+assert_equal 'nil', %q{</div><div class='add'>+  def m()</div><div class='add'>+    yield</div><div class='add'>+  end</div><div class='add'>+  m {|(v,(*))|}.inspect</div><div class='add'>+}, '[ruby-dev:31160]'</div><div class='add'>+</div><div class='add'>+assert_equal 'nil', %q{</div><div class='add'>+  def m()</div><div class='add'>+    yield</div><div class='add'>+  end</div><div class='add'>+  m {|(*,a,b)|}.inspect</div><div class='add'>+}, '[ruby-dev:31153]'</div><div class='add'>+</div><div class='add'>+assert_equal 'nil', %q{</div><div class='add'>+  def m()</div><div class='add'>+    yield</div><div class='add'>+  end</div><div class='add'>+  m {|((*))|}.inspect</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+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='add'>+def m(ary = [])</div><div class='add'>+  yield(ary)</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+$ans = []</div><div class='add'>+o = 1</div><div class='add'>+5.times{</div><div class='add'>+  v,(*) = o; $ans &lt;&lt; o</div><div class='add'>+  m(o){|(v,(*))| $ans &lt;&lt; v}</div><div class='add'>+  ((x, y)) = o; $ans &lt;&lt; [x, y]</div><div class='add'>+  m(o){|((x, y))| $ans &lt;&lt; [x, y]}</div><div class='add'>+  (((x, y))) = o; $ans &lt;&lt; [x, y]</div><div class='add'>+  m(o){|(((x, y)))| $ans &lt;&lt; [x, y]}</div><div class='add'>+  o = [o, o]</div><div class='add'>+}; $ans</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal '0', %q{</div><div class='add'>+  def m()</div><div class='add'>+    yield [0]</div><div class='add'>+  end</div><div class='add'>+  m {|*,v| v}.inspect</div><div class='add'>+}, '[ruby-dev:31437]'</div><div class='add'>+assert_equal '[0]', %q{</div><div class='add'>+  def m</div><div class='add'>+    yield [0]</div><div class='add'>+  end</div><div class='add'>+  m{|v, &amp;b| v}.inspect</div><div class='add'>+}, '[ruby-dev:31440]'</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  begin</div><div class='add'>+    lambda{|a|}.call(1, 2)</div><div class='add'>+  rescue ArgumentError</div><div class='add'>+    :ok</div><div class='add'>+  else</div><div class='add'>+    :ng</div><div class='add'>+  end</div><div class='add'>+}, '[ruby-dev:31464]'</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  begin</div><div class='add'>+    lambda{|&amp;b|}.call(3)</div><div class='add'>+  rescue ArgumentError</div><div class='add'>+    :ok</div><div class='add'>+  else</div><div class='add'>+    :ng</div><div class='add'>+  end</div><div class='add'>+}, '[ruby-dev:31472]'</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  class C</div><div class='add'>+    def each</div><div class='add'>+      yield [1,2]</div><div class='add'>+      yield 1,2</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  vs1 = []</div><div class='add'>+  C.new.each {|*v| vs1 &lt;&lt; v }</div><div class='add'>+  vs2 = []</div><div class='add'>+  C.new.to_enum.each {|*v| vs2 &lt;&lt; v }</div><div class='add'>+  vs1 == vs2 ? :ok : :ng</div><div class='add'>+}, '[ruby-dev:32329]'</div><div class='add'>+</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  e = [1,2,3].each</div><div class='add'>+  10000.times {</div><div class='add'>+    e = [e].each</div><div class='add'>+  }</div><div class='add'>+  Thread.new { GC.start }.join</div><div class='add'>+}, '[ruby-dev:32604]'</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+assert_equal '[nil, []]', %q{</div><div class='add'>+  def m() yield nil,[] end</div><div class='add'>+  l = lambda {|*v| v}</div><div class='add'>+  GC.stress=true</div><div class='add'>+  r = m(&amp;l)</div><div class='add'>+  GC.stress=false</div><div class='add'>+  r.inspect</div><div class='add'>+}, '[ruby-dev:32567]'</div><div class='add'>+</div><div class='add'>+assert_equal NilClass.to_s, %q{</div><div class='add'>+  r = false; 1.times{|&amp;b| r = b}; r.class</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  class C</div><div class='add'>+    define_method(:foo) do |arg, &amp;block|</div><div class='add'>+      if block then block.call else arg end</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  C.new.foo("ng") {"ok"}</div><div class='add'>+}, '[ruby-talk:266422]'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  class C</div><div class='add'>+    define_method(:xyz) do |o, k, &amp;block|</div><div class='add'>+      block.call(o, k)</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  C.new.xyz("o","k") {|o, k| o+k}</div><div class='add'>+}, '[ruby-core:20544]'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  class C</div><div class='add'>+    define_method(:xyz) do |*args, &amp;block|</div><div class='add'>+      block.call(*args)</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  C.new.xyz("o","k") {|*args| args.join("")}</div><div class='add'>+}, '[ruby-core:20544]'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  STDERR.reopen(STDOUT)</div><div class='add'>+  class C</div><div class='add'>+    define_method(:foo) do |&amp;block|</div><div class='add'>+      block.call if block</div><div class='add'>+    end</div><div class='add'>+    result = "ng"</div><div class='add'>+    new.foo() {result = "ok"}</div><div class='add'>+    result</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal "ok", %q{</div><div class='add'>+  class Bar</div><div class='add'>+    def bar; :ok; end</div><div class='add'>+  end</div><div class='add'>+  def foo</div><div class='add'>+    yield(Bar.new) if block_given?</div><div class='add'>+  end</div><div class='add'>+  foo(&amp;:bar)</div><div class='add'>+}, '[ruby-core:14279]'</div><div class='add'>+</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  class Controller</div><div class='add'>+    def respond_to(&amp;block)</div><div class='add'>+      responder = Responder.new</div><div class='add'>+      block.call(responder)</div><div class='add'>+      responder.respond</div><div class='add'>+    end</div><div class='add'>+    def test_for_bug</div><div class='add'>+      respond_to{|format|</div><div class='add'>+        format.js{</div><div class='add'>+          puts "in test"</div><div class='add'>+          render{|obj|</div><div class='add'>+            puts obj</div><div class='add'>+          }</div><div class='add'>+        }</div><div class='add'>+      }</div><div class='add'>+    end</div><div class='add'>+    def render(&amp;block)</div><div class='add'>+      puts "in render"</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  class Responder</div><div class='add'>+    def method_missing(symbol, &amp;block)</div><div class='add'>+      puts "enter method_missing"</div><div class='add'>+      @response = Proc.new{</div><div class='add'>+        puts 'in method missing'</div><div class='add'>+        block.call</div><div class='add'>+      }</div><div class='add'>+      puts "leave method_missing"</div><div class='add'>+    end</div><div class='add'>+    def respond</div><div class='add'>+      @response.call</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  t = Controller.new</div><div class='add'>+  t.test_for_bug</div><div class='add'>+}, '[ruby-core:14395]'</div><div class='add'>+</div><div class='add'>+assert_equal 'true', %q{</div><div class='add'>+  class C0</div><div class='add'>+    def foo</div><div class='add'>+      block_given?</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  class C1 &lt; C0</div><div class='add'>+    def foo</div><div class='add'>+      super</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  C1.new.foo{}</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal 'true', %q{</div><div class='add'>+  class C0</div><div class='add'>+    def foo</div><div class='add'>+      block_given?</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  class C1 &lt; C0</div><div class='add'>+    def foo</div><div class='add'>+      super()</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  C1.new.foo{}</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  1.times do</div><div class='add'>+    begin</div><div class='add'>+      raise</div><div class='add'>+    rescue</div><div class='add'>+      begin</div><div class='add'>+        raise</div><div class='add'>+      rescue</div><div class='add'>+        break</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  'ok'</div><div class='add'>+}</div><div class='head'>diff --git a/bootstraptest/test_class.rb b/bootstraptest/test_class.rb<br/>new file mode 100644<br/>index 0000000000..b7fe0a1acd<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bootstraptest/test_class.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>bootstraptest/test_class.rb</a></div><div class='hunk'>@@ -0,0 +1,169 @@</div><div class='add'>+# class</div><div class='add'>+assert_equal 'true',    %q( class C; end</div><div class='add'>+                            Object.const_defined?(:C) )</div><div class='add'>+assert_equal 'Class',   %q( class C; end</div><div class='add'>+                            C.class )</div><div class='add'>+assert_equal 'C',       %q( class C; end</div><div class='add'>+                            C.name )</div><div class='add'>+assert_equal 'C',       %q( class C; end</div><div class='add'>+                            C.new.class )</div><div class='add'>+assert_equal 'C',       %q( class C; end</div><div class='add'>+                            C.new.class.name )</div><div class='add'>+assert_equal 'Class',   %q( class C; end</div><div class='add'>+                            C.new.class.class )</div><div class='add'>+assert_equal 'true',    %q( Object.__send__(:remove_const, :TrueClass)</div><div class='add'>+                            GC.start</div><div class='add'>+                            true.inspect)</div><div class='add'>+assert_equal 'false',   %q( Object.__send__(:remove_const, :FalseClass)</div><div class='add'>+                            GC.start</div><div class='add'>+                            false.inspect)</div><div class='add'>+assert_equal 'nil',     %q( Object.__send__(:remove_const, :NilClass)</div><div class='add'>+                            GC.start</div><div class='add'>+                            nil.inspect)</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+# inherited class</div><div class='add'>+assert_equal 'true',    %q( class A; end</div><div class='add'>+                            class C &lt; A; end</div><div class='add'>+                            Object.const_defined?(:C) )</div><div class='add'>+assert_equal 'Class',   %q( class A; end</div><div class='add'>+                            class C &lt; A; end</div><div class='add'>+                            C.class )</div><div class='add'>+assert_equal 'C',       %q( class A; end</div><div class='add'>+                            class C &lt; A; end</div><div class='add'>+                            C.name )</div><div class='add'>+assert_equal 'C',       %q( class A; end</div><div class='add'>+                            class C &lt; A; end</div><div class='add'>+                            C.new.class )</div><div class='add'>+assert_equal 'C',       %q( class A; end</div><div class='add'>+                            class C &lt; A; end</div><div class='add'>+                            C.new.class.name )</div><div class='add'>+assert_equal 'Class',   %q( class A; end</div><div class='add'>+                            class C &lt; A; end</div><div class='add'>+                            C.new.class.class )</div><div class='add'>+</div><div class='add'>+# module</div><div class='add'>+assert_equal 'true',    %q( module M; end</div><div class='add'>+                            Object.const_defined?(:M) )</div><div class='add'>+assert_equal 'Module',  %q( module M; end</div><div class='add'>+                            M.class )</div><div class='add'>+assert_equal 'M',       %q( module M; end</div><div class='add'>+                            M.name )</div><div class='add'>+assert_equal 'C',       %q( module M; end</div><div class='add'>+                            class C; include M; end</div><div class='add'>+                            C.new.class )</div><div class='add'>+</div><div class='add'>+# nested class</div><div class='add'>+assert_equal 'A::B',    %q( class A; end</div><div class='add'>+                            class A::B; end</div><div class='add'>+                            A::B )</div><div class='add'>+assert_equal 'A::B',    %q( class A; end</div><div class='add'>+                            class A::B; end</div><div class='add'>+                            A::B.name )</div><div class='add'>+assert_equal 'A::B',    %q( class A; end</div><div class='add'>+                            class A::B; end</div><div class='add'>+                            A::B.new.class )</div><div class='add'>+assert_equal 'Class',   %q( class A; end</div><div class='add'>+                            class A::B; end</div><div class='add'>+                            A::B.new.class.class )</div><div class='add'>+assert_equal 'A::B::C', %q( class A; end</div><div class='add'>+                            class A::B; end</div><div class='add'>+                            class A::B::C; end</div><div class='add'>+                            A::B::C )</div><div class='add'>+assert_equal 'A::B::C', %q( class A; end</div><div class='add'>+                            class A::B; end</div><div class='add'>+                            class A::B::C; end</div><div class='add'>+                            A::B::C.name )</div><div class='add'>+assert_equal 'Class',   %q( class A; end</div><div class='add'>+                            class A::B; end</div><div class='add'>+                            class A::B::C; end</div><div class='add'>+                            A::B::C.class )</div><div class='add'>+assert_equal 'A::B::C', %q( class A; end</div><div class='add'>+                            class A::B; end</div><div class='add'>+                            class A::B::C; end</div><div class='add'>+                            A::B::C.new.class )</div><div class='add'>+assert_equal 'Class',   %q( class A; end</div><div class='add'>+                            class A::B; end</div><div class='add'>+                            class A::B::C; end</div><div class='add'>+                            A::B::C.new.class.class )</div><div class='add'>+assert_equal 'A::B2',   %q( class A; end</div><div class='add'>+                            class A::B; end</div><div class='add'>+                            class A::B2 &lt; A::B; end</div><div class='add'>+                            A::B2 )</div><div class='add'>+assert_equal 'Class',   %q( class A; end</div><div class='add'>+                            class A::B; end</div><div class='add'>+                            class A::B2 &lt; A::B; end</div><div class='add'>+                            A::B2.class )</div><div class='add'>+</div><div class='add'>+# reopen</div><div class='add'>+assert_equal 'true',    %q( class C; end;  c1 = ::C</div><div class='add'>+                            class C; end;  c2 = ::C</div><div class='add'>+                            c1.equal?(c2) )</div><div class='add'>+assert_equal '1',       %q( class C; end</div><div class='add'>+                            class A; end</div><div class='add'>+                            begin class C &lt; A; end; rescue TypeError; 1 end )</div><div class='add'>+assert_equal '1',       %q( class C; end</div><div class='add'>+                            begin module C; end; rescue TypeError; 1 end )</div><div class='add'>+assert_equal '1',       %q( C = 1   # [yarv-dev:782]</div><div class='add'>+                            begin class C; end; rescue TypeError; 1 end )</div><div class='add'>+assert_equal '1',       %q( C = 1   # [yarv-dev:800]</div><div class='add'>+                            begin module C; end; rescue TypeError; 1 end )</div><div class='add'>+</div><div class='add'>+# colon2, colon3</div><div class='add'>+assert_equal '1',       %q( class A; end;  A::C = 1;  A::C )</div><div class='add'>+assert_equal '1',       %q( A = 7;  begin A::C = 7; rescue TypeError; 1 end )</div><div class='add'>+assert_equal '1',       %q( begin 7::C = 7; rescue TypeError; 1 end )</div><div class='add'>+assert_equal 'C',       %q( class A; class ::C; end end;  C )</div><div class='add'>+assert_equal 'Class',   %q( class A; class ::C; end end;  C.class )</div><div class='add'>+assert_equal 'OK',      %q( class A; ::C = "OK"; end;  C )</div><div class='add'>+assert_equal 'String',  %q( class A; ::C = "OK"; end;  C.class )</div><div class='add'>+</div><div class='add'>+# class/module dup</div><div class='add'>+assert_equal 'Class',   %q( class C; end;  C.dup.class )</div><div class='add'>+assert_equal 'Module',  %q( module M; end;  M.dup.class )</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+assert_equal "ok", %q{</div><div class='add'>+  module Foo</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  begin</div><div class='add'>+    def foo(&amp;b)</div><div class='add'>+      Foo.module_eval &amp;b</div><div class='add'>+    end</div><div class='add'>+    foo{</div><div class='add'>+      def bar</div><div class='add'>+      end</div><div class='add'>+    }</div><div class='add'>+    bar()</div><div class='add'>+  rescue NameError</div><div class='add'>+    :ok</div><div class='add'>+  end</div><div class='add'>+}, '[ruby-core:14378]'</div><div class='add'>+</div><div class='add'>+assert_equal '3', %q{</div><div class='add'>+  $i = 0</div><div class='add'>+  class C</div><div class='add'>+    def self.const_missing *args</div><div class='add'>+      $i+=1</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  3.times{</div><div class='add'>+    C::FOO</div><div class='add'>+  }</div><div class='add'>+  $i</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_match /::C\z/, %q{</div><div class='add'>+  c = nil</div><div class='add'>+  Module.new{|m| c = class m::C; name; end}</div><div class='add'>+  c</div><div class='add'>+}, '[ruby-dev:38456]'</div><div class='add'>+</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  s = Symbol.dup</div><div class='add'>+  class &lt;&lt; s</div><div class='add'>+  end</div><div class='add'>+  s.allocate.to_s</div><div class='add'>+}, '[ruby-core:30843]'</div><div class='head'>diff --git a/bootstraptest/test_env.rb b/bootstraptest/test_env.rb<br/>new file mode 100644<br/>index 0000000000..7d1b45b75e<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bootstraptest/test_env.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>bootstraptest/test_env.rb</a></div><div class='hunk'>@@ -0,0 +1,12 @@</div><div class='add'>+assert_equal "true", %q{</div><div class='add'>+  ENV["ENVTEST"] = "\u{e9 3042 d76c}"</div><div class='add'>+  env = ENV["ENVTEST"]</div><div class='add'>+  env.valid_encoding?</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# different encoding is used for PATH</div><div class='add'>+assert_equal "true", %q{</div><div class='add'>+  ENV["PATH"] = "\u{e9 3042 d76c}"</div><div class='add'>+  env = ENV["PATH"]</div><div class='add'>+  env.valid_encoding?</div><div class='add'>+}</div><div class='head'>diff --git a/bootstraptest/test_eval.rb b/bootstraptest/test_eval.rb<br/>new file mode 100644<br/>index 0000000000..5d2593c306<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bootstraptest/test_eval.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>bootstraptest/test_eval.rb</a></div><div class='hunk'>@@ -0,0 +1,329 @@</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  def m</div><div class='add'>+    a = :ok</div><div class='add'>+    $b = binding</div><div class='add'>+  end</div><div class='add'>+  m</div><div class='add'>+  eval('a', $b)</div><div class='add'>+}</div><div class='add'>+assert_equal %q{[:ok, :ok2]}, %q{</div><div class='add'>+  def m</div><div class='add'>+    a = :ok</div><div class='add'>+    $b = binding</div><div class='add'>+  end</div><div class='add'>+  m</div><div class='add'>+  eval('b = :ok2', $b)</div><div class='add'>+  eval('[a, b]', $b)</div><div class='add'>+}</div><div class='add'>+assert_equal %q{[nil, 1]}, %q{</div><div class='add'>+  $ans = []</div><div class='add'>+  def m</div><div class='add'>+    $b = binding</div><div class='add'>+  end</div><div class='add'>+  m</div><div class='add'>+  $ans &lt;&lt; eval(%q{</div><div class='add'>+    $ans &lt;&lt; eval(%q{</div><div class='add'>+      a</div><div class='add'>+    }, $b)</div><div class='add'>+    a = 1</div><div class='add'>+  }, $b)</div><div class='add'>+  $ans</div><div class='add'>+}</div><div class='add'>+assert_equal %q{C}, %q{</div><div class='add'>+  Const = :top</div><div class='add'>+  class C</div><div class='add'>+    Const = :C</div><div class='add'>+    def m</div><div class='add'>+      binding</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  eval('Const', C.new.m)</div><div class='add'>+}</div><div class='add'>+assert_equal %q{top}, %q{</div><div class='add'>+  Const = :top</div><div class='add'>+  a = 1</div><div class='add'>+  class C</div><div class='add'>+    Const = :C</div><div class='add'>+    def m</div><div class='add'>+      eval('Const', TOPLEVEL_BINDING)</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  C.new.m</div><div class='add'>+}</div><div class='add'>+assert_equal %q{:ok</div><div class='add'>+ok}, %q{</div><div class='add'>+  class C</div><div class='add'>+    $b = binding</div><div class='add'>+  end</div><div class='add'>+  eval %q{</div><div class='add'>+    def m</div><div class='add'>+      :ok</div><div class='add'>+    end</div><div class='add'>+  }, $b</div><div class='add'>+  p C.new.m</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  b = proc{</div><div class='add'>+    a = :ok</div><div class='add'>+    binding</div><div class='add'>+  }.call</div><div class='add'>+  a = :ng</div><div class='add'>+  eval("a", b)</div><div class='add'>+}</div><div class='add'>+assert_equal %q{C}, %q{</div><div class='add'>+  class C</div><div class='add'>+    def foo</div><div class='add'>+      binding</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  C.new.foo.eval("self.class.to_s")</div><div class='add'>+}</div><div class='add'>+assert_equal %q{1}, %q{</div><div class='add'>+  eval('1')</div><div class='add'>+}</div><div class='add'>+assert_equal %q{1}, %q{</div><div class='add'>+  eval('a=1; a')</div><div class='add'>+}</div><div class='add'>+assert_equal %q{1}, %q{</div><div class='add'>+  a = 1</div><div class='add'>+  eval('a')</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  __send__ :eval, %{</div><div class='add'>+    :ok</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  1.__send__ :instance_eval, %{</div><div class='add'>+    :ok</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{1}, %q{</div><div class='add'>+  1.instance_eval{</div><div class='add'>+    self</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{foo}, %q{</div><div class='add'>+  'foo'.instance_eval{</div><div class='add'>+    self</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{1}, %q{</div><div class='add'>+  class Integer</div><div class='add'>+    Const = 1</div><div class='add'>+  end</div><div class='add'>+  1.instance_eval %{</div><div class='add'>+    Const</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{top}, %q{</div><div class='add'>+  Const = :top</div><div class='add'>+  class C</div><div class='add'>+    Const = :C</div><div class='add'>+  end</div><div class='add'>+  C.module_eval{</div><div class='add'>+    Const</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{C}, %q{</div><div class='add'>+  Const = :top</div><div class='add'>+  class C</div><div class='add'>+    Const = :C</div><div class='add'>+  end</div><div class='add'>+  C.class_eval %{</div><div class='add'>+    def m</div><div class='add'>+      Const</div><div class='add'>+    end</div><div class='add'>+  }</div><div class='add'>+  C.new.m</div><div class='add'>+}</div><div class='add'>+assert_equal %q{top}, %q{</div><div class='add'>+  Const = :top</div><div class='add'>+  class C</div><div class='add'>+    Const = :C</div><div class='add'>+  end</div><div class='add'>+  C.class_eval{</div><div class='add'>+    def m</div><div class='add'>+      Const</div><div class='add'>+    end</div><div class='add'>+  }</div><div class='add'>+  C.new.m</div><div class='add'>+}</div><div class='add'>+assert_equal %q{[:top, :C, :top, :C]}, %q{</div><div class='add'>+  Const = :top</div><div class='add'>+  class C</div><div class='add'>+    Const = :C</div><div class='add'>+  end</div><div class='add'>+  $nest = false</div><div class='add'>+  $ans = []</div><div class='add'>+  def m</div><div class='add'>+    $ans &lt;&lt; Const</div><div class='add'>+    C.module_eval %{</div><div class='add'>+      $ans &lt;&lt; Const</div><div class='add'>+      Boo = false unless defined? Boo</div><div class='add'>+      unless $nest</div><div class='add'>+        $nest = true</div><div class='add'>+        m</div><div class='add'>+      end</div><div class='add'>+    }</div><div class='add'>+  end</div><div class='add'>+  m</div><div class='add'>+  $ans</div><div class='add'>+}</div><div class='add'>+assert_equal %q{[10, main]}, %q{</div><div class='add'>+  $nested = false</div><div class='add'>+  $ans = []</div><div class='add'>+  $pr = proc{</div><div class='add'>+    $ans &lt;&lt; self</div><div class='add'>+    unless $nested</div><div class='add'>+      $nested = true</div><div class='add'>+      $pr.call</div><div class='add'>+    end</div><div class='add'>+  }</div><div class='add'>+  class C</div><div class='add'>+    def initialize &amp;b</div><div class='add'>+      10.instance_eval(&amp;b)</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  C.new(&amp;$pr)</div><div class='add'>+  $ans</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+%w[break next redo].each do |keyword|</div><div class='add'>+  assert_match %r"Can't escape from eval with #{keyword}\b", %{</div><div class='add'>+    STDERR.reopen(STDOUT)</div><div class='add'>+    begin</div><div class='add'>+      eval "0 rescue #{keyword}"</div><div class='add'>+    rescue SyntaxError =&gt; e</div><div class='add'>+      e.message</div><div class='add'>+    end</div><div class='add'>+  }, '[ruby-dev:31372]'</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  STDERR.reopen(STDOUT)</div><div class='add'>+  class Foo</div><div class='add'>+     def self.add_method</div><div class='add'>+       class_eval("def some-bad-name; puts 'hello' unless @some_variable.some_function(''); end")</div><div class='add'>+     end</div><div class='add'>+  end</div><div class='add'>+  Foo.add_method</div><div class='add'>+}, '[ruby-core:14556] reported by Frederick Cheung'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  class Module</div><div class='add'>+    def my_module_eval(&amp;block)</div><div class='add'>+      module_eval(&amp;block)</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  class String</div><div class='add'>+    Integer.my_module_eval do</div><div class='add'>+      def hoge; end</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  if Integer.instance_methods(false).map{|m|m.to_sym}.include?(:hoge) &amp;&amp;</div><div class='add'>+     !String.instance_methods(false).map{|m|m.to_sym}.include?(:hoge)</div><div class='add'>+    :ok</div><div class='add'>+  else</div><div class='add'>+    :ng</div><div class='add'>+  end</div><div class='add'>+}, "[ruby-dev:34236]"</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  begin</div><div class='add'>+    eval("class nil::Foo; end")</div><div class='add'>+    :ng</div><div class='add'>+  rescue Exception</div><div class='add'>+    :ok</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  begin</div><div class='add'>+    0.instance_eval { def m() :m end }</div><div class='add'>+    1.m</div><div class='add'>+    :ng</div><div class='add'>+  rescue Exception</div><div class='add'>+    :ok</div><div class='add'>+  end</div><div class='add'>+}, '[ruby-dev:34579]'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  begin</div><div class='add'>+    class A</div><div class='add'>+      12.instance_eval { @@a }</div><div class='add'>+    end</div><div class='add'>+  rescue NameError</div><div class='add'>+    :ok</div><div class='add'>+  end</div><div class='add'>+}, '[ruby-core:16794]'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  begin</div><div class='add'>+    class A</div><div class='add'>+      12.instance_exec { @@a }</div><div class='add'>+    end</div><div class='add'>+  rescue NameError</div><div class='add'>+    :ok</div><div class='add'>+  end</div><div class='add'>+}, '[ruby-core:16794]'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  nil.instance_eval {</div><div class='add'>+    def defd_using_instance_eval() :ok end</div><div class='add'>+  }</div><div class='add'>+  nil.defd_using_instance_eval</div><div class='add'>+}, '[ruby-core:28324]'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  nil.instance_exec {</div><div class='add'>+    def defd_using_instance_exec() :ok end</div><div class='add'>+  }</div><div class='add'>+  nil.defd_using_instance_exec</div><div class='add'>+}, '[ruby-core:28324]'</div><div class='add'>+</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  eval("", method(:proc).call {}.binding)</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal "", %q{</div><div class='add'>+  b = binding</div><div class='add'>+  10.times{</div><div class='add'>+    eval('', b)</div><div class='add'>+  }</div><div class='add'>+  begin</div><div class='add'>+    eval('1.times{raise}', b)</div><div class='add'>+  rescue =&gt; e</div><div class='add'>+    e.message</div><div class='add'>+  end</div><div class='add'>+}, '[ruby-dev:35392]'</div><div class='add'>+</div><div class='add'>+assert_equal "[:x]", %q{</div><div class='add'>+  def kaboom!</div><div class='add'>+    yield.eval("local_variables")</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  for x in enum_for(:kaboom!)</div><div class='add'>+    binding</div><div class='add'>+  end</div><div class='add'>+}, '[ruby-core:25125]'</div><div class='add'>+</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  hash = {}</div><div class='add'>+  ("aaaa".."matz").each_with_index do |s, i|</div><div class='add'>+    hash[s] = i</div><div class='add'>+  end</div><div class='add'>+  begin</div><div class='add'>+    eval "class C; @@h = #{hash.inspect}; end"</div><div class='add'>+  end</div><div class='add'>+}, '[ruby-core:25714]'</div><div class='add'>+</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  begin</div><div class='add'>+    eval("# encoding:utf-16le\nfoo")</div><div class='add'>+  rescue Exception =&gt; e</div><div class='add'>+    p e</div><div class='add'>+    RubyVM::InstructionSequence.compile("p:hello")</div><div class='add'>+  end</div><div class='add'>+}, 'check escaping the internal value th-&gt;base_block'</div><div class='add'>+</div><div class='head'>diff --git a/bootstraptest/test_exception.rb b/bootstraptest/test_exception.rb<br/>new file mode 100644<br/>index 0000000000..0fb6f552b8<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bootstraptest/test_exception.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>bootstraptest/test_exception.rb</a></div><div class='hunk'>@@ -0,0 +1,432 @@</div><div class='add'>+assert_equal %q{2}, %q{</div><div class='add'>+  begin</div><div class='add'>+    1+1</div><div class='add'>+  ensure</div><div class='add'>+    2+2</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{4}, %q{</div><div class='add'>+  begin</div><div class='add'>+    1+1</div><div class='add'>+    begin</div><div class='add'>+      2+2</div><div class='add'>+    ensure</div><div class='add'>+      3+3</div><div class='add'>+    end</div><div class='add'>+  ensure</div><div class='add'>+    4+4</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{4}, %q{</div><div class='add'>+  begin</div><div class='add'>+    1+1</div><div class='add'>+    begin</div><div class='add'>+      2+2</div><div class='add'>+    ensure</div><div class='add'>+      3+3</div><div class='add'>+    end</div><div class='add'>+  ensure</div><div class='add'>+    4+4</div><div class='add'>+    begin</div><div class='add'>+      5+5</div><div class='add'>+    ensure</div><div class='add'>+      6+6</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{NilClass}, %q{</div><div class='add'>+  a = nil</div><div class='add'>+  1.times{|e|</div><div class='add'>+    begin</div><div class='add'>+    rescue =&gt; err</div><div class='add'>+    end</div><div class='add'>+    a = err.class</div><div class='add'>+  }</div><div class='add'>+  a</div><div class='add'>+}</div><div class='add'>+assert_equal %q{RuntimeError}, %q{</div><div class='add'>+  a = nil</div><div class='add'>+  1.times{|e|</div><div class='add'>+    begin</div><div class='add'>+      raise</div><div class='add'>+    rescue =&gt; err</div><div class='add'>+    end</div><div class='add'>+    a = err.class</div><div class='add'>+  }</div><div class='add'>+  a</div><div class='add'>+}</div><div class='add'>+assert_equal %q{}, %q{</div><div class='add'>+  $!</div><div class='add'>+}</div><div class='add'>+assert_equal %q{FOO}, %q{</div><div class='add'>+  begin</div><div class='add'>+    raise "FOO"</div><div class='add'>+  rescue</div><div class='add'>+    $!</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{FOO}, %q{</div><div class='add'>+  def m</div><div class='add'>+    $!</div><div class='add'>+  end</div><div class='add'>+  begin</div><div class='add'>+    raise "FOO"</div><div class='add'>+  rescue</div><div class='add'>+    m()</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{[#&lt;RuntimeError: BAR&gt;, #&lt;RuntimeError: FOO&gt;]}, %q{</div><div class='add'>+  $ans = []</div><div class='add'>+  def m</div><div class='add'>+    $!</div><div class='add'>+  end</div><div class='add'>+  begin</div><div class='add'>+    raise "FOO"</div><div class='add'>+  rescue</div><div class='add'>+    begin</div><div class='add'>+      raise "BAR"</div><div class='add'>+    rescue</div><div class='add'>+      $ans &lt;&lt; m()</div><div class='add'>+    end</div><div class='add'>+    $ans &lt;&lt; m()</div><div class='add'>+  end</div><div class='add'>+  $ans</div><div class='add'>+}</div><div class='add'>+assert_equal %q{[#&lt;RuntimeError: FOO&gt;, #&lt;RuntimeError: FOO&gt;]}, %q{</div><div class='add'>+  $ans = []</div><div class='add'>+  def m</div><div class='add'>+    $!</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  begin</div><div class='add'>+    begin</div><div class='add'>+      raise "FOO"</div><div class='add'>+    ensure</div><div class='add'>+      $ans &lt;&lt; m()</div><div class='add'>+    end</div><div class='add'>+  rescue</div><div class='add'>+    $ans &lt;&lt; m()</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{[nil]}, %q{</div><div class='add'>+  $ans = []</div><div class='add'>+  def m</div><div class='add'>+    $!</div><div class='add'>+  end</div><div class='add'>+  def m2</div><div class='add'>+    1.times{</div><div class='add'>+      begin</div><div class='add'>+        return</div><div class='add'>+      ensure</div><div class='add'>+        $ans &lt;&lt; m</div><div class='add'>+      end</div><div class='add'>+    }</div><div class='add'>+  end</div><div class='add'>+  m2</div><div class='add'>+  $ans</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  begin</div><div class='add'>+    raise</div><div class='add'>+  rescue</div><div class='add'>+    :ok</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  begin</div><div class='add'>+    raise</div><div class='add'>+  rescue</div><div class='add'>+    :ok</div><div class='add'>+  ensure</div><div class='add'>+    :ng</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{RuntimeError}, %q{</div><div class='add'>+  begin</div><div class='add'>+    raise</div><div class='add'>+  rescue =&gt; e</div><div class='add'>+    e.class</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ng}, %q{</div><div class='add'>+  begin</div><div class='add'>+    raise</div><div class='add'>+  rescue StandardError</div><div class='add'>+    :ng</div><div class='add'>+  rescue Exception</div><div class='add'>+    :ok</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{c}, %q{</div><div class='add'>+  begin</div><div class='add'>+    begin</div><div class='add'>+      raise "a"</div><div class='add'>+    rescue</div><div class='add'>+      raise "b"</div><div class='add'>+    ensure</div><div class='add'>+      raise "c"</div><div class='add'>+    end</div><div class='add'>+  rescue =&gt; e</div><div class='add'>+    e.message</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{33}, %q{</div><div class='add'>+  def m a, b</div><div class='add'>+    a + b</div><div class='add'>+  end</div><div class='add'>+  m(1, begin</div><div class='add'>+         raise</div><div class='add'>+       rescue</div><div class='add'>+         2</div><div class='add'>+       end) +</div><div class='add'>+  m(10, begin</div><div class='add'>+         raise</div><div class='add'>+       rescue</div><div class='add'>+         20</div><div class='add'>+       ensure</div><div class='add'>+         30</div><div class='add'>+       end)</div><div class='add'>+}</div><div class='add'>+assert_equal %q{3}, %q{</div><div class='add'>+  def m a, b</div><div class='add'>+    a + b</div><div class='add'>+  end</div><div class='add'>+  m(begin</div><div class='add'>+      raise</div><div class='add'>+    rescue</div><div class='add'>+      1</div><div class='add'>+    end,</div><div class='add'>+    begin</div><div class='add'>+      raise</div><div class='add'>+    rescue</div><div class='add'>+      2</div><div class='add'>+    end)</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok3}, %q{</div><div class='add'>+  class E1 &lt; Exception</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def m</div><div class='add'>+    yield</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  begin</div><div class='add'>+    begin</div><div class='add'>+      begin</div><div class='add'>+        m{</div><div class='add'>+          raise</div><div class='add'>+        }</div><div class='add'>+      rescue E1</div><div class='add'>+        :ok2</div><div class='add'>+      ensure</div><div class='add'>+      end</div><div class='add'>+    rescue</div><div class='add'>+      :ok3</div><div class='add'>+    ensure</div><div class='add'>+    end</div><div class='add'>+  rescue E1</div><div class='add'>+    :ok</div><div class='add'>+  ensure</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{7}, %q{</div><div class='add'>+  $i = 0</div><div class='add'>+  def m</div><div class='add'>+    iter{</div><div class='add'>+      begin</div><div class='add'>+        $i += 1</div><div class='add'>+        begin</div><div class='add'>+          $i += 2</div><div class='add'>+          break</div><div class='add'>+        ensure</div><div class='add'>+</div><div class='add'>+        end</div><div class='add'>+      ensure</div><div class='add'>+        $i += 4</div><div class='add'>+      end</div><div class='add'>+      $i = 0</div><div class='add'>+    }</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def iter</div><div class='add'>+    yield</div><div class='add'>+  end</div><div class='add'>+  m</div><div class='add'>+  $i</div><div class='add'>+}</div><div class='add'>+assert_equal %q{10}, %q{</div><div class='add'>+  $i = 0</div><div class='add'>+  def m</div><div class='add'>+    begin</div><div class='add'>+      $i += 1</div><div class='add'>+      begin</div><div class='add'>+        $i += 2</div><div class='add'>+        return</div><div class='add'>+      ensure</div><div class='add'>+        $i += 3</div><div class='add'>+      end</div><div class='add'>+    ensure</div><div class='add'>+      $i += 4</div><div class='add'>+    end</div><div class='add'>+    p :end</div><div class='add'>+  end</div><div class='add'>+  m</div><div class='add'>+  $i</div><div class='add'>+}</div><div class='add'>+assert_equal %q{1}, %q{</div><div class='add'>+  begin</div><div class='add'>+    1</div><div class='add'>+  rescue</div><div class='add'>+    2</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{4}, %q{</div><div class='add'>+  begin</div><div class='add'>+    1</div><div class='add'>+    begin</div><div class='add'>+      2</div><div class='add'>+    rescue</div><div class='add'>+      3</div><div class='add'>+    end</div><div class='add'>+    4</div><div class='add'>+  rescue</div><div class='add'>+    5</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{3}, %q{</div><div class='add'>+  begin</div><div class='add'>+    1</div><div class='add'>+  rescue</div><div class='add'>+    2</div><div class='add'>+  else</div><div class='add'>+    3</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{2}, %q{</div><div class='add'>+  begin</div><div class='add'>+    1+1</div><div class='add'>+  rescue</div><div class='add'>+    2+2</div><div class='add'>+  ensure</div><div class='add'>+    3+3</div><div class='add'>+  end</div><div class='add'>+   }</div><div class='add'>+assert_equal %q{2}, %q{</div><div class='add'>+  begin</div><div class='add'>+    1+1</div><div class='add'>+  rescue</div><div class='add'>+    2+2</div><div class='add'>+  ensure</div><div class='add'>+    3+3</div><div class='add'>+  end</div><div class='add'>+   }</div><div class='add'>+assert_equal %q{6}, %q{</div><div class='add'>+  begin</div><div class='add'>+    1+1</div><div class='add'>+  rescue</div><div class='add'>+    2+2</div><div class='add'>+  else</div><div class='add'>+    3+3</div><div class='add'>+  ensure</div><div class='add'>+    4+4</div><div class='add'>+  end</div><div class='add'>+   }</div><div class='add'>+assert_equal %q{12}, %q{</div><div class='add'>+ begin</div><div class='add'>+   1+1</div><div class='add'>+   begin</div><div class='add'>+     2+2</div><div class='add'>+   rescue</div><div class='add'>+     3+3</div><div class='add'>+   else</div><div class='add'>+     4+4</div><div class='add'>+   end</div><div class='add'>+ rescue</div><div class='add'>+   5+5</div><div class='add'>+ else</div><div class='add'>+   6+6</div><div class='add'>+ ensure</div><div class='add'>+   7+7</div><div class='add'>+ end</div><div class='add'>+   }</div><div class='add'>+assert_equal %q{ok}, %q{ #</div><div class='add'>+  proc{</div><div class='add'>+    begin</div><div class='add'>+      raise</div><div class='add'>+      break</div><div class='add'>+    rescue</div><div class='add'>+      :ok</div><div class='add'>+    end</div><div class='add'>+  }.call</div><div class='add'>+}</div><div class='add'>+assert_equal %q{}, %q{</div><div class='add'>+  proc do</div><div class='add'>+    begin</div><div class='add'>+      raise StandardError</div><div class='add'>+      redo</div><div class='add'>+    rescue StandardError</div><div class='add'>+    end</div><div class='add'>+  end.call</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+##</div><div class='add'>+assert_match /undefined method `foo\'/, %q{#`</div><div class='add'>+  STDERR.reopen(STDOUT)</div><div class='add'>+  class C</div><div class='add'>+    def inspect</div><div class='add'>+      bar {}</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    def bar</div><div class='add'>+      raise</div><div class='add'>+    ensure</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  C.new.foo</div><div class='add'>+}, "[ruby-dev:31407]"</div><div class='add'>+</div><div class='add'>+assert_equal 'nil', %q{</div><div class='add'>+  doit = false</div><div class='add'>+  exc = nil</div><div class='add'>+  t = Thread.new {</div><div class='add'>+    begin</div><div class='add'>+      doit = true</div><div class='add'>+      sleep 10</div><div class='add'>+    ensure</div><div class='add'>+      exc = $!</div><div class='add'>+    end</div><div class='add'>+  }</div><div class='add'>+  Thread.pass until doit</div><div class='add'>+  t.kill</div><div class='add'>+  t.join</div><div class='add'>+  exc.inspect</div><div class='add'>+}, '[ruby-dev:32608]'</div><div class='add'>+</div><div class='add'>+assert_equal 'divided by 0', %q{</div><div class='add'>+  class ZeroDivisionError</div><div class='add'>+    def self.new(message)</div><div class='add'>+      42</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  begin</div><div class='add'>+    1/0</div><div class='add'>+  rescue Exception =&gt; e</div><div class='add'>+    e.message</div><div class='add'>+  end</div><div class='add'>+}, '[ruby-core:24767]'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  class C</div><div class='add'>+    def ===(o)</div><div class='add'>+      true</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  begin</div><div class='add'>+    begin</div><div class='add'>+      raise</div><div class='add'>+    rescue C.new</div><div class='add'>+    end</div><div class='add'>+  rescue TypeError</div><div class='add'>+    :ok</div><div class='add'>+  end</div><div class='add'>+}</div><div class='head'>diff --git a/bootstraptest/test_fiber.rb b/bootstraptest/test_fiber.rb<br/>new file mode 100644<br/>index 0000000000..35e1bf6851<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bootstraptest/test_fiber.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>bootstraptest/test_fiber.rb</a></div><div class='hunk'>@@ -0,0 +1,39 @@</div><div class='add'>+show_limit %q{</div><div class='add'>+  fibers = []</div><div class='add'>+  begin</div><div class='add'>+    fiber = Fiber.new{Fiber.yield}</div><div class='add'>+    fiber.resume</div><div class='add'>+    fibers &lt;&lt; fiber</div><div class='add'>+</div><div class='add'>+    raise Exception, "skipping" if fibers.count &gt;= 10_000</div><div class='add'>+  rescue Exception =&gt; error</div><div class='add'>+    puts "Fiber count: #{fibers.count} (#{error})"</div><div class='add'>+    break</div><div class='add'>+  end while true</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  Fiber.new{</div><div class='add'>+  }.resume</div><div class='add'>+  :ok</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  10_000.times.collect{Fiber.new{}}</div><div class='add'>+  :ok</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  fibers = 100.times.collect{Fiber.new{Fiber.yield}}</div><div class='add'>+  fibers.each(&amp;:resume)</div><div class='add'>+  fibers.each(&amp;:resume)</div><div class='add'>+  :ok</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  at_exit { Fiber.new{}.resume }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  Fiber.new(&amp;Object.method(:class_eval)).resume("foo")</div><div class='add'>+}, '[ruby-dev:34128]'</div><div class='head'>diff --git a/bootstraptest/test_finalizer.rb b/bootstraptest/test_finalizer.rb<br/>new file mode 100644<br/>index 0000000000..22a16b1220<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bootstraptest/test_finalizer.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>bootstraptest/test_finalizer.rb</a></div><div class='hunk'>@@ -0,0 +1,8 @@</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+a1,a2,b1,b2=Array.new(4){""}</div><div class='add'>+ObjectSpace.define_finalizer(b2,proc{})</div><div class='add'>+ObjectSpace.define_finalizer(b1,proc{b1.inspect})</div><div class='add'>+</div><div class='add'>+ObjectSpace.define_finalizer(a2,proc{a1.inspect})</div><div class='add'>+ObjectSpace.define_finalizer(a1,proc{})</div><div class='add'>+}, '[ruby-dev:35778]'</div><div class='head'>diff --git a/bootstraptest/test_flip.rb b/bootstraptest/test_flip.rb<br/>new file mode 100644<br/>index 0000000000..ff194868b2<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bootstraptest/test_flip.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>bootstraptest/test_flip.rb</a></div><div class='hunk'>@@ -0,0 +1 @@</div><div class='add'>+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/>new file mode 100644<br/>index 0000000000..35f19db588<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bootstraptest/test_flow.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>bootstraptest/test_flow.rb</a></div><div class='hunk'>@@ -0,0 +1,601 @@</div><div class='add'>+assert_equal %q{[1, 2, 4, 5, 6, 7, 8]}, %q{$a = []; begin;  ; $a &lt;&lt; 1</div><div class='add'>+  [1,2].each{; $a &lt;&lt; 2</div><div class='add'>+    break; $a &lt;&lt; 3</div><div class='add'>+  }; $a &lt;&lt; 4</div><div class='add'>+  begin; $a &lt;&lt; 5</div><div class='add'>+  ensure; $a &lt;&lt; 6</div><div class='add'>+  end; $a &lt;&lt; 7</div><div class='add'>+; $a &lt;&lt; 8</div><div class='add'>+; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='add'>+assert_equal %q{[1, 2, 3, 5, 6, 7, 8]}, %q{$a = []; begin;  ; $a &lt;&lt; 1</div><div class='add'>+  begin; $a &lt;&lt; 2</div><div class='add'>+    [1,2].each do; $a &lt;&lt; 3</div><div class='add'>+      break; $a &lt;&lt; 4</div><div class='add'>+    end; $a &lt;&lt; 5</div><div class='add'>+  ensure; $a &lt;&lt; 6</div><div class='add'>+  end; $a &lt;&lt; 7</div><div class='add'>+; $a &lt;&lt; 8</div><div class='add'>+; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  ["a"].inject("ng"){|x,y|</div><div class='add'>+    break :ok</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  unless ''.respond_to? :lines</div><div class='add'>+    class String</div><div class='add'>+      def lines</div><div class='add'>+        self</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  ('a').lines.map{|e|</div><div class='add'>+    break :ok</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{[1, 2, 4, 5]}, %q{$a = []; begin; ; $a &lt;&lt; 1</div><div class='add'>+  ["a"].inject("ng"){|x,y|; $a &lt;&lt; 2</div><div class='add'>+    break :ok; $a &lt;&lt; 3</div><div class='add'>+  }; $a &lt;&lt; 4</div><div class='add'>+; $a &lt;&lt; 5</div><div class='add'>+; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='add'>+assert_equal %q{[1, 2, 4, 5]}, %q{$a = []; begin; ; $a &lt;&lt; 1</div><div class='add'>+  ('a'..'b').map{|e|; $a &lt;&lt; 2</div><div class='add'>+    break :ok; $a &lt;&lt; 3</div><div class='add'>+  }; $a &lt;&lt; 4</div><div class='add'>+; $a &lt;&lt; 5</div><div class='add'>+; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='add'>+assert_equal %q{[1, 2, 3, 5, 7, 8]}, %q{$a = []; begin;  ; $a &lt;&lt; 1</div><div class='add'>+  [1,2].each do; $a &lt;&lt; 2</div><div class='add'>+    begin; $a &lt;&lt; 3</div><div class='add'>+      break; $a &lt;&lt; 4</div><div class='add'>+    ensure; $a &lt;&lt; 5</div><div class='add'>+    end; $a &lt;&lt; 6</div><div class='add'>+  end; $a &lt;&lt; 7</div><div class='add'>+; $a &lt;&lt; 8</div><div class='add'>+; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='add'>+assert_equal %q{[1, 2, 3, 4, 5, 6, 9, 10]}, %q{$a = []; begin; ; $a &lt;&lt; 1</div><div class='add'>+  i=0; $a &lt;&lt; 2</div><div class='add'>+  while i&lt;3; $a &lt;&lt; 3</div><div class='add'>+    i+=1; $a &lt;&lt; 4</div><div class='add'>+    begin; $a &lt;&lt; 5</div><div class='add'>+    ensure; $a &lt;&lt; 6</div><div class='add'>+      break; $a &lt;&lt; 7</div><div class='add'>+    end; $a &lt;&lt; 8</div><div class='add'>+  end; $a &lt;&lt; 9</div><div class='add'>+; $a &lt;&lt; 10</div><div class='add'>+; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='add'>+assert_equal %q{[1, 2, 3, 4, 5, 7, 10, 11]}, %q{$a = []; begin; ; $a &lt;&lt; 1</div><div class='add'>+  i=0; $a &lt;&lt; 2</div><div class='add'>+  while i&lt;3; $a &lt;&lt; 3</div><div class='add'>+    i+=1; $a &lt;&lt; 4</div><div class='add'>+    begin; $a &lt;&lt; 5</div><div class='add'>+      raise; $a &lt;&lt; 6</div><div class='add'>+    ensure; $a &lt;&lt; 7</div><div class='add'>+      break; $a &lt;&lt; 8</div><div class='add'>+    end; $a &lt;&lt; 9</div><div class='add'>+  end; $a &lt;&lt; 10</div><div class='add'>+; $a &lt;&lt; 11</div><div class='add'>+; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='add'>+assert_equal %q{[1, 2, 3, 4, 5, 7, 10, 11]}, %q{$a = []; begin; ; $a &lt;&lt; 1</div><div class='add'>+  i=0; $a &lt;&lt; 2</div><div class='add'>+  while i&lt;3; $a &lt;&lt; 3</div><div class='add'>+    i+=1; $a &lt;&lt; 4</div><div class='add'>+    begin; $a &lt;&lt; 5</div><div class='add'>+      raise; $a &lt;&lt; 6</div><div class='add'>+    rescue; $a &lt;&lt; 7</div><div class='add'>+      break; $a &lt;&lt; 8</div><div class='add'>+    end; $a &lt;&lt; 9</div><div class='add'>+  end; $a &lt;&lt; 10</div><div class='add'>+; $a &lt;&lt; 11</div><div class='add'>+; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='add'>+assert_equal %q{[1, 2, 3, 5, 8, 9]}, %q{$a = []; begin;  ; $a &lt;&lt; 1</div><div class='add'>+  [1,2].each do; $a &lt;&lt; 2</div><div class='add'>+    begin; $a &lt;&lt; 3</div><div class='add'>+      raise StandardError; $a &lt;&lt; 4</div><div class='add'>+    ensure; $a &lt;&lt; 5</div><div class='add'>+      break; $a &lt;&lt; 6</div><div class='add'>+    end; $a &lt;&lt; 7</div><div class='add'>+  end; $a &lt;&lt; 8</div><div class='add'>+; $a &lt;&lt; 9</div><div class='add'>+; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='add'>+assert_equal %q{[1, 2, 3, 5, 8, 9]}, %q{$a = []; begin;  ; $a &lt;&lt; 1</div><div class='add'>+  [1,2].each do; $a &lt;&lt; 2</div><div class='add'>+    begin; $a &lt;&lt; 3</div><div class='add'>+      raise StandardError; $a &lt;&lt; 4</div><div class='add'>+    rescue; $a &lt;&lt; 5</div><div class='add'>+      break; $a &lt;&lt; 6</div><div class='add'>+    end; $a &lt;&lt; 7</div><div class='add'>+  end; $a &lt;&lt; 8</div><div class='add'>+; $a &lt;&lt; 9</div><div class='add'>+; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='add'>+assert_equal %q{[1, 2, 3, 4, 6, 8, 10, 11]}, %q{$a = []; begin;  ; $a &lt;&lt; 1</div><div class='add'>+  [1,2].each do; $a &lt;&lt; 2</div><div class='add'>+    begin; $a &lt;&lt; 3</div><div class='add'>+      begin; $a &lt;&lt; 4</div><div class='add'>+        break; $a &lt;&lt; 5</div><div class='add'>+      ensure; $a &lt;&lt; 6</div><div class='add'>+      end; $a &lt;&lt; 7</div><div class='add'>+    ensure; $a &lt;&lt; 8</div><div class='add'>+    end; $a &lt;&lt; 9</div><div class='add'>+  end; $a &lt;&lt; 10</div><div class='add'>+; $a &lt;&lt; 11</div><div class='add'>+; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='add'>+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='add'>+  i = 0; $a &lt;&lt; 2</div><div class='add'>+  while i&lt;3; $a &lt;&lt; 3</div><div class='add'>+    i+=1; $a &lt;&lt; 4</div><div class='add'>+    j = 0; $a &lt;&lt; 5</div><div class='add'>+    while j&lt;3; $a &lt;&lt; 6</div><div class='add'>+      j+=1; $a &lt;&lt; 7</div><div class='add'>+      begin; $a &lt;&lt; 8</div><div class='add'>+        raise; $a &lt;&lt; 9</div><div class='add'>+      rescue; $a &lt;&lt; 10</div><div class='add'>+        break; $a &lt;&lt; 11</div><div class='add'>+      end; $a &lt;&lt; 12</div><div class='add'>+    end; $a &lt;&lt; 13</div><div class='add'>+  end; $a &lt;&lt; 14</div><div class='add'>+; $a &lt;&lt; 15</div><div class='add'>+; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='add'>+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='add'>+  i = 0; $a &lt;&lt; 2</div><div class='add'>+  while i&lt;3; $a &lt;&lt; 3</div><div class='add'>+    i+=1; $a &lt;&lt; 4</div><div class='add'>+    j = 0; $a &lt;&lt; 5</div><div class='add'>+    while j&lt;3; $a &lt;&lt; 6</div><div class='add'>+      j+=1; $a &lt;&lt; 7</div><div class='add'>+      1.times{; $a &lt;&lt; 8</div><div class='add'>+        begin; $a &lt;&lt; 9</div><div class='add'>+          raise; $a &lt;&lt; 10</div><div class='add'>+        rescue; $a &lt;&lt; 11</div><div class='add'>+          break; $a &lt;&lt; 12</div><div class='add'>+        end; $a &lt;&lt; 13</div><div class='add'>+      }; $a &lt;&lt; 14</div><div class='add'>+    end; $a &lt;&lt; 15</div><div class='add'>+  end; $a &lt;&lt; 16</div><div class='add'>+; $a &lt;&lt; 17</div><div class='add'>+; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='add'>+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='add'>+  i = 0; $a &lt;&lt; 2</div><div class='add'>+  while i&lt;3; $a &lt;&lt; 3</div><div class='add'>+    i+=1; $a &lt;&lt; 4</div><div class='add'>+    j = 0; $a &lt;&lt; 5</div><div class='add'>+    while j&lt;3; $a &lt;&lt; 6</div><div class='add'>+      j+=1; $a &lt;&lt; 7</div><div class='add'>+      begin; $a &lt;&lt; 8</div><div class='add'>+        raise; $a &lt;&lt; 9</div><div class='add'>+      ensure; $a &lt;&lt; 10</div><div class='add'>+        break; $a &lt;&lt; 11</div><div class='add'>+      end; $a &lt;&lt; 12</div><div class='add'>+    end; $a &lt;&lt; 13</div><div class='add'>+  end; $a &lt;&lt; 14</div><div class='add'>+; $a &lt;&lt; 15</div><div class='add'>+; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='add'>+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='add'>+  i = 0; $a &lt;&lt; 2</div><div class='add'>+  while i&lt;3; $a &lt;&lt; 3</div><div class='add'>+    i+=1; $a &lt;&lt; 4</div><div class='add'>+    j = 0; $a &lt;&lt; 5</div><div class='add'>+    while j&lt;3; $a &lt;&lt; 6</div><div class='add'>+      j+=1; $a &lt;&lt; 7</div><div class='add'>+      1.times{; $a &lt;&lt; 8</div><div class='add'>+        begin; $a &lt;&lt; 9</div><div class='add'>+          raise; $a &lt;&lt; 10</div><div class='add'>+        ensure; $a &lt;&lt; 11</div><div class='add'>+          break; $a &lt;&lt; 12</div><div class='add'>+        end; $a &lt;&lt; 13</div><div class='add'>+      }; $a &lt;&lt; 14</div><div class='add'>+    end; $a &lt;&lt; 15</div><div class='add'>+  end; $a &lt;&lt; 16</div><div class='add'>+; $a &lt;&lt; 17</div><div class='add'>+; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='add'>+assert_equal %q{[1, 2, 3, 5, 8, 9]}, %q{$a = []; begin; ; $a &lt;&lt; 1</div><div class='add'>+  while true; $a &lt;&lt; 2</div><div class='add'>+    begin; $a &lt;&lt; 3</div><div class='add'>+      break; $a &lt;&lt; 4</div><div class='add'>+    ensure; $a &lt;&lt; 5</div><div class='add'>+      break; $a &lt;&lt; 6</div><div class='add'>+    end; $a &lt;&lt; 7</div><div class='add'>+  end; $a &lt;&lt; 8</div><div class='add'>+; $a &lt;&lt; 9</div><div class='add'>+; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='add'>+assert_equal %q{[1, 2, 3, 5, 99]}, %q{</div><div class='add'>+$a = [];</div><div class='add'>+begin; ; $a &lt;&lt; 1</div><div class='add'>+  while true; $a &lt;&lt; 2</div><div class='add'>+    begin; $a &lt;&lt; 3</div><div class='add'>+      break; $a &lt;&lt; 4</div><div class='add'>+    ensure; $a &lt;&lt; 5</div><div class='add'>+      raise; $a &lt;&lt; 6</div><div class='add'>+    end; $a &lt;&lt; 7</div><div class='add'>+  end; $a &lt;&lt; 8</div><div class='add'>+; $a &lt;&lt; 9</div><div class='add'>+; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='add'>+assert_equal %q{[1, 2, 3, 4, 6, 8, 9, 10, 11]}, %q{$a = []; begin;  ; $a &lt;&lt; 1</div><div class='add'>+  begin; $a &lt;&lt; 2</div><div class='add'>+    [1,2].each do; $a &lt;&lt; 3</div><div class='add'>+      begin; $a &lt;&lt; 4</div><div class='add'>+        break; $a &lt;&lt; 5</div><div class='add'>+      ensure; $a &lt;&lt; 6</div><div class='add'>+      end; $a &lt;&lt; 7</div><div class='add'>+    end; $a &lt;&lt; 8</div><div class='add'>+  ensure; $a &lt;&lt; 9</div><div class='add'>+  end; $a &lt;&lt; 10</div><div class='add'>+; $a &lt;&lt; 11</div><div class='add'>+; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='add'>+assert_equal %q{[1, 2, 4, 99]}, %q{$a = []; begin; ; $a &lt;&lt; 1</div><div class='add'>+  begin; $a &lt;&lt; 2</div><div class='add'>+    raise StandardError; $a &lt;&lt; 3</div><div class='add'>+  ensure; $a &lt;&lt; 4</div><div class='add'>+  end; $a &lt;&lt; 5</div><div class='add'>+; $a &lt;&lt; 6</div><div class='add'>+; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='add'>+assert_equal %q{[1, 2, 3, 4]}, %q{$a = []; begin;  ; $a &lt;&lt; 1</div><div class='add'>+  begin; $a &lt;&lt; 2</div><div class='add'>+  ensure; $a &lt;&lt; 3</div><div class='add'>+  end ; $a &lt;&lt; 4</div><div class='add'>+; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='add'>+assert_equal %q{[1, 2, 3, 5, 99]}, %q{$a = []; begin;  ; $a &lt;&lt; 1</div><div class='add'>+  [1,2].each do; $a &lt;&lt; 2</div><div class='add'>+    begin; $a &lt;&lt; 3</div><div class='add'>+      break; $a &lt;&lt; 4</div><div class='add'>+    ensure; $a &lt;&lt; 5</div><div class='add'>+      raise StandardError; $a &lt;&lt; 6</div><div class='add'>+    end; $a &lt;&lt; 7</div><div class='add'>+  end; $a &lt;&lt; 8</div><div class='add'>+; $a &lt;&lt; 9</div><div class='add'>+; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='add'>+assert_equal %q{3}, %q{</div><div class='add'>+  def m a, b</div><div class='add'>+    a + b</div><div class='add'>+  end</div><div class='add'>+  m(1,</div><div class='add'>+    while true</div><div class='add'>+      break 2</div><div class='add'>+    end</div><div class='add'>+    )</div><div class='add'>+}</div><div class='add'>+assert_equal %q{4}, %q{</div><div class='add'>+  def m a, b</div><div class='add'>+    a + b</div><div class='add'>+  end</div><div class='add'>+  m(1,</div><div class='add'>+    (i=0; while i&lt;2</div><div class='add'>+       i+=1</div><div class='add'>+       class C</div><div class='add'>+         next 2</div><div class='add'>+       end</div><div class='add'>+     end; 3)</div><div class='add'>+    )</div><div class='add'>+}</div><div class='add'>+assert_equal %q{34}, %q{</div><div class='add'>+  def m a, b</div><div class='add'>+    a+b</div><div class='add'>+  end</div><div class='add'>+  m(1, 1.times{break 3}) +</div><div class='add'>+  m(10, (1.times{next 3}; 20))</div><div class='add'>+}</div><div class='add'>+assert_equal %q{[1, 2, 3, 6, 7]}, %q{$a = []; begin; ; $a &lt;&lt; 1</div><div class='add'>+  3.times{; $a &lt;&lt; 2</div><div class='add'>+    class C; $a &lt;&lt; 3</div><div class='add'>+      break; $a &lt;&lt; 4</div><div class='add'>+    end; $a &lt;&lt; 5</div><div class='add'>+  }; $a &lt;&lt; 6</div><div class='add'>+; $a &lt;&lt; 7</div><div class='add'>+; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='add'>+assert_equal %q{[1, 2, 3, 4, 8, 9]}, %q{$a = []; begin; ; $a &lt;&lt; 1</div><div class='add'>+  3.times{; $a &lt;&lt; 2</div><div class='add'>+    class A; $a &lt;&lt; 3</div><div class='add'>+      class B; $a &lt;&lt; 4</div><div class='add'>+        break; $a &lt;&lt; 5</div><div class='add'>+      end; $a &lt;&lt; 6</div><div class='add'>+    end; $a &lt;&lt; 7</div><div class='add'>+  }; $a &lt;&lt; 8</div><div class='add'>+; $a &lt;&lt; 9</div><div class='add'>+; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='add'>+assert_equal %q{[1, 2, 3, 2, 3, 2, 3, 6, 7]}, %q{$a = []; begin; ; $a &lt;&lt; 1</div><div class='add'>+  3.times{; $a &lt;&lt; 2</div><div class='add'>+    class C; $a &lt;&lt; 3</div><div class='add'>+      next; $a &lt;&lt; 4</div><div class='add'>+    end; $a &lt;&lt; 5</div><div class='add'>+  }; $a &lt;&lt; 6</div><div class='add'>+; $a &lt;&lt; 7</div><div class='add'>+; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='add'>+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='add'>+  3.times{; $a &lt;&lt; 2</div><div class='add'>+    class C; $a &lt;&lt; 3</div><div class='add'>+      class D; $a &lt;&lt; 4</div><div class='add'>+        next; $a &lt;&lt; 5</div><div class='add'>+      end; $a &lt;&lt; 6</div><div class='add'>+    end; $a &lt;&lt; 7</div><div class='add'>+  }; $a &lt;&lt; 8</div><div class='add'>+; $a &lt;&lt; 9</div><div class='add'>+; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='add'>+assert_equal %q{[1, 2, 3, 6, 7]}, %q{$a = []; begin; ; $a &lt;&lt; 1</div><div class='add'>+  while true; $a &lt;&lt; 2</div><div class='add'>+    class C; $a &lt;&lt; 3</div><div class='add'>+      break; $a &lt;&lt; 4</div><div class='add'>+    end; $a &lt;&lt; 5</div><div class='add'>+  end; $a &lt;&lt; 6</div><div class='add'>+; $a &lt;&lt; 7</div><div class='add'>+; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='add'>+assert_equal %q{[1, 2, 3, 4, 8, 9]}, %q{$a = []; begin; ; $a &lt;&lt; 1</div><div class='add'>+  while true; $a &lt;&lt; 2</div><div class='add'>+    class C; $a &lt;&lt; 3</div><div class='add'>+      class D; $a &lt;&lt; 4</div><div class='add'>+        break; $a &lt;&lt; 5</div><div class='add'>+      end; $a &lt;&lt; 6</div><div class='add'>+    end; $a &lt;&lt; 7</div><div class='add'>+  end; $a &lt;&lt; 8</div><div class='add'>+; $a &lt;&lt; 9</div><div class='add'>+; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='add'>+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='add'>+  i=0; $a &lt;&lt; 2</div><div class='add'>+  while i&lt;3; $a &lt;&lt; 3</div><div class='add'>+    i+=1; $a &lt;&lt; 4</div><div class='add'>+    class C; $a &lt;&lt; 5</div><div class='add'>+      next 10; $a &lt;&lt; 6</div><div class='add'>+    end; $a &lt;&lt; 7</div><div class='add'>+  end; $a &lt;&lt; 8</div><div class='add'>+; $a &lt;&lt; 9</div><div class='add'>+; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='add'>+assert_equal %q{1}, %q{</div><div class='add'>+  1.times{</div><div class='add'>+    while true</div><div class='add'>+      class C</div><div class='add'>+        begin</div><div class='add'>+          break</div><div class='add'>+        ensure</div><div class='add'>+          break</div><div class='add'>+        end</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{[1, 2, 3, 5, 2, 3, 5, 7, 8]}, %q{$a = []; begin;  ; $a &lt;&lt; 1</div><div class='add'>+  [1,2].each do; $a &lt;&lt; 2</div><div class='add'>+    begin; $a &lt;&lt; 3</div><div class='add'>+      next; $a &lt;&lt; 4</div><div class='add'>+    ensure; $a &lt;&lt; 5</div><div class='add'>+    end; $a &lt;&lt; 6</div><div class='add'>+  end; $a &lt;&lt; 7</div><div class='add'>+; $a &lt;&lt; 8</div><div class='add'>+; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='add'>+assert_equal %q{[1, 2, 6, 3, 5, 7, 8]}, %q{$a = []; begin;  ; $a &lt;&lt; 1</div><div class='add'>+  o = "test"; $a &lt;&lt; 2</div><div class='add'>+  def o.test(a); $a &lt;&lt; 3</div><div class='add'>+    return a; $a &lt;&lt; 4</div><div class='add'>+  ensure; $a &lt;&lt; 5</div><div class='add'>+  end; $a &lt;&lt; 6</div><div class='add'>+  o.test(123); $a &lt;&lt; 7</div><div class='add'>+; $a &lt;&lt; 8</div><div class='add'>+; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='add'>+assert_equal %q{[1, 4, 7, 5, 8, 9]}, %q{$a = []; begin; ; $a &lt;&lt; 1</div><div class='add'>+  def m1 *args; $a &lt;&lt; 2</div><div class='add'>+    ; $a &lt;&lt; 3</div><div class='add'>+  end; $a &lt;&lt; 4</div><div class='add'>+  def m2; $a &lt;&lt; 5</div><div class='add'>+    m1(:a, :b, (return 1; :c)); $a &lt;&lt; 6</div><div class='add'>+  end; $a &lt;&lt; 7</div><div class='add'>+  m2; $a &lt;&lt; 8</div><div class='add'>+; $a &lt;&lt; 9</div><div class='add'>+; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='add'>+assert_equal %q{[1, 8, 2, 3, 4, 5, 9, 10]}, %q{$a = []; begin; ; $a &lt;&lt; 1</div><div class='add'>+  def m(); $a &lt;&lt; 2</div><div class='add'>+    begin; $a &lt;&lt; 3</div><div class='add'>+      2; $a &lt;&lt; 4</div><div class='add'>+    ensure; $a &lt;&lt; 5</div><div class='add'>+      return 3; $a &lt;&lt; 6</div><div class='add'>+    end; $a &lt;&lt; 7</div><div class='add'>+  end; $a &lt;&lt; 8</div><div class='add'>+  m; $a &lt;&lt; 9</div><div class='add'>+; $a &lt;&lt; 10</div><div class='add'>+; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='add'>+assert_equal %q{[1, 3, 11, 4, 5, 6, 7, 12, 13]}, %q{$a = []; begin; ; $a &lt;&lt; 1</div><div class='add'>+  def m2; $a &lt;&lt; 2</div><div class='add'>+  end; $a &lt;&lt; 3</div><div class='add'>+  def m(); $a &lt;&lt; 4</div><div class='add'>+    m2(begin; $a &lt;&lt; 5</div><div class='add'>+         2; $a &lt;&lt; 6</div><div class='add'>+       ensure; $a &lt;&lt; 7</div><div class='add'>+         return 3; $a &lt;&lt; 8</div><div class='add'>+       end); $a &lt;&lt; 9</div><div class='add'>+    4; $a &lt;&lt; 10</div><div class='add'>+  end; $a &lt;&lt; 11</div><div class='add'>+  m(); $a &lt;&lt; 12</div><div class='add'>+; $a &lt;&lt; 13</div><div class='add'>+; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='add'>+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='add'>+  def m; $a &lt;&lt; 2</div><div class='add'>+    1; $a &lt;&lt; 3</div><div class='add'>+    1.times{; $a &lt;&lt; 4</div><div class='add'>+      2; $a &lt;&lt; 5</div><div class='add'>+      begin; $a &lt;&lt; 6</div><div class='add'>+        3; $a &lt;&lt; 7</div><div class='add'>+        return; $a &lt;&lt; 8</div><div class='add'>+        4; $a &lt;&lt; 9</div><div class='add'>+      ensure; $a &lt;&lt; 10</div><div class='add'>+        5; $a &lt;&lt; 11</div><div class='add'>+      end; $a &lt;&lt; 12</div><div class='add'>+      6; $a &lt;&lt; 13</div><div class='add'>+    }; $a &lt;&lt; 14</div><div class='add'>+    7; $a &lt;&lt; 15</div><div class='add'>+  end; $a &lt;&lt; 16</div><div class='add'>+  m(); $a &lt;&lt; 17</div><div class='add'>+; $a &lt;&lt; 18</div><div class='add'>+; rescue Exception; $a &lt;&lt; 99; end; $a}</div><div class='add'>+assert_equal %q{[:ok, :ok2, :last]}, %q{</div><div class='add'>+  a = []</div><div class='add'>+  i = 0</div><div class='add'>+  begin</div><div class='add'>+    while i &lt; 1</div><div class='add'>+      i+=1</div><div class='add'>+      begin</div><div class='add'>+        begin</div><div class='add'>+          next</div><div class='add'>+        ensure</div><div class='add'>+          a &lt;&lt; :ok</div><div class='add'>+        end</div><div class='add'>+      ensure</div><div class='add'>+        a &lt;&lt; :ok2</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  ensure</div><div class='add'>+    a &lt;&lt; :last</div><div class='add'>+  end</div><div class='add'>+  a</div><div class='add'>+}</div><div class='add'>+assert_equal %q{[:ok, :ok2, :last]}, %q{</div><div class='add'>+  a = []</div><div class='add'>+  i = 0</div><div class='add'>+  begin</div><div class='add'>+    while i &lt; 1</div><div class='add'>+      i+=1</div><div class='add'>+      begin</div><div class='add'>+        begin</div><div class='add'>+          break</div><div class='add'>+        ensure</div><div class='add'>+          a &lt;&lt; :ok</div><div class='add'>+        end</div><div class='add'>+      ensure</div><div class='add'>+        a &lt;&lt; :ok2</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  ensure</div><div class='add'>+    a &lt;&lt; :last</div><div class='add'>+  end</div><div class='add'>+  a</div><div class='add'>+}</div><div class='add'>+assert_equal %q{[:ok, :ok2, :last]}, %q{</div><div class='add'>+  a = []</div><div class='add'>+  i = 0</div><div class='add'>+  begin</div><div class='add'>+    while i &lt; 1</div><div class='add'>+      if i&gt;0</div><div class='add'>+        break</div><div class='add'>+      end</div><div class='add'>+      i+=1</div><div class='add'>+      begin</div><div class='add'>+        begin</div><div class='add'>+          redo</div><div class='add'>+        ensure</div><div class='add'>+          a &lt;&lt; :ok</div><div class='add'>+        end</div><div class='add'>+      ensure</div><div class='add'>+        a &lt;&lt; :ok2</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  ensure</div><div class='add'>+    a &lt;&lt; :last</div><div class='add'>+  end</div><div class='add'>+  a</div><div class='add'>+}</div><div class='add'>+assert_equal %Q{ENSURE\n}, %q{</div><div class='add'>+  def test</div><div class='add'>+    while true</div><div class='add'>+      return</div><div class='add'>+    end</div><div class='add'>+  ensure</div><div class='add'>+    puts("ENSURE")</div><div class='add'>+  end</div><div class='add'>+  test</div><div class='add'>+}, '[ruby-dev:37967]'</div><div class='add'>+</div><div class='add'>+[['[ruby-core:28129]', %q{</div><div class='add'>+  class Bug2728</div><div class='add'>+    include Enumerable</div><div class='add'>+    define_method(:dynamic_method) do</div><div class='add'>+      "dynamically defined method"</div><div class='add'>+    end</div><div class='add'>+    def each</div><div class='add'>+      begin</div><div class='add'>+        yield :foo</div><div class='add'>+      ensure</div><div class='add'>+        dynamic_method</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  e = Bug2728.new</div><div class='add'>+}],</div><div class='add'>+ ['[ruby-core:28132]', %q{</div><div class='add'>+  class Bug2729</div><div class='add'>+    include Enumerable</div><div class='add'>+    def each</div><div class='add'>+      begin</div><div class='add'>+        yield :foo</div><div class='add'>+      ensure</div><div class='add'>+        proc {}.call</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  e = Bug2729.new</div><div class='add'>+}],</div><div class='add'>+ ['[ruby-core:39125]', %q{</div><div class='add'>+  class Bug5234</div><div class='add'>+    include Enumerable</div><div class='add'>+    def each(&amp;block)</div><div class='add'>+      begin</div><div class='add'>+        yield :foo</div><div class='add'>+      ensure</div><div class='add'>+        proc(&amp;block)</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  e = Bug5234.new</div><div class='add'>+}],</div><div class='add'>+ ['[ruby-dev:45656]', %q{</div><div class='add'>+  class Bug6460</div><div class='add'>+    include Enumerable</div><div class='add'>+    def each(&amp;block)</div><div class='add'>+      begin</div><div class='add'>+        yield :foo</div><div class='add'>+      ensure</div><div class='add'>+        1.times { Proc.new(&amp;block) }</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  e = Bug6460.new</div><div class='add'>+}]].each do |bug, src|</div><div class='add'>+  assert_equal "foo", src + %q{e.detect {true}}, bug</div><div class='add'>+  assert_equal "true", src + %q{e.any? {true}}, bug</div><div class='add'>+  assert_equal "false", src + %q{e.all? {false}}, bug</div><div class='add'>+  assert_equal "true", src + %q{e.include?(:foo)}, bug</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+assert_equal "foo", %q{</div><div class='add'>+  class Bug6460</div><div class='add'>+    def m1</div><div class='add'>+      m2 {|e|</div><div class='add'>+        return e</div><div class='add'>+      }</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    def m2</div><div class='add'>+      begin</div><div class='add'>+        yield :foo</div><div class='add'>+      ensure</div><div class='add'>+        begin</div><div class='add'>+          begin</div><div class='add'>+            yield :foo</div><div class='add'>+          ensure</div><div class='add'>+            Proc.new</div><div class='add'>+            raise ''</div><div class='add'>+          end</div><div class='add'>+        rescue</div><div class='add'>+        end</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  Bug6460.new.m1</div><div class='add'>+}, '[ruby-dev:46372]'</div><div class='add'>+</div><div class='add'>+assert_equal "foo", %q{</div><div class='add'>+  obj = "foo"</div><div class='add'>+  if obj || any1</div><div class='add'>+    any2 = any2</div><div class='add'>+  else</div><div class='add'>+    raise obj.inspect</div><div class='add'>+  end</div><div class='add'>+  obj</div><div class='add'>+}, '[ruby-core:87830]'</div><div class='head'>diff --git a/bootstraptest/test_fork.rb b/bootstraptest/test_fork.rb<br/>new file mode 100644<br/>index 0000000000..83923dad97<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bootstraptest/test_fork.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>bootstraptest/test_fork.rb</a></div><div class='hunk'>@@ -0,0 +1,77 @@</div><div class='add'>+assert_equal '0', %q{</div><div class='add'>+  begin</div><div class='add'>+    GC.stress = true</div><div class='add'>+    pid = fork {}</div><div class='add'>+    Process.wait pid</div><div class='add'>+    $?.to_i</div><div class='add'>+  rescue NotImplementedError</div><div class='add'>+    0</div><div class='add'>+  end</div><div class='add'>+}, '[ruby-dev:32404]'</div><div class='add'>+</div><div class='add'>+assert_finish 10, %q{</div><div class='add'>+  begin</div><div class='add'>+    children = (1..10).map{</div><div class='add'>+      Thread.start{fork{}}.value</div><div class='add'>+    }</div><div class='add'>+    while !children.empty? and pid = Process.wait</div><div class='add'>+      children.delete(pid)</div><div class='add'>+    end</div><div class='add'>+  rescue NotImplementedError</div><div class='add'>+  end</div><div class='add'>+}, '[ruby-core:22158]'</div><div class='add'>+</div><div class='add'>+# temporarily stop this test to enable explicit failure when</div><div class='add'>+# timer thread couldn't be created (r61706 and r61717).</div><div class='add'>+assert_normal_exit(&lt;&lt;'End', '[ruby-dev:37934]') if false</div><div class='add'>+  main = Thread.current</div><div class='add'>+  Thread.new { sleep 0.01 until main.stop?; Thread.kill main }</div><div class='add'>+  Process.setrlimit(:NPROC, 1) if defined?(Process::RLIMIT_NPROC)</div><div class='add'>+  fork {}</div><div class='add'>+End</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  begin</div><div class='add'>+    r, w = IO.pipe</div><div class='add'>+    if pid1 = fork</div><div class='add'>+      w.close</div><div class='add'>+      r.read(1)</div><div class='add'>+      Process.kill("USR1", pid1)</div><div class='add'>+      _, s = Process.wait2(pid1)</div><div class='add'>+      s.success? ? :ok : :ng</div><div class='add'>+    else</div><div class='add'>+      r.close</div><div class='add'>+      if pid2 = fork</div><div class='add'>+        trap("USR1") { Time.now.to_s; Process.kill("USR2", pid2) }</div><div class='add'>+        w.close</div><div class='add'>+        Process.wait2(pid2)</div><div class='add'>+      else</div><div class='add'>+        w.close</div><div class='add'>+        sleep 0.2</div><div class='add'>+      end</div><div class='add'>+      exit true</div><div class='add'>+    end</div><div class='add'>+  rescue NotImplementedError</div><div class='add'>+    :ok</div><div class='add'>+  end</div><div class='add'>+}, '[ruby-core:28924]'</div><div class='add'>+</div><div class='add'>+assert_equal '[1, 2]', %q{</div><div class='add'>+  a = []</div><div class='add'>+  main = Thread.current</div><div class='add'>+  trap(:INT) { a.push(1).size == 2 and main.wakeup }</div><div class='add'>+  trap(:TERM) { a.push(2).size == 2 and main.wakeup }</div><div class='add'>+  pid = $$</div><div class='add'>+  begin</div><div class='add'>+    pid = fork do</div><div class='add'>+      Process.kill(:INT, pid)</div><div class='add'>+      Process.kill(:TERM, pid)</div><div class='add'>+    end</div><div class='add'>+    Process.wait(pid)</div><div class='add'>+    100.times {break if a.size &gt; 1; sleep 0.001}</div><div class='add'>+    a.sort</div><div class='add'>+  rescue NotImplementedError</div><div class='add'>+    [1, 2]</div><div class='add'>+  end</div><div class='add'>+}, '[ruby-dev:44005] [Ruby 1.9 - Bug #4950]'</div><div class='add'>+</div><div class='head'>diff --git a/bootstraptest/test_gc.rb b/bootstraptest/test_gc.rb<br/>new file mode 100644<br/>index 0000000000..eb68c9845e<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bootstraptest/test_gc.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>bootstraptest/test_gc.rb</a></div><div class='hunk'>@@ -0,0 +1,34 @@</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+a = []</div><div class='add'>+ms = "a".."k"</div><div class='add'>+("A".."Z").each do |mod|</div><div class='add'>+  mod = eval("module #{mod}; self; end")</div><div class='add'>+  ms.each do |meth|</div><div class='add'>+    iseq = RubyVM::InstructionSequence.compile("module #{mod}; def #{meth}; end; end")</div><div class='add'>+    GC.stress = true</div><div class='add'>+    iseq.eval</div><div class='add'>+    GC.stress = false</div><div class='add'>+  end</div><div class='add'>+  o = Object.new.extend(mod)</div><div class='add'>+  ms.each do |meth|</div><div class='add'>+    o.send(meth)</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+}, '[ruby-dev:39453]'</div><div class='add'>+</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+a = []</div><div class='add'>+ms = "a".."k"</div><div class='add'>+("A".."Z").each do |mod|</div><div class='add'>+  mod = eval("module #{mod}; self; end")</div><div class='add'>+  ms.each do |meth|</div><div class='add'>+    GC.stress = true</div><div class='add'>+    mod.module_eval {define_method(meth) {}}</div><div class='add'>+    GC.stress = false</div><div class='add'>+  end</div><div class='add'>+  o = Object.new.extend(mod)</div><div class='add'>+  ms.each do |meth|</div><div class='add'>+    o.send(meth)</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+}, '[ruby-dev:39453]'</div><div class='head'>diff --git a/bootstraptest/test_insns.rb b/bootstraptest/test_insns.rb<br/>new file mode 100644<br/>index 0000000000..9052cad7bd<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bootstraptest/test_insns.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>bootstraptest/test_insns.rb</a></div><div class='hunk'>@@ -0,0 +1,439 @@</div><div class='add'>+# C0 coverage of each instructions</div><div class='add'>+</div><div class='add'>+# :NOTE: This is for development purpose; never consider this file as</div><div class='add'>+# ISeq compilation specification.</div><div class='add'>+</div><div class='add'>+begin</div><div class='add'>+  # This library brings some additional coverage.</div><div class='add'>+  # Not mandatory.</div><div class='add'>+  require 'rbconfig/sizeof'</div><div class='add'>+rescue LoadError</div><div class='add'>+  # OK, just skip</div><div class='add'>+else</div><div class='add'>+  if defined? RbConfig::LIMITS</div><div class='add'>+    $FIXNUM_MAX = RbConfig::LIMITS["FIXNUM_MAX"]</div><div class='add'>+    $FIXNUM_MIN = RbConfig::LIMITS["FIXNUM_MIN"]</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+fsl   = { frozen_string_literal: true } # used later</div><div class='add'>+tests = [</div><div class='add'>+  # insn ,   expression to generate such insn</div><div class='add'>+  [ 'nop',   %q{ raise rescue true }, ],</div><div class='add'>+</div><div class='add'>+  [ 'setlocal *, 0', %q{ x = true }, ],</div><div class='add'>+  [ 'setlocal *, 1', %q{ x = nil; -&gt; { x = true }.call }, ],</div><div class='add'>+  [ 'setlocal',      %q{ x = nil; -&gt; { -&gt; { x = true }.() }.() }, ],</div><div class='add'>+  [ 'getlocal *, 0', %q{ x = true; x }, ],</div><div class='add'>+  [ 'getlocal *, 1', %q{ x = true; -&gt; { x }.call }, ],</div><div class='add'>+  [ 'getlocal',      %q{ x = true; -&gt; { -&gt; { x }.() }.() }, ],</div><div class='add'>+</div><div class='add'>+  [ 'setblockparam', &lt;&lt;-'},', ], # {</div><div class='add'>+    def m&amp;b</div><div class='add'>+      b = # here</div><div class='add'>+        proc { true }</div><div class='add'>+    end</div><div class='add'>+    m { false }.call</div><div class='add'>+  },</div><div class='add'>+  [ 'getblockparam', &lt;&lt;-'},', ], # {</div><div class='add'>+    def m&amp;b</div><div class='add'>+      b # here</div><div class='add'>+    end</div><div class='add'>+    m { true }.call</div><div class='add'>+  },</div><div class='add'>+  [ 'getblockparamproxy', &lt;&lt;-'},', ], # {</div><div class='add'>+    def m&amp;b</div><div class='add'>+      b # here</div><div class='add'>+        .call</div><div class='add'>+    end</div><div class='add'>+    m { true }</div><div class='add'>+  },</div><div class='add'>+</div><div class='add'>+  [ 'setspecial', %q{ true if true..true }, ],</div><div class='add'>+  [ 'getspecial', %q{ $&amp;.nil? }, ],</div><div class='add'>+  [ 'getspecial', %q{ $`.nil? }, ],</div><div class='add'>+  [ 'getspecial', %q{ $'.nil? }, ],</div><div class='add'>+  [ 'getspecial', %q{ $+.nil? }, ],</div><div class='add'>+  [ 'getspecial', %q{ $1.nil? }, ],</div><div class='add'>+  [ 'getspecial', %q{ $128.nil? }, ],</div><div class='add'>+</div><div class='add'>+  [ 'getglobal', %q{ String === $0 }, ],</div><div class='add'>+  [ 'getglobal', %q{ $_.nil? }, ],</div><div class='add'>+  [ 'setglobal', %q{ $0 = "true" }, ],</div><div class='add'>+</div><div class='add'>+  [ 'setinstancevariable', %q{ @x = true }, ],</div><div class='add'>+  [ 'getinstancevariable', %q{ @x = true; @x }, ],</div><div class='add'>+</div><div class='add'>+  [ 'setclassvariable', %q{ class A; @@x = true; end }, ],</div><div class='add'>+  [ 'getclassvariable', %q{ class A; @@x = true; @@x end }, ],</div><div class='add'>+</div><div class='add'>+  [ 'setconstant', %q{ X = true }, ],</div><div class='add'>+  [ 'setconstant', %q{ Object::X = true }, ],</div><div class='add'>+  [ 'getconstant', %q{ X = true; X }, ],</div><div class='add'>+  [ 'getconstant', %q{ X = true; Object::X }, ],</div><div class='add'>+</div><div class='add'>+  [ 'getinlinecache / setinlinecache', %q{ def x; X; end; X = true; x; x; x }, ],</div><div class='add'>+</div><div class='add'>+  [ 'putnil',               %q{ $~ == nil }, ],</div><div class='add'>+  [ 'putself',              %q{ $~ != self }, ],</div><div class='add'>+  [ 'putobject INT2FIX(0)', %q{ $~ != 0 }, ],</div><div class='add'>+  [ 'putobject INT2FIX(1)', %q{ $~ != 1 }, ],</div><div class='add'>+  [ 'putobject',            %q{ $~ != -1 }, ],</div><div class='add'>+  [ 'putobject',            %q{ $~ != /x/ }, ],</div><div class='add'>+  [ 'putobject',            %q{ $~ != :x }, ],</div><div class='add'>+  [ 'putobject',            %q{ $~ != (1..2) }, ],</div><div class='add'>+  [ 'putobject',            %q{ $~ != true }, ],</div><div class='add'>+  [ 'putobject',            %q{ /(?&lt;x&gt;x)/ =~ "x"; x == "x" }, ],</div><div class='add'>+</div><div class='add'>+  [ 'putspecialobject',         %q{ {//=&gt;true}[//] }, ],</div><div class='add'>+  [ 'putstring',                %q{ "true" }, ],</div><div class='add'>+  [ 'tostring / concatstrings', %q{ "#{true}" }, ],</div><div class='add'>+  [ 'toregexp',                 %q{ /#{true}/ =~ "true" &amp;&amp; $~ }, ],</div><div class='add'>+  [ 'intern',                   %q{ :"#{true}" }, ],</div><div class='add'>+</div><div class='add'>+  [ 'newarray',    %q{ ["true"][0] }, ],</div><div class='add'>+  [ 'newarraykwsplat', %q{ [**{x:'true'}][0][:x] }, ],</div><div class='add'>+  [ 'duparray',    %q{ [ true ][0] }, ],</div><div class='add'>+  [ 'expandarray', %q{ y = [ true, false, nil ]; x, = y; x }, ],</div><div class='add'>+  [ 'expandarray', %q{ y = [ true, false, nil ]; x, *z = y; x }, ],</div><div class='add'>+  [ 'expandarray', %q{ y = [ true, false, nil ]; x, *z, w = y; x }, ],</div><div class='add'>+  [ 'splatarray',  %q{ x, = *(y = true), false; x }, ],</div><div class='add'>+  [ 'concatarray', %q{ ["t", "r", *x = "u", "e"].join }, ],</div><div class='add'>+  [ 'concatarray', &lt;&lt;-'},', ],  # {</div><div class='add'>+    class X; def to_a; ['u']; end; end</div><div class='add'>+    ['t', 'r', *X.new, 'e'].join</div><div class='add'>+  },</div><div class='add'>+  [ 'concatarray', &lt;&lt;-'},', ],  # {</div><div class='add'>+    r = false</div><div class='add'>+    t = [true, nil]</div><div class='add'>+    q, w, e = r, *t             # here</div><div class='add'>+    w</div><div class='add'>+  },</div><div class='add'>+</div><div class='add'>+  [ 'newhash',  %q{ x = {}; x[x] = true }, ],</div><div class='add'>+  [ 'newhash',  %q{ x = true; { x =&gt; x }[x] }, ],</div><div class='add'>+  [ 'newhashfromarray', %q{ { a: true }[:a] }, ],</div><div class='add'>+  [ 'newrange', %q{ x = 1; [*(0..x)][0] == 0 }, ],</div><div class='add'>+  [ 'newrange', %q{ x = 1; [*(0...x)][0] == 0 }, ],</div><div class='add'>+</div><div class='add'>+  [ 'pop',     %q{ def x; true; end; x }, ],</div><div class='add'>+  [ 'dup',     %q{ x = y = true; x }, ],</div><div class='add'>+  [ 'dupn',    %q{ Object::X ||= true }, ],</div><div class='add'>+  [ 'reverse', %q{ q, (w, e), r = 1, [2, 3], 4; e == 3 }, ],</div><div class='add'>+  [ 'swap',    &lt;&lt;-'},', ],      # {</div><div class='add'>+    x = [[false, true]]</div><div class='add'>+    for i, j in x               # here</div><div class='add'>+      ;</div><div class='add'>+    end</div><div class='add'>+    j</div><div class='add'>+  },</div><div class='add'>+</div><div class='add'>+  [ 'topn',        %q{ x, y = [], 0; x[*y], = [true, false]; x[0] }, ],</div><div class='add'>+  [ 'setn',        %q{ x, y = [], 0; x[*y]  =  true        ; x[0] }, ],</div><div class='add'>+  [ 'adjuststack', %q{ x = [true]; x[0] ||= nil; x[0] }, ],</div><div class='add'>+</div><div class='add'>+  [ 'defined',      %q{ !defined?(x) }, ],</div><div class='add'>+  [ 'checkkeyword', %q{ def x x:rand;x end; x x: true }, ],</div><div class='add'>+  [ 'checktype',    %q{ x = true; "#{x}" }, ],</div><div class='add'>+  [ 'checkmatch',   &lt;&lt;-'},', ], # {</div><div class='add'>+    x = y = true</div><div class='add'>+    case x</div><div class='add'>+    when false</div><div class='add'>+      y = false</div><div class='add'>+    when true                   # here</div><div class='add'>+      y = nil</div><div class='add'>+    end</div><div class='add'>+    y == nil</div><div class='add'>+  },</div><div class='add'>+  [ 'checkmatch',   &lt;&lt;-'},', ], # {</div><div class='add'>+    x, y = true, [false]</div><div class='add'>+    case x</div><div class='add'>+    when *y                     # here</div><div class='add'>+      z = false</div><div class='add'>+    else</div><div class='add'>+      z = true</div><div class='add'>+    end</div><div class='add'>+    z</div><div class='add'>+  },</div><div class='add'>+  [ 'checkmatch',   &lt;&lt;-'},', ], # {</div><div class='add'>+    x = false</div><div class='add'>+    begin</div><div class='add'>+      raise</div><div class='add'>+    rescue                      # here</div><div class='add'>+      x = true</div><div class='add'>+    end</div><div class='add'>+    x</div><div class='add'>+  },</div><div class='add'>+</div><div class='add'>+  [ 'defineclass', %q{                 module X;    true end }, ],</div><div class='add'>+  [ 'defineclass', %q{ X = Module.new; module X;    true end }, ],</div><div class='add'>+  [ 'defineclass', %q{                 class X;     true end }, ],</div><div class='add'>+  [ 'defineclass', %q{ X = Class.new;  class X;     true end }, ],</div><div class='add'>+  [ 'defineclass', %q{ X = Class.new;  class Y &lt; X; true end }, ],</div><div class='add'>+  [ 'defineclass', %q{ X = Class.new;  class &lt;&lt; X;  true end }, ],</div><div class='add'>+  [ 'defineclass', &lt;&lt;-'},', ], # {</div><div class='add'>+    X = Class.new</div><div class='add'>+    Y = Class.new(X)</div><div class='add'>+    class Y &lt; X</div><div class='add'>+      true</div><div class='add'>+    end</div><div class='add'>+  },</div><div class='add'>+</div><div class='add'>+  [ 'opt_send_without_block', %q{ true.to_s }, ],</div><div class='add'>+  [ 'send',                   %q{ true.tap {|i| i.to_s } }, ],</div><div class='add'>+  [ 'leave',                  %q{ def x; true; end; x }, ],</div><div class='add'>+  [ 'invokesuper',            &lt;&lt;-'},', ], # {</div><div class='add'>+    class X &lt; String</div><div class='add'>+      def empty?</div><div class='add'>+        super                   # here</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+   X.new.empty?</div><div class='add'>+  },</div><div class='add'>+  [ 'invokeblock',            &lt;&lt;-'},', ], # {</div><div class='add'>+    def x</div><div class='add'>+      return yield self         # here</div><div class='add'>+    end</div><div class='add'>+    x do</div><div class='add'>+      true</div><div class='add'>+    end</div><div class='add'>+  },</div><div class='add'>+</div><div class='add'>+  [ 'opt_str_freeze', %q{ 'true'.freeze }, ],</div><div class='add'>+  [ 'opt_nil_p',      %q{ nil.nil? }, ],</div><div class='add'>+  [ 'opt_nil_p',      %q{ !Object.nil? }, ],</div><div class='add'>+  [ 'opt_nil_p',      %q{ Class.new{def nil?; true end}.new.nil? }, ],</div><div class='add'>+  [ 'opt_str_uminus', %q{ -'true' }, ],</div><div class='add'>+  [ 'opt_str_freeze', &lt;&lt;-'},', ], # {</div><div class='add'>+    class String</div><div class='add'>+      def freeze</div><div class='add'>+        true</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+    'true'.freeze</div><div class='add'>+  },</div><div class='add'>+</div><div class='add'>+  [ 'opt_newarray_max', %q{ [ ].max.nil? }, ],</div><div class='add'>+  [ 'opt_newarray_max', %q{ [1, x = 2, 3].max == 3 }, ],</div><div class='add'>+  [ 'opt_newarray_max', &lt;&lt;-'},', ], # {</div><div class='add'>+    class Array</div><div class='add'>+      def max</div><div class='add'>+        true</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+    [1, x = 2, 3].max</div><div class='add'>+  },</div><div class='add'>+  [ 'opt_newarray_min', %q{ [ ].min.nil? }, ],</div><div class='add'>+  [ 'opt_newarray_min', %q{ [3, x = 2, 1].min == 1 }, ],</div><div class='add'>+  [ 'opt_newarray_min', &lt;&lt;-'},', ], # {</div><div class='add'>+    class Array</div><div class='add'>+      def min</div><div class='add'>+        true</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+    [3, x = 2, 1].min</div><div class='add'>+  },</div><div class='add'>+</div><div class='add'>+  [ 'throw',        %q{ false.tap { break true } }, ],</div><div class='add'>+  [ 'branchif',     %q{ x = nil;  x ||= true }, ],</div><div class='add'>+  [ 'branchif',     %q{ x = true; x ||= nil; x }, ],</div><div class='add'>+  [ 'branchunless', %q{ x = 1;    x &amp;&amp;= true }, ],</div><div class='add'>+  [ 'branchunless', %q{ x = nil;  x &amp;&amp;= true; x.nil? }, ],</div><div class='add'>+  [ 'branchnil',    %q{ x = true; x&amp;.to_s }, ],</div><div class='add'>+  [ 'branchnil',    %q{ x = nil;  (x&amp;.to_s).nil? }, ],</div><div class='add'>+  [ 'jump',         &lt;&lt;-'},', ], # {</div><div class='add'>+    y = 1</div><div class='add'>+    x = if y == 0 then nil elsif y == 1 then true else nil end</div><div class='add'>+    x</div><div class='add'>+  },</div><div class='add'>+  [ 'jump',         &lt;&lt;-'},', ], # {</div><div class='add'>+    # ultra complicated situation: this ||= assignment only generates</div><div class='add'>+    # 15 instructions, not including the class definition.</div><div class='add'>+    class X; attr_accessor :x; end</div><div class='add'>+    x = X.new</div><div class='add'>+    x&amp;.x ||= true               # here</div><div class='add'>+  },</div><div class='add'>+</div><div class='add'>+  [ 'once', %q{ /#{true}/o =~ "true" &amp;&amp; $~ }, ],</div><div class='add'>+  [ 'once', &lt;&lt;-'},', ],         # {</div><div class='add'>+    def once expr</div><div class='add'>+      return /#{expr}/o         # here</div><div class='add'>+    end</div><div class='add'>+    x = once(true); x = once(false); x = once(nil);</div><div class='add'>+    x =~ "true" &amp;&amp; $~</div><div class='add'>+  },</div><div class='add'>+  [ 'once', &lt;&lt;-'},', ],         # {</div><div class='add'>+    # recursive once</div><div class='add'>+    def once n</div><div class='add'>+      return %r/#{</div><div class='add'>+        if n == 0</div><div class='add'>+          true</div><div class='add'>+        else</div><div class='add'>+          once(n-1)             # here</div><div class='add'>+        end</div><div class='add'>+      }/ox</div><div class='add'>+    end</div><div class='add'>+    x = once(128); x = once(7); x = once(16);</div><div class='add'>+    x =~ "true" &amp;&amp; $~</div><div class='add'>+  },</div><div class='add'>+  [ 'once', &lt;&lt;-'},', ],         # {</div><div class='add'>+    # inter-thread lockup situation</div><div class='add'>+    def once n</div><div class='add'>+      return Thread.start n do |m|</div><div class='add'>+        Thread.pass</div><div class='add'>+        next %r/#{</div><div class='add'>+          sleep m               # here</div><div class='add'>+          true</div><div class='add'>+        }/ox</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+    x = once(1); y = once(0.1); z = y.value</div><div class='add'>+    z =~ "true" &amp;&amp; $~</div><div class='add'>+  },</div><div class='add'>+</div><div class='add'>+  [ 'opt_case_dispatch', %q{ case   0 when 1.1 then false else true end }, ],</div><div class='add'>+  [ 'opt_case_dispatch', %q{ case 1.0 when 1.1 then false else true end }, ],</div><div class='add'>+</div><div class='add'>+  [ 'opt_plus',    %q{ 1 + 1 == 2 }, ],</div><div class='add'>+  if defined? $FIXNUM_MAX then</div><div class='add'>+    [ 'opt_plus',  %Q{ #{ $FIXNUM_MAX } + 1 == #{ $FIXNUM_MAX + 1 } }, ]</div><div class='add'>+  end,</div><div class='add'>+  [ 'opt_plus',    %q{ 1.0 + 1.0 == 2.0 }, ],</div><div class='add'>+  [ 'opt_plus',    %q{ x = +0.0.next_float; x + x &gt;= x }, ],</div><div class='add'>+  [ 'opt_plus',    %q{ 't' + 'rue' }, ],</div><div class='add'>+  [ 'opt_plus',    %q{ ( ['t'] + ['r', ['u', ['e'], ], ] ).join }, ],</div><div class='add'>+  [ 'opt_plus',    %q{ Time.at(1) + 1 == Time.at(2) }, ],</div><div class='add'>+  [ 'opt_minus',   %q{ 1 - 1 == 0 }, ],</div><div class='add'>+  if defined? $FIXNUM_MIN then</div><div class='add'>+    [ 'opt_minus', %Q{ #{ $FIXNUM_MIN } - 1 == #{ $FIXNUM_MIN - 1 } }, ]</div><div class='add'>+  end,</div><div class='add'>+  [ 'opt_minus',   %q{ 1.0 - 1.0 == 0.0 }, ],</div><div class='add'>+  [ 'opt_minus',   %q{ x = -0.0.prev_float; x - x == 0.0 }, ],</div><div class='add'>+  [ 'opt_minus',   %q{ ( [false, true] - [false] )[0] }, ],</div><div class='add'>+  [ 'opt_mult',    %q{ 1 * 1 == 1 }, ],</div><div class='add'>+  [ 'opt_mult',    %q{ 1.0 * 1.0 == 1.0 }, ],</div><div class='add'>+  [ 'opt_mult',    %q{ x = +0.0.next_float; x * x &lt;= x }, ],</div><div class='add'>+  [ 'opt_mult',    %q{ ( "ruet" * 3 )[7,4] }, ],</div><div class='add'>+  [ 'opt_div',     %q{ 1 / 1 == 1 }, ],</div><div class='add'>+  [ 'opt_div',     %q{ 1.0 / 1.0 == 1.0 }, ],</div><div class='add'>+  [ 'opt_div',     %q{ x = +0.0.next_float; x / x &gt;= x }, ],</div><div class='add'>+  [ 'opt_div',     %q{ x = 1/2r; x / x == 1 }, ],</div><div class='add'>+  [ 'opt_mod',     %q{ 1 % 1 == 0 }, ],</div><div class='add'>+  [ 'opt_mod',     %q{ 1.0 % 1.0 == 0.0 }, ],</div><div class='add'>+  [ 'opt_mod',     %q{ x = +0.0.next_float; x % x == 0.0 }, ],</div><div class='add'>+  [ 'opt_mod',     %q{ '%s' % [ true ] }, ],</div><div class='add'>+</div><div class='add'>+  [ 'opt_eq', %q{ 1 == 1 }, ],</div><div class='add'>+  [ 'opt_eq', &lt;&lt;-'},', ],       # {</div><div class='add'>+    class X; def == other; true; end; end</div><div class='add'>+    X.new == true</div><div class='add'>+  },</div><div class='add'>+  [ 'opt_neq', %q{ 1 != 0 }, ],</div><div class='add'>+  [ 'opt_neq', &lt;&lt;-'},', ],       # {</div><div class='add'>+    class X; def != other; true; end; end</div><div class='add'>+    X.new != true</div><div class='add'>+  },</div><div class='add'>+</div><div class='add'>+  [ 'opt_lt', %q{            -1   &lt;  0 }, ],</div><div class='add'>+  [ 'opt_lt', %q{            -1.0 &lt;  0.0 }, ],</div><div class='add'>+  [ 'opt_lt', %q{ -0.0.prev_float &lt;  0.0 }, ],</div><div class='add'>+  [ 'opt_lt', %q{              ?a &lt;  ?z }, ],</div><div class='add'>+  [ 'opt_le', %q{            -1   &lt;= 0 }, ],</div><div class='add'>+  [ 'opt_le', %q{            -1.0 &lt;= 0.0 }, ],</div><div class='add'>+  [ 'opt_le', %q{ -0.0.prev_float &lt;= 0.0 }, ],</div><div class='add'>+  [ 'opt_le', %q{              ?a &lt;= ?z }, ],</div><div class='add'>+  [ 'opt_gt', %q{             1   &gt;  0 }, ],</div><div class='add'>+  [ 'opt_gt', %q{             1.0 &gt;  0.0 }, ],</div><div class='add'>+  [ 'opt_gt', %q{ +0.0.next_float &gt;  0.0 }, ],</div><div class='add'>+  [ 'opt_gt', %q{              ?z &gt;  ?a }, ],</div><div class='add'>+  [ 'opt_ge', %q{             1   &gt;= 0 }, ],</div><div class='add'>+  [ 'opt_ge', %q{             1.0 &gt;= 0.0 }, ],</div><div class='add'>+  [ 'opt_ge', %q{ +0.0.next_float &gt;= 0.0 }, ],</div><div class='add'>+  [ 'opt_ge', %q{              ?z &gt;= ?a }, ],</div><div class='add'>+</div><div class='add'>+  [ 'opt_ltlt', %q{  '' &lt;&lt; 'true' }, ],</div><div class='add'>+  [ 'opt_ltlt', %q{ ([] &lt;&lt; 'true').join }, ],</div><div class='add'>+  [ 'opt_ltlt', %q{ (1 &lt;&lt; 31) == 2147483648 }, ],</div><div class='add'>+</div><div class='add'>+  [ 'opt_aref', %q{ ['true'][0] }, ],</div><div class='add'>+  [ 'opt_aref', %q{ { 0 =&gt; 'true'}[0] }, ],</div><div class='add'>+  [ 'opt_aref', %q{ 'true'[0] == ?t }, ],</div><div class='add'>+  [ 'opt_aset', %q{ [][0] = true }, ],</div><div class='add'>+  [ 'opt_aset', %q{ {}[0] = true }, ],</div><div class='add'>+  [ 'opt_aset', %q{ x = 'frue'; x[0] = 't'; x }, ],</div><div class='add'>+  [ 'opt_aset', &lt;&lt;-'},', ], # {</div><div class='add'>+    # opt_aref / opt_aset mixup situation</div><div class='add'>+    class X; def x; {}; end; end</div><div class='add'>+    x = X.new</div><div class='add'>+    x&amp;.x[true] ||= true         # here</div><div class='add'>+  },</div><div class='add'>+</div><div class='add'>+  [ 'opt_aref_with', %q{ { 'true' =&gt; true }['true'] }, ],</div><div class='add'>+  [ 'opt_aref_with', %q{ Struct.new(:nil).new['nil'].nil? }, ],</div><div class='add'>+  [ 'opt_aset_with', %q{ {}['true'] = true }, ],</div><div class='add'>+  [ 'opt_aset_with', %q{ Struct.new(:true).new['true'] = true }, ],</div><div class='add'>+</div><div class='add'>+  [ 'opt_length',  %q{   'true'       .length == 4 }, ],</div><div class='add'>+  [ 'opt_length',  %q{   :true        .length == 4 }, ],</div><div class='add'>+  [ 'opt_length',  %q{ [ 'true' ]     .length == 1 }, ],</div><div class='add'>+  [ 'opt_length',  %q{ { 'true' =&gt; 1 }.length == 1 }, ],</div><div class='add'>+  [ 'opt_size',    %q{   'true'       .size   == 4 }, ],</div><div class='add'>+  [ 'opt_size',    %q{               1.size   &gt;= 4 }, ],</div><div class='add'>+  [ 'opt_size',    %q{ [ 'true' ]     .size   == 1 }, ],</div><div class='add'>+  [ 'opt_size',    %q{ { 'true' =&gt; 1 }.size   == 1 }, ],</div><div class='add'>+  [ 'opt_empty_p', %q{ ''.empty? }, ],</div><div class='add'>+  [ 'opt_empty_p', %q{ [].empty? }, ],</div><div class='add'>+  [ 'opt_empty_p', %q{ {}.empty? }, ],</div><div class='add'>+  [ 'opt_empty_p', %q{ Queue.new.empty? }, ],</div><div class='add'>+</div><div class='add'>+  [ 'opt_succ',  %q{ 1.succ == 2 }, ],</div><div class='add'>+  if defined? $FIXNUM_MAX then</div><div class='add'>+    [ 'opt_succ',%Q{ #{ $FIXNUM_MAX }.succ == #{ $FIXNUM_MAX + 1 } }, ]</div><div class='add'>+  end,</div><div class='add'>+  [ 'opt_succ',  %q{ '1'.succ == '2' }, ],</div><div class='add'>+</div><div class='add'>+  [ 'opt_not',  %q{ ! false }, ],</div><div class='add'>+  [ 'opt_neq', &lt;&lt;-'},', ],       # {</div><div class='add'>+    class X; def !; true; end; end</div><div class='add'>+    ! X.new</div><div class='add'>+  },</div><div class='add'>+</div><div class='add'>+  [ 'opt_regexpmatch2',  %q{ /true/ =~ 'true' &amp;&amp; $~ }, ],</div><div class='add'>+  [ 'opt_regexpmatch2', &lt;&lt;-'},', ],       # {</div><div class='add'>+    class Regexp; def =~ other; true; end; end</div><div class='add'>+    /true/ =~ 'true'</div><div class='add'>+  },</div><div class='add'>+  [ 'opt_regexpmatch2',  %q{ 'true' =~ /true/ &amp;&amp; $~ }, ],</div><div class='add'>+  [ 'opt_regexpmatch2', &lt;&lt;-'},', ],       # {</div><div class='add'>+    class String; def =~ other; true; end; end</div><div class='add'>+    'true' =~ /true/</div><div class='add'>+  },</div><div class='add'>+]</div><div class='add'>+</div><div class='add'>+# normal path</div><div class='add'>+tests.compact.each do |(insn, expr, *a)|</div><div class='add'>+  if a.last.is_a?(Hash)</div><div class='add'>+    a = a.dup</div><div class='add'>+    kw = a.pop</div><div class='add'>+    assert_equal 'true', expr, insn, *a, **kw</div><div class='add'>+  else</div><div class='add'>+    assert_equal 'true', expr, insn, *a</div><div class='add'>+  end</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+# with trace</div><div class='add'>+tests.compact.each {|(insn, expr, *a)|</div><div class='add'>+  progn = "set_trace_func(proc{})\n" + expr</div><div class='add'>+  if a.last.is_a?(Hash)</div><div class='add'>+    a = a.dup</div><div class='add'>+    kw = a.pop</div><div class='add'>+    assert_equal 'true', progn, 'trace_' + insn, *a, **kw</div><div class='add'>+  else</div><div class='add'>+    assert_equal 'true', progn, 'trace_' + insn, *a</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_normal_exit("#{&lt;&lt;-"begin;"}\n#{&lt;&lt;-'end;'}")</div><div class='add'>+begin;</div><div class='add'>+  RubyVM::InstructionSequence.compile("", debug_level: 5)</div><div class='add'>+end;</div><div class='head'>diff --git a/bootstraptest/test_io.rb b/bootstraptest/test_io.rb<br/>new file mode 100644<br/>index 0000000000..89c00d0b88<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bootstraptest/test_io.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>bootstraptest/test_io.rb</a></div><div class='hunk'>@@ -0,0 +1,112 @@</div><div class='add'>+assert_finish 5, %q{</div><div class='add'>+  r, w = IO.pipe</div><div class='add'>+  t1 = Thread.new { r.sysread(1) }</div><div class='add'>+  t2 = Thread.new { r.sysread(1) }</div><div class='add'>+  sleep 0.01 until t1.stop? and t2.stop?</div><div class='add'>+  w.write "a"</div><div class='add'>+  w.write "a"</div><div class='add'>+}, '[ruby-dev:31866]'</div><div class='add'>+</div><div class='add'>+assert_finish 10, %q{</div><div class='add'>+  begin</div><div class='add'>+    require "io/nonblock"</div><div class='add'>+    require "timeout"</div><div class='add'>+    timeout(3) do</div><div class='add'>+      r, w = IO.pipe</div><div class='add'>+      w.nonblock?</div><div class='add'>+      w.nonblock = true</div><div class='add'>+      w.write_nonblock("a" * 100000)</div><div class='add'>+      w.nonblock = false</div><div class='add'>+      t1 = Thread.new { w.write("b" * 4096) }</div><div class='add'>+      t2 = Thread.new { w.write("c" * 4096) }</div><div class='add'>+      sleep 0.5</div><div class='add'>+      r.sysread(4096).length</div><div class='add'>+      sleep 0.5</div><div class='add'>+      r.sysread(4096).length</div><div class='add'>+      t1.join</div><div class='add'>+      t2.join</div><div class='add'>+    end</div><div class='add'>+  rescue LoadError, Timeout::Error, NotImplementedError</div><div class='add'>+  end</div><div class='add'>+}, '[ruby-dev:32566]'</div><div class='add'>+</div><div class='add'>+assert_finish 1, %q{</div><div class='add'>+  r, w = IO.pipe</div><div class='add'>+  Thread.new {</div><div class='add'>+    w &lt;&lt; "ab"</div><div class='add'>+    sleep 0.01</div><div class='add'>+    w &lt;&lt; "ab"</div><div class='add'>+  }</div><div class='add'>+  r.gets("abab")</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  require 'tmpdir'</div><div class='add'>+  begin</div><div class='add'>+    tmpname = "#{Dir.tmpdir}/ruby-btest-#{$$}-#{rand(0x100000000).to_s(36)}"</div><div class='add'>+    rw = File.open(tmpname, File::RDWR|File::CREAT|File::EXCL)</div><div class='add'>+  rescue Errno::EEXIST</div><div class='add'>+    retry</div><div class='add'>+  end</div><div class='add'>+  save = STDIN.dup</div><div class='add'>+  STDIN.reopen(rw)</div><div class='add'>+  STDIN.reopen(save)</div><div class='add'>+  rw.close</div><div class='add'>+  File.unlink(tmpname)</div><div class='add'>+  :ok</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  require 'tmpdir'</div><div class='add'>+  begin</div><div class='add'>+    tmpname = "#{Dir.tmpdir}/ruby-btest-#{$$}-#{rand(0x100000000).to_s(36)}"</div><div class='add'>+    rw = File.open(tmpname, File::RDWR|File::CREAT|File::EXCL)</div><div class='add'>+  rescue Errno::EEXIST</div><div class='add'>+    retry</div><div class='add'>+  end</div><div class='add'>+  save = STDIN.dup</div><div class='add'>+  STDIN.reopen(rw)</div><div class='add'>+  STDIN.print "a"</div><div class='add'>+  STDIN.reopen(save)</div><div class='add'>+  rw.close</div><div class='add'>+  File.unlink(tmpname)</div><div class='add'>+  :ok</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  dup = STDIN.dup</div><div class='add'>+  dupfd = dup.fileno</div><div class='add'>+  dupfd == STDIN.dup.fileno ? :ng : :ok</div><div class='add'>+}, '[ruby-dev:46834]'</div><div class='add'>+</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  ARGF.set_encoding "foo"</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+10.times do</div><div class='add'>+  assert_normal_exit %q{</div><div class='add'>+    at_exit { p :foo }</div><div class='add'>+</div><div class='add'>+    megacontent = "abc" * 12345678</div><div class='add'>+    #File.open("megasrc", "w") {|f| f &lt;&lt; megacontent }</div><div class='add'>+</div><div class='add'>+    t0 = Thread.main</div><div class='add'>+    Thread.new { sleep 0.001 until t0.stop?; Process.kill(:INT, $$) }</div><div class='add'>+</div><div class='add'>+    r1, w1 = IO.pipe</div><div class='add'>+    r2, w2 = IO.pipe</div><div class='add'>+    t1 = Thread.new { w1 &lt;&lt; megacontent; w1.close }</div><div class='add'>+    t2 = Thread.new { r2.read; r2.close }</div><div class='add'>+    IO.copy_stream(r1, w2) rescue nil</div><div class='add'>+    w2.close</div><div class='add'>+    r1.close</div><div class='add'>+    t1.join</div><div class='add'>+    t2.join</div><div class='add'>+  }, 'megacontent-copy_stream', ["INT"], :timeout =&gt; 10 or break</div><div class='add'>+end</div><div class='add'>+</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  r, w = IO.pipe</div><div class='add'>+  STDOUT.reopen(w)</div><div class='add'>+  STDOUT.reopen(__FILE__, "r")</div><div class='add'>+}, '[ruby-dev:38131]'</div><div class='head'>diff --git a/bootstraptest/test_jump.rb b/bootstraptest/test_jump.rb<br/>new file mode 100644<br/>index 0000000000..18a2737ea3<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bootstraptest/test_jump.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>bootstraptest/test_jump.rb</a></div><div class='hunk'>@@ -0,0 +1,314 @@</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  def m</div><div class='add'>+    :ng1</div><div class='add'>+    mm{</div><div class='add'>+      yield</div><div class='add'>+    }</div><div class='add'>+    :ng2</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def mm</div><div class='add'>+    :ng3</div><div class='add'>+    yield</div><div class='add'>+    :ng4</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  m{</div><div class='add'>+    break :ok</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  3.times{</div><div class='add'>+    break :ok</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{}, %q{</div><div class='add'>+  catch(:foo){</div><div class='add'>+    throw :foo</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{false}, %q{</div><div class='add'>+  catch(:foo){</div><div class='add'>+    throw :foo, false</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{}, %q{</div><div class='add'>+  catch(:foo){</div><div class='add'>+    throw :foo, nil</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  catch(:foo){</div><div class='add'>+    throw :foo, :ok</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{}, %q{</div><div class='add'>+  catch(:foo){</div><div class='add'>+    1.times{</div><div class='add'>+      throw :foo</div><div class='add'>+    }</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  catch(:foo){</div><div class='add'>+    1.times{</div><div class='add'>+      throw :foo, :ok</div><div class='add'>+    }</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  catch(:foo){</div><div class='add'>+    catch(:bar){</div><div class='add'>+      throw :foo, :ok</div><div class='add'>+    }</div><div class='add'>+    :ng</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  catch(:foo){</div><div class='add'>+    catch(:bar){</div><div class='add'>+      1.times{</div><div class='add'>+        throw :foo, :ok</div><div class='add'>+      }</div><div class='add'>+    }</div><div class='add'>+    :ng</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{2}, %q{</div><div class='add'>+  module Enumerable</div><div class='add'>+    def all_?</div><div class='add'>+      self.each{|e|</div><div class='add'>+        unless yield(e)</div><div class='add'>+          return false</div><div class='add'>+        end</div><div class='add'>+      }</div><div class='add'>+      true</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  xxx = 0</div><div class='add'>+  [1,2].each{|bi|</div><div class='add'>+    [3,4].each{|bj|</div><div class='add'>+      [true, nil, true].all_?{|be| be}</div><div class='add'>+      break</div><div class='add'>+    }</div><div class='add'>+    xxx += 1</div><div class='add'>+  }</div><div class='add'>+  xxx</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  def m</div><div class='add'>+    yield</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  m{</div><div class='add'>+    begin</div><div class='add'>+    ensure</div><div class='add'>+      break :ok</div><div class='add'>+    end</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  def m</div><div class='add'>+    yield</div><div class='add'>+    :ok</div><div class='add'>+  end</div><div class='add'>+  i=0</div><div class='add'>+  m{</div><div class='add'>+    if i&gt;10</div><div class='add'>+      i*i</div><div class='add'>+    else</div><div class='add'>+      i+=1</div><div class='add'>+      next</div><div class='add'>+    end</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  def m</div><div class='add'>+    yield</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  m{</div><div class='add'>+    next :ok</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{131}, %q{</div><div class='add'>+  def m</div><div class='add'>+    yield + 10</div><div class='add'>+  end</div><div class='add'>+  i=0</div><div class='add'>+  m{</div><div class='add'>+    if i&gt;10</div><div class='add'>+      i*i</div><div class='add'>+    else</div><div class='add'>+      i+=1</div><div class='add'>+      redo</div><div class='add'>+    end</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_match %r{Invalid retry}, %q{</div><div class='add'>+STDERR.reopen(STDOUT)</div><div class='add'>+begin</div><div class='add'>+  eval %q{</div><div class='add'>+    1.times{</div><div class='add'>+      retry</div><div class='add'>+    }</div><div class='add'>+  }</div><div class='add'>+rescue SyntaxError =&gt; e</div><div class='add'>+  e.message</div><div class='add'>+end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{3}, %q{</div><div class='add'>+  def m</div><div class='add'>+    return 3</div><div class='add'>+  end</div><div class='add'>+  m</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  def m</div><div class='add'>+    :ng1</div><div class='add'>+    mm{</div><div class='add'>+      return :ok</div><div class='add'>+    }</div><div class='add'>+    :ng2</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def mm</div><div class='add'>+    :ng3</div><div class='add'>+    yield</div><div class='add'>+    :ng4</div><div class='add'>+  end</div><div class='add'>+  m</div><div class='add'>+}</div><div class='add'>+assert_equal %q{100}, %q{</div><div class='add'>+  $i = 0</div><div class='add'>+  def m</div><div class='add'>+    begin</div><div class='add'>+      iter{</div><div class='add'>+        return</div><div class='add'>+      }</div><div class='add'>+    ensure</div><div class='add'>+      $i = 100</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def iter</div><div class='add'>+    yield</div><div class='add'>+  end</div><div class='add'>+  m</div><div class='add'>+  $i</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  def m</div><div class='add'>+    begin</div><div class='add'>+      raise</div><div class='add'>+    rescue</div><div class='add'>+      return :ok</div><div class='add'>+    end</div><div class='add'>+    :ng</div><div class='add'>+  end</div><div class='add'>+  m</div><div class='add'>+}</div><div class='add'>+assert_equal %q{1}, %q{</div><div class='add'>+  def m</div><div class='add'>+    begin</div><div class='add'>+      raise</div><div class='add'>+    rescue</div><div class='add'>+      return 1</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  m</div><div class='add'>+}</div><div class='add'>+assert_equal %q{1}, %q{</div><div class='add'>+  def m</div><div class='add'>+    begin</div><div class='add'>+      #</div><div class='add'>+    ensure</div><div class='add'>+      return 1</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  m</div><div class='add'>+}</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  begin</div><div class='add'>+    catch {|t| throw t, :ok }</div><div class='add'>+  rescue ArgumentError</div><div class='add'>+    :ng</div><div class='add'>+  end</div><div class='add'>+}, '[ruby-dev:31609]'</div><div class='add'>+</div><div class='add'>+assert_equal "1", %q{</div><div class='add'>+  catch do |t|</div><div class='add'>+    begin</div><div class='add'>+      throw t, 1</div><div class='add'>+      2</div><div class='add'>+    ensure</div><div class='add'>+      3</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+}, "[ruby-dev:31698]"</div><div class='add'>+</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  f = 0</div><div class='add'>+  1.times do</div><div class='add'>+    begin</div><div class='add'>+      f += 1</div><div class='add'>+    ensure</div><div class='add'>+      redo unless f &gt; 2</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  -&gt; do</div><div class='add'>+    1.times do</div><div class='add'>+      begin</div><div class='add'>+        raise</div><div class='add'>+      rescue</div><div class='add'>+        return</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  end.call</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  while true</div><div class='add'>+    begin</div><div class='add'>+      raise</div><div class='add'>+      next</div><div class='add'>+    rescue</div><div class='add'>+    end</div><div class='add'>+    break</div><div class='add'>+  end</div><div class='add'>+}, '[ruby-core:28172]'</div><div class='add'>+</div><div class='add'>+assert_equal "true", %q{</div><div class='add'>+  class Object</div><div class='add'>+    def return_eigenclass</div><div class='add'>+      class &lt;&lt; self</div><div class='add'>+        return self</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  s = "foo"</div><div class='add'>+  s.return_eigenclass == class &lt;&lt; s; self; end</div><div class='add'>+}, '[ruby-core:21379]'</div><div class='add'>+</div><div class='add'>+assert_match %r{Invalid yield}, %q{</div><div class='add'>+STDERR.reopen(STDOUT)</div><div class='add'>+begin</div><div class='add'>+  eval %q{</div><div class='add'>+    class Object</div><div class='add'>+      def yield_eigenclass</div><div class='add'>+        class &lt;&lt; self</div><div class='add'>+          yield self</div><div class='add'>+        end</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  }</div><div class='add'>+rescue SyntaxError =&gt; e</div><div class='add'>+  e.message</div><div class='add'>+end</div><div class='add'>+}</div><div class='head'>diff --git a/bootstraptest/test_literal.rb b/bootstraptest/test_literal.rb<br/>new file mode 100644<br/>index 0000000000..9b3c10d519<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bootstraptest/test_literal.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>bootstraptest/test_literal.rb</a></div><div class='hunk'>@@ -0,0 +1,247 @@</div><div class='add'>+# empty program</div><div class='add'>+assert_equal '',                ''</div><div class='add'>+assert_equal '',                ' '</div><div class='add'>+assert_equal '',                "\n"</div><div class='add'>+</div><div class='add'>+# special const</div><div class='add'>+assert_equal 'true',            'true'</div><div class='add'>+assert_equal 'TrueClass',       'true.class'</div><div class='add'>+assert_equal 'false',           'false'</div><div class='add'>+assert_equal 'FalseClass',      'false.class'</div><div class='add'>+assert_equal '',                'nil'</div><div class='add'>+assert_equal 'nil',             'nil.inspect'</div><div class='add'>+assert_equal 'NilClass',        'nil.class'</div><div class='add'>+assert_equal 'sym',             ':sym'</div><div class='add'>+assert_equal ':sym',            ':sym.inspect'</div><div class='add'>+assert_equal 'Symbol',          ':sym.class'</div><div class='add'>+assert_equal '1234',            '1234'</div><div class='add'>+assert_equal 'Integer',         '1234.class'</div><div class='add'>+assert_equal '1234',            '1_2_3_4'</div><div class='add'>+assert_equal 'Integer',         '1_2_3_4.class'</div><div class='add'>+assert_equal '18',              '0x12'</div><div class='add'>+assert_equal 'Integer',         '0x12.class'</div><div class='add'>+assert_equal '15',              '0o17'</div><div class='add'>+assert_equal 'Integer',         '0o17.class'</div><div class='add'>+assert_equal '5',               '0b101'</div><div class='add'>+assert_equal 'Integer',         '0b101.class'</div><div class='add'>+assert_equal '123456789012345678901234567890', '123456789012345678901234567890'</div><div class='add'>+assert_equal 'Integer',         '123456789012345678901234567890.class'</div><div class='add'>+assert_equal '2.0',             '2.0'</div><div class='add'>+assert_equal 'Float',           '1.3.class'</div><div class='add'>+</div><div class='add'>+# self</div><div class='add'>+assert_equal 'main',            'self'</div><div class='add'>+assert_equal 'Object',          'self.class'</div><div class='add'>+</div><div class='add'>+# string literal</div><div class='add'>+assert_equal 'a',               '?a'</div><div class='add'>+assert_equal 'String',          '?a.class'</div><div class='add'>+assert_equal 'A',               '?A'</div><div class='add'>+assert_equal 'String',          '?A.class'</div><div class='add'>+assert_equal "\n",              '?\n'</div><div class='add'>+assert_equal 'String',          '?\n.class'</div><div class='add'>+assert_equal ' ',               '?\ '</div><div class='add'>+assert_equal 'String',          '?\ .class'</div><div class='add'>+assert_equal 'string',          "'string'"</div><div class='add'>+assert_equal 'string',          '"string"'</div><div class='add'>+assert_equal 'string',          '%(string)'</div><div class='add'>+assert_equal 'string',          '%q(string)'</div><div class='add'>+assert_equal 'string',          '%Q(string)'</div><div class='add'>+assert_equal 'string string',   '"string string"'</div><div class='add'>+assert_equal ' ',               '" "'</div><div class='add'>+assert_equal "\0",              '"\0"'</div><div class='add'>+assert_equal "\1",              '"\1"'</div><div class='add'>+assert_equal "3",               '"\x33"'</div><div class='add'>+assert_equal "\n",              '"\n"'</div><div class='add'>+</div><div class='add'>+# dynamic string literal</div><div class='add'>+assert_equal '2',               '"#{1 + 1}"'</div><div class='add'>+assert_equal '16',              '"#{2 ** 4}"'</div><div class='add'>+assert_equal 'string',          's = "string"; "#{s}"'</div><div class='add'>+</div><div class='add'>+# dynamic symbol literal</div><div class='add'>+assert_equal 'a3c',             ':"a#{1+2}c"'</div><div class='add'>+assert_equal ':a3c',            ':"a#{1+2}c".inspect'</div><div class='add'>+assert_equal 'Symbol',          ':"a#{1+2}c".class'</div><div class='add'>+</div><div class='add'>+# xstring</div><div class='add'>+assert_equal "foo\n",           %q(`echo foo`)</div><div class='add'>+assert_equal "foo\n",           %q(s = "foo"; `echo #{s}`)</div><div class='add'>+</div><div class='add'>+# regexp</div><div class='add'>+assert_equal '',                '//.source'</div><div class='add'>+assert_equal 'Regexp',          '//.class'</div><div class='add'>+assert_equal '0',               '// =~ "a"'</div><div class='add'>+assert_equal '0',               '// =~ ""'</div><div class='add'>+assert_equal 'a',               '/a/.source'</div><div class='add'>+assert_equal 'Regexp',          '/a/.class'</div><div class='add'>+assert_equal '0',               '/a/ =~ "a"'</div><div class='add'>+assert_equal '0',               '/test/ =~ "test"'</div><div class='add'>+assert_equal '',                '/test/ =~ "tes"'</div><div class='add'>+assert_equal '0',               're = /test/; re =~ "test"'</div><div class='add'>+assert_equal '0',               'str = "test"; /test/ =~ str'</div><div class='add'>+assert_equal '0',               're = /test/; str = "test"; re =~ str'</div><div class='add'>+</div><div class='add'>+# dynamic regexp</div><div class='add'>+assert_equal 'regexp',          %q(/re#{'ge'}xp/.source)</div><div class='add'>+assert_equal 'Regexp',          %q(/re#{'ge'}xp/.class)</div><div class='add'>+</div><div class='add'>+# array</div><div class='add'>+assert_equal 'Array',           '[].class'</div><div class='add'>+assert_equal '0',               '[].size'</div><div class='add'>+assert_equal '0',               '[].length'</div><div class='add'>+assert_equal '[]',              '[].inspect'</div><div class='add'>+assert_equal 'Array',           '[0].class'</div><div class='add'>+assert_equal '1',               '[3].size'</div><div class='add'>+assert_equal '[3]',             '[3].inspect'</div><div class='add'>+assert_equal '3',               'a = [3]; a[0]'</div><div class='add'>+assert_equal 'Array',           '[1,2].class'</div><div class='add'>+assert_equal '2',               '[1,2].size'</div><div class='add'>+assert_equal '[1, 2]',          '[1,2].inspect'</div><div class='add'>+assert_equal 'Array',           '[1,2,3,4,5].class'</div><div class='add'>+assert_equal '5',               '[1,2,3,4,5].size'</div><div class='add'>+assert_equal '[1, 2, 3, 4, 5]', '[1,2,3,4,5].inspect'</div><div class='add'>+assert_equal '1',               'a = [1,2]; a[0]'</div><div class='add'>+assert_equal '2',               'a = [1,2]; a[1]'</div><div class='add'>+assert_equal 'Array',           'a = [1 + 2, 3 + 4, 5 + 6]; a.class'</div><div class='add'>+assert_equal '[3, 7, 11]',      'a = [1 + 2, 3 + 4, 5 + 6]; a.inspect'</div><div class='add'>+assert_equal '7',               'a = [1 + 2, 3 + 4, 5 + 6]; a[1]'</div><div class='add'>+assert_equal '1',               '([0][0] += 1)'</div><div class='add'>+assert_equal '1',               '([2][0] -= 1)'</div><div class='add'>+assert_equal 'Array',           'a = [obj = Object.new]; a.class'</div><div class='add'>+assert_equal '1',               'a = [obj = Object.new]; a.size'</div><div class='add'>+assert_equal 'true',            'a = [obj = Object.new]; a[0] == obj'</div><div class='add'>+assert_equal '5',               'a = [1,2,3]; a[1] = 5; a[1]'</div><div class='add'>+assert_equal 'bar',             '[*:foo];:bar'</div><div class='add'>+assert_equal '[1, 2]',          'def nil.to_a; [2]; end; [1, *nil]'</div><div class='add'>+assert_equal '[1, 2]',          'def nil.to_a; [1, 2]; end; [*nil]'</div><div class='add'>+assert_equal '[0, 1, {2=&gt;3}]',  '[0, *[1], 2=&gt;3]', "[ruby-dev:31592]"</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+# hash</div><div class='add'>+assert_equal 'Hash',            '{}.class'</div><div class='add'>+assert_equal '{}',              '{}.inspect'</div><div class='add'>+assert_equal 'Hash',            '{1=&gt;2}.class'</div><div class='add'>+assert_equal '{1=&gt;2}',          '{1=&gt;2}.inspect'</div><div class='add'>+assert_equal '2',               'h = {1 =&gt; 2}; h[1]'</div><div class='add'>+assert_equal '0',               'h = {1 =&gt; 2}; h.delete(1); h.size'</div><div class='add'>+assert_equal '',                'h = {1 =&gt; 2}; h.delete(1); h[1]'</div><div class='add'>+assert_equal '2',               'h = {"string" =&gt; "literal", "goto" =&gt; "hell"}; h.size'</div><div class='add'>+assert_equal 'literal', 'h = {"string"=&gt;"literal", "goto"=&gt;"hell"}; h["string"]'</div><div class='add'>+assert_equal 'hell', 'h = {"string"=&gt;"literal", "goto"=&gt;"hell"}; h["goto"]'</div><div class='add'>+</div><div class='add'>+# range</div><div class='add'>+assert_equal 'Range',           '(1..2).class'</div><div class='add'>+assert_equal '1..2',            '(1..2).inspect'</div><div class='add'>+assert_equal '1',               '(1..2).begin'</div><div class='add'>+assert_equal '2',               '(1..2).end'</div><div class='add'>+assert_equal 'false',           '(1..2).exclude_end?'</div><div class='add'>+assert_equal 'Range',           'r = 1..2; r.class'</div><div class='add'>+assert_equal '1..2',            'r = 1..2; r.inspect'</div><div class='add'>+assert_equal '1',               'r = 1..2; r.begin'</div><div class='add'>+assert_equal '2',               'r = 1..2; r.end'</div><div class='add'>+assert_equal 'false',           'r = 1..2; r.exclude_end?'</div><div class='add'>+assert_equal 'Range',           '(1...3).class'</div><div class='add'>+assert_equal '1...3',           '(1...3).inspect'</div><div class='add'>+assert_equal '1',               '(1...3).begin'</div><div class='add'>+assert_equal '3',               '(1...3).end'</div><div class='add'>+assert_equal 'true',            '(1...3).exclude_end?'</div><div class='add'>+assert_equal 'Range',           'r = (1...3); r.class'</div><div class='add'>+assert_equal '1...3',           'r = (1...3); r.inspect'</div><div class='add'>+assert_equal '1',               'r = (1...3); r.begin'</div><div class='add'>+assert_equal '3',               'r = (1...3); r.end'</div><div class='add'>+assert_equal 'true',            'r = (1...3); r.exclude_end?'</div><div class='add'>+assert_equal 'Range',           'r = (1+2 .. 3+4); r.class'</div><div class='add'>+assert_equal '3..7',            'r = (1+2 .. 3+4); r.inspect'</div><div class='add'>+assert_equal '3',               'r = (1+2 .. 3+4); r.begin'</div><div class='add'>+assert_equal '7',               'r = (1+2 .. 3+4); r.end'</div><div class='add'>+assert_equal 'false',           'r = (1+2 .. 3+4); r.exclude_end?'</div><div class='add'>+assert_equal 'Range',           'r = (1+2 ... 3+4); r.class'</div><div class='add'>+assert_equal '3...7',           'r = (1+2 ... 3+4); r.inspect'</div><div class='add'>+assert_equal '3',               'r = (1+2 ... 3+4); r.begin'</div><div class='add'>+assert_equal '7',               'r = (1+2 ... 3+4); r.end'</div><div class='add'>+assert_equal 'true',            'r = (1+2 ... 3+4); r.exclude_end?'</div><div class='add'>+assert_equal 'Range',           'r = ("a".."c"); r.class'</div><div class='add'>+assert_equal '"a".."c"',        'r = ("a".."c"); r.inspect'</div><div class='add'>+assert_equal 'a',               'r = ("a".."c"); r.begin'</div><div class='add'>+assert_equal 'c',               'r = ("a".."c"); r.end'</div><div class='add'>+</div><div class='add'>+assert_equal 'String',          '__FILE__.class'</div><div class='add'>+assert_equal 'Integer',         '__LINE__.class'</div><div class='add'>+</div><div class='add'>+###</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  # this cause "called on terminated object".</div><div class='add'>+  ObjectSpace.each_object(Module) {|m| m.name.inspect }</div><div class='add'>+  :ok</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  begin</div><div class='add'>+    r = 0**-1</div><div class='add'>+    r + r</div><div class='add'>+  rescue</div><div class='add'>+  end</div><div class='add'>+}, '[ruby-dev:34524]'</div><div class='add'>+</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  begin</div><div class='add'>+    r = Marshal.load("\x04\bU:\rRational[\ai\x06i\x05")</div><div class='add'>+    r + r</div><div class='add'>+  rescue</div><div class='add'>+  end</div><div class='add'>+}, '[ruby-dev:34536]'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  "#{}""#{}ok"</div><div class='add'>+}, '[ruby-dev:38968]'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  "#{}o""#{}k""#{}"</div><div class='add'>+}, '[ruby-core:25284]'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{ #  long array literal</div><div class='add'>+  x = nil</div><div class='add'>+  eval "a = [#{(1..10_000).map{'x'}.join(", ")}]"</div><div class='add'>+  :ok</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{ #  long array literal (optimized)</div><div class='add'>+  eval "a = [#{(1..10_000).to_a.join(", ")}]"</div><div class='add'>+  :ok</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{ #  long hash literal</div><div class='add'>+  x = nil</div><div class='add'>+  eval "a = {#{(1..10_000).map{|n| "#{n} =&gt; x"}.join(', ')}}"</div><div class='add'>+  :ok</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{ #  long hash literal (optimized)</div><div class='add'>+  eval "a = {#{(1..10_000).map{|n| "#{n} =&gt; #{n}"}.join(', ')}}"</div><div class='add'>+  :ok</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{ #  Bug #15536</div><div class='add'>+  eval &lt;&lt;-END</div><div class='add'>+    {</div><div class='add'>+      **{</div><div class='add'>+        a0: nil, a1: nil, a2: nil, a3: nil, a4: nil, a5: nil, a6: nil, a7: nil, a8: nil,</div><div class='add'>+      },</div><div class='add'>+      a0: nil, a1: nil, a2: nil, a3: nil, a4: nil, a5: nil, a6: nil, a7: nil, a8: nil,</div><div class='add'>+      **{</div><div class='add'>+        c: nil</div><div class='add'>+      },</div><div class='add'>+      b0: nil, b1: nil, b2: nil, b3: nil, b4: nil, b5: nil, b6: nil, b7: nil, b8: nil,</div><div class='add'>+      b9: nil, b10: nil, b11: nil, b12: nil, b13: nil, b14: nil, b15: nil, b16: nil,</div><div class='add'>+      b17: nil, b18: nil, b19: nil, b20: nil, b21: nil,</div><div class='add'>+    }</div><div class='add'>+  END</div><div class='add'>+  :ok</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  [print(:ok), exit] # void literal with side-effect</div><div class='add'>+  :dummy</div><div class='add'>+}</div><div class='head'>diff --git a/bootstraptest/test_literal_suffix.rb b/bootstraptest/test_literal_suffix.rb<br/>new file mode 100644<br/>index 0000000000..c36fa7078f<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bootstraptest/test_literal_suffix.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>bootstraptest/test_literal_suffix.rb</a></div><div class='hunk'>@@ -0,0 +1,54 @@</div><div class='add'>+# numbers with suffix</div><div class='add'>+assert_equal '0/1',             '0r'</div><div class='add'>+assert_equal 'Rational',        '0r.class'</div><div class='add'>+assert_equal '1/1',             '1r'</div><div class='add'>+assert_equal 'Rational',        '1r.class'</div><div class='add'>+assert_equal '-1/1',            '-1r'</div><div class='add'>+assert_equal 'Rational',        '(-1r).class'</div><div class='add'>+assert_equal '1/1',             '0x1r'</div><div class='add'>+assert_equal 'Rational',        '0x1r.class'</div><div class='add'>+assert_equal '1/1',             '0b1r'</div><div class='add'>+assert_equal 'Rational',        '0b1r.class'</div><div class='add'>+assert_equal '1/1',             '0d1r'</div><div class='add'>+assert_equal 'Rational',        '0d1r.class'</div><div class='add'>+assert_equal '1/1',             '0o1r'</div><div class='add'>+assert_equal 'Rational',        '0o1r.class'</div><div class='add'>+assert_equal '1/1',             '01r'</div><div class='add'>+assert_equal 'Rational',        '01r.class'</div><div class='add'>+assert_equal '6/5',             '1.2r'</div><div class='add'>+assert_equal 'Rational',        '1.2r.class'</div><div class='add'>+assert_equal '-6/5',            '-1.2r'</div><div class='add'>+assert_equal 'Rational',        '(-1.2r).class'</div><div class='add'>+assert_equal '0+0i',            '0i'</div><div class='add'>+assert_equal 'Complex',         '0i.class'</div><div class='add'>+assert_equal '0+1i',            '1i'</div><div class='add'>+assert_equal 'Complex',         '1i.class'</div><div class='add'>+assert_equal '0+1i',            '0x1i'</div><div class='add'>+assert_equal 'Complex',         '0x1i.class'</div><div class='add'>+assert_equal '0+1i',            '0b1i'</div><div class='add'>+assert_equal 'Complex',         '0b1i.class'</div><div class='add'>+assert_equal '0+1i',            '0d1i'</div><div class='add'>+assert_equal 'Complex',         '0d1i.class'</div><div class='add'>+assert_equal '0+1i',            '0o1i'</div><div class='add'>+assert_equal 'Complex',         '0o1i.class'</div><div class='add'>+assert_equal '0+1i',            '01i'</div><div class='add'>+assert_equal 'Complex',         '01i.class'</div><div class='add'>+assert_equal '0+1.2i',          '1.2i'</div><div class='add'>+assert_equal 'Complex',         '1.2i.class'</div><div class='add'>+assert_equal '0+1/1i',          '1ri'</div><div class='add'>+assert_equal 'Complex',         '1ri.class'</div><div class='add'>+assert_equal '0+6/5i',          '1.2ri'</div><div class='add'>+assert_equal 'Complex',         '1.2ri.class'</div><div class='add'>+assert_equal '0+10.0i',         '1e1i'</div><div class='add'>+assert_equal 'Complex',         '1e1i.class'</div><div class='add'>+assert_equal '1',               '1if true'</div><div class='add'>+assert_equal '1',               '1rescue nil'</div><div class='add'>+assert_equal '10000000000000000001/10000000000000000000',</div><div class='add'>+             '1.0000000000000000001r'</div><div class='add'>+</div><div class='add'>+assert_equal 'syntax error, unexpected local variable or method, expecting end-of-input',</div><div class='add'>+             %q{begin eval('1ir', nil, '', 0); rescue SyntaxError =&gt; e; e.message[/\A:(?:\d+:)? (.*)/, 1] end}</div><div class='add'>+assert_equal 'syntax error, unexpected local variable or method, expecting end-of-input',</div><div class='add'>+             %q{begin eval('1.2ir', nil, '', 0); rescue SyntaxError =&gt; e; e.message[/\A:(?:\d+:)? (.*)/, 1] end}</div><div class='add'>+assert_equal 'syntax error, unexpected local variable or method, expecting end-of-input',</div><div class='add'>+             %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/>new file mode 100644<br/>index 0000000000..e63c93a8f4<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bootstraptest/test_load.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>bootstraptest/test_load.rb</a></div><div class='hunk'>@@ -0,0 +1,27 @@</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  open("require-lock-test.rb", "w") {|f|</div><div class='add'>+    f.puts "sleep 0.1"</div><div class='add'>+    f.puts "module M"</div><div class='add'>+    f.puts "end"</div><div class='add'>+  }</div><div class='add'>+  $:.unshift Dir.pwd</div><div class='add'>+  vs = (1..2).map {|i|</div><div class='add'>+    Thread.start {</div><div class='add'>+      require "require-lock-test"</div><div class='add'>+      M</div><div class='add'>+    }</div><div class='add'>+  }.map {|t| t.value }</div><div class='add'>+  vs[0] == M &amp;&amp; vs[1] == M ? :ok : :ng</div><div class='add'>+}, '[ruby-dev:32048]'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  %w[a a/foo b].each {|d| Dir.mkdir(d)}</div><div class='add'>+  open("b/foo", "w") {|f| f.puts "$ok = :ok"}</div><div class='add'>+  $:.replace(%w[a b])</div><div class='add'>+  begin</div><div class='add'>+    load "foo"</div><div class='add'>+    $ok</div><div class='add'>+  rescue =&gt; e</div><div class='add'>+    e.message</div><div class='add'>+  end</div><div class='add'>+}, '[ruby-dev:38097]'</div><div class='head'>diff --git a/bootstraptest/test_marshal.rb b/bootstraptest/test_marshal.rb<br/>new file mode 100644<br/>index 0000000000..7e34176169<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bootstraptest/test_marshal.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>bootstraptest/test_marshal.rb</a></div><div class='hunk'>@@ -0,0 +1,5 @@</div><div class='add'>+</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  Marshal.load(Marshal.dump({"k"=&gt;"v"}), lambda {|v| v})</div><div class='add'>+}</div><div class='add'>+</div><div class='head'>diff --git a/bootstraptest/test_massign.rb b/bootstraptest/test_massign.rb<br/>new file mode 100644<br/>index 0000000000..0f63dd424a<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bootstraptest/test_massign.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>bootstraptest/test_massign.rb</a></div><div class='hunk'>@@ -0,0 +1,183 @@</div><div class='add'>+assert_equal '[[1], 2, 3]', '*v1, (a, b) = [1,[2, 3]]; [v1, a, b]'</div><div class='add'>+assert_equal '[[1], 2, 3]', '*v1,(*), (a, b) = [1,:x,[2, 3]]; [v1, a, b]'</div><div class='add'>+</div><div class='add'>+assert_equal '[]',          '*a = *nil; a'</div><div class='add'>+assert_equal '[nil]',       '*a = nil; a'</div><div class='add'>+assert_equal '2',           'a, a = 1, 2; a', "[ruby-dev:31522]"</div><div class='add'>+assert_equal '[1, 2]',      'a, b = 1, 2'</div><div class='add'>+assert_equal '[1, 2]', %q{</div><div class='add'>+  ans = []</div><div class='add'>+  trace_var(:$a){|v| ans &lt;&lt; v}</div><div class='add'>+  trace_var(:$b){|v| ans &lt;&lt; v}</div><div class='add'>+  $a, $b = 1, 2</div><div class='add'>+  ans</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  r = :ok</div><div class='add'>+  :ng.tap {|(r)|}</div><div class='add'>+  r</div><div class='add'>+}, '[ruby-dev:31507]'</div><div class='add'>+</div><div class='add'>+=begin</div><div class='add'>+# generated by this script:</div><div class='add'>+</div><div class='add'>+3.times{|i|</div><div class='add'>+  8.times{|e|</div><div class='add'>+    ary = (0...e).to_a</div><div class='add'>+    a,b,c,d,e,f = nil</div><div class='add'>+    vals = %w(a b c d e f)</div><div class='add'>+    vals[i] = '*' + vals[i]</div><div class='add'>+    program = "#{vals.join(", ")} = *ary"</div><div class='add'>+    eval(program)</div><div class='add'>+    ans = [a,b,c,d,e,f]</div><div class='add'>+    puts %Q{</div><div class='add'>+      assert_equal "#{ans.inspect}", %q{</div><div class='add'>+        ary = #{ary.inspect}</div><div class='add'>+        #{program}; [a, b, c, d, e, f]</div><div class='add'>+      }}</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+=end</div><div class='add'>+</div><div class='add'>+      assert_equal "[[], nil, nil, nil, nil, nil]", %q{</div><div class='add'>+        ary = []</div><div class='add'>+        *a, b, c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='add'>+      }</div><div class='add'>+</div><div class='add'>+      assert_equal "[[], 0, nil, nil, nil, nil]", %q{</div><div class='add'>+        ary = [0]</div><div class='add'>+        *a, b, c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='add'>+      }</div><div class='add'>+</div><div class='add'>+      assert_equal "[[], 0, 1, nil, nil, nil]", %q{</div><div class='add'>+        ary = [0, 1]</div><div class='add'>+        *a, b, c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='add'>+      }</div><div class='add'>+</div><div class='add'>+      assert_equal "[[], 0, 1, 2, nil, nil]", %q{</div><div class='add'>+        ary = [0, 1, 2]</div><div class='add'>+        *a, b, c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='add'>+      }</div><div class='add'>+</div><div class='add'>+      assert_equal "[[], 0, 1, 2, 3, nil]", %q{</div><div class='add'>+        ary = [0, 1, 2, 3]</div><div class='add'>+        *a, b, c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='add'>+      }</div><div class='add'>+</div><div class='add'>+      assert_equal "[[], 0, 1, 2, 3, 4]", %q{</div><div class='add'>+        ary = [0, 1, 2, 3, 4]</div><div class='add'>+        *a, b, c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='add'>+      }</div><div class='add'>+</div><div class='add'>+      assert_equal "[[0], 1, 2, 3, 4, 5]", %q{</div><div class='add'>+        ary = [0, 1, 2, 3, 4, 5]</div><div class='add'>+        *a, b, c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='add'>+      }</div><div class='add'>+</div><div class='add'>+      assert_equal "[[0, 1], 2, 3, 4, 5, 6]", %q{</div><div class='add'>+        ary = [0, 1, 2, 3, 4, 5, 6]</div><div class='add'>+        *a, b, c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='add'>+      }</div><div class='add'>+</div><div class='add'>+      assert_equal "[nil, [], nil, nil, nil, nil]", %q{</div><div class='add'>+        ary = []</div><div class='add'>+        a, *b, c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='add'>+      }</div><div class='add'>+</div><div class='add'>+      assert_equal "[0, [], nil, nil, nil, nil]", %q{</div><div class='add'>+        ary = [0]</div><div class='add'>+        a, *b, c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='add'>+      }</div><div class='add'>+</div><div class='add'>+      assert_equal "[0, [], 1, nil, nil, nil]", %q{</div><div class='add'>+        ary = [0, 1]</div><div class='add'>+        a, *b, c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='add'>+      }</div><div class='add'>+</div><div class='add'>+      assert_equal "[0, [], 1, 2, nil, nil]", %q{</div><div class='add'>+        ary = [0, 1, 2]</div><div class='add'>+        a, *b, c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='add'>+      }</div><div class='add'>+</div><div class='add'>+      assert_equal "[0, [], 1, 2, 3, nil]", %q{</div><div class='add'>+        ary = [0, 1, 2, 3]</div><div class='add'>+        a, *b, c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='add'>+      }</div><div class='add'>+</div><div class='add'>+      assert_equal "[0, [], 1, 2, 3, 4]", %q{</div><div class='add'>+        ary = [0, 1, 2, 3, 4]</div><div class='add'>+        a, *b, c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='add'>+      }</div><div class='add'>+</div><div class='add'>+      assert_equal "[0, [1], 2, 3, 4, 5]", %q{</div><div class='add'>+        ary = [0, 1, 2, 3, 4, 5]</div><div class='add'>+        a, *b, c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='add'>+      }</div><div class='add'>+</div><div class='add'>+      assert_equal "[0, [1, 2], 3, 4, 5, 6]", %q{</div><div class='add'>+        ary = [0, 1, 2, 3, 4, 5, 6]</div><div class='add'>+        a, *b, c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='add'>+      }</div><div class='add'>+</div><div class='add'>+      assert_equal "[nil, nil, [], nil, nil, nil]", %q{</div><div class='add'>+        ary = []</div><div class='add'>+        a, b, *c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='add'>+      }</div><div class='add'>+</div><div class='add'>+      assert_equal "[0, nil, [], nil, nil, nil]", %q{</div><div class='add'>+        ary = [0]</div><div class='add'>+        a, b, *c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='add'>+      }</div><div class='add'>+</div><div class='add'>+      assert_equal "[0, 1, [], nil, nil, nil]", %q{</div><div class='add'>+        ary = [0, 1]</div><div class='add'>+        a, b, *c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='add'>+      }</div><div class='add'>+</div><div class='add'>+      assert_equal "[0, 1, [], 2, nil, nil]", %q{</div><div class='add'>+        ary = [0, 1, 2]</div><div class='add'>+        a, b, *c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='add'>+      }</div><div class='add'>+</div><div class='add'>+      assert_equal "[0, 1, [], 2, 3, nil]", %q{</div><div class='add'>+        ary = [0, 1, 2, 3]</div><div class='add'>+        a, b, *c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='add'>+      }</div><div class='add'>+</div><div class='add'>+      assert_equal "[0, 1, [], 2, 3, 4]", %q{</div><div class='add'>+        ary = [0, 1, 2, 3, 4]</div><div class='add'>+        a, b, *c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='add'>+      }</div><div class='add'>+</div><div class='add'>+      assert_equal "[0, 1, [2], 3, 4, 5]", %q{</div><div class='add'>+        ary = [0, 1, 2, 3, 4, 5]</div><div class='add'>+        a, b, *c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='add'>+      }</div><div class='add'>+</div><div class='add'>+      assert_equal "[0, 1, [2, 3], 4, 5, 6]", %q{</div><div class='add'>+        ary = [0, 1, 2, 3, 4, 5, 6]</div><div class='add'>+        a, b, *c, d, e, f = *ary; [a, b, c, d, e, f]</div><div class='add'>+      }</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+#</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  a,s=[],"aaa"</div><div class='add'>+  300.times { a&lt;&lt;s; s=s.succ }</div><div class='add'>+  eval &lt;&lt;-END__</div><div class='add'>+  GC.stress=true</div><div class='add'>+  Fiber.new do</div><div class='add'>+    #{ a.join(",") },*zzz=1</div><div class='add'>+  end.resume</div><div class='add'>+  END__</div><div class='add'>+  :ok</div><div class='add'>+}, '[ruby-dev:32581]'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  while true</div><div class='add'>+    *, z = 1</div><div class='add'>+    break</div><div class='add'>+  end</div><div class='add'>+  :ok</div><div class='add'>+}, '[ruby-dev:32892]'</div><div class='head'>diff --git a/bootstraptest/test_method.rb b/bootstraptest/test_method.rb<br/>new file mode 100644<br/>index 0000000000..3462aa9434<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bootstraptest/test_method.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>bootstraptest/test_method.rb</a></div><div class='hunk'>@@ -0,0 +1,1192 @@</div><div class='add'>+# regular argument</div><div class='add'>+assert_equal '1',       'def m() 1 end; m()'</div><div class='add'>+assert_equal '1',       'def m(a) a end; m(1)'</div><div class='add'>+assert_equal '[1, 2]',  'def m(a,b) [a, b] end; m(1,2)'</div><div class='add'>+assert_equal '[1, 2, 3]', 'def m(a,b,c) [a, b, c] end; m(1,2,3)'</div><div class='add'>+assert_match /\Awrong number of arguments \(.*\b1\b.* 0\)\z/, %q{</div><div class='add'>+  def m; end</div><div class='add'>+  begin</div><div class='add'>+    m(1)</div><div class='add'>+  rescue =&gt; e</div><div class='add'>+    e.message</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_match /\Awrong number of arguments \(.*\b0\b.* 1\)\z/, %q{</div><div class='add'>+  def m a; end</div><div class='add'>+  begin</div><div class='add'>+    m</div><div class='add'>+  rescue =&gt; e</div><div class='add'>+    e.message</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# default argument</div><div class='add'>+assert_equal '1',       'def m(x=1) x end; m()'</div><div class='add'>+assert_equal '1',       'def m(x=7) x end; m(1)'</div><div class='add'>+assert_equal '1',       'def m(a,x=1) x end; m(7)'</div><div class='add'>+assert_equal '1',       'def m(a,x=7) x end; m(7,1)'</div><div class='add'>+assert_equal '1',       'def m(a,b,x=1) x end; m(7,7)'</div><div class='add'>+assert_equal '1',       'def m(a,b,x=7) x end; m(7,7,1)'</div><div class='add'>+assert_equal '1',       'def m(a,x=1,y=1) x end; m(7)'</div><div class='add'>+assert_equal '1',       'def m(a,x=1,y=1) y end; m(7)'</div><div class='add'>+assert_equal '1',       'def m(a,x=7,y=1) x end; m(7,1)'</div><div class='add'>+assert_equal '1',       'def m(a,x=7,y=1) y end; m(7,1)'</div><div class='add'>+assert_equal '1',       'def m(a,x=7,y=7) x end; m(7,1,1)'</div><div class='add'>+assert_equal '1',       'def m(a,x=7,y=7) y end; m(7,1,1)'</div><div class='add'>+</div><div class='add'>+# rest argument</div><div class='add'>+assert_equal '[]',      'def m(*a) a end; m().inspect'</div><div class='add'>+assert_equal '[1]',     'def m(*a) a end; m(1).inspect'</div><div class='add'>+assert_equal '[1, 2]',  'def m(*a) a end; m(1,2).inspect'</div><div class='add'>+assert_equal '[]',      'def m(x,*a) a end; m(7).inspect'</div><div class='add'>+assert_equal '[1]',     'def m(x,*a) a end; m(7,1).inspect'</div><div class='add'>+assert_equal '[1, 2]',  'def m(x,*a) a end; m(7,1,2).inspect'</div><div class='add'>+assert_equal '[]',      'def m(x,y,*a) a end; m(7,7).inspect'</div><div class='add'>+assert_equal '[1]',     'def m(x,y,*a) a end; m(7,7,1).inspect'</div><div class='add'>+assert_equal '[1, 2]',  'def m(x,y,*a) a end; m(7,7,1,2).inspect'</div><div class='add'>+assert_equal '[]',      'def m(x,y=7,*a) a end; m(7).inspect'</div><div class='add'>+assert_equal '[]',      'def m(x,y,z=7,*a) a end; m(7,7).inspect'</div><div class='add'>+assert_equal '[]',      'def m(x,y,z=7,*a) a end; m(7,7,7).inspect'</div><div class='add'>+assert_equal '[]',      'def m(x,y,z=7,zz=7,*a) a end; m(7,7,7).inspect'</div><div class='add'>+assert_equal '[]',      'def m(x,y,z=7,zz=7,*a) a end; m(7,7,7,7).inspect'</div><div class='add'>+assert_equal '1',       'def m(x,y,z=7,zz=1,*a) zz end; m(7,7,7).inspect'</div><div class='add'>+assert_equal '1',       'def m(x,y,z=7,zz=1,*a) zz end; m(7,7,7).inspect'</div><div class='add'>+assert_equal '1',       'def m(x,y,z=7,zz=7,*a) zz end; m(7,7,7,1).inspect'</div><div class='add'>+</div><div class='add'>+# block argument</div><div class='add'>+assert_equal 'Proc',    'def m(&amp;block) block end; m{}.class'</div><div class='add'>+assert_equal 'nil',     'def m(&amp;block) block end; m().inspect'</div><div class='add'>+assert_equal 'Proc',    'def m(a,&amp;block) block end; m(7){}.class'</div><div class='add'>+assert_equal 'nil',     'def m(a,&amp;block) block end; m(7).inspect'</div><div class='add'>+assert_equal '1',       'def m(a,&amp;block) a end; m(1){}'</div><div class='add'>+assert_equal 'Proc',    'def m(a,b=nil,&amp;block) block end; m(7){}.class'</div><div class='add'>+assert_equal 'nil',     'def m(a,b=nil,&amp;block) block end; m(7).inspect'</div><div class='add'>+assert_equal 'Proc',    'def m(a,b=nil,&amp;block) block end; m(7,7){}.class'</div><div class='add'>+assert_equal '1',       'def m(a,b=nil,&amp;block) b end; m(7,1){}'</div><div class='add'>+assert_equal 'Proc',    'def m(a,b=nil,*c,&amp;block) block end; m(7){}.class'</div><div class='add'>+assert_equal 'nil',     'def m(a,b=nil,*c,&amp;block) block end; m(7).inspect'</div><div class='add'>+assert_equal '1',       'def m(a,b=nil,*c,&amp;block) a end; m(1).inspect'</div><div class='add'>+assert_equal '1',       'def m(a,b=1,*c,&amp;block) b end; m(7).inspect'</div><div class='add'>+assert_equal '1',       'def m(a,b=7,*c,&amp;block) b end; m(7,1).inspect'</div><div class='add'>+assert_equal '[1]',     'def m(a,b=7,*c,&amp;block) c end; m(7,7,1).inspect'</div><div class='add'>+</div><div class='add'>+# splat</div><div class='add'>+assert_equal '1',       'def m(a) a end; m(*[1])'</div><div class='add'>+assert_equal '1',       'def m(x,a) a end; m(7,*[1])'</div><div class='add'>+assert_equal '1',       'def m(x,y,a) a end; m(7,7,*[1])'</div><div class='add'>+assert_equal '1',       'def m(a,b) a end; m(*[1,7])'</div><div class='add'>+assert_equal '1',       'def m(a,b) b end; m(*[7,1])'</div><div class='add'>+assert_equal '1',       'def m(x,a,b) b end; m(7,*[7,1])'</div><div class='add'>+assert_equal '1',       'def m(x,y,a,b) b end; m(7,7,*[7,1])'</div><div class='add'>+assert_equal '1',       'def m(a,b,c) a end; m(*[1,7,7])'</div><div class='add'>+assert_equal '1',       'def m(a,b,c) b end; m(*[7,1,7])'</div><div class='add'>+assert_equal '1',       'def m(a,b,c) c end; m(*[7,7,1])'</div><div class='add'>+assert_equal '1',       'def m(x,a,b,c) a end; m(7,*[1,7,7])'</div><div class='add'>+assert_equal '1',       'def m(x,y,a,b,c) a end; m(7,7,*[1,7,7])'</div><div class='add'>+</div><div class='add'>+# hash argument</div><div class='add'>+assert_equal '1',       'def m(h) h end; m(7=&gt;1)[7]'</div><div class='add'>+assert_equal '1',       'def m(h) h end; m(7=&gt;1).size'</div><div class='add'>+assert_equal '1',       'def m(h) h end; m(7=&gt;1, 8=&gt;7)[7]'</div><div class='add'>+assert_equal '2',       'def m(h) h end; m(7=&gt;1, 8=&gt;7).size'</div><div class='add'>+assert_equal '1',       'def m(h) h end; m(7=&gt;1, 8=&gt;7, 9=&gt;7)[7]'</div><div class='add'>+assert_equal '3',       'def m(h) h end; m(7=&gt;1, 8=&gt;7, 9=&gt;7).size'</div><div class='add'>+assert_equal '1',       'def m(x,h) h end; m(7, 7=&gt;1)[7]'</div><div class='add'>+assert_equal '1',       'def m(x,h) h end; m(7, 7=&gt;1, 8=&gt;7)[7]'</div><div class='add'>+assert_equal '1',       'def m(x,h) h end; m(7, 7=&gt;1, 8=&gt;7, 9=&gt;7)[7]'</div><div class='add'>+assert_equal '1',       'def m(x,y,h) h end; m(7,7, 7=&gt;1)[7]'</div><div class='add'>+assert_equal '1',       'def m(x,y,h) h end; m(7,7, 7=&gt;1, 8=&gt;7)[7]'</div><div class='add'>+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='add'>+</div><div class='add'>+# block argument</div><div class='add'>+assert_equal '1',       %q(def m(&amp;block) mm(&amp;block) end</div><div class='add'>+                           def mm() yield 1 end</div><div class='add'>+                           m {|a| a })</div><div class='add'>+assert_equal '1',       %q(def m(x,&amp;block) mm(x,&amp;block) end</div><div class='add'>+                           def mm(x) yield 1 end</div><div class='add'>+                           m(7) {|a| a })</div><div class='add'>+assert_equal '1',       %q(def m(x,y,&amp;block) mm(x,y,&amp;block) end</div><div class='add'>+                           def mm(x,y) yield 1 end</div><div class='add'>+                           m(7,7) {|a| a })</div><div class='add'>+</div><div class='add'>+# recursive call</div><div class='add'>+assert_equal '1',       %q(def m(n) n == 0 ? 1 : m(n-1) end; m(5))</div><div class='add'>+</div><div class='add'>+# instance method</div><div class='add'>+assert_equal '1',       %q(class C; def m() 1 end end;  C.new.m)</div><div class='add'>+assert_equal '1',       %q(class C; def m(a) a end end;  C.new.m(1))</div><div class='add'>+assert_equal '1',       %q(class C; def m(a = 1) a end end;  C.new.m)</div><div class='add'>+assert_equal '[1]',     %q(class C; def m(*a) a end end;  C.new.m(1).inspect)</div><div class='add'>+assert_equal '1',       %q( class C</div><div class='add'>+                              def m() mm() end</div><div class='add'>+                              def mm() 1 end</div><div class='add'>+                            end</div><div class='add'>+                            C.new.m )</div><div class='add'>+</div><div class='add'>+# singleton method (const)</div><div class='add'>+assert_equal '1',       %q(class C; def C.m() 1 end end;  C.m)</div><div class='add'>+assert_equal '1',       %q(class C; def C.m(a) a end end;  C.m(1))</div><div class='add'>+assert_equal '1',       %q(class C; def C.m(a = 1) a end end;  C.m)</div><div class='add'>+assert_equal '[1]',     %q(class C; def C.m(*a) a end end;  C.m(1).inspect)</div><div class='add'>+assert_equal '1',       %q(class C; end; def C.m() 1 end;  C.m)</div><div class='add'>+assert_equal '1',       %q(class C; end; def C.m(a) a end;  C.m(1))</div><div class='add'>+assert_equal '1',       %q(class C; end; def C.m(a = 1) a end;  C.m)</div><div class='add'>+assert_equal '[1]',     %q(class C; end; def C.m(*a) a end;  C.m(1).inspect)</div><div class='add'>+assert_equal '1',       %q(class C; def m() 7 end end; def C.m() 1 end;  C.m)</div><div class='add'>+assert_equal '1',       %q( class C</div><div class='add'>+                              def C.m() mm() end</div><div class='add'>+                              def C.mm() 1 end</div><div class='add'>+                            end</div><div class='add'>+                            C.m )</div><div class='add'>+</div><div class='add'>+# singleton method (lvar)</div><div class='add'>+assert_equal '1',       %q(obj = Object.new; def obj.m() 1 end;  obj.m)</div><div class='add'>+assert_equal '1',       %q(obj = Object.new; def obj.m(a) a end;  obj.m(1))</div><div class='add'>+assert_equal '1',       %q(obj = Object.new; def obj.m(a=1) a end;  obj.m)</div><div class='add'>+assert_equal '[1]',     %q(obj = Object.new; def obj.m(*a) a end;  obj.m(1))</div><div class='add'>+assert_equal '1',       %q(class C; def m() 7 end; end</div><div class='add'>+                           obj = C.new</div><div class='add'>+                           def obj.m() 1 end</div><div class='add'>+                           obj.m)</div><div class='add'>+</div><div class='add'>+# inheritance</div><div class='add'>+assert_equal '1',       %q(class A; def m(a) a end end</div><div class='add'>+                           class B &lt; A; end</div><div class='add'>+                           B.new.m(1))</div><div class='add'>+assert_equal '1',       %q(class A; end</div><div class='add'>+                           class B &lt; A; def m(a) a end end</div><div class='add'>+                           B.new.m(1))</div><div class='add'>+assert_equal '1',       %q(class A; def m(a) a end end</div><div class='add'>+                           class B &lt; A; end</div><div class='add'>+                           class C &lt; B; end</div><div class='add'>+                           C.new.m(1))</div><div class='add'>+</div><div class='add'>+# include</div><div class='add'>+assert_equal '1',       %q(class A; def m(a) a end end</div><div class='add'>+                           module M; end</div><div class='add'>+                           class B &lt; A; include M; end</div><div class='add'>+                           B.new.m(1))</div><div class='add'>+assert_equal '1',       %q(class A; end</div><div class='add'>+                           module M; def m(a) a end end</div><div class='add'>+                           class B &lt; A; include M; end</div><div class='add'>+                           B.new.m(1))</div><div class='add'>+</div><div class='add'>+# alias</div><div class='add'>+assert_equal '1',       %q( def a() 1 end</div><div class='add'>+                            alias m a</div><div class='add'>+                            m() )</div><div class='add'>+assert_equal '1',       %q( class C</div><div class='add'>+                              def a() 1 end</div><div class='add'>+                              alias m a</div><div class='add'>+                            end</div><div class='add'>+                            C.new.m )</div><div class='add'>+assert_equal '1',       %q( class C</div><div class='add'>+                              def a() 1 end</div><div class='add'>+                              alias :m a</div><div class='add'>+                            end</div><div class='add'>+                            C.new.m )</div><div class='add'>+assert_equal '1',       %q( class C</div><div class='add'>+                              def a() 1 end</div><div class='add'>+                              alias m :a</div><div class='add'>+                            end</div><div class='add'>+                            C.new.m )</div><div class='add'>+assert_equal '1',       %q( class C</div><div class='add'>+                              def a() 1 end</div><div class='add'>+                              alias :m :a</div><div class='add'>+                            end</div><div class='add'>+                            C.new.m )</div><div class='add'>+assert_equal '1',       %q( class C</div><div class='add'>+                              def a() 1 end</div><div class='add'>+                              alias m a</div><div class='add'>+                              undef a</div><div class='add'>+                            end</div><div class='add'>+                            C.new.m )</div><div class='add'>+</div><div class='add'>+# undef</div><div class='add'>+assert_equal '1',       %q( class C</div><div class='add'>+                              def m() end</div><div class='add'>+                              undef m</div><div class='add'>+                            end</div><div class='add'>+                            begin C.new.m; rescue NoMethodError; 1 end )</div><div class='add'>+assert_equal '1',       %q( class A</div><div class='add'>+                              def m() end</div><div class='add'>+                            end</div><div class='add'>+                            class C &lt; A</div><div class='add'>+                              def m() end</div><div class='add'>+                              undef m</div><div class='add'>+                            end</div><div class='add'>+                            begin C.new.m; rescue NoMethodError; 1 end )</div><div class='add'>+assert_equal '1',       %q( class A; def a() end end   # [yarv-dev:999]</div><div class='add'>+                            class B &lt; A</div><div class='add'>+                              def b() end</div><div class='add'>+                              undef a, b</div><div class='add'>+                            end</div><div class='add'>+                            begin B.new.a; rescue NoMethodError; 1 end )</div><div class='add'>+assert_equal '1',       %q( class A; def a() end end   # [yarv-dev:999]</div><div class='add'>+                            class B &lt; A</div><div class='add'>+                              def b() end</div><div class='add'>+                              undef a, b</div><div class='add'>+                            end</div><div class='add'>+                            begin B.new.b; rescue NoMethodError; 1 end )</div><div class='add'>+</div><div class='add'>+assert_equal '3',  %q{</div><div class='add'>+  def m1</div><div class='add'>+    1</div><div class='add'>+  end</div><div class='add'>+  alias m2 m1</div><div class='add'>+  alias :"#{'m3'}" m1</div><div class='add'>+  m1 + m2 + m3</div><div class='add'>+}, '[ruby-dev:32308]'</div><div class='add'>+assert_equal '1', %q{</div><div class='add'>+  def foobar</div><div class='add'>+  end</div><div class='add'>+  undef :"foo#{:bar}"</div><div class='add'>+  1</div><div class='add'>+}, '[ruby-dev:32308]'</div><div class='add'>+assert_equal '1', %q{</div><div class='add'>+  def foobar</div><div class='add'>+    1</div><div class='add'>+  end</div><div class='add'>+  alias :"bar#{:baz}" :"foo#{:bar}"</div><div class='add'>+  barbaz</div><div class='add'>+}, '[ruby-dev:32308]'</div><div class='add'>+</div><div class='add'>+# private</div><div class='add'>+assert_equal '1',       %q( class C</div><div class='add'>+                              def m() mm() end</div><div class='add'>+                              def mm() 1 end</div><div class='add'>+                              private :mm</div><div class='add'>+                            end</div><div class='add'>+                            C.new.m )</div><div class='add'>+assert_equal '1',       %q( class C</div><div class='add'>+                              def m() 7 end</div><div class='add'>+                              private :m</div><div class='add'>+                            end</div><div class='add'>+                            begin C.m; rescue NoMethodError; 1 end )</div><div class='add'>+assert_equal '1',       %q( class C</div><div class='add'>+                              def C.m() mm() end</div><div class='add'>+                              def C.mm() 1 end</div><div class='add'>+                              private_class_method :mm</div><div class='add'>+                            end</div><div class='add'>+                            C.m )</div><div class='add'>+assert_equal '1',       %q( class C</div><div class='add'>+                              def C.m() 7 end</div><div class='add'>+                              private_class_method :m</div><div class='add'>+                            end</div><div class='add'>+                            begin C.m; rescue NoMethodError; 1 end )</div><div class='add'>+assert_equal '1',       %q( class C; def m() 1 end end</div><div class='add'>+                            C.new.m   # cache</div><div class='add'>+                            class C</div><div class='add'>+                              alias mm m; private :mm</div><div class='add'>+                            end</div><div class='add'>+                            C.new.m</div><div class='add'>+                            begin C.new.mm; 7; rescue NoMethodError; 1 end )</div><div class='add'>+</div><div class='add'>+# nested method</div><div class='add'>+assert_equal '1',       %q( class C</div><div class='add'>+                              def m</div><div class='add'>+                                def mm() 1 end</div><div class='add'>+                              end</div><div class='add'>+                            end</div><div class='add'>+                            C.new.m</div><div class='add'>+                            C.new.mm )</div><div class='add'>+assert_equal '1',       %q( class C</div><div class='add'>+                              def m</div><div class='add'>+                                def mm() 1 end</div><div class='add'>+                              end</div><div class='add'>+                            end</div><div class='add'>+                            instance_eval "C.new.m; C.new.mm" )</div><div class='add'>+</div><div class='add'>+# method_missing</div><div class='add'>+assert_equal ':m',      %q( class C</div><div class='add'>+                              def method_missing(mid, *args) mid end</div><div class='add'>+                            end</div><div class='add'>+                            C.new.m.inspect )</div><div class='add'>+assert_equal ':mm',     %q( class C</div><div class='add'>+                              def method_missing(mid, *args) mid end</div><div class='add'>+                            end</div><div class='add'>+                            C.new.mm.inspect )</div><div class='add'>+assert_equal '[1, 2]',  %q( class C</div><div class='add'>+                              def method_missing(mid, *args) args end</div><div class='add'>+                            end</div><div class='add'>+                            C.new.m(1,2).inspect )</div><div class='add'>+assert_equal '1',       %q( class C</div><div class='add'>+                              def method_missing(mid, *args) yield 1 end</div><div class='add'>+                            end</div><div class='add'>+                            C.new.m {|a| a })</div><div class='add'>+assert_equal 'nil',     %q( class C</div><div class='add'>+                              def method_missing(mid, *args, &amp;block) block end</div><div class='add'>+                            end</div><div class='add'>+                            C.new.m.inspect )</div><div class='add'>+</div><div class='add'>+# send</div><div class='add'>+assert_equal '1',       %q( class C; def m() 1 end end;</div><div class='add'>+                            C.new.__send__(:m) )</div><div class='add'>+assert_equal '1',       %q( class C; def m() 1 end end;</div><div class='add'>+                            C.new.send(:m) )</div><div class='add'>+assert_equal '1',       %q( class C; def m(a) a end end;</div><div class='add'>+                            C.new.send(:m,1) )</div><div class='add'>+assert_equal '1',       %q( class C; def m(a,b) a end end;</div><div class='add'>+                            C.new.send(:m,1,7) )</div><div class='add'>+assert_equal '1',       %q( class C; def m(x,a=1) a end end;</div><div class='add'>+                            C.new.send(:m,7) )</div><div class='add'>+assert_equal '1',       %q( class C; def m(x,a=7) a end end;</div><div class='add'>+                            C.new.send(:m,7,1) )</div><div class='add'>+assert_equal '[1, 2]',  %q( class C; def m(*a) a end end;</div><div class='add'>+                            C.new.send(:m,1,2).inspect )</div><div class='add'>+assert_equal '1',       %q( class C; def m() 7 end; private :m end</div><div class='add'>+                            begin C.new.public_send(:m); rescue NoMethodError; 1 end )</div><div class='add'>+assert_equal '1',       %q( class C; def m() 1 end; private :m end</div><div class='add'>+                            C.new.send(:m) )</div><div class='add'>+</div><div class='add'>+# with block</div><div class='add'>+assert_equal '[[:ok1, :foo], [:ok2, :foo, :bar]]',</div><div class='add'>+%q{</div><div class='add'>+  class C</div><div class='add'>+    def [](a)</div><div class='add'>+      $ary &lt;&lt; [yield, a]</div><div class='add'>+    end</div><div class='add'>+    def []=(a, b)</div><div class='add'>+      $ary &lt;&lt; [yield, a, b]</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  $ary = []</div><div class='add'>+  C.new[:foo, &amp;lambda{:ok1}]</div><div class='add'>+  C.new[:foo, &amp;lambda{:ok2}] = :bar</div><div class='add'>+  $ary</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# with</div><div class='add'>+assert_equal '[:ok1, [:ok2, 11]]', %q{</div><div class='add'>+  class C</div><div class='add'>+    def []</div><div class='add'>+      $ary &lt;&lt; :ok1</div><div class='add'>+      10</div><div class='add'>+    end</div><div class='add'>+    def []=(a)</div><div class='add'>+      $ary &lt;&lt; [:ok2, a]</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  $ary = []</div><div class='add'>+  C.new[]+=1</div><div class='add'>+  $ary</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# splat and block arguments</div><div class='add'>+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='add'>+def m(*args, &amp;b)</div><div class='add'>+  $result &lt;&lt; [args, b.class]</div><div class='add'>+end</div><div class='add'>+$result = []</div><div class='add'>+ary = [:x, :y, :z]</div><div class='add'>+obj = :obj</div><div class='add'>+b = Proc.new{}</div><div class='add'>+</div><div class='add'>+m(*ary)</div><div class='add'>+m(1,*ary)</div><div class='add'>+m(1,2,*ary)</div><div class='add'>+m(*obj)</div><div class='add'>+m(1,*obj)</div><div class='add'>+m(1,2,*obj)</div><div class='add'>+m(){}</div><div class='add'>+m(1){}</div><div class='add'>+m(1,2){}</div><div class='add'>+m(&amp;b)</div><div class='add'>+m(1,&amp;b)</div><div class='add'>+m(1,2,&amp;b)</div><div class='add'>+m(*ary,&amp;b)</div><div class='add'>+m(1,*ary,&amp;b)</div><div class='add'>+m(1,2,*ary,&amp;b)</div><div class='add'>+$result</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# aset and splat</div><div class='add'>+assert_equal '4', %q{class Foo;def []=(a,b,c,d);end;end;Foo.new[1,*a=[2,3]]=4}</div><div class='add'>+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='add'>+</div><div class='add'>+# post test</div><div class='add'>+assert_equal %q{[1, 2, :o1, :o2, [], 3, 4, NilClass, nil, nil]}, %q{</div><div class='add'>+def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2, &amp;b)</div><div class='add'>+  x, y = :x, :y if $foo</div><div class='add'>+  [m1, m2, o1, o2, r, p1, p2, b.class, x, y]</div><div class='add'>+end</div><div class='add'>+; m(1, 2, 3, 4)}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[1, 2, 3, :o2, [], 4, 5, NilClass, nil, nil]}, %q{</div><div class='add'>+def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2, &amp;b)</div><div class='add'>+  x, y = :x, :y if $foo</div><div class='add'>+  [m1, m2, o1, o2, r, p1, p2, b.class, x, y]</div><div class='add'>+end</div><div class='add'>+; m(1, 2, 3, 4, 5)}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[1, 2, 3, 4, [], 5, 6, NilClass, nil, nil]}, %q{</div><div class='add'>+def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2, &amp;b)</div><div class='add'>+  x, y = :x, :y if $foo</div><div class='add'>+  [m1, m2, o1, o2, r, p1, p2, b.class, x, y]</div><div class='add'>+end</div><div class='add'>+; m(1, 2, 3, 4, 5, 6)}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[1, 2, 3, 4, [5], 6, 7, NilClass, nil, nil]}, %q{</div><div class='add'>+def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2, &amp;b)</div><div class='add'>+  x, y = :x, :y if $foo</div><div class='add'>+  [m1, m2, o1, o2, r, p1, p2, b.class, x, y]</div><div class='add'>+end</div><div class='add'>+; m(1, 2, 3, 4, 5, 6, 7)}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[1, 2, 3, 4, [5, 6], 7, 8, NilClass, nil, nil]}, %q{</div><div class='add'>+def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2, &amp;b)</div><div class='add'>+  x, y = :x, :y if $foo</div><div class='add'>+  [m1, m2, o1, o2, r, p1, p2, b.class, x, y]</div><div class='add'>+end</div><div class='add'>+; m(1, 2, 3, 4, 5, 6, 7, 8)}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[1, 2, 3, 4, [5, 6, 7], 8, 9, NilClass, nil, nil]}, %q{</div><div class='add'>+def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2, &amp;b)</div><div class='add'>+  x, y = :x, :y if $foo</div><div class='add'>+  [m1, m2, o1, o2, r, p1, p2, b.class, x, y]</div><div class='add'>+end</div><div class='add'>+; m(1, 2, 3, 4, 5, 6, 7, 8, 9)}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[1, 2, 3, 4, [5, 6, 7, 8], 9, 10, NilClass, nil, nil]}, %q{</div><div class='add'>+def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2, &amp;b)</div><div class='add'>+  x, y = :x, :y if $foo</div><div class='add'>+  [m1, m2, o1, o2, r, p1, p2, b.class, x, y]</div><div class='add'>+end</div><div class='add'>+; m(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[1, 2, 3, 4, [5, 6, 7, 8, 9], 10, 11, NilClass, nil, nil]}, %q{</div><div class='add'>+def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2, &amp;b)</div><div class='add'>+  x, y = :x, :y if $foo</div><div class='add'>+  [m1, m2, o1, o2, r, p1, p2, b.class, x, y]</div><div class='add'>+end</div><div class='add'>+; m(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11)}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[1, 2, :o1, :o2, [], 3, 4, Proc, nil, nil]}, %q{</div><div class='add'>+def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2, &amp;b)</div><div class='add'>+  x, y = :x, :y if $foo</div><div class='add'>+  [m1, m2, o1, o2, r, p1, p2, b.class, x, y]</div><div class='add'>+end</div><div class='add'>+; m(1, 2, 3, 4){}}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[1, 2, 3, :o2, [], 4, 5, Proc, nil, nil]}, %q{</div><div class='add'>+def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2, &amp;b)</div><div class='add'>+  x, y = :x, :y if $foo</div><div class='add'>+  [m1, m2, o1, o2, r, p1, p2, b.class, x, y]</div><div class='add'>+end</div><div class='add'>+; m(1, 2, 3, 4, 5){}}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[1, 2, 3, 4, [], 5, 6, Proc, nil, nil]}, %q{</div><div class='add'>+def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2, &amp;b)</div><div class='add'>+  x, y = :x, :y if $foo</div><div class='add'>+  [m1, m2, o1, o2, r, p1, p2, b.class, x, y]</div><div class='add'>+end</div><div class='add'>+; m(1, 2, 3, 4, 5, 6){}}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[1, 2, 3, 4, [5], 6, 7, Proc, nil, nil]}, %q{</div><div class='add'>+def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2, &amp;b)</div><div class='add'>+  x, y = :x, :y if $foo</div><div class='add'>+  [m1, m2, o1, o2, r, p1, p2, b.class, x, y]</div><div class='add'>+end</div><div class='add'>+; m(1, 2, 3, 4, 5, 6, 7){}}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[1, 2, 3, 4, [5, 6], 7, 8, Proc, nil, nil]}, %q{</div><div class='add'>+def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2, &amp;b)</div><div class='add'>+  x, y = :x, :y if $foo</div><div class='add'>+  [m1, m2, o1, o2, r, p1, p2, b.class, x, y]</div><div class='add'>+end</div><div class='add'>+; m(1, 2, 3, 4, 5, 6, 7, 8){}}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[1, 2, 3, 4, [5, 6, 7], 8, 9, Proc, nil, nil]}, %q{</div><div class='add'>+def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2, &amp;b)</div><div class='add'>+  x, y = :x, :y if $foo</div><div class='add'>+  [m1, m2, o1, o2, r, p1, p2, b.class, x, y]</div><div class='add'>+end</div><div class='add'>+; m(1, 2, 3, 4, 5, 6, 7, 8, 9){}}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[1, 2, 3, 4, [5, 6, 7, 8], 9, 10, Proc, nil, nil]}, %q{</div><div class='add'>+def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2, &amp;b)</div><div class='add'>+  x, y = :x, :y if $foo</div><div class='add'>+  [m1, m2, o1, o2, r, p1, p2, b.class, x, y]</div><div class='add'>+end</div><div class='add'>+; m(1, 2, 3, 4, 5, 6, 7, 8, 9, 10){}}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[1, 2, 3, 4, [5, 6, 7, 8, 9], 10, 11, Proc, nil, nil]}, %q{</div><div class='add'>+def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2, &amp;b)</div><div class='add'>+  x, y = :x, :y if $foo</div><div class='add'>+  [m1, m2, o1, o2, r, p1, p2, b.class, x, y]</div><div class='add'>+end</div><div class='add'>+; m(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11){}}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[1, 2, :o1, :o2, [], 3, 4, nil, nil]}, %q{</div><div class='add'>+def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2)</div><div class='add'>+  x, y = :x, :y if $foo</div><div class='add'>+  [m1, m2, o1, o2, r, p1, p2, x, y]</div><div class='add'>+end</div><div class='add'>+; m(1, 2, 3, 4)}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[1, 2, 3, :o2, [], 4, 5, nil, nil]}, %q{</div><div class='add'>+def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2)</div><div class='add'>+  x, y = :x, :y if $foo</div><div class='add'>+  [m1, m2, o1, o2, r, p1, p2, x, y]</div><div class='add'>+end</div><div class='add'>+; m(1, 2, 3, 4, 5)}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[1, 2, 3, 4, [], 5, 6, nil, nil]}, %q{</div><div class='add'>+def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2)</div><div class='add'>+  x, y = :x, :y if $foo</div><div class='add'>+  [m1, m2, o1, o2, r, p1, p2, x, y]</div><div class='add'>+end</div><div class='add'>+; m(1, 2, 3, 4, 5, 6)}</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+#</div><div class='add'>+# super</div><div class='add'>+#</div><div class='add'>+=begin</div><div class='add'>+# below programs are generated by this program:</div><div class='add'>+</div><div class='add'>+BASE = &lt;&lt;EOS__</div><div class='add'>+class C0; def m *args; [:C0_m, args]; end; end</div><div class='add'>+class C1 &lt; C0; &lt;TEST&gt;; super; end; end</div><div class='add'>+EOS__</div><div class='add'>+</div><div class='add'>+tests = {</div><div class='add'>+%q{</div><div class='add'>+  def m</div><div class='add'>+} =&gt; %q{</div><div class='add'>+  C1.new.m</div><div class='add'>+},</div><div class='add'>+#</div><div class='add'>+%q{</div><div class='add'>+  def m a</div><div class='add'>+} =&gt; %q{</div><div class='add'>+  C1.new.m 1</div><div class='add'>+},</div><div class='add'>+%q{</div><div class='add'>+  def m a</div><div class='add'>+    a = :a</div><div class='add'>+} =&gt; %q{</div><div class='add'>+  C1.new.m 1</div><div class='add'>+},</div><div class='add'>+#</div><div class='add'>+%q{</div><div class='add'>+  def m a, o=:o</div><div class='add'>+} =&gt; %q{</div><div class='add'>+  C1.new.m 1</div><div class='add'>+  C1.new.m 1, 2</div><div class='add'>+},</div><div class='add'>+%q{</div><div class='add'>+  def m a, o=:o</div><div class='add'>+    a = :a</div><div class='add'>+} =&gt; %q{</div><div class='add'>+  C1.new.m 1</div><div class='add'>+  C1.new.m 1, 2</div><div class='add'>+},</div><div class='add'>+%q{</div><div class='add'>+  def m a, o=:o</div><div class='add'>+    o = :x</div><div class='add'>+} =&gt; %q{</div><div class='add'>+  C1.new.m 1</div><div class='add'>+  C1.new.m 1, 2</div><div class='add'>+},</div><div class='add'>+#</div><div class='add'>+%q{</div><div class='add'>+  def m a, *r</div><div class='add'>+} =&gt; %q{</div><div class='add'>+  C1.new.m 1</div><div class='add'>+  C1.new.m 1, 2</div><div class='add'>+  C1.new.m 1, 2, 3</div><div class='add'>+},</div><div class='add'>+%q{</div><div class='add'>+  def m a, *r</div><div class='add'>+    r = [:x, :y]</div><div class='add'>+} =&gt; %q{</div><div class='add'>+  C1.new.m 1</div><div class='add'>+  C1.new.m 1, 2</div><div class='add'>+  C1.new.m 1, 2, 3</div><div class='add'>+},</div><div class='add'>+#</div><div class='add'>+%q{</div><div class='add'>+  def m a, o=:o, *r</div><div class='add'>+} =&gt; %q{</div><div class='add'>+  C1.new.m 1</div><div class='add'>+  C1.new.m 1, 2</div><div class='add'>+  C1.new.m 1, 2, 3</div><div class='add'>+  C1.new.m 1, 2, 3, 4</div><div class='add'>+},</div><div class='add'>+#</div><div class='add'>+%q{</div><div class='add'>+  def m a, o=:o, *r, &amp;b</div><div class='add'>+} =&gt; %q{</div><div class='add'>+  C1.new.m 1</div><div class='add'>+  C1.new.m 1, 2</div><div class='add'>+  C1.new.m 1, 2, 3</div><div class='add'>+  C1.new.m 1, 2, 3, 4</div><div class='add'>+  C1.new.m(1){}</div><div class='add'>+  C1.new.m(1, 2){}</div><div class='add'>+  C1.new.m(1, 2, 3){}</div><div class='add'>+  C1.new.m(1, 2, 3, 4){}</div><div class='add'>+},</div><div class='add'>+#</div><div class='add'>+"def m(m1, m2, o1=:o1, o2=:o2, p1, p2)" =&gt;</div><div class='add'>+%q{</div><div class='add'>+C1.new.m(1,2,3,4)</div><div class='add'>+C1.new.m(1,2,3,4,5)</div><div class='add'>+C1.new.m(1,2,3,4,5,6)</div><div class='add'>+},</div><div class='add'>+#</div><div class='add'>+"def m(m1, m2, *r, p1, p2)" =&gt;</div><div class='add'>+%q{</div><div class='add'>+C1.new.m(1,2,3,4)</div><div class='add'>+C1.new.m(1,2,3,4,5)</div><div class='add'>+C1.new.m(1,2,3,4,5,6)</div><div class='add'>+C1.new.m(1,2,3,4,5,6,7)</div><div class='add'>+C1.new.m(1,2,3,4,5,6,7,8)</div><div class='add'>+},</div><div class='add'>+#</div><div class='add'>+"def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2)" =&gt;</div><div class='add'>+%q{</div><div class='add'>+C1.new.m(1,2,3,4)</div><div class='add'>+C1.new.m(1,2,3,4,5)</div><div class='add'>+C1.new.m(1,2,3,4,5,6)</div><div class='add'>+C1.new.m(1,2,3,4,5,6,7)</div><div class='add'>+C1.new.m(1,2,3,4,5,6,7,8)</div><div class='add'>+C1.new.m(1,2,3,4,5,6,7,8,9)</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'>+tests.each{|setup, methods| setup = setup.dup; setup.strip!</div><div class='add'>+  setup = BASE.gsub(/&lt;TEST&gt;/){setup}</div><div class='add'>+  methods.split(/\n/).each{|m| m = m.dup; m.strip!</div><div class='add'>+    next if m.empty?</div><div class='add'>+    expr = "#{setup}; #{m}"</div><div class='add'>+    result = eval(expr)</div><div class='add'>+    puts "assert_equal %q{#{result.inspect}}, %q{\n#{expr}}"</div><div class='add'>+    puts</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+=end</div><div class='add'>+</div><div class='add'>+assert_equal %q{[:C0_m, [1, 2, :o1, :o2, 3, 4]]}, %q{</div><div class='add'>+class C0; def m *args; [:C0_m, args]; end; end</div><div class='add'>+class C1 &lt; C0; def m(m1, m2, o1=:o1, o2=:o2, p1, p2); super; end; end</div><div class='add'>+; C1.new.m(1,2,3,4)}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[:C0_m, [1, 2, 3, :o2, 4, 5]]}, %q{</div><div class='add'>+class C0; def m *args; [:C0_m, args]; end; end</div><div class='add'>+class C1 &lt; C0; def m(m1, m2, o1=:o1, o2=:o2, p1, p2); super; end; end</div><div class='add'>+; C1.new.m(1,2,3,4,5)}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[:C0_m, [1, 2, 3, 4, 5, 6]]}, %q{</div><div class='add'>+class C0; def m *args; [:C0_m, args]; end; end</div><div class='add'>+class C1 &lt; C0; def m(m1, m2, o1=:o1, o2=:o2, p1, p2); super; end; end</div><div class='add'>+; C1.new.m(1,2,3,4,5,6)}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[:C0_m, [1, :o]]}, %q{</div><div class='add'>+class C0; def m *args; [:C0_m, args]; end; end</div><div class='add'>+class C1 &lt; C0; def m a, o=:o, *r; super; end; end</div><div class='add'>+; C1.new.m 1}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[:C0_m, [1, 2]]}, %q{</div><div class='add'>+class C0; def m *args; [:C0_m, args]; end; end</div><div class='add'>+class C1 &lt; C0; def m a, o=:o, *r; super; end; end</div><div class='add'>+; C1.new.m 1, 2}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[:C0_m, [1, 2, 3]]}, %q{</div><div class='add'>+class C0; def m *args; [:C0_m, args]; end; end</div><div class='add'>+class C1 &lt; C0; def m a, o=:o, *r; super; end; end</div><div class='add'>+; C1.new.m 1, 2, 3}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[:C0_m, [1, 2, 3, 4]]}, %q{</div><div class='add'>+class C0; def m *args; [:C0_m, args]; end; end</div><div class='add'>+class C1 &lt; C0; def m a, o=:o, *r; super; end; end</div><div class='add'>+; C1.new.m 1, 2, 3, 4}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[:C0_m, [:a]]}, %q{</div><div class='add'>+class C0; def m *args; [:C0_m, args]; end; end</div><div class='add'>+class C1 &lt; C0; def m a</div><div class='add'>+    a = :a; super; end; end</div><div class='add'>+; C1.new.m 1}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[:C0_m, [1, 2, 3, 4]]}, %q{</div><div class='add'>+class C0; def m *args; [:C0_m, args]; end; end</div><div class='add'>+class C1 &lt; C0; def m(m1, m2, *r, p1, p2); super; end; end</div><div class='add'>+; C1.new.m(1,2,3,4)}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[:C0_m, [1, 2, 3, 4, 5]]}, %q{</div><div class='add'>+class C0; def m *args; [:C0_m, args]; end; end</div><div class='add'>+class C1 &lt; C0; def m(m1, m2, *r, p1, p2); super; end; end</div><div class='add'>+; C1.new.m(1,2,3,4,5)}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[:C0_m, [1, 2, 3, 4, 5, 6]]}, %q{</div><div class='add'>+class C0; def m *args; [:C0_m, args]; end; end</div><div class='add'>+class C1 &lt; C0; def m(m1, m2, *r, p1, p2); super; end; end</div><div class='add'>+; C1.new.m(1,2,3,4,5,6)}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[:C0_m, [1, 2, 3, 4, 5, 6, 7]]}, %q{</div><div class='add'>+class C0; def m *args; [:C0_m, args]; end; end</div><div class='add'>+class C1 &lt; C0; def m(m1, m2, *r, p1, p2); super; end; end</div><div class='add'>+; C1.new.m(1,2,3,4,5,6,7)}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[:C0_m, [1, 2, 3, 4, 5, 6, 7, 8]]}, %q{</div><div class='add'>+class C0; def m *args; [:C0_m, args]; end; end</div><div class='add'>+class C1 &lt; C0; def m(m1, m2, *r, p1, p2); super; end; end</div><div class='add'>+; C1.new.m(1,2,3,4,5,6,7,8)}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[:C0_m, [1, :o]]}, %q{</div><div class='add'>+class C0; def m *args; [:C0_m, args]; end; end</div><div class='add'>+class C1 &lt; C0; def m a, o=:o, *r, &amp;b; super; end; end</div><div class='add'>+; C1.new.m 1}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[:C0_m, [1, 2]]}, %q{</div><div class='add'>+class C0; def m *args; [:C0_m, args]; end; end</div><div class='add'>+class C1 &lt; C0; def m a, o=:o, *r, &amp;b; super; end; end</div><div class='add'>+; C1.new.m 1, 2}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[:C0_m, [1, 2, 3]]}, %q{</div><div class='add'>+class C0; def m *args; [:C0_m, args]; end; end</div><div class='add'>+class C1 &lt; C0; def m a, o=:o, *r, &amp;b; super; end; end</div><div class='add'>+; C1.new.m 1, 2, 3}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[:C0_m, [1, 2, 3, 4]]}, %q{</div><div class='add'>+class C0; def m *args; [:C0_m, args]; end; end</div><div class='add'>+class C1 &lt; C0; def m a, o=:o, *r, &amp;b; super; end; end</div><div class='add'>+; C1.new.m 1, 2, 3, 4}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[:C0_m, [1, :o]]}, %q{</div><div class='add'>+class C0; def m *args; [:C0_m, args]; end; end</div><div class='add'>+class C1 &lt; C0; def m a, o=:o, *r, &amp;b; super; end; end</div><div class='add'>+; C1.new.m(1){}}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[:C0_m, [1, 2]]}, %q{</div><div class='add'>+class C0; def m *args; [:C0_m, args]; end; end</div><div class='add'>+class C1 &lt; C0; def m a, o=:o, *r, &amp;b; super; end; end</div><div class='add'>+; C1.new.m(1, 2){}}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[:C0_m, [1, 2, 3]]}, %q{</div><div class='add'>+class C0; def m *args; [:C0_m, args]; end; end</div><div class='add'>+class C1 &lt; C0; def m a, o=:o, *r, &amp;b; super; end; end</div><div class='add'>+; C1.new.m(1, 2, 3){}}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[:C0_m, [1, 2, 3, 4]]}, %q{</div><div class='add'>+class C0; def m *args; [:C0_m, args]; end; end</div><div class='add'>+class C1 &lt; C0; def m a, o=:o, *r, &amp;b; super; end; end</div><div class='add'>+; C1.new.m(1, 2, 3, 4){}}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[:C0_m, [1, :x]]}, %q{</div><div class='add'>+class C0; def m *args; [:C0_m, args]; end; end</div><div class='add'>+class C1 &lt; C0; def m a, o=:o</div><div class='add'>+    o = :x; super; end; end</div><div class='add'>+; C1.new.m 1}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[:C0_m, [1, :x]]}, %q{</div><div class='add'>+class C0; def m *args; [:C0_m, args]; end; end</div><div class='add'>+class C1 &lt; C0; def m a, o=:o</div><div class='add'>+    o = :x; super; end; end</div><div class='add'>+; C1.new.m 1, 2}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[:C0_m, [:a, :o]]}, %q{</div><div class='add'>+class C0; def m *args; [:C0_m, args]; end; end</div><div class='add'>+class C1 &lt; C0; def m a, o=:o</div><div class='add'>+    a = :a; super; end; end</div><div class='add'>+; C1.new.m 1}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[:C0_m, [:a, 2]]}, %q{</div><div class='add'>+class C0; def m *args; [:C0_m, args]; end; end</div><div class='add'>+class C1 &lt; C0; def m a, o=:o</div><div class='add'>+    a = :a; super; end; end</div><div class='add'>+; C1.new.m 1, 2}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[:C0_m, [1]]}, %q{</div><div class='add'>+class C0; def m *args; [:C0_m, args]; end; end</div><div class='add'>+class C1 &lt; C0; def m a; super; end; end</div><div class='add'>+; C1.new.m 1}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[:C0_m, [1, :x, :y]]}, %q{</div><div class='add'>+class C0; def m *args; [:C0_m, args]; end; end</div><div class='add'>+class C1 &lt; C0; def m a, *r</div><div class='add'>+    r = [:x, :y]; super; end; end</div><div class='add'>+; C1.new.m 1}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[:C0_m, [1, :x, :y]]}, %q{</div><div class='add'>+class C0; def m *args; [:C0_m, args]; end; end</div><div class='add'>+class C1 &lt; C0; def m a, *r</div><div class='add'>+    r = [:x, :y]; super; end; end</div><div class='add'>+; C1.new.m 1, 2}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[:C0_m, [1, :x, :y]]}, %q{</div><div class='add'>+class C0; def m *args; [:C0_m, args]; end; end</div><div class='add'>+class C1 &lt; C0; def m a, *r</div><div class='add'>+    r = [:x, :y]; super; end; end</div><div class='add'>+; C1.new.m 1, 2, 3}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[:C0_m, [1, 2, :o1, :o2, 3, 4]]}, %q{</div><div class='add'>+class C0; def m *args; [:C0_m, args]; end; end</div><div class='add'>+class C1 &lt; C0; def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2); super; end; end</div><div class='add'>+; C1.new.m(1,2,3,4)}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[:C0_m, [1, 2, 3, :o2, 4, 5]]}, %q{</div><div class='add'>+class C0; def m *args; [:C0_m, args]; end; end</div><div class='add'>+class C1 &lt; C0; def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2); super; end; end</div><div class='add'>+; C1.new.m(1,2,3,4,5)}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[:C0_m, [1, 2, 3, 4, 5, 6]]}, %q{</div><div class='add'>+class C0; def m *args; [:C0_m, args]; end; end</div><div class='add'>+class C1 &lt; C0; def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2); super; end; end</div><div class='add'>+; C1.new.m(1,2,3,4,5,6)}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[:C0_m, [1, 2, 3, 4, 5, 6, 7]]}, %q{</div><div class='add'>+class C0; def m *args; [:C0_m, args]; end; end</div><div class='add'>+class C1 &lt; C0; def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2); super; end; end</div><div class='add'>+; C1.new.m(1,2,3,4,5,6,7)}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[:C0_m, [1, 2, 3, 4, 5, 6, 7, 8]]}, %q{</div><div class='add'>+class C0; def m *args; [:C0_m, args]; end; end</div><div class='add'>+class C1 &lt; C0; def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2); super; end; end</div><div class='add'>+; C1.new.m(1,2,3,4,5,6,7,8)}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[:C0_m, [1, 2, 3, 4, 5, 6, 7, 8, 9]]}, %q{</div><div class='add'>+class C0; def m *args; [:C0_m, args]; end; end</div><div class='add'>+class C1 &lt; C0; def m(m1, m2, o1=:o1, o2=:o2, *r, p1, p2); super; end; end</div><div class='add'>+; C1.new.m(1,2,3,4,5,6,7,8,9)}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[:C0_m, [1]]}, %q{</div><div class='add'>+class C0; def m *args; [:C0_m, args]; end; end</div><div class='add'>+class C1 &lt; C0; def m a, *r; super; end; end</div><div class='add'>+; C1.new.m 1}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[:C0_m, [1, 2]]}, %q{</div><div class='add'>+class C0; def m *args; [:C0_m, args]; end; end</div><div class='add'>+class C1 &lt; C0; def m a, *r; super; end; end</div><div class='add'>+; C1.new.m 1, 2}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[:C0_m, [1, 2, 3]]}, %q{</div><div class='add'>+class C0; def m *args; [:C0_m, args]; end; end</div><div class='add'>+class C1 &lt; C0; def m a, *r; super; end; end</div><div class='add'>+; C1.new.m 1, 2, 3}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[:C0_m, []]}, %q{</div><div class='add'>+class C0; def m *args; [:C0_m, args]; end; end</div><div class='add'>+class C1 &lt; C0; def m; super; end; end</div><div class='add'>+; C1.new.m}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[:C0_m, [1, :o]]}, %q{</div><div class='add'>+class C0; def m *args; [:C0_m, args]; end; end</div><div class='add'>+class C1 &lt; C0; def m a, o=:o; super; end; end</div><div class='add'>+; C1.new.m 1}</div><div class='add'>+</div><div class='add'>+assert_equal %q{[:C0_m, [1, 2]]}, %q{</div><div class='add'>+class C0; def m *args; [:C0_m, args]; end; end</div><div class='add'>+class C1 &lt; C0; def m a, o=:o; super; end; end</div><div class='add'>+; C1.new.m 1, 2}</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  class C</div><div class='add'>+    def x=(n)</div><div class='add'>+    end</div><div class='add'>+    def m</div><div class='add'>+      self.x = :ok</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  C.new.m</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  proc{</div><div class='add'>+    $SAFE = 1</div><div class='add'>+    class C</div><div class='add'>+      def m</div><div class='add'>+        :ok</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  }.call</div><div class='add'>+  C.new.m</div><div class='add'>+}, '[ruby-core:11998]'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  class B</div><div class='add'>+    def m() :fail end</div><div class='add'>+  end</div><div class='add'>+  class C &lt; B</div><div class='add'>+    undef m</div><div class='add'>+    begin</div><div class='add'>+      remove_method :m</div><div class='add'>+    rescue NameError</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  begin</div><div class='add'>+    C.new.m</div><div class='add'>+  rescue NameError</div><div class='add'>+    :ok</div><div class='add'>+  end</div><div class='add'>+}, '[ruby-dev:31816], [ruby-dev:31817]'</div><div class='add'>+</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  begin</div><div class='add'>+    Process.setrlimit(Process::RLIMIT_STACK, 4_206_592)</div><div class='add'>+    # FreeBSD SEGVs this less than 4M + 12K bytes.</div><div class='add'>+  rescue Exception</div><div class='add'>+    exit</div><div class='add'>+  end</div><div class='add'>+  class C</div><div class='add'>+    attr "a" * (10*1024*1024)</div><div class='add'>+  end</div><div class='add'>+}, '[ruby-dev:31818]'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  class Module</div><div class='add'>+    def define_method2(name, &amp;block)</div><div class='add'>+      define_method(name, &amp;block)</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  class C</div><div class='add'>+    define_method2(:m) {|x, y| :fail }</div><div class='add'>+  end</div><div class='add'>+  begin</div><div class='add'>+    C.new.m([1,2])</div><div class='add'>+  rescue ArgumentError</div><div class='add'>+    :ok</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_not_match /method_missing/, %q{</div><div class='add'>+  STDERR.reopen(STDOUT)</div><div class='add'>+  variable_or_mehtod_not_exist</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal '[false, false, false, false, true, true]', %q{</div><div class='add'>+  class C</div><div class='add'>+    define_method(:foo) {</div><div class='add'>+      block_given?</div><div class='add'>+    }</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  C.new.foo {}</div><div class='add'>+</div><div class='add'>+  class D</div><div class='add'>+    def foo</div><div class='add'>+      D.module_eval{</div><div class='add'>+        define_method(:m1){</div><div class='add'>+          block_given?</div><div class='add'>+        }</div><div class='add'>+      }</div><div class='add'>+    end</div><div class='add'>+    def bar</div><div class='add'>+      D.module_eval{</div><div class='add'>+        define_method(:m2){</div><div class='add'>+          block_given?</div><div class='add'>+        }</div><div class='add'>+      }</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  D.new.foo</div><div class='add'>+  D.new.bar{}</div><div class='add'>+  [C.new.foo, C.new.foo{}, D.new.m1, D.new.m1{}, D.new.m2, D.new.m2{}]</div><div class='add'>+}, '[ruby-core:14813]'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  class Foo</div><div class='add'>+    define_method(:foo) do |&amp;b|</div><div class='add'>+      b.call</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  Foo.new.foo do</div><div class='add'>+    break :ok</div><div class='add'>+  end</div><div class='add'>+}, '[ruby-dev:36028]'</div><div class='add'>+</div><div class='add'>+assert_equal '[1, 2, [3, 4]]', %q{</div><div class='add'>+  def regular(a, b, *c)</div><div class='add'>+    [a, b, c]</div><div class='add'>+  end</div><div class='add'>+  regular(*[], 1, *[], *[2, 3], *[], 4)</div><div class='add'>+}, '[ruby-core:19413]'</div><div class='add'>+</div><div class='add'>+assert_equal '[1, [:foo, 3, 4, :foo]]', %q{</div><div class='add'>+  def regular(a, *b)</div><div class='add'>+    [a, b]</div><div class='add'>+  end</div><div class='add'>+  a = b = [:foo]</div><div class='add'>+  regular(1, *a, *[3, 4], *b)</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal '["B", "A"]', %q{</div><div class='add'>+  class A</div><div class='add'>+    def m</div><div class='add'>+      'A'</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  class B &lt; A</div><div class='add'>+    define_method(:m) do</div><div class='add'>+      ['B', super()]</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  class C &lt; B</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  C.new.m</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  module Foo</div><div class='add'>+    def foo</div><div class='add'>+      begin</div><div class='add'>+        super</div><div class='add'>+      rescue NoMethodError</div><div class='add'>+        :ok</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+    module_function :foo</div><div class='add'>+  end</div><div class='add'>+  Foo.foo</div><div class='add'>+}, '[ruby-dev:37587]'</div><div class='add'>+</div><div class='add'>+assert_equal 'Object#foo', %q{</div><div class='add'>+  class Object</div><div class='add'>+    def self.foo</div><div class='add'>+      "Object.foo"</div><div class='add'>+    end</div><div class='add'>+    def foo</div><div class='add'>+      "Object#foo"</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  module Foo</div><div class='add'>+    def foo</div><div class='add'>+      begin</div><div class='add'>+        super</div><div class='add'>+      rescue NoMethodError</div><div class='add'>+        :ok</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+    module_function :foo</div><div class='add'>+  end</div><div class='add'>+  Foo.foo</div><div class='add'>+}, '[ruby-dev:37587]'</div><div class='add'>+</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  class BasicObject</div><div class='add'>+    remove_method :method_missing</div><div class='add'>+  end</div><div class='add'>+  begin</div><div class='add'>+    "a".lalala!</div><div class='add'>+  rescue NoMethodError =&gt; e</div><div class='add'>+    e.message == "undefined method `lalala!' for \"a\":String" ? :ok : :ng</div><div class='add'>+  end</div><div class='add'>+}, '[ruby-core:22298]'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  "hello"[0] ||= "H"</div><div class='add'>+  "ok"</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  "hello"[0, 1] ||= "H"</div><div class='add'>+  "ok"</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  class C</div><div class='add'>+    define_method(:foo) do</div><div class='add'>+      C.class_eval { remove_method(:foo) }</div><div class='add'>+      super()</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  begin</div><div class='add'>+    C.new.foo</div><div class='add'>+  rescue NoMethodError</div><div class='add'>+    'ok'</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  [0][0, &amp;proc{}] += 21</div><div class='add'>+  'ok'</div><div class='add'>+}, '[ruby-core:30534]'</div><div class='add'>+</div><div class='add'>+# should not cache when splat</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  class C</div><div class='add'>+    attr_reader :a</div><div class='add'>+    def initialize</div><div class='add'>+      @a = 1</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def m *args</div><div class='add'>+    C.new.a(*args)</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  m()</div><div class='add'>+  begin</div><div class='add'>+    m(1)</div><div class='add'>+  rescue ArgumentError</div><div class='add'>+    'ok'</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal 'DC', %q{</div><div class='add'>+  $result = []</div><div class='add'>+</div><div class='add'>+  class C</div><div class='add'>+    def foo *args</div><div class='add'>+      $result &lt;&lt; 'C'</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  class D</div><div class='add'>+    def foo *args</div><div class='add'>+      $result &lt;&lt; 'D'</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  o1 = $o1 = C.new</div><div class='add'>+  o2 = $o2 = D.new</div><div class='add'>+</div><div class='add'>+  args = Object.new</div><div class='add'>+  def args.to_a</div><div class='add'>+    test1 $o2, nil</div><div class='add'>+    []</div><div class='add'>+  end</div><div class='add'>+  def test1 o, args</div><div class='add'>+    o.foo(*args)</div><div class='add'>+  end</div><div class='add'>+  test1 o1, args</div><div class='add'>+  $result.join</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal 'DC', %q{</div><div class='add'>+  $result = []</div><div class='add'>+</div><div class='add'>+  class C</div><div class='add'>+    def foo *args</div><div class='add'>+      $result &lt;&lt; 'C'</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  class D</div><div class='add'>+    def foo *args</div><div class='add'>+      $result &lt;&lt; 'D'</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  o1 = $o1 = C.new</div><div class='add'>+  o2 = $o2 = D.new</div><div class='add'>+</div><div class='add'>+  block = Object.new</div><div class='add'>+  def block.to_proc</div><div class='add'>+    test2 $o2, %w(a, b, c), nil</div><div class='add'>+    Proc.new{}</div><div class='add'>+  end</div><div class='add'>+  def test2 o, args, block</div><div class='add'>+    o.foo(*args, &amp;block)</div><div class='add'>+  end</div><div class='add'>+  test2 o1, [], block</div><div class='add'>+  $result.join</div><div class='add'>+}</div><div class='head'>diff --git a/bootstraptest/test_objectspace.rb b/bootstraptest/test_objectspace.rb<br/>new file mode 100644<br/>index 0000000000..63a8d99322<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bootstraptest/test_objectspace.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>bootstraptest/test_objectspace.rb</a></div><div class='hunk'>@@ -0,0 +1,55 @@</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  eval("", TOPLEVEL_BINDING)</div><div class='add'>+  minobj = ObjectSpace.to_enum(:each_object).min_by {|a| a.object_id }</div><div class='add'>+  maxobj = ObjectSpace.to_enum(:each_object).max_by {|a| a.object_id }</div><div class='add'>+  (((minobj.object_id-100)..(minobj.object_id+100))+</div><div class='add'>+   ((maxobj.object_id-100)..(maxobj.object_id+100))).each {|id|</div><div class='add'>+    begin</div><div class='add'>+      o = ObjectSpace._id2ref(id)</div><div class='add'>+    rescue RangeError</div><div class='add'>+      next</div><div class='add'>+    end</div><div class='add'>+    o.inspect if defined?(o.inspect)</div><div class='add'>+  }</div><div class='add'>+}, '[ruby-dev:31911]'</div><div class='add'>+</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  ary = (1..10).to_a</div><div class='add'>+  ary.permutation(2) {|x|</div><div class='add'>+    if x == [1,2]</div><div class='add'>+      ObjectSpace.each_object(String) {|s|</div><div class='add'>+        s.clear if !s.frozen? &amp;&amp; (s.length == 40 || s.length == 80)</div><div class='add'>+      }</div><div class='add'>+    end</div><div class='add'>+  }</div><div class='add'>+}, '[ruby-dev:31982]'</div><div class='add'>+</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  ary = (1..100).to_a</div><div class='add'>+  ary.permutation(2) {|x|</div><div class='add'>+    if x == [1,2]</div><div class='add'>+      ObjectSpace.each_object(Array) {|o| o.clear if o == ary &amp;&amp; o.object_id != ary.object_id }</div><div class='add'>+    end</div><div class='add'>+  }</div><div class='add'>+}, '[ruby-dev:31985]'</div><div class='add'>+</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  ObjectSpace.define_finalizer("") do</div><div class='add'>+    Thread::Mutex.new.lock</div><div class='add'>+  end</div><div class='add'>+}, '[ruby-dev:44049]'</div><div class='add'>+</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  ObjectSpace.define_finalizer("") do</div><div class='add'>+    Thread.new {}</div><div class='add'>+  end</div><div class='add'>+}, '[ruby-core:37858]'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  objects_and_ids = 1000.times.map { o = Object.new; [o, o.object_id] }</div><div class='add'>+  objects_and_ids.each { |expected, id|</div><div class='add'>+    actual = ObjectSpace._id2ref(id)</div><div class='add'>+    raise "expected #{expected.inspect}, got #{actual.inspect}" unless actual.equal?(expected)</div><div class='add'>+  }</div><div class='add'>+  'ok'</div><div class='add'>+}</div><div class='head'>diff --git a/bootstraptest/test_proc.rb b/bootstraptest/test_proc.rb<br/>new file mode 100644<br/>index 0000000000..637603243d<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bootstraptest/test_proc.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>bootstraptest/test_proc.rb</a></div><div class='hunk'>@@ -0,0 +1,470 @@</div><div class='add'>+assert_equal %q{[1, 2, 3]}, %q{</div><div class='add'>+  def getproc &amp;b</div><div class='add'>+    b</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def m</div><div class='add'>+    yield</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  m{</div><div class='add'>+    i = 1</div><div class='add'>+    m{</div><div class='add'>+      j = 2</div><div class='add'>+      m{</div><div class='add'>+        k = 3</div><div class='add'>+        getproc{</div><div class='add'>+          [i, j, k]</div><div class='add'>+        }</div><div class='add'>+      }</div><div class='add'>+    }</div><div class='add'>+  }.call</div><div class='add'>+}</div><div class='add'>+assert_equal %q{7}, %q{</div><div class='add'>+  def make_proc(&amp;b)</div><div class='add'>+    b</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def make_closure</div><div class='add'>+    a = 0</div><div class='add'>+    make_proc{</div><div class='add'>+      a+=1</div><div class='add'>+    }</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  cl = make_closure</div><div class='add'>+  cl.call + cl.call * cl.call</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  class C</div><div class='add'>+    def foo</div><div class='add'>+      :ok</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def block</div><div class='add'>+    C.method(:new).to_proc</div><div class='add'>+  end</div><div class='add'>+  b = block()</div><div class='add'>+  b.call.foo</div><div class='add'>+}</div><div class='add'>+assert_equal %q{[0, 1, :last, 0, 2, :last]}, %q{</div><div class='add'>+  def proc &amp;b</div><div class='add'>+    b</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  pr = []</div><div class='add'>+  proc{|i_b|</div><div class='add'>+    p3 = proc{|j_b|</div><div class='add'>+      pr &lt;&lt; proc{|k_b|</div><div class='add'>+        [i_b, j_b, k_b]</div><div class='add'>+      }</div><div class='add'>+    }</div><div class='add'>+    p3.call(1)</div><div class='add'>+    p3.call(2)</div><div class='add'>+  }.call(0)</div><div class='add'>+</div><div class='add'>+  pr[0].call(:last).concat pr[1].call(:last)</div><div class='add'>+}</div><div class='add'>+assert_equal %q{12}, %q{</div><div class='add'>+  def iter</div><div class='add'>+    yield</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def getproc &amp;b</div><div class='add'>+    b</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  iter{</div><div class='add'>+    bvar = 3</div><div class='add'>+    getproc{</div><div class='add'>+      bvar2 = 4</div><div class='add'>+      bvar * bvar2</div><div class='add'>+    }</div><div class='add'>+  }.call</div><div class='add'>+}</div><div class='add'>+assert_equal %q{200}, %q{</div><div class='add'>+  def iter</div><div class='add'>+    yield</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def getproc &amp;b</div><div class='add'>+    b</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  loc1 = 0</div><div class='add'>+  pr1 = iter{</div><div class='add'>+    bl1 = 1</div><div class='add'>+    getproc{</div><div class='add'>+      loc1 += 1</div><div class='add'>+      bl1  += 1</div><div class='add'>+      loc1 + bl1</div><div class='add'>+    }</div><div class='add'>+  }</div><div class='add'>+</div><div class='add'>+  pr2 = iter{</div><div class='add'>+    bl1 = 1</div><div class='add'>+    getproc{</div><div class='add'>+      loc1 += 1</div><div class='add'>+      bl1  += 1</div><div class='add'>+      loc1 + bl1</div><div class='add'>+    }</div><div class='add'>+  }</div><div class='add'>+</div><div class='add'>+  pr1.call; pr2.call</div><div class='add'>+  pr1.call; pr2.call</div><div class='add'>+  pr1.call; pr2.call</div><div class='add'>+  (pr1.call + pr2.call) * loc1</div><div class='add'>+}</div><div class='add'>+assert_equal %q{[1, 2]}, %q{</div><div class='add'>+  def proc(&amp;pr)</div><div class='add'>+    pr</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def m</div><div class='add'>+    a = 1</div><div class='add'>+    m2{</div><div class='add'>+      a</div><div class='add'>+    }</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def m2</div><div class='add'>+    b = 2</div><div class='add'>+    proc{</div><div class='add'>+      [yield, b]</div><div class='add'>+    }</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  pr = m</div><div class='add'>+  x = ['a', 1,2,3,4,5,6,7,8,9,0,</div><div class='add'>+            1,2,3,4,5,6,7,8,9,0,</div><div class='add'>+            1,2,3,4,5,6,7,8,9,0,</div><div class='add'>+            1,2,3,4,5,6,7,8,9,0,</div><div class='add'>+            1,2,3,4,5,6,7,8,9,0,]</div><div class='add'>+  pr.call</div><div class='add'>+}</div><div class='add'>+assert_equal %q{1}, %q{</div><div class='add'>+  def proc(&amp;pr)</div><div class='add'>+    pr</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def m</div><div class='add'>+    a = 1</div><div class='add'>+    m2{</div><div class='add'>+      a</div><div class='add'>+    }</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def m2</div><div class='add'>+    b = 2</div><div class='add'>+    proc{</div><div class='add'>+      [yield, b]</div><div class='add'>+    }</div><div class='add'>+    100000.times{|x|</div><div class='add'>+      "#{x}"</div><div class='add'>+    }</div><div class='add'>+    yield</div><div class='add'>+  end</div><div class='add'>+  m</div><div class='add'>+}</div><div class='add'>+assert_equal %q{[:C, :C]}, %q{</div><div class='add'>+  Const = :top</div><div class='add'>+  class C</div><div class='add'>+    Const = :C</div><div class='add'>+    $pr = proc{</div><div class='add'>+      (1..2).map{</div><div class='add'>+        Const</div><div class='add'>+      }</div><div class='add'>+    }</div><div class='add'>+  end</div><div class='add'>+  $pr.call</div><div class='add'>+}</div><div class='add'>+assert_equal %q{top}, %q{</div><div class='add'>+  Const = :top</div><div class='add'>+  class C</div><div class='add'>+    Const = :C</div><div class='add'>+  end</div><div class='add'>+  pr = proc{</div><div class='add'>+    Const</div><div class='add'>+  }</div><div class='add'>+  C.class_eval %q{</div><div class='add'>+    pr.call</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{1}, %q{</div><div class='add'>+  def m(&amp;b)</div><div class='add'>+    b</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  m{|e_proctest| e_proctest}.call(1)</div><div class='add'>+}</div><div class='add'>+assert_equal %q{12}, %q{</div><div class='add'>+  def m(&amp;b)</div><div class='add'>+    b</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  m{|e_proctest1, e_proctest2|</div><div class='add'>+    a = e_proctest1 * e_proctest2 * 2</div><div class='add'>+    a * 3</div><div class='add'>+  }.call(1, 2)</div><div class='add'>+}</div><div class='add'>+assert_equal %q{[[], [1], [1, 2], [1, 2, 3]]}, %q{</div><div class='add'>+  [</div><div class='add'>+  Proc.new{|*args| args}.call(),</div><div class='add'>+  Proc.new{|*args| args}.call(1),</div><div class='add'>+  Proc.new{|*args| args}.call(1, 2),</div><div class='add'>+  Proc.new{|*args| args}.call(1, 2, 3),</div><div class='add'>+  ]</div><div class='add'>+}</div><div class='add'>+assert_equal %q{[[nil, []], [1, []], [1, [2]], [1, [2, 3]]]}, %q{</div><div class='add'>+  [</div><div class='add'>+  Proc.new{|a, *b| [a, b]}.call(),</div><div class='add'>+  Proc.new{|a, *b| [a, b]}.call(1),</div><div class='add'>+  Proc.new{|a, *b| [a, b]}.call(1, 2),</div><div class='add'>+  Proc.new{|a, *b| [a, b]}.call(1, 2, 3),</div><div class='add'>+  ]</div><div class='add'>+}</div><div class='add'>+assert_equal %q{1}, %q{</div><div class='add'>+  def m(&amp;b)</div><div class='add'>+    b</div><div class='add'>+  end</div><div class='add'>+  m{1}.call</div><div class='add'>+}</div><div class='add'>+assert_equal %q{3}, %q{</div><div class='add'>+  def m(&amp;b)</div><div class='add'>+    b</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  m{</div><div class='add'>+    a = 1</div><div class='add'>+    a + 2</div><div class='add'>+  }.call</div><div class='add'>+}</div><div class='add'>+assert_equal %Q{ok\n}, %q{</div><div class='add'>+  class A; def get_block; proc {puts "ok"} end end</div><div class='add'>+  block = A.new.get_block</div><div class='add'>+  GC.start</div><div class='add'>+  block.call</div><div class='add'>+}, '[ruby-core:14885]'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  a = lambda {|x, y, &amp;b| b }</div><div class='add'>+  b = a.curry[1]</div><div class='add'>+  if b.call(2){} == nil</div><div class='add'>+    :ng</div><div class='add'>+  else</div><div class='add'>+    :ok</div><div class='add'>+  end</div><div class='add'>+}, '[ruby-core:15551]'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  lambda {</div><div class='add'>+    break :ok</div><div class='add'>+    :ng</div><div class='add'>+  }.call</div><div class='add'>+}, '[ruby-dev:34646]'</div><div class='add'>+</div><div class='add'>+assert_equal %q{[:bar, :foo]}, %q{</div><div class='add'>+  def foo</div><div class='add'>+    klass = Class.new do</div><div class='add'>+      define_method(:bar) do</div><div class='add'>+        return :bar</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+    [klass.new.bar, :foo]</div><div class='add'>+  end</div><div class='add'>+  foo</div><div class='add'>+}, "[ ruby-Bugs-19304 ]"</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+   $x = :ok</div><div class='add'>+   def def7(x, y)</div><div class='add'>+      x[y]</div><div class='add'>+      $x = :ng</div><div class='add'>+   end</div><div class='add'>+   def test_def7</div><div class='add'>+      def7(lambda {|x| x.call}, Proc.new {return})</div><div class='add'>+      $x = :ng</div><div class='add'>+   end</div><div class='add'>+   test_def7</div><div class='add'>+   $x</div><div class='add'>+}, '[ruby-core:17164]'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  lambda { a = lambda { return }; $x = :ng; a[]; $x = :ok }.call</div><div class='add'>+  $x</div><div class='add'>+}, '[ruby-core:17164]'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  lambda { a = lambda { break }; $x = :ng; a[]; $x = :ok }.call</div><div class='add'>+  $x</div><div class='add'>+}, '[ruby-core:17164]'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  def def8</div><div class='add'>+    $x = :ng</div><div class='add'>+    lambda { a = Proc.new { return }; a[]}.call</div><div class='add'>+    $x = :ok</div><div class='add'>+  end</div><div class='add'>+  def8</div><div class='add'>+  $x</div><div class='add'>+}, '[ruby-core:17164]'</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+   def def9</div><div class='add'>+      lambda {|a| $x = :ok; a[]; $x = :ng }.call(Proc.new { return })</div><div class='add'>+      $x = :ng</div><div class='add'>+   end</div><div class='add'>+   def9</div><div class='add'>+   $x</div><div class='add'>+}, '[ruby-core:17164]'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+   def def10</div><div class='add'>+     $x = :ng</div><div class='add'>+     lambda { 1.times { return } }.call</div><div class='add'>+     $x = :ok</div><div class='add'>+   end</div><div class='add'>+   $x = :ok</div><div class='add'>+   def10</div><div class='add'>+   $x</div><div class='add'>+}, '[ruby-core:17164]'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+   def def11</div><div class='add'>+      yield</div><div class='add'>+   end</div><div class='add'>+   begin</div><div class='add'>+      lambda { def11 { return } }.call</div><div class='add'>+   rescue LocalJumpError</div><div class='add'>+      :ng</div><div class='add'>+   else</div><div class='add'>+      :ok</div><div class='add'>+   end</div><div class='add'>+}, '[ruby-core:17164]'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+   def def12</div><div class='add'>+      b = Proc.new { $x = :ng; lambda { return }.call; $x = :ok }.call</div><div class='add'>+   end</div><div class='add'>+   def12</div><div class='add'>+   $x</div><div class='add'>+}, '[ruby-core:17164]'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  def m</div><div class='add'>+    pr = proc{</div><div class='add'>+      proc{</div><div class='add'>+        return :ok</div><div class='add'>+      }</div><div class='add'>+    }.call</div><div class='add'>+    pr.call</div><div class='add'>+    :ng</div><div class='add'>+  end</div><div class='add'>+  m()</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  class Foo</div><div class='add'>+    def call_it(&amp;block)</div><div class='add'>+      p = Proc.new(&amp;block)</div><div class='add'>+      p.call</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def give_it</div><div class='add'>+    proc { :ok }</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  f = Foo.new</div><div class='add'>+  a_proc = give_it</div><div class='add'>+  f.call_it(&amp;give_it())</div><div class='add'>+}, '[ruby-core:15711]'</div><div class='add'>+</div><div class='add'>+assert_equal 'foo!', %q{</div><div class='add'>+  class FooProc &lt; Proc</div><div class='add'>+    def initialize</div><div class='add'>+      @foo = "foo!"</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    def bar</div><div class='add'>+      @foo</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def bar</div><div class='add'>+    FooProc.new &amp;lambda{</div><div class='add'>+      p 1</div><div class='add'>+    }</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  fp = bar(&amp;lambda{</div><div class='add'>+    p 2</div><div class='add'>+  })</div><div class='add'>+</div><div class='add'>+  fp.bar</div><div class='add'>+}, 'Subclass of Proc'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  o = Object.new</div><div class='add'>+  def o.write(s); end</div><div class='add'>+  $stderr = o</div><div class='add'>+  at_exit{</div><div class='add'>+    print $!.message</div><div class='add'>+  }</div><div class='add'>+  raise "ok"</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  lambda do</div><div class='add'>+    class A</div><div class='add'>+      class B</div><div class='add'>+        proc{return :ng}.call</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  end.call</div><div class='add'>+  :ok</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  $proc = proc{return}</div><div class='add'>+  begin</div><div class='add'>+    lambda do</div><div class='add'>+      class A</div><div class='add'>+        class B</div><div class='add'>+          $proc.call</div><div class='add'>+        end</div><div class='add'>+      end</div><div class='add'>+    end.call</div><div class='add'>+    :ng</div><div class='add'>+  rescue LocalJumpError</div><div class='add'>+    :ok</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  def x</div><div class='add'>+    binding</div><div class='add'>+  end</div><div class='add'>+  b = x{|a| a }</div><div class='add'>+  b.eval('yield("ok")')</div><div class='add'>+}, '[Bug #5634]'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  def x</div><div class='add'>+    binding</div><div class='add'>+  end</div><div class='add'>+  eval("x { 'ok' }").eval "yield"</div><div class='add'>+}, '[Bug #5634]'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  def x</div><div class='add'>+    binding</div><div class='add'>+  end</div><div class='add'>+  def m</div><div class='add'>+    x{ 'ok' }</div><div class='add'>+  end</div><div class='add'>+  eval('yield', m)</div><div class='add'>+}, '[Bug #5634]'</div><div class='add'>+</div><div class='head'>diff --git a/bootstraptest/test_ractor.rb b/bootstraptest/test_ractor.rb<br/>new file mode 100644<br/>index 0000000000..843714a7bc<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bootstraptest/test_ractor.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>bootstraptest/test_ractor.rb</a></div><div class='hunk'>@@ -0,0 +1,1316 @@</div><div class='add'>+# Ractor.current returns a current ractor</div><div class='add'>+assert_equal 'Ractor', %q{</div><div class='add'>+  Ractor.current.class</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Ractor.new returns new Ractor</div><div class='add'>+assert_equal 'Ractor', %q{</div><div class='add'>+  Ractor.new{}.class</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# A Ractor can have a name</div><div class='add'>+assert_equal 'test-name', %q{</div><div class='add'>+  r = Ractor.new name: 'test-name' do</div><div class='add'>+  end</div><div class='add'>+  r.name</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# If Ractor doesn't have a name, Ractor#name returns nil.</div><div class='add'>+assert_equal 'nil', %q{</div><div class='add'>+  r = Ractor.new do</div><div class='add'>+  end</div><div class='add'>+  r.name.inspect</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Raises exceptions if initialize with an invalid name</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  begin</div><div class='add'>+    r = Ractor.new(name: [{}]) {}</div><div class='add'>+  rescue TypeError =&gt; e</div><div class='add'>+    'ok'</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Ractor.new must call with a block</div><div class='add'>+assert_equal "must be called with a block", %q{</div><div class='add'>+  begin</div><div class='add'>+    Ractor.new</div><div class='add'>+  rescue ArgumentError =&gt; e</div><div class='add'>+    e.message</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Ractor#inspect</div><div class='add'>+# Return only id and status for main ractor</div><div class='add'>+assert_equal "#&lt;Ractor:#1 running&gt;", %q{</div><div class='add'>+  Ractor.current.inspect</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Return id, loc, and status for no-name ractor</div><div class='add'>+assert_match /^#&lt;Ractor:#([^ ]*?) .+:[0-9]+ terminated&gt;$/, %q{</div><div class='add'>+  r = Ractor.new { '' }</div><div class='add'>+  r.take</div><div class='add'>+  sleep 0.1 until r.inspect =~ /terminated/</div><div class='add'>+  r.inspect</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Return id, name, loc, and status for named ractor</div><div class='add'>+assert_match /^#&lt;Ractor:#([^ ]*?) Test Ractor .+:[0-9]+ terminated&gt;$/, %q{</div><div class='add'>+  r = Ractor.new(name: 'Test Ractor') { '' }</div><div class='add'>+  r.take</div><div class='add'>+  sleep 0.1 until r.inspect =~ /terminated/</div><div class='add'>+  r.inspect</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# A return value of a Ractor block will be a message from the Ractor.</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  # join</div><div class='add'>+  r = Ractor.new do</div><div class='add'>+    'ok'</div><div class='add'>+  end</div><div class='add'>+  r.take</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Passed arguments to Ractor.new will be a block parameter</div><div class='add'>+# The values are passed with Ractor-communication pass.</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  # ping-pong with arg</div><div class='add'>+  r = Ractor.new 'ok' do |msg|</div><div class='add'>+    msg</div><div class='add'>+  end</div><div class='add'>+  r.take</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Pass multiple arguments to Ractor.new</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  # ping-pong with two args</div><div class='add'>+  r =  Ractor.new 'ping', 'pong' do |msg, msg2|</div><div class='add'>+    [msg, msg2]</div><div class='add'>+  end</div><div class='add'>+  'ok' if r.take == ['ping', 'pong']</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Ractor#send passes an object with copy to a Ractor</div><div class='add'>+# and Ractor.receive in the Ractor block can receive the passed value.</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  r = Ractor.new do</div><div class='add'>+    msg = Ractor.receive</div><div class='add'>+  end</div><div class='add'>+  r.send 'ok'</div><div class='add'>+  r.take</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Ractor#receive_if can filter the message</div><div class='add'>+assert_equal '[2, 3, 1]', %q{</div><div class='add'>+  r = Ractor.new Ractor.current do |main|</div><div class='add'>+    main &lt;&lt; 1</div><div class='add'>+    main &lt;&lt; 2</div><div class='add'>+    main &lt;&lt; 3</div><div class='add'>+  end</div><div class='add'>+  a = []</div><div class='add'>+  a &lt;&lt; Ractor.receive_if{|msg| msg == 2}</div><div class='add'>+  a &lt;&lt; Ractor.receive_if{|msg| msg == 3}</div><div class='add'>+  a &lt;&lt; Ractor.receive</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Ractor#receive_if with break</div><div class='add'>+assert_equal '[2, [1, :break], 3]', %q{</div><div class='add'>+  r = Ractor.new Ractor.current do |main|</div><div class='add'>+    main &lt;&lt; 1</div><div class='add'>+    main &lt;&lt; 2</div><div class='add'>+    main &lt;&lt; 3</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  a = []</div><div class='add'>+  a &lt;&lt; Ractor.receive_if{|msg| msg == 2}</div><div class='add'>+  a &lt;&lt; Ractor.receive_if{|msg| break [msg, :break]}</div><div class='add'>+  a &lt;&lt; Ractor.receive</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Ractor#receive_if can't be called recursively</div><div class='add'>+assert_equal '[[:e1, 1], [:e2, 2]]', %q{</div><div class='add'>+  r = Ractor.new Ractor.current do |main|</div><div class='add'>+    main &lt;&lt; 1</div><div class='add'>+    main &lt;&lt; 2</div><div class='add'>+    main &lt;&lt; 3</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  a = []</div><div class='add'>+</div><div class='add'>+  Ractor.receive_if do |msg|</div><div class='add'>+    begin</div><div class='add'>+      Ractor.receive</div><div class='add'>+    rescue Ractor::Error</div><div class='add'>+      a &lt;&lt; [:e1, msg]</div><div class='add'>+    end</div><div class='add'>+    true # delete 1 from queue</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  Ractor.receive_if do |msg|</div><div class='add'>+    begin</div><div class='add'>+      Ractor.receive_if{}</div><div class='add'>+    rescue Ractor::Error</div><div class='add'>+      a &lt;&lt; [:e2, msg]</div><div class='add'>+    end</div><div class='add'>+    true # delete 2 from queue</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  a #</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+###</div><div class='add'>+###</div><div class='add'>+# Ractor still has several memory corruption so skip huge number of tests</div><div class='add'>+if ENV['GITHUB_WORKFLOW'] &amp;&amp;</div><div class='add'>+   ENV['GITHUB_WORKFLOW'] == 'Compilations'</div><div class='add'>+   # ignore the follow</div><div class='add'>+else</div><div class='add'>+</div><div class='add'>+# Ractor.select(*ractors) receives a values from a ractors.</div><div class='add'>+# It is similar to select(2) and Go's select syntax.</div><div class='add'>+# The return value is [ch, received_value]</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  # select 1</div><div class='add'>+  r1 = Ractor.new{'r1'}</div><div class='add'>+  r, obj = Ractor.select(r1)</div><div class='add'>+  'ok' if r == r1 and obj == 'r1'</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Ractor.select from two ractors.</div><div class='add'>+assert_equal '["r1", "r2"]', %q{</div><div class='add'>+  # select 2</div><div class='add'>+  r1 = Ractor.new{'r1'}</div><div class='add'>+  r2 = Ractor.new{'r2'}</div><div class='add'>+  rs = [r1, r2]</div><div class='add'>+  as = []</div><div class='add'>+  r, obj = Ractor.select(*rs)</div><div class='add'>+  rs.delete(r)</div><div class='add'>+  as &lt;&lt; obj</div><div class='add'>+  r, obj = Ractor.select(*rs)</div><div class='add'>+  as &lt;&lt; obj</div><div class='add'>+  as.sort #=&gt; ["r1", "r2"]</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Ractor.select from multiple ractors.</div><div class='add'>+assert_equal 30.times.map { 'ok' }.to_s, %q{</div><div class='add'>+  def test n</div><div class='add'>+    rs = (1..n).map do |i|</div><div class='add'>+      Ractor.new(i) do |i|</div><div class='add'>+        "r#{i}"</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+    as = []</div><div class='add'>+    all_rs = rs.dup</div><div class='add'>+</div><div class='add'>+    n.times{</div><div class='add'>+      r, obj = Ractor.select(*rs)</div><div class='add'>+      as &lt;&lt; [r, obj]</div><div class='add'>+      rs.delete(r)</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if as.map{|r, o| r.object_id}.sort == all_rs.map{|r| r.object_id}.sort &amp;&amp;</div><div class='add'>+       as.map{|r, o| o}.sort == (1..n).map{|i| "r#{i}"}.sort</div><div class='add'>+      'ok'</div><div class='add'>+    else</div><div class='add'>+      'ng'</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  30.times.map{|i|</div><div class='add'>+    test i</div><div class='add'>+  }</div><div class='add'>+} unless ENV['RUN_OPTS'] =~ /--jit-min-calls=5/ # This always fails with --jit-wait --jit-min-calls=5</div><div class='add'>+</div><div class='add'>+# Exception for empty select</div><div class='add'>+assert_match /specify at least one ractor/, %q{</div><div class='add'>+  begin</div><div class='add'>+    Ractor.select</div><div class='add'>+  rescue ArgumentError =&gt; e</div><div class='add'>+    e.message</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Outgoing port of a ractor will be closed when the Ractor is terminated.</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  r = Ractor.new do</div><div class='add'>+    'finish'</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  r.take</div><div class='add'>+  sleep 0.1 until r.inspect =~ /terminated/</div><div class='add'>+</div><div class='add'>+  begin</div><div class='add'>+    o = r.take</div><div class='add'>+  rescue Ractor::ClosedError</div><div class='add'>+    'ok'</div><div class='add'>+  else</div><div class='add'>+    "ng: #{o}"</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Raise Ractor::ClosedError when try to send into a terminated ractor</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  r = Ractor.new do</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  r.take # closed</div><div class='add'>+  sleep 0.1 until r.inspect =~ /terminated/</div><div class='add'>+</div><div class='add'>+  begin</div><div class='add'>+    r.send(1)</div><div class='add'>+  rescue Ractor::ClosedError</div><div class='add'>+    'ok'</div><div class='add'>+  else</div><div class='add'>+    'ng'</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Raise Ractor::ClosedError when try to send into a closed actor</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  r = Ractor.new { Ractor.receive }</div><div class='add'>+  r.close_incoming</div><div class='add'>+</div><div class='add'>+  begin</div><div class='add'>+    r.send(1)</div><div class='add'>+  rescue Ractor::ClosedError</div><div class='add'>+    'ok'</div><div class='add'>+  else</div><div class='add'>+    'ng'</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Raise Ractor::ClosedError when try to take from closed actor</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  r = Ractor.new do</div><div class='add'>+    Ractor.yield 1</div><div class='add'>+    Ractor.receive</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  r.close_outgoing</div><div class='add'>+  begin</div><div class='add'>+    r.take</div><div class='add'>+  rescue Ractor::ClosedError</div><div class='add'>+    'ok'</div><div class='add'>+  else</div><div class='add'>+    'ng'</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Can mix with Thread#interrupt and Ractor#take [Bug #17366]</div><div class='add'>+assert_equal 'err', %q{</div><div class='add'>+  Ractor.new{</div><div class='add'>+    t = Thread.current</div><div class='add'>+    begin</div><div class='add'>+      Thread.new{ t.raise "err" }.join</div><div class='add'>+    rescue =&gt; e</div><div class='add'>+      e.message</div><div class='add'>+    end</div><div class='add'>+  }.take</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Killed Ractor's thread yields nil</div><div class='add'>+assert_equal 'nil', %q{</div><div class='add'>+  Ractor.new{</div><div class='add'>+    t = Thread.current</div><div class='add'>+    Thread.new{ t.kill }.join</div><div class='add'>+  }.take.inspect #=&gt; nil</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Ractor.yield raises Ractor::ClosedError when outgoing port is closed.</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  r = Ractor.new Ractor.current do |main|</div><div class='add'>+    Ractor.receive</div><div class='add'>+    main &lt;&lt; true</div><div class='add'>+    Ractor.yield 1</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  r.close_outgoing</div><div class='add'>+  r &lt;&lt; true</div><div class='add'>+  Ractor.receive</div><div class='add'>+</div><div class='add'>+  begin</div><div class='add'>+    r.take</div><div class='add'>+  rescue Ractor::ClosedError</div><div class='add'>+    'ok'</div><div class='add'>+  else</div><div class='add'>+    'ng'</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Raise Ractor::ClosedError when try to send into a ractor with closed incoming port</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  r = Ractor.new { Ractor.receive }</div><div class='add'>+  r.close_incoming</div><div class='add'>+</div><div class='add'>+  begin</div><div class='add'>+    r.send(1)</div><div class='add'>+  rescue Ractor::ClosedError</div><div class='add'>+    'ok'</div><div class='add'>+  else</div><div class='add'>+    'ng'</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# A ractor with closed incoming port still can send messages out</div><div class='add'>+assert_equal '[1, 2]', %q{</div><div class='add'>+  r = Ractor.new do</div><div class='add'>+    Ractor.yield 1</div><div class='add'>+    2</div><div class='add'>+  end</div><div class='add'>+  r.close_incoming</div><div class='add'>+</div><div class='add'>+  [r.take, r.take]</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Raise Ractor::ClosedError when try to take from a ractor with closed outgoing port</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  r = Ractor.new do</div><div class='add'>+    Ractor.yield 1</div><div class='add'>+    Ractor.receive</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  sleep 0.01 # wait for Ractor.yield in r</div><div class='add'>+  r.close_outgoing</div><div class='add'>+  begin</div><div class='add'>+    r.take</div><div class='add'>+  rescue Ractor::ClosedError</div><div class='add'>+    'ok'</div><div class='add'>+  else</div><div class='add'>+    'ng'</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# A ractor with closed outgoing port still can receive messages from incoming port</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  r = Ractor.new do</div><div class='add'>+    Ractor.receive</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  r.close_outgoing</div><div class='add'>+  begin</div><div class='add'>+    r.send(1)</div><div class='add'>+  rescue Ractor::ClosedError</div><div class='add'>+    'ng'</div><div class='add'>+  else</div><div class='add'>+    'ok'</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Ractor.main returns main ractor</div><div class='add'>+assert_equal 'true', %q{</div><div class='add'>+  Ractor.new{</div><div class='add'>+    Ractor.main</div><div class='add'>+  }.take == Ractor.current</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# a ractor with closed outgoing port should terminate</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  Ractor.new do</div><div class='add'>+    close_outgoing</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  true until Ractor.count == 1</div><div class='add'>+  :ok</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# multiple Ractors can receive (wait) from one Ractor</div><div class='add'>+assert_equal '[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]', %q{</div><div class='add'>+  pipe = Ractor.new do</div><div class='add'>+    loop do</div><div class='add'>+      Ractor.yield Ractor.receive</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  RN = 10</div><div class='add'>+  rs = RN.times.map{|i|</div><div class='add'>+    Ractor.new pipe, i do |pipe, i|</div><div class='add'>+      msg = pipe.take</div><div class='add'>+      msg # ping-pong</div><div class='add'>+    end</div><div class='add'>+  }</div><div class='add'>+  RN.times{|i|</div><div class='add'>+    pipe &lt;&lt; i</div><div class='add'>+  }</div><div class='add'>+  RN.times.map{</div><div class='add'>+    r, n = Ractor.select(*rs)</div><div class='add'>+    rs.delete r</div><div class='add'>+    n</div><div class='add'>+  }.sort</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Ractor.select also support multiple take, receive and yield</div><div class='add'>+assert_equal '[true, true, true]', %q{</div><div class='add'>+  RN = 10</div><div class='add'>+  CR = Ractor.current</div><div class='add'>+</div><div class='add'>+  rs = (1..RN).map{</div><div class='add'>+    Ractor.new do</div><div class='add'>+      CR.send 'send' + CR.take #=&gt; 'sendyield'</div><div class='add'>+      'take'</div><div class='add'>+    end</div><div class='add'>+  }</div><div class='add'>+  received = []</div><div class='add'>+  take = []</div><div class='add'>+  yielded = []</div><div class='add'>+  until rs.empty?</div><div class='add'>+    r, v = Ractor.select(CR, *rs, yield_value: 'yield')</div><div class='add'>+    case r</div><div class='add'>+    when :receive</div><div class='add'>+      received &lt;&lt; v</div><div class='add'>+    when :yield</div><div class='add'>+      yielded &lt;&lt; v</div><div class='add'>+    else</div><div class='add'>+      take &lt;&lt; v</div><div class='add'>+      rs.delete r</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  [received.all?('sendyield'), yielded.all?(nil), take.all?('take')]</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# multiple Ractors can send to one Ractor</div><div class='add'>+assert_equal '[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]', %q{</div><div class='add'>+  pipe = Ractor.new do</div><div class='add'>+    loop do</div><div class='add'>+      Ractor.yield Ractor.receive</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  RN = 10</div><div class='add'>+  RN.times.map{|i|</div><div class='add'>+    Ractor.new pipe, i do |pipe, i|</div><div class='add'>+      pipe &lt;&lt; i</div><div class='add'>+    end</div><div class='add'>+  }</div><div class='add'>+  RN.times.map{</div><div class='add'>+    pipe.take</div><div class='add'>+  }.sort</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# an exception in a Ractor will be re-raised at Ractor#receive</div><div class='add'>+assert_equal '[RuntimeError, "ok", true]', %q{</div><div class='add'>+  r = Ractor.new do</div><div class='add'>+    raise 'ok' # exception will be transferred receiver</div><div class='add'>+  end</div><div class='add'>+  begin</div><div class='add'>+    r.take</div><div class='add'>+  rescue Ractor::RemoteError =&gt; e</div><div class='add'>+    [e.cause.class,   #=&gt; RuntimeError</div><div class='add'>+     e.cause.message, #=&gt; 'ok'</div><div class='add'>+     e.ractor == r]   #=&gt; true</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# threads in a ractor will killed</div><div class='add'>+assert_equal '{:ok=&gt;3}', %q{</div><div class='add'>+  Ractor.new Ractor.current do |main|</div><div class='add'>+    q = Queue.new</div><div class='add'>+    Thread.new do</div><div class='add'>+      q &lt;&lt; true</div><div class='add'>+      loop{}</div><div class='add'>+    ensure</div><div class='add'>+      main &lt;&lt; :ok</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    Thread.new do</div><div class='add'>+      q &lt;&lt; true</div><div class='add'>+      while true</div><div class='add'>+      end</div><div class='add'>+    ensure</div><div class='add'>+      main &lt;&lt; :ok</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    Thread.new do</div><div class='add'>+      q &lt;&lt; true</div><div class='add'>+      sleep 1</div><div class='add'>+    ensure</div><div class='add'>+      main &lt;&lt; :ok</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    # wait for the start of all threads</div><div class='add'>+    3.times{q.pop}</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  3.times.map{Ractor.receive}.tally</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# unshareable object are copied</div><div class='add'>+assert_equal 'false', %q{</div><div class='add'>+  obj = 'str'.dup</div><div class='add'>+  r = Ractor.new obj do |msg|</div><div class='add'>+    msg.object_id</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  obj.object_id == r.take</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# To copy the object, now Marshal#dump is used</div><div class='add'>+assert_equal "allocator undefined for Thread", %q{</div><div class='add'>+  obj = Thread.new{}</div><div class='add'>+  begin</div><div class='add'>+    r = Ractor.new obj do |msg|</div><div class='add'>+      msg</div><div class='add'>+    end</div><div class='add'>+  rescue TypeError =&gt; e</div><div class='add'>+    e.message #=&gt; no _dump_data is defined for class Thread</div><div class='add'>+  else</div><div class='add'>+    'ng'</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# send shareable and unshareable objects</div><div class='add'>+assert_equal "ok", %q{</div><div class='add'>+  echo_ractor = Ractor.new do</div><div class='add'>+    loop do</div><div class='add'>+      v = Ractor.receive</div><div class='add'>+      Ractor.yield v</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  class C; end</div><div class='add'>+  module M; end</div><div class='add'>+  S = Struct.new(:a, :b, :c, :d)</div><div class='add'>+</div><div class='add'>+  shareable_objects = [</div><div class='add'>+    true,</div><div class='add'>+    false,</div><div class='add'>+    nil,</div><div class='add'>+    1,</div><div class='add'>+    1.1,    # Float</div><div class='add'>+    1+2r,   # Rational</div><div class='add'>+    3+4i,   # Complex</div><div class='add'>+    2**128, # Bignum</div><div class='add'>+    :sym,   # Symbol</div><div class='add'>+    'xyzzy'.to_sym, # dynamic symbol</div><div class='add'>+    'frozen'.freeze, # frozen String</div><div class='add'>+    /regexp/, # regexp literal</div><div class='add'>+    /reg{true}exp/.freeze, # frozen dregexp</div><div class='add'>+    [1, 2].freeze,   # frozen Array which only refers to shareable</div><div class='add'>+    {a: 1}.freeze,   # frozen Hash which only refers to shareable</div><div class='add'>+    [{a: 1}.freeze, 'str'.freeze].freeze, # nested frozen container</div><div class='add'>+    S.new(1, 2).freeze, # frozen Struct</div><div class='add'>+    S.new(1, 2, 3, 4).freeze, # frozen Struct</div><div class='add'>+    (1..2), # Range on Struct</div><div class='add'>+    (1..),  # Range on Struct</div><div class='add'>+    (..1),  # Range on Struct</div><div class='add'>+    C, # class</div><div class='add'>+    M, # module</div><div class='add'>+    Ractor.current, # Ractor</div><div class='add'>+  ]</div><div class='add'>+</div><div class='add'>+  unshareable_objects = [</div><div class='add'>+    'mutable str'.dup,</div><div class='add'>+    [:array],</div><div class='add'>+    {hash: true},</div><div class='add'>+    S.new(1, 2),</div><div class='add'>+    S.new(1, 2, 3, 4),</div><div class='add'>+    S.new("a", 2).freeze, # frozen, but refers to an unshareable object</div><div class='add'>+  ]</div><div class='add'>+</div><div class='add'>+  results = []</div><div class='add'>+</div><div class='add'>+  shareable_objects.map{|o|</div><div class='add'>+    echo_ractor &lt;&lt; o</div><div class='add'>+    o2 = echo_ractor.take</div><div class='add'>+    results &lt;&lt; "#{o} is copied" unless o.object_id == o2.object_id</div><div class='add'>+  }</div><div class='add'>+</div><div class='add'>+  unshareable_objects.map{|o|</div><div class='add'>+    echo_ractor &lt;&lt; o</div><div class='add'>+    o2 = echo_ractor.take</div><div class='add'>+    results &lt;&lt; "#{o.inspect} is not copied" if o.object_id == o2.object_id</div><div class='add'>+  }</div><div class='add'>+</div><div class='add'>+  if results.empty?</div><div class='add'>+    :ok</div><div class='add'>+  else</div><div class='add'>+    results.inspect</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# frozen Objects are shareable</div><div class='add'>+assert_equal [false, true, false].inspect, %q{</div><div class='add'>+  class C</div><div class='add'>+    def initialize freeze</div><div class='add'>+      @a = 1</div><div class='add'>+      @b = :sym</div><div class='add'>+      @c = 'frozen_str'</div><div class='add'>+      @c.freeze if freeze</div><div class='add'>+      @d = true</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def check obj1</div><div class='add'>+    obj2 = Ractor.new obj1 do |obj|</div><div class='add'>+      obj</div><div class='add'>+    end.take</div><div class='add'>+</div><div class='add'>+    obj1.object_id == obj2.object_id</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  results = []</div><div class='add'>+  results &lt;&lt; check(C.new(true))         # false</div><div class='add'>+  results &lt;&lt; check(C.new(true).freeze)  # true</div><div class='add'>+  results &lt;&lt; check(C.new(false).freeze) # false</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# move example2: String</div><div class='add'>+# touching moved object causes an error</div><div class='add'>+assert_equal 'hello world', %q{</div><div class='add'>+  # move</div><div class='add'>+  r = Ractor.new do</div><div class='add'>+    obj = Ractor.receive</div><div class='add'>+    obj &lt;&lt; ' world'</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  str = 'hello'</div><div class='add'>+  r.send str, move: true</div><div class='add'>+  modified = r.take</div><div class='add'>+</div><div class='add'>+  begin</div><div class='add'>+    str &lt;&lt; ' exception' # raise Ractor::MovedError</div><div class='add'>+  rescue Ractor::MovedError</div><div class='add'>+    modified #=&gt; 'hello world'</div><div class='add'>+  else</div><div class='add'>+    raise 'unreachable'</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# move example2: Array</div><div class='add'>+assert_equal '[0, 1]', %q{</div><div class='add'>+  r = Ractor.new do</div><div class='add'>+    ary = Ractor.receive</div><div class='add'>+    ary &lt;&lt; 1</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  a1 = [0]</div><div class='add'>+  r.send a1, move: true</div><div class='add'>+  a2 = r.take</div><div class='add'>+  begin</div><div class='add'>+    a1 &lt;&lt; 2 # raise Ractor::MovedError</div><div class='add'>+  rescue Ractor::MovedError</div><div class='add'>+    a2.inspect</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# move with yield</div><div class='add'>+assert_equal 'hello', %q{</div><div class='add'>+  r = Ractor.new do</div><div class='add'>+    Thread.current.report_on_exception = false</div><div class='add'>+    obj = 'hello'</div><div class='add'>+    Ractor.yield obj, move: true</div><div class='add'>+    obj &lt;&lt; 'world'</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  str = r.take</div><div class='add'>+  begin</div><div class='add'>+    r.take</div><div class='add'>+  rescue Ractor::RemoteError</div><div class='add'>+    str #=&gt; "hello"</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Access to global-variables are prohibited</div><div class='add'>+assert_equal 'can not access global variables $gv from non-main Ractors', %q{</div><div class='add'>+  $gv = 1</div><div class='add'>+  r = Ractor.new do</div><div class='add'>+    $gv</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  begin</div><div class='add'>+    r.take</div><div class='add'>+  rescue Ractor::RemoteError =&gt; e</div><div class='add'>+    e.cause.message</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Access to global-variables are prohibited</div><div class='add'>+assert_equal 'can not access global variables $gv from non-main Ractors', %q{</div><div class='add'>+  r = Ractor.new do</div><div class='add'>+    $gv = 1</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  begin</div><div class='add'>+    r.take</div><div class='add'>+  rescue Ractor::RemoteError =&gt; e</div><div class='add'>+    e.cause.message</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# $stdin,out,err is Ractor local, but shared fds</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  r = Ractor.new do</div><div class='add'>+    [$stdin, $stdout, $stderr].map{|io|</div><div class='add'>+      [io.object_id, io.fileno]</div><div class='add'>+    }</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  [$stdin, $stdout, $stderr].zip(r.take){|io, (oid, fno)|</div><div class='add'>+    raise "should not be different object" if io.object_id == oid</div><div class='add'>+    raise "fd should be same" unless io.fileno == fno</div><div class='add'>+  }</div><div class='add'>+  'ok'</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# $DEBUG, $VERBOSE are Ractor local</div><div class='add'>+assert_equal 'true', %q{</div><div class='add'>+  $DEBUG = true</div><div class='add'>+  $VERBOSE = true</div><div class='add'>+</div><div class='add'>+  def ractor_local_globals</div><div class='add'>+    /a(b)(c)d/ =~ 'abcd' # for $~</div><div class='add'>+    `echo foo` unless  /solaris/ =~ RUBY_PLATFORM</div><div class='add'>+</div><div class='add'>+    {</div><div class='add'>+     # ractor-local (derived from created ractor): debug</div><div class='add'>+     '$DEBUG' =&gt; $DEBUG,</div><div class='add'>+     '$-d' =&gt; $-d,</div><div class='add'>+</div><div class='add'>+     # ractor-local (derived from created ractor): verbose</div><div class='add'>+     '$VERBOSE' =&gt; $VERBOSE,</div><div class='add'>+     '$-w' =&gt; $-w,</div><div class='add'>+     '$-W' =&gt; $-W,</div><div class='add'>+     '$-v' =&gt; $-v,</div><div class='add'>+</div><div class='add'>+     # process-local (readonly): other commandline parameters</div><div class='add'>+     '$-p' =&gt; $-p,</div><div class='add'>+     '$-l' =&gt; $-l,</div><div class='add'>+     '$-a' =&gt; $-a,</div><div class='add'>+</div><div class='add'>+     # process-local (readonly): getpid</div><div class='add'>+     '$$'  =&gt; $$,</div><div class='add'>+</div><div class='add'>+     # thread local: process result</div><div class='add'>+     '$?'  =&gt; $?,</div><div class='add'>+</div><div class='add'>+     # scope local: match</div><div class='add'>+     '$~'  =&gt; $~.inspect,</div><div class='add'>+     '$&amp;'  =&gt; $&amp;,</div><div class='add'>+     '$`'  =&gt; $`,</div><div class='add'>+     '$\''  =&gt; $',</div><div class='add'>+     '$+'  =&gt; $+,</div><div class='add'>+     '$1'  =&gt; $1,</div><div class='add'>+</div><div class='add'>+     # scope local: last line</div><div class='add'>+     '$_' =&gt; $_,</div><div class='add'>+</div><div class='add'>+     # scope local: last backtrace</div><div class='add'>+     '$@' =&gt; $@,</div><div class='add'>+     '$!' =&gt; $!,</div><div class='add'>+</div><div class='add'>+     # ractor local: stdin, out, err</div><div class='add'>+     '$stdin'  =&gt; $stdin.inspect,</div><div class='add'>+     '$stdout' =&gt; $stdout.inspect,</div><div class='add'>+     '$stderr' =&gt; $stderr.inspect,</div><div class='add'>+    }</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  h = Ractor.new do</div><div class='add'>+    ractor_local_globals</div><div class='add'>+  end.take</div><div class='add'>+  ractor_local_globals == h #=&gt; true</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# selfs are different objects</div><div class='add'>+assert_equal 'false', %q{</div><div class='add'>+  r = Ractor.new do</div><div class='add'>+    self.object_id</div><div class='add'>+  end</div><div class='add'>+  r.take == self.object_id #=&gt; false</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# self is a Ractor instance</div><div class='add'>+assert_equal 'true', %q{</div><div class='add'>+  r = Ractor.new do</div><div class='add'>+    self.object_id</div><div class='add'>+  end</div><div class='add'>+  r.object_id == r.take #=&gt; true</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# given block Proc will be isolated, so can not access outer variables.</div><div class='add'>+assert_equal 'ArgumentError', %q{</div><div class='add'>+  begin</div><div class='add'>+    a = true</div><div class='add'>+    r = Ractor.new do</div><div class='add'>+      a</div><div class='add'>+    end</div><div class='add'>+  rescue =&gt; e</div><div class='add'>+    e.class</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# ivar in shareable-objects are not allowed to access from non-main Ractor</div><div class='add'>+assert_equal 'can not access instance variables of classes/modules from non-main Ractors', %q{</div><div class='add'>+  class C</div><div class='add'>+    @iv = 'str'</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  r = Ractor.new do</div><div class='add'>+    class C</div><div class='add'>+      p @iv</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+  begin</div><div class='add'>+    r.take</div><div class='add'>+  rescue Ractor::RemoteError =&gt; e</div><div class='add'>+    e.cause.message</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# ivar in shareable-objects are not allowed to access from non-main Ractor</div><div class='add'>+assert_equal 'can not access instance variables of shareable objects from non-main Ractors', %q{</div><div class='add'>+  shared = Ractor.new{}</div><div class='add'>+  shared.instance_variable_set(:@iv, 'str')</div><div class='add'>+</div><div class='add'>+  r = Ractor.new shared do |shared|</div><div class='add'>+    p shared.instance_variable_get(:@iv)</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  begin</div><div class='add'>+    r.take</div><div class='add'>+  rescue Ractor::RemoteError =&gt; e</div><div class='add'>+    e.cause.message</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# ivar in shareable-objects are not allowed to access from non-main Ractor, by @iv (get)</div><div class='add'>+assert_equal 'can not access instance variables of shareable objects from non-main Ractors', %q{</div><div class='add'>+  class Ractor</div><div class='add'>+    def setup</div><div class='add'>+      @foo = ''</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    def foo</div><div class='add'>+      @foo</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  shared = Ractor.new{}</div><div class='add'>+  shared.setup</div><div class='add'>+</div><div class='add'>+  r = Ractor.new shared do |shared|</div><div class='add'>+    p shared.foo</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  begin</div><div class='add'>+    r.take</div><div class='add'>+  rescue Ractor::RemoteError =&gt; e</div><div class='add'>+    e.cause.message</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# ivar in shareable-objects are not allowed to access from non-main Ractor, by @iv (set)</div><div class='add'>+assert_equal 'can not access instance variables of shareable objects from non-main Ractors', %q{</div><div class='add'>+  class Ractor</div><div class='add'>+    def setup</div><div class='add'>+      @foo = ''</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  shared = Ractor.new{}</div><div class='add'>+</div><div class='add'>+  r = Ractor.new shared do |shared|</div><div class='add'>+    p shared.setup</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  begin</div><div class='add'>+    r.take</div><div class='add'>+  rescue Ractor::RemoteError =&gt; e</div><div class='add'>+    e.cause.message</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# But a shareable object is frozen, it is allowed to access ivars from non-main Ractor</div><div class='add'>+assert_equal '11', %q{</div><div class='add'>+  [Object.new, [], ].map{|obj|</div><div class='add'>+    obj.instance_variable_set('@a', 1)</div><div class='add'>+    Ractor.make_shareable obj = obj.freeze</div><div class='add'>+</div><div class='add'>+    Ractor.new obj do |obj|</div><div class='add'>+      obj.instance_variable_get('@a')</div><div class='add'>+    end.take.to_s</div><div class='add'>+  }.join</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# cvar in shareable-objects are not allowed to access from non-main Ractor</div><div class='add'>+assert_equal 'can not access class variables from non-main Ractors', %q{</div><div class='add'>+  class C</div><div class='add'>+    @@cv = 'str'</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  r = Ractor.new do</div><div class='add'>+    class C</div><div class='add'>+      p @@cv</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  begin</div><div class='add'>+    r.take</div><div class='add'>+  rescue Ractor::RemoteError =&gt; e</div><div class='add'>+    e.cause.message</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Getting non-shareable objects via constants by other Ractors is not allowed</div><div class='add'>+assert_equal 'can not access non-shareable objects in constant C::CONST by non-main Ractor.', %q{</div><div class='add'>+  class C</div><div class='add'>+    CONST = 'str'</div><div class='add'>+  end</div><div class='add'>+  r = Ractor.new do</div><div class='add'>+    C::CONST</div><div class='add'>+  end</div><div class='add'>+  begin</div><div class='add'>+    r.take</div><div class='add'>+  rescue Ractor::RemoteError =&gt; e</div><div class='add'>+    e.cause.message</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Setting non-shareable objects into constants by other Ractors is not allowed</div><div class='add'>+assert_equal 'can not set constants with non-shareable objects by non-main Ractors', %q{</div><div class='add'>+  class C</div><div class='add'>+  end</div><div class='add'>+  r = Ractor.new do</div><div class='add'>+    C::CONST = 'str'</div><div class='add'>+  end</div><div class='add'>+  begin</div><div class='add'>+    r.take</div><div class='add'>+  rescue Ractor::RemoteError =&gt; e</div><div class='add'>+    e.cause.message</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# define_method is not allowed</div><div class='add'>+assert_equal "defined in a different Ractor", %q{</div><div class='add'>+  str = "foo"</div><div class='add'>+  define_method(:buggy){|i| str &lt;&lt; "#{i}"}</div><div class='add'>+  begin</div><div class='add'>+    Ractor.new{buggy(10)}.take</div><div class='add'>+  rescue =&gt; e</div><div class='add'>+    e.cause.message</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Immutable Array and Hash are shareable, so it can be shared with constants</div><div class='add'>+assert_equal '[1000, 3]', %q{</div><div class='add'>+  A = Array.new(1000).freeze # [nil, ...]</div><div class='add'>+  H = {a: 1, b: 2, c: 3}.freeze</div><div class='add'>+</div><div class='add'>+  Ractor.new{ [A.size, H.size] }.take</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Ractor.count</div><div class='add'>+assert_equal '[1, 4, 3, 2, 1]', %q{</div><div class='add'>+  counts = []</div><div class='add'>+  counts &lt;&lt; Ractor.count</div><div class='add'>+  ractors = (1..3).map { Ractor.new { Ractor.receive } }</div><div class='add'>+  counts &lt;&lt; Ractor.count</div><div class='add'>+</div><div class='add'>+  ractors[0].send('End 0').take</div><div class='add'>+  sleep 0.1 until ractors[0].inspect =~ /terminated/</div><div class='add'>+  counts &lt;&lt; Ractor.count</div><div class='add'>+</div><div class='add'>+  ractors[1].send('End 1').take</div><div class='add'>+  sleep 0.1 until ractors[1].inspect =~ /terminated/</div><div class='add'>+  counts &lt;&lt; Ractor.count</div><div class='add'>+</div><div class='add'>+  ractors[2].send('End 2').take</div><div class='add'>+  sleep 0.1 until ractors[2].inspect =~ /terminated/</div><div class='add'>+  counts &lt;&lt; Ractor.count</div><div class='add'>+</div><div class='add'>+  counts.inspect</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# ObjectSpace.each_object can not handle unshareable objects with Ractors</div><div class='add'>+assert_equal '0', %q{</div><div class='add'>+  Ractor.new{</div><div class='add'>+    n = 0</div><div class='add'>+    ObjectSpace.each_object{|o| n += 1 unless Ractor.shareable?(o)}</div><div class='add'>+    n</div><div class='add'>+  }.take</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# ObjectSpace._id2ref can not handle unshareable objects with Ractors</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  s = 'hello'</div><div class='add'>+</div><div class='add'>+  Ractor.new s.object_id do |id ;s|</div><div class='add'>+    begin</div><div class='add'>+      s = ObjectSpace._id2ref(id)</div><div class='add'>+    rescue =&gt; e</div><div class='add'>+      :ok</div><div class='add'>+    end</div><div class='add'>+  end.take</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Ractor.make_shareable(obj)</div><div class='add'>+assert_equal 'true', %q{</div><div class='add'>+  class C</div><div class='add'>+    def initialize</div><div class='add'>+      @a = 'foo'</div><div class='add'>+      @b = 'bar'</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    def freeze</div><div class='add'>+      @c = [:freeze_called]</div><div class='add'>+      super</div><div class='add'>+    end</div><div class='add'>+</div><div class='add'>+    attr_reader :a, :b, :c</div><div class='add'>+  end</div><div class='add'>+  S = Struct.new(:s1, :s2)</div><div class='add'>+  str = "hello"</div><div class='add'>+  str.instance_variable_set("@iv", "hello")</div><div class='add'>+  /a/ =~ 'a'</div><div class='add'>+  m = $~</div><div class='add'>+  class N &lt; Numeric</div><div class='add'>+    def /(other)</div><div class='add'>+      1</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  ary = []; ary &lt;&lt; ary</div><div class='add'>+</div><div class='add'>+  a = [[1, ['2', '3']],</div><div class='add'>+       {Object.new =&gt; "hello"},</div><div class='add'>+       C.new,</div><div class='add'>+       S.new("x", "y"),</div><div class='add'>+       ("a".."b"),</div><div class='add'>+       str,</div><div class='add'>+       ary,             # cycle</div><div class='add'>+       /regexp/,</div><div class='add'>+       /#{'r'.upcase}/,</div><div class='add'>+       m,</div><div class='add'>+       Complex(N.new,0),</div><div class='add'>+       Rational(N.new,0),</div><div class='add'>+       true,</div><div class='add'>+       false,</div><div class='add'>+       nil,</div><div class='add'>+       1, 1.2, 1+3r, 1+4i, # Numeric</div><div class='add'>+  ]</div><div class='add'>+  Ractor.make_shareable(a)</div><div class='add'>+</div><div class='add'>+  # check all frozen</div><div class='add'>+  a.each{|o|</div><div class='add'>+    raise o.inspect unless o.frozen?</div><div class='add'>+</div><div class='add'>+    case o</div><div class='add'>+    when C</div><div class='add'>+      raise o.a.inspect unless o.a.frozen?</div><div class='add'>+      raise o.b.inspect unless o.b.frozen?</div><div class='add'>+      raise o.c.inspect unless o.c.frozen? &amp;&amp; o.c == [:freeze_called]</div><div class='add'>+    when Rational</div><div class='add'>+      raise o.numerator.inspect unless o.numerator.frozen?</div><div class='add'>+    when Complex</div><div class='add'>+      raise o.real.inspect unless o.real.frozen?</div><div class='add'>+    when Array</div><div class='add'>+      if o[0] == 1</div><div class='add'>+        raise o[1][1].inspect unless o[1][1].frozen?</div><div class='add'>+      end</div><div class='add'>+    when Hash</div><div class='add'>+      o.each{|k, v|</div><div class='add'>+        raise k.inspect unless k.frozen?</div><div class='add'>+        raise v.inspect unless v.frozen?</div><div class='add'>+      }</div><div class='add'>+    end</div><div class='add'>+  }</div><div class='add'>+</div><div class='add'>+  Ractor.shareable?(a)</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Ractor.make_shareable(obj) doesn't freeze shareable objects</div><div class='add'>+assert_equal 'true', %q{</div><div class='add'>+  r = Ractor.new{}</div><div class='add'>+  Ractor.make_shareable(a = [r])</div><div class='add'>+  [a.frozen?, a[0].frozen?] == [true, false]</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Ractor.make_shareable(a_proc) makes a proc shareable.</div><div class='add'>+assert_equal 'true', %q{</div><div class='add'>+  a = [1, [2, 3], {a: "4"}]</div><div class='add'>+  pr = Proc.new do</div><div class='add'>+    a</div><div class='add'>+  end</div><div class='add'>+  Ractor.make_shareable(a) # referred value should be shareable</div><div class='add'>+  Ractor.make_shareable(pr)</div><div class='add'>+  Ractor.shareable?(pr)</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Ractor.shareable?(recursive_objects)</div><div class='add'>+assert_equal '[false, false]', %q{</div><div class='add'>+  y = []</div><div class='add'>+  x = [y, {}].freeze</div><div class='add'>+  y &lt;&lt; x</div><div class='add'>+  y.freeze</div><div class='add'>+  [Ractor.shareable?(x), Ractor.shareable?(y)]</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Ractor.make_shareable(recursive_objects)</div><div class='add'>+assert_equal '[:ok, false, false]', %q{</div><div class='add'>+  o = Object.new</div><div class='add'>+  def o.freeze; raise; end</div><div class='add'>+  y = []</div><div class='add'>+  x = [y, o].freeze</div><div class='add'>+  y &lt;&lt; x</div><div class='add'>+  y.freeze</div><div class='add'>+  [(Ractor.make_shareable(x) rescue :ok), Ractor.shareable?(x), Ractor.shareable?(y)]</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Ractor.make_shareable with Class/Module</div><div class='add'>+assert_equal '[C, M]', %q{</div><div class='add'>+  class C; end</div><div class='add'>+  module M; end</div><div class='add'>+</div><div class='add'>+  Ractor.make_shareable(ary = [C, M])</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# define_method() can invoke different Ractor's proc if the proc is shareable.</div><div class='add'>+assert_equal '1', %q{</div><div class='add'>+  class C</div><div class='add'>+    a = 1</div><div class='add'>+    define_method "foo", Ractor.make_shareable(Proc.new{ a })</div><div class='add'>+    a = 2</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  Ractor.new{ C.new.foo }.take</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Ractor.make_shareable(a_proc) makes a proc shareable.</div><div class='add'>+assert_equal 'can not make a Proc shareable because it accesses outer variables (a).', %q{</div><div class='add'>+  a = b = nil</div><div class='add'>+  pr = Proc.new do</div><div class='add'>+    c = b # assign to a is okay because c is block local variable</div><div class='add'>+          # reading b is okay</div><div class='add'>+    a = b # assign to a is not allowed #=&gt; Ractor::Error</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  begin</div><div class='add'>+    Ractor.make_shareable(pr)</div><div class='add'>+  rescue =&gt; e</div><div class='add'>+    e.message</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Ractor.make_shareable(obj, copy: true) makes copied shareable object.</div><div class='add'>+assert_equal '[false, false, true, true]', %q{</div><div class='add'>+  r = []</div><div class='add'>+  o1 = [1, 2, ["3"]]</div><div class='add'>+</div><div class='add'>+  o2 = Ractor.make_shareable(o1, copy: true)</div><div class='add'>+  r &lt;&lt; Ractor.shareable?(o1) # false</div><div class='add'>+  r &lt;&lt; (o1.object_id == o2.object_id) # false</div><div class='add'>+</div><div class='add'>+  o3 = Ractor.make_shareable(o1)</div><div class='add'>+  r &lt;&lt; Ractor.shareable?(o1) # true</div><div class='add'>+  r &lt;&lt; (o1.object_id == o3.object_id) # false</div><div class='add'>+  r</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# TracePoint with normal Proc should be Ractor local</div><div class='add'>+assert_equal '[4, 8]', %q{</div><div class='add'>+  rs = []</div><div class='add'>+  TracePoint.new(:line){|tp| rs &lt;&lt; tp.lineno if tp.path == __FILE__}.enable do</div><div class='add'>+    Ractor.new{ # line 4</div><div class='add'>+      a = 1</div><div class='add'>+      b = 2</div><div class='add'>+    }.take</div><div class='add'>+    c = 3       # line 8</div><div class='add'>+  end</div><div class='add'>+  rs</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Ractor deep copies frozen objects (ary)</div><div class='add'>+assert_equal '[true, false]', %q{</div><div class='add'>+  Ractor.new([[]].freeze) { |ary|</div><div class='add'>+    [ary.frozen?, ary.first.frozen? ]</div><div class='add'>+  }.take</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Ractor deep copies frozen objects (str)</div><div class='add'>+assert_equal '[true, false]', %q{</div><div class='add'>+  s = String.new.instance_eval { @x = []; freeze}</div><div class='add'>+  Ractor.new(s) { |s|</div><div class='add'>+    [s.frozen?, s.instance_variable_get(:@x).frozen?]</div><div class='add'>+  }.take</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Can not trap with not isolated Proc on non-main ractor</div><div class='add'>+assert_equal '[:ok, :ok]', %q{</div><div class='add'>+  a = []</div><div class='add'>+  Ractor.new{</div><div class='add'>+    trap(:INT){p :ok}</div><div class='add'>+  }.take</div><div class='add'>+  a &lt;&lt; :ok</div><div class='add'>+</div><div class='add'>+  begin</div><div class='add'>+    Ractor.new{</div><div class='add'>+      s = 'str'</div><div class='add'>+      trap(:INT){p s}</div><div class='add'>+    }.take</div><div class='add'>+  rescue =&gt; Ractor::RemoteError</div><div class='add'>+    a &lt;&lt; :ok</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Ractor-local storage</div><div class='add'>+assert_equal '[nil, "b", "a"]', %q{</div><div class='add'>+  ans = []</div><div class='add'>+  Ractor.current[:key] = 'a'</div><div class='add'>+  r = Ractor.new{</div><div class='add'>+    Ractor.yield self[:key]</div><div class='add'>+    self[:key] = 'b'</div><div class='add'>+    self[:key]</div><div class='add'>+  }</div><div class='add'>+  ans &lt;&lt; r.take</div><div class='add'>+  ans &lt;&lt; r.take</div><div class='add'>+  ans &lt;&lt; Ractor.current[:key]</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+###</div><div class='add'>+### Synchronization tests</div><div class='add'>+###</div><div class='add'>+</div><div class='add'>+N = 100_000</div><div class='add'>+</div><div class='add'>+# fstring pool</div><div class='add'>+assert_equal "#{N}#{N}", %Q{</div><div class='add'>+  N = #{N}</div><div class='add'>+  2.times.map{</div><div class='add'>+    Ractor.new{</div><div class='add'>+      N.times{|i| -(i.to_s)}</div><div class='add'>+    }</div><div class='add'>+  }.map{|r| r.take}.join</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# enc_table</div><div class='add'>+assert_equal "#{N/10}", %Q{</div><div class='add'>+  Ractor.new do</div><div class='add'>+    loop do</div><div class='add'>+      Encoding.find("test-enc-#{rand(5_000)}").inspect</div><div class='add'>+    rescue ArgumentError =&gt; e</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  src = Encoding.find("UTF-8")</div><div class='add'>+  #{N/10}.times{|i|</div><div class='add'>+    src.replicate("test-enc-\#{i}")</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+# Generic ivtbl</div><div class='add'>+n = N/2</div><div class='add'>+assert_equal "#{n}#{n}", %Q{</div><div class='add'>+  2.times.map{</div><div class='add'>+    Ractor.new do</div><div class='add'>+      #{n}.times do</div><div class='add'>+        obj = ''</div><div class='add'>+        obj.instance_variable_set("@a", 1)</div><div class='add'>+        obj.instance_variable_set("@b", 1)</div><div class='add'>+        obj.instance_variable_set("@c", 1)</div><div class='add'>+        obj.instance_variable_defined?("@a")</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  }.map{|r| r.take}.join</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+end # if !ENV['GITHUB_WORKFLOW']</div><div class='head'>diff --git a/bootstraptest/test_string.rb b/bootstraptest/test_string.rb<br/>new file mode 100644<br/>index 0000000000..849dcd45b0<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bootstraptest/test_string.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>bootstraptest/test_string.rb</a></div><div class='hunk'>@@ -0,0 +1,3 @@</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  inspect.clear</div><div class='add'>+}, '[ruby-core:68110]'</div><div class='head'>diff --git a/bootstraptest/test_struct.rb b/bootstraptest/test_struct.rb<br/>new file mode 100644<br/>index 0000000000..a65964d5f9<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bootstraptest/test_struct.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>bootstraptest/test_struct.rb</a></div><div class='hunk'>@@ -0,0 +1,5 @@</div><div class='add'>+assert_equal 'Struct::Foo', %q{</div><div class='add'>+  Struct.instance_eval { const_set(:Foo, nil) }</div><div class='add'>+  Struct.new("Foo")</div><div class='add'>+  Struct::Foo</div><div class='add'>+}</div><div class='head'>diff --git a/bootstraptest/test_syntax.rb b/bootstraptest/test_syntax.rb<br/>new file mode 100644<br/>index 0000000000..fa27bf2aeb<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bootstraptest/test_syntax.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>bootstraptest/test_syntax.rb</a></div><div class='hunk'>@@ -0,0 +1,906 @@</div><div class='add'>+assert_equal %q{4}, %q{1 &amp;&amp; 2 &amp;&amp; 3 &amp;&amp; 4}</div><div class='add'>+assert_equal %q{}, %q{1 &amp;&amp; nil &amp;&amp; 3 &amp;&amp; 4}</div><div class='add'>+assert_equal %q{}, %q{1 &amp;&amp; 2 &amp;&amp; 3 &amp;&amp; nil}</div><div class='add'>+assert_equal %q{false}, %q{1 &amp;&amp; 2 &amp;&amp; 3 &amp;&amp; false}</div><div class='add'>+assert_equal %q{4}, %q{1 and 2 and 3 and 4}</div><div class='add'>+assert_equal %q{}, %q{1 and nil and 3 and 4}</div><div class='add'>+assert_equal %q{}, %q{1 and 2 and 3 and nil}</div><div class='add'>+assert_equal %q{false}, %q{1 and 2 and 3 and false}</div><div class='add'>+assert_equal %q{}, %q{nil &amp;&amp; true}</div><div class='add'>+assert_equal %q{false}, %q{false &amp;&amp; true}</div><div class='add'>+assert_equal %q{}, %q{</div><div class='add'>+  case 1</div><div class='add'>+  when 2</div><div class='add'>+    :ng</div><div class='add'>+  end}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  case 1</div><div class='add'>+  when 10,20,30</div><div class='add'>+    :ng1</div><div class='add'>+  when 1,2,3</div><div class='add'>+    :ok</div><div class='add'>+  when 100,200,300</div><div class='add'>+    :ng2</div><div class='add'>+  else</div><div class='add'>+    :elseng</div><div class='add'>+  end}</div><div class='add'>+assert_equal %q{elseok}, %q{</div><div class='add'>+  case 123</div><div class='add'>+  when 10,20,30</div><div class='add'>+    :ng1</div><div class='add'>+  when 1,2,3</div><div class='add'>+    :ng2</div><div class='add'>+  when 100,200,300</div><div class='add'>+    :ng3</div><div class='add'>+  else</div><div class='add'>+    :elseok</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  case 'test'</div><div class='add'>+  when /testx/</div><div class='add'>+    :ng1</div><div class='add'>+  when /test/</div><div class='add'>+    :ok</div><div class='add'>+  when /tetxx/</div><div class='add'>+    :ng2</div><div class='add'>+  else</div><div class='add'>+    :ng_else</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  case Object.new</div><div class='add'>+  when Object</div><div class='add'>+    :ok</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  case Object</div><div class='add'>+  when Object.new</div><div class='add'>+    :ng</div><div class='add'>+  else</div><div class='add'>+    :ok</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  case 'test'</div><div class='add'>+  when 'tes'</div><div class='add'>+    :ng</div><div class='add'>+  when 'te'</div><div class='add'>+    :ng</div><div class='add'>+  else</div><div class='add'>+    :ok</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  case 'test'</div><div class='add'>+  when 'tes'</div><div class='add'>+    :ng</div><div class='add'>+  when 'te'</div><div class='add'>+    :ng</div><div class='add'>+  when 'test'</div><div class='add'>+    :ok</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ng}, %q{</div><div class='add'>+  case 'test'</div><div class='add'>+  when 'tes'</div><div class='add'>+    :ng</div><div class='add'>+  when /te/</div><div class='add'>+    :ng</div><div class='add'>+  else</div><div class='add'>+    :ok</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  case 'test'</div><div class='add'>+  when 'tes'</div><div class='add'>+    :ng</div><div class='add'>+  when /test/</div><div class='add'>+    :ok</div><div class='add'>+  else</div><div class='add'>+    :ng</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{100}, %q{</div><div class='add'>+  def test(arg)</div><div class='add'>+    case 1</div><div class='add'>+    when 2</div><div class='add'>+      3</div><div class='add'>+    end</div><div class='add'>+    return arg</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  test(100)</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  ary = [1, 2]</div><div class='add'>+  case 1</div><div class='add'>+  when *ary</div><div class='add'>+    :ok</div><div class='add'>+  else</div><div class='add'>+    :ng</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  ary = [1, 2]</div><div class='add'>+  case 3</div><div class='add'>+  when *ary</div><div class='add'>+    :ng</div><div class='add'>+  else</div><div class='add'>+    :ok</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  ary = [1, 2]</div><div class='add'>+  case 1</div><div class='add'>+  when :x, *ary</div><div class='add'>+    :ok</div><div class='add'>+  when :z</div><div class='add'>+    :ng1</div><div class='add'>+  else</div><div class='add'>+    :ng2</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  ary = [1, 2]</div><div class='add'>+  case 3</div><div class='add'>+  when :x, *ary</div><div class='add'>+    :ng1</div><div class='add'>+  when :z</div><div class='add'>+    :ng2</div><div class='add'>+  else</div><div class='add'>+    :ok</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+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='add'>+</div><div class='add'>+  def make_perm ary, num</div><div class='add'>+    if num == 1</div><div class='add'>+      ary.map{|e| [e]}</div><div class='add'>+    else</div><div class='add'>+      base = make_perm(ary, num-1)</div><div class='add'>+      res  = []</div><div class='add'>+      base.each{|b|</div><div class='add'>+        ary.each{|e|</div><div class='add'>+          res &lt;&lt; [e] + b</div><div class='add'>+        }</div><div class='add'>+      }</div><div class='add'>+      res</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def each_test</div><div class='add'>+    conds = make_perm(['fv', 'tv'], 3)</div><div class='add'>+    bangs = make_perm(['', '!'], 3)</div><div class='add'>+    exprs = make_perm(['and', 'or'], 3)</div><div class='add'>+    ['if', 'unless'].each{|syn|</div><div class='add'>+      conds.each{|cs|</div><div class='add'>+        bangs.each{|bs|</div><div class='add'>+          exprs.each{|es|</div><div class='add'>+            yield(syn, cs, bs, es)</div><div class='add'>+          }</div><div class='add'>+        }</div><div class='add'>+      }</div><div class='add'>+    }</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  fv = false</div><div class='add'>+  tv = true</div><div class='add'>+</div><div class='add'>+  $ans = []</div><div class='add'>+  each_test{|syn, conds, bangs, exprs|</div><div class='add'>+    c1, c2, c3 = conds</div><div class='add'>+    bang1, bang2, bang3 = bangs</div><div class='add'>+    e1, e2 = exprs</div><div class='add'>+    eval %Q{</div><div class='add'>+      #{syn} #{bang1}#{c1} #{e1} #{bang2}#{c2} #{e2} #{bang3}#{c3}</div><div class='add'>+        $ans &lt;&lt; :then</div><div class='add'>+      else</div><div class='add'>+        $ans &lt;&lt; :false</div><div class='add'>+      end</div><div class='add'>+    }</div><div class='add'>+  }</div><div class='add'>+</div><div class='add'>+  each_test{|syn, conds, bangs, exprs|</div><div class='add'>+    c1, c2, c3 = conds</div><div class='add'>+    bang1, bang2, bang3 = bangs</div><div class='add'>+    e1, e2 = exprs</div><div class='add'>+    eval %Q{</div><div class='add'>+      #{syn} #{bang1}#{c1} #{e1} #{bang2}#{c2} #{e2} #{bang3}#{c3}</div><div class='add'>+        $ans &lt;&lt; :then</div><div class='add'>+      end</div><div class='add'>+      $ans &lt;&lt; :sep</div><div class='add'>+    }</div><div class='add'>+  }</div><div class='add'>+  $ans</div><div class='add'>+}</div><div class='add'>+assert_equal %q{}, %q{</div><div class='add'>+  defined?(m)</div><div class='add'>+}</div><div class='add'>+assert_equal %q{method}, %q{</div><div class='add'>+  def m</div><div class='add'>+  end</div><div class='add'>+  defined?(m)</div><div class='add'>+}</div><div class='add'>+assert_equal %q{}, %q{</div><div class='add'>+  defined?(a.class)</div><div class='add'>+}</div><div class='add'>+assert_equal %q{method}, %q{</div><div class='add'>+  a = 1</div><div class='add'>+  defined?(a.class)</div><div class='add'>+}</div><div class='add'>+assert_equal %q{["method", "method", "method", "method", nil, nil, "method", "method", "method", nil]}, %q{</div><div class='add'>+  class C</div><div class='add'>+    def test</div><div class='add'>+      [defined?(m1()), defined?(self.m1), defined?(C.new.m1),</div><div class='add'>+       defined?(m2()), defined?(self.m2), defined?(C.new.m2),</div><div class='add'>+       defined?(m3()), defined?(self.m3), defined?(C.new.m3)]</div><div class='add'>+    end</div><div class='add'>+    def m1</div><div class='add'>+    end</div><div class='add'>+    private</div><div class='add'>+    def m2</div><div class='add'>+    end</div><div class='add'>+    protected</div><div class='add'>+    def m3</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  C.new.test + [defined?(C.new.m3)]</div><div class='add'>+}</div><div class='add'>+assert_equal %q{[nil, nil, nil, nil, "global-variable", "global-variable", nil, nil]}, %q{</div><div class='add'>+  $ans = [defined?($1), defined?($2), defined?($3), defined?($4)]</div><div class='add'>+  /(a)(b)/ =~ 'ab'</div><div class='add'>+  $ans + [defined?($1), defined?($2), defined?($3), defined?($4)]</div><div class='add'>+}</div><div class='add'>+assert_equal %q{nilselftruefalse}, %q{</div><div class='add'>+  defined?(nil) + defined?(self) +</div><div class='add'>+    defined?(true) + defined?(false)</div><div class='add'>+}</div><div class='add'>+assert_equal %q{}, %q{</div><div class='add'>+  defined?(@a)</div><div class='add'>+}</div><div class='add'>+assert_equal %q{instance-variable}, %q{</div><div class='add'>+  @a = 1</div><div class='add'>+  defined?(@a)</div><div class='add'>+}</div><div class='add'>+assert_equal %q{}, %q{</div><div class='add'>+  defined?(@@a)</div><div class='add'>+}</div><div class='add'>+assert_equal %q{class variable}, %q{</div><div class='add'>+  class A</div><div class='add'>+    @@a = 1</div><div class='add'>+    defined?(@@a)</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{}, %q{</div><div class='add'>+  defined?($a)</div><div class='add'>+}</div><div class='add'>+assert_equal %q{global-variable}, %q{</div><div class='add'>+  $a = 1</div><div class='add'>+  defined?($a)</div><div class='add'>+}</div><div class='add'>+assert_equal %q{}, %q{</div><div class='add'>+  defined?(C_definedtest)</div><div class='add'>+}</div><div class='add'>+assert_equal %q{constant}, %q{</div><div class='add'>+  C_definedtest = 1</div><div class='add'>+  defined?(C_definedtest)</div><div class='add'>+}</div><div class='add'>+assert_equal %q{}, %q{</div><div class='add'>+  defined?(::C_definedtest)</div><div class='add'>+}</div><div class='add'>+assert_equal %q{constant}, %q{</div><div class='add'>+  C_definedtest = 1</div><div class='add'>+  defined?(::C_definedtest)</div><div class='add'>+}</div><div class='add'>+assert_equal %q{}, %q{</div><div class='add'>+  defined?(C_definedtestA::C_definedtestB::C_definedtestC)</div><div class='add'>+}</div><div class='add'>+assert_equal %q{constant}, %q{</div><div class='add'>+  class C_definedtestA</div><div class='add'>+    class C_definedtestB</div><div class='add'>+      C_definedtestC = 1</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  defined?(C_definedtestA::C_definedtestB::C_definedtestC)</div><div class='add'>+}</div><div class='add'>+assert_equal %q{30}, %q{</div><div class='add'>+  sum = 0</div><div class='add'>+  30.times{|ib|</div><div class='add'>+    if ib % 10 == 0 .. true</div><div class='add'>+      sum += ib</div><div class='add'>+    end</div><div class='add'>+  }</div><div class='add'>+  sum</div><div class='add'>+}</div><div class='add'>+assert_equal %q{63}, %q{</div><div class='add'>+  sum = 0</div><div class='add'>+  30.times{|ib|</div><div class='add'>+    if ib % 10 == 0 ... true</div><div class='add'>+      sum += ib</div><div class='add'>+    end</div><div class='add'>+  }</div><div class='add'>+  sum</div><div class='add'>+}</div><div class='add'>+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='add'>+  t = nil</div><div class='add'>+  unless ''.respond_to? :lines</div><div class='add'>+    class String</div><div class='add'>+      def lines</div><div class='add'>+        self</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  ary = []</div><div class='add'>+"this must not print</div><div class='add'>+Type: NUM</div><div class='add'>+123</div><div class='add'>+456</div><div class='add'>+Type: ARP</div><div class='add'>+aaa</div><div class='add'>+bbb</div><div class='add'>+\f</div><div class='add'>+this must not print</div><div class='add'>+hoge</div><div class='add'>+Type: ARP</div><div class='add'>+aaa</div><div class='add'>+bbb</div><div class='add'>+".lines.each{|l|</div><div class='add'>+    if (t = l[/^Type: (.*)/, 1])..(/^\f/ =~ l)</div><div class='add'>+      ary &lt;&lt; [t, l]</div><div class='add'>+    end</div><div class='add'>+  }</div><div class='add'>+  ary</div><div class='add'>+}</div><div class='add'>+assert_equal %q{1}, %q{if true  then 1 ; end}</div><div class='add'>+assert_equal %q{}, %q{if false then 1 ; end}</div><div class='add'>+assert_equal %q{1}, %q{if true  then 1 ; else; 2; end}</div><div class='add'>+assert_equal %q{2}, %q{if false then 1 ; else; 2; end}</div><div class='add'>+assert_equal %q{}, %q{if true  then   ; elsif true then ; 1 ; end}</div><div class='add'>+assert_equal %q{1}, %q{if false then   ; elsif true then ; 1 ; end}</div><div class='add'>+assert_equal %q{}, %q{unless true  then 1 ; end}</div><div class='add'>+assert_equal %q{1}, %q{unless false then 1 ; end}</div><div class='add'>+assert_equal %q{2}, %q{unless true  then 1 ; else; 2; end}</div><div class='add'>+assert_equal %q{1}, %q{unless false then 1 ; else; 2; end}</div><div class='add'>+assert_equal %q{1}, %q{1 if true}</div><div class='add'>+assert_equal %q{}, %q{1 if false}</div><div class='add'>+assert_equal %q{}, %q{1 if nil}</div><div class='add'>+assert_equal %q{}, %q{1 unless true}</div><div class='add'>+assert_equal %q{1}, %q{1 unless false}</div><div class='add'>+assert_equal %q{1}, %q{1 unless nil}</div><div class='add'>+assert_equal %q{1}, %q{1 || 2 || 3 || 4}</div><div class='add'>+assert_equal %q{1}, %q{1 || false || 3 || 4}</div><div class='add'>+assert_equal %q{2}, %q{nil || 2 || 3 || 4}</div><div class='add'>+assert_equal %q{2}, %q{false || 2 || 3 || 4}</div><div class='add'>+assert_equal %q{false}, %q{nil || false || nil || false}</div><div class='add'>+assert_equal %q{1}, %q{1 or 2 or 3 or 4}</div><div class='add'>+assert_equal %q{1}, %q{1 or false or 3 or 4}</div><div class='add'>+assert_equal %q{2}, %q{nil or 2 or 3 or 4}</div><div class='add'>+assert_equal %q{2}, %q{false or 2 or 3 or 4}</div><div class='add'>+assert_equal %q{1}, %q{if true &amp;&amp; ""; then 1; end}</div><div class='add'>+assert_equal %q{1}, %q{if nil || true; then 1; end}</div><div class='add'>+assert_equal %q{false}, %q{nil or false or nil or false}</div><div class='add'>+assert_equal %q{elseng}, %q{</div><div class='add'>+  case</div><div class='add'>+  when 1==2, 2==3</div><div class='add'>+    :ng1</div><div class='add'>+  when false, 4==5</div><div class='add'>+    :ok</div><div class='add'>+  when false</div><div class='add'>+    :ng2</div><div class='add'>+  else</div><div class='add'>+    :elseng</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  case</div><div class='add'>+  when nil, nil</div><div class='add'>+    :ng1</div><div class='add'>+  when 1,2,3</div><div class='add'>+    :ok</div><div class='add'>+  when false, false</div><div class='add'>+    :ng2</div><div class='add'>+  else</div><div class='add'>+    :elseng</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{elseok}, %q{</div><div class='add'>+  case</div><div class='add'>+  when nil</div><div class='add'>+    :ng1</div><div class='add'>+  when false</div><div class='add'>+    :ng2</div><div class='add'>+  else</div><div class='add'>+    :elseok</div><div class='add'>+  end}</div><div class='add'>+assert_equal %q{}, %q{</div><div class='add'>+  case</div><div class='add'>+  when 1</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  r = nil</div><div class='add'>+  ary = []</div><div class='add'>+  case</div><div class='add'>+  when false</div><div class='add'>+    r = :ng1</div><div class='add'>+  when false, false</div><div class='add'>+    r = :ng2</div><div class='add'>+  when *ary</div><div class='add'>+    r = :ng3</div><div class='add'>+  when false, *ary</div><div class='add'>+    r = :ng4</div><div class='add'>+  when true, *ary</div><div class='add'>+    r = :ok</div><div class='add'>+  end</div><div class='add'>+  r</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  ary = []</div><div class='add'>+  case</div><div class='add'>+  when false, *ary</div><div class='add'>+    :ng</div><div class='add'>+  else</div><div class='add'>+    :ok</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  ary = [false, nil]</div><div class='add'>+  case</div><div class='add'>+  when *ary</div><div class='add'>+    :ng</div><div class='add'>+  else</div><div class='add'>+    :ok</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  ary = [false, nil]</div><div class='add'>+  case</div><div class='add'>+  when *ary</div><div class='add'>+    :ng</div><div class='add'>+  when true</div><div class='add'>+    :ok</div><div class='add'>+  else</div><div class='add'>+    :ng2</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ng}, %q{</div><div class='add'>+  ary = [false, nil]</div><div class='add'>+  case</div><div class='add'>+  when *ary</div><div class='add'>+    :ok</div><div class='add'>+  else</div><div class='add'>+    :ng</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  ary = [false, true]</div><div class='add'>+  case</div><div class='add'>+  when *ary</div><div class='add'>+    :ok</div><div class='add'>+  else</div><div class='add'>+    :ng</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  ary = [false, true]</div><div class='add'>+  case</div><div class='add'>+  when false, false</div><div class='add'>+  when false, *ary</div><div class='add'>+    :ok</div><div class='add'>+  else</div><div class='add'>+    :ng</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{}, %q{</div><div class='add'>+  i = 0</div><div class='add'>+  while i &lt; 10</div><div class='add'>+    i+=1</div><div class='add'>+  end}</div><div class='add'>+assert_equal %q{10}, %q{</div><div class='add'>+  i = 0</div><div class='add'>+  while i &lt; 10</div><div class='add'>+    i+=1</div><div class='add'>+  end; i}</div><div class='add'>+assert_equal %q{}, %q{</div><div class='add'>+  i = 0</div><div class='add'>+  until i &gt; 10</div><div class='add'>+    i+=1</div><div class='add'>+  end}</div><div class='add'>+assert_equal %q{11}, %q{</div><div class='add'>+  i = 0</div><div class='add'>+  until i &gt; 10</div><div class='add'>+    i+=1</div><div class='add'>+  end; i}</div><div class='add'>+assert_equal %q{1}, %q{</div><div class='add'>+  i = 0</div><div class='add'>+  begin</div><div class='add'>+    i+=1</div><div class='add'>+  end while false</div><div class='add'>+  i</div><div class='add'>+}</div><div class='add'>+assert_equal %q{1}, %q{</div><div class='add'>+  i = 0</div><div class='add'>+  begin</div><div class='add'>+    i+=1</div><div class='add'>+  end until true</div><div class='add'>+  i</div><div class='add'>+}</div><div class='add'>+def assert_syntax_error expected, code, message = ''</div><div class='add'>+  assert_equal "#{expected}",</div><div class='add'>+    "begin eval(%q{#{code}}, nil, '', 0)"'; rescue SyntaxError =&gt; e; e.message[/\A:(?:\d+:)? (.*)/, 1] end', message</div><div class='add'>+end</div><div class='add'>+assert_syntax_error "unterminated string meets end of file", '().."', '[ruby-dev:29732]'</div><div class='add'>+assert_equal %q{[]}, %q{$&amp;;[]}, '[ruby-dev:31068]'</div><div class='add'>+assert_syntax_error "syntax error, unexpected *, expecting '}'", %q{{*0}}, '[ruby-dev:31072]'</div><div class='add'>+assert_syntax_error "`@0' is not allowed as an instance variable name", %q{@0..0}, '[ruby-dev:31095]'</div><div class='add'>+assert_syntax_error "identifier $00 is not valid to get", %q{$00..0}, '[ruby-dev:31100]'</div><div class='add'>+assert_syntax_error "identifier $00 is not valid to set", %q{0..$00=1}</div><div class='add'>+assert_equal %q{0}, %q{[*0];0}, '[ruby-dev:31102]'</div><div class='add'>+assert_syntax_error "syntax error, unexpected ')'", %q{v0,(*,v1,) = 0}, '[ruby-dev:31104]'</div><div class='add'>+assert_equal %q{1}, %q{</div><div class='add'>+  class &lt;&lt; (ary=[]); def []; 0; end; def []=(x); super(0,x);end;end; ary[]+=1</div><div class='add'>+}, '[ruby-dev:31110]'</div><div class='add'>+assert_syntax_error "Can't set variable $1", %q{0..$1=1}, '[ruby-dev:31118]'</div><div class='add'>+assert_valid_syntax %q{1.times{1+(1&amp;&amp;next)}}, '[ruby-dev:31119]'</div><div class='add'>+assert_valid_syntax %q{x=-1;loop{x+=1&amp;&amp;redo if (x+=1).zero?}}, '[ruby-dev:31119]'</div><div class='add'>+assert_syntax_error %q{syntax error, unexpected end-of-input}, %q{!}, '[ruby-dev:31243]'</div><div class='add'>+assert_equal %q{[nil]}, %q{[()]}, '[ruby-dev:31252]'</div><div class='add'>+assert_equal %q{true}, %q{!_=()}, '[ruby-dev:31263]'</div><div class='add'>+assert_equal 'ok', %q{while true; redo; end if 1 == 2; :ok}, '[ruby-dev:31360]'</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  1.times {</div><div class='add'>+    begin</div><div class='add'>+    ensure</div><div class='add'>+      next</div><div class='add'>+    end</div><div class='add'>+  }; :ok</div><div class='add'>+}, '[ruby-dev:31373]'</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  flag = false</div><div class='add'>+  1.times {</div><div class='add'>+    next if flag</div><div class='add'>+    flag = true</div><div class='add'>+    begin</div><div class='add'>+    ensure</div><div class='add'>+      redo</div><div class='add'>+    end</div><div class='add'>+  }; :ok</div><div class='add'>+}, '[ruby-dev:31373]'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  1.times{</div><div class='add'>+    p(1, (next; 2))</div><div class='add'>+  }; :ok</div><div class='add'>+}</div><div class='add'>+assert_equal '3', %q{</div><div class='add'>+  i = 0</div><div class='add'>+  1 + (while true</div><div class='add'>+         break 2 if (i+=1) &gt; 1</div><div class='add'>+         next</div><div class='add'>+       end)</div><div class='add'>+}</div><div class='add'>+assert_equal '3', %q{</div><div class='add'>+  i = 0</div><div class='add'>+  1 + (while true</div><div class='add'>+         break 2 if (i+=1) &gt; 1</div><div class='add'>+         p(1, (next; 2))</div><div class='add'>+       end)</div><div class='add'>+}</div><div class='add'>+# redo</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  i = 0</div><div class='add'>+  1.times{</div><div class='add'>+    break if i&gt;1</div><div class='add'>+    i+=1</div><div class='add'>+    p(1, (redo; 2))</div><div class='add'>+  }; :ok</div><div class='add'>+}</div><div class='add'>+assert_equal '3', %q{</div><div class='add'>+  i = 0</div><div class='add'>+  1 + (while true</div><div class='add'>+         break 2 if (i+=1) &gt; 1</div><div class='add'>+         redo</div><div class='add'>+       end)</div><div class='add'>+}</div><div class='add'>+assert_equal '3', %q{</div><div class='add'>+  i = 0</div><div class='add'>+  1 + (while true</div><div class='add'>+         break 2 if (i+=1) &gt; 1</div><div class='add'>+         p(1, (redo; 2))</div><div class='add'>+       end)</div><div class='add'>+}</div><div class='add'>+assert_equal '1', %q{</div><div class='add'>+  a = [0]</div><div class='add'>+  a[*a]+=1</div><div class='add'>+}</div><div class='add'>+assert_equal '2', %q{</div><div class='add'>+  ary = [0]</div><div class='add'>+  case 1</div><div class='add'>+  when *ary, 1</div><div class='add'>+    1</div><div class='add'>+  end +</div><div class='add'>+  case</div><div class='add'>+  when *ary</div><div class='add'>+    1</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_match /invalid multibyte char/, %q{</div><div class='add'>+  STDERR.reopen(STDOUT)</div><div class='add'>+  eval("\"\xf0".force_encoding("utf-8"))</div><div class='add'>+}, '[ruby-dev:32429]'</div><div class='add'>+</div><div class='add'>+# method ! and !=</div><div class='add'>+assert_equal 'true', %q{!false}</div><div class='add'>+assert_equal 'true', %q{1 == 1}</div><div class='add'>+assert_equal 'true', %q{1 != 2}</div><div class='add'>+assert_equal 'true', %q{</div><div class='add'>+  class C; def !=(obj); true; end; end</div><div class='add'>+  C.new != 1</div><div class='add'>+}</div><div class='add'>+assert_equal 'true', %q{</div><div class='add'>+  class C; def !@; true; end; end</div><div class='add'>+  !C.new</div><div class='add'>+}</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  eval "while true; return; end rescue p $!"</div><div class='add'>+}, '[ruby-dev:31663]'</div><div class='add'>+assert_equal '1', %q{</div><div class='add'>+  def bar</div><div class='add'>+    raise</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  def foo</div><div class='add'>+    1.times{</div><div class='add'>+      begin</div><div class='add'>+        return bar</div><div class='add'>+      rescue</div><div class='add'>+        :ok</div><div class='add'>+      end</div><div class='add'>+    }</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  foo</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  counter = 2</div><div class='add'>+  while true</div><div class='add'>+    counter -= 1</div><div class='add'>+    next if counter != 0</div><div class='add'>+    break</div><div class='add'>+  end</div><div class='add'>+  :ok</div><div class='add'>+}, '[ruby-core:14385]'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  counter = 2</div><div class='add'>+  while true</div><div class='add'>+    counter -= 1</div><div class='add'>+    next if counter != 0</div><div class='add'>+    break :ok</div><div class='add'>+  end # direct</div><div class='add'>+}, '[ruby-core:14385]'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  counter = 2</div><div class='add'>+  while true</div><div class='add'>+    counter -= 1</div><div class='add'>+    break if counter == 0</div><div class='add'>+    "#{next}"</div><div class='add'>+  end</div><div class='add'>+  :ok</div><div class='add'>+}, 'reported by Yusuke ENDOH'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  counter = 2</div><div class='add'>+  while true</div><div class='add'>+    counter -= 1</div><div class='add'>+    break if counter == 0</div><div class='add'>+    next</div><div class='add'>+    redo</div><div class='add'>+  end</div><div class='add'>+  :ok</div><div class='add'>+}, 'reported by Yusuke ENDOH'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  counter = 2</div><div class='add'>+  while true</div><div class='add'>+    counter -= 1</div><div class='add'>+    break if counter == 0</div><div class='add'>+    next</div><div class='add'>+    "#{ redo }"</div><div class='add'>+  end</div><div class='add'>+  :ok</div><div class='add'>+}, 'reported by Yusuke ENDOH'</div><div class='add'>+</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  begin</div><div class='add'>+    raise</div><div class='add'>+  rescue</div><div class='add'>+    counter = 2</div><div class='add'>+    while true</div><div class='add'>+      counter -= 1</div><div class='add'>+      break if counter == 0</div><div class='add'>+      next</div><div class='add'>+      retry</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+}, 'reported by Yusuke ENDOH'</div><div class='add'>+</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  counter = 2</div><div class='add'>+  while true</div><div class='add'>+    counter -= 1</div><div class='add'>+    break if counter == 0</div><div class='add'>+    next</div><div class='add'>+    "#{ break }"</div><div class='add'>+  end</div><div class='add'>+}, 'reported by Yusuke ENDOH'</div><div class='add'>+</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  counter = 2</div><div class='add'>+  while true</div><div class='add'>+    counter -= 1</div><div class='add'>+    next if counter != 0</div><div class='add'>+    "#{ break }"</div><div class='add'>+  end</div><div class='add'>+}, 'reported by Yusuke ENDOH'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  1.times do</div><div class='add'>+    [</div><div class='add'>+      1, 2, 3, 4, 5, 6, 7, 8,</div><div class='add'>+      begin</div><div class='add'>+        false ? next : p</div><div class='add'>+        break while true</div><div class='add'>+      end</div><div class='add'>+    ]</div><div class='add'>+  end</div><div class='add'>+  :ok</div><div class='add'>+}, '[ruby-dev:32882]'</div><div class='add'>+</div><div class='add'>+assert_equal "1\n2\n", %q{</div><div class='add'>+  i = 0</div><div class='add'>+  while i&lt;2</div><div class='add'>+    i += 1</div><div class='add'>+    next p(i)</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_valid_syntax('1.times {|i|print (42),1;}', '[ruby-list:44479]')</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  def a() end</div><div class='add'>+  begin</div><div class='add'>+    if defined?(a(1).a)</div><div class='add'>+      :ng</div><div class='add'>+    else</div><div class='add'>+      :ok</div><div class='add'>+    end</div><div class='add'>+  rescue</div><div class='add'>+    :ng</div><div class='add'>+  end</div><div class='add'>+}, '[ruby-core:16010]'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  def a() end</div><div class='add'>+  begin</div><div class='add'>+    if defined?(a::B)</div><div class='add'>+      :ng</div><div class='add'>+    else</div><div class='add'>+      :ok</div><div class='add'>+    end</div><div class='add'>+  rescue</div><div class='add'>+    :ng</div><div class='add'>+  end</div><div class='add'>+}, '[ruby-core:16010]'</div><div class='add'>+</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  defined? C &amp;&amp; 0</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  class C</div><div class='add'>+    def m</div><div class='add'>+      defined?(super())</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  C.new.m</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  class X &lt; RuntimeError;end</div><div class='add'>+  x = [X]</div><div class='add'>+  begin</div><div class='add'>+   raise X</div><div class='add'>+  rescue *x</div><div class='add'>+   :ok</div><div class='add'>+  end</div><div class='add'>+}, '[ruby-core:14537]'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  a = [false]</div><div class='add'>+  (a[0] &amp;&amp;= true) == false ? :ok : :ng</div><div class='add'>+}, '[ruby-dev:34679]'</div><div class='add'>+</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  a = []</div><div class='add'>+  100.times {|i| a &lt;&lt; i &lt;&lt; nil &lt;&lt; nil }</div><div class='add'>+  p a.compact!</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  "#{}""#{}ok"</div><div class='add'>+}, '[ruby-dev:38968]'</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  "o" "#{}k"</div><div class='add'>+}, '[ruby-dev:38980]'</div><div class='add'>+</div><div class='add'>+bug2415 = '[ruby-core:26961]'</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  0.times do</div><div class='add'>+    0.times do</div><div class='add'>+      def x(a=1, b, *rest); nil end</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+}, bug2415</div><div class='add'>+</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  0.times do</div><div class='add'>+    0.times do</div><div class='add'>+      def x@; nil end</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+}, bug2415</div><div class='add'>+</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  0.times do</div><div class='add'>+    0.times do</div><div class='add'>+      def x(a = 0.times do</div><div class='add'>+              def y(a=1, b, *rest); nil; end</div><div class='add'>+            end)</div><div class='add'>+        nil</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+}, bug2415</div><div class='add'>+</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  0.times do</div><div class='add'>+    0.times do</div><div class='add'>+      def x(a = 0.times do</div><div class='add'>+              def x@; nil; end</div><div class='add'>+            end)</div><div class='add'>+        nil</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+}, bug2415</div><div class='add'>+</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  a {</div><div class='add'>+    b {|c.d| }</div><div class='add'>+    e</div><div class='add'>+  }</div><div class='add'>+}, '[ruby-dev:39861]'</div><div class='add'>+</div><div class='add'>+bug1240 = '[ruby-core:22637]'</div><div class='add'>+assert_valid_syntax('x y { "#{}".z { } }', bug1240)</div><div class='add'>+assert_valid_syntax('x y { "#{}".z do end }', bug1240)</div><div class='add'>+</div><div class='add'>+assert_valid_syntax('y "#{a 1}" do end', '[ruby-core:29579]')</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  def foo(&amp;block)</div><div class='add'>+    yield</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  foo do</div><div class='add'>+    s = defined?(raise + 1)</div><div class='add'>+    Class</div><div class='add'>+  end</div><div class='add'>+}, '[ruby-core:30293]'</div><div class='head'>diff --git a/bootstraptest/test_thread.rb b/bootstraptest/test_thread.rb<br/>new file mode 100644<br/>index 0000000000..38a55ff229<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/bootstraptest/test_thread.rb?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>bootstraptest/test_thread.rb</a></div><div class='hunk'>@@ -0,0 +1,500 @@</div><div class='add'>+show_limit %q{</div><div class='add'>+  threads = []</div><div class='add'>+  begin</div><div class='add'>+    threads &lt;&lt; Thread.new{sleep}</div><div class='add'>+</div><div class='add'>+    raise Exception, "skipping" if threads.count &gt;= 10_000</div><div class='add'>+  rescue Exception =&gt; error</div><div class='add'>+    puts "Thread count: #{threads.count} (#{error})"</div><div class='add'>+    break</div><div class='add'>+  end while true</div><div class='add'>+} if false # disable to pass CI</div><div class='add'>+</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  Thread.new{</div><div class='add'>+  }.join</div><div class='add'>+  :ok</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  Thread.new{</div><div class='add'>+    :ok</div><div class='add'>+  }.value</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+begin</div><div class='add'>+  v = 0</div><div class='add'>+  (1..200).map{|i|</div><div class='add'>+    Thread.new{</div><div class='add'>+      i</div><div class='add'>+    }</div><div class='add'>+  }.each{|t|</div><div class='add'>+    v += t.value</div><div class='add'>+  }</div><div class='add'>+  v == 20100 ? :ok : v</div><div class='add'>+rescue ThreadError =&gt; e</div><div class='add'>+  :ok if /can't create Thread/ =~ e.message</div><div class='add'>+end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+begin</div><div class='add'>+  :ok if 5000 == 5000.times{|e|</div><div class='add'>+    (1..2).map{</div><div class='add'>+      Thread.new{</div><div class='add'>+      }</div><div class='add'>+    }.each{|e|</div><div class='add'>+      e.join()</div><div class='add'>+    }</div><div class='add'>+  }</div><div class='add'>+rescue ThreadError =&gt; e</div><div class='add'>+  /can't create Thread/ =~ e.message ? :ok : e.message</div><div class='add'>+end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+begin</div><div class='add'>+  :ok if 5000 == 5000.times{|e|</div><div class='add'>+    (1..2).map{</div><div class='add'>+      Thread.new{</div><div class='add'>+      }</div><div class='add'>+    }.each{|e|</div><div class='add'>+      e.join(1000000000)</div><div class='add'>+    }</div><div class='add'>+  }</div><div class='add'>+rescue ThreadError =&gt; e</div><div class='add'>+  /can't create Thread/ =~ e.message ? :ok : e.message</div><div class='add'>+end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+begin</div><div class='add'>+  :ok if 5000 == 5000.times{</div><div class='add'>+    t = Thread.new{}</div><div class='add'>+    while t.alive?</div><div class='add'>+      Thread.pass</div><div class='add'>+    end</div><div class='add'>+  }</div><div class='add'>+rescue NoMemoryError</div><div class='add'>+  :ok</div><div class='add'>+end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{100}, %q{</div><div class='add'>+  100.times{</div><div class='add'>+    Thread.new{loop{Thread.pass}}</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  Thread.new{</div><div class='add'>+    :ok</div><div class='add'>+  }.join.value</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  begin</div><div class='add'>+    Thread.new{</div><div class='add'>+      raise "ok"</div><div class='add'>+    }.join</div><div class='add'>+  rescue =&gt; e</div><div class='add'>+    e</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  ans = nil</div><div class='add'>+  t = Thread.new{</div><div class='add'>+    begin</div><div class='add'>+      sleep 0.5</div><div class='add'>+    ensure</div><div class='add'>+      ans = :ok</div><div class='add'>+    end</div><div class='add'>+  }</div><div class='add'>+  Thread.pass until t.stop?</div><div class='add'>+  t.kill</div><div class='add'>+  t.join</div><div class='add'>+  ans</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  t = Thread.new{</div><div class='add'>+    sleep</div><div class='add'>+  }</div><div class='add'>+  sleep 0.1</div><div class='add'>+  t.raise</div><div class='add'>+  begin</div><div class='add'>+    t.join</div><div class='add'>+    :ng</div><div class='add'>+  rescue</div><div class='add'>+    :ok</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  t = Thread.new{</div><div class='add'>+    loop{}</div><div class='add'>+  }</div><div class='add'>+  Thread.pass</div><div class='add'>+  t.raise</div><div class='add'>+  begin</div><div class='add'>+    t.join</div><div class='add'>+    :ng</div><div class='add'>+  rescue</div><div class='add'>+    :ok</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{ok}, %q{</div><div class='add'>+  t = Thread.new{</div><div class='add'>+  }</div><div class='add'>+  Thread.pass</div><div class='add'>+  t.join</div><div class='add'>+  t.raise # raise to exited thread</div><div class='add'>+  begin</div><div class='add'>+    t.join</div><div class='add'>+    :ok</div><div class='add'>+  rescue</div><div class='add'>+    :ng</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+assert_equal %q{run}, %q{</div><div class='add'>+  t = Thread.new{</div><div class='add'>+    loop{}</div><div class='add'>+  }</div><div class='add'>+  st = t.status</div><div class='add'>+  t.kill</div><div class='add'>+  st</div><div class='add'>+}</div><div class='add'>+assert_equal %q{sleep}, %q{</div><div class='add'>+  t = Thread.new{</div><div class='add'>+    sleep</div><div class='add'>+  }</div><div class='add'>+  sleep 0.1</div><div class='add'>+  st = t.status</div><div class='add'>+  t.kill</div><div class='add'>+  st</div><div class='add'>+}</div><div class='add'>+assert_equal %q{false}, %q{</div><div class='add'>+  t = Thread.new{</div><div class='add'>+  }</div><div class='add'>+  t.kill</div><div class='add'>+  sleep 0.1</div><div class='add'>+  t.status</div><div class='add'>+}</div><div class='add'>+assert_equal %q{[ThreadGroup, true]}, %q{</div><div class='add'>+  ptg = Thread.current.group</div><div class='add'>+  Thread.new{</div><div class='add'>+    ctg = Thread.current.group</div><div class='add'>+    [ctg.class, ctg == ptg]</div><div class='add'>+  }.value</div><div class='add'>+}</div><div class='add'>+assert_equal %q{[1, 1]}, %q{</div><div class='add'>+  thg = ThreadGroup.new</div><div class='add'>+</div><div class='add'>+  t = Thread.new{</div><div class='add'>+    thg.add Thread.current</div><div class='add'>+    sleep</div><div class='add'>+  }</div><div class='add'>+  sleep 0.1</div><div class='add'>+  [thg.list.size, ThreadGroup::Default.list.size]</div><div class='add'>+}</div><div class='add'>+assert_equal %q{true}, %q{</div><div class='add'>+  thg = ThreadGroup.new</div><div class='add'>+</div><div class='add'>+  t = Thread.new{sleep 5}</div><div class='add'>+  thg.add t</div><div class='add'>+  thg.list.include?(t)</div><div class='add'>+}</div><div class='add'>+assert_equal %q{[true, nil, true]}, %q{</div><div class='add'>+  /a/ =~ 'a'</div><div class='add'>+  $a = $~</div><div class='add'>+  Thread.new{</div><div class='add'>+    $b = $~</div><div class='add'>+    /b/ =~ 'b'</div><div class='add'>+    $c = $~</div><div class='add'>+  }.join</div><div class='add'>+  $d = $~</div><div class='add'>+  [$a == $d, $b, $c != $d]</div><div class='add'>+}</div><div class='add'>+assert_equal %q{11}, %q{</div><div class='add'>+  Thread.current[:a] = 1</div><div class='add'>+  Thread.new{</div><div class='add'>+    Thread.current[:a] = 10</div><div class='add'>+    Thread.pass</div><div class='add'>+    Thread.current[:a]</div><div class='add'>+  }.value + Thread.current[:a]</div><div class='add'>+}</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  begin</div><div class='add'>+    100.times do |i|</div><div class='add'>+      begin</div><div class='add'>+        th = Thread.start(Thread.current) {|u| u.raise }</div><div class='add'>+        raise</div><div class='add'>+      rescue</div><div class='add'>+      ensure</div><div class='add'>+        th.join</div><div class='add'>+      end</div><div class='add'>+    end</div><div class='add'>+  rescue</div><div class='add'>+  end</div><div class='add'>+}, '[ruby-dev:31371]'</div><div class='add'>+</div><div class='add'>+assert_equal 'true', %{</div><div class='add'>+  t = Thread.new { loop {} }</div><div class='add'>+  begin</div><div class='add'>+    pid = fork {</div><div class='add'>+      exit t.status != "run"</div><div class='add'>+    }</div><div class='add'>+    Process.wait pid</div><div class='add'>+    $?.success?</div><div class='add'>+  rescue NotImplementedError</div><div class='add'>+    true</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %{</div><div class='add'>+  open("zzz.rb", "w") do |f|</div><div class='add'>+    f.puts &lt;&lt;-END</div><div class='add'>+      begin</div><div class='add'>+        Thread.new { fork { GC.start } }.join</div><div class='add'>+        pid, status = Process.wait2</div><div class='add'>+        $result = status.success? ? :ok : :ng</div><div class='add'>+      rescue NotImplementedError</div><div class='add'>+        $result = :ok</div><div class='add'>+      end</div><div class='add'>+    END</div><div class='add'>+  end</div><div class='add'>+  require "./zzz.rb"</div><div class='add'>+  $result</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_finish 3, %{</div><div class='add'>+  th = Thread.new {sleep 0.2}</div><div class='add'>+  th.join(0.1)</div><div class='add'>+  th.join</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_finish 3, %{</div><div class='add'>+  require 'timeout'</div><div class='add'>+  th = Thread.new {sleep 0.2}</div><div class='add'>+  begin</div><div class='add'>+    Timeout.timeout(0.1) {th.join}</div><div class='add'>+  rescue Timeout::Error</div><div class='add'>+  end</div><div class='add'>+  th.join</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  STDERR.reopen(STDOUT)</div><div class='add'>+  exec "/"</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  (0..10).map {</div><div class='add'>+    Thread.new {</div><div class='add'>+     10000.times {</div><div class='add'>+        Object.new.to_s</div><div class='add'>+      }</div><div class='add'>+    }</div><div class='add'>+  }.each {|t|</div><div class='add'>+    t.join</div><div class='add'>+  }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  def m</div><div class='add'>+    t = Thread.new { while true; // =~ "" end }</div><div class='add'>+    sleep 0.01</div><div class='add'>+    10.times {</div><div class='add'>+      if /((ab)*(ab)*)*(b)/ =~ "ab"*7</div><div class='add'>+        return :ng if !$4</div><div class='add'>+        return :ng if $~.size != 5</div><div class='add'>+      end</div><div class='add'>+    }</div><div class='add'>+    :ok</div><div class='add'>+  ensure</div><div class='add'>+    Thread.kill t</div><div class='add'>+  end</div><div class='add'>+  m</div><div class='add'>+}, '[ruby-dev:34492]'</div><div class='add'>+</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  g = enum_for(:local_variables)</div><div class='add'>+  loop { g.next }</div><div class='add'>+}, '[ruby-dev:34128]'</div><div class='add'>+</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  g = enum_for(:block_given?)</div><div class='add'>+  loop { g.next }</div><div class='add'>+}, '[ruby-dev:34128]'</div><div class='add'>+</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  g = enum_for(:binding)</div><div class='add'>+  loop { g.next }</div><div class='add'>+}, '[ruby-dev:34128]'</div><div class='add'>+</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  g = "abc".enum_for(:scan, /./)</div><div class='add'>+  loop { g.next }</div><div class='add'>+}, '[ruby-dev:34128]'</div><div class='add'>+</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  g = Module.enum_for(:new)</div><div class='add'>+  loop { g.next }</div><div class='add'>+}, '[ruby-dev:34128]'</div><div class='add'>+</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  Thread.new("foo", &amp;Object.method(:class_eval)).join</div><div class='add'>+}, '[ruby-dev:34128]'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  begin</div><div class='add'>+    Thread.new { Thread.stop }</div><div class='add'>+    Thread.stop</div><div class='add'>+    :ng</div><div class='add'>+  rescue Exception</div><div class='add'>+    :ok</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  begin</div><div class='add'>+    m1, m2 = Thread::Mutex.new, Thread::Mutex.new</div><div class='add'>+    f1 = f2 = false</div><div class='add'>+    Thread.new { m1.lock; f2 = true; sleep 0.001 until f1; m2.lock }</div><div class='add'>+    m2.lock; f1 = true; sleep 0.001 until f2; m1.lock</div><div class='add'>+    :ng</div><div class='add'>+  rescue Exception</div><div class='add'>+    :ok</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  m = Thread::Mutex.new</div><div class='add'>+  Thread.new { m.lock }; sleep 0.1; m.lock</div><div class='add'>+  :ok</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  m = Thread::Mutex.new</div><div class='add'>+  Thread.new { m.lock }; m.lock</div><div class='add'>+  :ok</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  m = Thread::Mutex.new</div><div class='add'>+  Thread.new { m.lock }.join; m.lock</div><div class='add'>+  :ok</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  m = Thread::Mutex.new</div><div class='add'>+  Thread.new { m.lock; sleep 0.2 }</div><div class='add'>+  sleep 0.1; m.lock</div><div class='add'>+  :ok</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  m = Thread::Mutex.new</div><div class='add'>+  Thread.new { m.lock; sleep 0.2; m.unlock }</div><div class='add'>+  sleep 0.1; m.lock</div><div class='add'>+  :ok</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  t = Thread.new {`echo`}</div><div class='add'>+  t.join</div><div class='add'>+  $? ? :ng : :ok</div><div class='add'>+}, '[ruby-dev:35414]'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  begin</div><div class='add'>+    100.times{</div><div class='add'>+      (1..100).map{ Thread.new(true) {|x| x == false } }.each{|th| th.join}</div><div class='add'>+    }</div><div class='add'>+  rescue NoMemoryError, StandardError</div><div class='add'>+  end</div><div class='add'>+  :ok</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %{</div><div class='add'>+  open("zzz.rb", "w") do |f|</div><div class='add'>+    f.puts &lt;&lt;-'end;' # do</div><div class='add'>+      begin</div><div class='add'>+        m = Thread::Mutex.new</div><div class='add'>+        parent = Thread.current</div><div class='add'>+        th1 = Thread.new { m.lock; sleep }</div><div class='add'>+        sleep 0.01 until th1.stop?</div><div class='add'>+        Thread.new do</div><div class='add'>+          sleep 0.01 until parent.stop?</div><div class='add'>+          begin</div><div class='add'>+            fork { GC.start }</div><div class='add'>+          rescue Exception</div><div class='add'>+            parent.raise $!</div><div class='add'>+          end</div><div class='add'>+          th1.run</div><div class='add'>+        end</div><div class='add'>+        m.lock</div><div class='add'>+        pid, status = Process.wait2</div><div class='add'>+        $result = status.success? ? :ok : :ng</div><div class='add'>+      rescue NotImplementedError</div><div class='add'>+        $result = :ok</div><div class='add'>+      end</div><div class='add'>+    end;</div><div class='add'>+  end</div><div class='add'>+  require "./zzz.rb"</div><div class='add'>+  $result</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_finish 3, %q{</div><div class='add'>+  require 'thread'</div><div class='add'>+</div><div class='add'>+  lock = Thread::Mutex.new</div><div class='add'>+  cond = Thread::ConditionVariable.new</div><div class='add'>+  t = Thread.new do</div><div class='add'>+    lock.synchronize do</div><div class='add'>+      cond.wait(lock)</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+</div><div class='add'>+  begin</div><div class='add'>+    pid = fork do</div><div class='add'>+      # Child</div><div class='add'>+      STDOUT.write "This is the child process.\n"</div><div class='add'>+      STDOUT.write "Child process exiting.\n"</div><div class='add'>+    end</div><div class='add'>+    Process.waitpid(pid)</div><div class='add'>+  rescue NotImplementedError</div><div class='add'>+  end</div><div class='add'>+}, '[ruby-core:23572]'</div><div class='add'>+</div><div class='add'>+assert_equal 'ok', %q{</div><div class='add'>+  begin</div><div class='add'>+    Process.waitpid2(fork {})[1].success? ? 'ok' : 'ng'</div><div class='add'>+  rescue NotImplementedError</div><div class='add'>+    'ok'</div><div class='add'>+  end</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+assert_equal 'foo', %q{</div><div class='add'>+  i = 0</div><div class='add'>+  Thread.start {sleep 1; exit!}</div><div class='add'>+  f = proc {|s, c| /#{c.call; s}/o }</div><div class='add'>+  th2 = Thread.new {</div><div class='add'>+    sleep 0.01 until i == 1</div><div class='add'>+    i = 2</div><div class='add'>+    f.call("bar", proc {sleep 2});</div><div class='add'>+    nil</div><div class='add'>+  }</div><div class='add'>+  th1 = Thread.new {</div><div class='add'>+    f.call("foo", proc {i = 1; sleep 0.01 until i == 2; sleep 0.01})</div><div class='add'>+    nil</div><div class='add'>+  }</div><div class='add'>+  [th1, th2].each {|t| t.join }</div><div class='add'>+  GC.start</div><div class='add'>+  f.call.source</div><div class='add'>+}</div><div class='add'>+assert_normal_exit %q{</div><div class='add'>+  class C</div><div class='add'>+    def inspect</div><div class='add'>+      sleep 0.5</div><div class='add'>+      'C!!'</div><div class='add'>+    end</div><div class='add'>+  end</div><div class='add'>+  Thread.new{</div><div class='add'>+    loop{</div><div class='add'>+      p C.new</div><div class='add'>+    }</div><div class='add'>+  }</div><div class='add'>+  sleep 0.1</div><div class='add'>+}, timeout: 5</div><div class='head'>diff --git a/builtin.c b/builtin.c<br/>new file mode 100644<br/>index 0000000000..7c3653dab7<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/builtin.c?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>builtin.c</a></div><div class='hunk'>@@ -0,0 +1,69 @@</div><div class='add'>+#include "internal.h"</div><div class='add'>+#include "vm_core.h"</div><div class='add'>+#include "iseq.h"</div><div class='add'>+#include "builtin.h"</div><div class='add'>+</div><div class='add'>+#if CROSS_COMPILING</div><div class='add'>+</div><div class='add'>+#define INCLUDED_BY_BUILTIN_C 1</div><div class='add'>+#include "mini_builtin.c"</div><div class='add'>+</div><div class='add'>+#else</div><div class='add'>+</div><div class='add'>+#include "builtin_binary.inc"</div><div class='add'>+</div><div class='add'>+static const unsigned char *</div><div class='add'>+bin4feature(const struct builtin_binary *bb, const char *feature, size_t *psize)</div><div class='add'>+{</div><div class='add'>+    *psize = bb-&gt;bin_size;</div><div class='add'>+    return strcmp(bb-&gt;feature, feature) ? NULL : bb-&gt;bin;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static const unsigned char*</div><div class='add'>+builtin_lookup(const char *feature, size_t *psize)</div><div class='add'>+{</div><div class='add'>+    static int index = 0;</div><div class='add'>+    const unsigned char *bin = bin4feature(&amp;builtin_binary[index++], feature, psize);</div><div class='add'>+</div><div class='add'>+    // usually, `builtin_binary` order is loading order at miniruby.</div><div class='add'>+    for (const struct builtin_binary *bb = &amp;builtin_binary[0]; bb-&gt;feature &amp;&amp;! bin; bb++) {</div><div class='add'>+        bin = bin4feature(bb++, feature, psize);</div><div class='add'>+    }</div><div class='add'>+    return bin;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+rb_load_with_builtin_functions(const char *feature_name, const struct rb_builtin_function *table)</div><div class='add'>+{</div><div class='add'>+    // search binary</div><div class='add'>+    size_t size;</div><div class='add'>+    const unsigned char *bin = builtin_lookup(feature_name, &amp;size);</div><div class='add'>+    if (! bin) {</div><div class='add'>+        rb_bug("builtin_lookup: can not find %s\n", feature_name);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    // load binary</div><div class='add'>+    rb_vm_t *vm = GET_VM();</div><div class='add'>+    if (vm-&gt;builtin_function_table != NULL) rb_bug("vm-&gt;builtin_function_table should be NULL.");</div><div class='add'>+    vm-&gt;builtin_function_table = table;</div><div class='add'>+    vm-&gt;builtin_inline_index = 0;</div><div class='add'>+    const rb_iseq_t *iseq = rb_iseq_ibf_load_bytes((const char *)bin, size);</div><div class='add'>+    vm-&gt;builtin_function_table = NULL;</div><div class='add'>+</div><div class='add'>+    // exec</div><div class='add'>+    rb_iseq_eval(rb_iseq_check(iseq));</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+Init_builtin(void)</div><div class='add'>+{</div><div class='add'>+    // nothing</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+Init_builtin_features(void)</div><div class='add'>+{</div><div class='add'>+    rb_load_with_builtin_functions("gem_prelude", NULL);</div><div class='add'>+}</div><div class='head'>diff --git a/builtin.h b/builtin.h<br/>new file mode 100644<br/>index 0000000000..3b2f477654<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/builtin.h?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>builtin.h</a></div><div class='hunk'>@@ -0,0 +1,83 @@</div><div class='add'>+#ifndef BUILTIN_H_INCLUDED</div><div class='add'>+#define BUILTIN_H_INCLUDED</div><div class='add'>+</div><div class='add'>+// invoke</div><div class='add'>+</div><div class='add'>+struct rb_builtin_function {</div><div class='add'>+    // for invocation</div><div class='add'>+    const void * const func_ptr;</div><div class='add'>+    const int argc;</div><div class='add'>+</div><div class='add'>+    // for load</div><div class='add'>+    const int index;</div><div class='add'>+    const char * const name;</div><div class='add'>+</div><div class='add'>+    // for jit</div><div class='add'>+    void (*compiler)(FILE *, long, unsigned, bool);</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+#define RB_BUILTIN_FUNCTION(_i, _name, _fname, _arity, _compiler) {\</div><div class='add'>+  .name = #_name, \</div><div class='add'>+  .func_ptr = (void *)_fname, \</div><div class='add'>+  .argc = _arity, \</div><div class='add'>+  .index = _i, \</div><div class='add'>+  .compiler = _compiler, \</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+void rb_load_with_builtin_functions(const char *feature_name, const struct rb_builtin_function *table);</div><div class='add'>+</div><div class='add'>+#ifndef rb_execution_context_t</div><div class='add'>+typedef struct rb_execution_context_struct rb_execution_context_t;</div><div class='add'>+#define rb_execution_context_t rb_execution_context_t</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+/* The following code is generated by the following Ruby script:</div><div class='add'>+</div><div class='add'>+16.times{|i|</div><div class='add'>+  args = (i &gt; 0 ? ', ' : '') + (0...i).map{"VALUE"}.join(', ')</div><div class='add'>+  puts "static inline void rb_builtin_function_check_arity#{i}(VALUE (*f)(rb_execution_context_t *ec, VALUE self#{args})){}"</div><div class='add'>+}</div><div class='add'>+*/</div><div class='add'>+</div><div class='add'>+static inline void rb_builtin_function_check_arity0(VALUE (*f)(rb_execution_context_t *ec, VALUE self)){}</div><div class='add'>+static inline void rb_builtin_function_check_arity1(VALUE (*f)(rb_execution_context_t *ec, VALUE self, VALUE)){}</div><div class='add'>+static inline void rb_builtin_function_check_arity2(VALUE (*f)(rb_execution_context_t *ec, VALUE self, VALUE, VALUE)){}</div><div class='add'>+static inline void rb_builtin_function_check_arity3(VALUE (*f)(rb_execution_context_t *ec, VALUE self, VALUE, VALUE, VALUE)){}</div><div class='add'>+static inline void rb_builtin_function_check_arity4(VALUE (*f)(rb_execution_context_t *ec, VALUE self, VALUE, VALUE, VALUE, VALUE)){}</div><div class='add'>+static inline void rb_builtin_function_check_arity5(VALUE (*f)(rb_execution_context_t *ec, VALUE self, VALUE, VALUE, VALUE, VALUE, VALUE)){}</div><div class='add'>+static inline void rb_builtin_function_check_arity6(VALUE (*f)(rb_execution_context_t *ec, VALUE self, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE)){}</div><div class='add'>+static inline void rb_builtin_function_check_arity7(VALUE (*f)(rb_execution_context_t *ec, VALUE self, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE)){}</div><div class='add'>+static inline void rb_builtin_function_check_arity8(VALUE (*f)(rb_execution_context_t *ec, VALUE self, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE)){}</div><div class='add'>+static inline void rb_builtin_function_check_arity9(VALUE (*f)(rb_execution_context_t *ec, VALUE self, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE)){}</div><div class='add'>+static inline void rb_builtin_function_check_arity10(VALUE (*f)(rb_execution_context_t *ec, VALUE self, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE)){}</div><div class='add'>+static inline void rb_builtin_function_check_arity11(VALUE (*f)(rb_execution_context_t *ec, VALUE self, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE)){}</div><div class='add'>+static inline void rb_builtin_function_check_arity12(VALUE (*f)(rb_execution_context_t *ec, VALUE self, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE)){}</div><div class='add'>+static inline void rb_builtin_function_check_arity13(VALUE (*f)(rb_execution_context_t *ec, VALUE self, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE)){}</div><div class='add'>+static inline void rb_builtin_function_check_arity14(VALUE (*f)(rb_execution_context_t *ec, VALUE self, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE)){}</div><div class='add'>+static inline void rb_builtin_function_check_arity15(VALUE (*f)(rb_execution_context_t *ec, VALUE self, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE)){}</div><div class='add'>+</div><div class='add'>+VALUE rb_vm_lvar_exposed(rb_execution_context_t *ec, int index);</div><div class='add'>+</div><div class='add'>+// __builtin_inline!</div><div class='add'>+</div><div class='add'>+PUREFUNC(static inline VALUE rb_vm_lvar(rb_execution_context_t *ec, int index));</div><div class='add'>+</div><div class='add'>+static inline VALUE</div><div class='add'>+rb_vm_lvar(rb_execution_context_t *ec, int index)</div><div class='add'>+{</div><div class='add'>+#if VM_CORE_H_EC_DEFINED</div><div class='add'>+    return ec-&gt;cfp-&gt;ep[index];</div><div class='add'>+#else</div><div class='add'>+    return rb_vm_lvar_exposed(ec, index);</div><div class='add'>+#endif</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+// dump/load</div><div class='add'>+</div><div class='add'>+struct builtin_binary {</div><div class='add'>+    const char *feature;          // feature name</div><div class='add'>+    const unsigned char *bin;     // binary by ISeq#to_binary</div><div class='add'>+    size_t bin_size;</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+#endif // BUILTIN_H_INCLUDED</div><div class='head'>diff --git a/ccan/build_assert/build_assert.h b/ccan/build_assert/build_assert.h<br/>new file mode 100644<br/>index 0000000000..a04d1d4709<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/ccan/build_assert/build_assert.h?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>ccan/build_assert/build_assert.h</a></div><div class='hunk'>@@ -0,0 +1,40 @@</div><div class='add'>+/* CC0 (Public domain) - see ccan/licenses/CC0 file for details */</div><div class='add'>+#ifndef CCAN_BUILD_ASSERT_H</div><div class='add'>+#define CCAN_BUILD_ASSERT_H</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * BUILD_ASSERT - assert a build-time dependency.</div><div class='add'>+ * @cond: the compile-time condition which must be true.</div><div class='add'>+ *</div><div class='add'>+ * Your compile will fail if the condition isn't true, or can't be evaluated</div><div class='add'>+ * by the compiler.  This can only be used within a function.</div><div class='add'>+ *</div><div class='add'>+ * Example:</div><div class='add'>+ *	#include &lt;stddef.h&gt;</div><div class='add'>+ *	...</div><div class='add'>+ *	static char *foo_to_char(struct foo *foo)</div><div class='add'>+ *	{</div><div class='add'>+ *		// This code needs string to be at start of foo.</div><div class='add'>+ *		BUILD_ASSERT(offsetof(struct foo, string) == 0);</div><div class='add'>+ *		return (char *)foo;</div><div class='add'>+ *	}</div><div class='add'>+ */</div><div class='add'>+#define BUILD_ASSERT(cond) \</div><div class='add'>+	do { (void) sizeof(char [1 - 2*!(cond)]); } while(0)</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * BUILD_ASSERT_OR_ZERO - assert a build-time dependency, as an expression.</div><div class='add'>+ * @cond: the compile-time condition which must be true.</div><div class='add'>+ *</div><div class='add'>+ * Your compile will fail if the condition isn't true, or can't be evaluated</div><div class='add'>+ * by the compiler.  This can be used in an expression: its value is "0".</div><div class='add'>+ *</div><div class='add'>+ * Example:</div><div class='add'>+ *	#define foo_to_char(foo)					\</div><div class='add'>+ *		 ((char *)(foo)						\</div><div class='add'>+ *		  + BUILD_ASSERT_OR_ZERO(offsetof(struct foo, string) == 0))</div><div class='add'>+ */</div><div class='add'>+#define BUILD_ASSERT_OR_ZERO(cond) \</div><div class='add'>+	(sizeof(char [1 - 2*!(cond)]) - 1)</div><div class='add'>+</div><div class='add'>+#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/>new file mode 100644<br/>index 0000000000..1f77a535e4<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/ccan/check_type/check_type.h?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>ccan/check_type/check_type.h</a></div><div class='hunk'>@@ -0,0 +1,63 @@</div><div class='add'>+/* CC0 (Public domain) - see ccan/licenses/CC0 file for details */</div><div class='add'>+#ifndef CCAN_CHECK_TYPE_H</div><div class='add'>+#define CCAN_CHECK_TYPE_H</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * check_type - issue a warning or build failure if type is not correct.</div><div class='add'>+ * @expr: the expression whose type we should check (not evaluated).</div><div class='add'>+ * @type: the exact type we expect the expression to be.</div><div class='add'>+ *</div><div class='add'>+ * This macro is usually used within other macros to try to ensure that a macro</div><div class='add'>+ * argument is of the expected type.  No type promotion of the expression is</div><div class='add'>+ * done: an unsigned int is not the same as an int!</div><div class='add'>+ *</div><div class='add'>+ * check_type() always evaluates to 0.</div><div class='add'>+ *</div><div class='add'>+ * If your compiler does not support typeof, then the best we can do is fail</div><div class='add'>+ * to compile if the sizes of the types are unequal (a less complete check).</div><div class='add'>+ *</div><div class='add'>+ * Example:</div><div class='add'>+ *	// They should always pass a 64-bit value to _set_some_value!</div><div class='add'>+ *	#define set_some_value(expr)			\</div><div class='add'>+ *		_set_some_value((check_type((expr), uint64_t), (expr)))</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * check_types_match - issue a warning or build failure if types are not same.</div><div class='add'>+ * @expr1: the first expression (not evaluated).</div><div class='add'>+ * @expr2: the second expression (not evaluated).</div><div class='add'>+ *</div><div class='add'>+ * This macro is usually used within other macros to try to ensure that</div><div class='add'>+ * arguments are of identical types.  No type promotion of the expressions is</div><div class='add'>+ * done: an unsigned int is not the same as an int!</div><div class='add'>+ *</div><div class='add'>+ * check_types_match() always evaluates to 0.</div><div class='add'>+ *</div><div class='add'>+ * If your compiler does not support typeof, then the best we can do is fail</div><div class='add'>+ * to compile if the sizes of the types are unequal (a less complete check).</div><div class='add'>+ *</div><div class='add'>+ * Example:</div><div class='add'>+ *	// Do subtraction to get to enclosing type, but make sure that</div><div class='add'>+ *	// pointer is of correct type for that member.</div><div class='add'>+ *	#define container_of(mbr_ptr, encl_type, mbr)			\</div><div class='add'>+ *		(check_types_match((mbr_ptr), &amp;((encl_type *)0)-&gt;mbr),	\</div><div class='add'>+ *		 ((encl_type *)						\</div><div class='add'>+ *		  ((char *)(mbr_ptr) - offsetof(enclosing_type, mbr))))</div><div class='add'>+ */</div><div class='add'>+#if HAVE_TYPEOF</div><div class='add'>+#define check_type(expr, type)			\</div><div class='add'>+	((typeof(expr) *)0 != (type *)0)</div><div class='add'>+</div><div class='add'>+#define check_types_match(expr1, expr2)		\</div><div class='add'>+	((typeof(expr1) *)0 != (typeof(expr2) *)0)</div><div class='add'>+#else</div><div class='add'>+#include "ccan/build_assert/build_assert.h"</div><div class='add'>+/* Without typeof, we can only test the sizes. */</div><div class='add'>+#define check_type(expr, type)					\</div><div class='add'>+	BUILD_ASSERT_OR_ZERO(sizeof(expr) == sizeof(type))</div><div class='add'>+</div><div class='add'>+#define check_types_match(expr1, expr2)				\</div><div class='add'>+	BUILD_ASSERT_OR_ZERO(sizeof(expr1) == sizeof(expr2))</div><div class='add'>+#endif /* HAVE_TYPEOF */</div><div class='add'>+</div><div class='add'>+#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/>new file mode 100644<br/>index 0000000000..ae3e1fc81f<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/ccan/container_of/container_of.h?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>ccan/container_of/container_of.h</a></div><div class='hunk'>@@ -0,0 +1,142 @@</div><div class='add'>+/* CC0 (Public domain) - see ccan/licenses/CC0 file for details */</div><div class='add'>+#ifndef CCAN_CONTAINER_OF_H</div><div class='add'>+#define CCAN_CONTAINER_OF_H</div><div class='add'>+#include "ccan/check_type/check_type.h"</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * container_of - get pointer to enclosing structure</div><div class='add'>+ * @member_ptr: pointer to the structure member</div><div class='add'>+ * @containing_type: the type this member is within</div><div class='add'>+ * @member: the name of this member within the structure.</div><div class='add'>+ *</div><div class='add'>+ * Given a pointer to a member of a structure, this macro does pointer</div><div class='add'>+ * subtraction to return the pointer to the enclosing type.</div><div class='add'>+ *</div><div class='add'>+ * Example:</div><div class='add'>+ *	struct foo {</div><div class='add'>+ *		int fielda, fieldb;</div><div class='add'>+ *		// ...</div><div class='add'>+ *	};</div><div class='add'>+ *	struct info {</div><div class='add'>+ *		int some_other_field;</div><div class='add'>+ *		struct foo my_foo;</div><div class='add'>+ *	};</div><div class='add'>+ *</div><div class='add'>+ *	static struct info *foo_to_info(struct foo *foo)</div><div class='add'>+ *	{</div><div class='add'>+ *		return container_of(foo, struct info, my_foo);</div><div class='add'>+ *	}</div><div class='add'>+ */</div><div class='add'>+#define container_of(member_ptr, containing_type, member)		\</div><div class='add'>+	 ((containing_type *)						\</div><div class='add'>+	  ((char *)(member_ptr)						\</div><div class='add'>+	   - container_off(containing_type, member))			\</div><div class='add'>+	  + check_types_match(*(member_ptr), ((containing_type *)0)-&gt;member))</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * container_of_or_null - get pointer to enclosing structure, or NULL</div><div class='add'>+ * @member_ptr: pointer to the structure member</div><div class='add'>+ * @containing_type: the type this member is within</div><div class='add'>+ * @member: the name of this member within the structure.</div><div class='add'>+ *</div><div class='add'>+ * Given a pointer to a member of a structure, this macro does pointer</div><div class='add'>+ * subtraction to return the pointer to the enclosing type, unless it</div><div class='add'>+ * is given NULL, in which case it also returns NULL.</div><div class='add'>+ *</div><div class='add'>+ * Example:</div><div class='add'>+ *	struct foo {</div><div class='add'>+ *		int fielda, fieldb;</div><div class='add'>+ *		// ...</div><div class='add'>+ *	};</div><div class='add'>+ *	struct info {</div><div class='add'>+ *		int some_other_field;</div><div class='add'>+ *		struct foo my_foo;</div><div class='add'>+ *	};</div><div class='add'>+ *</div><div class='add'>+ *	static struct info *foo_to_info_allowing_null(struct foo *foo)</div><div class='add'>+ *	{</div><div class='add'>+ *		return container_of_or_null(foo, struct info, my_foo);</div><div class='add'>+ *	}</div><div class='add'>+ */</div><div class='add'>+static inline char *container_of_or_null_(void *member_ptr, size_t offset)</div><div class='add'>+{</div><div class='add'>+	return member_ptr ? (char *)member_ptr - offset : NULL;</div><div class='add'>+}</div><div class='add'>+#define container_of_or_null(member_ptr, containing_type, member)	\</div><div class='add'>+	((containing_type *)						\</div><div class='add'>+	 container_of_or_null_(member_ptr,				\</div><div class='add'>+			       container_off(containing_type, member))	\</div><div class='add'>+	 + check_types_match(*(member_ptr), ((containing_type *)0)-&gt;member))</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * container_off - get offset to enclosing structure</div><div class='add'>+ * @containing_type: the type this member is within</div><div class='add'>+ * @member: the name of this member within the structure.</div><div class='add'>+ *</div><div class='add'>+ * Given a pointer to a member of a structure, this macro does</div><div class='add'>+ * typechecking and figures out the offset to the enclosing type.</div><div class='add'>+ *</div><div class='add'>+ * Example:</div><div class='add'>+ *	struct foo {</div><div class='add'>+ *		int fielda, fieldb;</div><div class='add'>+ *		// ...</div><div class='add'>+ *	};</div><div class='add'>+ *	struct info {</div><div class='add'>+ *		int some_other_field;</div><div class='add'>+ *		struct foo my_foo;</div><div class='add'>+ *	};</div><div class='add'>+ *</div><div class='add'>+ *	static struct info *foo_to_info(struct foo *foo)</div><div class='add'>+ *	{</div><div class='add'>+ *		size_t off = container_off(struct info, my_foo);</div><div class='add'>+ *		return (void *)((char *)foo - off);</div><div class='add'>+ *	}</div><div class='add'>+ */</div><div class='add'>+#define container_off(containing_type, member)	\</div><div class='add'>+	offsetof(containing_type, member)</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * container_of_var - get pointer to enclosing structure using a variable</div><div class='add'>+ * @member_ptr: pointer to the structure member</div><div class='add'>+ * @container_var: a pointer of same type as this member's container</div><div class='add'>+ * @member: the name of this member within the structure.</div><div class='add'>+ *</div><div class='add'>+ * Given a pointer to a member of a structure, this macro does pointer</div><div class='add'>+ * subtraction to return the pointer to the enclosing type.</div><div class='add'>+ *</div><div class='add'>+ * Example:</div><div class='add'>+ *	static struct info *foo_to_i(struct foo *foo)</div><div class='add'>+ *	{</div><div class='add'>+ *		struct info *i = container_of_var(foo, i, my_foo);</div><div class='add'>+ *		return i;</div><div class='add'>+ *	}</div><div class='add'>+ */</div><div class='add'>+#if HAVE_TYPEOF</div><div class='add'>+#define container_of_var(member_ptr, container_var, member) \</div><div class='add'>+	container_of(member_ptr, typeof(*container_var), member)</div><div class='add'>+#else</div><div class='add'>+#define container_of_var(member_ptr, container_var, member)	\</div><div class='add'>+	((void *)((char *)(member_ptr)	-			\</div><div class='add'>+		  container_off_var(container_var, member)))</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * container_off_var - get offset of a field in enclosing structure</div><div class='add'>+ * @container_var: a pointer to a container structure</div><div class='add'>+ * @member: the name of a member within the structure.</div><div class='add'>+ *</div><div class='add'>+ * Given (any) pointer to a structure and a its member name, this</div><div class='add'>+ * macro does pointer subtraction to return offset of member in a</div><div class='add'>+ * structure memory layout.</div><div class='add'>+ *</div><div class='add'>+ */</div><div class='add'>+#if HAVE_TYPEOF</div><div class='add'>+#define container_off_var(var, member)		\</div><div class='add'>+	container_off(typeof(*var), member)</div><div class='add'>+#else</div><div class='add'>+#define container_off_var(var, member)			\</div><div class='add'>+	((const char *)&amp;(var)-&gt;member - (const char *)(var))</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#endif /* CCAN_CONTAINER_OF_H */</div><div class='head'>diff --git a/ccan/licenses/BSD-MIT b/ccan/licenses/BSD-MIT<br/>new file mode 100644<br/>index 0000000000..89de354795<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/ccan/licenses/BSD-MIT?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>ccan/licenses/BSD-MIT</a></div><div class='hunk'>@@ -0,0 +1,17 @@</div><div class='add'>+Permission is hereby granted, free of charge, to any person obtaining a copy</div><div class='add'>+of this software and associated documentation files (the "Software"), to deal</div><div class='add'>+in the Software without restriction, including without limitation the rights</div><div class='add'>+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell</div><div class='add'>+copies of the Software, and to permit persons to whom the Software is</div><div class='add'>+furnished to do so, subject to the following conditions:</div><div class='add'>+</div><div class='add'>+The above copyright notice and this permission notice shall be included in</div><div class='add'>+all copies or substantial portions of the Software.</div><div class='add'>+</div><div class='add'>+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR</div><div class='add'>+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,</div><div class='add'>+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE</div><div class='add'>+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER</div><div class='add'>+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,</div><div class='add'>+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN</div><div class='add'>+THE SOFTWARE.</div><div class='head'>diff --git a/ccan/licenses/CC0 b/ccan/licenses/CC0<br/>new file mode 100644<br/>index 0000000000..feb9b118e6<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/ccan/licenses/CC0?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>ccan/licenses/CC0</a></div><div class='hunk'>@@ -0,0 +1,28 @@</div><div class='add'>+Statement of Purpose</div><div class='add'>+</div><div class='add'>+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='add'>+</div><div class='add'>+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='add'>+</div><div class='add'>+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='add'>+</div><div class='add'>+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='add'>+</div><div class='add'>+    the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work;</div><div class='add'>+    moral rights retained by the original author(s) and/or performer(s);</div><div class='add'>+    publicity and privacy rights pertaining to a person's image or likeness depicted in a Work;</div><div class='add'>+    rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below;</div><div class='add'>+    rights protecting the extraction, dissemination, use and reuse of data in a Work;</div><div class='add'>+    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='add'>+    other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof.</div><div class='add'>+</div><div class='add'>+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='add'>+</div><div class='add'>+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='add'>+</div><div class='add'>+4. Limitations and Disclaimers.</div><div class='add'>+</div><div class='add'>+    No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document.</div><div class='add'>+    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='add'>+    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='add'>+    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/>new file mode 100644<br/>index 0000000000..7d219307bc<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/ccan/list/list.h?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>ccan/list/list.h</a></div><div class='hunk'>@@ -0,0 +1,788 @@</div><div class='add'>+/* Licensed under BSD-MIT - see ccan/licenses/BSD-MIT file for details */</div><div class='add'>+#ifndef CCAN_LIST_H</div><div class='add'>+#define CCAN_LIST_H</div><div class='add'>+#include &lt;assert.h&gt;</div><div class='add'>+#include "ccan/str/str.h"</div><div class='add'>+#include "ccan/container_of/container_of.h"</div><div class='add'>+#include "ccan/check_type/check_type.h"</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * struct list_node - an entry in a doubly-linked list</div><div class='add'>+ * @next: next entry (self if empty)</div><div class='add'>+ * @prev: previous entry (self if empty)</div><div class='add'>+ *</div><div class='add'>+ * This is used as an entry in a linked list.</div><div class='add'>+ * Example:</div><div class='add'>+ *	struct child {</div><div class='add'>+ *		const char *name;</div><div class='add'>+ *		// Linked list of all us children.</div><div class='add'>+ *		struct list_node list;</div><div class='add'>+ *	};</div><div class='add'>+ */</div><div class='add'>+struct list_node</div><div class='add'>+{</div><div class='add'>+	struct list_node *next, *prev;</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * struct list_head - the head of a doubly-linked list</div><div class='add'>+ * @h: the list_head (containing next and prev pointers)</div><div class='add'>+ *</div><div class='add'>+ * This is used as the head of a linked list.</div><div class='add'>+ * Example:</div><div class='add'>+ *	struct parent {</div><div class='add'>+ *		const char *name;</div><div class='add'>+ *		struct list_head children;</div><div class='add'>+ *		unsigned int num_children;</div><div class='add'>+ *	};</div><div class='add'>+ */</div><div class='add'>+struct list_head</div><div class='add'>+{</div><div class='add'>+	struct list_node n;</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+#define LIST_LOC __FILE__  ":" stringify(__LINE__)</div><div class='add'>+#define list_debug(h, loc) ((void)loc, h)</div><div class='add'>+#define list_debug_node(n, loc) ((void)loc, n)</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * LIST_HEAD_INIT - initializer for an empty list_head</div><div class='add'>+ * @name: the name of the list.</div><div class='add'>+ *</div><div class='add'>+ * Explicit initializer for an empty list.</div><div class='add'>+ *</div><div class='add'>+ * See also:</div><div class='add'>+ *	LIST_HEAD, list_head_init()</div><div class='add'>+ *</div><div class='add'>+ * Example:</div><div class='add'>+ *	static struct list_head my_list = LIST_HEAD_INIT(my_list);</div><div class='add'>+ */</div><div class='add'>+#define LIST_HEAD_INIT(name) { { &amp;(name).n, &amp;(name).n } }</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * LIST_HEAD - define and initialize an empty list_head</div><div class='add'>+ * @name: the name of the list.</div><div class='add'>+ *</div><div class='add'>+ * The LIST_HEAD macro defines a list_head and initializes it to an empty</div><div class='add'>+ * list.  It can be prepended by "static" to define a static list_head.</div><div class='add'>+ *</div><div class='add'>+ * See also:</div><div class='add'>+ *	LIST_HEAD_INIT, list_head_init()</div><div class='add'>+ *</div><div class='add'>+ * Example:</div><div class='add'>+ *	static LIST_HEAD(my_global_list);</div><div class='add'>+ */</div><div class='add'>+#define LIST_HEAD(name) \</div><div class='add'>+	struct list_head name = LIST_HEAD_INIT(name)</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * list_head_init - initialize a list_head</div><div class='add'>+ * @h: the list_head to set to the empty list</div><div class='add'>+ *</div><div class='add'>+ * Example:</div><div class='add'>+ *	...</div><div class='add'>+ *	struct parent *parent = malloc(sizeof(*parent));</div><div class='add'>+ *</div><div class='add'>+ *	list_head_init(&amp;parent-&gt;children);</div><div class='add'>+ *	parent-&gt;num_children = 0;</div><div class='add'>+ */</div><div class='add'>+static inline void list_head_init(struct list_head *h)</div><div class='add'>+{</div><div class='add'>+	h-&gt;n.next = h-&gt;n.prev = &amp;h-&gt;n;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * list_node_init - initialize a list_node</div><div class='add'>+ * @n: the list_node to link to itself.</div><div class='add'>+ *</div><div class='add'>+ * You don't need to use this normally!  But it lets you list_del(@n)</div><div class='add'>+ * safely.</div><div class='add'>+ */</div><div class='add'>+static inline void list_node_init(struct list_node *n)</div><div class='add'>+{</div><div class='add'>+	n-&gt;next = n-&gt;prev = n;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * list_add_after - add an entry after an existing node in a linked list</div><div class='add'>+ * @h: the list_head to add the node to (for debugging)</div><div class='add'>+ * @p: the existing list_node to add the node after</div><div class='add'>+ * @n: the new list_node to add to the list.</div><div class='add'>+ *</div><div class='add'>+ * The existing list_node must already be a member of the list.</div><div class='add'>+ * The new list_node does not need to be initialized; it will be overwritten.</div><div class='add'>+ *</div><div class='add'>+ * Example:</div><div class='add'>+ *	struct child c1, c2, c3;</div><div class='add'>+ *	LIST_HEAD(h);</div><div class='add'>+ *</div><div class='add'>+ *	list_add_tail(&amp;h, &amp;c1.list);</div><div class='add'>+ *	list_add_tail(&amp;h, &amp;c3.list);</div><div class='add'>+ *	list_add_after(&amp;h, &amp;c1.list, &amp;c2.list);</div><div class='add'>+ */</div><div class='add'>+#define list_add_after(h, p, n) list_add_after_(h, p, n, LIST_LOC)</div><div class='add'>+static inline void list_add_after_(struct list_head *h,</div><div class='add'>+				   struct list_node *p,</div><div class='add'>+				   struct list_node *n,</div><div class='add'>+				   const char *abortstr)</div><div class='add'>+{</div><div class='add'>+	n-&gt;next = p-&gt;next;</div><div class='add'>+	n-&gt;prev = p;</div><div class='add'>+	p-&gt;next-&gt;prev = n;</div><div class='add'>+	p-&gt;next = n;</div><div class='add'>+	(void)list_debug(h, abortstr);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * list_add - add an entry at the start of a linked list.</div><div class='add'>+ * @h: the list_head to add the node to</div><div class='add'>+ * @n: the list_node to add to the list.</div><div class='add'>+ *</div><div class='add'>+ * The list_node does not need to be initialized; it will be overwritten.</div><div class='add'>+ * Example:</div><div class='add'>+ *	struct child *child = malloc(sizeof(*child));</div><div class='add'>+ *</div><div class='add'>+ *	child-&gt;name = "marvin";</div><div class='add'>+ *	list_add(&amp;parent-&gt;children, &amp;child-&gt;list);</div><div class='add'>+ *	parent-&gt;num_children++;</div><div class='add'>+ */</div><div class='add'>+#define list_add(h, n) list_add_(h, n, LIST_LOC)</div><div class='add'>+static inline void list_add_(struct list_head *h,</div><div class='add'>+			     struct list_node *n,</div><div class='add'>+			     const char *abortstr)</div><div class='add'>+{</div><div class='add'>+	list_add_after_(h, &amp;h-&gt;n, n, abortstr);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * list_add_before - add an entry before an existing node in a linked list</div><div class='add'>+ * @h: the list_head to add the node to (for debugging)</div><div class='add'>+ * @p: the existing list_node to add the node before</div><div class='add'>+ * @n: the new list_node to add to the list.</div><div class='add'>+ *</div><div class='add'>+ * The existing list_node must already be a member of the list.</div><div class='add'>+ * The new list_node does not need to be initialized; it will be overwritten.</div><div class='add'>+ *</div><div class='add'>+ * Example:</div><div class='add'>+ *	list_head_init(&amp;h);</div><div class='add'>+ *	list_add_tail(&amp;h, &amp;c1.list);</div><div class='add'>+ *	list_add_tail(&amp;h, &amp;c3.list);</div><div class='add'>+ *	list_add_before(&amp;h, &amp;c3.list, &amp;c2.list);</div><div class='add'>+ */</div><div class='add'>+#define list_add_before(h, p, n) list_add_before_(h, p, n, LIST_LOC)</div><div class='add'>+static inline void list_add_before_(struct list_head *h,</div><div class='add'>+				    struct list_node *p,</div><div class='add'>+				    struct list_node *n,</div><div class='add'>+				    const char *abortstr)</div><div class='add'>+{</div><div class='add'>+	n-&gt;next = p;</div><div class='add'>+	n-&gt;prev = p-&gt;prev;</div><div class='add'>+	p-&gt;prev-&gt;next = n;</div><div class='add'>+	p-&gt;prev = n;</div><div class='add'>+	(void)list_debug(h, abortstr);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * list_add_tail - add an entry at the end of a linked list.</div><div class='add'>+ * @h: the list_head to add the node to</div><div class='add'>+ * @n: the list_node to add to the list.</div><div class='add'>+ *</div><div class='add'>+ * The list_node does not need to be initialized; it will be overwritten.</div><div class='add'>+ * Example:</div><div class='add'>+ *	list_add_tail(&amp;parent-&gt;children, &amp;child-&gt;list);</div><div class='add'>+ *	parent-&gt;num_children++;</div><div class='add'>+ */</div><div class='add'>+#define list_add_tail(h, n) list_add_tail_(h, n, LIST_LOC)</div><div class='add'>+static inline void list_add_tail_(struct list_head *h,</div><div class='add'>+				  struct list_node *n,</div><div class='add'>+				  const char *abortstr)</div><div class='add'>+{</div><div class='add'>+	list_add_before_(h, &amp;h-&gt;n, n, abortstr);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * list_empty - is a list empty?</div><div class='add'>+ * @h: the list_head</div><div class='add'>+ *</div><div class='add'>+ * If the list is empty, returns true.</div><div class='add'>+ *</div><div class='add'>+ * Example:</div><div class='add'>+ *	assert(list_empty(&amp;parent-&gt;children) == (parent-&gt;num_children == 0));</div><div class='add'>+ */</div><div class='add'>+#define list_empty(h) list_empty_(h, LIST_LOC)</div><div class='add'>+static inline int list_empty_(const struct list_head *h, const char* abortstr)</div><div class='add'>+{</div><div class='add'>+	(void)list_debug(h, abortstr);</div><div class='add'>+	return h-&gt;n.next == &amp;h-&gt;n;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * list_empty_nodebug - is a list empty (and don't perform debug checks)?</div><div class='add'>+ * @h: the list_head</div><div class='add'>+ *</div><div class='add'>+ * If the list is empty, returns true.</div><div class='add'>+ * This differs from list_empty() in that if CCAN_LIST_DEBUG is set it</div><div class='add'>+ * will NOT perform debug checks. Only use this function if you REALLY</div><div class='add'>+ * know what you're doing.</div><div class='add'>+ *</div><div class='add'>+ * Example:</div><div class='add'>+ *	assert(list_empty_nodebug(&amp;parent-&gt;children) == (parent-&gt;num_children == 0));</div><div class='add'>+ */</div><div class='add'>+#ifndef CCAN_LIST_DEBUG</div><div class='add'>+#define list_empty_nodebug(h) list_empty(h)</div><div class='add'>+#else</div><div class='add'>+static inline int list_empty_nodebug(const struct list_head *h)</div><div class='add'>+{</div><div class='add'>+	return h-&gt;n.next == &amp;h-&gt;n;</div><div class='add'>+}</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * list_empty_nocheck - is a list empty?</div><div class='add'>+ * @h: the list_head</div><div class='add'>+ *</div><div class='add'>+ * If the list is empty, returns true. This doesn't perform any</div><div class='add'>+ * debug check for list consistency, so it can be called without</div><div class='add'>+ * locks, racing with the list being modified. This is ok for</div><div class='add'>+ * checks where an incorrect result is not an issue (optimized</div><div class='add'>+ * bail out path for example).</div><div class='add'>+ */</div><div class='add'>+static inline bool list_empty_nocheck(const struct list_head *h)</div><div class='add'>+{</div><div class='add'>+	return h-&gt;n.next == &amp;h-&gt;n;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * list_del - delete an entry from an (unknown) linked list.</div><div class='add'>+ * @n: the list_node to delete from the list.</div><div class='add'>+ *</div><div class='add'>+ * Note that this leaves @n in an undefined state; it can be added to</div><div class='add'>+ * another list, but not deleted again.</div><div class='add'>+ *</div><div class='add'>+ * See also:</div><div class='add'>+ *	list_del_from(), list_del_init()</div><div class='add'>+ *</div><div class='add'>+ * Example:</div><div class='add'>+ *	list_del(&amp;child-&gt;list);</div><div class='add'>+ *	parent-&gt;num_children--;</div><div class='add'>+ */</div><div class='add'>+#define list_del(n) list_del_(n, LIST_LOC)</div><div class='add'>+static inline void list_del_(struct list_node *n, const char* abortstr)</div><div class='add'>+{</div><div class='add'>+	(void)list_debug_node(n, abortstr);</div><div class='add'>+	n-&gt;next-&gt;prev = n-&gt;prev;</div><div class='add'>+	n-&gt;prev-&gt;next = n-&gt;next;</div><div class='add'>+#ifdef CCAN_LIST_DEBUG</div><div class='add'>+	/* Catch use-after-del. */</div><div class='add'>+	n-&gt;next = n-&gt;prev = NULL;</div><div class='add'>+#endif</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * list_del_init - delete a node, and reset it so it can be deleted again.</div><div class='add'>+ * @n: the list_node to be deleted.</div><div class='add'>+ *</div><div class='add'>+ * list_del(@n) or list_del_init() again after this will be safe,</div><div class='add'>+ * which can be useful in some cases.</div><div class='add'>+ *</div><div class='add'>+ * See also:</div><div class='add'>+ *	list_del_from(), list_del()</div><div class='add'>+ *</div><div class='add'>+ * Example:</div><div class='add'>+ *	list_del_init(&amp;child-&gt;list);</div><div class='add'>+ *	parent-&gt;num_children--;</div><div class='add'>+ */</div><div class='add'>+#define list_del_init(n) list_del_init_(n, LIST_LOC)</div><div class='add'>+static inline void list_del_init_(struct list_node *n, const char *abortstr)</div><div class='add'>+{</div><div class='add'>+	list_del_(n, abortstr);</div><div class='add'>+	list_node_init(n);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * list_del_from - delete an entry from a known linked list.</div><div class='add'>+ * @h: the list_head the node is in.</div><div class='add'>+ * @n: the list_node to delete from the list.</div><div class='add'>+ *</div><div class='add'>+ * This explicitly indicates which list a node is expected to be in,</div><div class='add'>+ * which is better documentation and can catch more bugs.</div><div class='add'>+ *</div><div class='add'>+ * See also: list_del()</div><div class='add'>+ *</div><div class='add'>+ * Example:</div><div class='add'>+ *	list_del_from(&amp;parent-&gt;children, &amp;child-&gt;list);</div><div class='add'>+ *	parent-&gt;num_children--;</div><div class='add'>+ */</div><div class='add'>+static inline void list_del_from(struct list_head *h, struct list_node *n)</div><div class='add'>+{</div><div class='add'>+#ifdef CCAN_LIST_DEBUG</div><div class='add'>+	{</div><div class='add'>+		/* Thorough check: make sure it was in list! */</div><div class='add'>+		struct list_node *i;</div><div class='add'>+		for (i = h-&gt;n.next; i != n; i = i-&gt;next)</div><div class='add'>+			assert(i != &amp;h-&gt;n);</div><div class='add'>+	}</div><div class='add'>+#endif /* CCAN_LIST_DEBUG */</div><div class='add'>+</div><div class='add'>+	/* Quick test that catches a surprising number of bugs. */</div><div class='add'>+	assert(!list_empty(h));</div><div class='add'>+	list_del(n);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * list_swap - swap out an entry from an (unknown) linked list for a new one.</div><div class='add'>+ * @o: the list_node to replace from the list.</div><div class='add'>+ * @n: the list_node to insert in place of the old one.</div><div class='add'>+ *</div><div class='add'>+ * Note that this leaves @o in an undefined state; it can be added to</div><div class='add'>+ * another list, but not deleted/swapped again.</div><div class='add'>+ *</div><div class='add'>+ * See also:</div><div class='add'>+ *	list_del()</div><div class='add'>+ *</div><div class='add'>+ * Example:</div><div class='add'>+ *	struct child x1, x2;</div><div class='add'>+ *	LIST_HEAD(xh);</div><div class='add'>+ *</div><div class='add'>+ *	list_add(&amp;xh, &amp;x1.list);</div><div class='add'>+ *	list_swap(&amp;x1.list, &amp;x2.list);</div><div class='add'>+ */</div><div class='add'>+#define list_swap(o, n) list_swap_(o, n, LIST_LOC)</div><div class='add'>+static inline void list_swap_(struct list_node *o,</div><div class='add'>+			      struct list_node *n,</div><div class='add'>+			      const char* abortstr)</div><div class='add'>+{</div><div class='add'>+	(void)list_debug_node(o, abortstr);</div><div class='add'>+	*n = *o;</div><div class='add'>+	n-&gt;next-&gt;prev = n;</div><div class='add'>+	n-&gt;prev-&gt;next = n;</div><div class='add'>+#ifdef CCAN_LIST_DEBUG</div><div class='add'>+	/* Catch use-after-del. */</div><div class='add'>+	o-&gt;next = o-&gt;prev = NULL;</div><div class='add'>+#endif</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * list_entry - convert a list_node back into the structure containing it.</div><div class='add'>+ * @n: the list_node</div><div class='add'>+ * @type: the type of the entry</div><div class='add'>+ * @member: the list_node member of the type</div><div class='add'>+ *</div><div class='add'>+ * Example:</div><div class='add'>+ *	// First list entry is children.next; convert back to child.</div><div class='add'>+ *	child = list_entry(parent-&gt;children.n.next, struct child, list);</div><div class='add'>+ *</div><div class='add'>+ * See Also:</div><div class='add'>+ *	list_top(), list_for_each()</div><div class='add'>+ */</div><div class='add'>+#define list_entry(n, type, member) container_of(n, type, member)</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * list_top - get the first entry in a list</div><div class='add'>+ * @h: the list_head</div><div class='add'>+ * @type: the type of the entry</div><div class='add'>+ * @member: the list_node member of the type</div><div class='add'>+ *</div><div class='add'>+ * If the list is empty, returns NULL.</div><div class='add'>+ *</div><div class='add'>+ * Example:</div><div class='add'>+ *	struct child *first;</div><div class='add'>+ *	first = list_top(&amp;parent-&gt;children, struct child, list);</div><div class='add'>+ *	if (!first)</div><div class='add'>+ *		printf("Empty list!\n");</div><div class='add'>+ */</div><div class='add'>+#define list_top(h, type, member)					\</div><div class='add'>+	((type *)list_top_((h), list_off_(type, member)))</div><div class='add'>+</div><div class='add'>+static inline const void *list_top_(const struct list_head *h, size_t off)</div><div class='add'>+{</div><div class='add'>+	if (list_empty(h))</div><div class='add'>+		return NULL;</div><div class='add'>+	return (const char *)h-&gt;n.next - off;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * list_pop - remove the first entry in a list</div><div class='add'>+ * @h: the list_head</div><div class='add'>+ * @type: the type of the entry</div><div class='add'>+ * @member: the list_node member of the type</div><div class='add'>+ *</div><div class='add'>+ * If the list is empty, returns NULL.</div><div class='add'>+ *</div><div class='add'>+ * Example:</div><div class='add'>+ *	struct child *one;</div><div class='add'>+ *	one = list_pop(&amp;parent-&gt;children, struct child, list);</div><div class='add'>+ *	if (!one)</div><div class='add'>+ *		printf("Empty list!\n");</div><div class='add'>+ */</div><div class='add'>+#define list_pop(h, type, member)					\</div><div class='add'>+	((type *)list_pop_((h), list_off_(type, member)))</div><div class='add'>+</div><div class='add'>+static inline const void *list_pop_(const struct list_head *h, size_t off)</div><div class='add'>+{</div><div class='add'>+	struct list_node *n;</div><div class='add'>+</div><div class='add'>+	if (list_empty(h))</div><div class='add'>+		return NULL;</div><div class='add'>+	n = h-&gt;n.next;</div><div class='add'>+	list_del(n);</div><div class='add'>+	return (const char *)n - off;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * list_tail - get the last entry in a list</div><div class='add'>+ * @h: the list_head</div><div class='add'>+ * @type: the type of the entry</div><div class='add'>+ * @member: the list_node member of the type</div><div class='add'>+ *</div><div class='add'>+ * If the list is empty, returns NULL.</div><div class='add'>+ *</div><div class='add'>+ * Example:</div><div class='add'>+ *	struct child *last;</div><div class='add'>+ *	last = list_tail(&amp;parent-&gt;children, struct child, list);</div><div class='add'>+ *	if (!last)</div><div class='add'>+ *		printf("Empty list!\n");</div><div class='add'>+ */</div><div class='add'>+#define list_tail(h, type, member) \</div><div class='add'>+	((type *)list_tail_((h), list_off_(type, member)))</div><div class='add'>+</div><div class='add'>+static inline const void *list_tail_(const struct list_head *h, size_t off)</div><div class='add'>+{</div><div class='add'>+	if (list_empty(h))</div><div class='add'>+		return NULL;</div><div class='add'>+	return (const char *)h-&gt;n.prev - off;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * list_for_each - iterate through a list.</div><div class='add'>+ * @h: the list_head (warning: evaluated multiple times!)</div><div class='add'>+ * @i: the structure containing the list_node</div><div class='add'>+ * @member: the list_node member of the structure</div><div class='add'>+ *</div><div class='add'>+ * This is a convenient wrapper to iterate @i over the entire list.  It's</div><div class='add'>+ * a for loop, so you can break and continue as normal.</div><div class='add'>+ *</div><div class='add'>+ * Example:</div><div class='add'>+ *	list_for_each(&amp;parent-&gt;children, child, list)</div><div class='add'>+ *		printf("Name: %s\n", child-&gt;name);</div><div class='add'>+ */</div><div class='add'>+#define list_for_each(h, i, member)					\</div><div class='add'>+	list_for_each_off(h, i, list_off_var_(i, member))</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * list_for_each_rev - iterate through a list backwards.</div><div class='add'>+ * @h: the list_head</div><div class='add'>+ * @i: the structure containing the list_node</div><div class='add'>+ * @member: the list_node member of the structure</div><div class='add'>+ *</div><div class='add'>+ * This is a convenient wrapper to iterate @i over the entire list.  It's</div><div class='add'>+ * a for loop, so you can break and continue as normal.</div><div class='add'>+ *</div><div class='add'>+ * Example:</div><div class='add'>+ *	list_for_each_rev(&amp;parent-&gt;children, child, list)</div><div class='add'>+ *		printf("Name: %s\n", child-&gt;name);</div><div class='add'>+ */</div><div class='add'>+#define list_for_each_rev(h, i, member)					\</div><div class='add'>+	list_for_each_rev_off(h, i, list_off_var_(i, member))</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * list_for_each_rev_safe - iterate through a list backwards,</div><div class='add'>+ * maybe during deletion</div><div class='add'>+ * @h: the list_head</div><div class='add'>+ * @i: the structure containing the list_node</div><div class='add'>+ * @nxt: the structure containing the list_node</div><div class='add'>+ * @member: the list_node member of the structure</div><div class='add'>+ *</div><div class='add'>+ * This is a convenient wrapper to iterate @i over the entire list backwards.</div><div class='add'>+ * It's a for loop, so you can break and continue as normal.  The extra</div><div class='add'>+ * variable * @nxt is used to hold the next element, so you can delete @i</div><div class='add'>+ * from the list.</div><div class='add'>+ *</div><div class='add'>+ * Example:</div><div class='add'>+ *	struct child *next;</div><div class='add'>+ *	list_for_each_rev_safe(&amp;parent-&gt;children, child, next, list) {</div><div class='add'>+ *		printf("Name: %s\n", child-&gt;name);</div><div class='add'>+ *	}</div><div class='add'>+ */</div><div class='add'>+#define list_for_each_rev_safe(h, i, nxt, member)			\</div><div class='add'>+	list_for_each_rev_safe_off(h, i, nxt, list_off_var_(i, member))</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * list_for_each_safe - iterate through a list, maybe during deletion</div><div class='add'>+ * @h: the list_head</div><div class='add'>+ * @i: the structure containing the list_node</div><div class='add'>+ * @nxt: the structure containing the list_node</div><div class='add'>+ * @member: the list_node member of the structure</div><div class='add'>+ *</div><div class='add'>+ * This is a convenient wrapper to iterate @i over the entire list.  It's</div><div class='add'>+ * a for loop, so you can break and continue as normal.  The extra variable</div><div class='add'>+ * @nxt is used to hold the next element, so you can delete @i from the list.</div><div class='add'>+ *</div><div class='add'>+ * Example:</div><div class='add'>+ *	list_for_each_safe(&amp;parent-&gt;children, child, next, list) {</div><div class='add'>+ *		list_del(&amp;child-&gt;list);</div><div class='add'>+ *		parent-&gt;num_children--;</div><div class='add'>+ *	}</div><div class='add'>+ */</div><div class='add'>+#define list_for_each_safe(h, i, nxt, member)				\</div><div class='add'>+	list_for_each_safe_off(h, i, nxt, list_off_var_(i, member))</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * list_next - get the next entry in a list</div><div class='add'>+ * @h: the list_head</div><div class='add'>+ * @i: a pointer to an entry in the list.</div><div class='add'>+ * @member: the list_node member of the structure</div><div class='add'>+ *</div><div class='add'>+ * If @i was the last entry in the list, returns NULL.</div><div class='add'>+ *</div><div class='add'>+ * Example:</div><div class='add'>+ *	struct child *second;</div><div class='add'>+ *	second = list_next(&amp;parent-&gt;children, first, list);</div><div class='add'>+ *	if (!second)</div><div class='add'>+ *		printf("No second child!\n");</div><div class='add'>+ */</div><div class='add'>+#define list_next(h, i, member)						\</div><div class='add'>+	((list_typeof(i))list_entry_or_null(list_debug(h,		\</div><div class='add'>+					    __FILE__ ":" stringify(__LINE__)), \</div><div class='add'>+					    (i)-&gt;member.next,		\</div><div class='add'>+					    list_off_var_((i), member)))</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * list_prev - get the previous entry in a list</div><div class='add'>+ * @h: the list_head</div><div class='add'>+ * @i: a pointer to an entry in the list.</div><div class='add'>+ * @member: the list_node member of the structure</div><div class='add'>+ *</div><div class='add'>+ * If @i was the first entry in the list, returns NULL.</div><div class='add'>+ *</div><div class='add'>+ * Example:</div><div class='add'>+ *	first = list_prev(&amp;parent-&gt;children, second, list);</div><div class='add'>+ *	if (!first)</div><div class='add'>+ *		printf("Can't go back to first child?!\n");</div><div class='add'>+ */</div><div class='add'>+#define list_prev(h, i, member)						\</div><div class='add'>+	((list_typeof(i))list_entry_or_null(list_debug(h,		\</div><div class='add'>+					    __FILE__ ":" stringify(__LINE__)), \</div><div class='add'>+					    (i)-&gt;member.prev,		\</div><div class='add'>+					    list_off_var_((i), member)))</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * list_append_list - empty one list onto the end of another.</div><div class='add'>+ * @to: the list to append into</div><div class='add'>+ * @from: the list to empty.</div><div class='add'>+ *</div><div class='add'>+ * This takes the entire contents of @from and moves it to the end of</div><div class='add'>+ * @to.  After this @from will be empty.</div><div class='add'>+ *</div><div class='add'>+ * Example:</div><div class='add'>+ *	struct list_head adopter;</div><div class='add'>+ *</div><div class='add'>+ *	list_append_list(&amp;adopter, &amp;parent-&gt;children);</div><div class='add'>+ *	assert(list_empty(&amp;parent-&gt;children));</div><div class='add'>+ *	parent-&gt;num_children = 0;</div><div class='add'>+ */</div><div class='add'>+#define list_append_list(t, f) list_append_list_(t, f,			\</div><div class='add'>+				   __FILE__ ":" stringify(__LINE__))</div><div class='add'>+static inline void list_append_list_(struct list_head *to,</div><div class='add'>+				     struct list_head *from,</div><div class='add'>+				     const char *abortstr)</div><div class='add'>+{</div><div class='add'>+	struct list_node *from_tail = list_debug(from, abortstr)-&gt;n.prev;</div><div class='add'>+	struct list_node *to_tail = list_debug(to, abortstr)-&gt;n.prev;</div><div class='add'>+</div><div class='add'>+	/* Sew in head and entire list. */</div><div class='add'>+	to-&gt;n.prev = from_tail;</div><div class='add'>+	from_tail-&gt;next = &amp;to-&gt;n;</div><div class='add'>+	to_tail-&gt;next = &amp;from-&gt;n;</div><div class='add'>+	from-&gt;n.prev = to_tail;</div><div class='add'>+</div><div class='add'>+	/* Now remove head. */</div><div class='add'>+	list_del(&amp;from-&gt;n);</div><div class='add'>+	list_head_init(from);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * list_prepend_list - empty one list into the start of another.</div><div class='add'>+ * @to: the list to prepend into</div><div class='add'>+ * @from: the list to empty.</div><div class='add'>+ *</div><div class='add'>+ * This takes the entire contents of @from and moves it to the start</div><div class='add'>+ * of @to.  After this @from will be empty.</div><div class='add'>+ *</div><div class='add'>+ * Example:</div><div class='add'>+ *	list_prepend_list(&amp;adopter, &amp;parent-&gt;children);</div><div class='add'>+ *	assert(list_empty(&amp;parent-&gt;children));</div><div class='add'>+ *	parent-&gt;num_children = 0;</div><div class='add'>+ */</div><div class='add'>+#define list_prepend_list(t, f) list_prepend_list_(t, f, LIST_LOC)</div><div class='add'>+static inline void list_prepend_list_(struct list_head *to,</div><div class='add'>+				      struct list_head *from,</div><div class='add'>+				      const char *abortstr)</div><div class='add'>+{</div><div class='add'>+	struct list_node *from_tail = list_debug(from, abortstr)-&gt;n.prev;</div><div class='add'>+	struct list_node *to_head = list_debug(to, abortstr)-&gt;n.next;</div><div class='add'>+</div><div class='add'>+	/* Sew in head and entire list. */</div><div class='add'>+	to-&gt;n.next = &amp;from-&gt;n;</div><div class='add'>+	from-&gt;n.prev = &amp;to-&gt;n;</div><div class='add'>+	to_head-&gt;prev = from_tail;</div><div class='add'>+	from_tail-&gt;next = to_head;</div><div class='add'>+</div><div class='add'>+	/* Now remove head. */</div><div class='add'>+	list_del(&amp;from-&gt;n);</div><div class='add'>+	list_head_init(from);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/* internal macros, do not use directly */</div><div class='add'>+#define list_for_each_off_dir_(h, i, off, dir)				\</div><div class='add'>+	for (i = list_node_to_off_(list_debug(h, LIST_LOC)-&gt;n.dir,	\</div><div class='add'>+				   (off));				\</div><div class='add'>+	list_node_from_off_((void *)i, (off)) != &amp;(h)-&gt;n;		\</div><div class='add'>+	i = list_node_to_off_(list_node_from_off_((void *)i, (off))-&gt;dir, \</div><div class='add'>+			      (off)))</div><div class='add'>+</div><div class='add'>+#define list_for_each_safe_off_dir_(h, i, nxt, off, dir)		\</div><div class='add'>+	for (i = list_node_to_off_(list_debug(h, LIST_LOC)-&gt;n.dir,	\</div><div class='add'>+				   (off)),				\</div><div class='add'>+	nxt = list_node_to_off_(list_node_from_off_(i, (off))-&gt;dir,	\</div><div class='add'>+				(off));					\</div><div class='add'>+	list_node_from_off_(i, (off)) != &amp;(h)-&gt;n;			\</div><div class='add'>+	i = nxt,							\</div><div class='add'>+	nxt = list_node_to_off_(list_node_from_off_(i, (off))-&gt;dir,	\</div><div class='add'>+				(off)))</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * list_for_each_off - iterate through a list of memory regions.</div><div class='add'>+ * @h: the list_head</div><div class='add'>+ * @i: the pointer to a memory region which contains list node data.</div><div class='add'>+ * @off: offset(relative to @i) at which list node data resides.</div><div class='add'>+ *</div><div class='add'>+ * This is a low-level wrapper to iterate @i over the entire list, used to</div><div class='add'>+ * implement all oher, more high-level, for-each constructs. It's a for loop,</div><div class='add'>+ * so you can break and continue as normal.</div><div class='add'>+ *</div><div class='add'>+ * WARNING! Being the low-level macro that it is, this wrapper doesn't know</div><div class='add'>+ * nor care about the type of @i. The only assumption made is that @i points</div><div class='add'>+ * to a chunk of memory that at some @offset, relative to @i, contains a</div><div class='add'>+ * properly filled `struct list_node' which in turn contains pointers to</div><div class='add'>+ * memory chunks and it's turtles all the way down. With all that in mind</div><div class='add'>+ * remember that given the wrong pointer/offset couple this macro will</div><div class='add'>+ * happily churn all you memory until SEGFAULT stops it, in other words</div><div class='add'>+ * caveat emptor.</div><div class='add'>+ *</div><div class='add'>+ * It is worth mentioning that one of legitimate use-cases for that wrapper</div><div class='add'>+ * is operation on opaque types with known offset for `struct list_node'</div><div class='add'>+ * member(preferably 0), because it allows you not to disclose the type of</div><div class='add'>+ * @i.</div><div class='add'>+ *</div><div class='add'>+ * Example:</div><div class='add'>+ *	list_for_each_off(&amp;parent-&gt;children, child,</div><div class='add'>+ *				offsetof(struct child, list))</div><div class='add'>+ *		printf("Name: %s\n", child-&gt;name);</div><div class='add'>+ */</div><div class='add'>+#define list_for_each_off(h, i, off)                                    \</div><div class='add'>+	list_for_each_off_dir_((h),(i),(off),next)</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * list_for_each_rev_off - iterate through a list of memory regions backwards</div><div class='add'>+ * @h: the list_head</div><div class='add'>+ * @i: the pointer to a memory region which contains list node data.</div><div class='add'>+ * @off: offset(relative to @i) at which list node data resides.</div><div class='add'>+ *</div><div class='add'>+ * See list_for_each_off for details</div><div class='add'>+ */</div><div class='add'>+#define list_for_each_rev_off(h, i, off)                                    \</div><div class='add'>+	list_for_each_off_dir_((h),(i),(off),prev)</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * list_for_each_safe_off - iterate through a list of memory regions, maybe</div><div class='add'>+ * during deletion</div><div class='add'>+ * @h: the list_head</div><div class='add'>+ * @i: the pointer to a memory region which contains list node data.</div><div class='add'>+ * @nxt: the structure containing the list_node</div><div class='add'>+ * @off: offset(relative to @i) at which list node data resides.</div><div class='add'>+ *</div><div class='add'>+ * For details see `list_for_each_off' and `list_for_each_safe'</div><div class='add'>+ * descriptions.</div><div class='add'>+ *</div><div class='add'>+ * Example:</div><div class='add'>+ *	list_for_each_safe_off(&amp;parent-&gt;children, child,</div><div class='add'>+ *		next, offsetof(struct child, list))</div><div class='add'>+ *		printf("Name: %s\n", child-&gt;name);</div><div class='add'>+ */</div><div class='add'>+#define list_for_each_safe_off(h, i, nxt, off)                          \</div><div class='add'>+	list_for_each_safe_off_dir_((h),(i),(nxt),(off),next)</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * list_for_each_rev_safe_off - iterate backwards through a list of</div><div class='add'>+ * memory regions, maybe during deletion</div><div class='add'>+ * @h: the list_head</div><div class='add'>+ * @i: the pointer to a memory region which contains list node data.</div><div class='add'>+ * @nxt: the structure containing the list_node</div><div class='add'>+ * @off: offset(relative to @i) at which list node data resides.</div><div class='add'>+ *</div><div class='add'>+ * For details see `list_for_each_rev_off' and `list_for_each_rev_safe'</div><div class='add'>+ * descriptions.</div><div class='add'>+ *</div><div class='add'>+ * Example:</div><div class='add'>+ *	list_for_each_rev_safe_off(&amp;parent-&gt;children, child,</div><div class='add'>+ *		next, offsetof(struct child, list))</div><div class='add'>+ *		printf("Name: %s\n", child-&gt;name);</div><div class='add'>+ */</div><div class='add'>+#define list_for_each_rev_safe_off(h, i, nxt, off)                      \</div><div class='add'>+	list_for_each_safe_off_dir_((h),(i),(nxt),(off),prev)</div><div class='add'>+</div><div class='add'>+/* Other -off variants. */</div><div class='add'>+#define list_entry_off(n, type, off)		\</div><div class='add'>+	((type *)list_node_from_off_((n), (off)))</div><div class='add'>+</div><div class='add'>+#define list_head_off(h, type, off)		\</div><div class='add'>+	((type *)list_head_off((h), (off)))</div><div class='add'>+</div><div class='add'>+#define list_tail_off(h, type, off)		\</div><div class='add'>+	((type *)list_tail_((h), (off)))</div><div class='add'>+</div><div class='add'>+#define list_add_off(h, n, off)                 \</div><div class='add'>+	list_add((h), list_node_from_off_((n), (off)))</div><div class='add'>+</div><div class='add'>+#define list_del_off(n, off)                    \</div><div class='add'>+	list_del(list_node_from_off_((n), (off)))</div><div class='add'>+</div><div class='add'>+#define list_del_from_off(h, n, off)			\</div><div class='add'>+	list_del_from(h, list_node_from_off_((n), (off)))</div><div class='add'>+</div><div class='add'>+/* Offset helper functions so we only single-evaluate. */</div><div class='add'>+static inline void *list_node_to_off_(struct list_node *node, size_t off)</div><div class='add'>+{</div><div class='add'>+	return (void *)((char *)node - off);</div><div class='add'>+}</div><div class='add'>+static inline struct list_node *list_node_from_off_(void *ptr, size_t off)</div><div class='add'>+{</div><div class='add'>+	return (struct list_node *)((char *)ptr + off);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/* Get the offset of the member, but make sure it's a list_node. */</div><div class='add'>+#define list_off_(type, member)					\</div><div class='add'>+	(container_off(type, member) +				\</div><div class='add'>+	 check_type(((type *)0)-&gt;member, struct list_node))</div><div class='add'>+</div><div class='add'>+#define list_off_var_(var, member)			\</div><div class='add'>+	(container_off_var(var, member) +		\</div><div class='add'>+	 check_type(var-&gt;member, struct list_node))</div><div class='add'>+</div><div class='add'>+#if HAVE_TYPEOF</div><div class='add'>+#define list_typeof(var) typeof(var)</div><div class='add'>+#else</div><div class='add'>+#define list_typeof(var) void *</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+/* Returns member, or NULL if at end of list. */</div><div class='add'>+static inline void *list_entry_or_null(const struct list_head *h,</div><div class='add'>+				       const struct list_node *n,</div><div class='add'>+				       size_t off)</div><div class='add'>+{</div><div class='add'>+	if (n == &amp;h-&gt;n)</div><div class='add'>+		return NULL;</div><div class='add'>+	return (char *)n - off;</div><div class='add'>+}</div><div class='add'>+#endif /* CCAN_LIST_H */</div><div class='head'>diff --git a/ccan/str/str.h b/ccan/str/str.h<br/>new file mode 100644<br/>index 0000000000..9a9da9cd3f<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/ccan/str/str.h?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>ccan/str/str.h</a></div><div class='hunk'>@@ -0,0 +1,16 @@</div><div class='add'>+/* CC0 (Public domain) - see ccan/licenses/CC0 file for details */</div><div class='add'>+#ifndef CCAN_STR_H</div><div class='add'>+#define CCAN_STR_H</div><div class='add'>+/**</div><div class='add'>+ * stringify - Turn expression into a string literal</div><div class='add'>+ * @expr: any C expression</div><div class='add'>+ *</div><div class='add'>+ * Example:</div><div class='add'>+ *	#define PRINT_COND_IF_FALSE(cond) \</div><div class='add'>+ *		((cond) || printf("%s is false!", stringify(cond)))</div><div class='add'>+ */</div><div class='add'>+#define stringify(expr)		stringify_1(expr)</div><div class='add'>+/* Double-indirection required to stringify expansions */</div><div class='add'>+#define stringify_1(expr)	#expr</div><div class='add'>+</div><div class='add'>+#endif /* CCAN_STR_H */</div><div class='head'>diff --git a/class.c b/class.c<br/>index 32dc0e1372..47f35b1f90 100644<br/>--- a/<a href='/ruby.git/tree/class.c?h=v3_0_0&amp;id=cfb52c86678519810cfa84b564a3d32a9200139d'>class.c</a><br/>+++ b/<a href='/ruby.git/tree/class.c?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>class.c</a></div><div class='hunk'>@@ -1,655 +1,2315 @@</div><div class='del'>-/************************************************</div><div class='add'>+/**********************************************************************</div><div class='ctx'> </div><div class='ctx'>   class.c -</div><div class='ctx'> </div><div class='ctx'>   $Author$</div><div class='del'>-  $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-1999 Yukihiro Matsumoto</div><div class='add'>+  Copyright (C) 1993-2007 Yukihiro Matsumoto</div><div class='add'>+</div><div class='add'>+**********************************************************************/</div><div class='add'>+</div><div class='add'>+/*!</div><div class='add'>+ * \defgroup class Classes and their hierarchy.</div><div class='add'>+ * \par Terminology</div><div class='add'>+ * - class: same as in Ruby.</div><div class='add'>+ * - singleton class: class for a particular object</div><div class='add'>+ * - eigenclass: = singleton class</div><div class='add'>+ * - metaclass: class of a class. metaclass is a kind of singleton class.</div><div class='add'>+ * - metametaclass: class of a metaclass.</div><div class='add'>+ * - meta^(n)-class: class of a meta^(n-1)-class.</div><div class='add'>+ * - attached object: A singleton class knows its unique instance.</div><div class='add'>+ *   The instance is called the attached object for the singleton class.</div><div class='add'>+ * \{</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+#include "ruby/internal/config.h"</div><div class='add'>+#include &lt;ctype.h&gt;</div><div class='ctx'> </div><div class='del'>-************************************************/</div><div class='add'>+#include "constant.h"</div><div class='add'>+#include "id_table.h"</div><div class='add'>+#include "internal.h"</div><div class='add'>+#include "internal/class.h"</div><div class='add'>+#include "internal/eval.h"</div><div class='add'>+#include "internal/hash.h"</div><div class='add'>+#include "internal/object.h"</div><div class='add'>+#include "internal/string.h"</div><div class='add'>+#include "internal/variable.h"</div><div class='add'>+#include "ruby/st.h"</div><div class='add'>+#include "vm_core.h"</div><div class='ctx'> </div><div class='del'>-#include "ruby.h"</div><div class='del'>-#include "node.h"</div><div class='del'>-#include "st.h"</div><div class='del'>-#include &lt;ctype.h&gt;</div><div class='add'>+#define id_attached id__attached__</div><div class='ctx'> </div><div class='del'>-#ifdef USE_CWGUSI</div><div class='del'>-#include &lt;stdio.h&gt;</div><div class='del'>-#endif</div><div class='add'>+#define METACLASS_OF(k) RBASIC(k)-&gt;klass</div><div class='add'>+#define SET_METACLASS_OF(k, cls) RBASIC_SET_CLASS(k, cls)</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+rb_class_subclass_add(VALUE super, VALUE klass)</div><div class='add'>+{</div><div class='add'>+    rb_subclass_entry_t *entry, *head;</div><div class='add'>+</div><div class='add'>+    if (super &amp;&amp; super != Qundef) {</div><div class='add'>+	entry = ALLOC(rb_subclass_entry_t);</div><div class='add'>+	entry-&gt;klass = klass;</div><div class='add'>+	entry-&gt;next = NULL;</div><div class='add'>+</div><div class='add'>+	head = RCLASS_EXT(super)-&gt;subclasses;</div><div class='add'>+	if (head) {</div><div class='add'>+	    entry-&gt;next = head;</div><div class='add'>+	    RCLASS_EXT(head-&gt;klass)-&gt;parent_subclasses = &amp;entry-&gt;next;</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+	RCLASS_EXT(super)-&gt;subclasses = entry;</div><div class='add'>+	RCLASS_EXT(klass)-&gt;parent_subclasses = &amp;RCLASS_EXT(super)-&gt;subclasses;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+rb_module_add_to_subclasses_list(VALUE module, VALUE iclass)</div><div class='add'>+{</div><div class='add'>+    rb_subclass_entry_t *entry, *head;</div><div class='add'>+</div><div class='add'>+    entry = ALLOC(rb_subclass_entry_t);</div><div class='add'>+    entry-&gt;klass = iclass;</div><div class='add'>+    entry-&gt;next = NULL;</div><div class='add'>+</div><div class='add'>+    head = RCLASS_EXT(module)-&gt;subclasses;</div><div class='add'>+    if (head) {</div><div class='add'>+	entry-&gt;next = head;</div><div class='add'>+	RCLASS_EXT(head-&gt;klass)-&gt;module_subclasses = &amp;entry-&gt;next;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    RCLASS_EXT(module)-&gt;subclasses = entry;</div><div class='add'>+    RCLASS_EXT(iclass)-&gt;module_subclasses = &amp;RCLASS_EXT(module)-&gt;subclasses;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+rb_class_remove_from_super_subclasses(VALUE klass)</div><div class='add'>+{</div><div class='add'>+    rb_subclass_entry_t *entry;</div><div class='add'>+</div><div class='add'>+    if (RCLASS_EXT(klass)-&gt;parent_subclasses) {</div><div class='add'>+	entry = *RCLASS_EXT(klass)-&gt;parent_subclasses;</div><div class='add'>+</div><div class='add'>+	*RCLASS_EXT(klass)-&gt;parent_subclasses = entry-&gt;next;</div><div class='add'>+	if (entry-&gt;next) {</div><div class='add'>+	    RCLASS_EXT(entry-&gt;next-&gt;klass)-&gt;parent_subclasses = RCLASS_EXT(klass)-&gt;parent_subclasses;</div><div class='add'>+	}</div><div class='add'>+	xfree(entry);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    RCLASS_EXT(klass)-&gt;parent_subclasses = NULL;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+rb_class_remove_from_module_subclasses(VALUE klass)</div><div class='add'>+{</div><div class='add'>+    rb_subclass_entry_t *entry;</div><div class='add'>+</div><div class='add'>+    if (RCLASS_EXT(klass)-&gt;module_subclasses) {</div><div class='add'>+	entry = *RCLASS_EXT(klass)-&gt;module_subclasses;</div><div class='add'>+	*RCLASS_EXT(klass)-&gt;module_subclasses = entry-&gt;next;</div><div class='add'>+</div><div class='add'>+	if (entry-&gt;next) {</div><div class='add'>+	    RCLASS_EXT(entry-&gt;next-&gt;klass)-&gt;module_subclasses = RCLASS_EXT(klass)-&gt;module_subclasses;</div><div class='add'>+	}</div><div class='ctx'> </div><div class='del'>-extern st_table *rb_class_tbl;</div><div class='add'>+	xfree(entry);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    RCLASS_EXT(klass)-&gt;module_subclasses = NULL;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+rb_class_foreach_subclass(VALUE klass, void (*f)(VALUE, VALUE), VALUE arg)</div><div class='add'>+{</div><div class='add'>+    rb_subclass_entry_t *cur = RCLASS_EXT(klass)-&gt;subclasses;</div><div class='add'>+</div><div class='add'>+    /* do not be tempted to simplify this loop into a for loop, the order of</div><div class='add'>+       operations is important here if `f` modifies the linked list */</div><div class='add'>+    while (cur) {</div><div class='add'>+	VALUE curklass = cur-&gt;klass;</div><div class='add'>+	cur = cur-&gt;next;</div><div class='add'>+	f(curklass, arg);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+class_detach_subclasses(VALUE klass, VALUE arg)</div><div class='add'>+{</div><div class='add'>+    rb_class_remove_from_super_subclasses(klass);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+rb_class_detach_subclasses(VALUE klass)</div><div class='add'>+{</div><div class='add'>+    rb_class_foreach_subclass(klass, class_detach_subclasses, Qnil);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+class_detach_module_subclasses(VALUE klass, VALUE arg)</div><div class='add'>+{</div><div class='add'>+    rb_class_remove_from_module_subclasses(klass);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+rb_class_detach_module_subclasses(VALUE klass)</div><div class='add'>+{</div><div class='add'>+    rb_class_foreach_subclass(klass, class_detach_module_subclasses, Qnil);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * Allocates a struct RClass for a new class.</div><div class='add'>+ *</div><div class='add'>+ * \param flags     initial value for basic.flags of the returned class.</div><div class='add'>+ * \param klass     the class of the returned class.</div><div class='add'>+ * \return          an uninitialized Class object.</div><div class='add'>+ * \pre  \p klass must refer \c Class class or an ancestor of Class.</div><div class='add'>+ * \pre  \code (flags | T_CLASS) != 0  \endcode</div><div class='add'>+ * \post the returned class can safely be \c #initialize 'd.</div><div class='add'>+ *</div><div class='add'>+ * \note this function is not Class#allocate.</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+class_alloc(VALUE flags, VALUE klass)</div><div class='add'>+{</div><div class='add'>+    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='add'>+    obj-&gt;ptr = ZALLOC(rb_classext_t);</div><div class='add'>+    /* ZALLOC</div><div class='add'>+      RCLASS_IV_TBL(obj) = 0;</div><div class='add'>+      RCLASS_CONST_TBL(obj) = 0;</div><div class='add'>+      RCLASS_M_TBL(obj) = 0;</div><div class='add'>+      RCLASS_IV_INDEX_TBL(obj) = 0;</div><div class='add'>+      RCLASS_SET_SUPER((VALUE)obj, 0);</div><div class='add'>+      RCLASS_EXT(obj)-&gt;subclasses = NULL;</div><div class='add'>+      RCLASS_EXT(obj)-&gt;parent_subclasses = NULL;</div><div class='add'>+      RCLASS_EXT(obj)-&gt;module_subclasses = NULL;</div><div class='add'>+     */</div><div class='add'>+    RCLASS_SET_ORIGIN((VALUE)obj, (VALUE)obj);</div><div class='add'>+    RCLASS_SERIAL(obj) = rb_next_class_serial();</div><div class='add'>+    RB_OBJ_WRITE(obj, &amp;RCLASS_REFINED_CLASS(obj), Qnil);</div><div class='add'>+    RCLASS_EXT(obj)-&gt;allocator = 0;</div><div class='add'>+</div><div class='add'>+    return (VALUE)obj;</div><div class='add'>+}</div><div class='ctx'> </div><div class='add'>+static void</div><div class='add'>+RCLASS_M_TBL_INIT(VALUE c)</div><div class='add'>+{</div><div class='add'>+    RCLASS_M_TBL(c) = rb_id_table_create(0);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*!</div><div class='add'>+ * A utility function that wraps class_alloc.</div><div class='add'>+ *</div><div class='add'>+ * allocates a class and initializes safely.</div><div class='add'>+ * \param super     a class from which the new class derives.</div><div class='add'>+ * \return          a class object.</div><div class='add'>+ * \pre  \a super must be a class.</div><div class='add'>+ * \post the metaclass of the new class is Class.</div><div class='add'>+ */</div><div class='ctx'> VALUE</div><div class='del'>-rb_class_new(super)</div><div class='del'>-    VALUE super;</div><div class='add'>+rb_class_boot(VALUE super)</div><div class='ctx'> {</div><div class='del'>-    NEWOBJ(klass, struct RClass);</div><div class='del'>-    OBJSETUP(klass, rb_cClass, T_CLASS);</div><div class='add'>+    VALUE klass = class_alloc(T_CLASS, rb_cClass);</div><div class='ctx'> </div><div class='del'>-    klass-&gt;super = super;</div><div class='del'>-    klass-&gt;iv_tbl = 0;</div><div class='del'>-    klass-&gt;m_tbl = 0;		/* safe GC */</div><div class='del'>-    klass-&gt;m_tbl = st_init_numtable();</div><div class='add'>+    RCLASS_SET_SUPER(klass, super);</div><div class='add'>+    RCLASS_M_TBL_INIT(klass);</div><div class='ctx'> </div><div class='ctx'>     return (VALUE)klass;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+</div><div class='add'>+/*!</div><div class='add'>+ * Ensures a class can be derived from super.</div><div class='add'>+ *</div><div class='add'>+ * \param super a reference to an object.</div><div class='add'>+ * \exception TypeError if \a super is not a Class or \a super is a singleton class.</div><div class='add'>+ */</div><div class='add'>+void</div><div class='add'>+rb_check_inheritable(VALUE super)</div><div class='add'>+{</div><div class='add'>+    if (!RB_TYPE_P(super, T_CLASS)) {</div><div class='add'>+        rb_raise(rb_eTypeError, "superclass must be an instance of Class (given an instance of %"PRIsVALUE")",</div><div class='add'>+		 rb_obj_class(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 singleton class");</div><div class='add'>+    }</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='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+/*!</div><div class='add'>+ * Creates a new class.</div><div class='add'>+ * \param super     a class from which the new class derives.</div><div class='add'>+ * \exception TypeError \a super is not inheritable.</div><div class='add'>+ * \exception TypeError \a super is the Class class.</div><div class='add'>+ */</div><div class='ctx'> VALUE</div><div class='del'>-rb_singleton_class_new(super)</div><div class='del'>-    VALUE super;</div><div class='add'>+rb_class_new(VALUE super)</div><div class='ctx'> {</div><div class='del'>-    VALUE klass = rb_class_new(super);</div><div class='add'>+    Check_Type(super, T_CLASS);</div><div class='add'>+    rb_check_inheritable(super);</div><div class='add'>+    return rb_class_boot(super);</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-    FL_SET(klass, FL_SINGLETON);</div><div class='del'>-    return klass;</div><div class='add'>+static void</div><div class='add'>+clone_method(VALUE old_klass, VALUE new_klass, ID mid, const rb_method_entry_t *me)</div><div class='add'>+{</div><div class='add'>+    if (me-&gt;def-&gt;type == VM_METHOD_TYPE_ISEQ) {</div><div class='add'>+	rb_cref_t *new_cref;</div><div class='add'>+	rb_vm_rewrite_cref(me-&gt;def-&gt;body.iseq.cref, old_klass, new_klass, &amp;new_cref);</div><div class='add'>+	rb_add_method_iseq(new_klass, mid, me-&gt;def-&gt;body.iseq.iseqptr, new_cref, METHOD_ENTRY_VISI(me));</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	rb_method_entry_set(new_klass, mid, me, METHOD_ENTRY_VISI(me));</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+struct clone_method_arg {</div><div class='add'>+    VALUE new_klass;</div><div class='add'>+    VALUE old_klass;</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+static enum rb_id_table_iterator_result</div><div class='add'>+clone_method_i(ID key, VALUE value, void *data)</div><div class='add'>+{</div><div class='add'>+    const struct clone_method_arg *arg = (struct clone_method_arg *)data;</div><div class='add'>+    clone_method(arg-&gt;old_klass, arg-&gt;new_klass, key, (const rb_method_entry_t *)value);</div><div class='add'>+    return ID_TABLE_CONTINUE;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+struct clone_const_arg {</div><div class='add'>+    VALUE klass;</div><div class='add'>+    struct rb_id_table *tbl;</div><div class='add'>+};</div><div class='add'>+</div><div class='ctx'> static int</div><div class='del'>-clone_method(mid, body, tbl)</div><div class='del'>-    ID mid;</div><div class='del'>-    NODE *body;</div><div class='del'>-    st_table *tbl;</div><div class='add'>+clone_const(ID key, const rb_const_entry_t *ce, struct clone_const_arg *arg)</div><div class='ctx'> {</div><div class='del'>-    st_insert(tbl, mid, NEW_METHOD(body-&gt;nd_body, body-&gt;nd_noex));</div><div class='del'>-    return ST_CONTINUE;</div><div class='add'>+    rb_const_entry_t *nce = ALLOC(rb_const_entry_t);</div><div class='add'>+    MEMCPY(nce, ce, rb_const_entry_t, 1);</div><div class='add'>+    RB_OBJ_WRITTEN(arg-&gt;klass, Qundef, ce-&gt;value);</div><div class='add'>+    RB_OBJ_WRITTEN(arg-&gt;klass, Qundef, ce-&gt;file);</div><div class='add'>+</div><div class='add'>+    rb_id_table_insert(arg-&gt;tbl, key, (VALUE)nce);</div><div class='add'>+    return ID_TABLE_CONTINUE;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static enum rb_id_table_iterator_result</div><div class='add'>+clone_const_i(ID key, VALUE value, void *data)</div><div class='add'>+{</div><div class='add'>+    return clone_const(key, (const rb_const_entry_t *)value, data);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+class_init_copy_check(VALUE clone, VALUE orig)</div><div class='add'>+{</div><div class='add'>+    if (orig == rb_cBasicObject) {</div><div class='add'>+	rb_raise(rb_eTypeError, "can't copy the root class");</div><div class='add'>+    }</div><div class='add'>+    if (RCLASS_SUPER(clone) != 0 || clone == rb_cBasicObject) {</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'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+copy_tables(VALUE clone, VALUE orig)</div><div class='add'>+{</div><div class='add'>+    if (RCLASS_IV_TBL(clone)) {</div><div class='add'>+	st_free_table(RCLASS_IV_TBL(clone));</div><div class='add'>+	RCLASS_IV_TBL(clone) = 0;</div><div class='add'>+    }</div><div class='add'>+    if (RCLASS_CONST_TBL(clone)) {</div><div class='add'>+	rb_free_const_table(RCLASS_CONST_TBL(clone));</div><div class='add'>+	RCLASS_CONST_TBL(clone) = 0;</div><div class='add'>+    }</div><div class='add'>+    RCLASS_M_TBL(clone) = 0;</div><div class='add'>+    if (RCLASS_IV_TBL(orig)) {</div><div class='add'>+	st_data_t id;</div><div class='add'>+</div><div class='add'>+	rb_iv_tbl_copy(clone, orig);</div><div class='add'>+	CONST_ID(id, "__tmp_classpath__");</div><div class='add'>+	st_delete(RCLASS_IV_TBL(clone), &amp;id, 0);</div><div class='add'>+	CONST_ID(id, "__classpath__");</div><div class='add'>+	st_delete(RCLASS_IV_TBL(clone), &amp;id, 0);</div><div class='add'>+	CONST_ID(id, "__classid__");</div><div class='add'>+	st_delete(RCLASS_IV_TBL(clone), &amp;id, 0);</div><div class='add'>+    }</div><div class='add'>+    if (RCLASS_CONST_TBL(orig)) {</div><div class='add'>+	struct clone_const_arg arg;</div><div class='add'>+</div><div class='add'>+	arg.tbl = RCLASS_CONST_TBL(clone) = rb_id_table_create(0);</div><div class='add'>+	arg.klass = clone;</div><div class='add'>+	rb_id_table_foreach(RCLASS_CONST_TBL(orig), clone_const_i, &amp;arg);</div><div class='add'>+    }</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+static void ensure_origin(VALUE klass);</div><div class='add'>+</div><div class='add'>+/* :nodoc: */</div><div class='ctx'> VALUE</div><div class='del'>-rb_singleton_class_clone(klass)</div><div class='del'>-    VALUE klass;</div><div class='add'>+rb_mod_init_copy(VALUE clone, VALUE orig)</div><div class='ctx'> {</div><div class='del'>-    if (!FL_TEST(klass, FL_SINGLETON))</div><div class='del'>-	return klass;</div><div class='add'>+    if (RB_TYPE_P(clone, T_CLASS)) {</div><div class='add'>+        class_init_copy_check(clone, orig);</div><div class='add'>+    }</div><div class='add'>+    if (!OBJ_INIT_COPY(clone, orig)) return clone;</div><div class='add'>+</div><div class='add'>+    /* cloned flag is refer at constant inline cache</div><div class='add'>+     * see vm_get_const_key_cref() in vm_insnhelper.c</div><div class='add'>+     */</div><div class='add'>+    FL_SET(clone, RCLASS_CLONED);</div><div class='add'>+    FL_SET(orig , RCLASS_CLONED);</div><div class='add'>+</div><div class='add'>+    if (!FL_TEST(CLASS_OF(clone), FL_SINGLETON)) {</div><div class='add'>+        RBASIC_SET_CLASS(clone, rb_singleton_class_clone(orig));</div><div class='add'>+        rb_singleton_class_attached(RBASIC(clone)-&gt;klass, (VALUE)clone);</div><div class='add'>+    }</div><div class='add'>+    RCLASS_EXT(clone)-&gt;allocator = RCLASS_EXT(orig)-&gt;allocator;</div><div class='add'>+    copy_tables(clone, orig);</div><div class='add'>+    if (RCLASS_M_TBL(orig)) {</div><div class='add'>+	struct clone_method_arg arg;</div><div class='add'>+	arg.old_klass = orig;</div><div class='add'>+	arg.new_klass = clone;</div><div class='add'>+	RCLASS_M_TBL_INIT(clone);</div><div class='add'>+	rb_id_table_foreach(RCLASS_M_TBL(orig), clone_method_i, &amp;arg);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (RCLASS_ORIGIN(orig) == orig) {</div><div class='add'>+        RCLASS_SET_SUPER(clone, RCLASS_SUPER(orig));</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        VALUE p = RCLASS_SUPER(orig);</div><div class='add'>+        VALUE orig_origin = RCLASS_ORIGIN(orig);</div><div class='add'>+        VALUE prev_clone_p = clone;</div><div class='add'>+        VALUE origin_stack = rb_ary_tmp_new(2);</div><div class='add'>+        VALUE origin[2];</div><div class='add'>+        VALUE clone_p = 0;</div><div class='add'>+        long origin_len;</div><div class='add'>+        int add_subclass;</div><div class='add'>+        VALUE clone_origin;</div><div class='add'>+</div><div class='add'>+        ensure_origin(clone);</div><div class='add'>+        clone_origin = RCLASS_ORIGIN(clone);</div><div class='add'>+</div><div class='add'>+        while (p &amp;&amp; p != orig_origin) {</div><div class='add'>+            if (BUILTIN_TYPE(p) != T_ICLASS) {</div><div class='add'>+                rb_bug("non iclass between module/class and origin");</div><div class='add'>+            }</div><div class='add'>+            clone_p = class_alloc(RBASIC(p)-&gt;flags, RBASIC(p)-&gt;klass);</div><div class='add'>+            RCLASS_SET_SUPER(prev_clone_p, clone_p);</div><div class='add'>+            prev_clone_p = clone_p;</div><div class='add'>+            RCLASS_M_TBL(clone_p) = RCLASS_M_TBL(p);</div><div class='add'>+            RCLASS_CONST_TBL(clone_p) = RCLASS_CONST_TBL(p);</div><div class='add'>+            RCLASS_IV_TBL(clone_p) = RCLASS_IV_TBL(p);</div><div class='add'>+            RCLASS_EXT(clone_p)-&gt;allocator = RCLASS_EXT(p)-&gt;allocator;</div><div class='add'>+            if (RB_TYPE_P(clone, T_CLASS)) {</div><div class='add'>+                RCLASS_SET_INCLUDER(clone_p, clone);</div><div class='add'>+            }</div><div class='add'>+            add_subclass = TRUE;</div><div class='add'>+            if (p != RCLASS_ORIGIN(p)) {</div><div class='add'>+                origin[0] = clone_p;</div><div class='add'>+                origin[1] = RCLASS_ORIGIN(p);</div><div class='add'>+                rb_ary_cat(origin_stack, origin, 2);</div><div class='add'>+            }</div><div class='add'>+            else if ((origin_len = RARRAY_LEN(origin_stack)) &gt; 1 &amp;&amp;</div><div class='add'>+                     RARRAY_AREF(origin_stack, origin_len - 1) == p) {</div><div class='add'>+                RCLASS_SET_ORIGIN(RARRAY_AREF(origin_stack, (origin_len -= 2)), clone_p);</div><div class='add'>+                RICLASS_SET_ORIGIN_SHARED_MTBL(clone_p);</div><div class='add'>+                rb_ary_resize(origin_stack, origin_len);</div><div class='add'>+                add_subclass = FALSE;</div><div class='add'>+            }</div><div class='add'>+            if (add_subclass) {</div><div class='add'>+                rb_module_add_to_subclasses_list(RBASIC(p)-&gt;klass, clone_p);</div><div class='add'>+            }</div><div class='add'>+            p = RCLASS_SUPER(p);</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        if (p == orig_origin) {</div><div class='add'>+            if (clone_p) {</div><div class='add'>+                RCLASS_SET_SUPER(clone_p, clone_origin);</div><div class='add'>+                RCLASS_SET_SUPER(clone_origin, RCLASS_SUPER(orig_origin));</div><div class='add'>+            }</div><div class='add'>+            copy_tables(clone_origin, orig_origin);</div><div class='add'>+            if (RCLASS_M_TBL(orig_origin)) {</div><div class='add'>+                struct clone_method_arg arg;</div><div class='add'>+                arg.old_klass = orig;</div><div class='add'>+                arg.new_klass = clone;</div><div class='add'>+                RCLASS_M_TBL_INIT(clone_origin);</div><div class='add'>+                rb_id_table_foreach(RCLASS_M_TBL(orig_origin), clone_method_i, &amp;arg);</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            rb_bug("no origin for class that has origin");</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return clone;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_singleton_class_clone(VALUE obj)</div><div class='add'>+{</div><div class='add'>+    return rb_singleton_class_clone_and_attach(obj, Qundef);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+// Clone and return the singleton class of `obj` if it has been created and is attached to `obj`.</div><div class='add'>+VALUE</div><div class='add'>+rb_singleton_class_clone_and_attach(VALUE obj, VALUE attach)</div><div class='add'>+{</div><div class='add'>+    const VALUE klass = RBASIC(obj)-&gt;klass;</div><div class='add'>+</div><div class='add'>+    // Note that `rb_singleton_class()` can create situations where `klass` is</div><div class='add'>+    // attached to an object other than `obj`. In which case `obj` does not have</div><div class='add'>+    // a material singleton class attached yet and there is no singleton class</div><div class='add'>+    // to clone.</div><div class='add'>+    if (!(FL_TEST(klass, FL_SINGLETON) &amp;&amp; rb_attr_get(klass, id_attached) == obj)) {</div><div class='add'>+        // nothing to clone</div><div class='add'>+        return klass;</div><div class='add'>+    }</div><div class='ctx'>     else {</div><div class='ctx'> 	/* copy singleton(unnamed) class */</div><div class='del'>-	NEWOBJ(clone, struct RClass);</div><div class='del'>-	CLONESETUP(clone, klass);</div><div class='del'>-</div><div class='del'>-	clone-&gt;super = RCLASS(klass)-&gt;super;</div><div class='del'>-	clone-&gt;iv_tbl = 0;</div><div class='del'>-	clone-&gt;m_tbl = 0;</div><div class='del'>-	clone-&gt;m_tbl = st_init_numtable();</div><div class='del'>-	st_foreach(RCLASS(klass)-&gt;m_tbl, clone_method, clone-&gt;m_tbl);</div><div class='add'>+        bool klass_of_clone_is_new;</div><div class='add'>+	VALUE clone = class_alloc(RBASIC(klass)-&gt;flags, 0);</div><div class='add'>+</div><div class='add'>+	if (BUILTIN_TYPE(obj) == T_CLASS) {</div><div class='add'>+            klass_of_clone_is_new = true;</div><div class='add'>+	    RBASIC_SET_CLASS(clone, clone);</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+            VALUE klass_metaclass_clone = rb_singleton_class_clone(klass);</div><div class='add'>+            // When `METACLASS_OF(klass) == klass_metaclass_clone`, it means the</div><div class='add'>+            // recursive call did not clone `METACLASS_OF(klass)`.</div><div class='add'>+            klass_of_clone_is_new = (METACLASS_OF(klass) != klass_metaclass_clone);</div><div class='add'>+            RBASIC_SET_CLASS(clone, klass_metaclass_clone);</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+	RCLASS_SET_SUPER(clone, RCLASS_SUPER(klass));</div><div class='add'>+	RCLASS_EXT(clone)-&gt;allocator = RCLASS_EXT(klass)-&gt;allocator;</div><div class='add'>+	if (RCLASS_IV_TBL(klass)) {</div><div class='add'>+	    rb_iv_tbl_copy(clone, klass);</div><div class='add'>+	}</div><div class='add'>+	if (RCLASS_CONST_TBL(klass)) {</div><div class='add'>+	    struct clone_const_arg arg;</div><div class='add'>+	    arg.tbl = RCLASS_CONST_TBL(clone) = rb_id_table_create(0);</div><div class='add'>+	    arg.klass = clone;</div><div class='add'>+	    rb_id_table_foreach(RCLASS_CONST_TBL(klass), clone_const_i, &amp;arg);</div><div class='add'>+	}</div><div class='add'>+	if (attach != Qundef) {</div><div class='add'>+	    rb_singleton_class_attached(clone, attach);</div><div class='add'>+	}</div><div class='add'>+	RCLASS_M_TBL_INIT(clone);</div><div class='add'>+	{</div><div class='add'>+	    struct clone_method_arg arg;</div><div class='add'>+	    arg.old_klass = klass;</div><div class='add'>+	    arg.new_klass = clone;</div><div class='add'>+	    rb_id_table_foreach(RCLASS_M_TBL(klass), clone_method_i, &amp;arg);</div><div class='add'>+	}</div><div class='add'>+        if (klass_of_clone_is_new) {</div><div class='add'>+            rb_singleton_class_attached(RBASIC(clone)-&gt;klass, clone);</div><div class='add'>+        }</div><div class='ctx'> 	FL_SET(clone, FL_SINGLETON);</div><div class='del'>-	return (VALUE)clone;</div><div class='add'>+</div><div class='add'>+	return clone;</div><div class='ctx'>     }</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*!</div><div class='add'>+ * Attach a object to a singleton class.</div><div class='add'>+ * @pre \a klass is the singleton class of \a obj.</div><div class='add'>+ */</div><div class='ctx'> void</div><div class='del'>-rb_singleton_class_attached(klass, obj)</div><div class='del'>-    VALUE klass, obj;</div><div class='add'>+rb_singleton_class_attached(VALUE klass, VALUE obj)</div><div class='ctx'> {</div><div class='del'>-    if (FL_TEST(klass, FL_SINGLETON))</div><div class='del'>-	rb_iv_set(klass, "__attached__", obj);</div><div class='add'>+    if (FL_TEST(klass, FL_SINGLETON)) {</div><div class='add'>+	if (!RCLASS_IV_TBL(klass)) {</div><div class='add'>+	    RCLASS_IV_TBL(klass) = st_init_numtable();</div><div class='add'>+	}</div><div class='add'>+	rb_class_ivar_set(klass, id_attached, obj);</div><div class='add'>+    }</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-VALUE</div><div class='del'>-rb_define_class_id(id, super)</div><div class='del'>-    ID id;</div><div class='add'>+/*!</div><div class='add'>+ * whether k is a meta^(n)-class of Class class</div><div class='add'>+ * @retval 1 if \a k is a meta^(n)-class of Class class (n &gt;= 0)</div><div class='add'>+ * @retval 0 otherwise</div><div class='add'>+ */</div><div class='add'>+#define META_CLASS_OF_CLASS_CLASS_P(k)  (METACLASS_OF(k) == (k))</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+rb_singleton_class_has_metaclass_p(VALUE sklass)</div><div class='add'>+{</div><div class='add'>+    return rb_attr_get(METACLASS_OF(sklass), id_attached) == sklass;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+int</div><div class='add'>+rb_singleton_class_internal_p(VALUE sklass)</div><div class='add'>+{</div><div class='add'>+    return (RB_TYPE_P(rb_attr_get(sklass, id_attached), T_CLASS) &amp;&amp;</div><div class='add'>+	    !rb_singleton_class_has_metaclass_p(sklass));</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*!</div><div class='add'>+ * whether k has a metaclass</div><div class='add'>+ * @retval 1 if \a k has a metaclass</div><div class='add'>+ * @retval 0 otherwise</div><div class='add'>+ */</div><div class='add'>+#define HAVE_METACLASS_P(k) \</div><div class='add'>+    (FL_TEST(METACLASS_OF(k), FL_SINGLETON) &amp;&amp; \</div><div class='add'>+     rb_singleton_class_has_metaclass_p(k))</div><div class='add'>+</div><div class='add'>+/*!</div><div class='add'>+ * ensures \a klass belongs to its own eigenclass.</div><div class='add'>+ * @return the eigenclass of \a klass</div><div class='add'>+ * @post \a klass belongs to the returned eigenclass.</div><div class='add'>+ *       i.e. the attached object of the eigenclass is \a klass.</div><div class='add'>+ * @note this macro creates a new eigenclass if necessary.</div><div class='add'>+ */</div><div class='add'>+#define ENSURE_EIGENCLASS(klass) \</div><div class='add'>+    (HAVE_METACLASS_P(klass) ? METACLASS_OF(klass) : make_metaclass(klass))</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+/*!</div><div class='add'>+ * Creates a metaclass of \a klass</div><div class='add'>+ * \param klass     a class</div><div class='add'>+ * \return          created metaclass for the class</div><div class='add'>+ * \pre \a klass is a Class object</div><div class='add'>+ * \pre \a klass has no singleton class.</div><div class='add'>+ * \post the class of \a klass is the returned class.</div><div class='add'>+ * \post the returned class is meta^(n+1)-class when \a klass is a meta^(n)-klass for n &gt;= 0</div><div class='add'>+ */</div><div class='add'>+static inline VALUE</div><div class='add'>+make_metaclass(VALUE klass)</div><div class='add'>+{</div><div class='ctx'>     VALUE super;</div><div class='add'>+    VALUE metaclass = rb_class_boot(Qundef);</div><div class='add'>+</div><div class='add'>+    FL_SET(metaclass, FL_SINGLETON);</div><div class='add'>+    rb_singleton_class_attached(metaclass, klass);</div><div class='add'>+</div><div class='add'>+    if (META_CLASS_OF_CLASS_CLASS_P(klass)) {</div><div class='add'>+	SET_METACLASS_OF(klass, metaclass);</div><div class='add'>+	SET_METACLASS_OF(metaclass, metaclass);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	VALUE tmp = METACLASS_OF(klass); /* for a meta^(n)-class klass, tmp is meta^(n)-class of Class class */</div><div class='add'>+	SET_METACLASS_OF(klass, metaclass);</div><div class='add'>+	SET_METACLASS_OF(metaclass, ENSURE_EIGENCLASS(tmp));</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    super = RCLASS_SUPER(klass);</div><div class='add'>+    while (RB_TYPE_P(super, T_ICLASS)) super = RCLASS_SUPER(super);</div><div class='add'>+    RCLASS_SET_SUPER(metaclass, super ? ENSURE_EIGENCLASS(super) : rb_cClass);</div><div class='add'>+</div><div class='add'>+    return metaclass;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*!</div><div class='add'>+ * Creates a singleton class for \a obj.</div><div class='add'>+ * \pre \a obj must not a immediate nor a special const.</div><div class='add'>+ * \pre \a obj must not a Class object.</div><div class='add'>+ * \pre \a obj has no singleton class.</div><div class='add'>+ */</div><div class='add'>+static inline VALUE</div><div class='add'>+make_singleton_class(VALUE obj)</div><div class='add'>+{</div><div class='add'>+    VALUE orig_class = RBASIC(obj)-&gt;klass;</div><div class='add'>+    VALUE klass = rb_class_boot(orig_class);</div><div class='add'>+</div><div class='add'>+    FL_SET(klass, FL_SINGLETON);</div><div class='add'>+    RBASIC_SET_CLASS(obj, klass);</div><div class='add'>+    rb_singleton_class_attached(klass, obj);</div><div class='add'>+</div><div class='add'>+    SET_METACLASS_OF(klass, METACLASS_OF(rb_class_real(orig_class)));</div><div class='add'>+    return klass;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+boot_defclass(const char *name, VALUE super)</div><div class='add'>+{</div><div class='add'>+    VALUE obj = rb_class_boot(super);</div><div class='add'>+    ID id = rb_intern(name);</div><div class='add'>+</div><div class='add'>+    rb_const_set((rb_cObject ? rb_cObject : obj), id, obj);</div><div class='add'>+    rb_vm_add_root_module(obj);</div><div class='add'>+    return obj;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+Init_class_hierarchy(void)</div><div class='add'>+{</div><div class='add'>+    rb_cBasicObject = boot_defclass("BasicObject", 0);</div><div class='add'>+    rb_cObject = boot_defclass("Object", rb_cBasicObject);</div><div class='add'>+    rb_gc_register_mark_object(rb_cObject);</div><div class='add'>+</div><div class='add'>+    /* resolve class name ASAP for order-independence */</div><div class='add'>+    rb_set_class_path_string(rb_cObject, rb_cObject, rb_fstring_lit("Object"));</div><div class='add'>+</div><div class='add'>+    rb_cModule = boot_defclass("Module", rb_cObject);</div><div class='add'>+    rb_cClass =  boot_defclass("Class",  rb_cModule);</div><div class='add'>+</div><div class='add'>+    rb_const_set(rb_cObject, rb_intern_const("BasicObject"), rb_cBasicObject);</div><div class='add'>+    RBASIC_SET_CLASS(rb_cClass, rb_cClass);</div><div class='add'>+    RBASIC_SET_CLASS(rb_cModule, rb_cClass);</div><div class='add'>+    RBASIC_SET_CLASS(rb_cObject, rb_cClass);</div><div class='add'>+    RBASIC_SET_CLASS(rb_cBasicObject, rb_cClass);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+/*!</div><div class='add'>+ * \internal</div><div class='add'>+ * Creates a new *singleton class* for an object.</div><div class='add'>+ *</div><div class='add'>+ * \pre \a obj has no singleton class.</div><div class='add'>+ * \note DO NOT USE the function in an extension libraries. Use \ref rb_singleton_class.</div><div class='add'>+ * \param obj     An object.</div><div class='add'>+ * \param unused  ignored.</div><div class='add'>+ * \return        The singleton class of the object.</div><div class='add'>+ */</div><div class='add'>+VALUE</div><div class='add'>+rb_make_metaclass(VALUE obj, VALUE unused)</div><div class='add'>+{</div><div class='add'>+    if (BUILTIN_TYPE(obj) == T_CLASS) {</div><div class='add'>+	return make_metaclass(obj);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	return make_singleton_class(obj);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+/*!</div><div class='add'>+ * Defines a new class.</div><div class='add'>+ * \param id     ignored</div><div class='add'>+ * \param super  A class from which the new class will derive. NULL means \c Object class.</div><div class='add'>+ * \return       the created class</div><div class='add'>+ * \throw TypeError if super is not a \c Class object.</div><div class='add'>+ *</div><div class='add'>+ * \note the returned class will not be associated with \a id.</div><div class='add'>+ *       You must explicitly set a class name if necessary.</div><div class='add'>+ */</div><div class='add'>+VALUE</div><div class='add'>+rb_define_class_id(ID id, VALUE super)</div><div class='ctx'> {</div><div class='ctx'>     VALUE klass;</div><div class='ctx'> </div><div class='ctx'>     if (!super) super = rb_cObject;</div><div class='ctx'>     klass = rb_class_new(super);</div><div class='del'>-    rb_name_class(klass, id);</div><div class='del'>-    /* make metaclass */</div><div class='del'>-    RBASIC(klass)-&gt;klass = rb_singleton_class_new(RBASIC(super)-&gt;klass);</div><div class='del'>-    rb_singleton_class_attached(RBASIC(klass)-&gt;klass, klass);</div><div class='del'>-    rb_funcall(super, rb_intern("inherited"), 1, klass);</div><div class='add'>+    rb_make_metaclass(klass, RBASIC(super)-&gt;klass);</div><div class='ctx'> </div><div class='ctx'>     return klass;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+</div><div class='add'>+/*!</div><div class='add'>+ * Calls Class#inherited.</div><div class='add'>+ * \param super  A class which will be called #inherited.</div><div class='add'>+ *               NULL means Object class.</div><div class='add'>+ * \param klass  A Class object which derived from \a super</div><div class='add'>+ * \return the value \c Class#inherited's returns</div><div class='add'>+ * \pre Each of \a super and \a klass must be a \c Class object.</div><div class='add'>+ */</div><div class='add'>+MJIT_FUNC_EXPORTED VALUE</div><div class='add'>+rb_class_inherited(VALUE super, VALUE klass)</div><div class='add'>+{</div><div class='add'>+    ID inherited;</div><div class='add'>+    if (!super) super = rb_cObject;</div><div class='add'>+    CONST_ID(inherited, "inherited");</div><div class='add'>+    return rb_funcall(super, inherited, 1, klass);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+/*!</div><div class='add'>+ * Defines a top-level class.</div><div class='add'>+ * \param name   name of the class</div><div class='add'>+ * \param super  a class from which the new class will derive.</div><div class='add'>+ * \return the created class</div><div class='add'>+ * \throw TypeError if the constant name \a name is already taken but</div><div class='add'>+ *                  the constant is not a \c Class.</div><div class='add'>+ * \throw TypeError if the class is already defined but the class can not</div><div class='add'>+ *                  be reopened because its superclass is not \a super.</div><div class='add'>+ * \throw ArgumentError if the \a super is NULL.</div><div class='add'>+ * \post top-level constant named \a name refers the returned class.</div><div class='add'>+ *</div><div class='add'>+ * \note if a class named \a name is already defined and its superclass is</div><div class='add'>+ *       \a super, the function just returns the defined class.</div><div class='add'>+ */</div><div class='ctx'> VALUE</div><div class='del'>-rb_define_class(name, super)</div><div class='del'>-    const char *name;</div><div class='del'>-    VALUE super;</div><div class='add'>+rb_define_class(const char *name, VALUE super)</div><div class='ctx'> {</div><div class='ctx'>     VALUE klass;</div><div class='ctx'>     ID id;</div><div class='ctx'> </div><div class='ctx'>     id = rb_intern(name);</div><div class='del'>-    klass = rb_define_class_id(id, super);</div><div class='add'>+    if (rb_const_defined(rb_cObject, id)) {</div><div class='add'>+	klass = rb_const_get(rb_cObject, id);</div><div class='add'>+	if (!RB_TYPE_P(klass, T_CLASS)) {</div><div class='add'>+	    rb_raise(rb_eTypeError, "%s is not a class (%"PRIsVALUE")",</div><div class='add'>+		     name, rb_obj_class(klass));</div><div class='add'>+	}</div><div class='add'>+	if (rb_class_real(RCLASS_SUPER(klass)) != super) {</div><div class='add'>+	    rb_raise(rb_eTypeError, "superclass mismatch for class %s", name);</div><div class='add'>+	}</div><div class='ctx'> </div><div class='del'>-    st_add_direct(rb_class_tbl, id, klass);</div><div class='add'>+        /* Class may have been defined in Ruby and not pin-rooted */</div><div class='add'>+        rb_vm_add_root_module(klass);</div><div class='add'>+	return klass;</div><div class='add'>+    }</div><div class='add'>+    if (!super) {</div><div class='add'>+	rb_raise(rb_eArgError, "no super class for `%s'", name);</div><div class='add'>+    }</div><div class='add'>+    klass = rb_define_class_id(id, super);</div><div class='add'>+    rb_vm_add_root_module(klass);</div><div class='add'>+    rb_const_set(rb_cObject, id, klass);</div><div class='add'>+    rb_class_inherited(super, klass);</div><div class='ctx'> </div><div class='ctx'>     return klass;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+</div><div class='add'>+/*!</div><div class='add'>+ * Defines a class under the namespace of \a outer.</div><div class='add'>+ * \param outer  a class which contains the new class.</div><div class='add'>+ * \param name   name of the new class</div><div class='add'>+ * \param super  a class from which the new class will derive.</div><div class='add'>+ *               NULL means \c Object class.</div><div class='add'>+ * \return the created class</div><div class='add'>+ * \throw TypeError if the constant name \a name is already taken but</div><div class='add'>+ *                  the constant is not a \c Class.</div><div class='add'>+ * \throw TypeError if the class is already defined but the class can not</div><div class='add'>+ *                  be reopened because its superclass is not \a super.</div><div class='add'>+ * \post top-level constant named \a name refers the returned class.</div><div class='add'>+ *</div><div class='add'>+ * \note if a class named \a name is already defined and its superclass is</div><div class='add'>+ *       \a super, the function just returns the defined class.</div><div class='add'>+ */</div><div class='ctx'> VALUE</div><div class='del'>-rb_define_class_under(outer, name, super)</div><div class='del'>-    VALUE outer;</div><div class='del'>-    const char *name;</div><div class='del'>-    VALUE super;</div><div class='add'>+rb_define_class_under(VALUE outer, const char *name, VALUE super)</div><div class='add'>+{</div><div class='add'>+    return rb_define_class_id_under(outer, rb_intern(name), super);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+/*!</div><div class='add'>+ * Defines a class under the namespace of \a outer.</div><div class='add'>+ * \param outer  a class which contains the new class.</div><div class='add'>+ * \param id     name of the new class</div><div class='add'>+ * \param super  a class from which the new class will derive.</div><div class='add'>+ *               NULL means \c Object class.</div><div class='add'>+ * \return the created class</div><div class='add'>+ * \throw TypeError if the constant name \a name is already taken but</div><div class='add'>+ *                  the constant is not a \c Class.</div><div class='add'>+ * \throw TypeError if the class is already defined but the class can not</div><div class='add'>+ *                  be reopened because its superclass is not \a super.</div><div class='add'>+ * \post top-level constant named \a name refers the returned class.</div><div class='add'>+ *</div><div class='add'>+ * \note if a class named \a name is already defined and its superclass is</div><div class='add'>+ *       \a super, the function just returns the defined class.</div><div class='add'>+ */</div><div class='add'>+VALUE</div><div class='add'>+rb_define_class_id_under(VALUE outer, ID id, VALUE super)</div><div class='ctx'> {</div><div class='ctx'>     VALUE klass;</div><div class='del'>-    ID id;</div><div class='ctx'> </div><div class='del'>-    id = rb_intern(name);</div><div class='add'>+    if (rb_const_defined_at(outer, id)) {</div><div class='add'>+	klass = rb_const_get_at(outer, id);</div><div class='add'>+	if (!RB_TYPE_P(klass, T_CLASS)) {</div><div class='add'>+	    rb_raise(rb_eTypeError, "%"PRIsVALUE"::%"PRIsVALUE" is not a class"</div><div class='add'>+		     " (%"PRIsVALUE")",</div><div class='add'>+		     outer, rb_id2str(id), rb_obj_class(klass));</div><div class='add'>+	}</div><div class='add'>+	if (rb_class_real(RCLASS_SUPER(klass)) != super) {</div><div class='add'>+	    rb_raise(rb_eTypeError, "superclass mismatch for class "</div><div class='add'>+		     "%"PRIsVALUE"::%"PRIsVALUE""</div><div class='add'>+		     " (%"PRIsVALUE" is given but was %"PRIsVALUE")",</div><div class='add'>+		     outer, rb_id2str(id), RCLASS_SUPER(klass), super);</div><div class='add'>+	}</div><div class='add'>+        /* Class may have been defined in Ruby and not pin-rooted */</div><div class='add'>+        rb_vm_add_root_module(klass);</div><div class='add'>+</div><div class='add'>+	return klass;</div><div class='add'>+    }</div><div class='add'>+    if (!super) {</div><div class='add'>+	rb_raise(rb_eArgError, "no super class for `%"PRIsVALUE"::%"PRIsVALUE"'",</div><div class='add'>+		 rb_class_path(outer), rb_id2str(id));</div><div class='add'>+    }</div><div class='ctx'>     klass = rb_define_class_id(id, super);</div><div class='add'>+    rb_set_class_path_string(klass, outer, rb_id2str(id));</div><div class='ctx'>     rb_const_set(outer, id, klass);</div><div class='del'>-    rb_set_class_path(klass, outer, name);</div><div class='add'>+    rb_class_inherited(super, klass);</div><div class='add'>+    rb_vm_add_root_module(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()</div><div class='add'>+rb_module_new(void)</div><div class='ctx'> {</div><div class='del'>-    NEWOBJ(mdl, struct RClass);</div><div class='del'>-    OBJSETUP(mdl, rb_cModule, T_MODULE);</div><div class='del'>-</div><div class='del'>-    mdl-&gt;super = 0;</div><div class='del'>-    mdl-&gt;iv_tbl = 0;</div><div class='del'>-    mdl-&gt;m_tbl = 0;</div><div class='del'>-    mdl-&gt;m_tbl = st_init_numtable();</div><div class='del'>-</div><div class='add'>+    VALUE mdl = class_alloc(T_MODULE, rb_cModule);</div><div class='add'>+    RCLASS_M_TBL_INIT(mdl);</div><div class='ctx'>     return (VALUE)mdl;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+// Kept for compatibility. Use rb_module_new() instead.</div><div class='ctx'> VALUE</div><div class='del'>-rb_define_module_id(id)</div><div class='del'>-    ID id;</div><div class='add'>+rb_define_module_id(ID id)</div><div class='ctx'> {</div><div class='del'>-    VALUE mdl;</div><div class='del'>-</div><div class='del'>-    mdl = rb_module_new();</div><div class='del'>-    rb_name_class(mdl, id);</div><div class='del'>-</div><div class='del'>-    return mdl;</div><div class='add'>+    return rb_module_new();</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_define_module(name)</div><div class='del'>-    const char *name;</div><div class='add'>+rb_define_module(const char *name)</div><div class='ctx'> {</div><div class='ctx'>     VALUE module;</div><div class='ctx'>     ID id;</div><div class='ctx'> </div><div class='ctx'>     id = rb_intern(name);</div><div class='del'>-    module = rb_define_module_id(id);</div><div class='del'>-    st_add_direct(rb_class_tbl, id, module);</div><div class='add'>+    if (rb_const_defined(rb_cObject, id)) {</div><div class='add'>+	module = rb_const_get(rb_cObject, id);</div><div class='add'>+	if (!RB_TYPE_P(module, T_MODULE)) {</div><div class='add'>+	    rb_raise(rb_eTypeError, "%s is not a module (%"PRIsVALUE")",</div><div class='add'>+		     name, rb_obj_class(module));</div><div class='add'>+	}</div><div class='add'>+        /* Module may have been defined in Ruby and not pin-rooted */</div><div class='add'>+        rb_vm_add_root_module(module);</div><div class='add'>+	return module;</div><div class='add'>+    }</div><div class='add'>+    module = rb_module_new();</div><div class='add'>+    rb_vm_add_root_module(module);</div><div class='add'>+    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(outer, name)</div><div class='del'>-    VALUE outer;</div><div class='del'>-    const char *name;</div><div class='add'>+rb_define_module_under(VALUE outer, const char *name)</div><div class='add'>+{</div><div class='add'>+    return rb_define_module_id_under(outer, rb_intern(name));</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_define_module_id_under(VALUE outer, ID id)</div><div class='ctx'> {</div><div class='ctx'>     VALUE module;</div><div class='del'>-    ID id;</div><div class='ctx'> </div><div class='del'>-    id = rb_intern(name);</div><div class='del'>-    module = rb_define_module_id(id);</div><div class='add'>+    if (rb_const_defined_at(outer, id)) {</div><div class='add'>+	module = rb_const_get_at(outer, id);</div><div class='add'>+	if (!RB_TYPE_P(module, T_MODULE)) {</div><div class='add'>+	    rb_raise(rb_eTypeError, "%"PRIsVALUE"::%"PRIsVALUE" is not a module"</div><div class='add'>+		     " (%"PRIsVALUE")",</div><div class='add'>+		     outer, rb_id2str(id), rb_obj_class(module));</div><div class='add'>+	}</div><div class='add'>+	return module;</div><div class='add'>+    }</div><div class='add'>+    module = rb_module_new();</div><div class='ctx'>     rb_const_set(outer, id, module);</div><div class='del'>-    rb_set_class_path(module, outer, name);</div><div class='add'>+    rb_set_class_path_string(module, outer, rb_id2str(id));</div><div class='add'>+    rb_gc_register_mark_object(module);</div><div class='ctx'> </div><div class='ctx'>     return module;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-include_class_new(module, super)</div><div class='del'>-    VALUE module, super;</div><div class='add'>+VALUE</div><div class='add'>+rb_include_class_new(VALUE module, VALUE super)</div><div class='ctx'> {</div><div class='del'>-    NEWOBJ(klass, struct RClass);</div><div class='del'>-    OBJSETUP(klass, rb_cClass, T_ICLASS);</div><div class='add'>+    VALUE klass = class_alloc(T_ICLASS, rb_cClass);</div><div class='add'>+</div><div class='add'>+    RCLASS_M_TBL(klass) = RCLASS_M_TBL(module);</div><div class='ctx'> </div><div class='del'>-    if (!RCLASS(module)-&gt;iv_tbl) {</div><div class='del'>-	RCLASS(module)-&gt;iv_tbl = st_init_numtable();</div><div class='add'>+    RCLASS_SET_ORIGIN(klass, klass);</div><div class='add'>+    if (BUILTIN_TYPE(module) == T_ICLASS) {</div><div class='add'>+	module = RBASIC(module)-&gt;klass;</div><div class='ctx'>     }</div><div class='del'>-    klass-&gt;iv_tbl = RCLASS(module)-&gt;iv_tbl;</div><div class='del'>-    klass-&gt;m_tbl = RCLASS(module)-&gt;m_tbl;</div><div class='del'>-    klass-&gt;super = super;</div><div class='del'>-    if (TYPE(module) == T_ICLASS) {</div><div class='del'>-	RBASIC(klass)-&gt;klass = RBASIC(module)-&gt;klass;</div><div class='add'>+    RUBY_ASSERT(!RB_TYPE_P(module, T_ICLASS));</div><div class='add'>+    if (!RCLASS_IV_TBL(module)) {</div><div class='add'>+	RCLASS_IV_TBL(module) = st_init_numtable();</div><div class='ctx'>     }</div><div class='del'>-    else {</div><div class='del'>-	RBASIC(klass)-&gt;klass = module;</div><div class='add'>+    if (!RCLASS_CONST_TBL(module)) {</div><div class='add'>+	RCLASS_CONST_TBL(module) = rb_id_table_create(0);</div><div class='ctx'>     }</div><div class='add'>+    RCLASS_IV_TBL(klass) = RCLASS_IV_TBL(module);</div><div class='add'>+    RCLASS_CONST_TBL(klass) = RCLASS_CONST_TBL(module);</div><div class='add'>+</div><div class='add'>+    RCLASS_SET_SUPER(klass, super);</div><div class='add'>+    RBASIC_SET_CLASS(klass, module);</div><div class='ctx'> </div><div class='ctx'>     return (VALUE)klass;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+static int include_modules_at(const VALUE klass, VALUE c, VALUE module, int search_super);</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+ensure_includable(VALUE klass, VALUE module)</div><div class='add'>+{</div><div class='add'>+    rb_class_modify_check(klass);</div><div class='add'>+    Check_Type(module, T_MODULE);</div><div class='add'>+    if (!NIL_P(rb_refinement_module_get_refined_class(module))) {</div><div class='add'>+	rb_raise(rb_eArgError, "refinement module is not allowed");</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='ctx'> void</div><div class='del'>-rb_include_module(klass, module)</div><div class='del'>-    VALUE klass, module;</div><div class='add'>+rb_include_module(VALUE klass, VALUE module)</div><div class='ctx'> {</div><div class='del'>-    VALUE p;</div><div class='add'>+    int changed = 0;</div><div class='add'>+</div><div class='add'>+    ensure_includable(klass, module);</div><div class='add'>+</div><div class='add'>+    changed = include_modules_at(klass, RCLASS_ORIGIN(klass), module, TRUE);</div><div class='add'>+    if (changed &lt; 0)</div><div class='add'>+	rb_raise(rb_eArgError, "cyclic include detected");</div><div class='add'>+</div><div class='add'>+    if (RB_TYPE_P(klass, T_MODULE)) {</div><div class='add'>+        rb_subclass_entry_t *iclass = RCLASS_EXT(klass)-&gt;subclasses;</div><div class='add'>+        int do_include = 1;</div><div class='add'>+        while (iclass) {</div><div class='add'>+            VALUE check_class = iclass-&gt;klass;</div><div class='add'>+            while (check_class) {</div><div class='add'>+                if (RB_TYPE_P(check_class, T_ICLASS) &amp;&amp;</div><div class='add'>+                        (RBASIC(check_class)-&gt;klass == module)) {</div><div class='add'>+                    do_include = 0;</div><div class='add'>+                }</div><div class='add'>+                check_class = RCLASS_SUPER(check_class);</div><div class='add'>+            }</div><div class='add'>+</div><div class='add'>+            if (do_include) {</div><div class='add'>+                include_modules_at(iclass-&gt;klass, RCLASS_ORIGIN(iclass-&gt;klass), module, TRUE);</div><div class='add'>+            }</div><div class='add'>+            iclass = iclass-&gt;next;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-    if (NIL_P(module)) return;</div><div class='del'>-    if (klass == module) return;</div><div class='add'>+static enum rb_id_table_iterator_result</div><div class='add'>+add_refined_method_entry_i(ID key, VALUE value, void *data)</div><div class='add'>+{</div><div class='add'>+    rb_add_refined_method_entry((VALUE)data, key);</div><div class='add'>+    return ID_TABLE_CONTINUE;</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-    switch (TYPE(module)) {</div><div class='del'>-      case T_MODULE:</div><div class='del'>-      case T_CLASS:</div><div class='del'>-      case T_ICLASS:</div><div class='del'>-	break;</div><div class='del'>-      default:</div><div class='del'>-	Check_Type(module, T_MODULE);</div><div class='del'>-    }</div><div class='add'>+static enum rb_id_table_iterator_result</div><div class='add'>+clear_module_cache_i(ID id, VALUE val, void *data)</div><div class='add'>+{</div><div class='add'>+    VALUE klass = (VALUE)data;</div><div class='add'>+    rb_clear_method_cache(klass, id);</div><div class='add'>+    return ID_TABLE_CONTINUE;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+include_modules_at(const VALUE klass, VALUE c, VALUE module, int search_super)</div><div class='add'>+{</div><div class='add'>+    VALUE p, iclass, origin_stack = 0;</div><div class='add'>+    int method_changed = 0, constant_changed = 0, add_subclass;</div><div class='add'>+    long origin_len;</div><div class='add'>+    struct rb_id_table *const klass_m_tbl = RCLASS_M_TBL(RCLASS_ORIGIN(klass));</div><div class='add'>+    VALUE original_klass = klass;</div><div class='ctx'> </div><div class='ctx'>     while (module) {</div><div class='add'>+        int origin_seen = FALSE;</div><div class='add'>+	int superclass_seen = FALSE;</div><div class='add'>+	struct rb_id_table *tbl;</div><div class='add'>+</div><div class='add'>+        if (klass == c)</div><div class='add'>+            origin_seen = TRUE;</div><div class='add'>+	if (klass_m_tbl &amp;&amp; klass_m_tbl == RCLASS_M_TBL(module))</div><div class='add'>+	    return -1;</div><div class='ctx'> 	/* ignore if the module included already in superclasses */</div><div class='del'>-	for (p = RCLASS(klass)-&gt;super; p; p = RCLASS(p)-&gt;super) {</div><div class='del'>-	    if (BUILTIN_TYPE(p) == T_ICLASS &amp;&amp;</div><div class='del'>-		RCLASS(p)-&gt;m_tbl == RCLASS(module)-&gt;m_tbl) {</div><div class='del'>-		if (RCLASS(module)-&gt;super) {</div><div class='del'>-		    rb_include_module(p, RCLASS(module)-&gt;super);</div><div class='add'>+        for (p = RCLASS_SUPER(klass); p; p = RCLASS_SUPER(p)) {</div><div class='add'>+	    int type = BUILTIN_TYPE(p);</div><div class='add'>+            if (c == p)</div><div class='add'>+                origin_seen = TRUE;</div><div class='add'>+	    if (type == T_ICLASS) {</div><div class='add'>+		if (RCLASS_M_TBL(p) == RCLASS_M_TBL(module)) {</div><div class='add'>+                    if (!superclass_seen &amp;&amp; origin_seen) {</div><div class='add'>+			c = p;  /* move insertion point */</div><div class='add'>+		    }</div><div class='add'>+		    goto skip;</div><div class='ctx'> 		}</div><div class='del'>-		return;</div><div class='ctx'> 	    }</div><div class='add'>+	    else if (type == T_CLASS) {</div><div class='add'>+		if (!search_super) break;</div><div class='add'>+                superclass_seen = TRUE;</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+        VALUE super_class = RCLASS_SUPER(c);</div><div class='add'>+</div><div class='add'>+        // invalidate inline method cache</div><div class='add'>+        tbl = RCLASS_M_TBL(module);</div><div class='add'>+        if (tbl &amp;&amp; rb_id_table_size(tbl)) {</div><div class='add'>+            if (search_super) { // include</div><div class='add'>+                if (super_class &amp;&amp; !RB_TYPE_P(super_class, T_MODULE)) {</div><div class='add'>+                    rb_id_table_foreach(tbl, clear_module_cache_i, (void *)super_class);</div><div class='add'>+                }</div><div class='add'>+            }</div><div class='add'>+            else { // prepend</div><div class='add'>+                if (!RB_TYPE_P(original_klass, T_MODULE)) {</div><div class='add'>+                    rb_id_table_foreach(tbl, clear_module_cache_i, (void *)original_klass);</div><div class='add'>+                }</div><div class='add'>+            }</div><div class='add'>+            method_changed = 1;</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        // setup T_ICLASS for the include/prepend module</div><div class='add'>+	iclass = rb_include_class_new(module, super_class);</div><div class='add'>+	c = RCLASS_SET_SUPER(c, iclass);</div><div class='add'>+        RCLASS_SET_INCLUDER(iclass, klass);</div><div class='add'>+        add_subclass = TRUE;</div><div class='add'>+        if (module != RCLASS_ORIGIN(module)) {</div><div class='add'>+            if (!origin_stack) origin_stack = rb_ary_tmp_new(2);</div><div class='add'>+            VALUE origin[2] = {iclass, RCLASS_ORIGIN(module)};</div><div class='add'>+            rb_ary_cat(origin_stack, origin, 2);</div><div class='add'>+        }</div><div class='add'>+        else if (origin_stack &amp;&amp; (origin_len = RARRAY_LEN(origin_stack)) &gt; 1 &amp;&amp;</div><div class='add'>+                 RARRAY_AREF(origin_stack, origin_len - 1) == module) {</div><div class='add'>+            RCLASS_SET_ORIGIN(RARRAY_AREF(origin_stack, (origin_len -= 2)), iclass);</div><div class='add'>+            RICLASS_SET_ORIGIN_SHARED_MTBL(iclass);</div><div class='add'>+            rb_ary_resize(origin_stack, origin_len);</div><div class='add'>+            add_subclass = FALSE;</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+	{</div><div class='add'>+	    VALUE m = module;</div><div class='add'>+            if (BUILTIN_TYPE(m) == T_ICLASS) m = RBASIC(m)-&gt;klass;</div><div class='add'>+            if (add_subclass) rb_module_add_to_subclasses_list(m, iclass);</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+	if (FL_TEST(klass, RMODULE_IS_REFINEMENT)) {</div><div class='add'>+	    VALUE refined_class =</div><div class='add'>+		rb_refinement_module_get_refined_class(klass);</div><div class='add'>+</div><div class='add'>+            rb_id_table_foreach(RCLASS_M_TBL(module), add_refined_method_entry_i, (void *)refined_class);</div><div class='add'>+	    FL_SET(c, RMODULE_INCLUDED_INTO_REFINEMENT);</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+        tbl = RCLASS_CONST_TBL(module);</div><div class='add'>+	if (tbl &amp;&amp; rb_id_table_size(tbl)) constant_changed = 1;</div><div class='add'>+      skip:</div><div class='add'>+	module = RCLASS_SUPER(module);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (constant_changed) rb_clear_constant_cache();</div><div class='add'>+</div><div class='add'>+    return method_changed;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static enum rb_id_table_iterator_result</div><div class='add'>+move_refined_method(ID key, VALUE value, void *data)</div><div class='add'>+{</div><div class='add'>+    rb_method_entry_t *me = (rb_method_entry_t *)value;</div><div class='add'>+</div><div class='add'>+    if (me-&gt;def-&gt;type == VM_METHOD_TYPE_REFINED) {</div><div class='add'>+        VALUE klass = (VALUE)data;</div><div class='add'>+        struct rb_id_table *tbl = RCLASS_M_TBL(klass);</div><div class='add'>+</div><div class='add'>+        if (me-&gt;def-&gt;body.refined.orig_me) {</div><div class='add'>+	    const rb_method_entry_t *orig_me = me-&gt;def-&gt;body.refined.orig_me, *new_me;</div><div class='add'>+	    RB_OBJ_WRITE(me, &amp;me-&gt;def-&gt;body.refined.orig_me, NULL);</div><div class='add'>+	    new_me = rb_method_entry_clone(me);</div><div class='add'>+            rb_method_table_insert(klass, tbl, key, new_me);</div><div class='add'>+	    rb_method_entry_copy(me, orig_me);</div><div class='add'>+	    return ID_TABLE_CONTINUE;</div><div class='ctx'> 	}</div><div class='del'>-	RCLASS(klass)-&gt;super =</div><div class='del'>-	    include_class_new(module, RCLASS(klass)-&gt;super);</div><div class='del'>-	klass = RCLASS(klass)-&gt;super;</div><div class='del'>-	module = RCLASS(module)-&gt;super;</div><div class='add'>+	else {</div><div class='add'>+            rb_method_table_insert(klass, tbl, key, me);</div><div class='add'>+	    return ID_TABLE_DELETE;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	return ID_TABLE_CONTINUE;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static enum rb_id_table_iterator_result</div><div class='add'>+cache_clear_refined_method(ID key, VALUE value, void *data)</div><div class='add'>+{</div><div class='add'>+    rb_method_entry_t *me = (rb_method_entry_t *) value;</div><div class='add'>+</div><div class='add'>+    if (me-&gt;def-&gt;type == VM_METHOD_TYPE_REFINED) {</div><div class='add'>+        VALUE klass = (VALUE)data;</div><div class='add'>+        rb_clear_method_cache(klass, me-&gt;called_id);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return ID_TABLE_CONTINUE;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+ensure_origin(VALUE klass)</div><div class='add'>+{</div><div class='add'>+    VALUE origin = RCLASS_ORIGIN(klass);</div><div class='add'>+    if (origin == klass) {</div><div class='add'>+	origin = class_alloc(T_ICLASS, klass);</div><div class='add'>+	RCLASS_SET_SUPER(origin, RCLASS_SUPER(klass));</div><div class='add'>+	RCLASS_SET_SUPER(klass, origin);</div><div class='add'>+	RCLASS_SET_ORIGIN(klass, origin);</div><div class='add'>+	RCLASS_M_TBL(origin) = RCLASS_M_TBL(klass);</div><div class='add'>+	RCLASS_M_TBL_INIT(klass);</div><div class='add'>+        rb_id_table_foreach(RCLASS_M_TBL(origin), cache_clear_refined_method, (void *)klass);</div><div class='add'>+	rb_id_table_foreach(RCLASS_M_TBL(origin), move_refined_method, (void *)klass);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+rb_prepend_module(VALUE klass, VALUE module)</div><div class='add'>+{</div><div class='add'>+    int changed = 0;</div><div class='add'>+    bool klass_had_no_origin = RCLASS_ORIGIN(klass) == klass;</div><div class='add'>+</div><div class='add'>+    ensure_includable(klass, module);</div><div class='add'>+    ensure_origin(klass);</div><div class='add'>+    changed = include_modules_at(klass, klass, module, FALSE);</div><div class='add'>+    if (changed &lt; 0)</div><div class='add'>+	rb_raise(rb_eArgError, "cyclic prepend detected");</div><div class='add'>+    if (changed) {</div><div class='add'>+	rb_vm_check_redefinition_by_prepend(klass);</div><div class='add'>+    }</div><div class='add'>+    if (RB_TYPE_P(klass, T_MODULE)) {</div><div class='add'>+        rb_subclass_entry_t *iclass = RCLASS_EXT(klass)-&gt;subclasses;</div><div class='add'>+        VALUE klass_origin = RCLASS_ORIGIN(klass);</div><div class='add'>+        struct rb_id_table *klass_m_tbl = RCLASS_M_TBL(klass);</div><div class='add'>+        struct rb_id_table *klass_origin_m_tbl = RCLASS_M_TBL(klass_origin);</div><div class='add'>+        while (iclass) {</div><div class='add'>+            if (klass_had_no_origin &amp;&amp; klass_origin_m_tbl == RCLASS_M_TBL(iclass-&gt;klass)) {</div><div class='add'>+                // backfill an origin iclass to handle refinements and future prepends</div><div class='add'>+                rb_id_table_foreach(RCLASS_M_TBL(iclass-&gt;klass), clear_module_cache_i, (void *)iclass-&gt;klass);</div><div class='add'>+                RCLASS_M_TBL(iclass-&gt;klass) = klass_m_tbl;</div><div class='add'>+                VALUE origin = rb_include_class_new(klass_origin, RCLASS_SUPER(iclass-&gt;klass));</div><div class='add'>+                RCLASS_SET_SUPER(iclass-&gt;klass, origin);</div><div class='add'>+                RCLASS_SET_INCLUDER(origin, RCLASS_INCLUDER(iclass-&gt;klass));</div><div class='add'>+                RCLASS_SET_ORIGIN(iclass-&gt;klass, origin);</div><div class='add'>+                RICLASS_SET_ORIGIN_SHARED_MTBL(origin);</div><div class='add'>+            }</div><div class='add'>+            include_modules_at(iclass-&gt;klass, iclass-&gt;klass, module, FALSE);</div><div class='add'>+            iclass = iclass-&gt;next;</div><div class='add'>+        }</div><div class='ctx'>     }</div><div class='del'>-    rb_clear_cache();</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     mod.included_modules -&gt; array</div><div class='add'>+ *</div><div class='add'>+ *  Returns the list of modules included or prepended in &lt;i&gt;mod&lt;/i&gt;</div><div class='add'>+ *  or one of &lt;i&gt;mod&lt;/i&gt;'s ancestors.</div><div class='add'>+ *</div><div class='add'>+ *     module Sub</div><div class='add'>+ *     end</div><div class='add'>+ *</div><div class='add'>+ *     module Mixin</div><div class='add'>+ *       prepend Sub</div><div class='add'>+ *     end</div><div class='add'>+ *</div><div class='add'>+ *     module Outer</div><div class='add'>+ *       include Mixin</div><div class='add'>+ *     end</div><div class='add'>+ *</div><div class='add'>+ *     Mixin.included_modules   #=&gt; [Sub]</div><div class='add'>+ *     Outer.included_modules   #=&gt; [Sub, Mixin]</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> VALUE</div><div class='del'>-rb_mod_included_modules(mod)</div><div class='del'>-    VALUE mod;</div><div class='add'>+rb_mod_included_modules(VALUE mod)</div><div class='ctx'> {</div><div class='ctx'>     VALUE ary = rb_ary_new();</div><div class='ctx'>     VALUE p;</div><div class='add'>+    VALUE origin = RCLASS_ORIGIN(mod);</div><div class='ctx'> </div><div class='del'>-    for (p = RCLASS(mod)-&gt;super; p; p = RCLASS(p)-&gt;super) {</div><div class='del'>-	if (BUILTIN_TYPE(p) == T_ICLASS) {</div><div class='del'>-	    rb_ary_push(ary, RBASIC(p)-&gt;klass);</div><div class='add'>+    for (p = RCLASS_SUPER(mod); p; p = RCLASS_SUPER(p)) {</div><div class='add'>+        if (p != origin &amp;&amp; RCLASS_ORIGIN(p) == p &amp;&amp; BUILTIN_TYPE(p) == T_ICLASS) {</div><div class='add'>+	    VALUE m = RBASIC(p)-&gt;klass;</div><div class='add'>+	    if (RB_TYPE_P(m, T_MODULE))</div><div class='add'>+		rb_ary_push(ary, m);</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='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     mod.include?(module)    -&gt; true or false</div><div class='add'>+ *</div><div class='add'>+ *  Returns &lt;code&gt;true&lt;/code&gt; if &lt;i&gt;module&lt;/i&gt; is included</div><div class='add'>+ *  or prepended in &lt;i&gt;mod&lt;/i&gt; or one of &lt;i&gt;mod&lt;/i&gt;'s ancestors.</div><div class='add'>+ *</div><div class='add'>+ *     module A</div><div class='add'>+ *     end</div><div class='add'>+ *     class B</div><div class='add'>+ *       include A</div><div class='add'>+ *     end</div><div class='add'>+ *     class C &lt; B</div><div class='add'>+ *     end</div><div class='add'>+ *     B.include?(A)   #=&gt; true</div><div class='add'>+ *     C.include?(A)   #=&gt; true</div><div class='add'>+ *     A.include?(A)   #=&gt; false</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> VALUE</div><div class='del'>-rb_mod_ancestors(mod)</div><div class='del'>-    VALUE mod;</div><div class='add'>+rb_mod_include_p(VALUE mod, VALUE mod2)</div><div class='ctx'> {</div><div class='del'>-    VALUE ary = rb_ary_new();</div><div class='ctx'>     VALUE p;</div><div class='ctx'> </div><div class='del'>-    for (p = mod; p; p = RCLASS(p)-&gt;super) {</div><div class='del'>-	if (FL_TEST(p, FL_SINGLETON))</div><div class='del'>-	    continue;</div><div class='add'>+    Check_Type(mod2, T_MODULE);</div><div class='add'>+    for (p = RCLASS_SUPER(mod); p; p = RCLASS_SUPER(p)) {</div><div class='add'>+        if (BUILTIN_TYPE(p) == T_ICLASS &amp;&amp; !FL_TEST(p, RICLASS_IS_ORIGIN)) {</div><div class='add'>+	    if (RBASIC(p)-&gt;klass == mod2) return Qtrue;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    return Qfalse;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     mod.ancestors -&gt; array</div><div class='add'>+ *</div><div class='add'>+ *  Returns a list of modules included/prepended in &lt;i&gt;mod&lt;/i&gt;</div><div class='add'>+ *  (including &lt;i&gt;mod&lt;/i&gt; itself).</div><div class='add'>+ *</div><div class='add'>+ *     module Mod</div><div class='add'>+ *       include Math</div><div class='add'>+ *       include Comparable</div><div class='add'>+ *       prepend Enumerable</div><div class='add'>+ *     end</div><div class='add'>+ *</div><div class='add'>+ *     Mod.ancestors        #=&gt; [Enumerable, Mod, Comparable, Math]</div><div class='add'>+ *     Math.ancestors       #=&gt; [Math]</div><div class='add'>+ *     Enumerable.ancestors #=&gt; [Enumerable]</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_mod_ancestors(VALUE mod)</div><div class='add'>+{</div><div class='add'>+    VALUE p, ary = rb_ary_new();</div><div class='add'>+</div><div class='add'>+    for (p = mod; p; p = RCLASS_SUPER(p)) {</div><div class='add'>+        if (p != RCLASS_ORIGIN(p)) 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 {</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 int</div><div class='del'>-ins_methods_i(key, body, ary)</div><div class='del'>-    ID key;</div><div class='del'>-    NODE *body;</div><div class='del'>-    VALUE ary;</div><div class='add'>+static void</div><div class='add'>+ins_methods_push(st_data_t name, st_data_t ary)</div><div class='ctx'> {</div><div class='del'>-    if ((body-&gt;nd_noex&amp;(NOEX_PRIVATE|NOEX_PROTECTED)) == 0) {</div><div class='del'>-	VALUE name = rb_str_new2(rb_id2name(key));</div><div class='add'>+    rb_ary_push((VALUE)ary, ID2SYM((ID)name));</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-	if (!rb_ary_includes(ary, name)) {</div><div class='del'>-	    if (!body-&gt;nd_body) {</div><div class='del'>-		rb_ary_push(ary, Qnil);</div><div class='del'>-	    }</div><div class='del'>-	    rb_ary_push(ary, name);</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    else if (body-&gt;nd_body &amp;&amp; nd_type(body-&gt;nd_body) == NODE_ZSUPER) {</div><div class='del'>-	rb_ary_push(ary, Qnil);</div><div class='del'>-	rb_ary_push(ary, rb_str_new2(rb_id2name(key)));</div><div class='add'>+static int</div><div class='add'>+ins_methods_i(st_data_t name, st_data_t type, st_data_t ary)</div><div class='add'>+{</div><div class='add'>+    switch ((rb_method_visibility_t)type) {</div><div class='add'>+      case METHOD_VISI_UNDEF:</div><div class='add'>+      case METHOD_VISI_PRIVATE:</div><div class='add'>+	break;</div><div class='add'>+      default: /* everything but private */</div><div class='add'>+	ins_methods_push(name, ary);</div><div class='add'>+	break;</div><div class='ctx'>     }</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(key, body, ary)</div><div class='del'>-    ID key;</div><div class='del'>-    NODE *body;</div><div class='del'>-    VALUE ary;</div><div class='add'>+ins_methods_prot_i(st_data_t name, st_data_t type, st_data_t ary)</div><div class='ctx'> {</div><div class='del'>-    if (!body-&gt;nd_body) {</div><div class='del'>-	rb_ary_push(ary, Qnil);</div><div class='del'>-	rb_ary_push(ary, rb_str_new2(rb_id2name(key)));</div><div class='add'>+    if ((rb_method_visibility_t)type == METHOD_VISI_PROTECTED) {</div><div class='add'>+	ins_methods_push(name, ary);</div><div class='ctx'>     }</div><div class='del'>-    else if (body-&gt;nd_noex &amp; NOEX_PROTECTED) {</div><div class='del'>-	VALUE name = rb_str_new2(rb_id2name(key));</div><div class='add'>+    return ST_CONTINUE;</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-	if (!rb_ary_includes(ary, name)) {</div><div class='del'>-	    rb_ary_push(ary, name);</div><div class='del'>-	}</div><div class='del'>-    }</div><div class='del'>-    else if (nd_type(body-&gt;nd_body) == NODE_ZSUPER) {</div><div class='del'>-	rb_ary_push(ary, Qnil);</div><div class='del'>-	rb_ary_push(ary, rb_str_new2(rb_id2name(key)));</div><div class='add'>+static int</div><div class='add'>+ins_methods_priv_i(st_data_t name, st_data_t type, st_data_t ary)</div><div class='add'>+{</div><div class='add'>+    if ((rb_method_visibility_t)type == METHOD_VISI_PRIVATE) {</div><div class='add'>+	ins_methods_push(name, ary);</div><div class='ctx'>     }</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_priv_i(key, body, ary)</div><div class='del'>-    ID key;</div><div class='del'>-    NODE *body;</div><div class='del'>-    VALUE ary;</div><div class='add'>+ins_methods_pub_i(st_data_t name, st_data_t type, st_data_t ary)</div><div class='ctx'> {</div><div class='del'>-    if (!body-&gt;nd_body) {</div><div class='del'>-	rb_ary_push(ary, Qnil);</div><div class='del'>-	rb_ary_push(ary, rb_str_new2(rb_id2name(key)));</div><div class='add'>+    if ((rb_method_visibility_t)type == METHOD_VISI_PUBLIC) {</div><div class='add'>+	ins_methods_push(name, ary);</div><div class='ctx'>     }</div><div class='del'>-    else if (body-&gt;nd_noex &amp; NOEX_PRIVATE) {</div><div class='del'>-	VALUE name = rb_str_new2(rb_id2name(key));</div><div class='add'>+    return ST_CONTINUE;</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-	if (!rb_ary_includes(ary, name)) {</div><div class='del'>-	    rb_ary_push(ary, name);</div><div class='del'>-	}</div><div class='add'>+struct method_entry_arg {</div><div class='add'>+    st_table *list;</div><div class='add'>+    int recur;</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+static enum rb_id_table_iterator_result</div><div class='add'>+method_entry_i(ID key, VALUE value, void *data)</div><div class='add'>+{</div><div class='add'>+    const rb_method_entry_t *me = (const rb_method_entry_t *)value;</div><div class='add'>+    struct method_entry_arg *arg = (struct method_entry_arg *)data;</div><div class='add'>+    rb_method_visibility_t type;</div><div class='add'>+</div><div class='add'>+    if (me-&gt;def-&gt;type == VM_METHOD_TYPE_REFINED) {</div><div class='add'>+	VALUE owner = me-&gt;owner;</div><div class='add'>+	me = rb_resolve_refined_method(Qnil, me);</div><div class='add'>+	if (!me) return ID_TABLE_CONTINUE;</div><div class='add'>+	if (!arg-&gt;recur &amp;&amp; me-&gt;owner != owner) return ID_TABLE_CONTINUE;</div><div class='ctx'>     }</div><div class='del'>-    else if (nd_type(body-&gt;nd_body) == NODE_ZSUPER) {</div><div class='del'>-	rb_ary_push(ary, Qnil);</div><div class='del'>-	rb_ary_push(ary, rb_str_new2(rb_id2name(key)));</div><div class='add'>+    if (!st_is_member(arg-&gt;list, key)) {</div><div class='add'>+	if (UNDEFINED_METHOD_ENTRY_P(me)) {</div><div class='add'>+	    type = METHOD_VISI_UNDEF; /* none */</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    type = METHOD_ENTRY_VISI(me);</div><div class='add'>+	}</div><div class='add'>+	st_add_direct(arg-&gt;list, key, (st_data_t)type);</div><div class='ctx'>     }</div><div class='del'>-    return ST_CONTINUE;</div><div class='add'>+    return ID_TABLE_CONTINUE;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+add_instance_method_list(VALUE mod, struct method_entry_arg *me_arg)</div><div class='add'>+{</div><div class='add'>+    struct rb_id_table *m_tbl = RCLASS_M_TBL(mod);</div><div class='add'>+    if (!m_tbl) return;</div><div class='add'>+    rb_id_table_foreach(m_tbl, method_entry_i, me_arg);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static bool</div><div class='add'>+particular_class_p(VALUE mod)</div><div class='add'>+{</div><div class='add'>+    if (!mod) return false;</div><div class='add'>+    if (FL_TEST(mod, FL_SINGLETON)) return true;</div><div class='add'>+    if (BUILTIN_TYPE(mod) == T_ICLASS) return true;</div><div class='add'>+    return false;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-method_list(mod, option, func)</div><div class='del'>-    VALUE mod;</div><div class='del'>-    int option;</div><div class='del'>-    int (*func)();</div><div class='add'>+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='ctx'> {</div><div class='ctx'>     VALUE ary;</div><div class='del'>-    VALUE klass;</div><div class='del'>-    VALUE *p, *q, *pend;</div><div class='add'>+    int recur = TRUE, prepended = 0;</div><div class='add'>+    struct method_entry_arg me_arg;</div><div class='add'>+</div><div class='add'>+    if (rb_check_arity(argc, 0, 1)) recur = RTEST(argv[0]);</div><div class='ctx'> </div><div class='del'>-    if (!FL_TEST(mod, FL_TAINT) &amp;&amp; rb_safe_level() &gt;= 4)</div><div class='del'>-	rb_raise(rb_eSecurityError, "Insecure: can't get metainfo");</div><div class='del'>-    ary = rb_ary_new();</div><div class='del'>-    for (klass = mod; klass; klass = RCLASS(klass)-&gt;super) {</div><div class='del'>-	st_foreach(RCLASS(klass)-&gt;m_tbl, func, ary);</div><div class='del'>-	if (!option) break;</div><div class='add'>+    me_arg.list = st_init_numtable();</div><div class='add'>+    me_arg.recur = recur;</div><div class='add'>+</div><div class='add'>+    if (obj) {</div><div class='add'>+        for (; particular_class_p(mod); mod = RCLASS_SUPER(mod)) {</div><div class='add'>+            add_instance_method_list(mod, &amp;me_arg);</div><div class='add'>+        }</div><div class='ctx'>     }</div><div class='del'>-    p = q = RARRAY(ary)-&gt;ptr; pend = p + RARRAY(ary)-&gt;len;</div><div class='del'>-    while (p &lt; pend) {</div><div class='del'>-	if (*p == Qnil) {</div><div class='del'>-	    p+=2;</div><div class='del'>-	    continue;</div><div class='del'>-	}</div><div class='del'>-	*q++ = *p++;</div><div class='add'>+</div><div class='add'>+    if (!recur &amp;&amp; RCLASS_ORIGIN(mod) != mod) {</div><div class='add'>+	mod = RCLASS_ORIGIN(mod);</div><div class='add'>+	prepended = 1;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    for (; mod; mod = RCLASS_SUPER(mod)) {</div><div class='add'>+        add_instance_method_list(mod, &amp;me_arg);</div><div class='add'>+	if (BUILTIN_TYPE(mod) == T_ICLASS &amp;&amp; !prepended) continue;</div><div class='add'>+	if (!recur) break;</div><div class='ctx'>     }</div><div class='del'>-    RARRAY(ary)-&gt;len = q - RARRAY(ary)-&gt;ptr;</div><div class='add'>+    ary = rb_ary_new2(me_arg.list-&gt;num_entries);</div><div class='add'>+    st_foreach(me_arg.list, func, ary);</div><div class='add'>+    st_free_table(me_arg.list);</div><div class='add'>+</div><div class='ctx'>     return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</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 the public and protected instance</div><div class='add'>+ *  methods in the receiver. For a module, these are the public and protected methods;</div><div class='add'>+ *  for a class, they are the instance (not singleton) methods. If the optional</div><div class='add'>+ *  parameter is &lt;code&gt;false&lt;/code&gt;, the methods of any ancestors are not included.</div><div class='add'>+ *</div><div class='add'>+ *     module A</div><div class='add'>+ *       def method1()  end</div><div class='add'>+ *     end</div><div class='add'>+ *     class B</div><div class='add'>+ *       include A</div><div class='add'>+ *       def method2()  end</div><div class='add'>+ *     end</div><div class='add'>+ *     class C &lt; B</div><div class='add'>+ *       def method3()  end</div><div class='add'>+ *     end</div><div class='add'>+ *</div><div class='add'>+ *     A.instance_methods(false)                   #=&gt; [:method1]</div><div class='add'>+ *     B.instance_methods(false)                   #=&gt; [:method2]</div><div class='add'>+ *     B.instance_methods(true).include?(:method1) #=&gt; true</div><div class='add'>+ *     C.instance_methods(false)                   #=&gt; [:method3]</div><div class='add'>+ *     C.instance_methods.include?(:method2)       #=&gt; true</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_class_instance_methods(int argc, const VALUE *argv, VALUE mod)</div><div class='add'>+{</div><div class='add'>+    return class_instance_method_list(argc, argv, mod, 0, ins_methods_i);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     mod.protected_instance_methods(include_super=true)   -&gt; array</div><div class='add'>+ *</div><div class='add'>+ *  Returns a list of the protected instance methods defined in</div><div class='add'>+ *  &lt;i&gt;mod&lt;/i&gt;. If the optional parameter is &lt;code&gt;false&lt;/code&gt;, the</div><div class='add'>+ *  methods of any ancestors are not included.</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> VALUE</div><div class='del'>-rb_class_instance_methods(argc, argv, mod)</div><div class='del'>-    int argc;</div><div class='del'>-    VALUE *argv;</div><div class='del'>-    VALUE mod;</div><div class='add'>+rb_class_protected_instance_methods(int argc, const VALUE *argv, VALUE mod)</div><div class='ctx'> {</div><div class='del'>-    VALUE option;</div><div class='add'>+    return class_instance_method_list(argc, argv, mod, 0, ins_methods_prot_i);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     mod.private_instance_methods(include_super=true)    -&gt; array</div><div class='add'>+ *</div><div class='add'>+ *  Returns a list of the private instance methods defined in</div><div class='add'>+ *  &lt;i&gt;mod&lt;/i&gt;. If the optional parameter is &lt;code&gt;false&lt;/code&gt;, the</div><div class='add'>+ *  methods of any ancestors are not included.</div><div class='add'>+ *</div><div class='add'>+ *     module Mod</div><div class='add'>+ *       def method1()  end</div><div class='add'>+ *       private :method1</div><div class='add'>+ *       def method2()  end</div><div class='add'>+ *     end</div><div class='add'>+ *     Mod.instance_methods           #=&gt; [:method2]</div><div class='add'>+ *     Mod.private_instance_methods   #=&gt; [:method1]</div><div class='add'>+ */</div><div class='ctx'> </div><div class='del'>-    rb_scan_args(argc, argv, "01", &amp;option);</div><div class='del'>-    return method_list(mod, RTEST(option), ins_methods_i);</div><div class='add'>+VALUE</div><div class='add'>+rb_class_private_instance_methods(int argc, const VALUE *argv, VALUE mod)</div><div class='add'>+{</div><div class='add'>+    return class_instance_method_list(argc, argv, mod, 0, ins_methods_priv_i);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     mod.public_instance_methods(include_super=true)   -&gt; array</div><div class='add'>+ *</div><div class='add'>+ *  Returns a list of the public instance methods defined in &lt;i&gt;mod&lt;/i&gt;.</div><div class='add'>+ *  If the optional parameter is &lt;code&gt;false&lt;/code&gt;, the methods of</div><div class='add'>+ *  any ancestors are not included.</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> VALUE</div><div class='del'>-rb_class_protected_instance_methods(argc, argv, mod)</div><div class='del'>-    int argc;</div><div class='del'>-    VALUE *argv;</div><div class='del'>-    VALUE mod;</div><div class='add'>+rb_class_public_instance_methods(int argc, const VALUE *argv, VALUE mod)</div><div class='ctx'> {</div><div class='del'>-    VALUE option;</div><div class='add'>+    return class_instance_method_list(argc, argv, mod, 0, ins_methods_pub_i);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     obj.methods(regular=true)    -&gt; array</div><div class='add'>+ *</div><div class='add'>+ *  Returns a list of the names of public and protected methods of</div><div class='add'>+ *  &lt;i&gt;obj&lt;/i&gt;. This will include all the methods accessible in</div><div class='add'>+ *  &lt;i&gt;obj&lt;/i&gt;'s ancestors.</div><div class='add'>+ *  If the optional parameter is &lt;code&gt;false&lt;/code&gt;, it</div><div class='add'>+ *  returns an array of &lt;i&gt;obj&lt;/i&gt;'s public and protected singleton methods,</div><div class='add'>+ *  the array will not include methods in modules included in &lt;i&gt;obj&lt;/i&gt;.</div><div class='add'>+ *</div><div class='add'>+ *     class Klass</div><div class='add'>+ *       def klass_method()</div><div class='add'>+ *       end</div><div class='add'>+ *     end</div><div class='add'>+ *     k = Klass.new</div><div class='add'>+ *     k.methods[0..9]    #=&gt; [:klass_method, :nil?, :===,</div><div class='add'>+ *                        #    :==~, :!, :eql?</div><div class='add'>+ *                        #    :hash, :&lt;=&gt;, :class, :singleton_class]</div><div class='add'>+ *     k.methods.length   #=&gt; 56</div><div class='add'>+ *</div><div class='add'>+ *     k.methods(false)   #=&gt; []</div><div class='add'>+ *     def k.singleton_method; end</div><div class='add'>+ *     k.methods(false)   #=&gt; [:singleton_method]</div><div class='add'>+ *</div><div class='add'>+ *     module M123; def m123; end end</div><div class='add'>+ *     k.extend M123</div><div class='add'>+ *     k.methods(false)   #=&gt; [:singleton_method]</div><div class='add'>+ */</div><div class='ctx'> </div><div class='del'>-    rb_scan_args(argc, argv, "01", &amp;option);</div><div class='del'>-    return method_list(mod, RTEST(option), ins_methods_prot_i);</div><div class='add'>+VALUE</div><div class='add'>+rb_obj_methods(int argc, const VALUE *argv, VALUE obj)</div><div class='add'>+{</div><div class='add'>+    rb_check_arity(argc, 0, 1);</div><div class='add'>+    if (argc &gt; 0 &amp;&amp; !RTEST(argv[0])) {</div><div class='add'>+	return rb_obj_singleton_methods(argc, argv, obj);</div><div class='add'>+    }</div><div class='add'>+    return class_instance_method_list(argc, argv, CLASS_OF(obj), 1, ins_methods_i);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     obj.protected_methods(all=true)   -&gt; array</div><div class='add'>+ *</div><div class='add'>+ *  Returns the list of protected methods accessible to &lt;i&gt;obj&lt;/i&gt;. If</div><div class='add'>+ *  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='add'>+ *  in the receiver will be listed.</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> VALUE</div><div class='del'>-rb_class_private_instance_methods(argc, argv, mod)</div><div class='del'>-    int argc;</div><div class='del'>-    VALUE *argv;</div><div class='del'>-    VALUE mod;</div><div class='add'>+rb_obj_protected_methods(int argc, const VALUE *argv, VALUE obj)</div><div class='ctx'> {</div><div class='del'>-    VALUE option;</div><div class='add'>+    return class_instance_method_list(argc, argv, CLASS_OF(obj), 1, ins_methods_prot_i);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     obj.private_methods(all=true)   -&gt; array</div><div class='add'>+ *</div><div class='add'>+ *  Returns the list of private methods accessible to &lt;i&gt;obj&lt;/i&gt;. If</div><div class='add'>+ *  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='add'>+ *  in the receiver will be listed.</div><div class='add'>+ */</div><div class='ctx'> </div><div class='del'>-    rb_scan_args(argc, argv, "01", &amp;option);</div><div class='del'>-    return method_list(mod, RTEST(option), ins_methods_priv_i);</div><div class='add'>+VALUE</div><div class='add'>+rb_obj_private_methods(int argc, const VALUE *argv, VALUE obj)</div><div class='add'>+{</div><div class='add'>+    return class_instance_method_list(argc, argv, CLASS_OF(obj), 1, ins_methods_priv_i);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     obj.public_methods(all=true)   -&gt; array</div><div class='add'>+ *</div><div class='add'>+ *  Returns the list of public methods accessible to &lt;i&gt;obj&lt;/i&gt;. If</div><div class='add'>+ *  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='add'>+ *  in the receiver will be listed.</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> VALUE</div><div class='del'>-rb_obj_singleton_methods(obj)</div><div class='del'>-    VALUE obj;</div><div class='add'>+rb_obj_public_methods(int argc, const VALUE *argv, VALUE obj)</div><div class='ctx'> {</div><div class='del'>-    VALUE ary;</div><div class='del'>-    VALUE klass;</div><div class='del'>-    VALUE *p, *q, *pend;</div><div class='add'>+    return class_instance_method_list(argc, argv, CLASS_OF(obj), 1, ins_methods_pub_i);</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-    if (rb_safe_level() &gt;= 4 &amp;&amp; !FL_TEST(obj, FL_TAINT))</div><div class='del'>-	rb_raise(rb_eSecurityError, "Insecure: can't get metainfo");</div><div class='del'>-    ary = rb_ary_new();</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     obj.singleton_methods(all=true)    -&gt; array</div><div class='add'>+ *</div><div class='add'>+ *  Returns an array of the names of singleton methods for &lt;i&gt;obj&lt;/i&gt;.</div><div class='add'>+ *  If the optional &lt;i&gt;all&lt;/i&gt; parameter is true, the list will include</div><div class='add'>+ *  methods in modules included in &lt;i&gt;obj&lt;/i&gt;.</div><div class='add'>+ *  Only public and protected singleton methods are returned.</div><div class='add'>+ *</div><div class='add'>+ *     module Other</div><div class='add'>+ *       def three() end</div><div class='add'>+ *     end</div><div class='add'>+ *</div><div class='add'>+ *     class Single</div><div class='add'>+ *       def Single.four() end</div><div class='add'>+ *     end</div><div class='add'>+ *</div><div class='add'>+ *     a = Single.new</div><div class='add'>+ *</div><div class='add'>+ *     def a.one()</div><div class='add'>+ *     end</div><div class='add'>+ *</div><div class='add'>+ *     class &lt;&lt; a</div><div class='add'>+ *       include Other</div><div class='add'>+ *       def two()</div><div class='add'>+ *       end</div><div class='add'>+ *     end</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='add'>+ */</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_obj_singleton_methods(int argc, const VALUE *argv, VALUE obj)</div><div class='add'>+{</div><div class='add'>+    VALUE ary, klass, origin;</div><div class='add'>+    struct method_entry_arg me_arg;</div><div class='add'>+    struct rb_id_table *mtbl;</div><div class='add'>+    int recur = TRUE;</div><div class='add'>+</div><div class='add'>+    if (rb_check_arity(argc, 0, 1)) recur = RTEST(argv[0]);</div><div class='add'>+    if (RB_TYPE_P(obj, T_CLASS) &amp;&amp; FL_TEST(obj, FL_SINGLETON)) {</div><div class='add'>+        rb_singleton_class(obj);</div><div class='add'>+    }</div><div class='ctx'>     klass = CLASS_OF(obj);</div><div class='del'>-    while (klass &amp;&amp; FL_TEST(klass, FL_SINGLETON)) {</div><div class='del'>-	st_foreach(RCLASS(klass)-&gt;m_tbl, ins_methods_i, ary);</div><div class='del'>-	klass = RCLASS(klass)-&gt;super;</div><div class='add'>+    origin = RCLASS_ORIGIN(klass);</div><div class='add'>+    me_arg.list = st_init_numtable();</div><div class='add'>+    me_arg.recur = recur;</div><div class='add'>+    if (klass &amp;&amp; FL_TEST(klass, FL_SINGLETON)) {</div><div class='add'>+	if ((mtbl = RCLASS_M_TBL(origin)) != 0) rb_id_table_foreach(mtbl, method_entry_i, &amp;me_arg);</div><div class='add'>+	klass = RCLASS_SUPER(klass);</div><div class='ctx'>     }</div><div class='del'>-    p = q = RARRAY(ary)-&gt;ptr; pend = p + RARRAY(ary)-&gt;len;</div><div class='del'>-    while (p &lt; pend) {</div><div class='del'>-	if (*p == Qnil) {</div><div class='del'>-	    p+=2;</div><div class='del'>-	    continue;</div><div class='add'>+    if (recur) {</div><div class='add'>+	while (klass &amp;&amp; (FL_TEST(klass, FL_SINGLETON) || RB_TYPE_P(klass, T_ICLASS))) {</div><div class='add'>+	    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='add'>+	    klass = RCLASS_SUPER(klass);</div><div class='ctx'> 	}</div><div class='del'>-	*q++ = *p++;</div><div class='ctx'>     }</div><div class='del'>-    RARRAY(ary)-&gt;len = q - RARRAY(ary)-&gt;ptr;</div><div class='add'>+    ary = rb_ary_new2(me_arg.list-&gt;num_entries);</div><div class='add'>+    st_foreach(me_arg.list, ins_methods_i, ary);</div><div class='add'>+    st_free_table(me_arg.list);</div><div class='ctx'> </div><div class='ctx'>     return ary;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*!</div><div class='add'>+ * \}</div><div class='add'>+ */</div><div class='add'>+/*!</div><div class='add'>+ * \defgroup defmethod Defining methods</div><div class='add'>+ * There are some APIs to define a method from C.</div><div class='add'>+ * These API takes a C function as a method body.</div><div class='add'>+ *</div><div class='add'>+ * \par Method body functions</div><div class='add'>+ * Method body functions must return a VALUE and</div><div class='add'>+ * can be one of the following form:</div><div class='add'>+ * &lt;dl&gt;</div><div class='add'>+ * &lt;dt&gt;Fixed number of parameters&lt;/dt&gt;</div><div class='add'>+ * &lt;dd&gt;</div><div class='add'>+ *     This form is a normal C function, excepting it takes</div><div class='add'>+ *     a receiver object as the first argument.</div><div class='add'>+ *</div><div class='add'>+ *     \code</div><div class='add'>+ *     static VALUE my_method(VALUE self, VALUE x, VALUE y);</div><div class='add'>+ *     \endcode</div><div class='add'>+ * &lt;/dd&gt;</div><div class='add'>+ * &lt;dt&gt;argc and argv style&lt;/dt&gt;</div><div class='add'>+ * &lt;dd&gt;</div><div class='add'>+ *     This form takes three parameters: \a argc, \a argv and \a self.</div><div class='add'>+ *     \a self is the receiver. \a argc is the number of arguments.</div><div class='add'>+ *     \a argv is a pointer to an array of the arguments.</div><div class='add'>+ *</div><div class='add'>+ *     \code</div><div class='add'>+ *     static VALUE my_method(int argc, VALUE *argv, VALUE self);</div><div class='add'>+ *     \endcode</div><div class='add'>+ * &lt;/dd&gt;</div><div class='add'>+ * &lt;dt&gt;Ruby array style&lt;/dt&gt;</div><div class='add'>+ * &lt;dd&gt;</div><div class='add'>+ *     This form takes two parameters: self and args.</div><div class='add'>+ *     \a self is the receiver. \a args is an Array object which</div><div class='add'>+ *     contains the arguments.</div><div class='add'>+ *</div><div class='add'>+ *     \code</div><div class='add'>+ *     static VALUE my_method(VALUE self, VALUE args);</div><div class='add'>+ *     \endcode</div><div class='add'>+ * &lt;/dd&gt;</div><div class='add'>+ *</div><div class='add'>+ * \par Number of parameters</div><div class='add'>+ * Method defining APIs takes the number of parameters which the</div><div class='add'>+ * method will takes. This number is called \a argc.</div><div class='add'>+ * \a argc can be:</div><div class='add'>+ * &lt;dl&gt;</div><div class='add'>+ * &lt;dt&gt;zero or positive number&lt;/dt&gt;</div><div class='add'>+ * &lt;dd&gt;This means the method body function takes a fixed number of parameters&lt;/dd&gt;</div><div class='add'>+ * &lt;dt&gt;-1&lt;/dt&gt;</div><div class='add'>+ * &lt;dd&gt;This means the method body function is "argc and argv" style.&lt;/dd&gt;</div><div class='add'>+ * &lt;dt&gt;-2&lt;/dt&gt;</div><div class='add'>+ * &lt;dd&gt;This means the method body function is "self and args" style.&lt;/dd&gt;</div><div class='add'>+ * &lt;/dl&gt;</div><div class='add'>+ * \{</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+#ifdef rb_define_method_id</div><div class='add'>+#undef rb_define_method_id</div><div class='add'>+#endif</div><div class='ctx'> void</div><div class='del'>-rb_define_method_id(klass, name, func, argc)</div><div class='del'>-    VALUE klass;</div><div class='del'>-    ID name;</div><div class='del'>-    VALUE (*func)();</div><div class='del'>-    int argc;</div><div class='add'>+rb_define_method_id(VALUE klass, ID mid, VALUE (*func)(ANYARGS), int argc)</div><div class='ctx'> {</div><div class='del'>-    rb_add_method(klass, name, NEW_CFUNC(func,argc), NOEX_PUBLIC|NOEX_CFUNC);</div><div class='add'>+    rb_add_method_cfunc(klass, mid, func, argc, METHOD_VISI_PUBLIC);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+#ifdef rb_define_method</div><div class='add'>+#undef rb_define_method</div><div class='add'>+#endif</div><div class='ctx'> void</div><div class='del'>-rb_define_method(klass, name, func, argc)</div><div class='del'>-    VALUE klass;</div><div class='del'>-    const char *name;</div><div class='del'>-    VALUE (*func)();</div><div class='del'>-    int argc;</div><div class='add'>+rb_define_method(VALUE klass, const char *name, VALUE (*func)(ANYARGS), int argc)</div><div class='ctx'> {</div><div class='del'>-    ID id = rb_intern(name);</div><div class='add'>+    rb_add_method_cfunc(klass, rb_intern(name), func, argc, METHOD_VISI_PUBLIC);</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-    rb_add_method(klass, id, NEW_CFUNC(func, argc), </div><div class='del'>-		  ((name[0] == 'i' &amp;&amp; id == rb_intern("initialize"))?</div><div class='del'>-		   NOEX_PRIVATE:NOEX_PUBLIC)|NOEX_CFUNC);</div><div class='add'>+#ifdef rb_define_protected_method</div><div class='add'>+#undef rb_define_protected_method</div><div class='add'>+#endif</div><div class='add'>+void</div><div class='add'>+rb_define_protected_method(VALUE klass, const char *name, VALUE (*func)(ANYARGS), int argc)</div><div class='add'>+{</div><div class='add'>+    rb_add_method_cfunc(klass, rb_intern(name), func, argc, METHOD_VISI_PROTECTED);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+#ifdef rb_define_private_method</div><div class='add'>+#undef rb_define_private_method</div><div class='add'>+#endif</div><div class='ctx'> void</div><div class='del'>-rb_define_protected_method(klass, name, func, argc)</div><div class='del'>-    VALUE klass;</div><div class='del'>-    const char *name;</div><div class='del'>-    VALUE (*func)();</div><div class='del'>-    int argc;</div><div class='add'>+rb_define_private_method(VALUE klass, const char *name, VALUE (*func)(ANYARGS), int argc)</div><div class='ctx'> {</div><div class='del'>-    rb_add_method(klass, rb_intern(name), NEW_CFUNC(func, argc),</div><div class='del'>-		  NOEX_PROTECTED|NOEX_CFUNC);</div><div class='add'>+    rb_add_method_cfunc(klass, rb_intern(name), func, argc, METHOD_VISI_PRIVATE);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> void</div><div class='del'>-rb_define_private_method(klass, name, func, argc)</div><div class='del'>-    VALUE klass;</div><div class='del'>-    const char *name;</div><div class='del'>-    VALUE (*func)();</div><div class='del'>-    int argc;</div><div class='add'>+rb_undef_method(VALUE klass, const char *name)</div><div class='add'>+{</div><div class='add'>+    rb_add_method(klass, rb_intern(name), VM_METHOD_TYPE_UNDEF, 0, METHOD_VISI_UNDEF);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static enum rb_id_table_iterator_result</div><div class='add'>+undef_method_i(ID name, VALUE value, void *data)</div><div class='ctx'> {</div><div class='del'>-    rb_add_method(klass, rb_intern(name), NEW_CFUNC(func, argc),</div><div class='del'>-		  NOEX_PRIVATE|NOEX_CFUNC);</div><div class='add'>+    VALUE klass = (VALUE)data;</div><div class='add'>+    rb_add_method(klass, name, VM_METHOD_TYPE_UNDEF, 0, METHOD_VISI_UNDEF);</div><div class='add'>+    return ID_TABLE_CONTINUE;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> void</div><div class='del'>-rb_undef_method(klass, name)</div><div class='del'>-    VALUE klass;</div><div class='del'>-    const char *name;</div><div class='add'>+rb_undef_methods_from(VALUE klass, VALUE super)</div><div class='ctx'> {</div><div class='del'>-    rb_add_method(klass, rb_intern(name), 0, NOEX_UNDEF);</div><div class='add'>+    struct rb_id_table *mtbl = RCLASS_M_TBL(super);</div><div class='add'>+    if (mtbl) {</div><div class='add'>+	rb_id_table_foreach(mtbl, undef_method_i, (void *)klass);</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'>+ * \addtogroup class</div><div class='add'>+ * \{</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static inline VALUE</div><div class='add'>+special_singleton_class_of(VALUE obj)</div><div class='add'>+{</div><div class='add'>+    switch (obj) {</div><div class='add'>+      case Qnil:   return rb_cNilClass;</div><div class='add'>+      case Qfalse: return rb_cFalseClass;</div><div class='add'>+      case Qtrue:  return rb_cTrueClass;</div><div class='add'>+      default:     return Qnil;</div><div class='add'>+    }</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> VALUE</div><div class='del'>-rb_singleton_class(obj)</div><div class='del'>-    VALUE obj;</div><div class='add'>+rb_special_singleton_class(VALUE obj)</div><div class='ctx'> {</div><div class='del'>-    if (rb_special_const_p(obj)) {</div><div class='add'>+    return special_singleton_class_of(obj);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*!</div><div class='add'>+ * \internal</div><div class='add'>+ * Returns the singleton class of \a obj. Creates it if necessary.</div><div class='add'>+ *</div><div class='add'>+ * \note DO NOT expose the returned singleton class to</div><div class='add'>+ *       outside of class.c.</div><div class='add'>+ *       Use \ref rb_singleton_class instead for</div><div class='add'>+ *       consistency of the metaclass hierarchy.</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+singleton_class_of(VALUE obj)</div><div class='add'>+{</div><div class='add'>+    VALUE klass;</div><div class='add'>+</div><div class='add'>+    switch (TYPE(obj)) {</div><div class='add'>+      case T_FIXNUM:</div><div class='add'>+      case T_BIGNUM:</div><div class='add'>+      case T_FLOAT:</div><div class='add'>+      case T_SYMBOL:</div><div class='ctx'> 	rb_raise(rb_eTypeError, "can't define singleton");</div><div class='add'>+</div><div class='add'>+      case T_FALSE:</div><div class='add'>+      case T_TRUE:</div><div class='add'>+      case T_NIL:</div><div class='add'>+	klass = special_singleton_class_of(obj);</div><div class='add'>+	if (NIL_P(klass))</div><div class='add'>+	    rb_bug("unknown immediate %p", (void *)obj);</div><div class='add'>+	return klass;</div><div class='add'>+</div><div class='add'>+      case T_STRING:</div><div class='add'>+        if (FL_TEST_RAW(obj, RSTRING_FSTR)) {</div><div class='add'>+            rb_raise(rb_eTypeError, "can't define singleton");</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    klass = RBASIC(obj)-&gt;klass;</div><div class='add'>+    if (!(FL_TEST(klass, FL_SINGLETON) &amp;&amp;</div><div class='add'>+          rb_attr_get(klass, id_attached) == obj)) {</div><div class='add'>+	rb_serial_t serial = RCLASS_SERIAL(klass);</div><div class='add'>+	klass = rb_make_metaclass(obj, klass);</div><div class='add'>+	RCLASS_SERIAL(klass) = serial;</div><div class='ctx'>     }</div><div class='del'>-    if (FL_TEST(RBASIC(obj)-&gt;klass, FL_SINGLETON)) {</div><div class='del'>-	return RBASIC(obj)-&gt;klass;</div><div class='add'>+</div><div class='add'>+    RB_FL_SET_RAW(klass, RB_OBJ_FROZEN_RAW(obj));</div><div class='add'>+</div><div class='add'>+    return klass;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+rb_freeze_singleton_class(VALUE x)</div><div class='add'>+{</div><div class='add'>+    /* should not propagate to meta-meta-class, and so on */</div><div class='add'>+    if (!(RBASIC(x)-&gt;flags &amp; FL_SINGLETON)) {</div><div class='add'>+	VALUE klass = RBASIC_CLASS(x);</div><div class='add'>+	if (klass &amp;&amp; (klass = RCLASS_ORIGIN(klass)) != 0 &amp;&amp;</div><div class='add'>+	    FL_TEST(klass, (FL_SINGLETON|FL_FREEZE)) == FL_SINGLETON) {</div><div class='add'>+	    OBJ_FREEZE_RAW(klass);</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*!</div><div class='add'>+ * Returns the singleton class of \a obj, or nil if obj is not a</div><div class='add'>+ * singleton object.</div><div class='add'>+ *</div><div class='add'>+ * \param obj an arbitrary object.</div><div class='add'>+ * \return the singleton class or nil.</div><div class='add'>+ */</div><div class='add'>+VALUE</div><div class='add'>+rb_singleton_class_get(VALUE obj)</div><div class='add'>+{</div><div class='add'>+    VALUE klass;</div><div class='add'>+</div><div class='add'>+    if (SPECIAL_CONST_P(obj)) {</div><div class='add'>+	return rb_special_singleton_class(obj);</div><div class='ctx'>     }</div><div class='del'>-    RBASIC(obj)-&gt;klass = rb_singleton_class_new(RBASIC(obj)-&gt;klass);</div><div class='del'>-    rb_singleton_class_attached(RBASIC(obj)-&gt;klass, obj);</div><div class='del'>-    return RBASIC(obj)-&gt;klass;</div><div class='add'>+    klass = RBASIC(obj)-&gt;klass;</div><div class='add'>+    if (!FL_TEST(klass, FL_SINGLETON)) return Qnil;</div><div class='add'>+    if (rb_attr_get(klass, id_attached) != obj) return Qnil;</div><div class='add'>+    return klass;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*!</div><div class='add'>+ * Returns the singleton class of \a obj. Creates it if necessary.</div><div class='add'>+ *</div><div class='add'>+ * \param obj an arbitrary object.</div><div class='add'>+ * \throw TypeError if \a obj is an Integer or a Symbol.</div><div class='add'>+ * \return the singleton class.</div><div class='add'>+ *</div><div class='add'>+ * \post \a obj has its own singleton class.</div><div class='add'>+ * \post if \a obj is a class,</div><div class='add'>+ *       the returned singleton class also has its own</div><div class='add'>+ *       singleton class in order to keep consistency of the</div><div class='add'>+ *       inheritance structure of metaclasses.</div><div class='add'>+ * \note a new singleton class will be created</div><div class='add'>+ *       if \a obj does not have it.</div><div class='add'>+ * \note the singleton classes for nil, true and false are:</div><div class='add'>+ *       NilClass, TrueClass and FalseClass.</div><div class='add'>+ */</div><div class='add'>+VALUE</div><div class='add'>+rb_singleton_class(VALUE obj)</div><div class='add'>+{</div><div class='add'>+    VALUE klass = singleton_class_of(obj);</div><div class='add'>+</div><div class='add'>+    /* ensures an exposed class belongs to its own eigenclass */</div><div class='add'>+    if (RB_TYPE_P(obj, T_CLASS)) (void)ENSURE_EIGENCLASS(klass);</div><div class='add'>+</div><div class='add'>+    return klass;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*!</div><div class='add'>+ * \}</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+/*!</div><div class='add'>+ * \addtogroup defmethod</div><div class='add'>+ * \{</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+#ifdef rb_define_singleton_method</div><div class='add'>+#undef rb_define_singleton_method</div><div class='add'>+#endif</div><div class='add'>+/*!</div><div class='add'>+ * Defines a singleton method for \a obj.</div><div class='add'>+ * \param obj    an arbitrary object</div><div class='add'>+ * \param name   name of the singleton method</div><div class='add'>+ * \param func   the method body</div><div class='add'>+ * \param argc   the number of parameters, or -1 or -2. see \ref defmethod.</div><div class='add'>+ */</div><div class='ctx'> void</div><div class='del'>-rb_define_singleton_method(obj, name, func, argc)</div><div class='del'>-    VALUE obj;</div><div class='del'>-    const char *name;</div><div class='del'>-    VALUE (*func)();</div><div class='del'>-    int argc;</div><div class='add'>+rb_define_singleton_method(VALUE obj, const char *name, VALUE (*func)(ANYARGS), int argc)</div><div class='ctx'> {</div><div class='del'>-    rb_define_method(rb_singleton_class(obj), name, func, argc);</div><div class='add'>+    rb_define_method(singleton_class_of(obj), name, func, argc);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+#ifdef rb_define_module_function</div><div class='add'>+#undef rb_define_module_function</div><div class='add'>+#endif</div><div class='add'>+/*!</div><div class='add'>+ * Defines a module function for \a module.</div><div class='add'>+ * \param module  an module or a class.</div><div class='add'>+ * \param name    name of the function</div><div class='add'>+ * \param func    the method body</div><div class='add'>+ * \param argc    the number of parameters, or -1 or -2. see \ref defmethod.</div><div class='add'>+ */</div><div class='ctx'> void</div><div class='del'>-rb_define_module_function(module, name, func, argc)</div><div class='del'>-    VALUE module;</div><div class='del'>-    const char *name;</div><div class='del'>-    VALUE (*func)();</div><div class='del'>-    int argc;</div><div class='add'>+rb_define_module_function(VALUE module, const char *name, VALUE (*func)(ANYARGS), 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='add'>+#ifdef rb_define_global_function</div><div class='add'>+#undef rb_define_global_function</div><div class='add'>+#endif</div><div class='add'>+/*!</div><div class='add'>+ * Defines a global function</div><div class='add'>+ * \param name    name of the function</div><div class='add'>+ * \param func    the method body</div><div class='add'>+ * \param argc    the number of parameters, or -1 or -2. see \ref defmethod.</div><div class='add'>+ */</div><div class='ctx'> void</div><div class='del'>-rb_define_global_function(name, func, argc)</div><div class='del'>-    const char *name;</div><div class='del'>-    VALUE (*func)();</div><div class='del'>-    int argc;</div><div class='add'>+rb_define_global_function(const char *name, VALUE (*func)(ANYARGS), 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='add'>+</div><div class='add'>+/*!</div><div class='add'>+ * Defines an alias of a method.</div><div class='add'>+ * \param klass  the class which the original method belongs to</div><div class='add'>+ * \param name1  a new name for the method</div><div class='add'>+ * \param name2  the original name of the method</div><div class='add'>+ */</div><div class='ctx'> void</div><div class='del'>-rb_define_alias(klass, name1, name2)</div><div class='del'>-    VALUE klass;</div><div class='del'>-    const char *name1, *name2;</div><div class='add'>+rb_define_alias(VALUE klass, const char *name1, const char *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='add'>+/*!</div><div class='add'>+ * Defines (a) public accessor method(s) for an attribute.</div><div class='add'>+ * \param klass  the class which the attribute will belongs to</div><div class='add'>+ * \param name   name of the attribute</div><div class='add'>+ * \param read   a getter method for the attribute will be defined if \a read is non-zero.</div><div class='add'>+ * \param write  a setter method for the attribute will be defined if \a write is non-zero.</div><div class='add'>+ */</div><div class='ctx'> void</div><div class='del'>-rb_define_attr(klass, name, read, write)</div><div class='del'>-    VALUE klass;</div><div class='del'>-    const char *name;</div><div class='del'>-    int read, write;</div><div class='add'>+rb_define_attr(VALUE klass, const char *name, int read, int write)</div><div class='ctx'> {</div><div class='del'>-    rb_attr(klass, rb_intern(name), read, write, Qfalse);</div><div class='add'>+    rb_attr(klass, rb_intern(name), read, write, FALSE);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-#ifdef HAVE_STDARG_PROTOTYPES</div><div class='del'>-#include &lt;stdarg.h&gt;</div><div class='del'>-#define va_init_list(a,b) va_start(a,b)</div><div class='del'>-#else</div><div class='del'>-#include &lt;varargs.h&gt;</div><div class='del'>-#define va_init_list(a,b) va_start(a)</div><div class='del'>-#endif</div><div class='add'>+MJIT_FUNC_EXPORTED VALUE</div><div class='add'>+rb_keyword_error_new(const char *error, VALUE keys)</div><div class='add'>+{</div><div class='add'>+    long i = 0, len = RARRAY_LEN(keys);</div><div class='add'>+    VALUE error_message = rb_sprintf("%s keyword%.*s", error, len &gt; 1, "s");</div><div class='add'>+</div><div class='add'>+    if (len &gt; 0) {</div><div class='add'>+	rb_str_cat_cstr(error_message, ": ");</div><div class='add'>+	while (1) {</div><div class='add'>+            const VALUE k = RARRAY_AREF(keys, i);</div><div class='add'>+	    rb_str_append(error_message, rb_inspect(k));</div><div class='add'>+	    if (++i &gt;= len) break;</div><div class='add'>+	    rb_str_cat_cstr(error_message, ", ");</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='ctx'> </div><div class='del'>-int</div><div class='del'>-#ifdef HAVE_STDARG_PROTOTYPES</div><div class='del'>-rb_scan_args(int argc, VALUE *argv, const char *fmt, ...)</div><div class='del'>-#else</div><div class='del'>-rb_scan_args(argc, argv, fmt, va_alist)</div><div class='del'>-    int argc;</div><div class='del'>-    VALUE *argv;</div><div class='del'>-    const char *fmt;</div><div class='del'>-    va_dcl</div><div class='del'>-#endif</div><div class='add'>+    return rb_exc_new_str(rb_eArgError, error_message);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+NORETURN(static void rb_keyword_error(const char *error, VALUE keys));</div><div class='add'>+static void</div><div class='add'>+rb_keyword_error(const char *error, VALUE keys)</div><div class='ctx'> {</div><div class='del'>-    int n, i;</div><div class='del'>-    const char *p = fmt;</div><div class='del'>-    VALUE *var;</div><div class='del'>-    va_list vargs;</div><div class='add'>+    rb_exc_raise(rb_keyword_error_new(error, keys));</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+NORETURN(static void unknown_keyword_error(VALUE hash, const ID *table, int keywords));</div><div class='add'>+static void</div><div class='add'>+unknown_keyword_error(VALUE hash, const ID *table, int keywords)</div><div class='add'>+{</div><div class='add'>+    int i;</div><div class='add'>+    for (i = 0; i &lt; keywords; i++) {</div><div class='add'>+	st_data_t key = ID2SYM(table[i]);</div><div class='add'>+        rb_hash_stlike_delete(hash, &amp;key, NULL);</div><div class='add'>+    }</div><div class='add'>+    rb_keyword_error("unknown", rb_hash_keys(hash));</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-    va_init_list(vargs, fmt);</div><div class='ctx'> </div><div class='del'>-    if (*p == '*') {</div><div class='del'>-	var = va_arg(vargs, VALUE*);</div><div class='del'>-	*var = rb_ary_new4(argc, argv);</div><div class='del'>-	return argc;</div><div class='add'>+static int</div><div class='add'>+separate_symbol(st_data_t key, st_data_t value, st_data_t arg)</div><div class='add'>+{</div><div class='add'>+    VALUE *kwdhash = (VALUE *)arg;</div><div class='add'>+    if (!SYMBOL_P(key)) kwdhash++;</div><div class='add'>+    if (!*kwdhash) *kwdhash = rb_hash_new();</div><div class='add'>+    rb_hash_aset(*kwdhash, (VALUE)key, (VALUE)value);</div><div class='add'>+    return ST_CONTINUE;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_extract_keywords(VALUE *orighash)</div><div class='add'>+{</div><div class='add'>+    VALUE parthash[2] = {0, 0};</div><div class='add'>+    VALUE hash = *orighash;</div><div class='add'>+</div><div class='add'>+    if (RHASH_EMPTY_P(hash)) {</div><div class='add'>+	*orighash = 0;</div><div class='add'>+	return hash;</div><div class='add'>+    }</div><div class='add'>+    rb_hash_foreach(hash, separate_symbol, (st_data_t)&amp;parthash);</div><div class='add'>+    *orighash = parthash[1];</div><div class='add'>+    if (parthash[1] &amp;&amp; RBASIC_CLASS(hash) != rb_cHash) {</div><div class='add'>+        RBASIC_SET_CLASS(parthash[1], RBASIC_CLASS(hash));</div><div class='ctx'>     }</div><div class='add'>+    return parthash[0];</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-    if (ISDIGIT(*p)) {</div><div class='del'>-	n = *p - '0';</div><div class='del'>-	if (n &gt; argc)</div><div class='del'>-	    rb_raise(rb_eArgError, "wrong # of arguments (%d for %d)", argc, n);</div><div class='del'>-	for (i=0; i&lt;n; i++) {</div><div class='del'>-	    var = va_arg(vargs, VALUE*);</div><div class='del'>-	    if (var) *var = argv[i];</div><div class='add'>+int</div><div class='add'>+rb_get_kwargs(VALUE keyword_hash, const ID *table, int required, int optional, VALUE *values)</div><div class='add'>+{</div><div class='add'>+    int i = 0, j;</div><div class='add'>+    int rest = 0;</div><div class='add'>+    VALUE missing = Qnil;</div><div class='add'>+    st_data_t key;</div><div class='add'>+</div><div class='add'>+#define extract_kwarg(keyword, val) \</div><div class='add'>+    (key = (st_data_t)(keyword), values ? \</div><div class='add'>+     (rb_hash_stlike_delete(keyword_hash, &amp;key, &amp;(val)) || ((val) = Qundef, 0)) : \</div><div class='add'>+     rb_hash_stlike_lookup(keyword_hash, key, NULL))</div><div class='add'>+</div><div class='add'>+    if (NIL_P(keyword_hash)) keyword_hash = 0;</div><div class='add'>+</div><div class='add'>+    if (optional &lt; 0) {</div><div class='add'>+	rest = 1;</div><div class='add'>+	optional = -1-optional;</div><div class='add'>+    }</div><div class='add'>+    if (required) {</div><div class='add'>+	for (; i &lt; required; i++) {</div><div class='add'>+	    VALUE keyword = ID2SYM(table[i]);</div><div class='add'>+	    if (keyword_hash) {</div><div class='add'>+                if (extract_kwarg(keyword, values[i])) {</div><div class='add'>+		    continue;</div><div class='add'>+		}</div><div class='add'>+	    }</div><div class='add'>+	    if (NIL_P(missing)) missing = rb_ary_tmp_new(1);</div><div class='add'>+	    rb_ary_push(missing, keyword);</div><div class='add'>+	}</div><div class='add'>+	if (!NIL_P(missing)) {</div><div class='add'>+	    rb_keyword_error("missing", missing);</div><div class='ctx'> 	}</div><div class='del'>-	p++;</div><div class='ctx'>     }</div><div class='del'>-    else {</div><div class='del'>-	goto error;</div><div class='add'>+    j = i;</div><div class='add'>+    if (optional &amp;&amp; keyword_hash) {</div><div class='add'>+	for (i = 0; i &lt; optional; i++) {</div><div class='add'>+            if (extract_kwarg(ID2SYM(table[required+i]), values[required+i])) {</div><div class='add'>+		j++;</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    if (!rest &amp;&amp; keyword_hash) {</div><div class='add'>+	if (RHASH_SIZE(keyword_hash) &gt; (unsigned int)(values ? 0 : j)) {</div><div class='add'>+	    unknown_keyword_error(keyword_hash, table, required+optional);</div><div class='add'>+	}</div><div class='ctx'>     }</div><div class='add'>+    if (values &amp;&amp; !keyword_hash) {</div><div class='add'>+        for (i = 0; i &lt; required + optional; i++) {</div><div class='add'>+            values[i] = Qundef;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    return j;</div><div class='add'>+#undef extract_kwarg</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+struct rb_scan_args_t {</div><div class='add'>+    int kw_flag;</div><div class='add'>+    int n_lead;</div><div class='add'>+    int n_opt;</div><div class='add'>+    int n_trail;</div><div class='add'>+    bool f_var;</div><div class='add'>+    bool f_hash;</div><div class='add'>+    bool f_block;</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+rb_scan_args_parse(int kw_flag, const char *fmt, struct rb_scan_args_t *arg)</div><div class='add'>+{</div><div class='add'>+    const char *p = fmt;</div><div class='add'>+</div><div class='add'>+    memset(arg, 0, sizeof(*arg));</div><div class='add'>+    arg-&gt;kw_flag = kw_flag;</div><div class='ctx'> </div><div class='ctx'>     if (ISDIGIT(*p)) {</div><div class='del'>-	n = i + *p - '0';</div><div class='del'>-	for (; i&lt;n; i++) {</div><div class='del'>-	    var = va_arg(vargs, VALUE*);</div><div class='del'>-	    if (argc &gt; i) {</div><div class='del'>-		if (var) *var = argv[i];</div><div class='del'>-	    }</div><div class='del'>-	    else {</div><div class='del'>-		if (var) *var = Qnil;</div><div class='del'>-	    }</div><div class='add'>+        arg-&gt;n_lead = *p - '0';</div><div class='add'>+	p++;</div><div class='add'>+	if (ISDIGIT(*p)) {</div><div class='add'>+            arg-&gt;n_opt = *p - '0';</div><div class='add'>+	    p++;</div><div class='ctx'> 	}</div><div class='add'>+    }</div><div class='add'>+    if (*p == '*') {</div><div class='add'>+        arg-&gt;f_var = 1;</div><div class='ctx'> 	p++;</div><div class='ctx'>     }</div><div class='add'>+    if (ISDIGIT(*p)) {</div><div class='add'>+        arg-&gt;n_trail = *p - '0';</div><div class='add'>+	p++;</div><div class='add'>+    }</div><div class='add'>+    if (*p == ':') {</div><div class='add'>+        arg-&gt;f_hash = 1;</div><div class='add'>+	p++;</div><div class='add'>+    }</div><div class='add'>+    if (*p == '&amp;') {</div><div class='add'>+        arg-&gt;f_block = 1;</div><div class='add'>+	p++;</div><div class='add'>+    }</div><div class='add'>+    if (*p != '\0') {</div><div class='add'>+	rb_fatal("bad scan arg format: %s", fmt);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+rb_scan_args_assign(const struct rb_scan_args_t *arg, int argc, const VALUE *const argv, va_list vargs)</div><div class='add'>+{</div><div class='add'>+    int i, argi = 0;</div><div class='add'>+    VALUE *var, hash = Qnil;</div><div class='add'>+#define rb_scan_args_next_param() va_arg(vargs, VALUE *)</div><div class='add'>+    const int kw_flag = arg-&gt;kw_flag;</div><div class='add'>+    const int n_lead = arg-&gt;n_lead;</div><div class='add'>+    const int n_opt = arg-&gt;n_opt;</div><div class='add'>+    const int n_trail = arg-&gt;n_trail;</div><div class='add'>+    const int n_mand = n_lead + n_trail;</div><div class='add'>+    const bool f_var = arg-&gt;f_var;</div><div class='add'>+    const bool f_hash = arg-&gt;f_hash;</div><div class='add'>+    const bool f_block = arg-&gt;f_block;</div><div class='add'>+</div><div class='add'>+    /* capture an option hash - phase 1: pop from the argv */</div><div class='add'>+    if (f_hash &amp;&amp; argc &gt; 0) {</div><div class='add'>+        VALUE last = argv[argc - 1];</div><div class='add'>+        if (rb_scan_args_keyword_p(kw_flag, last)) {</div><div class='add'>+            hash = rb_hash_dup(last);</div><div class='add'>+            argc--;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='ctx'> </div><div class='del'>-    if(*p == '*') {</div><div class='del'>-	var = va_arg(vargs, VALUE*);</div><div class='del'>-	if (argc &gt; i) {</div><div class='del'>-	    if (var) *var = rb_ary_new4(argc-i, argv+i);</div><div class='add'>+    if (argc &lt; n_mand) {</div><div class='add'>+        goto argc_error;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    /* capture leading mandatory arguments */</div><div class='add'>+    for (i = 0; i &lt; n_lead; i++) {</div><div class='add'>+        var = rb_scan_args_next_param();</div><div class='add'>+        if (var) *var = argv[argi];</div><div class='add'>+	argi++;</div><div class='add'>+    }</div><div class='add'>+    /* capture optional arguments */</div><div class='add'>+    for (i = 0; i &lt; n_opt; i++) {</div><div class='add'>+        var = rb_scan_args_next_param();</div><div class='add'>+        if (argi &lt; argc - n_trail) {</div><div class='add'>+            if (var) *var = argv[argi];</div><div class='add'>+	    argi++;</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    if (var) *var = Qnil;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    /* capture variable length arguments */</div><div class='add'>+    if (f_var) {</div><div class='add'>+        int n_var = argc - argi - n_trail;</div><div class='add'>+</div><div class='add'>+        var = rb_scan_args_next_param();</div><div class='add'>+	if (0 &lt; n_var) {</div><div class='add'>+            if (var) *var = rb_ary_new_from_values(n_var, &amp;argv[argi]);</div><div class='add'>+	    argi += n_var;</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='ctx'>     }</div><div class='del'>-    else if (*p == '\0') {</div><div class='del'>-	if (argc &gt; i) {</div><div class='del'>-	    rb_raise(rb_eArgError, "wrong # of arguments(%d for %d)", argc, i);</div><div class='add'>+    /* capture trailing mandatory arguments */</div><div class='add'>+    for (i = 0; i &lt; n_trail; i++) {</div><div class='add'>+        var = rb_scan_args_next_param();</div><div class='add'>+        if (var) *var = argv[argi];</div><div class='add'>+	argi++;</div><div class='add'>+    }</div><div class='add'>+    /* capture an option hash - phase 2: assignment */</div><div class='add'>+    if (f_hash) {</div><div class='add'>+        var = rb_scan_args_next_param();</div><div class='add'>+        if (var) *var = hash;</div><div class='add'>+    }</div><div class='add'>+    /* capture iterator block */</div><div class='add'>+    if (f_block) {</div><div class='add'>+        var = rb_scan_args_next_param();</div><div class='add'>+	if (rb_block_given_p()) {</div><div class='add'>+	    *var = rb_block_proc();</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    *var = Qnil;</div><div class='ctx'> 	}</div><div class='ctx'>     }</div><div class='del'>-    else {</div><div class='del'>-	goto error;</div><div class='add'>+</div><div class='add'>+    if (argi == argc) {</div><div class='add'>+        return argc;</div><div class='ctx'>     }</div><div class='ctx'> </div><div class='add'>+  argc_error:</div><div class='add'>+    return -(argc + 1);</div><div class='add'>+#undef rb_scan_args_next_param</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+rb_scan_args_result(const struct rb_scan_args_t *const arg, int argc)</div><div class='add'>+{</div><div class='add'>+    const int n_lead = arg-&gt;n_lead;</div><div class='add'>+    const int n_opt = arg-&gt;n_opt;</div><div class='add'>+    const int n_trail = arg-&gt;n_trail;</div><div class='add'>+    const int n_mand = n_lead + n_trail;</div><div class='add'>+    const bool f_var = arg-&gt;f_var;</div><div class='add'>+</div><div class='add'>+    if (argc &gt;= 0) {</div><div class='add'>+        return argc;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    argc = -argc - 1;</div><div class='add'>+    rb_error_arity(argc, n_mand, f_var ? UNLIMITED_ARGUMENTS : n_mand + n_opt);</div><div class='add'>+    UNREACHABLE_RETURN(-1);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#undef rb_scan_args</div><div class='add'>+int</div><div class='add'>+rb_scan_args(int argc, const VALUE *argv, const char *fmt, ...)</div><div class='add'>+{</div><div class='add'>+    va_list vargs;</div><div class='add'>+    struct rb_scan_args_t arg;</div><div class='add'>+    rb_scan_args_parse(RB_SCAN_ARGS_PASS_CALLED_KEYWORDS, fmt, &amp;arg);</div><div class='add'>+    va_start(vargs,fmt);</div><div class='add'>+    argc = rb_scan_args_assign(&amp;arg, argc, argv, vargs);</div><div class='add'>+    va_end(vargs);</div><div class='add'>+    return rb_scan_args_result(&amp;arg, argc);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#undef rb_scan_args_kw</div><div class='add'>+int</div><div class='add'>+rb_scan_args_kw(int kw_flag, int argc, const VALUE *argv, const char *fmt, ...)</div><div class='add'>+{</div><div class='add'>+    va_list vargs;</div><div class='add'>+    struct rb_scan_args_t arg;</div><div class='add'>+    rb_scan_args_parse(kw_flag, fmt, &amp;arg);</div><div class='add'>+    va_start(vargs,fmt);</div><div class='add'>+    argc = rb_scan_args_assign(&amp;arg, argc, argv, vargs);</div><div class='ctx'>     va_end(vargs);</div><div class='del'>-    return argc;</div><div class='add'>+    return rb_scan_args_result(&amp;arg, argc);</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-  error:</div><div class='del'>-    rb_fatal("bad scan arg format: %s", fmt);</div><div class='del'>-    return 0;</div><div class='add'>+int</div><div class='add'>+rb_class_has_methods(VALUE c)</div><div class='add'>+{</div><div class='add'>+    return rb_id_table_size(RCLASS_M_TBL(c)) == 0 ? FALSE : TRUE;</div><div class='ctx'> }</div><div class='add'>+</div><div class='add'>+/*!</div><div class='add'>+ * \}</div><div class='add'>+ */</div><div class='head'>diff --git a/common.mk b/common.mk<br/>new file mode 100644<br/>index 0000000000..763305082d<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/common.mk?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>common.mk</a></div><div class='hunk'>@@ -0,0 +1,16366 @@</div><div class='add'>+# -*- mode: makefile-gmake; indent-tabs-mode: t -*-</div><div class='add'>+</div><div class='add'>+bin: $(PROGRAM) $(WPROGRAM)</div><div class='add'>+lib: $(LIBRUBY)</div><div class='add'>+dll: $(LIBRUBY_SO)</div><div class='add'>+</div><div class='add'>+.SUFFIXES: .rbinc .rb .inc .h .c .y .i .$(ASMEXT) .$(DTRACE_EXT)</div><div class='add'>+</div><div class='add'>+# V=0 quiet, V=1 verbose.  other values don't work.</div><div class='add'>+V = 0</div><div class='add'>+Q1 = $(V:1=)</div><div class='add'>+Q = $(Q1:0=@)</div><div class='add'>+ECHO0 = $(ECHO1:0=echo)</div><div class='add'>+ECHO = @$(ECHO0)</div><div class='add'>+</div><div class='add'>+mflags = $(MFLAGS)</div><div class='add'>+gnumake_recursive =</div><div class='add'>+enable_shared = $(ENABLE_SHARED:no=)</div><div class='add'>+</div><div class='add'>+UNICODE_VERSION = 12.1.0</div><div class='add'>+UNICODE_EMOJI_VERSION = 12.1</div><div class='add'>+UNICODE_BETA = NO</div><div class='add'>+</div><div class='add'>+### set the following environment variable or uncomment the line if</div><div class='add'>+### the Unicode data files should be updated completely on every update ('make up',...).</div><div class='add'>+# ALWAYS_UPDATE_UNICODE = yes</div><div class='add'>+UNICODE_DATA_DIR = enc/unicode/data/$(UNICODE_VERSION)/ucd</div><div class='add'>+UNICODE_SRC_DATA_DIR = $(srcdir)/$(UNICODE_DATA_DIR)</div><div class='add'>+UNICODE_SRC_EMOJI_DATA_DIR = $(srcdir)/enc/unicode/data/emoji/$(UNICODE_EMOJI_VERSION)</div><div class='add'>+UNICODE_HDR_DIR = $(srcdir)/enc/unicode/$(UNICODE_VERSION)</div><div class='add'>+UNICODE_DATA_HEADERS = \</div><div class='add'>+	$(UNICODE_HDR_DIR)/casefold.h \</div><div class='add'>+	$(UNICODE_HDR_DIR)/name2ctype.h \</div><div class='add'>+	$(empty)</div><div class='add'>+</div><div class='add'>+RUBY_RELEASE_DATE = $(RUBY_RELEASE_YEAR)-$(RUBY_RELEASE_MONTH)-$(RUBY_RELEASE_DAY)</div><div class='add'>+RUBYLIB       = $(PATH_SEPARATOR)</div><div class='add'>+RUBYOPT       = -</div><div class='add'>+RUN_OPTS      = --disable-gems</div><div class='add'>+</div><div class='add'>+# GITPULLOPTIONS = --no-tags</div><div class='add'>+</div><div class='add'>+INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir) -I$(srcdir) -I$(UNICODE_HDR_DIR)</div><div class='add'>+</div><div class='add'>+GEM_HOME =</div><div class='add'>+GEM_PATH =</div><div class='add'>+GEM_VENDOR =</div><div class='add'>+</div><div class='add'>+BENCHMARK_DRIVER_GIT_URL = https://github.com/benchmark-driver/benchmark-driver</div><div class='add'>+BENCHMARK_DRIVER_GIT_REF = v0.15.15</div><div class='add'>+SIMPLECOV_GIT_URL = https://github.com/colszowka/simplecov.git</div><div class='add'>+SIMPLECOV_GIT_REF = v0.17.0</div><div class='add'>+SIMPLECOV_HTML_GIT_URL = https://github.com/colszowka/simplecov-html.git</div><div class='add'>+SIMPLECOV_HTML_GIT_REF = v0.10.2</div><div class='add'>+DOCLIE_GIT_URL = https://github.com/ms-ati/docile.git</div><div class='add'>+DOCLIE_GIT_REF = v1.3.2</div><div class='add'>+</div><div class='add'>+STATIC_RUBY   = static-ruby</div><div class='add'>+</div><div class='add'>+TIMESTAMPDIR  = $(EXTOUT)/.timestamp</div><div class='add'>+RUBYCOMMONDIR = $(EXTOUT)/common</div><div class='add'>+EXTCONF       = extconf.rb</div><div class='add'>+LIBRUBY_EXTS  = ./.libruby-with-ext.time</div><div class='add'>+REVISION_H    = ./.revision.time</div><div class='add'>+PLATFORM_D    = $(TIMESTAMPDIR)/.$(PLATFORM_DIR).time</div><div class='add'>+ENC_TRANS_D   = $(TIMESTAMPDIR)/.enc-trans.time</div><div class='add'>+RDOC          = $(XRUBY) "$(srcdir)/libexec/rdoc" --root "$(srcdir)" --encoding=UTF-8 --all</div><div class='add'>+RDOCOUT       = $(EXTOUT)/rdoc</div><div class='add'>+HTMLOUT       = $(EXTOUT)/html</div><div class='add'>+CAPIOUT       = doc/capi</div><div class='add'>+INSTALL_DOC_OPTS = --rdoc-output="$(RDOCOUT)" --html-output="$(HTMLOUT)"</div><div class='add'>+RDOC_GEN_OPTS = --page-dir "$(srcdir)/doc" --no-force-update</div><div class='add'>+</div><div class='add'>+INITOBJS      = dmyext.$(OBJEXT) dmyenc.$(OBJEXT)</div><div class='add'>+NORMALMAINOBJ = main.$(OBJEXT)</div><div class='add'>+MAINOBJ       = $(NORMALMAINOBJ)</div><div class='add'>+DLDOBJS	      = $(INITOBJS)</div><div class='add'>+EXTSOLIBS     =</div><div class='add'>+MINIOBJS      = $(ARCHMINIOBJS) miniinit.$(OBJEXT) dmyext.$(OBJEXT)</div><div class='add'>+ENC_MK        = enc.mk</div><div class='add'>+MAKE_ENC      = -f $(ENC_MK) V="$(V)" UNICODE_HDR_DIR="$(UNICODE_HDR_DIR)" \</div><div class='add'>+		RUBY="$(MINIRUBY)" MINIRUBY="$(MINIRUBY)" $(mflags)</div><div class='add'>+</div><div class='add'>+COMMONOBJS    = array.$(OBJEXT) \</div><div class='add'>+		ast.$(OBJEXT) \</div><div class='add'>+		bignum.$(OBJEXT) \</div><div class='add'>+		class.$(OBJEXT) \</div><div class='add'>+		compar.$(OBJEXT) \</div><div class='add'>+		compile.$(OBJEXT) \</div><div class='add'>+		complex.$(OBJEXT) \</div><div class='add'>+		cont.$(OBJEXT) \</div><div class='add'>+		debug.$(OBJEXT) \</div><div class='add'>+		debug_counter.$(OBJEXT) \</div><div class='add'>+		dir.$(OBJEXT) \</div><div class='add'>+		dln_find.$(OBJEXT) \</div><div class='add'>+		encoding.$(OBJEXT) \</div><div class='add'>+		enum.$(OBJEXT) \</div><div class='add'>+		enumerator.$(OBJEXT) \</div><div class='add'>+		error.$(OBJEXT) \</div><div class='add'>+		eval.$(OBJEXT) \</div><div class='add'>+		file.$(OBJEXT) \</div><div class='add'>+		gc.$(OBJEXT) \</div><div class='add'>+		hash.$(OBJEXT) \</div><div class='add'>+		inits.$(OBJEXT) \</div><div class='add'>+		io.$(OBJEXT) \</div><div class='add'>+		iseq.$(OBJEXT) \</div><div class='add'>+		load.$(OBJEXT) \</div><div class='add'>+		marshal.$(OBJEXT) \</div><div class='add'>+		math.$(OBJEXT) \</div><div class='add'>+		memory_view.$(OBJEXT) \</div><div class='add'>+		mjit.$(OBJEXT) \</div><div class='add'>+		mjit_compile.$(OBJEXT) \</div><div class='add'>+		node.$(OBJEXT) \</div><div class='add'>+		numeric.$(OBJEXT) \</div><div class='add'>+		object.$(OBJEXT) \</div><div class='add'>+		pack.$(OBJEXT) \</div><div class='add'>+		parse.$(OBJEXT) \</div><div class='add'>+		proc.$(OBJEXT) \</div><div class='add'>+		process.$(OBJEXT) \</div><div class='add'>+		ractor.$(OBJEXT) \</div><div class='add'>+		random.$(OBJEXT) \</div><div class='add'>+		range.$(OBJEXT) \</div><div class='add'>+		rational.$(OBJEXT) \</div><div class='add'>+		re.$(OBJEXT) \</div><div class='add'>+		regcomp.$(OBJEXT) \</div><div class='add'>+		regenc.$(OBJEXT) \</div><div class='add'>+		regerror.$(OBJEXT) \</div><div class='add'>+		regexec.$(OBJEXT) \</div><div class='add'>+		regparse.$(OBJEXT) \</div><div class='add'>+		regsyntax.$(OBJEXT) \</div><div class='add'>+		ruby.$(OBJEXT) \</div><div class='add'>+		scheduler.$(OBJEXT) \</div><div class='add'>+		signal.$(OBJEXT) \</div><div class='add'>+		sprintf.$(OBJEXT) \</div><div class='add'>+		st.$(OBJEXT) \</div><div class='add'>+		strftime.$(OBJEXT) \</div><div class='add'>+		string.$(OBJEXT) \</div><div class='add'>+		struct.$(OBJEXT) \</div><div class='add'>+		symbol.$(OBJEXT) \</div><div class='add'>+		thread.$(OBJEXT) \</div><div class='add'>+		time.$(OBJEXT) \</div><div class='add'>+		transcode.$(OBJEXT) \</div><div class='add'>+		transient_heap.$(OBJEXT) \</div><div class='add'>+		util.$(OBJEXT) \</div><div class='add'>+		variable.$(OBJEXT) \</div><div class='add'>+		version.$(OBJEXT) \</div><div class='add'>+		vm.$(OBJEXT) \</div><div class='add'>+		vm_backtrace.$(OBJEXT) \</div><div class='add'>+		vm_dump.$(OBJEXT) \</div><div class='add'>+		vm_sync.$(OBJEXT) \</div><div class='add'>+		vm_trace.$(OBJEXT) \</div><div class='add'>+		$(COROUTINE_OBJ) \</div><div class='add'>+		$(DTRACE_OBJ) \</div><div class='add'>+		$(BUILTIN_ENCOBJS) \</div><div class='add'>+		$(BUILTIN_TRANSOBJS) \</div><div class='add'>+		$(MISSING)</div><div class='add'>+</div><div class='add'>+EXPORTOBJS    = $(DLNOBJ) \</div><div class='add'>+		localeinit.$(OBJEXT) \</div><div class='add'>+		loadpath.$(OBJEXT) \</div><div class='add'>+		$(COMMONOBJS)</div><div class='add'>+</div><div class='add'>+OBJS          = $(EXPORTOBJS) builtin.$(OBJEXT)</div><div class='add'>+ALLOBJS       = $(NORMALMAINOBJ) $(MINIOBJS) $(COMMONOBJS) $(INITOBJS)</div><div class='add'>+</div><div class='add'>+GOLFOBJS      = goruby.$(OBJEXT) golf_prelude.$(OBJEXT)</div><div class='add'>+</div><div class='add'>+DEFAULT_PRELUDES = $(GEM_PRELUDE)</div><div class='add'>+PRELUDE_SCRIPTS = $(DEFAULT_PRELUDES)</div><div class='add'>+GEM_PRELUDE   =</div><div class='add'>+PRELUDES      = {$(srcdir)}miniprelude.c</div><div class='add'>+GOLFPRELUDES  = {$(srcdir)}golf_prelude.c</div><div class='add'>+</div><div class='add'>+SCRIPT_ARGS   =	--dest-dir="$(DESTDIR)" \</div><div class='add'>+		--extout="$(EXTOUT)" \</div><div class='add'>+		--mflags="$(MFLAGS)" \</div><div class='add'>+		--make-flags="$(MAKEFLAGS)"</div><div class='add'>+EXTMK_ARGS    =	$(SCRIPT_ARGS) --extension $(EXTS) --extstatic $(EXTSTATIC) \</div><div class='add'>+		--make-flags="V=$(V) MINIRUBY='$(MINIRUBY)'" \</div><div class='add'>+		--gnumake=$(gnumake) --extflags="$(EXTLDFLAGS)" \</div><div class='add'>+		--</div><div class='add'>+INSTRUBY      =	$(SUDO) $(RUNRUBY) -r./$(arch)-fake $(tooldir)/rbinstall.rb</div><div class='add'>+INSTRUBY_ARGS =	$(SCRIPT_ARGS) \</div><div class='add'>+		--data-mode=$(INSTALL_DATA_MODE) \</div><div class='add'>+		--prog-mode=$(INSTALL_PROG_MODE) \</div><div class='add'>+		--installed-list $(INSTALLED_LIST) \</div><div class='add'>+		--mantype="$(MANTYPE)"</div><div class='add'>+INSTALL_PROG_MODE = 0755</div><div class='add'>+INSTALL_DATA_MODE = 0644</div><div class='add'>+</div><div class='add'>+TESTSDIR      = $(srcdir)/test</div><div class='add'>+TOOL_TESTSDIR = $(tooldir)/test</div><div class='add'>+TEST_EXCLUDES = --excludes-dir=$(TESTSDIR)/excludes --name=!/memory_leak/</div><div class='add'>+TESTWORKDIR   = testwork</div><div class='add'>+TESTOPTS      = $(RUBY_TESTOPTS)</div><div class='add'>+</div><div class='add'>+TESTRUN_SCRIPT = $(srcdir)/test.rb</div><div class='add'>+</div><div class='add'>+COMPILE_PRELUDE = $(tooldir)/generic_erb.rb $(srcdir)/template/prelude.c.tmpl \</div><div class='add'>+	$(tooldir)/ruby_vm/helpers/c_escape.rb</div><div class='add'>+</div><div class='add'>+SHOWFLAGS = showflags</div><div class='add'>+</div><div class='add'>+MAKE_LINK = $(MINIRUBY) -rfileutils -e "include FileUtils::Verbose" \</div><div class='add'>+	  -e "src, dest = ARGV" \</div><div class='add'>+	  -e "exit if File.identical?(src, dest) or cmp(src, dest) rescue nil" \</div><div class='add'>+	  -e "def noraise; yield; rescue; rescue NotImplementedError; end" \</div><div class='add'>+	  -e "noraise {ln_sf('../'*dest.count('/')+src, dest)} or" \</div><div class='add'>+	  -e "noraise {ln(src, dest)} or" \</div><div class='add'>+	  -e "cp(src, dest)"</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+all: $(SHOWFLAGS) main docs</div><div class='add'>+</div><div class='add'>+main: $(SHOWFLAGS) exts $(ENCSTATIC:static=lib)encs programs</div><div class='add'>+	@$(NULLCMD)</div><div class='add'>+</div><div class='add'>+mjit-headers: $(MJIT_SUPPORT)-mjit-headers</div><div class='add'>+no-mjit-headers: PHONY</div><div class='add'>+yes-mjit-headers: mjit_config.h PHONY</div><div class='add'>+</div><div class='add'>+mjit.$(OBJEXT): mjit_config.h</div><div class='add'>+mjit_config.h: Makefile</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+# These rules using MJIT_HEADER_SUFFIX must be in common.mk, not</div><div class='add'>+# Makefile.in, in order to override the macro in defs/universal.mk.</div><div class='add'>+</div><div class='add'>+# Other `-Dxxx`s preceding `-DMJIT_HEADER` will be removed in transform_mjit_header.rb.</div><div class='add'>+# So `-DMJIT_HEADER` should be passed first when rb_mjit_header.h is generated.</div><div class='add'>+$(TIMESTAMPDIR)/$(MJIT_HEADER:.h=)$(MJIT_HEADER_SUFFIX).time: probes.h vm.$(OBJEXT) \</div><div class='add'>+		$(TIMESTAMPDIR)/$(arch)/.time $(tooldir)/mjit_tabs.rb $(PREP) $(RBCONFIG)</div><div class='add'>+	$(ECHO) building $(@F:.time=.h)</div><div class='add'>+	$(MINIRUBY) $(tooldir)/mjit_tabs.rb "$(MJIT_TABS)" \</div><div class='add'>+		$(CPP) -DMJIT_HEADER $(MJIT_HEADER_FLAGS) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(srcdir)/vm.c $(CPPOUTFLAG)$(@F:.time=.h).new</div><div class='add'>+	$(Q) $(IFCHANGE) "--timestamp=$@" $(@F:.time=.h) $(@F:.time=.h).new</div><div class='add'>+</div><div class='add'>+$(MJIT_HEADER:.h=)$(MJIT_HEADER_SUFFIX).h: $(TIMESTAMPDIR)/$(MJIT_HEADER:.h=)$(MJIT_HEADER_SUFFIX).time</div><div class='add'>+</div><div class='add'>+$(MJIT_MIN_HEADER:.h=)$(MJIT_HEADER_SUFFIX).h: \</div><div class='add'>+		$(TIMESTAMPDIR)/$(MJIT_HEADER:.h=)$(MJIT_HEADER_SUFFIX).time \</div><div class='add'>+		$(tooldir)/transform_mjit_header.rb $(PREP) \</div><div class='add'>+		$(MJIT_HEADER:.h=)$(MJIT_HEADER_SUFFIX).h</div><div class='add'>+	$(ECHO) building $@</div><div class='add'>+	$(MINIRUBY) $(tooldir)/transform_mjit_header.rb "$(CC) $(ARCH_FLAG) $(CFLAGS)" $(MJIT_HEADER:.h=)$(MJIT_HEADER_ARCH).h $@</div><div class='add'>+	$(Q) $(MAKEDIRS) $(MJIT_HEADER_INSTALL_DIR)</div><div class='add'>+	$(Q) $(MAKE_LINK) $@ $(MJIT_HEADER_INSTALL_DIR)/$(@F)</div><div class='add'>+</div><div class='add'>+.PHONY: showflags</div><div class='add'>+exts enc trans: $(SHOWFLAGS)</div><div class='add'>+showflags:</div><div class='add'>+	$(MESSAGE_BEGIN) \</div><div class='add'>+	"	BASERUBY = $(BASERUBY)" \</div><div class='add'>+	"	CC = $(CC)" \</div><div class='add'>+	"	LD = $(LD)" \</div><div class='add'>+	"	LDSHARED = $(LDSHARED)" \</div><div class='add'>+	"	CFLAGS = $(CFLAGS)" \</div><div class='add'>+	"	XCFLAGS = $(XCFLAGS)" \</div><div class='add'>+	"	CPPFLAGS = $(CPPFLAGS)" \</div><div class='add'>+	"	DLDFLAGS = $(DLDFLAGS)" \</div><div class='add'>+	"	SOLIBS = $(SOLIBS)" \</div><div class='add'>+	"	LANG = $(LANG)" \</div><div class='add'>+	"	LC_ALL = $(LC_ALL)" \</div><div class='add'>+	"	LC_CTYPE = $(LC_CTYPE)" \</div><div class='add'>+	"	MFLAGS = $(MFLAGS)" \</div><div class='add'>+	$(MESSAGE_END)</div><div class='add'>+	-@$(CC_VERSION)</div><div class='add'>+</div><div class='add'>+.PHONY: showconfig</div><div class='add'>+showconfig:</div><div class='add'>+	@$(ECHO_BEGIN) \</div><div class='add'>+	$(configure_args) \</div><div class='add'>+	$(ECHO_END)</div><div class='add'>+</div><div class='add'>+EXTS_NOTE = -f $(EXTS_MK) $(mflags) RUBY="$(MINIRUBY)" top_srcdir="$(srcdir)" note</div><div class='add'>+</div><div class='add'>+exts: build-ext</div><div class='add'>+</div><div class='add'>+EXTS_MK = exts.mk</div><div class='add'>+$(EXTS_MK): ext/configure-ext.mk $(srcdir)/template/exts.mk.tmpl \</div><div class='add'>+	    $(TIMESTAMPDIR)/$(arch)/.time $(TIMESTAMPDIR)/.RUBYCOMMONDIR.time</div><div class='add'>+	$(Q)$(MAKE) -f ext/configure-ext.mk $(mflags) V=$(V) EXTSTATIC=$(EXTSTATIC) \</div><div class='add'>+		gnumake=$(gnumake) MINIRUBY="$(MINIRUBY)" \</div><div class='add'>+		EXTLDFLAGS="$(EXTLDFLAGS)" srcdir="$(srcdir)"</div><div class='add'>+	$(ECHO) generating makefile $@</div><div class='add'>+	$(Q)$(MINIRUBY) $(tooldir)/generic_erb.rb -o $@ -c \</div><div class='add'>+	    $(srcdir)/template/exts.mk.tmpl --gnumake=$(gnumake) --configure-exts=ext/configure-ext.mk</div><div class='add'>+</div><div class='add'>+ext/configure-ext.mk: $(PREP) all-incs $(MKFILES) $(RBCONFIG) $(LIBRUBY) \</div><div class='add'>+		$(srcdir)/template/configure-ext.mk.tmpl</div><div class='add'>+	$(ECHO) generating makefiles $@</div><div class='add'>+	$(Q)$(MAKEDIRS) $(@D)</div><div class='add'>+	$(Q)$(MINIRUBY) $(tooldir)/generic_erb.rb -o $@ -c \</div><div class='add'>+	    $(srcdir)/template/$(@F).tmpl --srcdir="$(srcdir)" \</div><div class='add'>+	    --miniruby="$(MINIRUBY)" --script-args='$(SCRIPT_ARGS)'</div><div class='add'>+</div><div class='add'>+configure-ext: $(EXTS_MK)</div><div class='add'>+</div><div class='add'>+build-ext: $(EXTS_MK)</div><div class='add'>+	$(Q)$(MAKE) -f $(EXTS_MK) $(mflags) libdir="$(libdir)" LIBRUBY_EXTS=$(LIBRUBY_EXTS) \</div><div class='add'>+	    EXTENCS="$(ENCOBJS)" UPDATE_LIBRARIES=no $(EXTSTATIC)</div><div class='add'>+	$(Q)$(MAKE) $(EXTS_NOTE)</div><div class='add'>+</div><div class='add'>+exts-note: $(EXTS_MK)</div><div class='add'>+	$(Q)$(MAKE) $(EXTS_NOTE)</div><div class='add'>+</div><div class='add'>+ext/extinit.c: $(srcdir)/template/extinit.c.tmpl $(PREP)</div><div class='add'>+	$(Q)$(MINIRUBY) $(tooldir)/generic_erb.rb -o $@ -c \</div><div class='add'>+	    $(srcdir)/template/extinit.c.tmpl $(EXTINITS)</div><div class='add'>+</div><div class='add'>+prog: program wprogram</div><div class='add'>+programs: $(PROGRAM) $(WPROGRAM) $(arch)-fake.rb</div><div class='add'>+</div><div class='add'>+$(PREP): $(MKFILES)</div><div class='add'>+</div><div class='add'>+miniruby$(EXEEXT): config.status $(ALLOBJS) $(ARCHFILE)</div><div class='add'>+</div><div class='add'>+objs: $(ALLOBJS)</div><div class='add'>+</div><div class='add'>+GORUBY = go$(RUBY_INSTALL_NAME)</div><div class='add'>+GOLF = $(GORUBY)</div><div class='add'>+golf: $(GOLF)</div><div class='add'>+$(GOLF): $(LIBRUBY) $(GOLFOBJS) PHONY</div><div class='add'>+	$(Q) $(MAKE) $(mflags) \</div><div class='add'>+		GOLF=_dummy_golf_target_to_avoid_conflict_just_in_case_ \</div><div class='add'>+		MAINOBJ=goruby.$(OBJEXT) \</div><div class='add'>+		EXTOBJS="golf_prelude.$(OBJEXT) $(EXTOBJS)" \</div><div class='add'>+		PROGRAM=$(GORUBY)$(EXEEXT) \</div><div class='add'>+		V=$(V) \</div><div class='add'>+	program</div><div class='add'>+capi: $(CAPIOUT)/.timestamp PHONY</div><div class='add'>+</div><div class='add'>+$(CAPIOUT)/.timestamp: Doxyfile $(PREP)</div><div class='add'>+	$(Q) $(MAKEDIRS) "$(@D)"</div><div class='add'>+	$(ECHO) generating capi</div><div class='add'>+	-$(Q) $(DOXYGEN) -b</div><div class='add'>+	$(Q) $(MINIRUBY) -e 'File.open(ARGV[0], "w"){'"|f|"' f.puts(Time.now)}' "$@"</div><div class='add'>+</div><div class='add'>+Doxyfile: $(srcdir)/template/Doxyfile.tmpl $(PREP) $(tooldir)/generic_erb.rb $(RBCONFIG)</div><div class='add'>+	$(ECHO) generating $@</div><div class='add'>+	$(Q) $(MINIRUBY) $(tooldir)/generic_erb.rb -o $@ $(srcdir)/template/Doxyfile.tmpl \</div><div class='add'>+	--srcdir="$(srcdir)" --miniruby="$(MINIRUBY)"</div><div class='add'>+</div><div class='add'>+program: $(SHOWFLAGS) $(PROGRAM)</div><div class='add'>+wprogram: $(SHOWFLAGS) $(WPROGRAM)</div><div class='add'>+mini: PHONY miniruby$(EXEEXT)</div><div class='add'>+</div><div class='add'>+$(PROGRAM) $(WPROGRAM): $(LIBRUBY) $(MAINOBJ) $(OBJS) $(EXTOBJS) $(SETUP) $(PREP)</div><div class='add'>+</div><div class='add'>+$(LIBRUBY_A):	$(LIBRUBY_A_OBJS) $(MAINOBJ) $(INITOBJS) $(ARCHFILE)</div><div class='add'>+</div><div class='add'>+$(LIBRUBY_SO):	$(OBJS) $(DLDOBJS) $(LIBRUBY_A) $(PREP) $(BUILTIN_ENCOBJS)</div><div class='add'>+</div><div class='add'>+$(LIBRUBY_EXTS):</div><div class='add'>+	@$(NULLCMD) &gt; $@</div><div class='add'>+</div><div class='add'>+$(STATIC_RUBY)$(EXEEXT): $(MAINOBJ) $(DLDOBJS) $(EXTOBJS) $(LIBRUBY_A)</div><div class='add'>+	$(Q)$(RM) $@</div><div class='add'>+	$(PURIFY) $(CC) $(MAINOBJ) $(DLDOBJS) $(LIBRUBY_A) $(MAINLIBS) $(EXTLIBS) $(LIBS) $(OUTFLAG)$@ $(LDFLAGS) $(XLDFLAGS)</div><div class='add'>+</div><div class='add'>+ruby.imp: $(COMMONOBJS)</div><div class='add'>+	$(Q){ \</div><div class='add'>+	$(NM) -Pgp $(COMMONOBJS) | \</div><div class='add'>+	awk 'BEGIN{print "#!"}; $$2~/^[A-TV-Z]$$/&amp;&amp;$$1!~/^$(SYMBOL_PREFIX)(Init_|InitVM_|ruby_static_id_|.*_threadptr_|rb_ec_)|^\./{print $$1}'; \</div><div class='add'>+	($(CHDIR) $(srcdir) &amp;&amp; \</div><div class='add'>+	 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='add'>+	} | \</div><div class='add'>+	sort -u -o $@</div><div class='add'>+</div><div class='add'>+install: install-$(INSTALLDOC)</div><div class='add'>+docs: $(DOCTARGETS)</div><div class='add'>+pkgconfig-data: $(ruby_pc)</div><div class='add'>+$(ruby_pc): $(srcdir)/template/ruby.pc.in config.status</div><div class='add'>+</div><div class='add'>+install-all: docs pre-install-all do-install-all post-install-all</div><div class='add'>+pre-install-all:: all pre-install-local pre-install-ext pre-install-gem pre-install-doc</div><div class='add'>+do-install-all: pre-install-all</div><div class='add'>+	$(INSTRUBY) --make="$(MAKE)" $(INSTRUBY_ARGS) $(INSTALL_DOC_OPTS)</div><div class='add'>+post-install-all:: post-install-local post-install-ext post-install-gem post-install-doc</div><div class='add'>+	@$(NULLCMD)</div><div class='add'>+</div><div class='add'>+install-nodoc: pre-install-nodoc do-install-nodoc post-install-nodoc</div><div class='add'>+pre-install-nodoc:: pre-install-local pre-install-ext pre-install-gem</div><div class='add'>+do-install-nodoc: main pre-install-nodoc</div><div class='add'>+	$(INSTRUBY) --make="$(MAKE)" $(INSTRUBY_ARGS) --exclude=doc</div><div class='add'>+post-install-nodoc:: post-install-local post-install-ext post-install-gem</div><div class='add'>+</div><div class='add'>+install-local: pre-install-local do-install-local post-install-local</div><div class='add'>+pre-install-local:: pre-install-bin pre-install-lib pre-install-man</div><div class='add'>+do-install-local: $(PROGRAM) pre-install-local</div><div class='add'>+	$(INSTRUBY) --make="$(MAKE)" $(INSTRUBY_ARGS) --install=local</div><div class='add'>+post-install-local:: post-install-bin post-install-lib post-install-man</div><div class='add'>+</div><div class='add'>+install-ext: pre-install-ext do-install-ext post-install-ext</div><div class='add'>+pre-install-ext:: pre-install-ext-arch pre-install-ext-comm</div><div class='add'>+do-install-ext: exts pre-install-ext</div><div class='add'>+	$(INSTRUBY) --make="$(MAKE)" $(INSTRUBY_ARGS) --install=ext</div><div class='add'>+post-install-ext:: post-install-ext-arch post-install-ext-comm</div><div class='add'>+</div><div class='add'>+install-arch: pre-install-arch do-install-arch post-install-arch</div><div class='add'>+pre-install-arch:: pre-install-bin pre-install-ext-arch</div><div class='add'>+do-install-arch: main do-install-arch</div><div class='add'>+	$(INSTRUBY) --make="$(MAKE)" $(INSTRUBY_ARGS) --install=arch</div><div class='add'>+post-install-arch:: post-install-bin post-install-ext-arch</div><div class='add'>+</div><div class='add'>+install-comm: pre-install-comm do-install-comm post-install-comm</div><div class='add'>+pre-install-comm:: pre-install-lib pre-install-ext-comm pre-install-man</div><div class='add'>+do-install-comm: $(PREP) pre-install-comm</div><div class='add'>+	$(INSTRUBY) --make="$(MAKE)" $(INSTRUBY_ARGS) --install=lib --install=ext-comm --install=man</div><div class='add'>+post-install-comm:: post-install-lib post-install-ext-comm post-install-man</div><div class='add'>+</div><div class='add'>+install-bin: pre-install-bin do-install-bin post-install-bin</div><div class='add'>+pre-install-bin:: install-prereq</div><div class='add'>+do-install-bin: $(PROGRAM) pre-install-bin</div><div class='add'>+	$(INSTRUBY) --make="$(MAKE)" $(INSTRUBY_ARGS) --install=bin</div><div class='add'>+post-install-bin::</div><div class='add'>+	@$(NULLCMD)</div><div class='add'>+</div><div class='add'>+install-lib: pre-install-lib do-install-lib post-install-lib</div><div class='add'>+pre-install-lib:: install-prereq</div><div class='add'>+do-install-lib: $(PREP) pre-install-lib</div><div class='add'>+	$(INSTRUBY) --make="$(MAKE)" $(INSTRUBY_ARGS) --install=lib</div><div class='add'>+post-install-lib::</div><div class='add'>+	@$(NULLCMD)</div><div class='add'>+</div><div class='add'>+install-ext-comm: pre-install-ext-comm do-install-ext-comm post-install-ext-comm</div><div class='add'>+pre-install-ext-comm:: install-prereq</div><div class='add'>+do-install-ext-comm: exts pre-install-ext-comm</div><div class='add'>+	$(INSTRUBY) --make="$(MAKE)" $(INSTRUBY_ARGS) --install=ext-comm</div><div class='add'>+post-install-ext-comm::</div><div class='add'>+	@$(NULLCMD)</div><div class='add'>+</div><div class='add'>+install-ext-arch: pre-install-ext-arch do-install-ext-arch post-install-ext-arch</div><div class='add'>+pre-install-ext-arch:: install-prereq</div><div class='add'>+do-install-ext-arch: exts pre-install-ext-arch</div><div class='add'>+	$(INSTRUBY) --make="$(MAKE)" $(INSTRUBY_ARGS) --install=ext-arch</div><div class='add'>+post-install-ext-arch::</div><div class='add'>+	@$(NULLCMD)</div><div class='add'>+</div><div class='add'>+install-man: pre-install-man do-install-man post-install-man</div><div class='add'>+pre-install-man:: install-prereq</div><div class='add'>+do-install-man: $(PREP) pre-install-man</div><div class='add'>+	$(INSTRUBY) --make="$(MAKE)" $(INSTRUBY_ARGS) --install=man</div><div class='add'>+post-install-man::</div><div class='add'>+	@$(NULLCMD)</div><div class='add'>+</div><div class='add'>+install-capi: capi pre-install-capi do-install-capi post-install-capi</div><div class='add'>+pre-install-capi:: install-prereq</div><div class='add'>+do-install-capi: $(PREP) pre-install-capi</div><div class='add'>+	$(INSTRUBY) --make="$(MAKE)" $(INSTRUBY_ARGS) --install=capi</div><div class='add'>+post-install-capi::</div><div class='add'>+	@$(NULLCMD)</div><div class='add'>+</div><div class='add'>+what-where: no-install</div><div class='add'>+no-install: no-install-$(INSTALLDOC)</div><div class='add'>+what-where-all: no-install-all</div><div class='add'>+no-install-all: pre-no-install-all dont-install-all post-no-install-all</div><div class='add'>+pre-no-install-all:: pre-no-install-local pre-no-install-ext pre-no-install-doc</div><div class='add'>+dont-install-all: $(PROGRAM)</div><div class='add'>+	$(INSTRUBY) -n --make="$(MAKE)" $(INSTRUBY_ARGS) --install=all $(INSTALL_DOC_OPTS)</div><div class='add'>+post-no-install-all:: post-no-install-local post-no-install-ext post-no-install-doc</div><div class='add'>+	@$(NULLCMD)</div><div class='add'>+</div><div class='add'>+uninstall: $(INSTALLED_LIST) sudo-precheck</div><div class='add'>+	$(Q)$(SUDO) $(MINIRUBY) $(tooldir)/rbuninstall.rb --destdir=$(DESTDIR) $(INSTALLED_LIST)</div><div class='add'>+</div><div class='add'>+reinstall: all uninstall install</div><div class='add'>+</div><div class='add'>+what-where-nodoc: no-install-nodoc</div><div class='add'>+no-install-nodoc: pre-no-install-nodoc dont-install-nodoc post-no-install-nodoc</div><div class='add'>+pre-no-install-nodoc:: pre-no-install-local pre-no-install-ext</div><div class='add'>+dont-install-nodoc:  $(PREP)</div><div class='add'>+	$(INSTRUBY) -n --make="$(MAKE)" $(INSTRUBY_ARGS)</div><div class='add'>+post-no-install-nodoc:: post-no-install-local post-no-install-ext</div><div class='add'>+</div><div class='add'>+what-where-local: no-install-local</div><div class='add'>+no-install-local: pre-no-install-local dont-install-local post-no-install-local</div><div class='add'>+pre-no-install-local:: pre-no-install-bin pre-no-install-lib pre-no-install-man</div><div class='add'>+dont-install-local: $(PREP)</div><div class='add'>+	$(INSTRUBY) -n --make="$(MAKE)" $(INSTRUBY_ARGS) --install=local</div><div class='add'>+post-no-install-local:: post-no-install-bin post-no-install-lib post-no-install-man</div><div class='add'>+</div><div class='add'>+what-where-ext: no-install-ext</div><div class='add'>+no-install-ext: pre-no-install-ext dont-install-ext post-no-install-ext</div><div class='add'>+pre-no-install-ext:: pre-no-install-ext-arch pre-no-install-ext-comm</div><div class='add'>+dont-install-ext: $(PREP)</div><div class='add'>+	$(INSTRUBY) -n --make="$(MAKE)" $(INSTRUBY_ARGS) --install=ext</div><div class='add'>+post-no-install-ext:: post-no-install-ext-arch post-no-install-ext-comm</div><div class='add'>+</div><div class='add'>+what-where-arch: no-install-arch</div><div class='add'>+no-install-arch: pre-no-install-arch dont-install-arch post-no-install-arch</div><div class='add'>+pre-no-install-arch:: pre-no-install-bin pre-no-install-ext-arch</div><div class='add'>+dont-install-arch: $(PREP)</div><div class='add'>+	$(INSTRUBY) -n --make="$(MAKE)" $(INSTRUBY_ARGS) --install=bin --install=ext-arch</div><div class='add'>+post-no-install-arch:: post-no-install-lib post-no-install-man post-no-install-ext-arch</div><div class='add'>+</div><div class='add'>+what-where-comm: no-install-comm</div><div class='add'>+no-install-comm: pre-no-install-comm dont-install-comm post-no-install-comm</div><div class='add'>+pre-no-install-comm:: pre-no-install-lib pre-no-install-ext-comm pre-no-install-man</div><div class='add'>+dont-install-comm: $(PREP)</div><div class='add'>+	$(INSTRUBY) -n --make="$(MAKE)" $(INSTRUBY_ARGS) --install=lib --install=ext-comm --install=man</div><div class='add'>+post-no-install-comm:: post-no-install-lib post-no-install-ext-comm post-no-install-man</div><div class='add'>+</div><div class='add'>+what-where-bin: no-install-bin</div><div class='add'>+no-install-bin: pre-no-install-bin dont-install-bin post-no-install-bin</div><div class='add'>+pre-no-install-bin:: install-prereq</div><div class='add'>+dont-install-bin: $(PREP)</div><div class='add'>+	$(INSTRUBY) -n --make="$(MAKE)" $(INSTRUBY_ARGS) --install=bin</div><div class='add'>+post-no-install-bin::</div><div class='add'>+	@$(NULLCMD)</div><div class='add'>+</div><div class='add'>+what-where-lib: no-install-lib</div><div class='add'>+no-install-lib: pre-no-install-lib dont-install-lib post-no-install-lib</div><div class='add'>+pre-no-install-lib:: install-prereq</div><div class='add'>+dont-install-lib: $(PREP)</div><div class='add'>+	$(INSTRUBY) -n --make="$(MAKE)" $(INSTRUBY_ARGS) --install=lib</div><div class='add'>+post-no-install-lib::</div><div class='add'>+	@$(NULLCMD)</div><div class='add'>+</div><div class='add'>+what-where-ext-comm: no-install-ext-comm</div><div class='add'>+no-install-ext-comm: pre-no-install-ext-comm dont-install-ext-comm post-no-install-ext-comm</div><div class='add'>+pre-no-install-ext-comm:: install-prereq</div><div class='add'>+dont-install-ext-comm: $(PREP)</div><div class='add'>+	$(INSTRUBY) -n --make="$(MAKE)" $(INSTRUBY_ARGS) --install=ext-comm</div><div class='add'>+post-no-install-ext-comm::</div><div class='add'>+	@$(NULLCMD)</div><div class='add'>+</div><div class='add'>+what-where-ext-arch: no-install-ext-arch</div><div class='add'>+no-install-ext-arch: pre-no-install-ext-arch dont-install-ext-arch post-no-install-ext-arch</div><div class='add'>+pre-no-install-ext-arch:: install-prereq</div><div class='add'>+dont-install-ext-arch: $(PREP)</div><div class='add'>+	$(INSTRUBY) -n --make="$(MAKE)" $(INSTRUBY_ARGS) --install=ext-arch</div><div class='add'>+post-no-install-ext-arch::</div><div class='add'>+	@$(NULLCMD)</div><div class='add'>+</div><div class='add'>+what-where-man: no-install-man</div><div class='add'>+no-install-man: pre-no-install-man dont-install-man post-no-install-man</div><div class='add'>+pre-no-install-man:: install-prereq</div><div class='add'>+dont-install-man: $(PREP)</div><div class='add'>+	$(INSTRUBY) -n --make="$(MAKE)" $(INSTRUBY_ARGS) --install=man</div><div class='add'>+post-no-install-man::</div><div class='add'>+	@$(NULLCMD)</div><div class='add'>+</div><div class='add'>+install-doc: rdoc pre-install-doc do-install-doc post-install-doc</div><div class='add'>+pre-install-doc:: install-prereq</div><div class='add'>+do-install-doc: $(PROGRAM) pre-install-doc</div><div class='add'>+	$(INSTRUBY) --make="$(MAKE)" $(INSTRUBY_ARGS) --install=rdoc $(INSTALL_DOC_OPTS)</div><div class='add'>+post-install-doc::</div><div class='add'>+	@$(NULLCMD)</div><div class='add'>+</div><div class='add'>+install-gem: pre-install-gem do-install-gem post-install-gem</div><div class='add'>+pre-install-gem:: prepare-gems pre-install-bin pre-install-lib pre-install-man</div><div class='add'>+do-install-gem: $(PROGRAM) pre-install-gem</div><div class='add'>+	$(INSTRUBY) --make="$(MAKE)" $(INSTRUBY_ARGS) --install=gem</div><div class='add'>+post-install-gem::</div><div class='add'>+	@$(NULLCMD)</div><div class='add'>+</div><div class='add'>+install-dbg: pre-install-dbg do-install-dbg post-install-dbg</div><div class='add'>+pre-install-dbg::</div><div class='add'>+do-install-dbg: $(PROGRAM) pre-install-dbg</div><div class='add'>+	$(INSTRUBY) --make="$(MAKE)" $(INSTRUBY_ARGS) --install=dbg</div><div class='add'>+post-install-dbg::</div><div class='add'>+	@$(NULLCMD)</div><div class='add'>+</div><div class='add'>+rdoc: PHONY main</div><div class='add'>+	@echo Generating RDoc documentation</div><div class='add'>+	$(Q) $(RDOC) --ri --op "$(RDOCOUT)" $(RDOC_GEN_OPTS) $(RDOCFLAGS) "$(srcdir)"</div><div class='add'>+</div><div class='add'>+html: PHONY main</div><div class='add'>+	@echo Generating RDoc HTML files</div><div class='add'>+	$(Q) $(RDOC) --op "$(HTMLOUT)" $(RDOC_GEN_OPTS) $(RDOCFLAGS) "$(srcdir)"</div><div class='add'>+</div><div class='add'>+rdoc-coverage: PHONY main</div><div class='add'>+	@echo Generating RDoc coverage report</div><div class='add'>+	$(Q) $(RDOC) --quiet -C $(RDOCFLAGS) "$(srcdir)"</div><div class='add'>+</div><div class='add'>+RDOCBENCHOUT=/tmp/rdocbench</div><div class='add'>+</div><div class='add'>+GCBENCH_ITEM=null</div><div class='add'>+</div><div class='add'>+gcbench: PHONY</div><div class='add'>+	$(Q) $(XRUBY) "$(srcdir)/benchmark/gc/gcbench.rb" $(GCBENCH_ITEM)</div><div class='add'>+</div><div class='add'>+gcbench-rdoc: PHONY</div><div class='add'>+	$(Q) $(XRUBY) "$(srcdir)/benchmark/gc/gcbench.rb" rdoc</div><div class='add'>+</div><div class='add'>+nodoc: PHONY</div><div class='add'>+</div><div class='add'>+what-where-doc: no-install-doc</div><div class='add'>+no-install-doc: pre-no-install-doc dont-install-doc post-no-install-doc</div><div class='add'>+pre-no-install-doc:: install-prereq</div><div class='add'>+dont-install-doc:: $(PREP)</div><div class='add'>+	$(INSTRUBY) -n --make="$(MAKE)" $(INSTRUBY_ARGS) --install=rdoc $(INSTALL_DOC_OPTS)</div><div class='add'>+post-no-install-doc::</div><div class='add'>+	@$(NULLCMD)</div><div class='add'>+</div><div class='add'>+CLEAR_INSTALLED_LIST = clear-installed-list</div><div class='add'>+</div><div class='add'>+install-prereq: $(CLEAR_INSTALLED_LIST) yes-fake sudo-precheck PHONY</div><div class='add'>+</div><div class='add'>+clear-installed-list: PHONY</div><div class='add'>+	@&gt; $(INSTALLED_LIST) set MAKE="$(MAKE)"</div><div class='add'>+</div><div class='add'>+clean: clean-ext clean-enc clean-golf clean-docs clean-extout clean-local clean-platform clean-spec</div><div class='add'>+clean-local:: clean-runnable</div><div class='add'>+	$(Q)$(RM) $(OBJS) $(MINIOBJS) $(MAINOBJ) $(LIBRUBY_A) $(LIBRUBY_SO) $(LIBRUBY) $(LIBRUBY_ALIASES)</div><div class='add'>+	$(Q)$(RM) $(PROGRAM) $(WPROGRAM) miniruby$(EXEEXT) dmyext.$(OBJEXT) dmyenc.$(OBJEXT) $(ARCHFILE) .*.time</div><div class='add'>+	$(Q)$(RM) y.tab.c y.output encdb.h transdb.h config.log rbconfig.rb $(ruby_pc) $(COROUTINE_H:/Context.h=/.time)</div><div class='add'>+	$(Q)$(RM) probes.h probes.$(OBJEXT) probes.stamp ruby-glommed.$(OBJEXT) ruby.imp ChangeLog $(STATIC_RUBY)$(EXEEXT)</div><div class='add'>+	$(Q)$(RM) GNUmakefile.old Makefile.old $(arch)-fake.rb bisect.sh $(ENC_TRANS_D) builtin_binary.inc</div><div class='add'>+	-$(Q) $(RMDIR) enc/jis enc/trans enc $(COROUTINE_H:/Context.h=) coroutine 2&gt; $(NULL) || $(NULLCMD)</div><div class='add'>+</div><div class='add'>+bin/clean-runnable:: PHONY</div><div class='add'>+	$(Q)$(CHDIR) bin 2&gt;$(NULL) &amp;&amp; $(RM) $(PROGRAM) $(WPROGRAM) $(GORUBY)$(EXEEXT) bin/*.$(DLEXT) 2&gt;$(NULL) || $(NULLCMD)</div><div class='add'>+lib/clean-runnable:: PHONY</div><div class='add'>+	$(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) || $(NULLCMD)</div><div class='add'>+clean-runnable:: bin/clean-runnable lib/clean-runnable PHONY</div><div class='add'>+	$(Q)$(RMDIR) lib/$(RUBY_BASE_NAME) lib bin 2&gt;$(NULL) || $(NULLCMD)</div><div class='add'>+clean-ext:: PHONY</div><div class='add'>+clean-golf: PHONY</div><div class='add'>+	$(Q)$(RM) $(GORUBY)$(EXEEXT) $(GOLFOBJS)</div><div class='add'>+clean-rdoc: PHONY</div><div class='add'>+clean-html: PHONY</div><div class='add'>+clean-capi: PHONY</div><div class='add'>+clean-platform: PHONY</div><div class='add'>+clean-extout: PHONY</div><div class='add'>+	-$(Q)$(RMDIR) $(EXTOUT)/$(arch) $(EXTOUT) 2&gt; $(NULL) || $(NULLCMD)</div><div class='add'>+clean-docs: clean-rdoc clean-html clean-capi</div><div class='add'>+clean-spec: PHONY</div><div class='add'>+clean-rubyspec: clean-spec</div><div class='add'>+</div><div class='add'>+distclean: distclean-ext distclean-enc distclean-golf distclean-docs distclean-extout distclean-local distclean-platform distclean-spec</div><div class='add'>+distclean-local:: clean-local</div><div class='add'>+	$(Q)$(RM) $(MKFILES) yasmdata.rb *.inc $(PRELUDES) *.rbinc</div><div class='add'>+	$(Q)$(RM) config.cache config.status config.status.lineno</div><div class='add'>+	$(Q)$(RM) *~ *.bak *.stackdump core *.core gmon.out $(PREP)</div><div class='add'>+	-$(Q)$(RMALL) $(srcdir)/autom4te.cache</div><div class='add'>+distclean-ext:: PHONY</div><div class='add'>+distclean-golf: clean-golf</div><div class='add'>+distclean-rdoc: clean-rdoc</div><div class='add'>+distclean-html: clean-html</div><div class='add'>+distclean-capi: clean-capi</div><div class='add'>+distclean-docs: clean-docs</div><div class='add'>+distclean-extout: clean-extout</div><div class='add'>+distclean-platform: clean-platform</div><div class='add'>+distclean-spec: clean-spec</div><div class='add'>+distclean-rubyspec: distclean-spec</div><div class='add'>+</div><div class='add'>+realclean:: realclean-ext realclean-local realclean-enc realclean-golf realclean-extout</div><div class='add'>+realclean-local:: distclean-local realclean-srcs-local</div><div class='add'>+</div><div class='add'>+clean-srcs:: clean-srcs-local clean-srcs-ext</div><div class='add'>+realclean-srcs:: realclean-srcs-local realclean-srcs-ext</div><div class='add'>+</div><div class='add'>+clean-srcs-local::</div><div class='add'>+	$(Q)$(RM) parse.c parse.h lex.c enc/trans/newline.c revision.h</div><div class='add'>+	$(Q)$(RM) id.c id.h probes.dmyh probes.h</div><div class='add'>+	$(Q)$(RM) encdb.h transdb.h verconf.h ruby-runner.h</div><div class='add'>+	$(Q)$(RM) mjit_config.h rb_mjit_header.h</div><div class='add'>+	$(Q)$(RM) $(MJIT_MIN_HEADER) $(MJIT_MIN_HEADER:.h=)$(MJIT_HEADER_SUFFIX:%=*).h</div><div class='add'>+</div><div class='add'>+realclean-srcs-local:: clean-srcs-local</div><div class='add'>+	$(Q)$(CHDIR) $(srcdir) &amp;&amp; $(RM) \</div><div class='add'>+	  parse.c parse.h lex.c enc/trans/newline.c $(PRELUDES) revision.h \</div><div class='add'>+	  id.c id.h probes.dmyh configure aclocal.m4 tool/config.guess tool/config.sub gems/*.gem \</div><div class='add'>+	|| $(NULLCMD)</div><div class='add'>+</div><div class='add'>+clean-srcs-ext::</div><div class='add'>+realclean-srcs-ext:: clean-srcs-ext</div><div class='add'>+</div><div class='add'>+realclean-ext:: PHONY</div><div class='add'>+realclean-golf: distclean-golf</div><div class='add'>+	$(Q)$(RM) $(GOLFPRELUDES)</div><div class='add'>+realclean-rdoc: distclean-rdoc</div><div class='add'>+realclean-html: distclean-html</div><div class='add'>+realclean-capi: distclean-capi</div><div class='add'>+realclean-docs: distclean-docs</div><div class='add'>+realclean-extout: distclean-extout</div><div class='add'>+realclean-platform: distclean-platform</div><div class='add'>+realclean-spec: distclean-spec</div><div class='add'>+realclean-rubyspec: realclean-spec</div><div class='add'>+</div><div class='add'>+clean-ext:: ext/clean gems/clean timestamp/clean</div><div class='add'>+distclean-ext:: ext/distclean gems/distclean timestamp/distclean</div><div class='add'>+realclean-ext:: ext/realclean gems/realclean timestamp/realclean</div><div class='add'>+</div><div class='add'>+ext/clean.mk ext/distclean.mk ext/realclean.mk::</div><div class='add'>+ext/clean:: ext/clean.mk</div><div class='add'>+ext/distclean:: ext/distclean.mk</div><div class='add'>+ext/realclean:: ext/realclean.mk</div><div class='add'>+</div><div class='add'>+timestamp/clean:: ext/clean gems/clean</div><div class='add'>+timestamp/distclean:: ext/distclean gems/distclean</div><div class='add'>+timestamp/realclean:: ext/realclean gems/realclean</div><div class='add'>+</div><div class='add'>+timestamp/clean timestamp/distclean timestamp/realclean::</div><div class='add'>+	$(Q)$(RM) $(TIMESTAMPDIR)/.*.time $(TIMESTAMPDIR)/$(arch)/.time</div><div class='add'>+	$(Q)$(RMDIRS) $(TIMESTAMPDIR)/$(arch) $(TIMESTAMPDIR) 2&gt; $(NULL) || $(NULLCMD)</div><div class='add'>+</div><div class='add'>+clean-ext::</div><div class='add'>+	-$(Q)$(RM) ext/extinit.$(OBJEXT)</div><div class='add'>+</div><div class='add'>+distclean-ext realclean-ext::</div><div class='add'>+	-$(Q)$(RM) $(EXTS_MK) ext/extinit.* ext/configure-ext.mk</div><div class='add'>+	-$(Q)$(RMDIR) ext 2&gt; $(NULL) || $(NULLCMD)</div><div class='add'>+</div><div class='add'>+clean-enc distclean-enc realclean-enc: PHONY</div><div class='add'>+</div><div class='add'>+clean-enc: clean-enc.d</div><div class='add'>+</div><div class='add'>+clean-enc.d: PHONY</div><div class='add'>+	$(Q)$(RM) $(ENC_TRANS_D)</div><div class='add'>+	-$(Q) $(RMDIR) enc/jis enc/trans enc 2&gt; $(NULL) || $(NULLCMD)</div><div class='add'>+</div><div class='add'>+clean-rdoc distclean-rdoc realclean-rdoc:</div><div class='add'>+	@echo $(@:-rdoc=ing) rdoc</div><div class='add'>+	$(Q)$(RMALL) $(RDOCOUT)</div><div class='add'>+</div><div class='add'>+clean-html distclean-html realclean-html:</div><div class='add'>+	@echo $(@:-html=ing) HTML</div><div class='add'>+	$(Q)$(RMALL) $(HTMLOUT)</div><div class='add'>+</div><div class='add'>+clean-capi distclean-capi realclean-capi:</div><div class='add'>+	@echo $(@:-capi=ing) capi</div><div class='add'>+	$(Q)$(RMALL) $(CAPIOUT)</div><div class='add'>+</div><div class='add'>+clean-platform distclean-platform realclean-platform:</div><div class='add'>+	$(Q) $(RM) $(PLATFORM_D)</div><div class='add'>+	-$(Q) $(RMDIR) $(PLATFORM_DIR) 2&gt; $(NULL) || $(NULLCMD)</div><div class='add'>+</div><div class='add'>+RUBYSPEC_CAPIEXT = spec/ruby/optional/capi/ext</div><div class='add'>+clean-spec: PHONY</div><div class='add'>+	-$(Q) $(RM) $(RUBYSPEC_CAPIEXT)/*.$(OBJEXT) $(RUBYSPEC_CAPIEXT)/*.$(DLEXT)</div><div class='add'>+	-$(Q) $(RMDIRS) $(RUBYSPEC_CAPIEXT) 2&gt; $(NULL) || $(NULLCMD)</div><div class='add'>+	-$(Q) $(RMALL) rubyspec_temp</div><div class='add'>+</div><div class='add'>+check: main test test-tool test-all test-spec</div><div class='add'>+	$(ECHO) check succeeded</div><div class='add'>+	-$(Q) if [ x"$(GIT)" != x ] &amp;&amp; $(CHDIR) "$(srcdir)" &amp;&amp; \</div><div class='add'>+	    b=`$(GIT) symbolic-ref --short HEAD 2&gt;&amp;1` &amp;&amp; \</div><div class='add'>+	    u=`$(GIT) branch --list --format='%(upstream:short)' $$b`; then \</div><div class='add'>+	  set -x; $(GIT) --no-pager log --format=oneline -G "^ *# *include" $$u..HEAD --; \</div><div class='add'>+	fi</div><div class='add'>+check-ruby: test test-ruby</div><div class='add'>+</div><div class='add'>+fake: $(CROSS_COMPILING)-fake</div><div class='add'>+yes-fake: $(arch)-fake.rb $(RBCONFIG) PHONY</div><div class='add'>+no-fake -fake: PHONY</div><div class='add'>+</div><div class='add'>+# really doesn't depend on .o, just ensure newer than headers which</div><div class='add'>+# version.o depends on.</div><div class='add'>+$(arch)-fake.rb: $(srcdir)/template/fake.rb.in $(tooldir)/generic_erb.rb version.$(OBJEXT) miniruby$(EXEEXT)</div><div class='add'>+	$(ECHO) generating $@</div><div class='add'>+	$(Q) $(CPP) -DRUBY_EXPORT $(INCFLAGS) $(CPPFLAGS) "$(srcdir)/version.c" | \</div><div class='add'>+	$(BOOTSTRAPRUBY) "$(tooldir)/generic_erb.rb" -o $@ "$(srcdir)/template/fake.rb.in" \</div><div class='add'>+		i=- srcdir="$(srcdir)" BASERUBY="$(BASERUBY)"</div><div class='add'>+</div><div class='add'>+btest: $(TEST_RUNNABLE)-btest</div><div class='add'>+no-btest: PHONY</div><div class='add'>+yes-btest: fake miniruby$(EXEEXT) PHONY</div><div class='add'>+	$(Q)$(exec) $(BOOTSTRAPRUBY) "$(srcdir)/bootstraptest/runner.rb" --ruby="$(BTESTRUBY) $(RUN_OPTS)" $(OPTS) $(TESTOPTS) $(BTESTS)</div><div class='add'>+</div><div class='add'>+btest-ruby: $(TEST_RUNNABLE)-btest-ruby</div><div class='add'>+no-btest-ruby: PHONY</div><div class='add'>+yes-btest-ruby: prog PHONY</div><div class='add'>+	$(Q)$(exec) $(RUNRUBY) "$(srcdir)/bootstraptest/runner.rb" --ruby="$(PROGRAM) -I$(srcdir)/lib $(RUN_OPTS)" -q $(OPTS) $(TESTOPTS) $(BTESTS)</div><div class='add'>+</div><div class='add'>+rtest: fake miniruby$(EXEEXT) PHONY</div><div class='add'>+	$(Q)$(exec) $(BOOTSTRAPRUBY) "$(srcdir)/bootstraptest/runner.rb" --ruby="$(BTESTRUBY) $(RUN_OPTS)" --sets=ractor -v</div><div class='add'>+</div><div class='add'>+test-basic: $(TEST_RUNNABLE)-test-basic</div><div class='add'>+no-test-basic: PHONY</div><div class='add'>+yes-test-basic: prog PHONY</div><div class='add'>+	$(Q)$(exec) $(RUNRUBY) "$(srcdir)/basictest/runner.rb" --run-opt=$(RUN_OPTS) $(OPTS) $(TESTOPTS)</div><div class='add'>+</div><div class='add'>+test-knownbugs: test-knownbug</div><div class='add'>+test-knownbug: $(TEST_RUNNABLE)-test-knownbug</div><div class='add'>+no-test-knownbug: PHONY</div><div class='add'>+yes-test-knownbug: prog PHONY</div><div class='add'>+	-$(exec) $(RUNRUBY) "$(srcdir)/bootstraptest/runner.rb" --ruby="$(PROGRAM) $(RUN_OPTS)" $(OPTS) $(TESTOPTS) $(srcdir)/KNOWNBUGS.rb</div><div class='add'>+</div><div class='add'>+test-testframework: $(TEST_RUNNABLE)-test-testframework</div><div class='add'>+yes-test-testframework: prog PHONY</div><div class='add'>+	$(gnumake_recursive)$(Q)$(exec) $(RUNRUBY) "$(TOOL_TESTSDIR)/runner.rb" --ruby="$(RUNRUBY)" $(TESTOPTS) testunit minitest</div><div class='add'>+no-test-testframework: PHONY</div><div class='add'>+</div><div class='add'>+test-tool: $(TEST_RUNNABLE)-test-tool</div><div class='add'>+yes-test-tool: prog PHONY</div><div class='add'>+	$(gnumake_recursive)$(Q)$(exec) $(RUNRUBY) "$(TOOL_TESTSDIR)/runner.rb" --ruby="$(RUNRUBY)" $(TESTOPTS)</div><div class='add'>+no-test-tool: PHONY</div><div class='add'>+</div><div class='add'>+test-sample: test-basic # backward compatibility for mswin-build</div><div class='add'>+test-short: btest-ruby test-knownbug test-basic</div><div class='add'>+test: test-short</div><div class='add'>+</div><div class='add'>+# $ make test-all TESTOPTS="--help" displays more detail</div><div class='add'>+# for example, make test-all TESTOPTS="-j2 -v -n test-name -- test-file-name"</div><div class='add'>+test-all: $(TEST_RUNNABLE)-test-all</div><div class='add'>+yes-test-all: programs PHONY</div><div class='add'>+	$(gnumake_recursive)$(Q)$(exec) $(RUNRUBY) "$(TESTSDIR)/runner.rb" --ruby="$(RUNRUBY)" $(TEST_EXCLUDES) $(TESTOPTS) $(TESTS)</div><div class='add'>+TESTS_BUILD = mkmf</div><div class='add'>+no-test-all: PHONY</div><div class='add'>+	$(gnumake_recursive)$(MINIRUBY) -I"$(srcdir)/lib" "$(TESTSDIR)/runner.rb" $(TESTOPTS) $(TESTS_BUILD)</div><div class='add'>+</div><div class='add'>+test-almost: test-all</div><div class='add'>+yes-test-almost: yes-test-all</div><div class='add'>+no-test-almost: no-test-all</div><div class='add'>+</div><div class='add'>+test-ruby: $(TEST_RUNNABLE)-test-ruby</div><div class='add'>+no-test-ruby: PHONY</div><div class='add'>+yes-test-ruby: prog encs PHONY</div><div class='add'>+	$(gnumake_recursive)$(RUNRUBY) "$(TESTSDIR)/runner.rb" $(TEST_EXCLUDES) $(TESTOPTS) -- ruby -ext-</div><div class='add'>+</div><div class='add'>+extconf: $(PREP)</div><div class='add'>+	$(Q) $(MAKEDIRS) "$(EXTCONFDIR)"</div><div class='add'>+	$(RUNRUBY) -C "$(EXTCONFDIR)" $(EXTCONF) $(EXTCONFARGS)</div><div class='add'>+</div><div class='add'>+$(RBCONFIG): $(tooldir)/mkconfig.rb config.status $(srcdir)/version.h</div><div class='add'>+	$(Q)$(BOOTSTRAPRUBY) -n \</div><div class='add'>+	-e 'BEGIN{version=ARGV.shift;mis=ARGV.dup}' \</div><div class='add'>+	-e 'END{abort "UNICODE version mismatch: #{mis}" unless mis.empty?}' \</div><div class='add'>+	-e '(mis.delete(ARGF.path); ARGF.close) if /ONIG_UNICODE_VERSION_STRING +"#{Regexp.quote(version)}"/o' \</div><div class='add'>+	$(UNICODE_VERSION) $(UNICODE_DATA_HEADERS)</div><div class='add'>+	$(Q)$(BOOTSTRAPRUBY) $(tooldir)/mkconfig.rb \</div><div class='add'>+		-arch=$(arch) -version=$(RUBY_PROGRAM_VERSION) \</div><div class='add'>+		-install_name=$(RUBY_INSTALL_NAME) \</div><div class='add'>+		-so_name=$(RUBY_SO_NAME) \</div><div class='add'>+		-unicode_version=$(UNICODE_VERSION) \</div><div class='add'>+		-unicode_emoji_version=$(UNICODE_EMOJI_VERSION) \</div><div class='add'>+	&gt; rbconfig.tmp</div><div class='add'>+	$(IFCHANGE) "--timestamp=$@" rbconfig.rb rbconfig.tmp</div><div class='add'>+</div><div class='add'>+test-rubyspec: test-spec</div><div class='add'>+yes-test-rubyspec: yes-test-spec</div><div class='add'>+</div><div class='add'>+test-spec-precheck: main</div><div class='add'>+</div><div class='add'>+test-spec: $(TEST_RUNNABLE)-test-spec</div><div class='add'>+yes-test-spec: test-spec-precheck</div><div class='add'>+	$(gnumake_recursive)$(Q) \</div><div class='add'>+	$(RUNRUBY) -r./$(arch)-fake $(srcdir)/spec/mspec/bin/mspec run -B $(srcdir)/spec/default.mspec -I$(srcdir)/tool/lib $(MSPECOPT) $(SPECOPTS)</div><div class='add'>+no-test-spec:</div><div class='add'>+</div><div class='add'>+RUNNABLE = $(LIBRUBY_RELATIVE:no=un)-runnable</div><div class='add'>+runnable: $(RUNNABLE) prog $(tooldir)/mkrunnable.rb PHONY</div><div class='add'>+	$(Q) $(MINIRUBY) $(tooldir)/mkrunnable.rb -v $(EXTOUT)</div><div class='add'>+yes-runnable: PHONY</div><div class='add'>+</div><div class='add'>+encs: enc trans</div><div class='add'>+libencs: libenc libtrans</div><div class='add'>+encs enc trans libencs libenc libtrans: $(SHOWFLAGS) $(ENC_MK) $(LIBRUBY) $(PREP) PHONY</div><div class='add'>+	$(ECHO) making $@</div><div class='add'>+	$(Q) $(MAKE) $(MAKE_ENC) $@</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+libenc enc: {$(VPATH)}encdb.h</div><div class='add'>+libtrans trans: {$(VPATH)}transdb.h</div><div class='add'>+</div><div class='add'>+# Use MINIRUBY which loads fake.rb for cross compiling</div><div class='add'>+$(ENC_MK): $(srcdir)/enc/make_encmake.rb $(srcdir)/enc/Makefile.in $(srcdir)/enc/depend \</div><div class='add'>+	$(srcdir)/enc/encinit.c.erb $(srcdir)/lib/mkmf.rb $(RBCONFIG) fake</div><div class='add'>+	$(ECHO) generating $@</div><div class='add'>+	$(Q) $(MINIRUBY) $(srcdir)/enc/make_encmake.rb --builtin-encs="$(BUILTIN_ENCOBJS)" --builtin-transes="$(BUILTIN_TRANSOBJS)" --module$(ENCSTATIC) $(ENCS) $@</div><div class='add'>+</div><div class='add'>+.PRECIOUS: $(MKFILES)</div><div class='add'>+</div><div class='add'>+.PHONY: PHONY all fake prereq incs srcs preludes help</div><div class='add'>+.PHONY: test install install-nodoc install-doc dist</div><div class='add'>+.PHONY: loadpath golf capi rdoc install-prereq clear-installed-list</div><div class='add'>+.PHONY: clean clean-ext clean-local clean-enc clean-golf clean-rdoc clean-html clean-extout</div><div class='add'>+.PHONY: distclean distclean-ext distclean-local distclean-enc distclean-golf distclean-extout</div><div class='add'>+.PHONY: realclean realclean-ext realclean-local realclean-enc realclean-golf realclean-extout</div><div class='add'>+.PHONY: exam check test test-short test-all btest btest-ruby test-basic test-knownbug</div><div class='add'>+.PHONY: run runruby parse benchmark gdb gdb-ruby</div><div class='add'>+.PHONY: update-mspec update-rubyspec test-rubyspec test-spec</div><div class='add'>+.PHONY: touch-unicode-files</div><div class='add'>+</div><div class='add'>+PHONY:</div><div class='add'>+</div><div class='add'>+{$(VPATH)}parse.c: {$(VPATH)}parse.y $(tooldir)/ytab.sed {$(VPATH)}id.h</div><div class='add'>+{$(VPATH)}parse.h: {$(VPATH)}parse.c</div><div class='add'>+</div><div class='add'>+{$(srcdir)}.y.c:</div><div class='add'>+	$(ECHO) generating $@</div><div class='add'>+	$(Q)$(BASERUBY) $(tooldir)/id2token.rb --path-separator=.$(PATH_SEPARATOR)./ --vpath=$(VPATH) id.h $(SRC_FILE) &gt; parse.tmp.y</div><div class='add'>+	$(Q)$(BASERUBY) $(tooldir)/pure_parser.rb parse.tmp.y $(YACC)</div><div class='add'>+	$(Q)$(RM) parse.tmp.y.bak</div><div class='add'>+	$(Q)$(YACC) -d $(YFLAGS) -o y.tab.c parse.tmp.y</div><div class='add'>+	$(Q)$(RM) parse.tmp.y</div><div class='add'>+	$(Q)sed -f $(tooldir)/ytab.sed -e "/^#/s|parse\.tmp\.[iy]|$(SRC_FILE)|" -e "/^#/s!y\.tab\.c!$@!" y.tab.c &gt; $@.new</div><div class='add'>+	$(Q)$(MV) $@.new $@</div><div class='add'>+	$(Q)sed -e "/^#line.*y\.tab\.h/d;/^#line.*parse.*\.y/d" y.tab.h &gt; $(@:.c=.h)</div><div class='add'>+	$(Q)$(RM) y.tab.c y.tab.h</div><div class='add'>+</div><div class='add'>+$(PLATFORM_D):</div><div class='add'>+	$(Q) $(MAKEDIRS) $(PLATFORM_DIR) $(@D)</div><div class='add'>+	@$(NULLCMD) &gt; $@</div><div class='add'>+</div><div class='add'>+exe/$(PROGRAM): ruby-runner.c ruby-runner.h exe/.time miniruby$(EXEEXT) {$(VPATH)}config.h</div><div class='add'>+	$(Q) $(CC) $(CFLAGS) $(INCFLAGS) $(CPPFLAGS) -DRUBY_INSTALL_NAME=$(@F) $(COUTFLAG)ruby-runner.$(OBJEXT) -c $(CSRCFLAG)$(srcdir)/ruby-runner.c</div><div class='add'>+	$(Q) $(PURIFY) $(CC) $(CFLAGS) $(LDFLAGS) $(OUTFLAG)$@ ruby-runner.$(OBJEXT) $(LIBS)</div><div class='add'>+	$(Q) $(POSTLINK)</div><div class='add'>+	$(Q) ./miniruby$(EXEEXT) \</div><div class='add'>+	    -e 'prog, dest, inst = ARGV; dest += "/ruby"' \</div><div class='add'>+	    -e 'exit unless prog==inst' \</div><div class='add'>+	    -e 'unless prog=="ruby"' \</div><div class='add'>+	    -e '  begin File.unlink(dest); rescue Errno::ENOENT; end' \</div><div class='add'>+	    -e '  File.symlink(prog, dest)' \</div><div class='add'>+	    -e 'end' \</div><div class='add'>+	$(@F) $(@D) $(RUBY_INSTALL_NAME)$(EXEEXT)</div><div class='add'>+</div><div class='add'>+exe/.time:</div><div class='add'>+	$(Q) $(MAKEDIRS) $(@D)</div><div class='add'>+	@$(NULLCMD) &gt; $@</div><div class='add'>+</div><div class='add'>+$(BUILTIN_ENCOBJS) $(BUILTIN_TRANSOBJS): $(ENC_TRANS_D)</div><div class='add'>+</div><div class='add'>+$(ENC_TRANS_D):</div><div class='add'>+	$(Q) $(MAKEDIRS) enc/trans $(@D)</div><div class='add'>+	@$(NULLCMD) &gt; $@</div><div class='add'>+</div><div class='add'>+$(TIMESTAMPDIR)/$(arch)/.time:</div><div class='add'>+	$(Q)$(MAKEDIRS) $(@D) $(EXTOUT)/$(arch)</div><div class='add'>+	@$(NULLCMD) &gt; $@</div><div class='add'>+</div><div class='add'>+$(TIMESTAMPDIR)/.RUBYCOMMONDIR.time:</div><div class='add'>+	$(Q)$(MAKEDIRS) $(@D) $(RUBYCOMMONDIR)</div><div class='add'>+	@$(NULLCMD) &gt; $@</div><div class='add'>+</div><div class='add'>+###</div><div class='add'>+CCAN_DIR = {$(VPATH)}ccan</div><div class='add'>+</div><div class='add'>+RUBY_H_INCLUDES    = {$(VPATH)}ruby.h {$(VPATH)}config.h {$(VPATH)}defines.h \</div><div class='add'>+		     {$(VPATH)}intern.h {$(VPATH)}missing.h {$(VPATH)}st.h \</div><div class='add'>+		     {$(VPATH)}assert.h {$(VPATH)}subst.h</div><div class='add'>+</div><div class='add'>+###</div><div class='add'>+</div><div class='add'>+acosh.$(OBJEXT): {$(VPATH)}acosh.c</div><div class='add'>+alloca.$(OBJEXT): {$(VPATH)}alloca.c {$(VPATH)}config.h</div><div class='add'>+crypt.$(OBJEXT): {$(VPATH)}crypt.c {$(VPATH)}crypt.h {$(VPATH)}missing/des_tables.c</div><div class='add'>+dup2.$(OBJEXT): {$(VPATH)}dup2.c</div><div class='add'>+erf.$(OBJEXT): {$(VPATH)}erf.c</div><div class='add'>+explicit_bzero.$(OBJEXT): {$(VPATH)}explicit_bzero.c</div><div class='add'>+finite.$(OBJEXT): {$(VPATH)}finite.c</div><div class='add'>+flock.$(OBJEXT): {$(VPATH)}flock.c</div><div class='add'>+memcmp.$(OBJEXT): {$(VPATH)}memcmp.c</div><div class='add'>+memmove.$(OBJEXT): {$(VPATH)}memmove.c</div><div class='add'>+mkdir.$(OBJEXT): {$(VPATH)}mkdir.c</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}setproctitle.c</div><div class='add'>+strchr.$(OBJEXT): {$(VPATH)}strchr.c</div><div class='add'>+strdup.$(OBJEXT): {$(VPATH)}strdup.c</div><div class='add'>+strerror.$(OBJEXT): {$(VPATH)}strerror.c</div><div class='add'>+strlcat.$(OBJEXT): {$(VPATH)}strlcat.c</div><div class='add'>+strlcpy.$(OBJEXT): {$(VPATH)}strlcpy.c</div><div class='add'>+strstr.$(OBJEXT): {$(VPATH)}strstr.c</div><div class='add'>+nt.$(OBJEXT): {$(VPATH)}nt.c</div><div class='add'>+</div><div class='add'>+.coroutine_obj $(COROUTINE_OBJ): \</div><div class='add'>+	{$(VPATH)}$(COROUTINE_SRC) \</div><div class='add'>+	$(COROUTINE_H:/Context.h=/.time)</div><div class='add'>+$(COROUTINE_H:/Context.h=/.time):</div><div class='add'>+	$(Q) $(MAKEDIRS) $(@D)</div><div class='add'>+	@$(NULLCMD) &gt; $@</div><div class='add'>+</div><div class='add'>+###</div><div class='add'>+</div><div class='add'>+# dependencies for generated C sources.</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}parse.c</div><div class='add'>+miniprelude.$(OBJEXT): {$(VPATH)}miniprelude.c</div><div class='add'>+</div><div class='add'>+# dependencies for optional sources.</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}opt_sc.inc {$(VPATH)}optunifs.inc</div><div class='add'>+</div><div class='add'>+win32/win32.$(OBJEXT): {$(VPATH)}win32/win32.c {$(VPATH)}win32/file.h \</div><div class='add'>+  {$(VPATH)}dln.h {$(VPATH)}dln_find.c {$(VPATH)}encindex.h \</div><div class='add'>+  {$(VPATH)}internal.h {$(VPATH)}util.h $(RUBY_H_INCLUDES) \</div><div class='add'>+  {$(VPATH)}vm.h $(PLATFORM_D)</div><div class='add'>+win32/file.$(OBJEXT): {$(VPATH)}win32/file.c {$(VPATH)}win32/file.h \</div><div class='add'>+  $(RUBY_H_INCLUDES) $(PLATFORM_D)</div><div class='add'>+</div><div class='add'>+$(NEWLINE_C): $(srcdir)/enc/trans/newline.trans $(tooldir)/transcode-tblgen.rb</div><div class='add'>+	$(Q) $(MAKEDIRS) $(@D)</div><div class='add'>+	$(Q) $(BASERUBY) "$(tooldir)/transcode-tblgen.rb" -vo $@ $(srcdir)/enc/trans/newline.trans</div><div class='add'>+enc/trans/newline.$(OBJEXT): $(NEWLINE_C)</div><div class='add'>+</div><div class='add'>+verconf.h: $(srcdir)/template/verconf.h.tmpl $(tooldir)/generic_erb.rb</div><div class='add'>+	$(ECHO) creating $@</div><div class='add'>+	$(Q) $(BOOTSTRAPRUBY) "$(tooldir)/generic_erb.rb" -o $@ $(srcdir)/template/verconf.h.tmpl</div><div class='add'>+</div><div class='add'>+ruby-glommed.$(OBJEXT): $(OBJS)</div><div class='add'>+</div><div class='add'>+$(OBJS):  {$(VPATH)}config.h {$(VPATH)}missing.h</div><div class='add'>+</div><div class='add'>+INSNS2VMOPT = --srcdir="$(srcdir)"</div><div class='add'>+</div><div class='add'>+srcs_vpath = {$(VPATH)}</div><div class='add'>+</div><div class='add'>+inc_common_headers = $(tooldir)/ruby_vm/views/_copyright.erb $(tooldir)/ruby_vm/views/_notice.erb</div><div class='add'>+$(srcs_vpath)opt_sc.inc: $(tooldir)/ruby_vm/views/opt_sc.inc.erb $(inc_common_headers)</div><div class='add'>+$(srcs_vpath)optinsn.inc: $(tooldir)/ruby_vm/views/optinsn.inc.erb $(inc_common_headers)</div><div class='add'>+$(srcs_vpath)optunifs.inc: $(tooldir)/ruby_vm/views/optunifs.inc.erb $(inc_common_headers)</div><div class='add'>+$(srcs_vpath)insns.inc: $(tooldir)/ruby_vm/views/insns.inc.erb $(inc_common_headers)</div><div class='add'>+$(srcs_vpath)insns_info.inc: $(tooldir)/ruby_vm/views/insns_info.inc.erb $(inc_common_headers) \</div><div class='add'>+  $(tooldir)/ruby_vm/views/_insn_type_chars.erb $(tooldir)/ruby_vm/views/_insn_name_info.erb \</div><div class='add'>+  $(tooldir)/ruby_vm/views/_insn_len_info.erb $(tooldir)/ruby_vm/views/_insn_operand_info.erb \</div><div class='add'>+  $(tooldir)/ruby_vm/views/_attributes.erb $(tooldir)/ruby_vm/views/_comptime_insn_stack_increase.erb \</div><div class='add'>+  $(tooldir)/ruby_vm/views/_insn_sp_pc_dependency.erb</div><div class='add'>+$(srcs_vpath)vmtc.inc: $(tooldir)/ruby_vm/views/vmtc.inc.erb $(inc_common_headers)</div><div class='add'>+$(srcs_vpath)vm.inc: $(tooldir)/ruby_vm/views/vm.inc.erb $(inc_common_headers) \</div><div class='add'>+  $(tooldir)/ruby_vm/views/_insn_entry.erb $(tooldir)/ruby_vm/views/_trace_instruction.erb</div><div class='add'>+$(srcs_vpath)mjit_compile.inc: $(tooldir)/ruby_vm/views/mjit_compile.inc.erb $(inc_common_headers) \</div><div class='add'>+  $(tooldir)/ruby_vm/views/_mjit_compile_insn.erb $(tooldir)/ruby_vm/views/_mjit_compile_send.erb \</div><div class='add'>+  $(tooldir)/ruby_vm/views/_mjit_compile_ivar.erb \</div><div class='add'>+  $(tooldir)/ruby_vm/views/_mjit_compile_insn_body.erb $(tooldir)/ruby_vm/views/_mjit_compile_pc_and_sp.erb \</div><div class='add'>+  $(tooldir)/ruby_vm/views/_mjit_compile_invokebuiltin.erb</div><div class='add'>+</div><div class='add'>+BUILTIN_RB_SRCS = \</div><div class='add'>+		$(srcdir)/ast.rb \</div><div class='add'>+		$(srcdir)/dir.rb \</div><div class='add'>+		$(srcdir)/gc.rb \</div><div class='add'>+		$(srcdir)/integer.rb \</div><div class='add'>+		$(srcdir)/io.rb \</div><div class='add'>+		$(srcdir)/pack.rb \</div><div class='add'>+		$(srcdir)/trace_point.rb \</div><div class='add'>+		$(srcdir)/warning.rb \</div><div class='add'>+		$(srcdir)/array.rb \</div><div class='add'>+		$(srcdir)/kernel.rb \</div><div class='add'>+		$(srcdir)/ractor.rb \</div><div class='add'>+		$(srcdir)/prelude.rb \</div><div class='add'>+		$(srcdir)/gem_prelude.rb \</div><div class='add'>+		$(empty)</div><div class='add'>+BUILTIN_RB_INCS = $(BUILTIN_RB_SRCS:.rb=.rbinc)</div><div class='add'>+</div><div class='add'>+common-srcs: $(srcs_vpath)parse.c $(srcs_vpath)lex.c $(srcs_vpath)enc/trans/newline.c $(srcs_vpath)id.c \</div><div class='add'>+	     $(BUILTIN_RB_INCS) \</div><div class='add'>+	     srcs-lib srcs-ext incs</div><div class='add'>+</div><div class='add'>+missing-srcs: $(srcdir)/missing/des_tables.c</div><div class='add'>+</div><div class='add'>+srcs: common-srcs missing-srcs srcs-enc</div><div class='add'>+</div><div class='add'>+EXT_SRCS = $(srcdir)/ext/ripper/ripper.c \</div><div class='add'>+	   $(srcdir)/ext/rbconfig/sizeof/sizes.c \</div><div class='add'>+	   $(srcdir)/ext/rbconfig/sizeof/limits.c \</div><div class='add'>+	   $(srcdir)/ext/socket/constdefs.c \</div><div class='add'>+	   $(srcdir)/ext/etc/constdefs.h \</div><div class='add'>+	   # EXT_SRCS</div><div class='add'>+</div><div class='add'>+srcs-ext: $(EXT_SRCS)</div><div class='add'>+realclean-srcs-ext::</div><div class='add'>+	$(Q)$(RM) $(EXT_SRCS)</div><div class='add'>+</div><div class='add'>+EXTRA_SRCS = $(srcdir)/ext/json/parser/parser.c \</div><div class='add'>+	     $(srcdir)/ext/date/zonetab.h \</div><div class='add'>+	     $(empty)</div><div class='add'>+</div><div class='add'>+srcs-extra: $(EXTRA_SRCS)</div><div class='add'>+realclean-srcs-extra::</div><div class='add'>+	$(Q)$(RM) $(EXTRA_SRCS)</div><div class='add'>+</div><div class='add'>+LIB_SRCS = $(srcdir)/lib/unicode_normalize/tables.rb</div><div class='add'>+</div><div class='add'>+srcs-lib: $(LIB_SRCS)</div><div class='add'>+</div><div class='add'>+srcs-enc: $(ENC_MK)</div><div class='add'>+	$(ECHO) making srcs under enc</div><div class='add'>+	$(Q) $(MAKE) $(MAKE_ENC) srcs</div><div class='add'>+</div><div class='add'>+all-incs: incs {$(VPATH)}encdb.h {$(VPATH)}transdb.h</div><div class='add'>+incs: $(INSNS) {$(VPATH)}node_name.inc {$(VPATH)}known_errors.inc \</div><div class='add'>+      {$(VPATH)}vm_call_iseq_optimized.inc $(srcdir)/revision.h \</div><div class='add'>+      $(REVISION_H) \</div><div class='add'>+      $(UNICODE_DATA_HEADERS) $(srcdir)/enc/jis/props.h \</div><div class='add'>+      {$(VPATH)}id.h {$(VPATH)}probes.dmyh</div><div class='add'>+</div><div class='add'>+insns: $(INSNS)</div><div class='add'>+</div><div class='add'>+id.h: $(tooldir)/generic_erb.rb $(srcdir)/template/id.h.tmpl $(srcdir)/defs/id.def</div><div class='add'>+	$(ECHO) generating $@</div><div class='add'>+	$(Q) $(BASERUBY) $(tooldir)/generic_erb.rb --output=$@ \</div><div class='add'>+		$(srcdir)/template/id.h.tmpl</div><div class='add'>+</div><div class='add'>+id.c: $(tooldir)/generic_erb.rb $(srcdir)/template/id.c.tmpl $(srcdir)/defs/id.def</div><div class='add'>+	$(ECHO) generating $@</div><div class='add'>+	$(Q) $(BASERUBY) $(tooldir)/generic_erb.rb --output=$@ \</div><div class='add'>+		$(srcdir)/template/id.c.tmpl</div><div class='add'>+</div><div class='add'>+node_name.inc: $(tooldir)/node_name.rb $(srcdir)/node.h</div><div class='add'>+	$(ECHO) generating $@</div><div class='add'>+	$(Q) $(BASERUBY) -n $(tooldir)/node_name.rb &lt; $(srcdir)/node.h &gt; $@</div><div class='add'>+</div><div class='add'>+encdb.h: $(PREP) $(tooldir)/generic_erb.rb $(srcdir)/template/encdb.h.tmpl</div><div class='add'>+	$(ECHO) generating $@</div><div class='add'>+	$(Q) $(MINIRUBY) $(tooldir)/generic_erb.rb -c -o $@ $(srcdir)/template/encdb.h.tmpl $(srcdir)/enc enc</div><div class='add'>+</div><div class='add'>+transdb.h: $(PREP) srcs-enc $(tooldir)/generic_erb.rb $(srcdir)/template/transdb.h.tmpl</div><div class='add'>+	$(ECHO) generating $@</div><div class='add'>+	$(Q) $(MINIRUBY) $(tooldir)/generic_erb.rb -c -o $@ $(srcdir)/template/transdb.h.tmpl $(srcdir)/enc/trans enc/trans</div><div class='add'>+</div><div class='add'>+enc/encinit.c: $(ENC_MK) $(srcdir)/enc/encinit.c.erb</div><div class='add'>+</div><div class='add'>+known_errors.inc: $(srcdir)/template/known_errors.inc.tmpl $(srcdir)/defs/known_errors.def</div><div class='add'>+	$(ECHO) generating $@</div><div class='add'>+	$(Q) $(BASERUBY) $(tooldir)/generic_erb.rb -c -o $@ $(srcdir)/template/known_errors.inc.tmpl $(srcdir)/defs/known_errors.def</div><div class='add'>+</div><div class='add'>+vm_call_iseq_optimized.inc: $(srcdir)/template/call_iseq_optimized.inc.tmpl</div><div class='add'>+	$(ECHO) generating $@</div><div class='add'>+	$(Q) $(BASERUBY) $(tooldir)/generic_erb.rb -c -o $@ $(srcdir)/template/call_iseq_optimized.inc.tmpl</div><div class='add'>+</div><div class='add'>+$(MINIPRELUDE_C): $(COMPILE_PRELUDE) $(BUILTIN_RB_SRCS)</div><div class='add'>+	$(ECHO) generating $@</div><div class='add'>+	$(Q) $(BASERUBY) $(tooldir)/generic_erb.rb -I$(srcdir) -o $@ \</div><div class='add'>+		$(srcdir)/template/prelude.c.tmpl $(BUILTIN_RB_SRCS)</div><div class='add'>+</div><div class='add'>+$(GOLF_PRELUDE_C): $(COMPILE_PRELUDE) {$(srcdir)}golf_prelude.rb</div><div class='add'>+	$(ECHO) generating $@</div><div class='add'>+	$(Q) $(BASERUBY) $(tooldir)/generic_erb.rb -I$(srcdir) -c -o $@ \</div><div class='add'>+		$(srcdir)/template/prelude.c.tmpl golf_prelude.rb</div><div class='add'>+</div><div class='add'>+MAINCPPFLAGS = $(ENABLE_DEBUG_ENV:yes=-DRUBY_DEBUG_ENV=1)</div><div class='add'>+</div><div class='add'>+$(MAINOBJ): $(srcdir)/$(MAINSRC)</div><div class='add'>+	$(ECHO) compiling $(srcdir)/$(MAINSRC)</div><div class='add'>+	$(Q) $(CC) $(MAINCPPFLAGS) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$(srcdir)/$(MAINSRC)</div><div class='add'>+</div><div class='add'>+{$(VPATH)}probes.dmyh: {$(srcdir)}probes.d $(tooldir)/gen_dummy_probes.rb</div><div class='add'>+</div><div class='add'>+probes.dmyh:</div><div class='add'>+	$(BASERUBY) $(tooldir)/gen_dummy_probes.rb $(srcdir)/probes.d &gt; $@</div><div class='add'>+</div><div class='add'>+probes.h: {$(VPATH)}probes.$(DTRACE_EXT)</div><div class='add'>+</div><div class='add'>+prereq: incs srcs preludes PHONY</div><div class='add'>+</div><div class='add'>+preludes: {$(VPATH)}miniprelude.c</div><div class='add'>+preludes: {$(srcdir)}golf_prelude.c</div><div class='add'>+</div><div class='add'>+{$(srcdir)}.rb.rbinc:</div><div class='add'>+	$(ECHO) making $@</div><div class='add'>+	$(Q) $(BASERUBY) $(tooldir)/mk_builtin_loader.rb $&lt;</div><div class='add'>+</div><div class='add'>+builtin_binary.inc: $(PREP) $(BUILTIN_RB_SRCS) $(srcdir)/template/builtin_binary.inc.tmpl</div><div class='add'>+	$(Q) $(MINIRUBY) $(tooldir)/generic_erb.rb -o $@ \</div><div class='add'>+		$(srcdir)/template/builtin_binary.inc.tmpl -- --cross=$(CROSS_COMPILING)</div><div class='add'>+</div><div class='add'>+$(BUILTIN_RB_INCS): $(top_srcdir)/tool/mk_builtin_loader.rb</div><div class='add'>+</div><div class='add'>+$(srcdir)/revision.h:</div><div class='add'>+	$(Q)$(gnumake:yes=#) $(RM) $(@F)</div><div class='add'>+	$(Q)$(gnumake:yes=#) $(NULLCMD) &gt; $@ || $(NULLCMD) &gt; $(@F)</div><div class='add'>+</div><div class='add'>+revision.tmp::</div><div class='add'>+	$(Q) $(NULLCMD) &gt; $@</div><div class='add'>+revision.$(HAVE_BASERUBY:yes=tmp):: $(srcdir)/version.h $(tooldir)/file2lastrev.rb $(REVISION_FORCE)</div><div class='add'>+	$(Q) $(BASERUBY) $(tooldir)/file2lastrev.rb -q --revision.h --srcdir="$(srcdir)" &gt; $@</div><div class='add'>+</div><div class='add'>+$(REVISION_H): revision.tmp</div><div class='add'>+	$(Q)$(IFCHANGE) "--timestamp=$@" "$(srcdir)/revision.h" revision.tmp</div><div class='add'>+</div><div class='add'>+$(srcdir)/ext/ripper/ripper.c: $(srcdir)/ext/ripper/tools/preproc.rb $(srcdir)/parse.y id.h $(srcdir)/ext/ripper/depend</div><div class='add'>+	$(ECHO) generating $@</div><div class='add'>+	$(Q) VPATH=$${PWD-`pwd`} &amp;&amp; $(CHDIR) $(@D) &amp;&amp; \</div><div class='add'>+	sed -e 's/{\$$([^(){}]*)[^{}]*}//g' -e /AUTOGENERATED/q depend | \</div><div class='add'>+	$(exec) $(MAKE) -f - $(mflags) \</div><div class='add'>+		Q=$(Q) ECHO=$(ECHO) RM="$(RM)" BISON=$(YACC) top_srcdir=../.. srcdir=. VPATH="$${VPATH}" \</div><div class='add'>+		RUBY="$(BASERUBY)" PATH_SEPARATOR="$(PATH_SEPARATOR)" LANG=C</div><div class='add'>+</div><div class='add'>+$(srcdir)/ext/json/parser/parser.c: $(srcdir)/ext/json/parser/parser.rl $(srcdir)/ext/json/parser/prereq.mk</div><div class='add'>+	$(ECHO) generating $@</div><div class='add'>+	$(Q) $(CHDIR) $(@D) &amp;&amp; $(exec) $(MAKE) -f prereq.mk $(mflags) \</div><div class='add'>+		Q=$(Q) ECHO=$(ECHO) top_srcdir=../../.. srcdir=. VPATH=../../.. BASERUBY="$(BASERUBY)"</div><div class='add'>+</div><div class='add'>+$(srcdir)/ext/date/zonetab.h: $(srcdir)/ext/date/zonetab.list $(srcdir)/ext/date/prereq.mk</div><div class='add'>+	$(ECHO) generating $@</div><div class='add'>+	$(Q) $(CHDIR) $(@D) &amp;&amp; $(exec) $(MAKE) -f prereq.mk $(mflags) \</div><div class='add'>+		Q=$(Q) ECHO=$(ECHO) top_srcdir=../.. srcdir=. VPATH=../.. BASERUBY="$(BASERUBY)"</div><div class='add'>+</div><div class='add'>+$(srcdir)/ext/rbconfig/sizeof/sizes.c: $(srcdir)/ext/rbconfig/sizeof/depend \</div><div class='add'>+		$(tooldir)/generic_erb.rb $(srcdir)/template/sizes.c.tmpl $(srcdir)/configure.ac</div><div class='add'>+	$(ECHO) generating $@</div><div class='add'>+	$(Q) $(CHDIR) $(@D) &amp;&amp; \</div><div class='add'>+	sed '/AUTOGENERATED/q' depend | \</div><div class='add'>+	$(exec) $(MAKE) -f - $(mflags) \</div><div class='add'>+		Q=$(Q) ECHO=$(ECHO) top_srcdir=../../.. srcdir=. VPATH=../../.. RUBY="$(BASERUBY)" $(@F)</div><div class='add'>+</div><div class='add'>+$(srcdir)/ext/rbconfig/sizeof/limits.c: $(srcdir)/ext/rbconfig/sizeof/depend \</div><div class='add'>+		$(tooldir)/generic_erb.rb $(srcdir)/template/limits.c.tmpl</div><div class='add'>+	$(ECHO) generating $@</div><div class='add'>+	$(Q) $(CHDIR) $(@D) &amp;&amp; \</div><div class='add'>+	sed '/AUTOGENERATED/q' depend | \</div><div class='add'>+	$(exec) $(MAKE) -f - $(mflags) \</div><div class='add'>+		Q=$(Q) ECHO=$(ECHO) top_srcdir=../../.. srcdir=. VPATH=../../.. RUBY="$(BASERUBY)" $(@F)</div><div class='add'>+</div><div class='add'>+$(srcdir)/ext/socket/constdefs.c: $(srcdir)/ext/socket/depend</div><div class='add'>+	$(Q) $(CHDIR) $(@D) &amp;&amp; \</div><div class='add'>+	sed '/AUTOGENERATED/q' depend | \</div><div class='add'>+	$(exec) $(MAKE) -f - $(mflags) \</div><div class='add'>+		Q=$(Q) ECHO=$(ECHO) top_srcdir=../.. srcdir=. VPATH=../.. RUBY="$(BASERUBY)"</div><div class='add'>+</div><div class='add'>+$(srcdir)/ext/etc/constdefs.h: $(srcdir)/ext/etc/depend</div><div class='add'>+	$(Q) $(CHDIR) $(@D) &amp;&amp; \</div><div class='add'>+	sed '/AUTOGENERATED/q' depend | \</div><div class='add'>+	$(exec) $(MAKE) -f - $(mflags) \</div><div class='add'>+		Q=$(Q) ECHO=$(ECHO) top_srcdir=../.. srcdir=. VPATH=../.. RUBY="$(BASERUBY)"</div><div class='add'>+</div><div class='add'>+##</div><div class='add'>+</div><div class='add'>+run: fake miniruby$(EXEEXT) PHONY</div><div class='add'>+	$(BTESTRUBY) $(RUNOPT0) $(TESTRUN_SCRIPT) $(RUNOPT)</div><div class='add'>+</div><div class='add'>+runruby: $(PROGRAM) PHONY</div><div class='add'>+	$(RUNRUBY) $(RUNOPT0) $(TESTRUN_SCRIPT) $(RUNOPT)</div><div class='add'>+</div><div class='add'>+parse: fake miniruby$(EXEEXT) PHONY</div><div class='add'>+	$(BTESTRUBY) --dump=parsetree_with_comment,insns $(TESTRUN_SCRIPT)</div><div class='add'>+</div><div class='add'>+bisect: PHONY</div><div class='add'>+	$(tooldir)/bisect.sh miniruby $(srcdir)</div><div class='add'>+</div><div class='add'>+bisect-ruby: PHONY</div><div class='add'>+	$(tooldir)/bisect.sh ruby $(srcdir)</div><div class='add'>+</div><div class='add'>+COMPARE_RUBY = $(BASERUBY)</div><div class='add'>+BENCH_RUBY = $(RUNRUBY)</div><div class='add'>+BENCH_OPTS = --output=markdown --output-compare</div><div class='add'>+ITEM =</div><div class='add'>+ARGS = $$(find $(srcdir)/benchmark -maxdepth 1 -name '$(ITEM)' -o -name '*$(ITEM)*.yml' -o -name '*$(ITEM)*.rb' | sort)</div><div class='add'>+OPTS =</div><div class='add'>+</div><div class='add'>+# See benchmark/README.md for details.</div><div class='add'>+benchmark: miniruby$(EXEEXT) update-benchmark-driver PHONY</div><div class='add'>+	$(BASERUBY) -rrubygems -I$(srcdir)/benchmark/lib $(srcdir)/benchmark/benchmark-driver/exe/benchmark-driver \</div><div class='add'>+	            --executables="compare-ruby::$(COMPARE_RUBY) -I$(EXTOUT)/common --disable-gem" \</div><div class='add'>+	            --executables="built-ruby::$(BENCH_RUBY) --disable-gem" \</div><div class='add'>+	            $(BENCH_OPTS) $(ARGS) $(OPTS)</div><div class='add'>+</div><div class='add'>+run.gdb:</div><div class='add'>+	echo set breakpoint pending on         &gt; run.gdb</div><div class='add'>+	echo b rb_assert_failure              &gt;&gt; run.gdb</div><div class='add'>+	echo b rb_bug                         &gt;&gt; run.gdb</div><div class='add'>+	echo b ruby_debug_breakpoint          &gt;&gt; run.gdb</div><div class='add'>+	echo '# handle SIGINT nostop'         &gt;&gt; run.gdb</div><div class='add'>+	echo '# handle SIGPIPE nostop'        &gt;&gt; run.gdb</div><div class='add'>+	echo '# b rb_longjmp'                 &gt;&gt; run.gdb</div><div class='add'>+	echo source $(srcdir)/breakpoints.gdb &gt;&gt; run.gdb</div><div class='add'>+	echo source $(srcdir)/.gdbinit        &gt;&gt; run.gdb</div><div class='add'>+	echo 'set $$_exitcode = -999'         &gt;&gt; run.gdb</div><div class='add'>+	echo run                              &gt;&gt; run.gdb</div><div class='add'>+	echo 'if $$_exitcode != -999'         &gt;&gt; run.gdb</div><div class='add'>+	echo '  quit'                         &gt;&gt; run.gdb</div><div class='add'>+	echo end                              &gt;&gt; run.gdb</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+gdb: miniruby$(EXEEXT) run.gdb PHONY</div><div class='add'>+	gdb -x run.gdb --quiet --args $(MINIRUBY) $(RUNOPT0) $(TESTRUN_SCRIPT) $(RUNOPT)</div><div class='add'>+</div><div class='add'>+gdb-ruby: $(PROGRAM) run.gdb PHONY</div><div class='add'>+	$(Q) $(RUNRUBY_COMMAND) $(RUNRUBY_DEBUGGER) -- $(RUNOPT0) $(TESTRUN_SCRIPT) $(RUNOPT)</div><div class='add'>+</div><div class='add'>+LLDB_INIT = command script import -r $(srcdir)/misc/lldb_cruby.py</div><div class='add'>+</div><div class='add'>+lldb: miniruby$(EXEEXT) PHONY</div><div class='add'>+	lldb -o '$(LLDB_INIT)' miniruby$(EXEEXT) -- $(RUNOPT0) $(TESTRUN_SCRIPT) $(RUNOPT)</div><div class='add'>+</div><div class='add'>+lldb-ruby: $(PROGRAM) PHONY</div><div class='add'>+	lldb $(enable_shared:yes=-o 'target modules add ${LIBRUBY_SO}') -o '$(LLDB_INIT)' $(PROGRAM) -- $(RUNOPT0) $(TESTRUN_SCRIPT) $(RUNOPT)</div><div class='add'>+</div><div class='add'>+DISTPKGS = gzip,zip,all</div><div class='add'>+PKGSDIR = tmp</div><div class='add'>+dist:</div><div class='add'>+	$(BASERUBY) $(tooldir)/make-snapshot \</div><div class='add'>+	-srcdir=$(srcdir) -packages=$(DISTPKGS) \</div><div class='add'>+	-unicode-version=$(UNICODE_VERSION) \</div><div class='add'>+	$(DISTOPTS) $(PKGSDIR) $(RELNAME)</div><div class='add'>+</div><div class='add'>+up:: update-remote</div><div class='add'>+</div><div class='add'>+up::</div><div class='add'>+	-$(Q)$(MAKE) $(mflags) Q=$(Q) REVISION_FORCE=PHONY after-update</div><div class='add'>+</div><div class='add'>+yes::</div><div class='add'>+no::</div><div class='add'>+</div><div class='add'>+after-update:: $(REVISION_H)</div><div class='add'>+after-update:: extract-extlibs</div><div class='add'>+after-update:: extract-gems</div><div class='add'>+</div><div class='add'>+update-remote:: update-src update-download</div><div class='add'>+update-download:: $(ALWAYS_UPDATE_UNICODE:yes=update-unicode)</div><div class='add'>+update-download:: update-gems</div><div class='add'>+update-download:: download-extlibs</div><div class='add'>+</div><div class='add'>+update-mspec:</div><div class='add'>+update-rubyspec:</div><div class='add'>+</div><div class='add'>+update-config_files: PHONY</div><div class='add'>+	$(Q) $(BASERUBY) -C "$(srcdir)" tool/downloader.rb -d tool --cache-dir=$(CACHE_DIR) -e gnu \</div><div class='add'>+	    config.guess config.sub</div><div class='add'>+</div><div class='add'>+refresh-gems: update-bundled_gems prepare-gems</div><div class='add'>+prepare-gems: $(HAVE_BASERUBY:yes=update-gems) $(HAVE_BASERUBY:yes=extract-gems)</div><div class='add'>+</div><div class='add'>+update-gems$(gnumake:yes=-nongnumake): PHONY</div><div class='add'>+	$(ECHO) Downloading bundled gem files...</div><div class='add'>+	$(Q) $(BASERUBY) -C "$(srcdir)" \</div><div class='add'>+	    -I./tool -rdownloader -answ \</div><div class='add'>+	    -e 'gem, ver = *$$F' \</div><div class='add'>+	    -e 'next if !ver or /^#/=~gem' \</div><div class='add'>+	    -e 'old = Dir.glob("gems/#{gem}-*.gem")' \</div><div class='add'>+	    -e 'gem = "#{gem}-#{ver}.gem"' \</div><div class='add'>+	    -e 'Downloader::RubyGems.download(gem, "gems", nil) and' \</div><div class='add'>+	    -e '(old.delete("gems/#{gem}"); !old.empty?) and' \</div><div class='add'>+	    -e 'File.unlink(*old) and' \</div><div class='add'>+	    -e 'FileUtils.rm_rf(old.map{'"|n|"'n.chomp(".gem")})' \</div><div class='add'>+	    gems/bundled_gems</div><div class='add'>+</div><div class='add'>+extract-gems$(gnumake:yes=-nongnumake): PHONY</div><div class='add'>+	$(ECHO) Extracting bundled gem files...</div><div class='add'>+	$(Q) $(RUNRUBY) -C "$(srcdir)" \</div><div class='add'>+	    -Itool -rgem-unpack -answ \</div><div class='add'>+	    -e 'BEGIN {FileUtils.mkdir_p(d = ".bundle/gems")}' \</div><div class='add'>+	    -e 'gem, ver = *$$F' \</div><div class='add'>+	    -e 'next if !ver or /^#/=~gem' \</div><div class='add'>+	    -e 'g = "#{gem}-#{ver}"' \</div><div class='add'>+	    -e 'File.directory?("#{d}/#{g}") or Gem.unpack("gems/#{g}.gem", d)' \</div><div class='add'>+	    gems/bundled_gems</div><div class='add'>+</div><div class='add'>+update-bundled_gems: PHONY</div><div class='add'>+	$(Q) $(RUNRUBY) -rrubygems \</div><div class='add'>+	     $(tooldir)/update-bundled_gems.rb \</div><div class='add'>+	     "$(srcdir)/gems/bundled_gems" | \</div><div class='add'>+	"$(IFCHANGE)" "$(srcdir)/gems/bundled_gems" -</div><div class='add'>+</div><div class='add'>+test-bundled-gems-precheck: $(TEST_RUNNABLE)-test-bundled-gems-precheck</div><div class='add'>+yes-test-bundled-gems-precheck: main</div><div class='add'>+no-test-bundled-gems-precheck:</div><div class='add'>+</div><div class='add'>+test-bundled-gems-fetch: $(PREP)</div><div class='add'>+	$(Q) $(BASERUBY) -C $(srcdir)/gems ../tool/fetch-bundled_gems.rb src bundled_gems</div><div class='add'>+</div><div class='add'>+test-bundled-gems-prepare: test-bundled-gems-precheck test-bundled-gems-fetch</div><div class='add'>+test-bundled-gems-prepare: $(TEST_RUNNABLE)-test-bundled-gems-prepare</div><div class='add'>+no-test-bundled-gems-prepare: no-test-bundled-gems-precheck</div><div class='add'>+yes-test-bundled-gems-prepare: yes-test-bundled-gems-precheck</div><div class='add'>+	$(XRUBY) -C "$(srcdir)" bin/gem install --no-document \</div><div class='add'>+		--install-dir .bundle --conservative "bundler" "minitest:~&gt; 5" "test-unit" "rake" "hoe" "yard" "pry" "packnga" "rexml" "json-schema" "rbs"</div><div class='add'>+</div><div class='add'>+PREPARE_BUNDLED_GEMS = test-bundled-gems-prepare</div><div class='add'>+test-bundled-gems: $(TEST_RUNNABLE)-test-bundled-gems</div><div class='add'>+yes-test-bundled-gems: test-bundled-gems-run</div><div class='add'>+no-test-bundled-gems:</div><div class='add'>+</div><div class='add'>+# Override this to allow failure of specific gems on CI</div><div class='add'>+# TEST_BUNDLED_GEMS_ALLOW_FAILURES =</div><div class='add'>+</div><div class='add'>+BUNDLED_GEMS =</div><div class='add'>+test-bundled-gems-run: $(PREPARE_BUNDLED_GEMS)</div><div class='add'>+	$(Q) $(XRUBY) $(tooldir)/test-bundled-gems.rb $(BUNDLED_GEMS)</div><div class='add'>+</div><div class='add'>+test-bundler-precheck: $(TEST_RUNNABLE)-test-bundler-precheck</div><div class='add'>+no-test-bundler-precheck:</div><div class='add'>+yes-test-bundler-precheck: main</div><div class='add'>+</div><div class='add'>+no-test-bundler-prepare: no-test-bundler-precheck</div><div class='add'>+yes-test-bundler-prepare: yes-test-bundler-precheck</div><div class='add'>+	$(XRUBY) -C "$(srcdir)" bin/gem install --no-document \</div><div class='add'>+		--install-dir .bundle --conservative "rspec:~&gt; 3.8" "rake:~&gt; 13.0" "parallel_tests:~&gt; 2.29"</div><div class='add'>+</div><div class='add'>+RSPECOPTS =</div><div class='add'>+BUNDLER_SPECS =</div><div class='add'>+test-bundler: $(TEST_RUNNABLE)-test-bundler</div><div class='add'>+yes-test-bundler: yes-test-bundler-prepare</div><div class='add'>+	$(XRUBY) -C $(srcdir) -Ispec/bundler .bundle/bin/rspec \</div><div class='add'>+		--require spec_helper $(RSPECOPTS) spec/bundler/$(BUNDLER_SPECS)</div><div class='add'>+no-test-bundler:</div><div class='add'>+</div><div class='add'>+PARALLELRSPECOPTS = --runtime-log $(srcdir)/tmp/parallel_runtime_rspec.log</div><div class='add'>+test-bundler-parallel: $(TEST_RUNNABLE)-test-bundler-parallel</div><div class='add'>+yes-test-bundler-parallel: yes-test-bundler-prepare</div><div class='add'>+	$(XRUBY) -I$(srcdir)/spec/bundler \</div><div class='add'>+		-e "ENV['PARALLEL_TESTS_EXECUTABLE'] = ARGV.shift" \</div><div class='add'>+		-e "load ARGV.shift" \</div><div class='add'>+		"$(XRUBY) -C $(srcdir) -Ispec/bundler .bundle/bin/rspec" \</div><div class='add'>+		$(srcdir)/.bundle/bin/parallel_rspec \</div><div class='add'>+		-o "--require spec_helper" \</div><div class='add'>+		$(PARALLELRSPECOPTS) $(srcdir)/spec/bundler/$(BUNDLER_SPECS)</div><div class='add'>+no-test-bundler-parallel:</div><div class='add'>+</div><div class='add'>+GEM = up</div><div class='add'>+sync-default-gems:</div><div class='add'>+	$(Q) $(XRUBY) -C "$(srcdir)" tool/sync_default_gems.rb $(GEM)</div><div class='add'>+</div><div class='add'>+UNICODE_FILES = $(UNICODE_SRC_DATA_DIR)/UnicodeData.txt \</div><div class='add'>+		$(UNICODE_SRC_DATA_DIR)/CompositionExclusions.txt \</div><div class='add'>+		$(UNICODE_SRC_DATA_DIR)/NormalizationTest.txt \</div><div class='add'>+		$(UNICODE_SRC_DATA_DIR)/CaseFolding.txt \</div><div class='add'>+		$(UNICODE_SRC_DATA_DIR)/SpecialCasing.txt \</div><div class='add'>+		$(empty)</div><div class='add'>+</div><div class='add'>+UNICODE_PROPERTY_FILES =  \</div><div class='add'>+		$(UNICODE_SRC_DATA_DIR)/Blocks.txt \</div><div class='add'>+		$(UNICODE_SRC_DATA_DIR)/DerivedAge.txt \</div><div class='add'>+		$(UNICODE_SRC_DATA_DIR)/DerivedCoreProperties.txt \</div><div class='add'>+		$(UNICODE_SRC_DATA_DIR)/PropList.txt \</div><div class='add'>+		$(UNICODE_SRC_DATA_DIR)/PropertyAliases.txt \</div><div class='add'>+		$(UNICODE_SRC_DATA_DIR)/PropertyValueAliases.txt \</div><div class='add'>+		$(UNICODE_SRC_DATA_DIR)/Scripts.txt \</div><div class='add'>+		$(empty)</div><div class='add'>+</div><div class='add'>+UNICODE_AUXILIARY_FILES =  \</div><div class='add'>+		$(UNICODE_SRC_DATA_DIR)/auxiliary/GraphemeBreakProperty.txt \</div><div class='add'>+		$(UNICODE_SRC_DATA_DIR)/auxiliary/GraphemeBreakTest.txt \</div><div class='add'>+		$(empty)</div><div class='add'>+</div><div class='add'>+UNICODE_EMOJI_FILES = \</div><div class='add'>+		$(UNICODE_SRC_EMOJI_DATA_DIR)/emoji-data.txt \</div><div class='add'>+		$(UNICODE_SRC_EMOJI_DATA_DIR)/emoji-sequences.txt \</div><div class='add'>+		$(UNICODE_SRC_EMOJI_DATA_DIR)/emoji-test.txt \</div><div class='add'>+		$(UNICODE_SRC_EMOJI_DATA_DIR)/emoji-variation-sequences.txt \</div><div class='add'>+		$(UNICODE_SRC_EMOJI_DATA_DIR)/emoji-zwj-sequences.txt \</div><div class='add'>+		$(empty)</div><div class='add'>+</div><div class='add'>+update-unicode: $(UNICODE_FILES) $(UNICODE_PROPERTY_FILES) \</div><div class='add'>+		$(UNICODE_AUXILIARY_FILES) $(UNICODE_EMOJI_FILES)</div><div class='add'>+</div><div class='add'>+CACHE_DIR = $(srcdir)/.downloaded-cache</div><div class='add'>+UNICODE_DOWNLOAD = \</div><div class='add'>+	$(BASERUBY) $(tooldir)/downloader.rb \</div><div class='add'>+	    --cache-dir=$(CACHE_DIR) \</div><div class='add'>+	    --unicode-beta $(UNICODE_BETA) \</div><div class='add'>+	    -d $(UNICODE_SRC_DATA_DIR) \</div><div class='add'>+	    -p $(UNICODE_VERSION)/ucd \</div><div class='add'>+	    -e $(ALWAYS_UPDATE_UNICODE:yes=-a) unicode</div><div class='add'>+UNICODE_AUXILIARY_DOWNLOAD = \</div><div class='add'>+	$(BASERUBY) $(tooldir)/downloader.rb \</div><div class='add'>+	    --cache-dir=$(CACHE_DIR) \</div><div class='add'>+	    --unicode-beta $(UNICODE_BETA) \</div><div class='add'>+	    -d $(UNICODE_SRC_DATA_DIR)/auxiliary \</div><div class='add'>+	    -p $(UNICODE_VERSION)/ucd/auxiliary \</div><div class='add'>+	    -e $(ALWAYS_UPDATE_UNICODE:yes=-a) unicode</div><div class='add'>+UNICODE_EMOJI_DOWNLOAD = \</div><div class='add'>+	$(BASERUBY) $(tooldir)/downloader.rb \</div><div class='add'>+	    --cache-dir=$(CACHE_DIR) \</div><div class='add'>+	    --unicode-beta $(UNICODE_BETA) \</div><div class='add'>+	    -d $(UNICODE_SRC_EMOJI_DATA_DIR) \</div><div class='add'>+	    -p emoji/$(UNICODE_EMOJI_VERSION) \</div><div class='add'>+	    -e $(ALWAYS_UPDATE_UNICODE:yes=-a) unicode</div><div class='add'>+</div><div class='add'>+$(UNICODE_FILES) $(UNICODE_PROPERTY_FILES): update-unicode-files</div><div class='add'>+update-unicode-files:</div><div class='add'>+	$(ECHO) Downloading Unicode $(UNICODE_VERSION) data and  property files...</div><div class='add'>+	$(Q) $(MAKEDIRS) "$(UNICODE_SRC_DATA_DIR)"</div><div class='add'>+	$(Q) $(UNICODE_DOWNLOAD) $(UNICODE_FILES) $(UNICODE_PROPERTY_FILES)</div><div class='add'>+</div><div class='add'>+$(UNICODE_AUXILIARY_FILES): update-unicode-auxiliary-files</div><div class='add'>+update-unicode-auxiliary-files:</div><div class='add'>+	$(ECHO) Downloading Unicode $(UNICODE_VERSION) auxiliary files...</div><div class='add'>+	$(Q) $(MAKEDIRS) "$(UNICODE_SRC_DATA_DIR)/auxiliary"</div><div class='add'>+	$(Q) $(UNICODE_AUXILIARY_DOWNLOAD) $(UNICODE_AUXILIARY_FILES)</div><div class='add'>+</div><div class='add'>+$(UNICODE_EMOJI_FILES): update-unicode-emoji-files</div><div class='add'>+update-unicode-emoji-files:</div><div class='add'>+	$(ECHO) Downloading Unicode emoji $(UNICODE_EMOJI_VERSION) files...</div><div class='add'>+	$(Q) $(MAKEDIRS) "$(UNICODE_SRC_EMOJI_DATA_DIR)"</div><div class='add'>+	$(Q) $(UNICODE_EMOJI_DOWNLOAD) $(UNICODE_EMOJI_FILES)</div><div class='add'>+</div><div class='add'>+$(srcdir)/lib/unicode_normalize/$(HAVE_BASERUBY:yes=tables.rb): \</div><div class='add'>+	$(UNICODE_SRC_DATA_DIR)/.unicode-tables.time</div><div class='add'>+</div><div class='add'>+$(UNICODE_SRC_DATA_DIR)/$(ALWAYS_UPDATE_UNICODE:yes=.unicode-tables.time): \</div><div class='add'>+	$(UNICODE_FILES) $(UNICODE_PROPERTY_FILES) \</div><div class='add'>+	$(UNICODE_AUXILIARY_FILES) $(UNICODE_EMOJI_FILES)</div><div class='add'>+</div><div class='add'>+touch-unicode-files:</div><div class='add'>+	$(MAKEDIRS) $(UNICODE_SRC_DATA_DIR)</div><div class='add'>+	touch $(UNICODE_SRC_DATA_DIR)/.unicode-tables.time $(UNICODE_DATA_HEADERS)</div><div class='add'>+</div><div class='add'>+UNICODE_TABLES_TIMESTAMP = yes</div><div class='add'>+$(UNICODE_SRC_DATA_DIR)/.unicode-tables.time: $(tooldir)/generic_erb.rb \</div><div class='add'>+		$(srcdir)/template/unicode_norm_gen.tmpl \</div><div class='add'>+		$(ALWAYS_UPDATE_UNICODE:yes=update-unicode)</div><div class='add'>+	$(Q) $(MAKE) $(@D)</div><div class='add'>+	$(Q) $(BASERUBY) $(tooldir)/generic_erb.rb \</div><div class='add'>+		-c $(UNICODE_TABLES_TIMESTAMP:yes=-t$@) \</div><div class='add'>+		-o $(srcdir)/lib/unicode_normalize/tables.rb \</div><div class='add'>+		-I $(srcdir) \</div><div class='add'>+		$(srcdir)/template/unicode_norm_gen.tmpl \</div><div class='add'>+		$(UNICODE_DATA_DIR) lib/unicode_normalize</div><div class='add'>+</div><div class='add'>+$(UNICODE_SRC_DATA_DIR):</div><div class='add'>+	$(gnumake_recursive)$(Q) $(MAKEDIRS) $@</div><div class='add'>+</div><div class='add'>+$(UNICODE_HDR_DIR)/$(ALWAYS_UPDATE_UNICODE:yes=name2ctype.h): \</div><div class='add'>+		$(tooldir)/enc-unicode.rb \</div><div class='add'>+		$(UNICODE_SRC_DATA_DIR)/UnicodeData.txt \</div><div class='add'>+		$(UNICODE_PROPERTY_FILES) \</div><div class='add'>+		$(UNICODE_EMOJI_FILES)</div><div class='add'>+</div><div class='add'>+$(UNICODE_HDR_DIR)/name2ctype.h:</div><div class='add'>+	$(MAKEDIRS) $(@D)</div><div class='add'>+	$(BOOTSTRAPRUBY) $(tooldir)/enc-unicode.rb --header \</div><div class='add'>+		$(UNICODE_SRC_DATA_DIR) $(UNICODE_SRC_EMOJI_DATA_DIR) &gt; $@.new</div><div class='add'>+	$(MV) $@.new $@</div><div class='add'>+</div><div class='add'>+# the next non-comment line was:</div><div class='add'>+# $(UNICODE_HDR_DIR)/casefold.h: $(srcdir)/enc/unicode/case-folding.rb \</div><div class='add'>+# but was changed to make sure CI works on systems that don't have gperf</div><div class='add'>+unicode-up: $(UNICODE_DATA_HEADERS)</div><div class='add'>+</div><div class='add'>+$(UNICODE_HDR_DIR)/$(ALWAYS_UPDATE_UNICODE:yes=casefold.h): \</div><div class='add'>+		$(srcdir)/enc/unicode/case-folding.rb \</div><div class='add'>+		$(UNICODE_SRC_DATA_DIR)/UnicodeData.txt \</div><div class='add'>+		$(UNICODE_SRC_DATA_DIR)/SpecialCasing.txt \</div><div class='add'>+		$(UNICODE_SRC_DATA_DIR)/CaseFolding.txt</div><div class='add'>+</div><div class='add'>+$(UNICODE_HDR_DIR)/casefold.h:</div><div class='add'>+	$(MAKEDIRS) $(@D)</div><div class='add'>+	$(Q) $(BASERUBY) $(srcdir)/enc/unicode/case-folding.rb \</div><div class='add'>+		--output-file=$@ \</div><div class='add'>+		--mapping-data-directory=$(UNICODE_SRC_DATA_DIR)</div><div class='add'>+</div><div class='add'>+download-extlibs:</div><div class='add'>+	$(Q) $(BASERUBY) -C $(srcdir) -w tool/extlibs.rb --download ext</div><div class='add'>+</div><div class='add'>+extract-extlibs:</div><div class='add'>+	$(Q) $(BASERUBY) -C $(srcdir) -w tool/extlibs.rb --all ext</div><div class='add'>+</div><div class='add'>+clean-extlibs:</div><div class='add'>+	$(Q) $(RMALL) $(srcdir)/.downloaded-cache</div><div class='add'>+</div><div class='add'>+clean-gems:</div><div class='add'>+	$(Q) $(RM) gems/*.gem</div><div class='add'>+</div><div class='add'>+CLEAN_CACHE = clean-extlibs</div><div class='add'>+</div><div class='add'>+info: info-program info-libruby_a info-libruby_so info-arch</div><div class='add'>+info-program: PHONY</div><div class='add'>+	@echo PROGRAM=$(PROGRAM)</div><div class='add'>+info-libruby_a: PHONY</div><div class='add'>+	@echo LIBRUBY_A=$(LIBRUBY_A)</div><div class='add'>+info-libruby_so: PHONY</div><div class='add'>+	@echo LIBRUBY_SO=$(LIBRUBY_SO)</div><div class='add'>+info-arch: PHONY</div><div class='add'>+	@echo arch=$(arch)</div><div class='add'>+</div><div class='add'>+exam: check</div><div class='add'>+</div><div class='add'>+love: sudo-precheck up all test exam install</div><div class='add'>+	@echo love is all you need</div><div class='add'>+</div><div class='add'>+great: exam</div><div class='add'>+</div><div class='add'>+yes-test-all no-test-all: sudo-precheck</div><div class='add'>+</div><div class='add'>+sudo-precheck: PHONY</div><div class='add'>+	@$(SUDO) echo &gt; $(NULL)</div><div class='add'>+</div><div class='add'>+update-man-date: PHONY</div><div class='add'>+	-$(Q) $(BASERUBY) -I"$(tooldir)/lib" -rvcs -i -p \</div><div class='add'>+	-e 'BEGIN{@vcs=VCS.detect(ARGV.shift)}' \</div><div class='add'>+	-e '$$_.sub!(/^(\.Dd ).*/){$$1+@vcs.modified(ARGF.path).strftime("%B %d, %Y")}' \</div><div class='add'>+	"$(srcdir)" "$(srcdir)"/man/*.1</div><div class='add'>+</div><div class='add'>+.PHONY: ChangeLog</div><div class='add'>+ChangeLog:</div><div class='add'>+	$(ECHO) Generating $@</div><div class='add'>+	-$(Q) $(BASERUBY) -I"$(tooldir)/lib" -rvcs \</div><div class='add'>+	-e 'VCS.detect(ARGV[0]).export_changelog("@", nil, nil, ARGV[1])' \</div><div class='add'>+	"$(srcdir)" $@</div><div class='add'>+</div><div class='add'>+HELP_EXTRA_TASKS = ""</div><div class='add'>+</div><div class='add'>+help: PHONY</div><div class='add'>+	$(MESSAGE_BEGIN) \</div><div class='add'>+	"                Makefile of Ruby" \</div><div class='add'>+	"" \</div><div class='add'>+	"targets:" \</div><div class='add'>+	"  all (default):       builds all of below" \</div><div class='add'>+	"  miniruby:            builds only miniruby" \</div><div class='add'>+	"  encs:                builds encodings" \</div><div class='add'>+	"  exts:                builds extensions" \</div><div class='add'>+	"  main:                builds encodings, extensions and ruby" \</div><div class='add'>+	"  docs:                builds documents" \</div><div class='add'>+	"  install-capi:        builds C API documents" \</div><div class='add'>+	"  run:                 runs test.rb by miniruby" \</div><div class='add'>+	"  runruby:             runs test.rb by ruby you just built" \</div><div class='add'>+	"  gdb:                 runs test.rb by miniruby under gdb" \</div><div class='add'>+	"  gdb-ruby:            runs test.rb by ruby under gdb" \</div><div class='add'>+	"  check:               equals make test test-tool test-all test-spec" \</div><div class='add'>+	"  test:                ruby core tests [BTESTS=&lt;bootstraptest files&gt;]" \</div><div class='add'>+	"  test-all:            all ruby tests [TESTOPTS=-j4 TESTS=&lt;test files&gt;]" \</div><div class='add'>+	"  test-spec:           run the Ruby spec suite [SPECOPTS=&lt;specs, opts&gt;]" \</div><div class='add'>+	"  test-bundler:        run the Bundler spec" \</div><div class='add'>+	"  test-bundled-gems:   run the test suite of bundled gems" \</div><div class='add'>+	"  test-tool:           tests under the tool/test" \</div><div class='add'>+	"  update-gems:         download files of the bundled gems" \</div><div class='add'>+	"  update-bundled_gems: update the latest version of bundled gems" \</div><div class='add'>+	"  sync-default-gems:   sync default gems from upstream [GEM=&lt;gem_name&gt;]" \</div><div class='add'>+	"  up:                  update local copy and autogenerated files" \</div><div class='add'>+	"  benchmark:           benchmark this ruby and COMPARE_RUBY." \</div><div class='add'>+	"  gcbench:             gc benchmark [GCBENCH_ITEM=&lt;item_name&gt;]" \</div><div class='add'>+	"  install:             install all ruby distributions" \</div><div class='add'>+	"  install-nodoc:       install without rdoc" \</div><div class='add'>+	"  install-cross:       install cross compiling stuff" \</div><div class='add'>+	"  clean:               clean for tarball" \</div><div class='add'>+	"  distclean:           clean for repository" \</div><div class='add'>+	"  golf:                build goruby for golfers" \</div><div class='add'>+	$(HELP_EXTRA_TASKS) \</div><div class='add'>+	"see DeveloperHowto for more detail: " \</div><div class='add'>+	"  https://bugs.ruby-lang.org/projects/ruby/wiki/DeveloperHowto" \</div><div class='add'>+	$(MESSAGE_END)</div><div class='add'>+</div><div class='add'>+# AUTOGENERATED DEPENDENCIES START</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}addr2line.c</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}addr2line.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+addr2line.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+array.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+array.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+array.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+array.$(OBJEXT): $(top_srcdir)/internal/bignum.h</div><div class='add'>+array.$(OBJEXT): $(top_srcdir)/internal/bits.h</div><div class='add'>+array.$(OBJEXT): $(top_srcdir)/internal/class.h</div><div class='add'>+array.$(OBJEXT): $(top_srcdir)/internal/compar.h</div><div class='add'>+array.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+array.$(OBJEXT): $(top_srcdir)/internal/enum.h</div><div class='add'>+array.$(OBJEXT): $(top_srcdir)/internal/fixnum.h</div><div class='add'>+array.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+array.$(OBJEXT): $(top_srcdir)/internal/hash.h</div><div class='add'>+array.$(OBJEXT): $(top_srcdir)/internal/numeric.h</div><div class='add'>+array.$(OBJEXT): $(top_srcdir)/internal/object.h</div><div class='add'>+array.$(OBJEXT): $(top_srcdir)/internal/proc.h</div><div class='add'>+array.$(OBJEXT): $(top_srcdir)/internal/rational.h</div><div class='add'>+array.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+array.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+array.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+array.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}array.c</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}array.rbinc</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}builtin.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}debug_counter.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}probes.dmyh</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}probes.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}transient_heap.h</div><div class='add'>+array.$(OBJEXT): {$(VPATH)}util.h</div><div class='add'>+ast.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='add'>+ast.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='add'>+ast.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='add'>+ast.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='add'>+ast.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+ast.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+ast.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+ast.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+ast.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+ast.$(OBJEXT): $(top_srcdir)/internal/imemo.h</div><div class='add'>+ast.$(OBJEXT): $(top_srcdir)/internal/parse.h</div><div class='add'>+ast.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+ast.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+ast.$(OBJEXT): $(top_srcdir)/internal/symbol.h</div><div class='add'>+ast.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+ast.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}ast.c</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}ast.rbinc</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}atomic.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}builtin.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}iseq.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}method.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}node.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}util.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='add'>+ast.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='add'>+bignum.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+bignum.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+bignum.$(OBJEXT): $(top_srcdir)/internal/bignum.h</div><div class='add'>+bignum.$(OBJEXT): $(top_srcdir)/internal/bits.h</div><div class='add'>+bignum.$(OBJEXT): $(top_srcdir)/internal/class.h</div><div class='add'>+bignum.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+bignum.$(OBJEXT): $(top_srcdir)/internal/complex.h</div><div class='add'>+bignum.$(OBJEXT): $(top_srcdir)/internal/fixnum.h</div><div class='add'>+bignum.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+bignum.$(OBJEXT): $(top_srcdir)/internal/numeric.h</div><div class='add'>+bignum.$(OBJEXT): $(top_srcdir)/internal/object.h</div><div class='add'>+bignum.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h</div><div class='add'>+bignum.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+bignum.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+bignum.$(OBJEXT): $(top_srcdir)/internal/util.h</div><div class='add'>+bignum.$(OBJEXT): $(top_srcdir)/internal/variable.h</div><div class='add'>+bignum.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+bignum.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}bignum.c</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}constant.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}thread.h</div><div class='add'>+bignum.$(OBJEXT): {$(VPATH)}util.h</div><div class='add'>+builtin.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='add'>+builtin.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='add'>+builtin.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='add'>+builtin.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='add'>+builtin.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+builtin.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+builtin.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+builtin.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+builtin.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+builtin.$(OBJEXT): $(top_srcdir)/internal/imemo.h</div><div class='add'>+builtin.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+builtin.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+builtin.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+builtin.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}atomic.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}builtin.c</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}builtin.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}builtin_binary.inc</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}iseq.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}method.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}node.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='add'>+builtin.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='add'>+class.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='add'>+class.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='add'>+class.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='add'>+class.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='add'>+class.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+class.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+class.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+class.$(OBJEXT): $(top_srcdir)/internal/class.h</div><div class='add'>+class.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+class.$(OBJEXT): $(top_srcdir)/internal/error.h</div><div class='add'>+class.$(OBJEXT): $(top_srcdir)/internal/eval.h</div><div class='add'>+class.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+class.$(OBJEXT): $(top_srcdir)/internal/hash.h</div><div class='add'>+class.$(OBJEXT): $(top_srcdir)/internal/imemo.h</div><div class='add'>+class.$(OBJEXT): $(top_srcdir)/internal/object.h</div><div class='add'>+class.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+class.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+class.$(OBJEXT): $(top_srcdir)/internal/string.h</div><div class='add'>+class.$(OBJEXT): $(top_srcdir)/internal/variable.h</div><div class='add'>+class.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+class.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}atomic.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}class.c</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}constant.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}method.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}node.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='add'>+class.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='add'>+compar.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+compar.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+compar.$(OBJEXT): $(top_srcdir)/internal/compar.h</div><div class='add'>+compar.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+compar.$(OBJEXT): $(top_srcdir)/internal/error.h</div><div class='add'>+compar.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+compar.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+compar.$(OBJEXT): $(top_srcdir)/internal/string.h</div><div class='add'>+compar.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}compar.c</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+compar.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+compile.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='add'>+compile.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='add'>+compile.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='add'>+compile.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='add'>+compile.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+compile.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+compile.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+compile.$(OBJEXT): $(top_srcdir)/internal/bignum.h</div><div class='add'>+compile.$(OBJEXT): $(top_srcdir)/internal/bits.h</div><div class='add'>+compile.$(OBJEXT): $(top_srcdir)/internal/class.h</div><div class='add'>+compile.$(OBJEXT): $(top_srcdir)/internal/compile.h</div><div class='add'>+compile.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+compile.$(OBJEXT): $(top_srcdir)/internal/complex.h</div><div class='add'>+compile.$(OBJEXT): $(top_srcdir)/internal/encoding.h</div><div class='add'>+compile.$(OBJEXT): $(top_srcdir)/internal/error.h</div><div class='add'>+compile.$(OBJEXT): $(top_srcdir)/internal/fixnum.h</div><div class='add'>+compile.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+compile.$(OBJEXT): $(top_srcdir)/internal/hash.h</div><div class='add'>+compile.$(OBJEXT): $(top_srcdir)/internal/imemo.h</div><div class='add'>+compile.$(OBJEXT): $(top_srcdir)/internal/numeric.h</div><div class='add'>+compile.$(OBJEXT): $(top_srcdir)/internal/object.h</div><div class='add'>+compile.$(OBJEXT): $(top_srcdir)/internal/re.h</div><div class='add'>+compile.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+compile.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+compile.$(OBJEXT): $(top_srcdir)/internal/string.h</div><div class='add'>+compile.$(OBJEXT): $(top_srcdir)/internal/symbol.h</div><div class='add'>+compile.$(OBJEXT): $(top_srcdir)/internal/thread.h</div><div class='add'>+compile.$(OBJEXT): $(top_srcdir)/internal/variable.h</div><div class='add'>+compile.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+compile.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}atomic.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}builtin.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}compile.c</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}constant.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}debug_counter.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}encindex.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}gc.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}insns.def</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}insns.inc</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}insns_info.inc</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/core/rmatch.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}iseq.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}method.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}node.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}opt_sc.inc</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}optinsn.inc</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}optunifs.inc</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}re.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}regex.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}util.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}vm_callinfo.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='add'>+compile.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='add'>+complex.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+complex.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+complex.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+complex.$(OBJEXT): $(top_srcdir)/internal/bignum.h</div><div class='add'>+complex.$(OBJEXT): $(top_srcdir)/internal/bits.h</div><div class='add'>+complex.$(OBJEXT): $(top_srcdir)/internal/class.h</div><div class='add'>+complex.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+complex.$(OBJEXT): $(top_srcdir)/internal/complex.h</div><div class='add'>+complex.$(OBJEXT): $(top_srcdir)/internal/error.h</div><div class='add'>+complex.$(OBJEXT): $(top_srcdir)/internal/fixnum.h</div><div class='add'>+complex.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+complex.$(OBJEXT): $(top_srcdir)/internal/math.h</div><div class='add'>+complex.$(OBJEXT): $(top_srcdir)/internal/numeric.h</div><div class='add'>+complex.$(OBJEXT): $(top_srcdir)/internal/object.h</div><div class='add'>+complex.$(OBJEXT): $(top_srcdir)/internal/rational.h</div><div class='add'>+complex.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+complex.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+complex.$(OBJEXT): $(top_srcdir)/internal/string.h</div><div class='add'>+complex.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+complex.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}complex.c</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+complex.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+cont.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='add'>+cont.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='add'>+cont.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='add'>+cont.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='add'>+cont.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+cont.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+cont.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+cont.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+cont.$(OBJEXT): $(top_srcdir)/internal/cont.h</div><div class='add'>+cont.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+cont.$(OBJEXT): $(top_srcdir)/internal/imemo.h</div><div class='add'>+cont.$(OBJEXT): $(top_srcdir)/internal/proc.h</div><div class='add'>+cont.$(OBJEXT): $(top_srcdir)/internal/scheduler.h</div><div class='add'>+cont.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+cont.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+cont.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+cont.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}$(COROUTINE_H)</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}atomic.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}cont.c</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}debug_counter.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}eval_intern.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}gc.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}method.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}mjit.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}node.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}ractor.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}ractor_core.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='add'>+cont.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='add'>+debug.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='add'>+debug.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='add'>+debug.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='add'>+debug.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='add'>+debug.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+debug.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+debug.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+debug.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+debug.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+debug.$(OBJEXT): $(top_srcdir)/internal/imemo.h</div><div class='add'>+debug.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+debug.$(OBJEXT): $(top_srcdir)/internal/signal.h</div><div class='add'>+debug.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+debug.$(OBJEXT): $(top_srcdir)/internal/util.h</div><div class='add'>+debug.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+debug.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}atomic.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}debug.c</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}debug_counter.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}eval_intern.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}gc.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}io.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}method.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}node.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}ractor.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}ractor_core.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}symbol.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}util.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}vm_callinfo.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='add'>+debug.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='add'>+debug_counter.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+debug_counter.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}debug_counter.c</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}debug_counter.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+debug_counter.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='add'>+dir.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+dir.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+dir.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+dir.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+dir.$(OBJEXT): $(top_srcdir)/internal/dir.h</div><div class='add'>+dir.$(OBJEXT): $(top_srcdir)/internal/encoding.h</div><div class='add'>+dir.$(OBJEXT): $(top_srcdir)/internal/error.h</div><div class='add'>+dir.$(OBJEXT): $(top_srcdir)/internal/file.h</div><div class='add'>+dir.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+dir.$(OBJEXT): $(top_srcdir)/internal/io.h</div><div class='add'>+dir.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+dir.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+dir.$(OBJEXT): $(top_srcdir)/internal/string.h</div><div class='add'>+dir.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+dir.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}builtin.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}dir.c</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}dir.rbinc</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}encindex.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}io.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}thread.h</div><div class='add'>+dir.$(OBJEXT): {$(VPATH)}util.h</div><div class='add'>+dln.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+dln.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+dln.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+dln.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}dln.c</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}dln.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+dln.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+dln_find.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}dln.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}dln_find.c</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+dln_find.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+dmydln.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}dmydln.c</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+dmydln.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+dmyenc.$(OBJEXT): {$(VPATH)}dmyenc.c</div><div class='add'>+dmyext.$(OBJEXT): {$(VPATH)}dmyext.c</div><div class='add'>+enc/ascii.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+enc/ascii.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+enc/ascii.$(OBJEXT): {$(VPATH)}enc/ascii.c</div><div class='add'>+enc/ascii.$(OBJEXT): {$(VPATH)}encindex.h</div><div class='add'>+enc/ascii.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+enc/ascii.$(OBJEXT): {$(VPATH)}regenc.h</div><div class='add'>+enc/trans/newline.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+enc/trans/newline.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+enc/trans/newline.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+enc/trans/newline.$(OBJEXT): {$(VPATH)}enc/trans/newline.c</div><div class='add'>+enc/trans/newline.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+enc/trans/newline.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+enc/trans/newline.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+enc/trans/newline.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+enc/trans/newline.$(OBJEXT): {$(VPATH)}transcode_data.h</div><div class='add'>+enc/unicode.$(OBJEXT): $(UNICODE_HDR_DIR)/casefold.h</div><div class='add'>+enc/unicode.$(OBJEXT): $(UNICODE_HDR_DIR)/name2ctype.h</div><div class='add'>+enc/unicode.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+enc/unicode.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+enc/unicode.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+enc/unicode.$(OBJEXT): {$(VPATH)}enc/unicode.c</div><div class='add'>+enc/unicode.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+enc/unicode.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+enc/unicode.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+enc/unicode.$(OBJEXT): {$(VPATH)}regenc.h</div><div class='add'>+enc/unicode.$(OBJEXT): {$(VPATH)}regint.h</div><div class='add'>+enc/unicode.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+enc/unicode.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+enc/us_ascii.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+enc/us_ascii.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+enc/us_ascii.$(OBJEXT): {$(VPATH)}enc/us_ascii.c</div><div class='add'>+enc/us_ascii.$(OBJEXT): {$(VPATH)}encindex.h</div><div class='add'>+enc/us_ascii.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+enc/us_ascii.$(OBJEXT): {$(VPATH)}regenc.h</div><div class='add'>+enc/utf_8.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+enc/utf_8.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+enc/utf_8.$(OBJEXT): {$(VPATH)}enc/utf_8.c</div><div class='add'>+enc/utf_8.$(OBJEXT): {$(VPATH)}encindex.h</div><div class='add'>+enc/utf_8.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+enc/utf_8.$(OBJEXT): {$(VPATH)}regenc.h</div><div class='add'>+encoding.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+encoding.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+encoding.$(OBJEXT): $(top_srcdir)/internal/class.h</div><div class='add'>+encoding.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+encoding.$(OBJEXT): $(top_srcdir)/internal/enc.h</div><div class='add'>+encoding.$(OBJEXT): $(top_srcdir)/internal/encoding.h</div><div class='add'>+encoding.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+encoding.$(OBJEXT): $(top_srcdir)/internal/inits.h</div><div class='add'>+encoding.$(OBJEXT): $(top_srcdir)/internal/load.h</div><div class='add'>+encoding.$(OBJEXT): $(top_srcdir)/internal/object.h</div><div class='add'>+encoding.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+encoding.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+encoding.$(OBJEXT): $(top_srcdir)/internal/string.h</div><div class='add'>+encoding.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+encoding.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}debug_counter.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}encindex.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}encoding.c</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}node.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}regenc.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}util.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='add'>+encoding.$(OBJEXT): {$(VPATH)}vm_sync.h</div><div class='add'>+enum.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+enum.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+enum.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+enum.$(OBJEXT): $(top_srcdir)/internal/bignum.h</div><div class='add'>+enum.$(OBJEXT): $(top_srcdir)/internal/bits.h</div><div class='add'>+enum.$(OBJEXT): $(top_srcdir)/internal/class.h</div><div class='add'>+enum.$(OBJEXT): $(top_srcdir)/internal/compar.h</div><div class='add'>+enum.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+enum.$(OBJEXT): $(top_srcdir)/internal/enum.h</div><div class='add'>+enum.$(OBJEXT): $(top_srcdir)/internal/fixnum.h</div><div class='add'>+enum.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+enum.$(OBJEXT): $(top_srcdir)/internal/hash.h</div><div class='add'>+enum.$(OBJEXT): $(top_srcdir)/internal/imemo.h</div><div class='add'>+enum.$(OBJEXT): $(top_srcdir)/internal/numeric.h</div><div class='add'>+enum.$(OBJEXT): $(top_srcdir)/internal/object.h</div><div class='add'>+enum.$(OBJEXT): $(top_srcdir)/internal/proc.h</div><div class='add'>+enum.$(OBJEXT): $(top_srcdir)/internal/rational.h</div><div class='add'>+enum.$(OBJEXT): $(top_srcdir)/internal/re.h</div><div class='add'>+enum.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+enum.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+enum.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+enum.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}enum.c</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}symbol.h</div><div class='add'>+enum.$(OBJEXT): {$(VPATH)}util.h</div><div class='add'>+enumerator.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+enumerator.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+enumerator.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+enumerator.$(OBJEXT): $(top_srcdir)/internal/bignum.h</div><div class='add'>+enumerator.$(OBJEXT): $(top_srcdir)/internal/bits.h</div><div class='add'>+enumerator.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+enumerator.$(OBJEXT): $(top_srcdir)/internal/enumerator.h</div><div class='add'>+enumerator.$(OBJEXT): $(top_srcdir)/internal/error.h</div><div class='add'>+enumerator.$(OBJEXT): $(top_srcdir)/internal/fixnum.h</div><div class='add'>+enumerator.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+enumerator.$(OBJEXT): $(top_srcdir)/internal/hash.h</div><div class='add'>+enumerator.$(OBJEXT): $(top_srcdir)/internal/imemo.h</div><div class='add'>+enumerator.$(OBJEXT): $(top_srcdir)/internal/numeric.h</div><div class='add'>+enumerator.$(OBJEXT): $(top_srcdir)/internal/range.h</div><div class='add'>+enumerator.$(OBJEXT): $(top_srcdir)/internal/rational.h</div><div class='add'>+enumerator.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+enumerator.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+enumerator.$(OBJEXT): $(top_srcdir)/internal/string.h</div><div class='add'>+enumerator.$(OBJEXT): $(top_srcdir)/internal/struct.h</div><div class='add'>+enumerator.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+enumerator.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}enumerator.c</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+enumerator.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+error.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='add'>+error.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='add'>+error.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='add'>+error.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='add'>+error.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+error.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+error.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+error.$(OBJEXT): $(top_srcdir)/internal/class.h</div><div class='add'>+error.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+error.$(OBJEXT): $(top_srcdir)/internal/error.h</div><div class='add'>+error.$(OBJEXT): $(top_srcdir)/internal/eval.h</div><div class='add'>+error.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+error.$(OBJEXT): $(top_srcdir)/internal/imemo.h</div><div class='add'>+error.$(OBJEXT): $(top_srcdir)/internal/io.h</div><div class='add'>+error.$(OBJEXT): $(top_srcdir)/internal/load.h</div><div class='add'>+error.$(OBJEXT): $(top_srcdir)/internal/object.h</div><div class='add'>+error.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+error.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+error.$(OBJEXT): $(top_srcdir)/internal/string.h</div><div class='add'>+error.$(OBJEXT): $(top_srcdir)/internal/symbol.h</div><div class='add'>+error.$(OBJEXT): $(top_srcdir)/internal/thread.h</div><div class='add'>+error.$(OBJEXT): $(top_srcdir)/internal/variable.h</div><div class='add'>+error.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+error.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}atomic.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}builtin.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}constant.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}error.c</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}eval_intern.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}io.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}known_errors.inc</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}method.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}node.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='add'>+error.$(OBJEXT): {$(VPATH)}warning.rbinc</div><div class='add'>+eval.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='add'>+eval.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='add'>+eval.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='add'>+eval.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='add'>+eval.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+eval.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+eval.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+eval.$(OBJEXT): $(top_srcdir)/internal/class.h</div><div class='add'>+eval.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+eval.$(OBJEXT): $(top_srcdir)/internal/error.h</div><div class='add'>+eval.$(OBJEXT): $(top_srcdir)/internal/eval.h</div><div class='add'>+eval.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+eval.$(OBJEXT): $(top_srcdir)/internal/hash.h</div><div class='add'>+eval.$(OBJEXT): $(top_srcdir)/internal/imemo.h</div><div class='add'>+eval.$(OBJEXT): $(top_srcdir)/internal/inits.h</div><div class='add'>+eval.$(OBJEXT): $(top_srcdir)/internal/io.h</div><div class='add'>+eval.$(OBJEXT): $(top_srcdir)/internal/object.h</div><div class='add'>+eval.$(OBJEXT): $(top_srcdir)/internal/scheduler.h</div><div class='add'>+eval.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+eval.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+eval.$(OBJEXT): $(top_srcdir)/internal/string.h</div><div class='add'>+eval.$(OBJEXT): $(top_srcdir)/internal/thread.h</div><div class='add'>+eval.$(OBJEXT): $(top_srcdir)/internal/variable.h</div><div class='add'>+eval.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+eval.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}atomic.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}constant.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}debug_counter.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}eval.c</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}eval_error.c</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}eval_intern.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}eval_jump.c</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}gc.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}io.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}iseq.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}method.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}mjit.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}node.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}probes.dmyh</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}probes.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}probes_helper.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}ractor.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}ractor_core.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}vm.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='add'>+eval.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='add'>+explicit_bzero.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+explicit_bzero.$(OBJEXT): {$(VPATH)}explicit_bzero.c</div><div class='add'>+explicit_bzero.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+explicit_bzero.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+explicit_bzero.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+explicit_bzero.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+explicit_bzero.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+explicit_bzero.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+explicit_bzero.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+explicit_bzero.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+explicit_bzero.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+explicit_bzero.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+explicit_bzero.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+file.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+file.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+file.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+file.$(OBJEXT): $(top_srcdir)/internal/class.h</div><div class='add'>+file.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+file.$(OBJEXT): $(top_srcdir)/internal/dir.h</div><div class='add'>+file.$(OBJEXT): $(top_srcdir)/internal/error.h</div><div class='add'>+file.$(OBJEXT): $(top_srcdir)/internal/file.h</div><div class='add'>+file.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+file.$(OBJEXT): $(top_srcdir)/internal/imemo.h</div><div class='add'>+file.$(OBJEXT): $(top_srcdir)/internal/io.h</div><div class='add'>+file.$(OBJEXT): $(top_srcdir)/internal/load.h</div><div class='add'>+file.$(OBJEXT): $(top_srcdir)/internal/object.h</div><div class='add'>+file.$(OBJEXT): $(top_srcdir)/internal/process.h</div><div class='add'>+file.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+file.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+file.$(OBJEXT): $(top_srcdir)/internal/string.h</div><div class='add'>+file.$(OBJEXT): $(top_srcdir)/internal/thread.h</div><div class='add'>+file.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+file.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}dln.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}encindex.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}file.c</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}io.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}thread.h</div><div class='add'>+file.$(OBJEXT): {$(VPATH)}util.h</div><div class='add'>+gc.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='add'>+gc.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='add'>+gc.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='add'>+gc.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='add'>+gc.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+gc.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+gc.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+gc.$(OBJEXT): $(top_srcdir)/internal/bignum.h</div><div class='add'>+gc.$(OBJEXT): $(top_srcdir)/internal/bits.h</div><div class='add'>+gc.$(OBJEXT): $(top_srcdir)/internal/class.h</div><div class='add'>+gc.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+gc.$(OBJEXT): $(top_srcdir)/internal/complex.h</div><div class='add'>+gc.$(OBJEXT): $(top_srcdir)/internal/cont.h</div><div class='add'>+gc.$(OBJEXT): $(top_srcdir)/internal/error.h</div><div class='add'>+gc.$(OBJEXT): $(top_srcdir)/internal/eval.h</div><div class='add'>+gc.$(OBJEXT): $(top_srcdir)/internal/fixnum.h</div><div class='add'>+gc.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+gc.$(OBJEXT): $(top_srcdir)/internal/hash.h</div><div class='add'>+gc.$(OBJEXT): $(top_srcdir)/internal/imemo.h</div><div class='add'>+gc.$(OBJEXT): $(top_srcdir)/internal/io.h</div><div class='add'>+gc.$(OBJEXT): $(top_srcdir)/internal/numeric.h</div><div class='add'>+gc.$(OBJEXT): $(top_srcdir)/internal/object.h</div><div class='add'>+gc.$(OBJEXT): $(top_srcdir)/internal/proc.h</div><div class='add'>+gc.$(OBJEXT): $(top_srcdir)/internal/rational.h</div><div class='add'>+gc.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h</div><div class='add'>+gc.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+gc.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+gc.$(OBJEXT): $(top_srcdir)/internal/string.h</div><div class='add'>+gc.$(OBJEXT): $(top_srcdir)/internal/struct.h</div><div class='add'>+gc.$(OBJEXT): $(top_srcdir)/internal/symbol.h</div><div class='add'>+gc.$(OBJEXT): $(top_srcdir)/internal/thread.h</div><div class='add'>+gc.$(OBJEXT): $(top_srcdir)/internal/variable.h</div><div class='add'>+gc.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+gc.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}atomic.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}builtin.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}constant.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}debug.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}debug_counter.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}eval_intern.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}gc.c</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}gc.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}gc.rbinc</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/core/rmatch.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}io.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}method.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}mjit.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}node.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}probes.dmyh</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}probes.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}ractor.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}ractor_core.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}re.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}regenc.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}regex.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}regint.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}symbol.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}thread.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}transient_heap.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}util.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}vm_callinfo.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='add'>+gc.$(OBJEXT): {$(VPATH)}vm_sync.h</div><div class='add'>+golf_prelude.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='add'>+golf_prelude.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='add'>+golf_prelude.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='add'>+golf_prelude.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='add'>+golf_prelude.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+golf_prelude.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+golf_prelude.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+golf_prelude.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+golf_prelude.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+golf_prelude.$(OBJEXT): $(top_srcdir)/internal/imemo.h</div><div class='add'>+golf_prelude.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+golf_prelude.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+golf_prelude.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+golf_prelude.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}atomic.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}golf_prelude.c</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}golf_prelude.rb</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}iseq.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}method.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}node.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='add'>+golf_prelude.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='add'>+goruby.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+goruby.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}backward.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}goruby.c</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}main.c</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}node.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+goruby.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='add'>+hash.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+hash.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+hash.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+hash.$(OBJEXT): $(top_srcdir)/internal/bignum.h</div><div class='add'>+hash.$(OBJEXT): $(top_srcdir)/internal/bits.h</div><div class='add'>+hash.$(OBJEXT): $(top_srcdir)/internal/class.h</div><div class='add'>+hash.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+hash.$(OBJEXT): $(top_srcdir)/internal/cont.h</div><div class='add'>+hash.$(OBJEXT): $(top_srcdir)/internal/error.h</div><div class='add'>+hash.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+hash.$(OBJEXT): $(top_srcdir)/internal/hash.h</div><div class='add'>+hash.$(OBJEXT): $(top_srcdir)/internal/object.h</div><div class='add'>+hash.$(OBJEXT): $(top_srcdir)/internal/proc.h</div><div class='add'>+hash.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+hash.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+hash.$(OBJEXT): $(top_srcdir)/internal/string.h</div><div class='add'>+hash.$(OBJEXT): $(top_srcdir)/internal/symbol.h</div><div class='add'>+hash.$(OBJEXT): $(top_srcdir)/internal/time.h</div><div class='add'>+hash.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+hash.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}debug_counter.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}hash.c</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}probes.dmyh</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}probes.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}symbol.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}transient_heap.h</div><div class='add'>+hash.$(OBJEXT): {$(VPATH)}util.h</div><div class='add'>+inits.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+inits.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+inits.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+inits.$(OBJEXT): $(top_srcdir)/internal/inits.h</div><div class='add'>+inits.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}builtin.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}inits.c</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}prelude.rbinc</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+inits.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+io.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='add'>+io.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='add'>+io.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='add'>+io.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='add'>+io.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+io.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+io.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+io.$(OBJEXT): $(top_srcdir)/internal/bignum.h</div><div class='add'>+io.$(OBJEXT): $(top_srcdir)/internal/bits.h</div><div class='add'>+io.$(OBJEXT): $(top_srcdir)/internal/class.h</div><div class='add'>+io.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+io.$(OBJEXT): $(top_srcdir)/internal/encoding.h</div><div class='add'>+io.$(OBJEXT): $(top_srcdir)/internal/error.h</div><div class='add'>+io.$(OBJEXT): $(top_srcdir)/internal/fixnum.h</div><div class='add'>+io.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+io.$(OBJEXT): $(top_srcdir)/internal/imemo.h</div><div class='add'>+io.$(OBJEXT): $(top_srcdir)/internal/inits.h</div><div class='add'>+io.$(OBJEXT): $(top_srcdir)/internal/io.h</div><div class='add'>+io.$(OBJEXT): $(top_srcdir)/internal/numeric.h</div><div class='add'>+io.$(OBJEXT): $(top_srcdir)/internal/object.h</div><div class='add'>+io.$(OBJEXT): $(top_srcdir)/internal/process.h</div><div class='add'>+io.$(OBJEXT): $(top_srcdir)/internal/scheduler.h</div><div class='add'>+io.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+io.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+io.$(OBJEXT): $(top_srcdir)/internal/string.h</div><div class='add'>+io.$(OBJEXT): $(top_srcdir)/internal/thread.h</div><div class='add'>+io.$(OBJEXT): $(top_srcdir)/internal/transcode.h</div><div class='add'>+io.$(OBJEXT): $(top_srcdir)/internal/variable.h</div><div class='add'>+io.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+io.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}atomic.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}builtin.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}constant.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}dln.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}encindex.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}io.c</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}io.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}io.rbinc</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}method.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}node.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}ractor.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}thread.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}util.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='add'>+io.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='add'>+iseq.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='add'>+iseq.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='add'>+iseq.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='add'>+iseq.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='add'>+iseq.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+iseq.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+iseq.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+iseq.$(OBJEXT): $(top_srcdir)/internal/bits.h</div><div class='add'>+iseq.$(OBJEXT): $(top_srcdir)/internal/class.h</div><div class='add'>+iseq.$(OBJEXT): $(top_srcdir)/internal/compile.h</div><div class='add'>+iseq.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+iseq.$(OBJEXT): $(top_srcdir)/internal/error.h</div><div class='add'>+iseq.$(OBJEXT): $(top_srcdir)/internal/file.h</div><div class='add'>+iseq.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+iseq.$(OBJEXT): $(top_srcdir)/internal/hash.h</div><div class='add'>+iseq.$(OBJEXT): $(top_srcdir)/internal/imemo.h</div><div class='add'>+iseq.$(OBJEXT): $(top_srcdir)/internal/parse.h</div><div class='add'>+iseq.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h</div><div class='add'>+iseq.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+iseq.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+iseq.$(OBJEXT): $(top_srcdir)/internal/string.h</div><div class='add'>+iseq.$(OBJEXT): $(top_srcdir)/internal/symbol.h</div><div class='add'>+iseq.$(OBJEXT): $(top_srcdir)/internal/thread.h</div><div class='add'>+iseq.$(OBJEXT): $(top_srcdir)/internal/variable.h</div><div class='add'>+iseq.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+iseq.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}atomic.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}builtin.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}constant.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}debug_counter.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}eval_intern.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}gc.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}insns.def</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}insns.inc</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}insns_info.inc</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}iseq.c</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}iseq.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}method.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}mjit.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}node.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}node_name.inc</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}util.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}vm_callinfo.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='add'>+iseq.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='add'>+load.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='add'>+load.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='add'>+load.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='add'>+load.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='add'>+load.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+load.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+load.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+load.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+load.$(OBJEXT): $(top_srcdir)/internal/dir.h</div><div class='add'>+load.$(OBJEXT): $(top_srcdir)/internal/error.h</div><div class='add'>+load.$(OBJEXT): $(top_srcdir)/internal/file.h</div><div class='add'>+load.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+load.$(OBJEXT): $(top_srcdir)/internal/imemo.h</div><div class='add'>+load.$(OBJEXT): $(top_srcdir)/internal/load.h</div><div class='add'>+load.$(OBJEXT): $(top_srcdir)/internal/parse.h</div><div class='add'>+load.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+load.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+load.$(OBJEXT): $(top_srcdir)/internal/string.h</div><div class='add'>+load.$(OBJEXT): $(top_srcdir)/internal/thread.h</div><div class='add'>+load.$(OBJEXT): $(top_srcdir)/internal/variable.h</div><div class='add'>+load.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+load.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}atomic.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}constant.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}dln.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}eval_intern.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}iseq.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}load.c</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}method.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}node.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}probes.dmyh</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}probes.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}util.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='add'>+load.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='add'>+loadpath.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+loadpath.$(OBJEXT): $(hdrdir)/ruby/version.h</div><div class='add'>+loadpath.$(OBJEXT): $(top_srcdir)/version.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}loadpath.c</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+loadpath.$(OBJEXT): {$(VPATH)}verconf.h</div><div class='add'>+localeinit.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+localeinit.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}encindex.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}localeinit.c</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+localeinit.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+main.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+main.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}backward.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}main.c</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}node.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+main.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='add'>+marshal.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+marshal.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+marshal.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+marshal.$(OBJEXT): $(top_srcdir)/internal/bignum.h</div><div class='add'>+marshal.$(OBJEXT): $(top_srcdir)/internal/class.h</div><div class='add'>+marshal.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+marshal.$(OBJEXT): $(top_srcdir)/internal/encoding.h</div><div class='add'>+marshal.$(OBJEXT): $(top_srcdir)/internal/error.h</div><div class='add'>+marshal.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+marshal.$(OBJEXT): $(top_srcdir)/internal/hash.h</div><div class='add'>+marshal.$(OBJEXT): $(top_srcdir)/internal/object.h</div><div class='add'>+marshal.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+marshal.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+marshal.$(OBJEXT): $(top_srcdir)/internal/string.h</div><div class='add'>+marshal.$(OBJEXT): $(top_srcdir)/internal/struct.h</div><div class='add'>+marshal.$(OBJEXT): $(top_srcdir)/internal/util.h</div><div class='add'>+marshal.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+marshal.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}encindex.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}io.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}marshal.c</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+marshal.$(OBJEXT): {$(VPATH)}util.h</div><div class='add'>+math.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+math.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+math.$(OBJEXT): $(top_srcdir)/internal/bignum.h</div><div class='add'>+math.$(OBJEXT): $(top_srcdir)/internal/class.h</div><div class='add'>+math.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+math.$(OBJEXT): $(top_srcdir)/internal/complex.h</div><div class='add'>+math.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+math.$(OBJEXT): $(top_srcdir)/internal/math.h</div><div class='add'>+math.$(OBJEXT): $(top_srcdir)/internal/object.h</div><div class='add'>+math.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+math.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+math.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+math.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}math.c</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+math.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+memory_view.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+memory_view.$(OBJEXT): $(top_srcdir)/internal/hash.h</div><div class='add'>+memory_view.$(OBJEXT): $(top_srcdir)/internal/util.h</div><div class='add'>+memory_view.$(OBJEXT): $(top_srcdir)/internal/variable.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}constant.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}debug_counter.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}memory_view.c</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}memory_view.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}node.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='add'>+memory_view.$(OBJEXT): {$(VPATH)}vm_sync.h</div><div class='add'>+miniinit.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='add'>+miniinit.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='add'>+miniinit.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='add'>+miniinit.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='add'>+miniinit.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+miniinit.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+miniinit.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+miniinit.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+miniinit.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+miniinit.$(OBJEXT): $(top_srcdir)/internal/imemo.h</div><div class='add'>+miniinit.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+miniinit.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+miniinit.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+miniinit.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}array.rb</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}ast.rb</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}atomic.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}builtin.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}dir.rb</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}gc.rb</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}gem_prelude.rb</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}integer.rb</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}io.rb</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}iseq.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}kernel.rb</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}method.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}mini_builtin.c</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}miniinit.c</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}miniprelude.c</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}node.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}pack.rb</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}prelude.rb</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}ractor.rb</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}trace_point.rb</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='add'>+miniinit.$(OBJEXT): {$(VPATH)}warning.rb</div><div class='add'>+miniprelude.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='add'>+miniprelude.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='add'>+miniprelude.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='add'>+miniprelude.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='add'>+miniprelude.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+miniprelude.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+miniprelude.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+miniprelude.$(OBJEXT): {$(VPATH)}ast.rb</div><div class='add'>+miniprelude.$(OBJEXT): {$(VPATH)}atomic.h</div><div class='add'>+miniprelude.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+miniprelude.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+miniprelude.$(OBJEXT): {$(VPATH)}gc.rb</div><div class='add'>+miniprelude.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+miniprelude.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+miniprelude.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+miniprelude.$(OBJEXT): {$(VPATH)}io.rb</div><div class='add'>+miniprelude.$(OBJEXT): {$(VPATH)}iseq.h</div><div class='add'>+miniprelude.$(OBJEXT): {$(VPATH)}method.h</div><div class='add'>+miniprelude.$(OBJEXT): {$(VPATH)}miniprelude.c</div><div class='add'>+miniprelude.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+miniprelude.$(OBJEXT): {$(VPATH)}node.h</div><div class='add'>+miniprelude.$(OBJEXT): {$(VPATH)}pack.rb</div><div class='add'>+miniprelude.$(OBJEXT): {$(VPATH)}prelude.rb</div><div class='add'>+miniprelude.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+miniprelude.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='add'>+miniprelude.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+miniprelude.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+miniprelude.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='add'>+miniprelude.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='add'>+miniprelude.$(OBJEXT): {$(VPATH)}trace_point.rb</div><div class='add'>+miniprelude.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='add'>+miniprelude.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='add'>+mjit.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='add'>+mjit.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='add'>+mjit.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='add'>+mjit.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='add'>+mjit.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+mjit.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+mjit.$(OBJEXT): $(hdrdir)/ruby/version.h</div><div class='add'>+mjit.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+mjit.$(OBJEXT): $(top_srcdir)/internal/class.h</div><div class='add'>+mjit.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+mjit.$(OBJEXT): $(top_srcdir)/internal/cont.h</div><div class='add'>+mjit.$(OBJEXT): $(top_srcdir)/internal/file.h</div><div class='add'>+mjit.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+mjit.$(OBJEXT): $(top_srcdir)/internal/hash.h</div><div class='add'>+mjit.$(OBJEXT): $(top_srcdir)/internal/imemo.h</div><div class='add'>+mjit.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+mjit.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+mjit.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+mjit.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}atomic.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}constant.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}debug.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}debug_counter.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}dln.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}gc.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}method.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}mjit.c</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}mjit.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}mjit_config.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}mjit_worker.c</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}node.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}thread.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}util.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}vm_callinfo.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='add'>+mjit.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='add'>+mjit_build_dir.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+mjit_build_dir.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+mjit_build_dir.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+mjit_build_dir.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+mjit_build_dir.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+mjit_build_dir.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+mjit_build_dir.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+mjit_build_dir.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+mjit_build_dir.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+mjit_build_dir.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+mjit_build_dir.$(OBJEXT): {$(VPATH)}ruby-runner.c</div><div class='add'>+mjit_build_dir.$(OBJEXT): {$(VPATH)}ruby-runner.h</div><div class='add'>+mjit_compile.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='add'>+mjit_compile.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='add'>+mjit_compile.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='add'>+mjit_compile.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='add'>+mjit_compile.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+mjit_compile.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+mjit_compile.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+mjit_compile.$(OBJEXT): $(top_srcdir)/internal/class.h</div><div class='add'>+mjit_compile.$(OBJEXT): $(top_srcdir)/internal/compile.h</div><div class='add'>+mjit_compile.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+mjit_compile.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+mjit_compile.$(OBJEXT): $(top_srcdir)/internal/hash.h</div><div class='add'>+mjit_compile.$(OBJEXT): $(top_srcdir)/internal/imemo.h</div><div class='add'>+mjit_compile.$(OBJEXT): $(top_srcdir)/internal/object.h</div><div class='add'>+mjit_compile.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+mjit_compile.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+mjit_compile.$(OBJEXT): $(top_srcdir)/internal/variable.h</div><div class='add'>+mjit_compile.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+mjit_compile.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}atomic.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}builtin.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}constant.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}debug_counter.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}insns.def</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}insns.inc</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}insns_info.inc</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}iseq.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}method.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}mjit.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}mjit_compile.c</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}mjit_compile.inc</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}node.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}vm_callinfo.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}vm_exec.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}vm_insnhelper.h</div><div class='add'>+mjit_compile.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='add'>+node.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='add'>+node.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='add'>+node.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='add'>+node.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='add'>+node.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+node.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+node.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+node.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+node.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+node.$(OBJEXT): $(top_srcdir)/internal/hash.h</div><div class='add'>+node.$(OBJEXT): $(top_srcdir)/internal/imemo.h</div><div class='add'>+node.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+node.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+node.$(OBJEXT): $(top_srcdir)/internal/variable.h</div><div class='add'>+node.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+node.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}atomic.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}constant.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}method.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}node.c</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}node.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='add'>+node.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='add'>+numeric.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+numeric.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+numeric.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+numeric.$(OBJEXT): $(top_srcdir)/internal/bignum.h</div><div class='add'>+numeric.$(OBJEXT): $(top_srcdir)/internal/bits.h</div><div class='add'>+numeric.$(OBJEXT): $(top_srcdir)/internal/class.h</div><div class='add'>+numeric.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+numeric.$(OBJEXT): $(top_srcdir)/internal/complex.h</div><div class='add'>+numeric.$(OBJEXT): $(top_srcdir)/internal/enumerator.h</div><div class='add'>+numeric.$(OBJEXT): $(top_srcdir)/internal/fixnum.h</div><div class='add'>+numeric.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+numeric.$(OBJEXT): $(top_srcdir)/internal/hash.h</div><div class='add'>+numeric.$(OBJEXT): $(top_srcdir)/internal/numeric.h</div><div class='add'>+numeric.$(OBJEXT): $(top_srcdir)/internal/object.h</div><div class='add'>+numeric.$(OBJEXT): $(top_srcdir)/internal/rational.h</div><div class='add'>+numeric.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+numeric.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+numeric.$(OBJEXT): $(top_srcdir)/internal/util.h</div><div class='add'>+numeric.$(OBJEXT): $(top_srcdir)/internal/variable.h</div><div class='add'>+numeric.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+numeric.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}builtin.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}constant.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}integer.rb</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}integer.rbinc</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}numeric.c</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+numeric.$(OBJEXT): {$(VPATH)}util.h</div><div class='add'>+object.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+object.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+object.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+object.$(OBJEXT): $(top_srcdir)/internal/bignum.h</div><div class='add'>+object.$(OBJEXT): $(top_srcdir)/internal/bits.h</div><div class='add'>+object.$(OBJEXT): $(top_srcdir)/internal/class.h</div><div class='add'>+object.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+object.$(OBJEXT): $(top_srcdir)/internal/error.h</div><div class='add'>+object.$(OBJEXT): $(top_srcdir)/internal/eval.h</div><div class='add'>+object.$(OBJEXT): $(top_srcdir)/internal/fixnum.h</div><div class='add'>+object.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+object.$(OBJEXT): $(top_srcdir)/internal/inits.h</div><div class='add'>+object.$(OBJEXT): $(top_srcdir)/internal/numeric.h</div><div class='add'>+object.$(OBJEXT): $(top_srcdir)/internal/object.h</div><div class='add'>+object.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+object.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+object.$(OBJEXT): $(top_srcdir)/internal/string.h</div><div class='add'>+object.$(OBJEXT): $(top_srcdir)/internal/struct.h</div><div class='add'>+object.$(OBJEXT): $(top_srcdir)/internal/symbol.h</div><div class='add'>+object.$(OBJEXT): $(top_srcdir)/internal/variable.h</div><div class='add'>+object.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+object.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}builtin.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}constant.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}kernel.rb</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}kernel.rbinc</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}object.c</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}probes.dmyh</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}probes.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+object.$(OBJEXT): {$(VPATH)}util.h</div><div class='add'>+pack.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+pack.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+pack.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+pack.$(OBJEXT): $(top_srcdir)/internal/bits.h</div><div class='add'>+pack.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+pack.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+pack.$(OBJEXT): $(top_srcdir)/internal/string.h</div><div class='add'>+pack.$(OBJEXT): $(top_srcdir)/internal/symbol.h</div><div class='add'>+pack.$(OBJEXT): $(top_srcdir)/internal/util.h</div><div class='add'>+pack.$(OBJEXT): $(top_srcdir)/internal/variable.h</div><div class='add'>+pack.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}builtin.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}constant.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}pack.c</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}pack.rbinc</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+pack.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+parse.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+parse.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+parse.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+parse.$(OBJEXT): $(top_srcdir)/internal/bignum.h</div><div class='add'>+parse.$(OBJEXT): $(top_srcdir)/internal/bits.h</div><div class='add'>+parse.$(OBJEXT): $(top_srcdir)/internal/compile.h</div><div class='add'>+parse.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+parse.$(OBJEXT): $(top_srcdir)/internal/complex.h</div><div class='add'>+parse.$(OBJEXT): $(top_srcdir)/internal/error.h</div><div class='add'>+parse.$(OBJEXT): $(top_srcdir)/internal/fixnum.h</div><div class='add'>+parse.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+parse.$(OBJEXT): $(top_srcdir)/internal/hash.h</div><div class='add'>+parse.$(OBJEXT): $(top_srcdir)/internal/imemo.h</div><div class='add'>+parse.$(OBJEXT): $(top_srcdir)/internal/io.h</div><div class='add'>+parse.$(OBJEXT): $(top_srcdir)/internal/numeric.h</div><div class='add'>+parse.$(OBJEXT): $(top_srcdir)/internal/parse.h</div><div class='add'>+parse.$(OBJEXT): $(top_srcdir)/internal/rational.h</div><div class='add'>+parse.$(OBJEXT): $(top_srcdir)/internal/re.h</div><div class='add'>+parse.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+parse.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+parse.$(OBJEXT): $(top_srcdir)/internal/string.h</div><div class='add'>+parse.$(OBJEXT): $(top_srcdir)/internal/symbol.h</div><div class='add'>+parse.$(OBJEXT): $(top_srcdir)/internal/thread.h</div><div class='add'>+parse.$(OBJEXT): $(top_srcdir)/internal/util.h</div><div class='add'>+parse.$(OBJEXT): $(top_srcdir)/internal/variable.h</div><div class='add'>+parse.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+parse.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}constant.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}defs/keywords</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}io.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}lex.c</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}node.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}parse.c</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}parse.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}parse.y</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}probes.dmyh</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}probes.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}ractor.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}regenc.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}regex.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}symbol.h</div><div class='add'>+parse.$(OBJEXT): {$(VPATH)}util.h</div><div class='add'>+prelude.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='add'>+prelude.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='add'>+prelude.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='add'>+prelude.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='add'>+prelude.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+prelude.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+prelude.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+prelude.$(OBJEXT): {$(VPATH)}atomic.h</div><div class='add'>+prelude.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+prelude.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+prelude.$(OBJEXT): {$(VPATH)}gem_prelude.rb</div><div class='add'>+prelude.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+prelude.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+prelude.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+prelude.$(OBJEXT): {$(VPATH)}iseq.h</div><div class='add'>+prelude.$(OBJEXT): {$(VPATH)}method.h</div><div class='add'>+prelude.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+prelude.$(OBJEXT): {$(VPATH)}node.h</div><div class='add'>+prelude.$(OBJEXT): {$(VPATH)}prelude.c</div><div class='add'>+prelude.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+prelude.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='add'>+prelude.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+prelude.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+prelude.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='add'>+prelude.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='add'>+prelude.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='add'>+prelude.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='add'>+proc.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='add'>+proc.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='add'>+proc.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='add'>+proc.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='add'>+proc.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+proc.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+proc.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+proc.$(OBJEXT): $(top_srcdir)/internal/class.h</div><div class='add'>+proc.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+proc.$(OBJEXT): $(top_srcdir)/internal/error.h</div><div class='add'>+proc.$(OBJEXT): $(top_srcdir)/internal/eval.h</div><div class='add'>+proc.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+proc.$(OBJEXT): $(top_srcdir)/internal/imemo.h</div><div class='add'>+proc.$(OBJEXT): $(top_srcdir)/internal/object.h</div><div class='add'>+proc.$(OBJEXT): $(top_srcdir)/internal/proc.h</div><div class='add'>+proc.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+proc.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+proc.$(OBJEXT): $(top_srcdir)/internal/string.h</div><div class='add'>+proc.$(OBJEXT): $(top_srcdir)/internal/symbol.h</div><div class='add'>+proc.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+proc.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}atomic.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}eval_intern.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}gc.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}iseq.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}method.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}node.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}proc.c</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='add'>+proc.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='add'>+process.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='add'>+process.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='add'>+process.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='add'>+process.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='add'>+process.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+process.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+process.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+process.$(OBJEXT): $(top_srcdir)/internal/bits.h</div><div class='add'>+process.$(OBJEXT): $(top_srcdir)/internal/class.h</div><div class='add'>+process.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+process.$(OBJEXT): $(top_srcdir)/internal/dir.h</div><div class='add'>+process.$(OBJEXT): $(top_srcdir)/internal/error.h</div><div class='add'>+process.$(OBJEXT): $(top_srcdir)/internal/eval.h</div><div class='add'>+process.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+process.$(OBJEXT): $(top_srcdir)/internal/hash.h</div><div class='add'>+process.$(OBJEXT): $(top_srcdir)/internal/imemo.h</div><div class='add'>+process.$(OBJEXT): $(top_srcdir)/internal/object.h</div><div class='add'>+process.$(OBJEXT): $(top_srcdir)/internal/process.h</div><div class='add'>+process.$(OBJEXT): $(top_srcdir)/internal/scheduler.h</div><div class='add'>+process.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+process.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+process.$(OBJEXT): $(top_srcdir)/internal/string.h</div><div class='add'>+process.$(OBJEXT): $(top_srcdir)/internal/thread.h</div><div class='add'>+process.$(OBJEXT): $(top_srcdir)/internal/variable.h</div><div class='add'>+process.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+process.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}$(COROUTINE_H)</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}atomic.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}constant.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}debug_counter.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}dln.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}hrtime.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}io.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}method.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}mjit.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}node.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}process.c</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}ractor.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}thread.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}util.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='add'>+process.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='add'>+ractor.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='add'>+ractor.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='add'>+ractor.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='add'>+ractor.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='add'>+ractor.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+ractor.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+ractor.$(OBJEXT): $(top_srcdir)/internal/bignum.h</div><div class='add'>+ractor.$(OBJEXT): $(top_srcdir)/internal/bits.h</div><div class='add'>+ractor.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+ractor.$(OBJEXT): $(top_srcdir)/internal/complex.h</div><div class='add'>+ractor.$(OBJEXT): $(top_srcdir)/internal/error.h</div><div class='add'>+ractor.$(OBJEXT): $(top_srcdir)/internal/fixnum.h</div><div class='add'>+ractor.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+ractor.$(OBJEXT): $(top_srcdir)/internal/hash.h</div><div class='add'>+ractor.$(OBJEXT): $(top_srcdir)/internal/imemo.h</div><div class='add'>+ractor.$(OBJEXT): $(top_srcdir)/internal/numeric.h</div><div class='add'>+ractor.$(OBJEXT): $(top_srcdir)/internal/rational.h</div><div class='add'>+ractor.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+ractor.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+ractor.$(OBJEXT): $(top_srcdir)/internal/string.h</div><div class='add'>+ractor.$(OBJEXT): $(top_srcdir)/internal/struct.h</div><div class='add'>+ractor.$(OBJEXT): $(top_srcdir)/internal/thread.h</div><div class='add'>+ractor.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+ractor.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}atomic.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}builtin.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}constant.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}debug.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}debug_counter.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}gc.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}method.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}node.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}ractor.c</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}ractor.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}ractor.rb</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}ractor.rbinc</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}ractor_core.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}thread.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}transient_heap.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}variable.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='add'>+ractor.$(OBJEXT): {$(VPATH)}vm_sync.h</div><div class='add'>+random.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+random.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+random.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+random.$(OBJEXT): $(top_srcdir)/internal/bignum.h</div><div class='add'>+random.$(OBJEXT): $(top_srcdir)/internal/bits.h</div><div class='add'>+random.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+random.$(OBJEXT): $(top_srcdir)/internal/error.h</div><div class='add'>+random.$(OBJEXT): $(top_srcdir)/internal/fixnum.h</div><div class='add'>+random.$(OBJEXT): $(top_srcdir)/internal/numeric.h</div><div class='add'>+random.$(OBJEXT): $(top_srcdir)/internal/random.h</div><div class='add'>+random.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h</div><div class='add'>+random.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+random.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+random.$(OBJEXT): $(top_srcdir)/internal/string.h</div><div class='add'>+random.$(OBJEXT): $(top_srcdir)/internal/variable.h</div><div class='add'>+random.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+random.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}atomic.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}constant.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}mt19937.c</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}ractor.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}random.c</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}random.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}siphash.c</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}siphash.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+random.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+range.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+range.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+range.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+range.$(OBJEXT): $(top_srcdir)/internal/bignum.h</div><div class='add'>+range.$(OBJEXT): $(top_srcdir)/internal/bits.h</div><div class='add'>+range.$(OBJEXT): $(top_srcdir)/internal/compar.h</div><div class='add'>+range.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+range.$(OBJEXT): $(top_srcdir)/internal/enum.h</div><div class='add'>+range.$(OBJEXT): $(top_srcdir)/internal/enumerator.h</div><div class='add'>+range.$(OBJEXT): $(top_srcdir)/internal/error.h</div><div class='add'>+range.$(OBJEXT): $(top_srcdir)/internal/fixnum.h</div><div class='add'>+range.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+range.$(OBJEXT): $(top_srcdir)/internal/numeric.h</div><div class='add'>+range.$(OBJEXT): $(top_srcdir)/internal/range.h</div><div class='add'>+range.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+range.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+range.$(OBJEXT): $(top_srcdir)/internal/string.h</div><div class='add'>+range.$(OBJEXT): $(top_srcdir)/internal/struct.h</div><div class='add'>+range.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+range.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}range.c</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+range.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+rational.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+rational.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+rational.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+rational.$(OBJEXT): $(top_srcdir)/internal/bignum.h</div><div class='add'>+rational.$(OBJEXT): $(top_srcdir)/internal/bits.h</div><div class='add'>+rational.$(OBJEXT): $(top_srcdir)/internal/class.h</div><div class='add'>+rational.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+rational.$(OBJEXT): $(top_srcdir)/internal/complex.h</div><div class='add'>+rational.$(OBJEXT): $(top_srcdir)/internal/error.h</div><div class='add'>+rational.$(OBJEXT): $(top_srcdir)/internal/fixnum.h</div><div class='add'>+rational.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+rational.$(OBJEXT): $(top_srcdir)/internal/numeric.h</div><div class='add'>+rational.$(OBJEXT): $(top_srcdir)/internal/object.h</div><div class='add'>+rational.$(OBJEXT): $(top_srcdir)/internal/rational.h</div><div class='add'>+rational.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+rational.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+rational.$(OBJEXT): $(top_srcdir)/internal/string.h</div><div class='add'>+rational.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+rational.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}rational.c</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+rational.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+re.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+re.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+re.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+re.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+re.$(OBJEXT): $(top_srcdir)/internal/error.h</div><div class='add'>+re.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+re.$(OBJEXT): $(top_srcdir)/internal/hash.h</div><div class='add'>+re.$(OBJEXT): $(top_srcdir)/internal/imemo.h</div><div class='add'>+re.$(OBJEXT): $(top_srcdir)/internal/re.h</div><div class='add'>+re.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+re.$(OBJEXT): $(top_srcdir)/internal/string.h</div><div class='add'>+re.$(OBJEXT): $(top_srcdir)/internal/variable.h</div><div class='add'>+re.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}constant.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}encindex.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/core/rmatch.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}re.c</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}re.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}regenc.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}regex.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}regint.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+re.$(OBJEXT): {$(VPATH)}util.h</div><div class='add'>+regcomp.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}regcomp.c</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}regenc.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}regint.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}regparse.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+regcomp.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+regenc.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}regenc.c</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}regenc.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}regint.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+regenc.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+regerror.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}regenc.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}regerror.c</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}regint.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+regerror.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+regexec.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}regenc.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}regexec.c</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}regint.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+regexec.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+regparse.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}regenc.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}regint.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}regparse.c</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}regparse.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+regparse.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+regsyntax.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}regenc.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}regint.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}regsyntax.c</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+regsyntax.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+ruby-runner.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+ruby-runner.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+ruby-runner.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+ruby-runner.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+ruby-runner.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+ruby-runner.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+ruby-runner.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+ruby-runner.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+ruby-runner.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+ruby-runner.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+ruby-runner.$(OBJEXT): {$(VPATH)}ruby-runner.c</div><div class='add'>+ruby-runner.$(OBJEXT): {$(VPATH)}ruby-runner.h</div><div class='add'>+ruby.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='add'>+ruby.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='add'>+ruby.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='add'>+ruby.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='add'>+ruby.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+ruby.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+ruby.$(OBJEXT): $(hdrdir)/ruby/version.h</div><div class='add'>+ruby.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+ruby.$(OBJEXT): $(top_srcdir)/internal/class.h</div><div class='add'>+ruby.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+ruby.$(OBJEXT): $(top_srcdir)/internal/error.h</div><div class='add'>+ruby.$(OBJEXT): $(top_srcdir)/internal/file.h</div><div class='add'>+ruby.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+ruby.$(OBJEXT): $(top_srcdir)/internal/imemo.h</div><div class='add'>+ruby.$(OBJEXT): $(top_srcdir)/internal/inits.h</div><div class='add'>+ruby.$(OBJEXT): $(top_srcdir)/internal/io.h</div><div class='add'>+ruby.$(OBJEXT): $(top_srcdir)/internal/load.h</div><div class='add'>+ruby.$(OBJEXT): $(top_srcdir)/internal/loadpath.h</div><div class='add'>+ruby.$(OBJEXT): $(top_srcdir)/internal/missing.h</div><div class='add'>+ruby.$(OBJEXT): $(top_srcdir)/internal/object.h</div><div class='add'>+ruby.$(OBJEXT): $(top_srcdir)/internal/parse.h</div><div class='add'>+ruby.$(OBJEXT): $(top_srcdir)/internal/process.h</div><div class='add'>+ruby.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+ruby.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+ruby.$(OBJEXT): $(top_srcdir)/internal/string.h</div><div class='add'>+ruby.$(OBJEXT): $(top_srcdir)/internal/variable.h</div><div class='add'>+ruby.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+ruby.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}atomic.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}constant.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}debug_counter.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}dln.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}eval_intern.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}io.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}method.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}mjit.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}node.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}ruby.c</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}thread.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}util.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='add'>+ruby.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='add'>+scheduler.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='add'>+scheduler.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='add'>+scheduler.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='add'>+scheduler.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='add'>+scheduler.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+scheduler.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+scheduler.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+scheduler.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+scheduler.$(OBJEXT): $(top_srcdir)/internal/imemo.h</div><div class='add'>+scheduler.$(OBJEXT): $(top_srcdir)/internal/scheduler.h</div><div class='add'>+scheduler.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+scheduler.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+scheduler.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+scheduler.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}atomic.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/scheduler.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}io.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}method.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}node.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}scheduler.c</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='add'>+scheduler.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='add'>+setproctitle.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+setproctitle.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}setproctitle.c</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+setproctitle.$(OBJEXT): {$(VPATH)}util.h</div><div class='add'>+signal.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='add'>+signal.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='add'>+signal.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='add'>+signal.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='add'>+signal.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+signal.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+signal.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+signal.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+signal.$(OBJEXT): $(top_srcdir)/internal/eval.h</div><div class='add'>+signal.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+signal.$(OBJEXT): $(top_srcdir)/internal/imemo.h</div><div class='add'>+signal.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h</div><div class='add'>+signal.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+signal.$(OBJEXT): $(top_srcdir)/internal/signal.h</div><div class='add'>+signal.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+signal.$(OBJEXT): $(top_srcdir)/internal/string.h</div><div class='add'>+signal.$(OBJEXT): $(top_srcdir)/internal/thread.h</div><div class='add'>+signal.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+signal.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}atomic.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}debug_counter.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}eval_intern.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}method.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}node.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}ractor.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}ractor_core.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}signal.c</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='add'>+signal.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='add'>+sprintf.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+sprintf.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+sprintf.$(OBJEXT): $(top_srcdir)/internal/bignum.h</div><div class='add'>+sprintf.$(OBJEXT): $(top_srcdir)/internal/bits.h</div><div class='add'>+sprintf.$(OBJEXT): $(top_srcdir)/internal/class.h</div><div class='add'>+sprintf.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+sprintf.$(OBJEXT): $(top_srcdir)/internal/error.h</div><div class='add'>+sprintf.$(OBJEXT): $(top_srcdir)/internal/fixnum.h</div><div class='add'>+sprintf.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+sprintf.$(OBJEXT): $(top_srcdir)/internal/hash.h</div><div class='add'>+sprintf.$(OBJEXT): $(top_srcdir)/internal/numeric.h</div><div class='add'>+sprintf.$(OBJEXT): $(top_srcdir)/internal/object.h</div><div class='add'>+sprintf.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h</div><div class='add'>+sprintf.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+sprintf.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+sprintf.$(OBJEXT): $(top_srcdir)/internal/string.h</div><div class='add'>+sprintf.$(OBJEXT): $(top_srcdir)/internal/symbol.h</div><div class='add'>+sprintf.$(OBJEXT): $(top_srcdir)/internal/util.h</div><div class='add'>+sprintf.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+sprintf.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/core/rmatch.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}re.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}regex.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}sprintf.c</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+sprintf.$(OBJEXT): {$(VPATH)}vsnprintf.c</div><div class='add'>+st.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+st.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+st.$(OBJEXT): $(top_srcdir)/internal/bits.h</div><div class='add'>+st.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+st.$(OBJEXT): $(top_srcdir)/internal/hash.h</div><div class='add'>+st.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h</div><div class='add'>+st.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+st.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}st.c</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+st.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+strftime.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+strftime.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+strftime.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+strftime.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+strftime.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+strftime.$(OBJEXT): $(top_srcdir)/internal/string.h</div><div class='add'>+strftime.$(OBJEXT): $(top_srcdir)/internal/util.h</div><div class='add'>+strftime.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}strftime.c</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+strftime.$(OBJEXT): {$(VPATH)}timev.h</div><div class='add'>+string.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+string.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+string.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+string.$(OBJEXT): $(top_srcdir)/internal/bignum.h</div><div class='add'>+string.$(OBJEXT): $(top_srcdir)/internal/bits.h</div><div class='add'>+string.$(OBJEXT): $(top_srcdir)/internal/class.h</div><div class='add'>+string.$(OBJEXT): $(top_srcdir)/internal/compar.h</div><div class='add'>+string.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+string.$(OBJEXT): $(top_srcdir)/internal/encoding.h</div><div class='add'>+string.$(OBJEXT): $(top_srcdir)/internal/error.h</div><div class='add'>+string.$(OBJEXT): $(top_srcdir)/internal/fixnum.h</div><div class='add'>+string.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+string.$(OBJEXT): $(top_srcdir)/internal/numeric.h</div><div class='add'>+string.$(OBJEXT): $(top_srcdir)/internal/object.h</div><div class='add'>+string.$(OBJEXT): $(top_srcdir)/internal/proc.h</div><div class='add'>+string.$(OBJEXT): $(top_srcdir)/internal/re.h</div><div class='add'>+string.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h</div><div class='add'>+string.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+string.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+string.$(OBJEXT): $(top_srcdir)/internal/string.h</div><div class='add'>+string.$(OBJEXT): $(top_srcdir)/internal/transcode.h</div><div class='add'>+string.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+string.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}crypt.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}debug_counter.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}encindex.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}gc.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/core/rmatch.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}node.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}probes.dmyh</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}probes.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}re.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}regex.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}string.c</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}util.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='add'>+string.$(OBJEXT): {$(VPATH)}vm_sync.h</div><div class='add'>+strlcat.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+strlcat.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+strlcat.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+strlcat.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+strlcat.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+strlcat.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+strlcat.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+strlcat.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+strlcat.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+strlcat.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+strlcat.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+strlcat.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+strlcat.$(OBJEXT): {$(VPATH)}strlcat.c</div><div class='add'>+strlcpy.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+strlcpy.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+strlcpy.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+strlcpy.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+strlcpy.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+strlcpy.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+strlcpy.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+strlcpy.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+strlcpy.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+strlcpy.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+strlcpy.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+strlcpy.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+strlcpy.$(OBJEXT): {$(VPATH)}strlcpy.c</div><div class='add'>+struct.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='add'>+struct.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='add'>+struct.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='add'>+struct.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='add'>+struct.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+struct.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+struct.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+struct.$(OBJEXT): $(top_srcdir)/internal/class.h</div><div class='add'>+struct.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+struct.$(OBJEXT): $(top_srcdir)/internal/error.h</div><div class='add'>+struct.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+struct.$(OBJEXT): $(top_srcdir)/internal/hash.h</div><div class='add'>+struct.$(OBJEXT): $(top_srcdir)/internal/imemo.h</div><div class='add'>+struct.$(OBJEXT): $(top_srcdir)/internal/object.h</div><div class='add'>+struct.$(OBJEXT): $(top_srcdir)/internal/proc.h</div><div class='add'>+struct.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+struct.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+struct.$(OBJEXT): $(top_srcdir)/internal/string.h</div><div class='add'>+struct.$(OBJEXT): $(top_srcdir)/internal/struct.h</div><div class='add'>+struct.$(OBJEXT): $(top_srcdir)/internal/symbol.h</div><div class='add'>+struct.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+struct.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}atomic.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}builtin.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}method.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}node.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}struct.c</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}transient_heap.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='add'>+struct.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='add'>+symbol.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+symbol.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+symbol.$(OBJEXT): $(top_srcdir)/internal/class.h</div><div class='add'>+symbol.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+symbol.$(OBJEXT): $(top_srcdir)/internal/error.h</div><div class='add'>+symbol.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+symbol.$(OBJEXT): $(top_srcdir)/internal/hash.h</div><div class='add'>+symbol.$(OBJEXT): $(top_srcdir)/internal/object.h</div><div class='add'>+symbol.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+symbol.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+symbol.$(OBJEXT): $(top_srcdir)/internal/string.h</div><div class='add'>+symbol.$(OBJEXT): $(top_srcdir)/internal/symbol.h</div><div class='add'>+symbol.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+symbol.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}debug_counter.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}gc.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}id.c</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}id_table.c</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}node.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}probes.dmyh</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}probes.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}symbol.c</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}symbol.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='add'>+symbol.$(OBJEXT): {$(VPATH)}vm_sync.h</div><div class='add'>+thread.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='add'>+thread.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='add'>+thread.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='add'>+thread.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='add'>+thread.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+thread.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+thread.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+thread.$(OBJEXT): $(top_srcdir)/internal/bits.h</div><div class='add'>+thread.$(OBJEXT): $(top_srcdir)/internal/class.h</div><div class='add'>+thread.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+thread.$(OBJEXT): $(top_srcdir)/internal/cont.h</div><div class='add'>+thread.$(OBJEXT): $(top_srcdir)/internal/error.h</div><div class='add'>+thread.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+thread.$(OBJEXT): $(top_srcdir)/internal/hash.h</div><div class='add'>+thread.$(OBJEXT): $(top_srcdir)/internal/imemo.h</div><div class='add'>+thread.$(OBJEXT): $(top_srcdir)/internal/io.h</div><div class='add'>+thread.$(OBJEXT): $(top_srcdir)/internal/object.h</div><div class='add'>+thread.$(OBJEXT): $(top_srcdir)/internal/proc.h</div><div class='add'>+thread.$(OBJEXT): $(top_srcdir)/internal/scheduler.h</div><div class='add'>+thread.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+thread.$(OBJEXT): $(top_srcdir)/internal/signal.h</div><div class='add'>+thread.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+thread.$(OBJEXT): $(top_srcdir)/internal/string.h</div><div class='add'>+thread.$(OBJEXT): $(top_srcdir)/internal/thread.h</div><div class='add'>+thread.$(OBJEXT): $(top_srcdir)/internal/time.h</div><div class='add'>+thread.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+thread.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}$(COROUTINE_H)</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}atomic.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}debug.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}debug_counter.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}eval_intern.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}gc.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}hrtime.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}io.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}iseq.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}method.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}mjit.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}node.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}ractor.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}ractor_core.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}thread.c</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}thread.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).c</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}thread_sync.c</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}timev.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='add'>+thread.$(OBJEXT): {$(VPATH)}vm_sync.h</div><div class='add'>+time.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+time.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+time.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+time.$(OBJEXT): $(top_srcdir)/internal/bignum.h</div><div class='add'>+time.$(OBJEXT): $(top_srcdir)/internal/bits.h</div><div class='add'>+time.$(OBJEXT): $(top_srcdir)/internal/compar.h</div><div class='add'>+time.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+time.$(OBJEXT): $(top_srcdir)/internal/fixnum.h</div><div class='add'>+time.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+time.$(OBJEXT): $(top_srcdir)/internal/numeric.h</div><div class='add'>+time.$(OBJEXT): $(top_srcdir)/internal/rational.h</div><div class='add'>+time.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+time.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+time.$(OBJEXT): $(top_srcdir)/internal/string.h</div><div class='add'>+time.$(OBJEXT): $(top_srcdir)/internal/time.h</div><div class='add'>+time.$(OBJEXT): $(top_srcdir)/internal/variable.h</div><div class='add'>+time.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+time.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}constant.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}time.c</div><div class='add'>+time.$(OBJEXT): {$(VPATH)}timev.h</div><div class='add'>+transcode.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+transcode.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+transcode.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+transcode.$(OBJEXT): $(top_srcdir)/internal/class.h</div><div class='add'>+transcode.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+transcode.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+transcode.$(OBJEXT): $(top_srcdir)/internal/inits.h</div><div class='add'>+transcode.$(OBJEXT): $(top_srcdir)/internal/object.h</div><div class='add'>+transcode.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+transcode.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+transcode.$(OBJEXT): $(top_srcdir)/internal/string.h</div><div class='add'>+transcode.$(OBJEXT): $(top_srcdir)/internal/transcode.h</div><div class='add'>+transcode.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}transcode.c</div><div class='add'>+transcode.$(OBJEXT): {$(VPATH)}transcode_data.h</div><div class='add'>+transient_heap.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='add'>+transient_heap.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='add'>+transient_heap.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='add'>+transient_heap.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='add'>+transient_heap.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+transient_heap.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+transient_heap.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+transient_heap.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+transient_heap.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+transient_heap.$(OBJEXT): $(top_srcdir)/internal/hash.h</div><div class='add'>+transient_heap.$(OBJEXT): $(top_srcdir)/internal/imemo.h</div><div class='add'>+transient_heap.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h</div><div class='add'>+transient_heap.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+transient_heap.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+transient_heap.$(OBJEXT): $(top_srcdir)/internal/struct.h</div><div class='add'>+transient_heap.$(OBJEXT): $(top_srcdir)/internal/variable.h</div><div class='add'>+transient_heap.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+transient_heap.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}atomic.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}constant.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}debug.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}debug_counter.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}gc.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}method.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}node.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}transient_heap.c</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}transient_heap.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='add'>+transient_heap.$(OBJEXT): {$(VPATH)}vm_sync.h</div><div class='add'>+util.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+util.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+util.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+util.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h</div><div class='add'>+util.$(OBJEXT): $(top_srcdir)/internal/util.h</div><div class='add'>+util.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}dtoa.c</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}util.c</div><div class='add'>+util.$(OBJEXT): {$(VPATH)}util.h</div><div class='add'>+variable.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='add'>+variable.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='add'>+variable.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='add'>+variable.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='add'>+variable.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+variable.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+variable.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+variable.$(OBJEXT): $(top_srcdir)/internal/class.h</div><div class='add'>+variable.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+variable.$(OBJEXT): $(top_srcdir)/internal/error.h</div><div class='add'>+variable.$(OBJEXT): $(top_srcdir)/internal/eval.h</div><div class='add'>+variable.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+variable.$(OBJEXT): $(top_srcdir)/internal/hash.h</div><div class='add'>+variable.$(OBJEXT): $(top_srcdir)/internal/imemo.h</div><div class='add'>+variable.$(OBJEXT): $(top_srcdir)/internal/object.h</div><div class='add'>+variable.$(OBJEXT): $(top_srcdir)/internal/re.h</div><div class='add'>+variable.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+variable.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+variable.$(OBJEXT): $(top_srcdir)/internal/string.h</div><div class='add'>+variable.$(OBJEXT): $(top_srcdir)/internal/symbol.h</div><div class='add'>+variable.$(OBJEXT): $(top_srcdir)/internal/thread.h</div><div class='add'>+variable.$(OBJEXT): $(top_srcdir)/internal/variable.h</div><div class='add'>+variable.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+variable.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}atomic.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}constant.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}debug_counter.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}method.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}node.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}ractor.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}ractor_core.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}transient_heap.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}util.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}variable.c</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}variable.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='add'>+variable.$(OBJEXT): {$(VPATH)}vm_sync.h</div><div class='add'>+version.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='add'>+version.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='add'>+version.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='add'>+version.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='add'>+version.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+version.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+version.$(OBJEXT): $(hdrdir)/ruby/version.h</div><div class='add'>+version.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+version.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+version.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+version.$(OBJEXT): $(top_srcdir)/internal/imemo.h</div><div class='add'>+version.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+version.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+version.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+version.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+version.$(OBJEXT): $(top_srcdir)/revision.h</div><div class='add'>+version.$(OBJEXT): $(top_srcdir)/version.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}atomic.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}debug_counter.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}method.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}mjit.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}node.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}version.c</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='add'>+version.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='add'>+vm.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='add'>+vm.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='add'>+vm.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='add'>+vm.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='add'>+vm.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+vm.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+vm.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+vm.$(OBJEXT): $(top_srcdir)/internal/bignum.h</div><div class='add'>+vm.$(OBJEXT): $(top_srcdir)/internal/bits.h</div><div class='add'>+vm.$(OBJEXT): $(top_srcdir)/internal/class.h</div><div class='add'>+vm.$(OBJEXT): $(top_srcdir)/internal/compar.h</div><div class='add'>+vm.$(OBJEXT): $(top_srcdir)/internal/compile.h</div><div class='add'>+vm.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+vm.$(OBJEXT): $(top_srcdir)/internal/cont.h</div><div class='add'>+vm.$(OBJEXT): $(top_srcdir)/internal/error.h</div><div class='add'>+vm.$(OBJEXT): $(top_srcdir)/internal/eval.h</div><div class='add'>+vm.$(OBJEXT): $(top_srcdir)/internal/fixnum.h</div><div class='add'>+vm.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+vm.$(OBJEXT): $(top_srcdir)/internal/hash.h</div><div class='add'>+vm.$(OBJEXT): $(top_srcdir)/internal/imemo.h</div><div class='add'>+vm.$(OBJEXT): $(top_srcdir)/internal/inits.h</div><div class='add'>+vm.$(OBJEXT): $(top_srcdir)/internal/numeric.h</div><div class='add'>+vm.$(OBJEXT): $(top_srcdir)/internal/object.h</div><div class='add'>+vm.$(OBJEXT): $(top_srcdir)/internal/parse.h</div><div class='add'>+vm.$(OBJEXT): $(top_srcdir)/internal/proc.h</div><div class='add'>+vm.$(OBJEXT): $(top_srcdir)/internal/random.h</div><div class='add'>+vm.$(OBJEXT): $(top_srcdir)/internal/re.h</div><div class='add'>+vm.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h</div><div class='add'>+vm.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+vm.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+vm.$(OBJEXT): $(top_srcdir)/internal/string.h</div><div class='add'>+vm.$(OBJEXT): $(top_srcdir)/internal/symbol.h</div><div class='add'>+vm.$(OBJEXT): $(top_srcdir)/internal/variable.h</div><div class='add'>+vm.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+vm.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}atomic.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}builtin.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}constant.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}debug_counter.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}defs/opt_operand.def</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}eval_intern.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}gc.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}insns.def</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}insns.inc</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}insns_info.inc</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}iseq.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}method.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}mjit.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}node.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}probes.dmyh</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}probes.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}probes_helper.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}ractor.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}ractor_core.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}variable.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}vm.c</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}vm.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}vm.inc</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}vm_args.c</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}vm_call_iseq_optimized.inc</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}vm_callinfo.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}vm_eval.c</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}vm_exec.c</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}vm_exec.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}vm_insnhelper.c</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}vm_insnhelper.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}vm_method.c</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}vm_sync.h</div><div class='add'>+vm.$(OBJEXT): {$(VPATH)}vmtc.inc</div><div class='add'>+vm_backtrace.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='add'>+vm_backtrace.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='add'>+vm_backtrace.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='add'>+vm_backtrace.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='add'>+vm_backtrace.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+vm_backtrace.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+vm_backtrace.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+vm_backtrace.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+vm_backtrace.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+vm_backtrace.$(OBJEXT): $(top_srcdir)/internal/imemo.h</div><div class='add'>+vm_backtrace.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+vm_backtrace.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+vm_backtrace.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+vm_backtrace.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}atomic.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}debug.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}eval_intern.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}iseq.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}method.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}node.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}vm_backtrace.c</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='add'>+vm_backtrace.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='add'>+vm_dump.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='add'>+vm_dump.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='add'>+vm_dump.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='add'>+vm_dump.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='add'>+vm_dump.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+vm_dump.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+vm_dump.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+vm_dump.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+vm_dump.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+vm_dump.$(OBJEXT): $(top_srcdir)/internal/imemo.h</div><div class='add'>+vm_dump.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+vm_dump.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+vm_dump.$(OBJEXT): $(top_srcdir)/internal/variable.h</div><div class='add'>+vm_dump.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+vm_dump.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}addr2line.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}atomic.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}constant.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}gc.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}iseq.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}method.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}node.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}procstat_vm.c</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}ractor.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}ractor_core.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}vm_dump.c</div><div class='add'>+vm_dump.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='add'>+vm_sync.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='add'>+vm_sync.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='add'>+vm_sync.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='add'>+vm_sync.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='add'>+vm_sync.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+vm_sync.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+vm_sync.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+vm_sync.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+vm_sync.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+vm_sync.$(OBJEXT): $(top_srcdir)/internal/imemo.h</div><div class='add'>+vm_sync.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+vm_sync.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+vm_sync.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+vm_sync.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}addr2line.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}atomic.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}constant.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}debug_counter.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}gc.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}id_table.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/array.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/compilers.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/imemo.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/serial.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/vm.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/warnings.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}iseq.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}method.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}node.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}procstat_vm.c</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}ractor.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}ractor_core.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}vm_debug.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}vm_sync.c</div><div class='add'>+vm_sync.$(OBJEXT): {$(VPATH)}vm_sync.h</div><div class='add'>+vm_trace.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h</div><div class='add'>+vm_trace.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h</div><div class='add'>+vm_trace.$(OBJEXT): $(CCAN_DIR)/list/list.h</div><div class='add'>+vm_trace.$(OBJEXT): $(CCAN_DIR)/str/str.h</div><div class='add'>+vm_trace.$(OBJEXT): $(hdrdir)/ruby.h</div><div class='add'>+vm_trace.$(OBJEXT): $(hdrdir)/ruby/ruby.h</div><div class='add'>+vm_trace.$(OBJEXT): $(top_srcdir)/internal/array.h</div><div class='add'>+vm_trace.$(OBJEXT): $(top_srcdir)/internal/compilers.h</div><div class='add'>+vm_trace.$(OBJEXT): $(top_srcdir)/internal/gc.h</div><div class='add'>+vm_trace.$(OBJEXT): $(top_srcdir)/internal/hash.h</div><div class='add'>+vm_trace.$(OBJEXT): $(top_srcdir)/internal/imemo.h</div><div class='add'>+vm_trace.$(OBJEXT): $(top_srcdir)/internal/serial.h</div><div class='add'>+vm_trace.$(OBJEXT): $(top_srcdir)/internal/static_assert.h</div><div class='add'>+vm_trace.$(OBJEXT): $(top_srcdir)/internal/symbol.h</div><div class='add'>+vm_trace.$(OBJEXT): $(top_srcdir)/internal/vm.h</div><div class='add'>+vm_trace.$(OBJEXT): $(top_srcdir)/internal/warnings.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}assert.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}atomic.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}backward/2/assume.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}backward/2/attributes.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}backward/2/bool.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}backward/2/gcc_version_since.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}backward/2/inttypes.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}backward/2/limits.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}backward/2/long_long.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}builtin.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}config.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}debug.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}debug_counter.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}defines.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}encoding.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}eval_intern.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}id.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}intern.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/anyargs.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/arithmetic.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/arithmetic/char.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/arithmetic/double.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/arithmetic/fixnum.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/arithmetic/gid_t.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/arithmetic/int.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/arithmetic/intptr_t.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/arithmetic/long.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/arithmetic/long_long.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/arithmetic/mode_t.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/arithmetic/off_t.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/arithmetic/pid_t.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/arithmetic/short.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/arithmetic/size_t.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/arithmetic/st_data_t.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/arithmetic/uid_t.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/assume.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/attr/alloc_size.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/attr/artificial.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/attr/cold.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/attr/const.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/attr/constexpr.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/attr/deprecated.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/attr/diagnose_if.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/attr/enum_extensibility.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/attr/error.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/attr/flag_enum.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/attr/forceinline.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/attr/format.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/attr/maybe_unused.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/attr/noalias.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/attr/nodiscard.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/attr/noexcept.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/attr/noinline.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/attr/nonnull.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/attr/noreturn.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/attr/pure.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/attr/restrict.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/attr/returns_nonnull.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/attr/warning.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/attr/weakref.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/cast.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/compiler_is.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/compiler_is/apple.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/compiler_is/clang.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/compiler_is/gcc.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/compiler_is/intel.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/compiler_is/msvc.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/compiler_is/sunpro.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/compiler_since.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/config.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/constant_p.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/core.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/core/rarray.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/core/rbasic.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/core/rbignum.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/core/rclass.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/core/rdata.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/core/rfile.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/core/rhash.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/core/robject.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/core/rregexp.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/core/rstring.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/core/rstruct.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/core/rtypeddata.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/ctype.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/dllexport.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/dosish.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/error.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/eval.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/event.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/fl_type.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/gc.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/glob.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/globals.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/has/attribute.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/has/builtin.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/has/c_attribute.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/has/cpp_attribute.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/has/declspec_attribute.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/has/extension.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/has/feature.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/has/warning.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/intern/array.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/intern/bignum.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/intern/class.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/intern/compar.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/intern/complex.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/intern/cont.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/intern/dir.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/intern/enum.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/intern/enumerator.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/intern/error.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/intern/eval.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/intern/file.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/intern/gc.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/intern/hash.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/intern/io.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/intern/load.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/intern/marshal.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/intern/numeric.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/intern/object.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/intern/parse.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/intern/proc.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/intern/process.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/intern/random.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/intern/range.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/intern/rational.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/intern/re.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/intern/ruby.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/intern/select.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/intern/select/largesize.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/intern/signal.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/intern/sprintf.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/intern/string.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/intern/struct.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/intern/thread.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/intern/time.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/intern/variable.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/intern/vm.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/interpreter.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/iterator.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/memory.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/method.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/module.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/newobj.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/rgengc.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/scan_args.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/special_consts.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/static_assert.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/stdalign.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/stdbool.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/symbol.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/token_paste.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/value.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/value_type.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/variable.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/warning_push.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}internal/xmalloc.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}iseq.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}method.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}missing.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}mjit.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}node.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}onigmo.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}oniguruma.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}ractor.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}ruby_assert.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}ruby_atomic.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}st.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}subst.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}thread_$(THREAD_MODEL).h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}thread_native.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}trace_point.rbinc</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}vm_core.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}vm_opts.h</div><div class='add'>+vm_trace.$(OBJEXT): {$(VPATH)}vm_trace.c</div><div class='add'>+# AUTOGENERATED DEPENDENCIES END</div><div class='head'>diff --git a/compar.c b/compar.c<br/>index 677b6a3cbd..04d4ff8c70 100644<br/>--- a/<a href='/ruby.git/tree/compar.c?h=v3_0_0&amp;id=cfb52c86678519810cfa84b564a3d32a9200139d'>compar.c</a><br/>+++ b/<a href='/ruby.git/tree/compar.c?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>compar.c</a></div><div class='hunk'>@@ -1,110 +1,298 @@</div><div class='del'>-/************************************************</div><div class='add'>+/**********************************************************************</div><div class='ctx'> </div><div class='ctx'>   compar.c -</div><div class='ctx'> </div><div class='ctx'>   $Author$</div><div class='del'>-  $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-1999 Yukihiro Matsumoto</div><div class='add'>+  Copyright (C) 1993-2007 Yukihiro Matsumoto</div><div class='ctx'> </div><div class='del'>-************************************************/</div><div class='add'>+**********************************************************************/</div><div class='ctx'> </div><div class='del'>-#include "ruby.h"</div><div class='add'>+#include "id.h"</div><div class='add'>+#include "internal.h"</div><div class='add'>+#include "internal/compar.h"</div><div class='add'>+#include "internal/error.h"</div><div class='add'>+#include "internal/vm.h"</div><div class='add'>+#include "ruby/ruby.h"</div><div class='ctx'> </div><div class='ctx'> VALUE rb_mComparable;</div><div class='ctx'> </div><div class='del'>-static ID cmp;</div><div class='del'>-</div><div class='ctx'> static VALUE</div><div class='del'>-cmp_eq(a)</div><div class='del'>-    VALUE *a;</div><div class='add'>+rb_cmp(VALUE x, VALUE y)</div><div class='ctx'> {</div><div class='del'>-    VALUE c = rb_funcall(a[0], cmp, 1, a[1]);</div><div class='del'>-    int t = NUM2INT(c);</div><div class='add'>+    return rb_funcallv(x, idCmp, 1, &amp;y);</div><div class='add'>+}</div><div class='ctx'> </div><div class='del'>-    if (t == 0) return Qtrue;</div><div class='del'>-    return Qfalse;</div><div class='add'>+void</div><div class='add'>+rb_cmperr(VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    VALUE classname;</div><div class='add'>+</div><div class='add'>+    if (SPECIAL_CONST_P(y) || BUILTIN_TYPE(y) == T_FLOAT) {</div><div class='add'>+	classname = rb_inspect(y);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	classname = rb_obj_class(y);</div><div class='add'>+    }</div><div class='add'>+    rb_raise(rb_eArgError, "comparison of %"PRIsVALUE" with %"PRIsVALUE" failed",</div><div class='add'>+	     rb_obj_class(x), classname);</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-cmp_failed()</div><div class='add'>+invcmp_recursive(VALUE x, VALUE y, int recursive)</div><div class='ctx'> {</div><div class='del'>-    return Qfalse;</div><div class='add'>+    if (recursive) return Qnil;</div><div class='add'>+    return rb_cmp(y, x);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_invcmp(VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    VALUE invcmp = rb_exec_recursive(invcmp_recursive, x, y);</div><div class='add'>+    if (invcmp == Qundef || NIL_P(invcmp)) {</div><div class='add'>+	return Qnil;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	int result = -rb_cmpint(invcmp, x, y);</div><div class='add'>+	return INT2FIX(result);</div><div class='add'>+    }</div><div class='ctx'> }</div><div class='ctx'> </div><div class='ctx'> static VALUE</div><div class='del'>-cmp_equal(x, y)</div><div class='del'>-    VALUE x, y;</div><div class='add'>+cmp_eq_recursive(VALUE arg1, VALUE arg2, int recursive)</div><div class='ctx'> {</div><div class='del'>-    VALUE a[2];</div><div class='add'>+    if (recursive) return Qnil;</div><div class='add'>+    return rb_cmp(arg1, arg2);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     obj == other    -&gt; true or false</div><div class='add'>+ *</div><div class='add'>+ *  Compares two objects based on the receiver's &lt;code&gt;&lt;=&gt;&lt;/code&gt;</div><div class='add'>+ *  method, returning true if it returns 0. Also returns true if</div><div class='add'>+ *  _obj_ and _other_ are the same object.</div><div class='add'>+ */</div><div class='ctx'> </div><div class='add'>+static VALUE</div><div class='add'>+cmp_equal(VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    VALUE c;</div><div class='ctx'>     if (x == y) return Qtrue;</div><div class='ctx'> </div><div class='del'>-    a[0] = x; a[1] = y;</div><div class='del'>-    return rb_rescue(cmp_eq, (VALUE)a, cmp_failed, 0);</div><div class='add'>+    c = rb_exec_recursive_paired_outer(cmp_eq_recursive, x, y, y);</div><div class='add'>+</div><div class='add'>+    if (NIL_P(c)) return Qfalse;</div><div class='add'>+    if (rb_cmpint(c, x, y) == 0) return Qtrue;</div><div class='add'>+    return Qfalse;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='del'>-static VALUE</div><div class='del'>-cmp_gt(x, y)</div><div class='del'>-    VALUE x, y;</div><div class='add'>+static int</div><div class='add'>+cmpint(VALUE x, VALUE y)</div><div class='ctx'> {</div><div class='del'>-    VALUE c = rb_funcall(x, cmp, 1, y);</div><div class='del'>-    int t = NUM2INT(c);</div><div class='add'>+    return rb_cmpint(rb_cmp(x, y), x, y);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     obj &gt; other    -&gt; true or false</div><div class='add'>+ *</div><div class='add'>+ *  Compares two objects based on the receiver's &lt;code&gt;&lt;=&gt;&lt;/code&gt;</div><div class='add'>+ *  method, returning true if it returns a value greater than 0.</div><div class='add'>+ */</div><div class='ctx'> </div><div class='del'>-    if (t &gt; 0) return Qtrue;</div><div class='add'>+static VALUE</div><div class='add'>+cmp_gt(VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    if (cmpint(x, y) &gt; 0) return Qtrue;</div><div class='ctx'>     return Qfalse;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     obj &gt;= other    -&gt; true or false</div><div class='add'>+ *</div><div class='add'>+ *  Compares two objects based on the receiver's &lt;code&gt;&lt;=&gt;&lt;/code&gt;</div><div class='add'>+ *  method, returning true if it returns a value greater than or equal to 0.</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> static VALUE</div><div class='del'>-cmp_ge(x, y)</div><div class='del'>-    VALUE x, y;</div><div class='add'>+cmp_ge(VALUE x, VALUE y)</div><div class='ctx'> {</div><div class='del'>-    VALUE c = rb_funcall(x, cmp, 1, y);</div><div class='del'>-    int t = NUM2INT(c);</div><div class='del'>-</div><div class='del'>-    if (t &gt;= 0) return Qtrue;</div><div class='add'>+    if (cmpint(x, y) &gt;= 0) return Qtrue;</div><div class='ctx'>     return Qfalse;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     obj &lt; other    -&gt; true or false</div><div class='add'>+ *</div><div class='add'>+ *  Compares two objects based on the receiver's &lt;code&gt;&lt;=&gt;&lt;/code&gt;</div><div class='add'>+ *  method, returning true if it returns a value less than 0.</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> static VALUE</div><div class='del'>-cmp_lt(x, y)</div><div class='del'>-    VALUE x, y;</div><div class='add'>+cmp_lt(VALUE x, VALUE y)</div><div class='ctx'> {</div><div class='del'>-    VALUE c = rb_funcall(x, cmp, 1, y);</div><div class='del'>-    int t = NUM2INT(c);</div><div class='del'>-</div><div class='del'>-    if (t &lt; 0) return Qtrue;</div><div class='add'>+    if (cmpint(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='add'>+ *  call-seq:</div><div class='add'>+ *     obj &lt;= other    -&gt; true or false</div><div class='add'>+ *</div><div class='add'>+ *  Compares two objects based on the receiver's &lt;code&gt;&lt;=&gt;&lt;/code&gt;</div><div class='add'>+ *  method, returning true if it returns a value less than or equal to 0.</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> static VALUE</div><div class='del'>-cmp_le(x, y)</div><div class='del'>-    VALUE x, y;</div><div class='add'>+cmp_le(VALUE x, VALUE y)</div><div class='ctx'> {</div><div class='del'>-    VALUE c = rb_funcall(x, cmp, 1, y);</div><div class='del'>-    int t = NUM2INT(c);</div><div class='del'>-</div><div class='del'>-    if (t &lt;= 0) return Qtrue;</div><div class='add'>+    if (cmpint(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='add'>+ *  call-seq:</div><div class='add'>+ *     obj.between?(min, max)    -&gt; true or false</div><div class='add'>+ *</div><div class='add'>+ *  Returns &lt;code&gt;false&lt;/code&gt; if _obj_ &lt;code&gt;&lt;=&gt;&lt;/code&gt; _min_ is less</div><div class='add'>+ *  than zero or if _obj_ &lt;code&gt;&lt;=&gt;&lt;/code&gt; _max_ is greater than zero,</div><div class='add'>+ *  &lt;code&gt;true&lt;/code&gt; otherwise.</div><div class='add'>+ *</div><div class='add'>+ *     3.between?(1, 5)               #=&gt; true</div><div class='add'>+ *     6.between?(1, 5)               #=&gt; false</div><div class='add'>+ *     'cat'.between?('ant', 'dog')   #=&gt; true</div><div class='add'>+ *     'gnu'.between?('ant', 'dog')   #=&gt; false</div><div class='add'>+ *</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> static VALUE</div><div class='del'>-cmp_between(x, min, max)</div><div class='del'>-    VALUE x, min, max;</div><div class='add'>+cmp_between(VALUE x, VALUE min, VALUE max)</div><div class='ctx'> {</div><div class='del'>-    VALUE c = rb_funcall(x, cmp, 1, min);</div><div class='del'>-    long t = NUM2LONG(c);</div><div class='del'>-    if (t &lt; 0) return Qfalse;</div><div class='del'>-</div><div class='del'>-    c = rb_funcall(x, cmp, 1, max);</div><div class='del'>-    t = NUM2LONG(c);</div><div class='del'>-    if (t &gt; 0) return Qfalse;</div><div class='add'>+    if (cmpint(x, min) &lt; 0) return Qfalse;</div><div class='add'>+    if (cmpint(x, max) &gt; 0) return Qfalse;</div><div class='ctx'>     return Qtrue;</div><div class='ctx'> }</div><div class='ctx'> </div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     obj.clamp(min, max) -&gt;  obj</div><div class='add'>+ *     obj.clamp(range)    -&gt;  obj</div><div class='add'>+ *</div><div class='add'>+ * In &lt;code&gt;(min, max)&lt;/code&gt; form, returns _min_ if _obj_</div><div class='add'>+ * &lt;code&gt;&lt;=&gt;&lt;/code&gt; _min_ is less than zero, _max_ if _obj_</div><div class='add'>+ * &lt;code&gt;&lt;=&gt;&lt;/code&gt; _max_ is greater than zero, and _obj_</div><div class='add'>+ * otherwise.</div><div class='add'>+ *</div><div class='add'>+ *     12.clamp(0, 100)         #=&gt; 12</div><div class='add'>+ *     523.clamp(0, 100)        #=&gt; 100</div><div class='add'>+ *     -3.123.clamp(0, 100)     #=&gt; 0</div><div class='add'>+ *</div><div class='add'>+ *     'd'.clamp('a', 'f')      #=&gt; 'd'</div><div class='add'>+ *     'z'.clamp('a', 'f')      #=&gt; 'f'</div><div class='add'>+ *</div><div class='add'>+ * In &lt;code&gt;(range)&lt;/code&gt; form, returns _range.begin_ if _obj_</div><div class='add'>+ * &lt;code&gt;&lt;=&gt;&lt;/code&gt; _range.begin_ is less than zero, _range.end_</div><div class='add'>+ * if _obj_ &lt;code&gt;&lt;=&gt;&lt;/code&gt; _range.end_ is greater than zero, and</div><div class='add'>+ * _obj_ otherwise.</div><div class='add'>+ *</div><div class='add'>+ *     12.clamp(0..100)         #=&gt; 12</div><div class='add'>+ *     523.clamp(0..100)        #=&gt; 100</div><div class='add'>+ *     -3.123.clamp(0..100)     #=&gt; 0</div><div class='add'>+ *</div><div class='add'>+ *     'd'.clamp('a'..'f')      #=&gt; 'd'</div><div class='add'>+ *     'z'.clamp('a'..'f')      #=&gt; 'f'</div><div class='add'>+ *</div><div class='add'>+ * If _range.begin_ is +nil+, it is considered smaller than _obj_,</div><div class='add'>+ * and if _range.end_ is +nil+, it is considered greater than</div><div class='add'>+ * _obj_.</div><div class='add'>+ *</div><div class='add'>+ *     -20.clamp(0..)           #=&gt; 0</div><div class='add'>+ *     523.clamp(..100)         #=&gt; 100</div><div class='add'>+ *</div><div class='add'>+ * When _range.end_ is excluded and not +nil+, an exception is</div><div class='add'>+ * raised.</div><div class='add'>+ *</div><div class='add'>+ *     100.clamp(0...100)       # ArgumentError</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+cmp_clamp(int argc, VALUE *argv, VALUE x)</div><div class='add'>+{</div><div class='add'>+    VALUE min, max;</div><div class='add'>+    int c, excl = 0;</div><div class='add'>+</div><div class='add'>+    if (rb_scan_args(argc, argv, "11", &amp;min, &amp;max) == 1) {</div><div class='add'>+        VALUE range = min;</div><div class='add'>+        if (!rb_range_values(range, &amp;min, &amp;max, &amp;excl)) {</div><div class='add'>+            rb_raise(rb_eTypeError, "wrong argument type %s (expected Range)",</div><div class='add'>+                     rb_builtin_class_name(range));</div><div class='add'>+        }</div><div class='add'>+        if (!NIL_P(max)) {</div><div class='add'>+            if (excl) rb_raise(rb_eArgError, "cannot clamp with an exclusive range");</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    if (!NIL_P(min) &amp;&amp; !NIL_P(max) &amp;&amp; cmpint(min, max) &gt; 0) {</div><div class='add'>+	rb_raise(rb_eArgError, "min argument must be smaller than max argument");</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (!NIL_P(min)) {</div><div class='add'>+        c = cmpint(x, min);</div><div class='add'>+        if (c == 0) return x;</div><div class='add'>+        if (c &lt; 0) return min;</div><div class='add'>+    }</div><div class='add'>+    if (!NIL_P(max)) {</div><div class='add'>+        c = cmpint(x, max);</div><div class='add'>+        if (c &gt; 0) return max;</div><div class='add'>+    }</div><div class='add'>+    return x;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  The Comparable mixin is used by classes whose objects may be</div><div class='add'>+ *  ordered. The class must define the &lt;code&gt;&lt;=&gt;&lt;/code&gt; operator,</div><div class='add'>+ *  which compares the receiver against another object, returning a</div><div class='add'>+ *  value less than 0, returning 0, or returning a value greater than 0,</div><div class='add'>+ *  depending on whether the receiver is less than, equal to,</div><div class='add'>+ *  or greater than the other object. If the other object is not</div><div class='add'>+ *  comparable then the &lt;code&gt;&lt;=&gt;&lt;/code&gt; operator should return +nil+.</div><div class='add'>+ *  Comparable uses &lt;code&gt;&lt;=&gt;&lt;/code&gt; to implement the conventional</div><div class='add'>+ *  comparison operators (&lt;code&gt;&lt;&lt;/code&gt;, &lt;code&gt;&lt;=&lt;/code&gt;,</div><div class='add'>+ *  &lt;code&gt;==&lt;/code&gt;, &lt;code&gt;&gt;=&lt;/code&gt;, and &lt;code&gt;&gt;&lt;/code&gt;) and the</div><div class='add'>+ *  method &lt;code&gt;between?&lt;/code&gt;.</div><div class='add'>+ *</div><div class='add'>+ *     class SizeMatters</div><div class='add'>+ *       include Comparable</div><div class='add'>+ *       attr :str</div><div class='add'>+ *       def &lt;=&gt;(other)</div><div class='add'>+ *         str.size &lt;=&gt; other.str.size</div><div class='add'>+ *       end</div><div class='add'>+ *       def initialize(str)</div><div class='add'>+ *         @str = str</div><div class='add'>+ *       end</div><div class='add'>+ *       def inspect</div><div class='add'>+ *         @str</div><div class='add'>+ *       end</div><div class='add'>+ *     end</div><div class='add'>+ *</div><div class='add'>+ *     s1 = SizeMatters.new("Z")</div><div class='add'>+ *     s2 = SizeMatters.new("YY")</div><div class='add'>+ *     s3 = SizeMatters.new("XXX")</div><div class='add'>+ *     s4 = SizeMatters.new("WWWW")</div><div class='add'>+ *     s5 = SizeMatters.new("VVVVV")</div><div class='add'>+ *</div><div class='add'>+ *     s1 &lt; s2                       #=&gt; true</div><div class='add'>+ *     s4.between?(s1, s3)           #=&gt; false</div><div class='add'>+ *     s4.between?(s3, s5)           #=&gt; true</div><div class='add'>+ *     [ s3, s2, s5, s4, s1 ].sort   #=&gt; [Z, YY, XXX, WWWW, VVVVV]</div><div class='add'>+ *</div><div class='add'>+ */</div><div class='add'>+</div><div class='ctx'> void</div><div class='del'>-Init_Comparable()</div><div class='add'>+Init_Comparable(void)</div><div class='ctx'> {</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='hunk'>@@ -113,6 +301,5 @@ Init_Comparable()</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'>-</div><div class='del'>-    cmp = rb_intern("&lt;=&gt;");</div><div class='add'>+    rb_define_method(rb_mComparable, "clamp", cmp_clamp, -1);</div><div class='ctx'> }</div><div class='head'>diff --git a/compile.c b/compile.c<br/>new file mode 100644<br/>index 0000000000..264c310012<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/compile.c?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>compile.c</a></div><div class='hunk'>@@ -0,0 +1,12107 @@</div><div class='add'>+/**********************************************************************</div><div class='add'>+</div><div class='add'>+  compile.c - ruby node tree -&gt; VM instruction sequence</div><div class='add'>+</div><div class='add'>+  $Author$</div><div class='add'>+  created at: 04/01/01 03:42:15 JST</div><div class='add'>+</div><div class='add'>+  Copyright (C) 2004-2007 Koichi Sasada</div><div class='add'>+</div><div class='add'>+**********************************************************************/</div><div class='add'>+</div><div class='add'>+#include "ruby/internal/config.h"</div><div class='add'>+#include &lt;math.h&gt;</div><div class='add'>+</div><div class='add'>+#ifdef HAVE_DLADDR</div><div class='add'>+# include &lt;dlfcn.h&gt;</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#include "encindex.h"</div><div class='add'>+#include "gc.h"</div><div class='add'>+#include "id_table.h"</div><div class='add'>+#include "internal.h"</div><div class='add'>+#include "internal/array.h"</div><div class='add'>+#include "internal/compile.h"</div><div class='add'>+#include "internal/complex.h"</div><div class='add'>+#include "internal/encoding.h"</div><div class='add'>+#include "internal/error.h"</div><div class='add'>+#include "internal/hash.h"</div><div class='add'>+#include "internal/numeric.h"</div><div class='add'>+#include "internal/object.h"</div><div class='add'>+#include "internal/re.h"</div><div class='add'>+#include "internal/symbol.h"</div><div class='add'>+#include "internal/thread.h"</div><div class='add'>+#include "internal/variable.h"</div><div class='add'>+#include "iseq.h"</div><div class='add'>+#include "ruby/re.h"</div><div class='add'>+#include "ruby/util.h"</div><div class='add'>+#include "vm_core.h"</div><div class='add'>+#include "vm_callinfo.h"</div><div class='add'>+#include "vm_debug.h"</div><div class='add'>+</div><div class='add'>+#include "builtin.h"</div><div class='add'>+#include "insns.inc"</div><div class='add'>+#include "insns_info.inc"</div><div class='add'>+</div><div class='add'>+#undef RUBY_UNTYPED_DATA_WARNING</div><div class='add'>+#define RUBY_UNTYPED_DATA_WARNING 0</div><div class='add'>+</div><div class='add'>+#define FIXNUM_INC(n, i) ((n)+(INT2FIX(i)&amp;~FIXNUM_FLAG))</div><div class='add'>+#define FIXNUM_OR(n, i) ((n)|INT2FIX(i))</div><div class='add'>+</div><div class='add'>+typedef struct iseq_link_element {</div><div class='add'>+    enum {</div><div class='add'>+	ISEQ_ELEMENT_ANCHOR,</div><div class='add'>+	ISEQ_ELEMENT_LABEL,</div><div class='add'>+	ISEQ_ELEMENT_INSN,</div><div class='add'>+	ISEQ_ELEMENT_ADJUST,</div><div class='add'>+        ISEQ_ELEMENT_TRACE,</div><div class='add'>+    } type;</div><div class='add'>+    struct iseq_link_element *next;</div><div class='add'>+    struct iseq_link_element *prev;</div><div class='add'>+} LINK_ELEMENT;</div><div class='add'>+</div><div class='add'>+typedef struct iseq_link_anchor {</div><div class='add'>+    LINK_ELEMENT anchor;</div><div class='add'>+    LINK_ELEMENT *last;</div><div class='add'>+} LINK_ANCHOR;</div><div class='add'>+</div><div class='add'>+typedef enum {</div><div class='add'>+    LABEL_RESCUE_NONE,</div><div class='add'>+    LABEL_RESCUE_BEG,</div><div class='add'>+    LABEL_RESCUE_END,</div><div class='add'>+    LABEL_RESCUE_TYPE_MAX</div><div class='add'>+} LABEL_RESCUE_TYPE;</div><div class='add'>+</div><div class='add'>+typedef struct iseq_label_data {</div><div class='add'>+    LINK_ELEMENT link;</div><div class='add'>+    int label_no;</div><div class='add'>+    int position;</div><div class='add'>+    int sc_state;</div><div class='add'>+    int sp;</div><div class='add'>+    int refcnt;</div><div class='add'>+    unsigned int set: 1;</div><div class='add'>+    unsigned int rescued: 2;</div><div class='add'>+    unsigned int unremovable: 1;</div><div class='add'>+} LABEL;</div><div class='add'>+</div><div class='add'>+typedef struct iseq_insn_data {</div><div class='add'>+    LINK_ELEMENT link;</div><div class='add'>+    enum ruby_vminsn_type insn_id;</div><div class='add'>+    int operand_size;</div><div class='add'>+    int sc_state;</div><div class='add'>+    VALUE *operands;</div><div class='add'>+    struct {</div><div class='add'>+	int line_no;</div><div class='add'>+	rb_event_flag_t events;</div><div class='add'>+    } insn_info;</div><div class='add'>+} INSN;</div><div class='add'>+</div><div class='add'>+typedef struct iseq_adjust_data {</div><div class='add'>+    LINK_ELEMENT link;</div><div class='add'>+    LABEL *label;</div><div class='add'>+    int line_no;</div><div class='add'>+} ADJUST;</div><div class='add'>+</div><div class='add'>+typedef struct iseq_trace_data {</div><div class='add'>+    LINK_ELEMENT link;</div><div class='add'>+    rb_event_flag_t event;</div><div class='add'>+    long data;</div><div class='add'>+} TRACE;</div><div class='add'>+</div><div class='add'>+struct ensure_range {</div><div class='add'>+    LABEL *begin;</div><div class='add'>+    LABEL *end;</div><div class='add'>+    struct ensure_range *next;</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+struct iseq_compile_data_ensure_node_stack {</div><div class='add'>+    const NODE *ensure_node;</div><div class='add'>+    struct iseq_compile_data_ensure_node_stack *prev;</div><div class='add'>+    struct ensure_range *erange;</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+const ID rb_iseq_shared_exc_local_tbl[] = {idERROR_INFO};</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+ * debug function(macro) interface depend on CPDEBUG</div><div class='add'>+ * if it is less than 0, runtime option is in effect.</div><div class='add'>+ *</div><div class='add'>+ * debug level:</div><div class='add'>+ *  0: no debug output</div><div class='add'>+ *  1: show node type</div><div class='add'>+ *  2: show node important parameters</div><div class='add'>+ *  ...</div><div class='add'>+ *  5: show other parameters</div><div class='add'>+ * 10: show every AST array</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+#ifndef CPDEBUG</div><div class='add'>+#define CPDEBUG 0</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#if CPDEBUG &gt;= 0</div><div class='add'>+#define compile_debug CPDEBUG</div><div class='add'>+#else</div><div class='add'>+#define compile_debug ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;debug_level</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#if CPDEBUG</div><div class='add'>+</div><div class='add'>+#define compile_debug_print_indent(level) \</div><div class='add'>+    ruby_debug_print_indent((level), compile_debug, gl_node_level * 2)</div><div class='add'>+</div><div class='add'>+#define debugp(header, value) (void) \</div><div class='add'>+  (compile_debug_print_indent(1) &amp;&amp; \</div><div class='add'>+   ruby_debug_print_value(1, compile_debug, (header), (value)))</div><div class='add'>+</div><div class='add'>+#define debugi(header, id)  (void) \</div><div class='add'>+  (compile_debug_print_indent(1) &amp;&amp; \</div><div class='add'>+   ruby_debug_print_id(1, compile_debug, (header), (id)))</div><div class='add'>+</div><div class='add'>+#define debugp_param(header, value)  (void) \</div><div class='add'>+  (compile_debug_print_indent(1) &amp;&amp; \</div><div class='add'>+   ruby_debug_print_value(1, compile_debug, (header), (value)))</div><div class='add'>+</div><div class='add'>+#define debugp_verbose(header, value)  (void) \</div><div class='add'>+  (compile_debug_print_indent(2) &amp;&amp; \</div><div class='add'>+   ruby_debug_print_value(2, compile_debug, (header), (value)))</div><div class='add'>+</div><div class='add'>+#define debugp_verbose_node(header, value)  (void) \</div><div class='add'>+  (compile_debug_print_indent(10) &amp;&amp; \</div><div class='add'>+   ruby_debug_print_value(10, compile_debug, (header), (value)))</div><div class='add'>+</div><div class='add'>+#define debug_node_start(node)  ((void) \</div><div class='add'>+  (compile_debug_print_indent(1) &amp;&amp; \</div><div class='add'>+   (ruby_debug_print_node(1, CPDEBUG, "", (const NODE *)(node)), gl_node_level)), \</div><div class='add'>+   gl_node_level++)</div><div class='add'>+</div><div class='add'>+#define debug_node_end()  gl_node_level --</div><div class='add'>+</div><div class='add'>+#else</div><div class='add'>+</div><div class='add'>+#define debugi(header, id)                 ((void)0)</div><div class='add'>+#define debugp(header, value)              ((void)0)</div><div class='add'>+#define debugp_verbose(header, value)      ((void)0)</div><div class='add'>+#define debugp_verbose_node(header, value) ((void)0)</div><div class='add'>+#define debugp_param(header, value)        ((void)0)</div><div class='add'>+#define debug_node_start(node)             ((void)0)</div><div class='add'>+#define debug_node_end()                   ((void)0)</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#if CPDEBUG &gt; 1 || CPDEBUG &lt; 0</div><div class='add'>+#undef printf</div><div class='add'>+#define printf ruby_debug_printf</div><div class='add'>+#define debugs if (compile_debug_print_indent(1)) ruby_debug_printf</div><div class='add'>+#define debug_compile(msg, v) ((void)(compile_debug_print_indent(1) &amp;&amp; fputs((msg), stderr)), (v))</div><div class='add'>+#else</div><div class='add'>+#define debugs                             if(0)printf</div><div class='add'>+#define debug_compile(msg, v) (v)</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#define LVAR_ERRINFO (1)</div><div class='add'>+</div><div class='add'>+/* create new label */</div><div class='add'>+#define NEW_LABEL(l) new_label_body(iseq, (l))</div><div class='add'>+#define LABEL_FORMAT "&lt;L%03d&gt;"</div><div class='add'>+</div><div class='add'>+#define NEW_ISEQ(node, name, type, line_no) \</div><div class='add'>+  new_child_iseq(iseq, (node), rb_fstring(name), 0, (type), (line_no))</div><div class='add'>+</div><div class='add'>+#define NEW_CHILD_ISEQ(node, name, type, line_no) \</div><div class='add'>+  new_child_iseq(iseq, (node), rb_fstring(name), iseq, (type), (line_no))</div><div class='add'>+</div><div class='add'>+/* add instructions */</div><div class='add'>+#define ADD_SEQ(seq1, seq2) \</div><div class='add'>+  APPEND_LIST((seq1), (seq2))</div><div class='add'>+</div><div class='add'>+/* add an instruction */</div><div class='add'>+#define ADD_INSN(seq, line, insn) \</div><div class='add'>+  ADD_ELEM((seq), (LINK_ELEMENT *) new_insn_body(iseq, (line), BIN(insn), 0))</div><div class='add'>+</div><div class='add'>+/* insert an instruction before next */</div><div class='add'>+#define INSERT_BEFORE_INSN(next, line, insn) \</div><div class='add'>+  ELEM_INSERT_PREV(&amp;(next)-&gt;link, (LINK_ELEMENT *) new_insn_body(iseq, (line), BIN(insn), 0))</div><div class='add'>+</div><div class='add'>+/* insert an instruction after prev */</div><div class='add'>+#define INSERT_AFTER_INSN(prev, line, insn) \</div><div class='add'>+  ELEM_INSERT_NEXT(&amp;(prev)-&gt;link, (LINK_ELEMENT *) new_insn_body(iseq, (line), BIN(insn), 0))</div><div class='add'>+</div><div class='add'>+/* add an instruction with some operands (1, 2, 3, 5) */</div><div class='add'>+#define ADD_INSN1(seq, line, insn, op1) \</div><div class='add'>+  ADD_ELEM((seq), (LINK_ELEMENT *) \</div><div class='add'>+           new_insn_body(iseq, (line), BIN(insn), 1, (VALUE)(op1)))</div><div class='add'>+</div><div class='add'>+/* insert an instruction with some operands (1, 2, 3, 5) before next */</div><div class='add'>+#define INSERT_BEFORE_INSN1(next, line, insn, op1) \</div><div class='add'>+  ELEM_INSERT_PREV(&amp;(next)-&gt;link, (LINK_ELEMENT *) \</div><div class='add'>+           new_insn_body(iseq, (line), BIN(insn), 1, (VALUE)(op1)))</div><div class='add'>+</div><div class='add'>+/* insert an instruction with some operands (1, 2, 3, 5) after prev */</div><div class='add'>+#define INSERT_AFTER_INSN1(prev, line, insn, op1) \</div><div class='add'>+  ELEM_INSERT_NEXT(&amp;(prev)-&gt;link, (LINK_ELEMENT *) \</div><div class='add'>+           new_insn_body(iseq, (line), BIN(insn), 1, (VALUE)(op1)))</div><div class='add'>+</div><div class='add'>+#define LABEL_REF(label) ((label)-&gt;refcnt++)</div><div class='add'>+</div><div class='add'>+/* add an instruction with label operand (alias of ADD_INSN1) */</div><div class='add'>+#define ADD_INSNL(seq, line, insn, label) (ADD_INSN1(seq, line, insn, label), LABEL_REF(label))</div><div class='add'>+</div><div class='add'>+#define ADD_INSN2(seq, line, insn, op1, op2) \</div><div class='add'>+  ADD_ELEM((seq), (LINK_ELEMENT *) \</div><div class='add'>+           new_insn_body(iseq, (line), BIN(insn), 2, (VALUE)(op1), (VALUE)(op2)))</div><div class='add'>+</div><div class='add'>+#define ADD_INSN3(seq, line, insn, op1, op2, op3) \</div><div class='add'>+  ADD_ELEM((seq), (LINK_ELEMENT *) \</div><div class='add'>+           new_insn_body(iseq, (line), BIN(insn), 3, (VALUE)(op1), (VALUE)(op2), (VALUE)(op3)))</div><div class='add'>+</div><div class='add'>+/* Specific Insn factory */</div><div class='add'>+#define ADD_SEND(seq, line, id, argc) \</div><div class='add'>+  ADD_SEND_R((seq), (line), (id), (argc), NULL, (VALUE)INT2FIX(0), NULL)</div><div class='add'>+</div><div class='add'>+#define ADD_SEND_WITH_FLAG(seq, line, id, argc, flag) \</div><div class='add'>+  ADD_SEND_R((seq), (line), (id), (argc), NULL, (VALUE)(flag), NULL)</div><div class='add'>+</div><div class='add'>+#define ADD_SEND_WITH_BLOCK(seq, line, id, argc, block) \</div><div class='add'>+  ADD_SEND_R((seq), (line), (id), (argc), (block), (VALUE)INT2FIX(0), NULL)</div><div class='add'>+</div><div class='add'>+#define ADD_CALL_RECEIVER(seq, line) \</div><div class='add'>+  ADD_INSN((seq), (line), putself)</div><div class='add'>+</div><div class='add'>+#define ADD_CALL(seq, line, id, argc) \</div><div class='add'>+  ADD_SEND_R((seq), (line), (id), (argc), NULL, (VALUE)INT2FIX(VM_CALL_FCALL), NULL)</div><div class='add'>+</div><div class='add'>+#define ADD_CALL_WITH_BLOCK(seq, line, id, argc, block) \</div><div class='add'>+  ADD_SEND_R((seq), (line), (id), (argc), (block), (VALUE)INT2FIX(VM_CALL_FCALL), NULL)</div><div class='add'>+</div><div class='add'>+#define ADD_SEND_R(seq, line, id, argc, block, flag, keywords) \</div><div class='add'>+  ADD_ELEM((seq), (LINK_ELEMENT *) new_insn_send(iseq, (line), (id), (VALUE)(argc), (block), (VALUE)(flag), (keywords)))</div><div class='add'>+</div><div class='add'>+#define ADD_TRACE(seq, event) \</div><div class='add'>+  ADD_ELEM((seq), (LINK_ELEMENT *)new_trace_body(iseq, (event), 0))</div><div class='add'>+#define ADD_TRACE_WITH_DATA(seq, event, data) \</div><div class='add'>+  ADD_ELEM((seq), (LINK_ELEMENT *)new_trace_body(iseq, (event), (data)))</div><div class='add'>+</div><div class='add'>+static void iseq_add_getlocal(rb_iseq_t *iseq, LINK_ANCHOR *const seq, int line, int idx, int level);</div><div class='add'>+static void iseq_add_setlocal(rb_iseq_t *iseq, LINK_ANCHOR *const seq, int line, int idx, int level);</div><div class='add'>+</div><div class='add'>+#define ADD_GETLOCAL(seq, line, idx, level) iseq_add_getlocal(iseq, (seq), (line), (idx), (level))</div><div class='add'>+#define ADD_SETLOCAL(seq, line, idx, level) iseq_add_setlocal(iseq, (seq), (line), (idx), (level))</div><div class='add'>+</div><div class='add'>+/* add label */</div><div class='add'>+#define ADD_LABEL(seq, label) \</div><div class='add'>+  ADD_ELEM((seq), (LINK_ELEMENT *) (label))</div><div class='add'>+</div><div class='add'>+#define APPEND_LABEL(seq, before, label) \</div><div class='add'>+  APPEND_ELEM((seq), (before), (LINK_ELEMENT *) (label))</div><div class='add'>+</div><div class='add'>+#define ADD_ADJUST(seq, line, label) \</div><div class='add'>+  ADD_ELEM((seq), (LINK_ELEMENT *) new_adjust_body(iseq, (label), (line)))</div><div class='add'>+</div><div class='add'>+#define ADD_ADJUST_RESTORE(seq, label) \</div><div class='add'>+  ADD_ELEM((seq), (LINK_ELEMENT *) new_adjust_body(iseq, (label), -1))</div><div class='add'>+</div><div class='add'>+#define LABEL_UNREMOVABLE(label) \</div><div class='add'>+    ((label) ? (LABEL_REF(label), (label)-&gt;unremovable=1) : 0)</div><div class='add'>+#define ADD_CATCH_ENTRY(type, ls, le, iseqv, lc) do {				\</div><div class='add'>+    VALUE _e = rb_ary_new3(5, (type),						\</div><div class='add'>+			   (VALUE)(ls) | 1, (VALUE)(le) | 1,			\</div><div class='add'>+			   (VALUE)(iseqv), (VALUE)(lc) | 1);			\</div><div class='add'>+    LABEL_UNREMOVABLE(ls);							\</div><div class='add'>+    LABEL_REF(le);								\</div><div class='add'>+    LABEL_REF(lc);								\</div><div class='add'>+    if (NIL_P(ISEQ_COMPILE_DATA(iseq)-&gt;catch_table_ary)) \</div><div class='add'>+        RB_OBJ_WRITE(iseq, &amp;ISEQ_COMPILE_DATA(iseq)-&gt;catch_table_ary, rb_ary_tmp_new(3)); \</div><div class='add'>+    rb_ary_push(ISEQ_COMPILE_DATA(iseq)-&gt;catch_table_ary, freeze_hide_obj(_e));	\</div><div class='add'>+} while (0)</div><div class='add'>+</div><div class='add'>+/* compile node */</div><div class='add'>+#define COMPILE(anchor, desc, node) \</div><div class='add'>+  (debug_compile("== " desc "\n", \</div><div class='add'>+                 iseq_compile_each(iseq, (anchor), (node), 0)))</div><div class='add'>+</div><div class='add'>+/* compile node, this node's value will be popped */</div><div class='add'>+#define COMPILE_POPPED(anchor, desc, node)    \</div><div class='add'>+  (debug_compile("== " desc "\n", \</div><div class='add'>+                 iseq_compile_each(iseq, (anchor), (node), 1)))</div><div class='add'>+</div><div class='add'>+/* compile node, which is popped when 'popped' is true */</div><div class='add'>+#define COMPILE_(anchor, desc, node, popped)  \</div><div class='add'>+  (debug_compile("== " desc "\n", \</div><div class='add'>+                 iseq_compile_each(iseq, (anchor), (node), (popped))))</div><div class='add'>+</div><div class='add'>+#define COMPILE_RECV(anchor, desc, node) \</div><div class='add'>+    (private_recv_p(node) ? \</div><div class='add'>+     (ADD_INSN(anchor, nd_line(node), putself), VM_CALL_FCALL) : \</div><div class='add'>+     COMPILE(anchor, desc, node-&gt;nd_recv) ? 0 : -1)</div><div class='add'>+</div><div class='add'>+#define OPERAND_AT(insn, idx) \</div><div class='add'>+  (((INSN*)(insn))-&gt;operands[(idx)])</div><div class='add'>+</div><div class='add'>+#define INSN_OF(insn) \</div><div class='add'>+  (((INSN*)(insn))-&gt;insn_id)</div><div class='add'>+</div><div class='add'>+#define IS_INSN(link) ((link)-&gt;type == ISEQ_ELEMENT_INSN)</div><div class='add'>+#define IS_LABEL(link) ((link)-&gt;type == ISEQ_ELEMENT_LABEL)</div><div class='add'>+#define IS_ADJUST(link) ((link)-&gt;type == ISEQ_ELEMENT_ADJUST)</div><div class='add'>+#define IS_TRACE(link) ((link)-&gt;type == ISEQ_ELEMENT_TRACE)</div><div class='add'>+#define IS_INSN_ID(iobj, insn) (INSN_OF(iobj) == BIN(insn))</div><div class='add'>+#define IS_NEXT_INSN_ID(link, insn) \</div><div class='add'>+    ((link)-&gt;next &amp;&amp; IS_INSN((link)-&gt;next) &amp;&amp; IS_INSN_ID((link)-&gt;next, insn))</div><div class='add'>+</div><div class='add'>+/* error */</div><div class='add'>+#if CPDEBUG &gt; 0</div><div class='add'>+NORETURN(static void append_compile_error(const rb_iseq_t *iseq, int line, const char *fmt, ...));</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+append_compile_error(const rb_iseq_t *iseq, int line, const char *fmt, ...)</div><div class='add'>+{</div><div class='add'>+    VALUE err_info = ISEQ_COMPILE_DATA(iseq)-&gt;err_info;</div><div class='add'>+    VALUE file = rb_iseq_path(iseq);</div><div class='add'>+    VALUE err = err_info == Qtrue ? Qfalse : err_info;</div><div class='add'>+    va_list args;</div><div class='add'>+</div><div class='add'>+    va_start(args, fmt);</div><div class='add'>+    err = rb_syntax_error_append(err, file, line, -1, NULL, fmt, args);</div><div class='add'>+    va_end(args);</div><div class='add'>+    if (NIL_P(err_info)) {</div><div class='add'>+	RB_OBJ_WRITE(iseq, &amp;ISEQ_COMPILE_DATA(iseq)-&gt;err_info, err);</div><div class='add'>+	rb_set_errinfo(err);</div><div class='add'>+    }</div><div class='add'>+    else if (!err_info) {</div><div class='add'>+	RB_OBJ_WRITE(iseq, &amp;ISEQ_COMPILE_DATA(iseq)-&gt;err_info, Qtrue);</div><div class='add'>+    }</div><div class='add'>+    if (compile_debug) {</div><div class='add'>+        if (SPECIAL_CONST_P(err)) err = rb_eSyntaxError;</div><div class='add'>+        rb_exc_fatal(err);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#if 0</div><div class='add'>+static void</div><div class='add'>+compile_bug(rb_iseq_t *iseq, int line, const char *fmt, ...)</div><div class='add'>+{</div><div class='add'>+    va_list args;</div><div class='add'>+    va_start(args, fmt);</div><div class='add'>+    rb_report_bug_valist(rb_iseq_path(iseq), line, fmt, args);</div><div class='add'>+    va_end(args);</div><div class='add'>+    abort();</div><div class='add'>+}</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#define COMPILE_ERROR append_compile_error</div><div class='add'>+</div><div class='add'>+#define ERROR_ARGS_AT(n) iseq, nd_line(n),</div><div class='add'>+#define ERROR_ARGS ERROR_ARGS_AT(node)</div><div class='add'>+</div><div class='add'>+#define EXPECT_NODE(prefix, node, ndtype, errval) \</div><div class='add'>+do { \</div><div class='add'>+    const NODE *error_node = (node); \</div><div class='add'>+    enum node_type error_type = nd_type(error_node); \</div><div class='add'>+    if (error_type != (ndtype)) { \</div><div class='add'>+	COMPILE_ERROR(ERROR_ARGS_AT(error_node) \</div><div class='add'>+		      prefix ": " #ndtype " is expected, but %s", \</div><div class='add'>+		      ruby_node_name(error_type)); \</div><div class='add'>+	return errval; \</div><div class='add'>+    } \</div><div class='add'>+} while (0)</div><div class='add'>+</div><div class='add'>+#define EXPECT_NODE_NONULL(prefix, parent, ndtype, errval) \</div><div class='add'>+do { \</div><div class='add'>+    COMPILE_ERROR(ERROR_ARGS_AT(parent) \</div><div class='add'>+		  prefix ": must be " #ndtype ", but 0"); \</div><div class='add'>+    return errval; \</div><div class='add'>+} while (0)</div><div class='add'>+</div><div class='add'>+#define UNKNOWN_NODE(prefix, node, errval) \</div><div class='add'>+do { \</div><div class='add'>+    const NODE *error_node = (node); \</div><div class='add'>+    COMPILE_ERROR(ERROR_ARGS_AT(error_node) prefix ": unknown node (%s)", \</div><div class='add'>+		  ruby_node_name(nd_type(error_node))); \</div><div class='add'>+    return errval; \</div><div class='add'>+} while (0)</div><div class='add'>+</div><div class='add'>+#define COMPILE_OK 1</div><div class='add'>+#define COMPILE_NG 0</div><div class='add'>+</div><div class='add'>+#define CHECK(sub) if (!(sub)) {BEFORE_RETURN;return COMPILE_NG;}</div><div class='add'>+#define NO_CHECK(sub) (void)(sub)</div><div class='add'>+#define BEFORE_RETURN</div><div class='add'>+</div><div class='add'>+/* leave name uninitialized so that compiler warn if INIT_ANCHOR is</div><div class='add'>+ * missing */</div><div class='add'>+#define DECL_ANCHOR(name) \</div><div class='add'>+    LINK_ANCHOR name[1] = {{{ISEQ_ELEMENT_ANCHOR,},}}</div><div class='add'>+#define INIT_ANCHOR(name) \</div><div class='add'>+    (name-&gt;last = &amp;name-&gt;anchor)</div><div class='add'>+</div><div class='add'>+static inline VALUE</div><div class='add'>+freeze_hide_obj(VALUE obj)</div><div class='add'>+{</div><div class='add'>+    OBJ_FREEZE(obj);</div><div class='add'>+    RBASIC_CLEAR_CLASS(obj);</div><div class='add'>+    return obj;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#include "optinsn.inc"</div><div class='add'>+#if OPT_INSTRUCTIONS_UNIFICATION</div><div class='add'>+#include "optunifs.inc"</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+/* for debug */</div><div class='add'>+#if CPDEBUG &lt; 0</div><div class='add'>+#define ISEQ_ARG iseq,</div><div class='add'>+#define ISEQ_ARG_DECLARE rb_iseq_t *iseq,</div><div class='add'>+#else</div><div class='add'>+#define ISEQ_ARG</div><div class='add'>+#define ISEQ_ARG_DECLARE</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#if CPDEBUG</div><div class='add'>+#define gl_node_level ISEQ_COMPILE_DATA(iseq)-&gt;node_level</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+static void dump_disasm_list_with_cursor(const LINK_ELEMENT *link, const LINK_ELEMENT *curr, const LABEL *dest);</div><div class='add'>+static void dump_disasm_list(const LINK_ELEMENT *elem);</div><div class='add'>+</div><div class='add'>+static int insn_data_length(INSN *iobj);</div><div class='add'>+static int calc_sp_depth(int depth, INSN *iobj);</div><div class='add'>+</div><div class='add'>+static INSN *new_insn_body(rb_iseq_t *iseq, int line_no, enum ruby_vminsn_type insn_id, int argc, ...);</div><div class='add'>+static LABEL *new_label_body(rb_iseq_t *iseq, long line);</div><div class='add'>+static ADJUST *new_adjust_body(rb_iseq_t *iseq, LABEL *label, int line);</div><div class='add'>+static TRACE *new_trace_body(rb_iseq_t *iseq, rb_event_flag_t event, long data);</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+static int iseq_compile_each(rb_iseq_t *iseq, LINK_ANCHOR *anchor, const NODE *n, int);</div><div class='add'>+static int iseq_setup(rb_iseq_t *iseq, LINK_ANCHOR *const anchor);</div><div class='add'>+static int iseq_setup_insn(rb_iseq_t *iseq, LINK_ANCHOR *const anchor);</div><div class='add'>+static int iseq_optimize(rb_iseq_t *iseq, LINK_ANCHOR *const anchor);</div><div class='add'>+static int iseq_insns_unification(rb_iseq_t *iseq, LINK_ANCHOR *const anchor);</div><div class='add'>+</div><div class='add'>+static int iseq_set_local_table(rb_iseq_t *iseq, const ID *tbl);</div><div class='add'>+static int iseq_set_exception_local_table(rb_iseq_t *iseq);</div><div class='add'>+static int iseq_set_arguments(rb_iseq_t *iseq, LINK_ANCHOR *const anchor, const NODE *const node);</div><div class='add'>+</div><div class='add'>+static int iseq_set_sequence_stackcaching(rb_iseq_t *iseq, LINK_ANCHOR *const anchor);</div><div class='add'>+static int iseq_set_sequence(rb_iseq_t *iseq, LINK_ANCHOR *const anchor);</div><div class='add'>+static int iseq_set_exception_table(rb_iseq_t *iseq);</div><div class='add'>+static int iseq_set_optargs_table(rb_iseq_t *iseq);</div><div class='add'>+</div><div class='add'>+static int compile_defined_expr(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, VALUE needstr);</div><div class='add'>+static int compile_hash(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *node, int method_call_keywords, int popped);</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * To make Array to LinkedList, use link_anchor</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+verify_list(ISEQ_ARG_DECLARE const char *info, LINK_ANCHOR *const anchor)</div><div class='add'>+{</div><div class='add'>+#if CPDEBUG</div><div class='add'>+    int flag = 0;</div><div class='add'>+    LINK_ELEMENT *list, *plist;</div><div class='add'>+</div><div class='add'>+    if (!compile_debug) return;</div><div class='add'>+</div><div class='add'>+    list = anchor-&gt;anchor.next;</div><div class='add'>+    plist = &amp;anchor-&gt;anchor;</div><div class='add'>+    while (list) {</div><div class='add'>+	if (plist != list-&gt;prev) {</div><div class='add'>+	    flag += 1;</div><div class='add'>+	}</div><div class='add'>+	plist = list;</div><div class='add'>+	list = list-&gt;next;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (anchor-&gt;last != plist &amp;&amp; anchor-&gt;last != 0) {</div><div class='add'>+	flag |= 0x70000;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (flag != 0) {</div><div class='add'>+	rb_bug("list verify error: %08x (%s)", flag, info);</div><div class='add'>+    }</div><div class='add'>+#endif</div><div class='add'>+}</div><div class='add'>+#if CPDEBUG &lt; 0</div><div class='add'>+#define verify_list(info, anchor) verify_list(iseq, (info), (anchor))</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+verify_call_cache(rb_iseq_t *iseq)</div><div class='add'>+{</div><div class='add'>+#if CPDEBUG</div><div class='add'>+    // fprintf(stderr, "ci_size:%d\t", iseq-&gt;body-&gt;ci_size); rp(iseq);</div><div class='add'>+</div><div class='add'>+    VALUE *original = rb_iseq_original_iseq(iseq);</div><div class='add'>+    size_t i = 0;</div><div class='add'>+    while (i &lt; iseq-&gt;body-&gt;iseq_size) {</div><div class='add'>+        VALUE insn = original[i];</div><div class='add'>+        const char *types = insn_op_types(insn);</div><div class='add'>+</div><div class='add'>+        for (int j=0; types[j]; j++) {</div><div class='add'>+            if (types[j] == TS_CALLDATA) {</div><div class='add'>+                struct rb_call_data *cd = (struct rb_call_data *)original[i+j+1];</div><div class='add'>+                const struct rb_callinfo *ci = cd-&gt;ci;</div><div class='add'>+                const struct rb_callcache *cc = cd-&gt;cc;</div><div class='add'>+                if (cc != vm_cc_empty()) {</div><div class='add'>+                    vm_ci_dump(ci);</div><div class='add'>+                    rb_bug("call cache is not initialized by vm_cc_empty()");</div><div class='add'>+                }</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+        i += insn_len(insn);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    for (unsigned int i=0; i&lt;iseq-&gt;body-&gt;ci_size; i++) {</div><div class='add'>+        struct rb_call_data *cd = &amp;iseq-&gt;body-&gt;call_data[i];</div><div class='add'>+        const struct rb_callinfo *ci = cd-&gt;ci;</div><div class='add'>+        const struct rb_callcache *cc = cd-&gt;cc;</div><div class='add'>+        if (cc != NULL &amp;&amp; cc != vm_cc_empty()) {</div><div class='add'>+            vm_ci_dump(ci);</div><div class='add'>+            rb_bug("call cache is not initialized by vm_cc_empty()");</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+#endif</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * elem1, elem2 =&gt; elem1, elem2, elem</div><div class='add'>+ */</div><div class='add'>+static void</div><div class='add'>+ADD_ELEM(ISEQ_ARG_DECLARE LINK_ANCHOR *const anchor, LINK_ELEMENT *elem)</div><div class='add'>+{</div><div class='add'>+    elem-&gt;prev = anchor-&gt;last;</div><div class='add'>+    anchor-&gt;last-&gt;next = elem;</div><div class='add'>+    anchor-&gt;last = elem;</div><div class='add'>+    verify_list("add", anchor);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * elem1, before, elem2 =&gt; elem1, before, elem, elem2</div><div class='add'>+ */</div><div class='add'>+static void</div><div class='add'>+APPEND_ELEM(ISEQ_ARG_DECLARE LINK_ANCHOR *const anchor, LINK_ELEMENT *before, LINK_ELEMENT *elem)</div><div class='add'>+{</div><div class='add'>+    elem-&gt;prev = before;</div><div class='add'>+    elem-&gt;next = before-&gt;next;</div><div class='add'>+    elem-&gt;next-&gt;prev = elem;</div><div class='add'>+    before-&gt;next = elem;</div><div class='add'>+    if (before == anchor-&gt;last) anchor-&gt;last = elem;</div><div class='add'>+    verify_list("add", anchor);</div><div class='add'>+}</div><div class='add'>+#if CPDEBUG &lt; 0</div><div class='add'>+#define ADD_ELEM(anchor, elem) ADD_ELEM(iseq, (anchor), (elem))</div><div class='add'>+#define APPEND_ELEM(anchor, before, elem) APPEND_ELEM(iseq, (anchor), (before), (elem))</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+branch_coverage_valid_p(rb_iseq_t *iseq, int first_line)</div><div class='add'>+{</div><div class='add'>+    if (!ISEQ_COVERAGE(iseq)) return 0;</div><div class='add'>+    if (!ISEQ_BRANCH_COVERAGE(iseq)) return 0;</div><div class='add'>+    if (first_line &lt;= 0) return 0;</div><div class='add'>+    return 1;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+decl_branch_base(rb_iseq_t *iseq, const NODE *node, const char *type)</div><div class='add'>+{</div><div class='add'>+    const int first_lineno = nd_first_lineno(node), first_column = nd_first_column(node);</div><div class='add'>+    const int last_lineno = nd_last_lineno(node), last_column = nd_last_column(node);</div><div class='add'>+</div><div class='add'>+    if (!branch_coverage_valid_p(iseq, first_lineno)) return Qundef;</div><div class='add'>+</div><div class='add'>+    /*</div><div class='add'>+     * if !structure[node]</div><div class='add'>+     *   structure[node] = [type, first_lineno, first_column, last_lineno, last_column, branches = {}]</div><div class='add'>+     * else</div><div class='add'>+     *   branches = structure[node][5]</div><div class='add'>+     * end</div><div class='add'>+     */</div><div class='add'>+</div><div class='add'>+    VALUE structure = RARRAY_AREF(ISEQ_BRANCH_COVERAGE(iseq), 0);</div><div class='add'>+    VALUE key = (VALUE)node | 1; // FIXNUM for hash key</div><div class='add'>+    VALUE branch_base = rb_hash_aref(structure, key);</div><div class='add'>+    VALUE branches;</div><div class='add'>+</div><div class='add'>+    if (NIL_P(branch_base)) {</div><div class='add'>+        branch_base = rb_ary_tmp_new(6);</div><div class='add'>+        rb_hash_aset(structure, key, branch_base);</div><div class='add'>+        rb_ary_push(branch_base, ID2SYM(rb_intern(type)));</div><div class='add'>+        rb_ary_push(branch_base, INT2FIX(first_lineno));</div><div class='add'>+        rb_ary_push(branch_base, INT2FIX(first_column));</div><div class='add'>+        rb_ary_push(branch_base, INT2FIX(last_lineno));</div><div class='add'>+        rb_ary_push(branch_base, INT2FIX(last_column));</div><div class='add'>+        branches = rb_hash_new();</div><div class='add'>+        rb_obj_hide(branches);</div><div class='add'>+        rb_ary_push(branch_base, branches);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        branches = RARRAY_AREF(branch_base, 5);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return branches;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+add_trace_branch_coverage(rb_iseq_t *iseq, LINK_ANCHOR *const seq, const NODE *node, int branch_id, const char *type, VALUE branches)</div><div class='add'>+{</div><div class='add'>+    const int first_lineno = nd_first_lineno(node), first_column = nd_first_column(node);</div><div class='add'>+    const int last_lineno = nd_last_lineno(node), last_column = nd_last_column(node);</div><div class='add'>+</div><div class='add'>+    if (!branch_coverage_valid_p(iseq, first_lineno)) return;</div><div class='add'>+</div><div class='add'>+    /*</div><div class='add'>+     * if !branches[branch_id]</div><div class='add'>+     *   branches[branch_id] = [type, first_lineno, first_column, last_lineno, last_column, counter_idx]</div><div class='add'>+     * else</div><div class='add'>+     *   counter_idx= branches[branch_id][5]</div><div class='add'>+     * end</div><div class='add'>+     */</div><div class='add'>+</div><div class='add'>+    VALUE key = INT2FIX(branch_id);</div><div class='add'>+    VALUE branch = rb_hash_aref(branches, key);</div><div class='add'>+    long counter_idx;</div><div class='add'>+</div><div class='add'>+    if (NIL_P(branch)) {</div><div class='add'>+        branch = rb_ary_tmp_new(6);</div><div class='add'>+        rb_hash_aset(branches, key, branch);</div><div class='add'>+        rb_ary_push(branch, ID2SYM(rb_intern(type)));</div><div class='add'>+        rb_ary_push(branch, INT2FIX(first_lineno));</div><div class='add'>+        rb_ary_push(branch, INT2FIX(first_column));</div><div class='add'>+        rb_ary_push(branch, INT2FIX(last_lineno));</div><div class='add'>+        rb_ary_push(branch, INT2FIX(last_column));</div><div class='add'>+        VALUE counters = RARRAY_AREF(ISEQ_BRANCH_COVERAGE(iseq), 1);</div><div class='add'>+        counter_idx = RARRAY_LEN(counters);</div><div class='add'>+        rb_ary_push(branch, LONG2FIX(counter_idx));</div><div class='add'>+        rb_ary_push(counters, INT2FIX(0));</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        counter_idx = FIX2LONG(RARRAY_AREF(branch, 5));</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    ADD_TRACE_WITH_DATA(seq, RUBY_EVENT_COVERAGE_BRANCH, counter_idx);</div><div class='add'>+    ADD_INSN(seq, last_lineno, nop);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#define ISEQ_LAST_LINE(iseq) (ISEQ_COMPILE_DATA(iseq)-&gt;last_line)</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+validate_label(st_data_t name, st_data_t label, st_data_t arg)</div><div class='add'>+{</div><div class='add'>+    rb_iseq_t *iseq = (rb_iseq_t *)arg;</div><div class='add'>+    LABEL *lobj = (LABEL *)label;</div><div class='add'>+    if (!lobj-&gt;link.next) {</div><div class='add'>+	do {</div><div class='add'>+	    COMPILE_ERROR(iseq, lobj-&gt;position,</div><div class='add'>+			  "%"PRIsVALUE": undefined label",</div><div class='add'>+			  rb_sym2str((VALUE)name));</div><div class='add'>+	} while (0);</div><div class='add'>+    }</div><div class='add'>+    return ST_CONTINUE;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+validate_labels(rb_iseq_t *iseq, st_table *labels_table)</div><div class='add'>+{</div><div class='add'>+    st_foreach(labels_table, validate_label, (st_data_t)iseq);</div><div class='add'>+    st_free_table(labels_table);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_iseq_compile_callback(rb_iseq_t *iseq, const struct rb_iseq_new_with_callback_callback_func * ifunc)</div><div class='add'>+{</div><div class='add'>+    DECL_ANCHOR(ret);</div><div class='add'>+    INIT_ANCHOR(ret);</div><div class='add'>+</div><div class='add'>+    (*ifunc-&gt;func)(iseq, ret, ifunc-&gt;data);</div><div class='add'>+</div><div class='add'>+    ADD_INSN(ret, ISEQ_COMPILE_DATA(iseq)-&gt;last_line, leave);</div><div class='add'>+</div><div class='add'>+    CHECK(iseq_setup_insn(iseq, ret));</div><div class='add'>+    return iseq_setup(iseq, ret);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_iseq_compile_node(rb_iseq_t *iseq, const NODE *node)</div><div class='add'>+{</div><div class='add'>+    DECL_ANCHOR(ret);</div><div class='add'>+    INIT_ANCHOR(ret);</div><div class='add'>+</div><div class='add'>+    if (IMEMO_TYPE_P(node, imemo_ifunc)) {</div><div class='add'>+        rb_raise(rb_eArgError, "unexpected imemo_ifunc");</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (node == 0) {</div><div class='add'>+        NO_CHECK(COMPILE(ret, "nil", node));</div><div class='add'>+	iseq_set_local_table(iseq, 0);</div><div class='add'>+    }</div><div class='add'>+    /* assume node is T_NODE */</div><div class='add'>+    else if (nd_type(node) == NODE_SCOPE) {</div><div class='add'>+	/* iseq type of top, method, class, block */</div><div class='add'>+	iseq_set_local_table(iseq, node-&gt;nd_tbl);</div><div class='add'>+	iseq_set_arguments(iseq, ret, node-&gt;nd_args);</div><div class='add'>+</div><div class='add'>+	switch (iseq-&gt;body-&gt;type) {</div><div class='add'>+	  case ISEQ_TYPE_BLOCK:</div><div class='add'>+	    {</div><div class='add'>+		LABEL *start = ISEQ_COMPILE_DATA(iseq)-&gt;start_label = NEW_LABEL(0);</div><div class='add'>+		LABEL *end = ISEQ_COMPILE_DATA(iseq)-&gt;end_label = NEW_LABEL(0);</div><div class='add'>+</div><div class='add'>+		start-&gt;rescued = LABEL_RESCUE_BEG;</div><div class='add'>+		end-&gt;rescued = LABEL_RESCUE_END;</div><div class='add'>+</div><div class='add'>+		ADD_TRACE(ret, RUBY_EVENT_B_CALL);</div><div class='add'>+		ADD_INSN (ret, FIX2INT(iseq-&gt;body-&gt;location.first_lineno), nop);</div><div class='add'>+		ADD_LABEL(ret, start);</div><div class='add'>+		CHECK(COMPILE(ret, "block body", node-&gt;nd_body));</div><div class='add'>+		ADD_LABEL(ret, end);</div><div class='add'>+		ADD_TRACE(ret, RUBY_EVENT_B_RETURN);</div><div class='add'>+		ISEQ_COMPILE_DATA(iseq)-&gt;last_line = iseq-&gt;body-&gt;location.code_location.end_pos.lineno;</div><div class='add'>+</div><div class='add'>+		/* wide range catch handler must put at last */</div><div class='add'>+		ADD_CATCH_ENTRY(CATCH_TYPE_REDO, start, end, NULL, start);</div><div class='add'>+		ADD_CATCH_ENTRY(CATCH_TYPE_NEXT, start, end, NULL, end);</div><div class='add'>+		break;</div><div class='add'>+	    }</div><div class='add'>+	  case ISEQ_TYPE_CLASS:</div><div class='add'>+	    {</div><div class='add'>+		ADD_TRACE(ret, RUBY_EVENT_CLASS);</div><div class='add'>+		CHECK(COMPILE(ret, "scoped node", node-&gt;nd_body));</div><div class='add'>+		ADD_TRACE(ret, RUBY_EVENT_END);</div><div class='add'>+		ISEQ_COMPILE_DATA(iseq)-&gt;last_line = nd_line(node);</div><div class='add'>+		break;</div><div class='add'>+	    }</div><div class='add'>+	  case ISEQ_TYPE_METHOD:</div><div class='add'>+	    {</div><div class='add'>+		ADD_TRACE(ret, RUBY_EVENT_CALL);</div><div class='add'>+		CHECK(COMPILE(ret, "scoped node", node-&gt;nd_body));</div><div class='add'>+		ADD_TRACE(ret, RUBY_EVENT_RETURN);</div><div class='add'>+		ISEQ_COMPILE_DATA(iseq)-&gt;last_line = nd_line(node);</div><div class='add'>+		break;</div><div class='add'>+	    }</div><div class='add'>+	  default: {</div><div class='add'>+	    CHECK(COMPILE(ret, "scoped node", node-&gt;nd_body));</div><div class='add'>+	    break;</div><div class='add'>+	  }</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	const char *m;</div><div class='add'>+#define INVALID_ISEQ_TYPE(type) \</div><div class='add'>+	ISEQ_TYPE_##type: m = #type; goto invalid_iseq_type</div><div class='add'>+	switch (iseq-&gt;body-&gt;type) {</div><div class='add'>+	  case INVALID_ISEQ_TYPE(METHOD);</div><div class='add'>+	  case INVALID_ISEQ_TYPE(CLASS);</div><div class='add'>+	  case INVALID_ISEQ_TYPE(BLOCK);</div><div class='add'>+	  case INVALID_ISEQ_TYPE(EVAL);</div><div class='add'>+	  case INVALID_ISEQ_TYPE(MAIN);</div><div class='add'>+	  case INVALID_ISEQ_TYPE(TOP);</div><div class='add'>+#undef INVALID_ISEQ_TYPE /* invalid iseq types end */</div><div class='add'>+	  case ISEQ_TYPE_RESCUE:</div><div class='add'>+	    iseq_set_exception_local_table(iseq);</div><div class='add'>+	    CHECK(COMPILE(ret, "rescue", node));</div><div class='add'>+	    break;</div><div class='add'>+	  case ISEQ_TYPE_ENSURE:</div><div class='add'>+	    iseq_set_exception_local_table(iseq);</div><div class='add'>+	    CHECK(COMPILE_POPPED(ret, "ensure", node));</div><div class='add'>+	    break;</div><div class='add'>+	  case ISEQ_TYPE_PLAIN:</div><div class='add'>+	    CHECK(COMPILE(ret, "ensure", node));</div><div class='add'>+	    break;</div><div class='add'>+	  default:</div><div class='add'>+	    COMPILE_ERROR(ERROR_ARGS "unknown scope: %d", iseq-&gt;body-&gt;type);</div><div class='add'>+	    return COMPILE_NG;</div><div class='add'>+	  invalid_iseq_type:</div><div class='add'>+	    COMPILE_ERROR(ERROR_ARGS "compile/ISEQ_TYPE_%s should not be reached", m);</div><div class='add'>+	    return COMPILE_NG;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (iseq-&gt;body-&gt;type == ISEQ_TYPE_RESCUE || iseq-&gt;body-&gt;type == ISEQ_TYPE_ENSURE) {</div><div class='add'>+	ADD_GETLOCAL(ret, 0, LVAR_ERRINFO, 0);</div><div class='add'>+	ADD_INSN1(ret, 0, throw, INT2FIX(0) /* continue throw */ );</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	ADD_INSN(ret, ISEQ_COMPILE_DATA(iseq)-&gt;last_line, leave);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+#if OPT_SUPPORT_JOKE</div><div class='add'>+    if (ISEQ_COMPILE_DATA(iseq)-&gt;labels_table) {</div><div class='add'>+	st_table *labels_table = ISEQ_COMPILE_DATA(iseq)-&gt;labels_table;</div><div class='add'>+	ISEQ_COMPILE_DATA(iseq)-&gt;labels_table = 0;</div><div class='add'>+	validate_labels(iseq, labels_table);</div><div class='add'>+    }</div><div class='add'>+#endif</div><div class='add'>+    CHECK(iseq_setup_insn(iseq, ret));</div><div class='add'>+    return iseq_setup(iseq, ret);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+rb_iseq_translate_threaded_code(rb_iseq_t *iseq)</div><div class='add'>+{</div><div class='add'>+#if OPT_DIRECT_THREADED_CODE || OPT_CALL_THREADED_CODE</div><div class='add'>+    const void * const *table = rb_vm_get_insns_address_table();</div><div class='add'>+    unsigned int i;</div><div class='add'>+    VALUE *encoded = (VALUE *)iseq-&gt;body-&gt;iseq_encoded;</div><div class='add'>+</div><div class='add'>+    for (i = 0; i &lt; iseq-&gt;body-&gt;iseq_size; /* */ ) {</div><div class='add'>+	int insn = (int)iseq-&gt;body-&gt;iseq_encoded[i];</div><div class='add'>+	int len = insn_len(insn);</div><div class='add'>+	encoded[i] = (VALUE)table[insn];</div><div class='add'>+	i += len;</div><div class='add'>+    }</div><div class='add'>+    FL_SET((VALUE)iseq, ISEQ_TRANSLATED);</div><div class='add'>+#endif</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE *</div><div class='add'>+rb_iseq_original_iseq(const rb_iseq_t *iseq) /* cold path */</div><div class='add'>+{</div><div class='add'>+    VALUE *original_code;</div><div class='add'>+</div><div class='add'>+    if (ISEQ_ORIGINAL_ISEQ(iseq)) return ISEQ_ORIGINAL_ISEQ(iseq);</div><div class='add'>+    original_code = ISEQ_ORIGINAL_ISEQ_ALLOC(iseq, iseq-&gt;body-&gt;iseq_size);</div><div class='add'>+    MEMCPY(original_code, iseq-&gt;body-&gt;iseq_encoded, VALUE, iseq-&gt;body-&gt;iseq_size);</div><div class='add'>+</div><div class='add'>+#if OPT_DIRECT_THREADED_CODE || OPT_CALL_THREADED_CODE</div><div class='add'>+    {</div><div class='add'>+	unsigned int i;</div><div class='add'>+</div><div class='add'>+	for (i = 0; i &lt; iseq-&gt;body-&gt;iseq_size; /* */ ) {</div><div class='add'>+	    const void *addr = (const void *)original_code[i];</div><div class='add'>+	    const int insn = rb_vm_insn_addr2insn(addr);</div><div class='add'>+</div><div class='add'>+	    original_code[i] = insn;</div><div class='add'>+	    i += insn_len(insn);</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+#endif</div><div class='add'>+    return original_code;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*********************************************/</div><div class='add'>+/* definition of data structure for compiler */</div><div class='add'>+/*********************************************/</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * On 32-bit SPARC, GCC by default generates SPARC V7 code that may require</div><div class='add'>+ * 8-byte word alignment. On the other hand, Oracle Solaris Studio seems to</div><div class='add'>+ * generate SPARCV8PLUS code with unaligned memory access instructions.</div><div class='add'>+ * That is why the STRICT_ALIGNMENT is defined only with GCC.</div><div class='add'>+ */</div><div class='add'>+#if defined(__sparc) &amp;&amp; SIZEOF_VOIDP == 4 &amp;&amp; defined(__GNUC__)</div><div class='add'>+  #define STRICT_ALIGNMENT</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * Some OpenBSD platforms (including sparc64) require strict alignment.</div><div class='add'>+ */</div><div class='add'>+#if defined(__OpenBSD__)</div><div class='add'>+  #include &lt;sys/endian.h&gt;</div><div class='add'>+  #ifdef __STRICT_ALIGNMENT</div><div class='add'>+    #define STRICT_ALIGNMENT</div><div class='add'>+  #endif</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#ifdef STRICT_ALIGNMENT</div><div class='add'>+  #if defined(HAVE_TRUE_LONG_LONG) &amp;&amp; SIZEOF_LONG_LONG &gt; SIZEOF_VALUE</div><div class='add'>+    #define ALIGNMENT_SIZE SIZEOF_LONG_LONG</div><div class='add'>+  #else</div><div class='add'>+    #define ALIGNMENT_SIZE SIZEOF_VALUE</div><div class='add'>+  #endif</div><div class='add'>+  #define PADDING_SIZE_MAX    ((size_t)((ALIGNMENT_SIZE) - 1))</div><div class='add'>+  #define ALIGNMENT_SIZE_MASK PADDING_SIZE_MAX</div><div class='add'>+  /* Note: ALIGNMENT_SIZE == (2 ** N) is expected. */</div><div class='add'>+#else</div><div class='add'>+  #define PADDING_SIZE_MAX 0</div><div class='add'>+#endif /* STRICT_ALIGNMENT */</div><div class='add'>+</div><div class='add'>+#ifdef STRICT_ALIGNMENT</div><div class='add'>+/* calculate padding size for aligned memory access */</div><div class='add'>+static size_t</div><div class='add'>+calc_padding(void *ptr, size_t size)</div><div class='add'>+{</div><div class='add'>+    size_t mis;</div><div class='add'>+    size_t padding = 0;</div><div class='add'>+</div><div class='add'>+    mis = (size_t)ptr &amp; ALIGNMENT_SIZE_MASK;</div><div class='add'>+    if (mis &gt; 0) {</div><div class='add'>+        padding = ALIGNMENT_SIZE - mis;</div><div class='add'>+    }</div><div class='add'>+/*</div><div class='add'>+ * On 32-bit sparc or equivalents, when a single VALUE is requested</div><div class='add'>+ * and padding == sizeof(VALUE), it is clear that no padding is needed.</div><div class='add'>+ */</div><div class='add'>+#if ALIGNMENT_SIZE &gt; SIZEOF_VALUE</div><div class='add'>+    if (size == sizeof(VALUE) &amp;&amp; padding == sizeof(VALUE)) {</div><div class='add'>+        padding = 0;</div><div class='add'>+    }</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+    return padding;</div><div class='add'>+}</div><div class='add'>+#endif /* STRICT_ALIGNMENT */</div><div class='add'>+</div><div class='add'>+static void *</div><div class='add'>+compile_data_alloc_with_arena(struct iseq_compile_data_storage **arena, size_t size)</div><div class='add'>+{</div><div class='add'>+    void *ptr = 0;</div><div class='add'>+    struct iseq_compile_data_storage *storage = *arena;</div><div class='add'>+#ifdef STRICT_ALIGNMENT</div><div class='add'>+    size_t padding = calc_padding((void *)&amp;storage-&gt;buff[storage-&gt;pos], size);</div><div class='add'>+#else</div><div class='add'>+    const size_t padding = 0; /* expected to be optimized by compiler */</div><div class='add'>+#endif /* STRICT_ALIGNMENT */</div><div class='add'>+</div><div class='add'>+    if (size &gt;= INT_MAX - padding) rb_memerror();</div><div class='add'>+    if (storage-&gt;pos + size + padding &gt; storage-&gt;size) {</div><div class='add'>+	unsigned int alloc_size = storage-&gt;size;</div><div class='add'>+</div><div class='add'>+	while (alloc_size &lt; size + PADDING_SIZE_MAX) {</div><div class='add'>+	    if (alloc_size &gt;= INT_MAX / 2) rb_memerror();</div><div class='add'>+	    alloc_size *= 2;</div><div class='add'>+	}</div><div class='add'>+	storage-&gt;next = (void *)ALLOC_N(char, alloc_size +</div><div class='add'>+					offsetof(struct iseq_compile_data_storage, buff));</div><div class='add'>+	storage = *arena = storage-&gt;next;</div><div class='add'>+	storage-&gt;next = 0;</div><div class='add'>+	storage-&gt;pos = 0;</div><div class='add'>+	storage-&gt;size = alloc_size;</div><div class='add'>+#ifdef STRICT_ALIGNMENT</div><div class='add'>+        padding = calc_padding((void *)&amp;storage-&gt;buff[storage-&gt;pos], size);</div><div class='add'>+#endif /* STRICT_ALIGNMENT */</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+#ifdef STRICT_ALIGNMENT</div><div class='add'>+    storage-&gt;pos += (int)padding;</div><div class='add'>+#endif /* STRICT_ALIGNMENT */</div><div class='add'>+</div><div class='add'>+    ptr = (void *)&amp;storage-&gt;buff[storage-&gt;pos];</div><div class='add'>+    storage-&gt;pos += (int)size;</div><div class='add'>+    return ptr;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void *</div><div class='add'>+compile_data_alloc(rb_iseq_t *iseq, size_t size)</div><div class='add'>+{</div><div class='add'>+    struct iseq_compile_data_storage ** arena = &amp;ISEQ_COMPILE_DATA(iseq)-&gt;node.storage_current;</div><div class='add'>+    return compile_data_alloc_with_arena(arena, size);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static inline void *</div><div class='add'>+compile_data_alloc2(rb_iseq_t *iseq, size_t x, size_t y)</div><div class='add'>+{</div><div class='add'>+    size_t size = rb_size_mul_or_raise(x, y, rb_eRuntimeError);</div><div class='add'>+    return compile_data_alloc(iseq, size);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static inline void *</div><div class='add'>+compile_data_calloc2(rb_iseq_t *iseq, size_t x, size_t y)</div><div class='add'>+{</div><div class='add'>+    size_t size = rb_size_mul_or_raise(x, y, rb_eRuntimeError);</div><div class='add'>+    void *p = compile_data_alloc(iseq, size);</div><div class='add'>+    memset(p, 0, size);</div><div class='add'>+    return p;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static INSN *</div><div class='add'>+compile_data_alloc_insn(rb_iseq_t *iseq)</div><div class='add'>+{</div><div class='add'>+    struct iseq_compile_data_storage ** arena = &amp;ISEQ_COMPILE_DATA(iseq)-&gt;insn.storage_current;</div><div class='add'>+    return (INSN *)compile_data_alloc_with_arena(arena, sizeof(INSN));</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static LABEL *</div><div class='add'>+compile_data_alloc_label(rb_iseq_t *iseq)</div><div class='add'>+{</div><div class='add'>+    return (LABEL *)compile_data_alloc(iseq, sizeof(LABEL));</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static ADJUST *</div><div class='add'>+compile_data_alloc_adjust(rb_iseq_t *iseq)</div><div class='add'>+{</div><div class='add'>+    return (ADJUST *)compile_data_alloc(iseq, sizeof(ADJUST));</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static TRACE *</div><div class='add'>+compile_data_alloc_trace(rb_iseq_t *iseq)</div><div class='add'>+{</div><div class='add'>+    return (TRACE *)compile_data_alloc(iseq, sizeof(TRACE));</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * elem1, elemX =&gt; elem1, elem2, elemX</div><div class='add'>+ */</div><div class='add'>+static void</div><div class='add'>+ELEM_INSERT_NEXT(LINK_ELEMENT *elem1, LINK_ELEMENT *elem2)</div><div class='add'>+{</div><div class='add'>+    elem2-&gt;next = elem1-&gt;next;</div><div class='add'>+    elem2-&gt;prev = elem1;</div><div class='add'>+    elem1-&gt;next = elem2;</div><div class='add'>+    if (elem2-&gt;next) {</div><div class='add'>+	elem2-&gt;next-&gt;prev = elem2;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * elem1, elemX =&gt; elemX, elem2, elem1</div><div class='add'>+ */</div><div class='add'>+static void</div><div class='add'>+ELEM_INSERT_PREV(LINK_ELEMENT *elem1, LINK_ELEMENT *elem2)</div><div class='add'>+{</div><div class='add'>+    elem2-&gt;prev = elem1-&gt;prev;</div><div class='add'>+    elem2-&gt;next = elem1;</div><div class='add'>+    elem1-&gt;prev = elem2;</div><div class='add'>+    if (elem2-&gt;prev) {</div><div class='add'>+	elem2-&gt;prev-&gt;next = elem2;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * elemX, elem1, elemY =&gt; elemX, elem2, elemY</div><div class='add'>+ */</div><div class='add'>+static void</div><div class='add'>+ELEM_REPLACE(LINK_ELEMENT *elem1, LINK_ELEMENT *elem2)</div><div class='add'>+{</div><div class='add'>+    elem2-&gt;prev = elem1-&gt;prev;</div><div class='add'>+    elem2-&gt;next = elem1-&gt;next;</div><div class='add'>+    if (elem1-&gt;prev) {</div><div class='add'>+	elem1-&gt;prev-&gt;next = elem2;</div><div class='add'>+    }</div><div class='add'>+    if (elem1-&gt;next) {</div><div class='add'>+	elem1-&gt;next-&gt;prev = elem2;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+ELEM_REMOVE(LINK_ELEMENT *elem)</div><div class='add'>+{</div><div class='add'>+    elem-&gt;prev-&gt;next = elem-&gt;next;</div><div class='add'>+    if (elem-&gt;next) {</div><div class='add'>+	elem-&gt;next-&gt;prev = elem-&gt;prev;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static LINK_ELEMENT *</div><div class='add'>+FIRST_ELEMENT(const LINK_ANCHOR *const anchor)</div><div class='add'>+{</div><div class='add'>+    return anchor-&gt;anchor.next;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static LINK_ELEMENT *</div><div class='add'>+LAST_ELEMENT(LINK_ANCHOR *const anchor)</div><div class='add'>+{</div><div class='add'>+    return anchor-&gt;last;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static LINK_ELEMENT *</div><div class='add'>+POP_ELEMENT(ISEQ_ARG_DECLARE LINK_ANCHOR *const anchor)</div><div class='add'>+{</div><div class='add'>+    LINK_ELEMENT *elem = anchor-&gt;last;</div><div class='add'>+    anchor-&gt;last = anchor-&gt;last-&gt;prev;</div><div class='add'>+    anchor-&gt;last-&gt;next = 0;</div><div class='add'>+    verify_list("pop", anchor);</div><div class='add'>+    return elem;</div><div class='add'>+}</div><div class='add'>+#if CPDEBUG &lt; 0</div><div class='add'>+#define POP_ELEMENT(anchor) POP_ELEMENT(iseq, (anchor))</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+static LINK_ELEMENT *</div><div class='add'>+ELEM_FIRST_INSN(LINK_ELEMENT *elem)</div><div class='add'>+{</div><div class='add'>+    while (elem) {</div><div class='add'>+	switch (elem-&gt;type) {</div><div class='add'>+	  case ISEQ_ELEMENT_INSN:</div><div class='add'>+	  case ISEQ_ELEMENT_ADJUST:</div><div class='add'>+	    return elem;</div><div class='add'>+	  default:</div><div class='add'>+	    elem = elem-&gt;next;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    return NULL;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+LIST_INSN_SIZE_ONE(const LINK_ANCHOR *const anchor)</div><div class='add'>+{</div><div class='add'>+    LINK_ELEMENT *first_insn = ELEM_FIRST_INSN(FIRST_ELEMENT(anchor));</div><div class='add'>+    if (first_insn != NULL &amp;&amp;</div><div class='add'>+	ELEM_FIRST_INSN(first_insn-&gt;next) == NULL) {</div><div class='add'>+	return TRUE;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	return FALSE;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+LIST_INSN_SIZE_ZERO(const LINK_ANCHOR *const anchor)</div><div class='add'>+{</div><div class='add'>+    if (ELEM_FIRST_INSN(FIRST_ELEMENT(anchor)) == NULL) {</div><div class='add'>+	return TRUE;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	return FALSE;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * anc1: e1, e2, e3</div><div class='add'>+ * anc2: e4, e5</div><div class='add'>+ *#=&gt;</div><div class='add'>+ * anc1: e1, e2, e3, e4, e5</div><div class='add'>+ * anc2: e4, e5 (broken)</div><div class='add'>+ */</div><div class='add'>+static void</div><div class='add'>+APPEND_LIST(ISEQ_ARG_DECLARE LINK_ANCHOR *const anc1, LINK_ANCHOR *const anc2)</div><div class='add'>+{</div><div class='add'>+    if (anc2-&gt;anchor.next) {</div><div class='add'>+	anc1-&gt;last-&gt;next = anc2-&gt;anchor.next;</div><div class='add'>+	anc2-&gt;anchor.next-&gt;prev = anc1-&gt;last;</div><div class='add'>+	anc1-&gt;last = anc2-&gt;last;</div><div class='add'>+    }</div><div class='add'>+    verify_list("append", anc1);</div><div class='add'>+}</div><div class='add'>+#if CPDEBUG &lt; 0</div><div class='add'>+#define APPEND_LIST(anc1, anc2) APPEND_LIST(iseq, (anc1), (anc2))</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#if CPDEBUG &amp;&amp; 0</div><div class='add'>+static void</div><div class='add'>+debug_list(ISEQ_ARG_DECLARE LINK_ANCHOR *const anchor, LINK_ELEMENT *cur)</div><div class='add'>+{</div><div class='add'>+    LINK_ELEMENT *list = FIRST_ELEMENT(anchor);</div><div class='add'>+    printf("----\n");</div><div class='add'>+    printf("anch: %p, frst: %p, last: %p\n", &amp;anchor-&gt;anchor,</div><div class='add'>+	   anchor-&gt;anchor.next, anchor-&gt;last);</div><div class='add'>+    while (list) {</div><div class='add'>+	printf("curr: %p, next: %p, prev: %p, type: %d\n", list, list-&gt;next,</div><div class='add'>+	       list-&gt;prev, (int)list-&gt;type);</div><div class='add'>+	list = list-&gt;next;</div><div class='add'>+    }</div><div class='add'>+    printf("----\n");</div><div class='add'>+</div><div class='add'>+    dump_disasm_list_with_cursor(anchor-&gt;anchor.next, cur, 0);</div><div class='add'>+    verify_list("debug list", anchor);</div><div class='add'>+}</div><div class='add'>+#if CPDEBUG &lt; 0</div><div class='add'>+#define debug_list(anc, cur) debug_list(iseq, (anc), (cur))</div><div class='add'>+#endif</div><div class='add'>+#else</div><div class='add'>+#define debug_list(anc, cur) ((void)0)</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+static TRACE *</div><div class='add'>+new_trace_body(rb_iseq_t *iseq, rb_event_flag_t event, long data)</div><div class='add'>+{</div><div class='add'>+    TRACE *trace = compile_data_alloc_trace(iseq);</div><div class='add'>+</div><div class='add'>+    trace-&gt;link.type = ISEQ_ELEMENT_TRACE;</div><div class='add'>+    trace-&gt;link.next = NULL;</div><div class='add'>+    trace-&gt;event = event;</div><div class='add'>+    trace-&gt;data = data;</div><div class='add'>+</div><div class='add'>+    return trace;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static LABEL *</div><div class='add'>+new_label_body(rb_iseq_t *iseq, long line)</div><div class='add'>+{</div><div class='add'>+    LABEL *labelobj = compile_data_alloc_label(iseq);</div><div class='add'>+</div><div class='add'>+    labelobj-&gt;link.type = ISEQ_ELEMENT_LABEL;</div><div class='add'>+    labelobj-&gt;link.next = 0;</div><div class='add'>+</div><div class='add'>+    labelobj-&gt;label_no = ISEQ_COMPILE_DATA(iseq)-&gt;label_no++;</div><div class='add'>+    labelobj-&gt;sc_state = 0;</div><div class='add'>+    labelobj-&gt;sp = -1;</div><div class='add'>+    labelobj-&gt;refcnt = 0;</div><div class='add'>+    labelobj-&gt;set = 0;</div><div class='add'>+    labelobj-&gt;rescued = LABEL_RESCUE_NONE;</div><div class='add'>+    labelobj-&gt;unremovable = 0;</div><div class='add'>+    return labelobj;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static ADJUST *</div><div class='add'>+new_adjust_body(rb_iseq_t *iseq, LABEL *label, int line)</div><div class='add'>+{</div><div class='add'>+    ADJUST *adjust = compile_data_alloc_adjust(iseq);</div><div class='add'>+    adjust-&gt;link.type = ISEQ_ELEMENT_ADJUST;</div><div class='add'>+    adjust-&gt;link.next = 0;</div><div class='add'>+    adjust-&gt;label = label;</div><div class='add'>+    adjust-&gt;line_no = line;</div><div class='add'>+    LABEL_UNREMOVABLE(label);</div><div class='add'>+    return adjust;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static INSN *</div><div class='add'>+new_insn_core(rb_iseq_t *iseq, int line_no,</div><div class='add'>+	      int insn_id, int argc, VALUE *argv)</div><div class='add'>+{</div><div class='add'>+    INSN *iobj = compile_data_alloc_insn(iseq);</div><div class='add'>+</div><div class='add'>+    /* printf("insn_id: %d, line: %d\n", insn_id, line_no); */</div><div class='add'>+</div><div class='add'>+    iobj-&gt;link.type = ISEQ_ELEMENT_INSN;</div><div class='add'>+    iobj-&gt;link.next = 0;</div><div class='add'>+    iobj-&gt;insn_id = insn_id;</div><div class='add'>+    iobj-&gt;insn_info.line_no = line_no;</div><div class='add'>+    iobj-&gt;insn_info.events = 0;</div><div class='add'>+    iobj-&gt;operands = argv;</div><div class='add'>+    iobj-&gt;operand_size = argc;</div><div class='add'>+    iobj-&gt;sc_state = 0;</div><div class='add'>+    return iobj;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static INSN *</div><div class='add'>+new_insn_body(rb_iseq_t *iseq, int line_no, enum ruby_vminsn_type insn_id, int argc, ...)</div><div class='add'>+{</div><div class='add'>+    VALUE *operands = 0;</div><div class='add'>+    va_list argv;</div><div class='add'>+    if (argc &gt; 0) {</div><div class='add'>+	int i;</div><div class='add'>+        va_start(argv, argc);</div><div class='add'>+        operands = compile_data_alloc2(iseq, sizeof(VALUE), argc);</div><div class='add'>+	for (i = 0; i &lt; argc; i++) {</div><div class='add'>+	    VALUE v = va_arg(argv, VALUE);</div><div class='add'>+	    operands[i] = v;</div><div class='add'>+	}</div><div class='add'>+	va_end(argv);</div><div class='add'>+    }</div><div class='add'>+    return new_insn_core(iseq, line_no, insn_id, argc, operands);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static const struct rb_callinfo *</div><div class='add'>+new_callinfo(rb_iseq_t *iseq, ID mid, int argc, unsigned int flag, struct rb_callinfo_kwarg *kw_arg, int has_blockiseq)</div><div class='add'>+{</div><div class='add'>+    VM_ASSERT(argc &gt;= 0);</div><div class='add'>+</div><div class='add'>+    if (!(flag &amp; (VM_CALL_ARGS_SPLAT | VM_CALL_ARGS_BLOCKARG | VM_CALL_KW_SPLAT)) &amp;&amp;</div><div class='add'>+        kw_arg == NULL &amp;&amp; !has_blockiseq) {</div><div class='add'>+        flag |= VM_CALL_ARGS_SIMPLE;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (kw_arg) {</div><div class='add'>+        flag |= VM_CALL_KWARG;</div><div class='add'>+        argc += kw_arg-&gt;keyword_len;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    // fprintf(stderr, "[%d] id:%s\t", (int)iseq-&gt;body-&gt;ci_size, rb_id2name(mid)); rp(iseq);</div><div class='add'>+    iseq-&gt;body-&gt;ci_size++;</div><div class='add'>+    const struct rb_callinfo *ci = vm_ci_new(mid, flag, argc, kw_arg);</div><div class='add'>+    RB_OBJ_WRITTEN(iseq, Qundef, ci);</div><div class='add'>+    return ci;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static INSN *</div><div class='add'>+new_insn_send(rb_iseq_t *iseq, int line_no, ID id, VALUE argc, const rb_iseq_t *blockiseq, VALUE flag, struct rb_callinfo_kwarg *keywords)</div><div class='add'>+{</div><div class='add'>+    VALUE *operands = compile_data_calloc2(iseq, sizeof(VALUE), 2);</div><div class='add'>+    operands[0] = (VALUE)new_callinfo(iseq, id, FIX2INT(argc), FIX2INT(flag), keywords, blockiseq != NULL);</div><div class='add'>+    operands[1] = (VALUE)blockiseq;</div><div class='add'>+    if (blockiseq) {</div><div class='add'>+        RB_OBJ_WRITTEN(iseq, Qundef, blockiseq);</div><div class='add'>+    }</div><div class='add'>+    return new_insn_core(iseq, line_no, BIN(send), 2, operands);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static rb_iseq_t *</div><div class='add'>+new_child_iseq(rb_iseq_t *iseq, const NODE *const node,</div><div class='add'>+	       VALUE name, const rb_iseq_t *parent, enum iseq_type type, int line_no)</div><div class='add'>+{</div><div class='add'>+    rb_iseq_t *ret_iseq;</div><div class='add'>+    rb_ast_body_t ast;</div><div class='add'>+</div><div class='add'>+    ast.root = node;</div><div class='add'>+    ast.compile_option = 0;</div><div class='add'>+    ast.line_count = -1;</div><div class='add'>+</div><div class='add'>+    debugs("[new_child_iseq]&gt; ---------------------------------------\n");</div><div class='add'>+    int isolated_depth = ISEQ_COMPILE_DATA(iseq)-&gt;isolated_depth;</div><div class='add'>+    ret_iseq = rb_iseq_new_with_opt(&amp;ast, name,</div><div class='add'>+				    rb_iseq_path(iseq), rb_iseq_realpath(iseq),</div><div class='add'>+                                    INT2FIX(line_no), parent,</div><div class='add'>+                                    isolated_depth ? isolated_depth + 1 : 0,</div><div class='add'>+                                    type, ISEQ_COMPILE_DATA(iseq)-&gt;option);</div><div class='add'>+    debugs("[new_child_iseq]&lt; ---------------------------------------\n");</div><div class='add'>+    return ret_iseq;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static rb_iseq_t *</div><div class='add'>+new_child_iseq_with_callback(rb_iseq_t *iseq, const struct rb_iseq_new_with_callback_callback_func *ifunc,</div><div class='add'>+		     VALUE name, const rb_iseq_t *parent, enum iseq_type type, int line_no)</div><div class='add'>+{</div><div class='add'>+    rb_iseq_t *ret_iseq;</div><div class='add'>+</div><div class='add'>+    debugs("[new_child_iseq_with_callback]&gt; ---------------------------------------\n");</div><div class='add'>+    ret_iseq = rb_iseq_new_with_callback(ifunc, name,</div><div class='add'>+				 rb_iseq_path(iseq), rb_iseq_realpath(iseq),</div><div class='add'>+				 INT2FIX(line_no), parent, type, ISEQ_COMPILE_DATA(iseq)-&gt;option);</div><div class='add'>+    debugs("[new_child_iseq_with_callback]&lt; ---------------------------------------\n");</div><div class='add'>+    return ret_iseq;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+set_catch_except_p(struct rb_iseq_constant_body *body)</div><div class='add'>+{</div><div class='add'>+    body-&gt;catch_except_p = TRUE;</div><div class='add'>+    if (body-&gt;parent_iseq != NULL) {</div><div class='add'>+        set_catch_except_p(body-&gt;parent_iseq-&gt;body);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/* Set body-&gt;catch_except_p to TRUE if the ISeq may catch an exception. If it is FALSE,</div><div class='add'>+   JIT-ed code may be optimized.  If we are extremely conservative, we should set TRUE</div><div class='add'>+   if catch table exists.  But we want to optimize while loop, which always has catch</div><div class='add'>+   table entries for break/next/redo.</div><div class='add'>+</div><div class='add'>+   So this function sets TRUE for limited ISeqs with break/next/redo catch table entries</div><div class='add'>+   whose child ISeq would really raise an exception. */</div><div class='add'>+static void</div><div class='add'>+update_catch_except_flags(struct rb_iseq_constant_body *body)</div><div class='add'>+{</div><div class='add'>+    unsigned int pos;</div><div class='add'>+    size_t i;</div><div class='add'>+    int insn;</div><div class='add'>+    const struct iseq_catch_table *ct = body-&gt;catch_table;</div><div class='add'>+</div><div class='add'>+    /* This assumes that a block has parent_iseq which may catch an exception from the block, and that</div><div class='add'>+       BREAK/NEXT/REDO catch table entries are used only when `throw` insn is used in the block. */</div><div class='add'>+    pos = 0;</div><div class='add'>+    while (pos &lt; body-&gt;iseq_size) {</div><div class='add'>+#if OPT_DIRECT_THREADED_CODE || OPT_CALL_THREADED_CODE</div><div class='add'>+        insn = rb_vm_insn_addr2insn((void *)body-&gt;iseq_encoded[pos]);</div><div class='add'>+#else</div><div class='add'>+        insn = (int)body-&gt;iseq_encoded[pos];</div><div class='add'>+#endif</div><div class='add'>+        if (insn == BIN(throw)) {</div><div class='add'>+            set_catch_except_p(body);</div><div class='add'>+            break;</div><div class='add'>+        }</div><div class='add'>+        pos += insn_len(insn);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (ct == NULL)</div><div class='add'>+        return;</div><div class='add'>+</div><div class='add'>+    for (i = 0; i &lt; ct-&gt;size; i++) {</div><div class='add'>+        const struct iseq_catch_table_entry *entry =</div><div class='add'>+            UNALIGNED_MEMBER_PTR(ct, entries[i]);</div><div class='add'>+        if (entry-&gt;type != CATCH_TYPE_BREAK</div><div class='add'>+            &amp;&amp; entry-&gt;type != CATCH_TYPE_NEXT</div><div class='add'>+            &amp;&amp; entry-&gt;type != CATCH_TYPE_REDO) {</div><div class='add'>+            body-&gt;catch_except_p = TRUE;</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'>+static void</div><div class='add'>+iseq_insert_nop_between_end_and_cont(rb_iseq_t *iseq)</div><div class='add'>+{</div><div class='add'>+    VALUE catch_table_ary = ISEQ_COMPILE_DATA(iseq)-&gt;catch_table_ary;</div><div class='add'>+    if (NIL_P(catch_table_ary)) return;</div><div class='add'>+    unsigned int i, tlen = (unsigned int)RARRAY_LEN(catch_table_ary);</div><div class='add'>+    const VALUE *tptr = RARRAY_CONST_PTR_TRANSIENT(catch_table_ary);</div><div class='add'>+    for (i = 0; i &lt; tlen; i++) {</div><div class='add'>+        const VALUE *ptr = RARRAY_CONST_PTR_TRANSIENT(tptr[i]);</div><div class='add'>+        LINK_ELEMENT *end = (LINK_ELEMENT *)(ptr[2] &amp; ~1);</div><div class='add'>+        LINK_ELEMENT *cont = (LINK_ELEMENT *)(ptr[4] &amp; ~1);</div><div class='add'>+        LINK_ELEMENT *e;</div><div class='add'>+        for (e = end; e &amp;&amp; (IS_LABEL(e) || IS_TRACE(e)); e = e-&gt;next) {</div><div class='add'>+            if (e == cont) {</div><div class='add'>+                INSN *nop = new_insn_core(iseq, 0, BIN(nop), 0, 0);</div><div class='add'>+                ELEM_INSERT_NEXT(end, &amp;nop-&gt;link);</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'>+static int</div><div class='add'>+iseq_setup_insn(rb_iseq_t *iseq, LINK_ANCHOR *const anchor)</div><div class='add'>+{</div><div class='add'>+    if (RTEST(ISEQ_COMPILE_DATA(iseq)-&gt;err_info))</div><div class='add'>+	return COMPILE_NG;</div><div class='add'>+</div><div class='add'>+    /* debugs("[compile step 2] (iseq_array_to_linkedlist)\n"); */</div><div class='add'>+</div><div class='add'>+    if (compile_debug &gt; 5)</div><div class='add'>+	dump_disasm_list(FIRST_ELEMENT(anchor));</div><div class='add'>+</div><div class='add'>+    debugs("[compile step 3.1 (iseq_optimize)]\n");</div><div class='add'>+    iseq_optimize(iseq, anchor);</div><div class='add'>+</div><div class='add'>+    if (compile_debug &gt; 5)</div><div class='add'>+	dump_disasm_list(FIRST_ELEMENT(anchor));</div><div class='add'>+</div><div class='add'>+    if (ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;instructions_unification) {</div><div class='add'>+	debugs("[compile step 3.2 (iseq_insns_unification)]\n");</div><div class='add'>+	iseq_insns_unification(iseq, anchor);</div><div class='add'>+	if (compile_debug &gt; 5)</div><div class='add'>+	    dump_disasm_list(FIRST_ELEMENT(anchor));</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;stack_caching) {</div><div class='add'>+	debugs("[compile step 3.3 (iseq_set_sequence_stackcaching)]\n");</div><div class='add'>+	iseq_set_sequence_stackcaching(iseq, anchor);</div><div class='add'>+	if (compile_debug &gt; 5)</div><div class='add'>+	    dump_disasm_list(FIRST_ELEMENT(anchor));</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    debugs("[compile step 3.4 (iseq_insert_nop_between_end_and_cont)]\n");</div><div class='add'>+    iseq_insert_nop_between_end_and_cont(iseq);</div><div class='add'>+    if (compile_debug &gt; 5)</div><div class='add'>+        dump_disasm_list(FIRST_ELEMENT(anchor));</div><div class='add'>+</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+iseq_setup(rb_iseq_t *iseq, LINK_ANCHOR *const anchor)</div><div class='add'>+{</div><div class='add'>+    if (RTEST(ISEQ_COMPILE_DATA(iseq)-&gt;err_info))</div><div class='add'>+        return COMPILE_NG;</div><div class='add'>+</div><div class='add'>+    debugs("[compile step 4.1 (iseq_set_sequence)]\n");</div><div class='add'>+    if (!iseq_set_sequence(iseq, anchor)) return COMPILE_NG;</div><div class='add'>+    if (compile_debug &gt; 5)</div><div class='add'>+	dump_disasm_list(FIRST_ELEMENT(anchor));</div><div class='add'>+</div><div class='add'>+    debugs("[compile step 4.2 (iseq_set_exception_table)]\n");</div><div class='add'>+    if (!iseq_set_exception_table(iseq)) return COMPILE_NG;</div><div class='add'>+</div><div class='add'>+    debugs("[compile step 4.3 (set_optargs_table)] \n");</div><div class='add'>+    if (!iseq_set_optargs_table(iseq)) return COMPILE_NG;</div><div class='add'>+</div><div class='add'>+    debugs("[compile step 5 (iseq_translate_threaded_code)] \n");</div><div class='add'>+    if (!rb_iseq_translate_threaded_code(iseq)) return COMPILE_NG;</div><div class='add'>+</div><div class='add'>+    debugs("[compile step 6 (update_catch_except_flags)] \n");</div><div class='add'>+    update_catch_except_flags(iseq-&gt;body);</div><div class='add'>+</div><div class='add'>+#if VM_INSN_INFO_TABLE_IMPL == 2</div><div class='add'>+    if (iseq-&gt;body-&gt;insns_info.succ_index_table == NULL) {</div><div class='add'>+        debugs("[compile step 7 (rb_iseq_insns_info_encode_positions)] \n");</div><div class='add'>+        rb_iseq_insns_info_encode_positions(iseq);</div><div class='add'>+    }</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+    if (compile_debug &gt; 1) {</div><div class='add'>+	VALUE str = rb_iseq_disasm(iseq);</div><div class='add'>+	printf("%s\n", StringValueCStr(str));</div><div class='add'>+    }</div><div class='add'>+    verify_call_cache(iseq);</div><div class='add'>+    debugs("[compile step: finish]\n");</div><div class='add'>+</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+iseq_set_exception_local_table(rb_iseq_t *iseq)</div><div class='add'>+{</div><div class='add'>+    iseq-&gt;body-&gt;local_table_size = numberof(rb_iseq_shared_exc_local_tbl);</div><div class='add'>+    iseq-&gt;body-&gt;local_table = rb_iseq_shared_exc_local_tbl;</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+get_lvar_level(const rb_iseq_t *iseq)</div><div class='add'>+{</div><div class='add'>+    int lev = 0;</div><div class='add'>+    while (iseq != iseq-&gt;body-&gt;local_iseq) {</div><div class='add'>+	lev++;</div><div class='add'>+	iseq = iseq-&gt;body-&gt;parent_iseq;</div><div class='add'>+    }</div><div class='add'>+    return lev;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+get_dyna_var_idx_at_raw(const rb_iseq_t *iseq, ID id)</div><div class='add'>+{</div><div class='add'>+    unsigned int i;</div><div class='add'>+</div><div class='add'>+    for (i = 0; i &lt; iseq-&gt;body-&gt;local_table_size; i++) {</div><div class='add'>+	if (iseq-&gt;body-&gt;local_table[i] == id) {</div><div class='add'>+	    return (int)i;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    return -1;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+get_local_var_idx(const rb_iseq_t *iseq, ID id)</div><div class='add'>+{</div><div class='add'>+    int idx = get_dyna_var_idx_at_raw(iseq-&gt;body-&gt;local_iseq, id);</div><div class='add'>+</div><div class='add'>+    if (idx &lt; 0) {</div><div class='add'>+        COMPILE_ERROR(iseq, ISEQ_LAST_LINE(iseq),</div><div class='add'>+                      "get_local_var_idx: %d", idx);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return idx;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+get_dyna_var_idx(const rb_iseq_t *iseq, ID id, int *level, int *ls)</div><div class='add'>+{</div><div class='add'>+    int lv = 0, idx = -1;</div><div class='add'>+    const rb_iseq_t *const topmost_iseq = iseq;</div><div class='add'>+</div><div class='add'>+    while (iseq) {</div><div class='add'>+	idx = get_dyna_var_idx_at_raw(iseq, id);</div><div class='add'>+	if (idx &gt;= 0) {</div><div class='add'>+	    break;</div><div class='add'>+	}</div><div class='add'>+	iseq = iseq-&gt;body-&gt;parent_iseq;</div><div class='add'>+	lv++;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (idx &lt; 0) {</div><div class='add'>+        COMPILE_ERROR(topmost_iseq, ISEQ_LAST_LINE(topmost_iseq),</div><div class='add'>+                      "get_dyna_var_idx: -1");</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    *level = lv;</div><div class='add'>+    *ls = iseq-&gt;body-&gt;local_table_size;</div><div class='add'>+    return idx;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+iseq_local_block_param_p(const rb_iseq_t *iseq, unsigned int idx, unsigned int level)</div><div class='add'>+{</div><div class='add'>+    const struct rb_iseq_constant_body *body;</div><div class='add'>+    while (level &gt; 0) {</div><div class='add'>+	iseq = iseq-&gt;body-&gt;parent_iseq;</div><div class='add'>+	level--;</div><div class='add'>+    }</div><div class='add'>+    body = iseq-&gt;body;</div><div class='add'>+    if (body-&gt;local_iseq == iseq &amp;&amp; /* local variables */</div><div class='add'>+	body-&gt;param.flags.has_block &amp;&amp;</div><div class='add'>+	body-&gt;local_table_size - body-&gt;param.block_start == idx) {</div><div class='add'>+	return TRUE;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	return FALSE;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+iseq_block_param_id_p(const rb_iseq_t *iseq, ID id, int *pidx, int *plevel)</div><div class='add'>+{</div><div class='add'>+    int level, ls;</div><div class='add'>+    int idx = get_dyna_var_idx(iseq, id, &amp;level, &amp;ls);</div><div class='add'>+    if (iseq_local_block_param_p(iseq, ls - idx, level)) {</div><div class='add'>+	*pidx = ls - idx;</div><div class='add'>+	*plevel = level;</div><div class='add'>+	return TRUE;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	return FALSE;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+access_outer_variables(const rb_iseq_t *iseq, int level, ID id, bool write)</div><div class='add'>+{</div><div class='add'>+    int isolated_depth = ISEQ_COMPILE_DATA(iseq)-&gt;isolated_depth;</div><div class='add'>+</div><div class='add'>+    if (isolated_depth &amp;&amp; level &gt;= isolated_depth) {</div><div class='add'>+        if (id == rb_intern("yield")) {</div><div class='add'>+            COMPILE_ERROR(iseq, ISEQ_LAST_LINE(iseq), "can not yield from isolated Proc", rb_id2name(id));</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            COMPILE_ERROR(iseq, ISEQ_LAST_LINE(iseq), "can not access variable `%s' from isolated Proc", rb_id2name(id));</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    for (int i=0; i&lt;level; i++) {</div><div class='add'>+        VALUE val;</div><div class='add'>+        struct rb_id_table *ovs = iseq-&gt;body-&gt;outer_variables;</div><div class='add'>+</div><div class='add'>+        if (!ovs) {</div><div class='add'>+            ovs = iseq-&gt;body-&gt;outer_variables = rb_id_table_create(8);</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        if (rb_id_table_lookup(iseq-&gt;body-&gt;outer_variables, id, &amp;val)) {</div><div class='add'>+            if (write &amp;&amp; !val) {</div><div class='add'>+                rb_id_table_insert(iseq-&gt;body-&gt;outer_variables, id, Qtrue);</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            rb_id_table_insert(iseq-&gt;body-&gt;outer_variables, id, write ? Qtrue : Qfalse);</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        iseq = iseq-&gt;body-&gt;parent_iseq;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static ID</div><div class='add'>+iseq_lvar_id(const rb_iseq_t *iseq, int idx, int level)</div><div class='add'>+{</div><div class='add'>+    for (int i=0; i&lt;level; i++) {</div><div class='add'>+        iseq = iseq-&gt;body-&gt;parent_iseq;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    ID id = iseq-&gt;body-&gt;local_table[iseq-&gt;body-&gt;local_table_size - idx];</div><div class='add'>+    // fprintf(stderr, "idx:%d level:%d ID:%s\n", idx, level, rb_id2name(id));</div><div class='add'>+    return id;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+iseq_add_getlocal(rb_iseq_t *iseq, LINK_ANCHOR *const seq, int line, int idx, int level)</div><div class='add'>+{</div><div class='add'>+    if (iseq_local_block_param_p(iseq, idx, level)) {</div><div class='add'>+	ADD_INSN2(seq, line, getblockparam, INT2FIX((idx) + VM_ENV_DATA_SIZE - 1), INT2FIX(level));</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	ADD_INSN2(seq, line, getlocal, INT2FIX((idx) + VM_ENV_DATA_SIZE - 1), INT2FIX(level));</div><div class='add'>+    }</div><div class='add'>+    if (level &gt; 0) access_outer_variables(iseq, level, iseq_lvar_id(iseq, idx, level), Qfalse);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+iseq_add_setlocal(rb_iseq_t *iseq, LINK_ANCHOR *const seq, int line, int idx, int level)</div><div class='add'>+{</div><div class='add'>+    if (iseq_local_block_param_p(iseq, idx, level)) {</div><div class='add'>+	ADD_INSN2(seq, line, setblockparam, INT2FIX((idx) + VM_ENV_DATA_SIZE - 1), INT2FIX(level));</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	ADD_INSN2(seq, line, setlocal, INT2FIX((idx) + VM_ENV_DATA_SIZE - 1), INT2FIX(level));</div><div class='add'>+    }</div><div class='add'>+    if (level &gt; 0) access_outer_variables(iseq, level, iseq_lvar_id(iseq, idx, level), Qtrue);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+iseq_calc_param_size(rb_iseq_t *iseq)</div><div class='add'>+{</div><div class='add'>+    struct rb_iseq_constant_body *const body = iseq-&gt;body;</div><div class='add'>+    if (body-&gt;param.flags.has_opt ||</div><div class='add'>+	body-&gt;param.flags.has_post ||</div><div class='add'>+	body-&gt;param.flags.has_rest ||</div><div class='add'>+	body-&gt;param.flags.has_block ||</div><div class='add'>+	body-&gt;param.flags.has_kw ||</div><div class='add'>+	body-&gt;param.flags.has_kwrest) {</div><div class='add'>+</div><div class='add'>+	if (body-&gt;param.flags.has_block) {</div><div class='add'>+	    body-&gt;param.size = body-&gt;param.block_start + 1;</div><div class='add'>+	}</div><div class='add'>+	else if (body-&gt;param.flags.has_kwrest) {</div><div class='add'>+	    body-&gt;param.size = body-&gt;param.keyword-&gt;rest_start + 1;</div><div class='add'>+	}</div><div class='add'>+	else if (body-&gt;param.flags.has_kw) {</div><div class='add'>+	    body-&gt;param.size = body-&gt;param.keyword-&gt;bits_start + 1;</div><div class='add'>+	}</div><div class='add'>+	else if (body-&gt;param.flags.has_post) {</div><div class='add'>+	    body-&gt;param.size = body-&gt;param.post_start + body-&gt;param.post_num;</div><div class='add'>+	}</div><div class='add'>+	else if (body-&gt;param.flags.has_rest) {</div><div class='add'>+	    body-&gt;param.size = body-&gt;param.rest_start + 1;</div><div class='add'>+	}</div><div class='add'>+	else if (body-&gt;param.flags.has_opt) {</div><div class='add'>+	    body-&gt;param.size = body-&gt;param.lead_num + body-&gt;param.opt_num;</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+            UNREACHABLE;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	body-&gt;param.size = body-&gt;param.lead_num;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+iseq_set_arguments_keywords(rb_iseq_t *iseq, LINK_ANCHOR *const optargs,</div><div class='add'>+			    const struct rb_args_info *args, int arg_size)</div><div class='add'>+{</div><div class='add'>+    const NODE *node = args-&gt;kw_args;</div><div class='add'>+    struct rb_iseq_constant_body *const body = iseq-&gt;body;</div><div class='add'>+    struct rb_iseq_param_keyword *keyword;</div><div class='add'>+    const VALUE default_values = rb_ary_tmp_new(1);</div><div class='add'>+    const VALUE complex_mark = rb_str_tmp_new(0);</div><div class='add'>+    int kw = 0, rkw = 0, di = 0, i;</div><div class='add'>+</div><div class='add'>+    body-&gt;param.flags.has_kw = TRUE;</div><div class='add'>+    body-&gt;param.keyword = keyword = ZALLOC_N(struct rb_iseq_param_keyword, 1);</div><div class='add'>+</div><div class='add'>+    while (node) {</div><div class='add'>+	kw++;</div><div class='add'>+	node = node-&gt;nd_next;</div><div class='add'>+    }</div><div class='add'>+    arg_size += kw;</div><div class='add'>+    keyword-&gt;bits_start = arg_size++;</div><div class='add'>+</div><div class='add'>+    node = args-&gt;kw_args;</div><div class='add'>+    while (node) {</div><div class='add'>+	const NODE *val_node = node-&gt;nd_body-&gt;nd_value;</div><div class='add'>+	VALUE dv;</div><div class='add'>+</div><div class='add'>+        if (val_node == NODE_SPECIAL_REQUIRED_KEYWORD) {</div><div class='add'>+	    ++rkw;</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    switch (nd_type(val_node)) {</div><div class='add'>+	      case NODE_LIT:</div><div class='add'>+		dv = val_node-&gt;nd_lit;</div><div class='add'>+		break;</div><div class='add'>+	      case NODE_NIL:</div><div class='add'>+		dv = Qnil;</div><div class='add'>+		break;</div><div class='add'>+	      case NODE_TRUE:</div><div class='add'>+		dv = Qtrue;</div><div class='add'>+		break;</div><div class='add'>+	      case NODE_FALSE:</div><div class='add'>+		dv = Qfalse;</div><div class='add'>+		break;</div><div class='add'>+	      default:</div><div class='add'>+                NO_CHECK(COMPILE_POPPED(optargs, "kwarg", node)); /* nd_type(node) == NODE_KW_ARG */</div><div class='add'>+		dv = complex_mark;</div><div class='add'>+	    }</div><div class='add'>+</div><div class='add'>+	    keyword-&gt;num = ++di;</div><div class='add'>+	    rb_ary_push(default_values, dv);</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+	node = node-&gt;nd_next;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    keyword-&gt;num = kw;</div><div class='add'>+</div><div class='add'>+    if (args-&gt;kw_rest_arg-&gt;nd_vid != 0) {</div><div class='add'>+	keyword-&gt;rest_start = arg_size++;</div><div class='add'>+	body-&gt;param.flags.has_kwrest = TRUE;</div><div class='add'>+    }</div><div class='add'>+    keyword-&gt;required_num = rkw;</div><div class='add'>+    keyword-&gt;table = &amp;body-&gt;local_table[keyword-&gt;bits_start - keyword-&gt;num];</div><div class='add'>+</div><div class='add'>+    {</div><div class='add'>+	VALUE *dvs = ALLOC_N(VALUE, RARRAY_LEN(default_values));</div><div class='add'>+</div><div class='add'>+	for (i = 0; i &lt; RARRAY_LEN(default_values); i++) {</div><div class='add'>+	    VALUE dv = RARRAY_AREF(default_values, i);</div><div class='add'>+	    if (dv == complex_mark) dv = Qundef;</div><div class='add'>+	    if (!SPECIAL_CONST_P(dv)) {</div><div class='add'>+		RB_OBJ_WRITTEN(iseq, Qundef, dv);</div><div class='add'>+	    }</div><div class='add'>+	    dvs[i] = dv;</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+	keyword-&gt;default_values = dvs;</div><div class='add'>+    }</div><div class='add'>+    return arg_size;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+iseq_set_arguments(rb_iseq_t *iseq, LINK_ANCHOR *const optargs, const NODE *const node_args)</div><div class='add'>+{</div><div class='add'>+    debugs("iseq_set_arguments: %s\n", node_args ? "" : "0");</div><div class='add'>+</div><div class='add'>+    if (node_args) {</div><div class='add'>+	struct rb_iseq_constant_body *const body = iseq-&gt;body;</div><div class='add'>+	struct rb_args_info *args = node_args-&gt;nd_ainfo;</div><div class='add'>+	ID rest_id = 0;</div><div class='add'>+	int last_comma = 0;</div><div class='add'>+	ID block_id = 0;</div><div class='add'>+	int arg_size;</div><div class='add'>+</div><div class='add'>+	EXPECT_NODE("iseq_set_arguments", node_args, NODE_ARGS, COMPILE_NG);</div><div class='add'>+</div><div class='add'>+        body-&gt;param.flags.ruby2_keywords = args-&gt;ruby2_keywords;</div><div class='add'>+	body-&gt;param.lead_num = arg_size = (int)args-&gt;pre_args_num;</div><div class='add'>+	if (body-&gt;param.lead_num &gt; 0) body-&gt;param.flags.has_lead = TRUE;</div><div class='add'>+	debugs("  - argc: %d\n", body-&gt;param.lead_num);</div><div class='add'>+</div><div class='add'>+	rest_id = args-&gt;rest_arg;</div><div class='add'>+        if (rest_id == NODE_SPECIAL_EXCESSIVE_COMMA) {</div><div class='add'>+	    last_comma = 1;</div><div class='add'>+	    rest_id = 0;</div><div class='add'>+	}</div><div class='add'>+	block_id = args-&gt;block_arg;</div><div class='add'>+</div><div class='add'>+	if (args-&gt;opt_args) {</div><div class='add'>+	    const NODE *node = args-&gt;opt_args;</div><div class='add'>+	    LABEL *label;</div><div class='add'>+	    VALUE labels = rb_ary_tmp_new(1);</div><div class='add'>+	    VALUE *opt_table;</div><div class='add'>+	    int i = 0, j;</div><div class='add'>+</div><div class='add'>+	    while (node) {</div><div class='add'>+		label = NEW_LABEL(nd_line(node));</div><div class='add'>+		rb_ary_push(labels, (VALUE)label | 1);</div><div class='add'>+		ADD_LABEL(optargs, label);</div><div class='add'>+                NO_CHECK(COMPILE_POPPED(optargs, "optarg", node-&gt;nd_body));</div><div class='add'>+		node = node-&gt;nd_next;</div><div class='add'>+		i += 1;</div><div class='add'>+	    }</div><div class='add'>+</div><div class='add'>+	    /* last label */</div><div class='add'>+	    label = NEW_LABEL(nd_line(node_args));</div><div class='add'>+	    rb_ary_push(labels, (VALUE)label | 1);</div><div class='add'>+	    ADD_LABEL(optargs, label);</div><div class='add'>+</div><div class='add'>+	    opt_table = ALLOC_N(VALUE, i+1);</div><div class='add'>+</div><div class='add'>+            MEMCPY(opt_table, RARRAY_CONST_PTR_TRANSIENT(labels), VALUE, i+1);</div><div class='add'>+	    for (j = 0; j &lt; i+1; j++) {</div><div class='add'>+		opt_table[j] &amp;= ~1;</div><div class='add'>+	    }</div><div class='add'>+	    rb_ary_clear(labels);</div><div class='add'>+</div><div class='add'>+	    body-&gt;param.flags.has_opt = TRUE;</div><div class='add'>+	    body-&gt;param.opt_num = i;</div><div class='add'>+	    body-&gt;param.opt_table = opt_table;</div><div class='add'>+	    arg_size += i;</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+	if (rest_id) {</div><div class='add'>+	    body-&gt;param.rest_start = arg_size++;</div><div class='add'>+	    body-&gt;param.flags.has_rest = TRUE;</div><div class='add'>+	    assert(body-&gt;param.rest_start != -1);</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+	if (args-&gt;first_post_arg) {</div><div class='add'>+	    body-&gt;param.post_start = arg_size;</div><div class='add'>+	    body-&gt;param.post_num = args-&gt;post_args_num;</div><div class='add'>+	    body-&gt;param.flags.has_post = TRUE;</div><div class='add'>+	    arg_size += args-&gt;post_args_num;</div><div class='add'>+</div><div class='add'>+	    if (body-&gt;param.flags.has_rest) { /* TODO: why that? */</div><div class='add'>+		body-&gt;param.post_start = body-&gt;param.rest_start + 1;</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+	if (args-&gt;kw_args) {</div><div class='add'>+	    arg_size = iseq_set_arguments_keywords(iseq, optargs, args, arg_size);</div><div class='add'>+	}</div><div class='add'>+	else if (args-&gt;kw_rest_arg) {</div><div class='add'>+	    struct rb_iseq_param_keyword *keyword = ZALLOC_N(struct rb_iseq_param_keyword, 1);</div><div class='add'>+	    keyword-&gt;rest_start = arg_size++;</div><div class='add'>+	    body-&gt;param.keyword = keyword;</div><div class='add'>+	    body-&gt;param.flags.has_kwrest = TRUE;</div><div class='add'>+	}</div><div class='add'>+	else if (args-&gt;no_kwarg) {</div><div class='add'>+	    body-&gt;param.flags.accepts_no_kwarg = TRUE;</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+	if (block_id) {</div><div class='add'>+	    body-&gt;param.block_start = arg_size++;</div><div class='add'>+	    body-&gt;param.flags.has_block = TRUE;</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+	iseq_calc_param_size(iseq);</div><div class='add'>+	body-&gt;param.size = arg_size;</div><div class='add'>+</div><div class='add'>+	if (args-&gt;pre_init) { /* m_init */</div><div class='add'>+            NO_CHECK(COMPILE_POPPED(optargs, "init arguments (m)", args-&gt;pre_init));</div><div class='add'>+	}</div><div class='add'>+	if (args-&gt;post_init) { /* p_init */</div><div class='add'>+            NO_CHECK(COMPILE_POPPED(optargs, "init arguments (p)", args-&gt;post_init));</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+	if (body-&gt;type == ISEQ_TYPE_BLOCK) {</div><div class='add'>+	    if (body-&gt;param.flags.has_opt    == FALSE &amp;&amp;</div><div class='add'>+		body-&gt;param.flags.has_post   == FALSE &amp;&amp;</div><div class='add'>+		body-&gt;param.flags.has_rest   == FALSE &amp;&amp;</div><div class='add'>+		body-&gt;param.flags.has_kw     == FALSE &amp;&amp;</div><div class='add'>+		body-&gt;param.flags.has_kwrest == FALSE) {</div><div class='add'>+</div><div class='add'>+		if (body-&gt;param.lead_num == 1 &amp;&amp; last_comma == 0) {</div><div class='add'>+		    /* {|a|} */</div><div class='add'>+		    body-&gt;param.flags.ambiguous_param0 = TRUE;</div><div class='add'>+		}</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+iseq_set_local_table(rb_iseq_t *iseq, const ID *tbl)</div><div class='add'>+{</div><div class='add'>+    unsigned int size;</div><div class='add'>+</div><div class='add'>+    if (tbl) {</div><div class='add'>+	size = (unsigned int)*tbl;</div><div class='add'>+	tbl++;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	size = 0;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (size &gt; 0) {</div><div class='add'>+	ID *ids = (ID *)ALLOC_N(ID, size);</div><div class='add'>+	MEMCPY(ids, tbl, ID, size);</div><div class='add'>+	iseq-&gt;body-&gt;local_table = ids;</div><div class='add'>+    }</div><div class='add'>+    iseq-&gt;body-&gt;local_table_size = size;</div><div class='add'>+</div><div class='add'>+    debugs("iseq_set_local_table: %u\n", iseq-&gt;body-&gt;local_table_size);</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+cdhash_cmp(VALUE val, VALUE lit)</div><div class='add'>+{</div><div class='add'>+    int tval, tlit;</div><div class='add'>+</div><div class='add'>+    if (val == lit) {</div><div class='add'>+        return 0;</div><div class='add'>+    }</div><div class='add'>+    else if ((tlit = OBJ_BUILTIN_TYPE(lit)) == -1) {</div><div class='add'>+        return val != lit;</div><div class='add'>+    }</div><div class='add'>+    else if ((tval = OBJ_BUILTIN_TYPE(val)) == -1) {</div><div class='add'>+        return -1;</div><div class='add'>+    }</div><div class='add'>+    else if (tlit != tval) {</div><div class='add'>+        return -1;</div><div class='add'>+    }</div><div class='add'>+    else if (tlit == T_SYMBOL) {</div><div class='add'>+        return val != lit;</div><div class='add'>+    }</div><div class='add'>+    else if (tlit == T_STRING) {</div><div class='add'>+        return rb_str_hash_cmp(lit, val);</div><div class='add'>+    }</div><div class='add'>+    else if (tlit == T_BIGNUM) {</div><div class='add'>+        long x = FIX2LONG(rb_big_cmp(lit, val));</div><div class='add'>+</div><div class='add'>+        /* Given lit and val are both Bignum, x must be -1, 0, 1.</div><div class='add'>+         * There is no need to call rb_fix2int here. */</div><div class='add'>+        RUBY_ASSERT((x == 1) || (x == 0) || (x == -1));</div><div class='add'>+        return (int)x;</div><div class='add'>+    }</div><div class='add'>+    else if (tlit == T_FLOAT) {</div><div class='add'>+        return rb_float_cmp(lit, val);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        UNREACHABLE_RETURN(-1);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static st_index_t</div><div class='add'>+cdhash_hash(VALUE a)</div><div class='add'>+{</div><div class='add'>+    switch (OBJ_BUILTIN_TYPE(a)) {</div><div class='add'>+      case -1:</div><div class='add'>+      case T_SYMBOL:</div><div class='add'>+        return (st_index_t)a;</div><div class='add'>+      case T_STRING:</div><div class='add'>+        return rb_str_hash(a);</div><div class='add'>+      case T_BIGNUM:</div><div class='add'>+        return FIX2LONG(rb_big_hash(a));</div><div class='add'>+      case T_FLOAT:</div><div class='add'>+        return rb_dbl_long_hash(RFLOAT_VALUE(a));</div><div class='add'>+      default:</div><div class='add'>+        UNREACHABLE_RETURN(0);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static const struct st_hash_type cdhash_type = {</div><div class='add'>+    cdhash_cmp,</div><div class='add'>+    cdhash_hash,</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+struct cdhash_set_label_struct {</div><div class='add'>+    VALUE hash;</div><div class='add'>+    int pos;</div><div class='add'>+    int len;</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+cdhash_set_label_i(VALUE key, VALUE val, VALUE ptr)</div><div class='add'>+{</div><div class='add'>+    struct cdhash_set_label_struct *data = (struct cdhash_set_label_struct *)ptr;</div><div class='add'>+    LABEL *lobj = (LABEL *)(val &amp; ~1);</div><div class='add'>+    rb_hash_aset(data-&gt;hash, key, INT2FIX(lobj-&gt;position - (data-&gt;pos+data-&gt;len)));</div><div class='add'>+    return ST_CONTINUE;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+static inline VALUE</div><div class='add'>+get_ivar_ic_value(rb_iseq_t *iseq,ID id)</div><div class='add'>+{</div><div class='add'>+    VALUE val;</div><div class='add'>+    struct rb_id_table *tbl = ISEQ_COMPILE_DATA(iseq)-&gt;ivar_cache_table;</div><div class='add'>+    if (tbl) {</div><div class='add'>+	if (rb_id_table_lookup(tbl,id,&amp;val)) {</div><div class='add'>+	    return val;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	tbl = rb_id_table_create(1);</div><div class='add'>+	ISEQ_COMPILE_DATA(iseq)-&gt;ivar_cache_table = tbl;</div><div class='add'>+    }</div><div class='add'>+    val = INT2FIX(iseq-&gt;body-&gt;is_size++);</div><div class='add'>+    rb_id_table_insert(tbl,id,val);</div><div class='add'>+    return val;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#define BADINSN_DUMP(anchor, list, dest) \</div><div class='add'>+    dump_disasm_list_with_cursor(FIRST_ELEMENT(anchor), list, dest)</div><div class='add'>+</div><div class='add'>+#define BADINSN_ERROR \</div><div class='add'>+    (xfree(generated_iseq), \</div><div class='add'>+     xfree(insns_info), \</div><div class='add'>+     BADINSN_DUMP(anchor, list, NULL), \</div><div class='add'>+     COMPILE_ERROR)</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+fix_sp_depth(rb_iseq_t *iseq, LINK_ANCHOR *const anchor)</div><div class='add'>+{</div><div class='add'>+    int stack_max = 0, sp = 0, line = 0;</div><div class='add'>+    LINK_ELEMENT *list;</div><div class='add'>+</div><div class='add'>+    for (list = FIRST_ELEMENT(anchor); list; list = list-&gt;next) {</div><div class='add'>+	if (list-&gt;type == ISEQ_ELEMENT_LABEL) {</div><div class='add'>+	    LABEL *lobj = (LABEL *)list;</div><div class='add'>+	    lobj-&gt;set = TRUE;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    for (list = FIRST_ELEMENT(anchor); list; list = list-&gt;next) {</div><div class='add'>+	switch (list-&gt;type) {</div><div class='add'>+	  case ISEQ_ELEMENT_INSN:</div><div class='add'>+	    {</div><div class='add'>+		int j, len, insn;</div><div class='add'>+		const char *types;</div><div class='add'>+		VALUE *operands;</div><div class='add'>+		INSN *iobj = (INSN *)list;</div><div class='add'>+</div><div class='add'>+		/* update sp */</div><div class='add'>+		sp = calc_sp_depth(sp, iobj);</div><div class='add'>+		if (sp &lt; 0) {</div><div class='add'>+		    BADINSN_DUMP(anchor, list, NULL);</div><div class='add'>+		    COMPILE_ERROR(iseq, iobj-&gt;insn_info.line_no,</div><div class='add'>+				  "argument stack underflow (%d)", sp);</div><div class='add'>+		    return -1;</div><div class='add'>+		}</div><div class='add'>+		if (sp &gt; stack_max) {</div><div class='add'>+		    stack_max = sp;</div><div class='add'>+		}</div><div class='add'>+</div><div class='add'>+		line = iobj-&gt;insn_info.line_no;</div><div class='add'>+		/* fprintf(stderr, "insn: %-16s, sp: %d\n", insn_name(iobj-&gt;insn_id), sp); */</div><div class='add'>+		operands = iobj-&gt;operands;</div><div class='add'>+		insn = iobj-&gt;insn_id;</div><div class='add'>+		types = insn_op_types(insn);</div><div class='add'>+		len = insn_len(insn);</div><div class='add'>+</div><div class='add'>+		/* operand check */</div><div class='add'>+		if (iobj-&gt;operand_size != len - 1) {</div><div class='add'>+		    /* printf("operand size miss! (%d, %d)\n", iobj-&gt;operand_size, len); */</div><div class='add'>+		    BADINSN_DUMP(anchor, list, NULL);</div><div class='add'>+		    COMPILE_ERROR(iseq, iobj-&gt;insn_info.line_no,</div><div class='add'>+				  "operand size miss! (%d for %d)",</div><div class='add'>+				  iobj-&gt;operand_size, len - 1);</div><div class='add'>+		    return -1;</div><div class='add'>+		}</div><div class='add'>+</div><div class='add'>+		for (j = 0; types[j]; j++) {</div><div class='add'>+		    if (types[j] == TS_OFFSET) {</div><div class='add'>+			/* label(destination position) */</div><div class='add'>+			LABEL *lobj = (LABEL *)operands[j];</div><div class='add'>+			if (!lobj-&gt;set) {</div><div class='add'>+			    BADINSN_DUMP(anchor, list, NULL);</div><div class='add'>+			    COMPILE_ERROR(iseq, iobj-&gt;insn_info.line_no,</div><div class='add'>+					  "unknown label: "LABEL_FORMAT, lobj-&gt;label_no);</div><div class='add'>+			    return -1;</div><div class='add'>+			}</div><div class='add'>+			if (lobj-&gt;sp == -1) {</div><div class='add'>+			    lobj-&gt;sp = sp;</div><div class='add'>+                        } else if (lobj-&gt;sp != sp) {</div><div class='add'>+                            debugs("%s:%d: sp inconsistency found but ignored (" LABEL_FORMAT " sp: %d, calculated sp: %d)\n",</div><div class='add'>+                                   RSTRING_PTR(rb_iseq_path(iseq)), line,</div><div class='add'>+                                   lobj-&gt;label_no, lobj-&gt;sp, sp);</div><div class='add'>+                        }</div><div class='add'>+		    }</div><div class='add'>+		}</div><div class='add'>+		break;</div><div class='add'>+	    }</div><div class='add'>+	  case ISEQ_ELEMENT_LABEL:</div><div class='add'>+	    {</div><div class='add'>+		LABEL *lobj = (LABEL *)list;</div><div class='add'>+		if (lobj-&gt;sp == -1) {</div><div class='add'>+		    lobj-&gt;sp = sp;</div><div class='add'>+		}</div><div class='add'>+		else {</div><div class='add'>+                    if (lobj-&gt;sp != sp) {</div><div class='add'>+                        debugs("%s:%d: sp inconsistency found but ignored (" LABEL_FORMAT " sp: %d, calculated sp: %d)\n",</div><div class='add'>+                                RSTRING_PTR(rb_iseq_path(iseq)), line,</div><div class='add'>+                                lobj-&gt;label_no, lobj-&gt;sp, sp);</div><div class='add'>+                    }</div><div class='add'>+		    sp = lobj-&gt;sp;</div><div class='add'>+		}</div><div class='add'>+		break;</div><div class='add'>+	    }</div><div class='add'>+	  case ISEQ_ELEMENT_TRACE:</div><div class='add'>+	    {</div><div class='add'>+		/* ignore */</div><div class='add'>+		break;</div><div class='add'>+	    }</div><div class='add'>+	  case ISEQ_ELEMENT_ADJUST:</div><div class='add'>+	    {</div><div class='add'>+		ADJUST *adjust = (ADJUST *)list;</div><div class='add'>+		int orig_sp = sp;</div><div class='add'>+</div><div class='add'>+		sp = adjust-&gt;label ? adjust-&gt;label-&gt;sp : 0;</div><div class='add'>+		if (adjust-&gt;line_no != -1 &amp;&amp; orig_sp - sp &lt; 0) {</div><div class='add'>+		    BADINSN_DUMP(anchor, list, NULL);</div><div class='add'>+		    COMPILE_ERROR(iseq, adjust-&gt;line_no,</div><div class='add'>+				  "iseq_set_sequence: adjust bug %d &lt; %d",</div><div class='add'>+				  orig_sp, sp);</div><div class='add'>+		    return -1;</div><div class='add'>+		}</div><div class='add'>+		break;</div><div class='add'>+	    }</div><div class='add'>+	  default:</div><div class='add'>+	    BADINSN_DUMP(anchor, list, NULL);</div><div class='add'>+	    COMPILE_ERROR(iseq, line, "unknown list type: %d", list-&gt;type);</div><div class='add'>+	    return -1;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    return stack_max;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+add_insn_info(struct iseq_insn_info_entry *insns_info, unsigned int *positions,</div><div class='add'>+              int insns_info_index, int code_index, const INSN *iobj)</div><div class='add'>+{</div><div class='add'>+    if (insns_info_index == 0 ||</div><div class='add'>+        insns_info[insns_info_index-1].line_no != iobj-&gt;insn_info.line_no ||</div><div class='add'>+        insns_info[insns_info_index-1].events  != iobj-&gt;insn_info.events) {</div><div class='add'>+        insns_info[insns_info_index].line_no    = iobj-&gt;insn_info.line_no;</div><div class='add'>+        insns_info[insns_info_index].events     = iobj-&gt;insn_info.events;</div><div class='add'>+        positions[insns_info_index]             = code_index;</div><div class='add'>+        return TRUE;</div><div class='add'>+    }</div><div class='add'>+    return FALSE;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+add_adjust_info(struct iseq_insn_info_entry *insns_info, unsigned int *positions,</div><div class='add'>+                int insns_info_index, int code_index, const ADJUST *adjust)</div><div class='add'>+{</div><div class='add'>+    if (insns_info_index &gt; 0 ||</div><div class='add'>+        insns_info[insns_info_index-1].line_no != adjust-&gt;line_no) {</div><div class='add'>+        insns_info[insns_info_index].line_no    = adjust-&gt;line_no;</div><div class='add'>+        insns_info[insns_info_index].events     = 0;</div><div class='add'>+        positions[insns_info_index]             = code_index;</div><div class='add'>+        return TRUE;</div><div class='add'>+    }</div><div class='add'>+    return FALSE;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/**</div><div class='add'>+  ruby insn object list -&gt; raw instruction sequence</div><div class='add'>+ */</div><div class='add'>+static int</div><div class='add'>+iseq_set_sequence(rb_iseq_t *iseq, LINK_ANCHOR *const anchor)</div><div class='add'>+{</div><div class='add'>+    VALUE iseqv = (VALUE)iseq;</div><div class='add'>+    struct iseq_insn_info_entry *insns_info;</div><div class='add'>+    struct rb_iseq_constant_body *const body = iseq-&gt;body;</div><div class='add'>+    unsigned int *positions;</div><div class='add'>+    LINK_ELEMENT *list;</div><div class='add'>+    VALUE *generated_iseq;</div><div class='add'>+    rb_event_flag_t events = 0;</div><div class='add'>+    long data = 0;</div><div class='add'>+</div><div class='add'>+    int insn_num, code_index, insns_info_index, sp = 0;</div><div class='add'>+    int stack_max = fix_sp_depth(iseq, anchor);</div><div class='add'>+</div><div class='add'>+    if (stack_max &lt; 0) return COMPILE_NG;</div><div class='add'>+</div><div class='add'>+    /* fix label position */</div><div class='add'>+    insn_num = code_index = 0;</div><div class='add'>+    for (list = FIRST_ELEMENT(anchor); list; list = list-&gt;next) {</div><div class='add'>+	switch (list-&gt;type) {</div><div class='add'>+	  case ISEQ_ELEMENT_INSN:</div><div class='add'>+	    {</div><div class='add'>+		INSN *iobj = (INSN *)list;</div><div class='add'>+		/* update sp */</div><div class='add'>+		sp = calc_sp_depth(sp, iobj);</div><div class='add'>+		insn_num++;</div><div class='add'>+                events = iobj-&gt;insn_info.events |= events;</div><div class='add'>+                if (ISEQ_COVERAGE(iseq)) {</div><div class='add'>+                    if (ISEQ_LINE_COVERAGE(iseq) &amp;&amp; (events &amp; RUBY_EVENT_COVERAGE_LINE) &amp;&amp;</div><div class='add'>+                        !(rb_get_coverage_mode() &amp; COVERAGE_TARGET_ONESHOT_LINES)) {</div><div class='add'>+                        int line = iobj-&gt;insn_info.line_no;</div><div class='add'>+                        if (line &gt;= 1) {</div><div class='add'>+                            RARRAY_ASET(ISEQ_LINE_COVERAGE(iseq), line - 1, INT2FIX(0));</div><div class='add'>+                        }</div><div class='add'>+                    }</div><div class='add'>+                    if (ISEQ_BRANCH_COVERAGE(iseq) &amp;&amp; (events &amp; RUBY_EVENT_COVERAGE_BRANCH)) {</div><div class='add'>+                        while (RARRAY_LEN(ISEQ_PC2BRANCHINDEX(iseq)) &lt;= code_index) {</div><div class='add'>+                            rb_ary_push(ISEQ_PC2BRANCHINDEX(iseq), Qnil);</div><div class='add'>+                        }</div><div class='add'>+                        RARRAY_ASET(ISEQ_PC2BRANCHINDEX(iseq), code_index, INT2FIX(data));</div><div class='add'>+                    }</div><div class='add'>+		}</div><div class='add'>+                code_index += insn_data_length(iobj);</div><div class='add'>+		events = 0;</div><div class='add'>+                data = 0;</div><div class='add'>+		break;</div><div class='add'>+	    }</div><div class='add'>+	  case ISEQ_ELEMENT_LABEL:</div><div class='add'>+	    {</div><div class='add'>+		LABEL *lobj = (LABEL *)list;</div><div class='add'>+		lobj-&gt;position = code_index;</div><div class='add'>+                if (lobj-&gt;sp != sp) {</div><div class='add'>+                    debugs("%s: sp inconsistency found but ignored (" LABEL_FORMAT " sp: %d, calculated sp: %d)\n",</div><div class='add'>+                           RSTRING_PTR(rb_iseq_path(iseq)),</div><div class='add'>+                           lobj-&gt;label_no, lobj-&gt;sp, sp);</div><div class='add'>+                }</div><div class='add'>+		sp = lobj-&gt;sp;</div><div class='add'>+		break;</div><div class='add'>+	    }</div><div class='add'>+	  case ISEQ_ELEMENT_TRACE:</div><div class='add'>+	    {</div><div class='add'>+		TRACE *trace = (TRACE *)list;</div><div class='add'>+		events |= trace-&gt;event;</div><div class='add'>+                if (trace-&gt;event &amp; RUBY_EVENT_COVERAGE_BRANCH) data = trace-&gt;data;</div><div class='add'>+		break;</div><div class='add'>+	    }</div><div class='add'>+	  case ISEQ_ELEMENT_ADJUST:</div><div class='add'>+	    {</div><div class='add'>+		ADJUST *adjust = (ADJUST *)list;</div><div class='add'>+		if (adjust-&gt;line_no != -1) {</div><div class='add'>+		    int orig_sp = sp;</div><div class='add'>+		    sp = adjust-&gt;label ? adjust-&gt;label-&gt;sp : 0;</div><div class='add'>+		    if (orig_sp - sp &gt; 0) {</div><div class='add'>+			if (orig_sp - sp &gt; 1) code_index++; /* 1 operand */</div><div class='add'>+			code_index++; /* insn */</div><div class='add'>+			insn_num++;</div><div class='add'>+		    }</div><div class='add'>+		}</div><div class='add'>+		break;</div><div class='add'>+	    }</div><div class='add'>+	  default: break;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    /* make instruction sequence */</div><div class='add'>+    generated_iseq = ALLOC_N(VALUE, code_index);</div><div class='add'>+    insns_info = ALLOC_N(struct iseq_insn_info_entry, insn_num);</div><div class='add'>+    positions = ALLOC_N(unsigned int, insn_num);</div><div class='add'>+    body-&gt;is_entries = ZALLOC_N(union iseq_inline_storage_entry, body-&gt;is_size);</div><div class='add'>+    body-&gt;call_data = ZALLOC_N(struct rb_call_data, body-&gt;ci_size);</div><div class='add'>+    ISEQ_COMPILE_DATA(iseq)-&gt;ci_index = 0;</div><div class='add'>+</div><div class='add'>+    list = FIRST_ELEMENT(anchor);</div><div class='add'>+    insns_info_index = code_index = sp = 0;</div><div class='add'>+</div><div class='add'>+    while (list) {</div><div class='add'>+	switch (list-&gt;type) {</div><div class='add'>+	  case ISEQ_ELEMENT_INSN:</div><div class='add'>+	    {</div><div class='add'>+		int j, len, insn;</div><div class='add'>+		const char *types;</div><div class='add'>+		VALUE *operands;</div><div class='add'>+		INSN *iobj = (INSN *)list;</div><div class='add'>+</div><div class='add'>+		/* update sp */</div><div class='add'>+		sp = calc_sp_depth(sp, iobj);</div><div class='add'>+		/* fprintf(stderr, "insn: %-16s, sp: %d\n", insn_name(iobj-&gt;insn_id), sp); */</div><div class='add'>+		operands = iobj-&gt;operands;</div><div class='add'>+		insn = iobj-&gt;insn_id;</div><div class='add'>+		generated_iseq[code_index] = insn;</div><div class='add'>+		types = insn_op_types(insn);</div><div class='add'>+		len = insn_len(insn);</div><div class='add'>+</div><div class='add'>+		for (j = 0; types[j]; j++) {</div><div class='add'>+		    char type = types[j];</div><div class='add'>+		    /* printf("--&gt; [%c - (%d-%d)]\n", type, k, j); */</div><div class='add'>+		    switch (type) {</div><div class='add'>+		      case TS_OFFSET:</div><div class='add'>+			{</div><div class='add'>+			    /* label(destination position) */</div><div class='add'>+			    LABEL *lobj = (LABEL *)operands[j];</div><div class='add'>+			    generated_iseq[code_index + 1 + j] = lobj-&gt;position - (code_index + len);</div><div class='add'>+			    break;</div><div class='add'>+			}</div><div class='add'>+		      case TS_CDHASH:</div><div class='add'>+			{</div><div class='add'>+			    VALUE map = operands[j];</div><div class='add'>+			    struct cdhash_set_label_struct data;</div><div class='add'>+                            data.hash = map;</div><div class='add'>+                            data.pos = code_index;</div><div class='add'>+                            data.len = len;</div><div class='add'>+			    rb_hash_foreach(map, cdhash_set_label_i, (VALUE)&amp;data);</div><div class='add'>+</div><div class='add'>+			    rb_hash_rehash(map);</div><div class='add'>+			    freeze_hide_obj(map);</div><div class='add'>+			    generated_iseq[code_index + 1 + j] = map;</div><div class='add'>+			    RB_OBJ_WRITTEN(iseq, Qundef, map);</div><div class='add'>+                            FL_SET(iseqv, ISEQ_MARKABLE_ISEQ);</div><div class='add'>+			    break;</div><div class='add'>+			}</div><div class='add'>+		      case TS_LINDEX:</div><div class='add'>+		      case TS_NUM:	/* ulong */</div><div class='add'>+			generated_iseq[code_index + 1 + j] = FIX2INT(operands[j]);</div><div class='add'>+			break;</div><div class='add'>+		      case TS_VALUE:	/* VALUE */</div><div class='add'>+		      case TS_ISEQ:	/* iseq */</div><div class='add'>+			{</div><div class='add'>+			    VALUE v = operands[j];</div><div class='add'>+			    generated_iseq[code_index + 1 + j] = v;</div><div class='add'>+			    /* to mark ruby object */</div><div class='add'>+			    if (!SPECIAL_CONST_P(v)) {</div><div class='add'>+				RB_OBJ_WRITTEN(iseq, Qundef, v);</div><div class='add'>+                                FL_SET(iseqv, ISEQ_MARKABLE_ISEQ);</div><div class='add'>+			    }</div><div class='add'>+			    break;</div><div class='add'>+			}</div><div class='add'>+		      case TS_ISE: /* inline storage entry */</div><div class='add'>+			/* Treated as an IC, but may contain a markable VALUE */</div><div class='add'>+                        FL_SET(iseqv, ISEQ_MARKABLE_ISEQ);</div><div class='add'>+                        /* fall through */</div><div class='add'>+		      case TS_IC: /* inline cache */</div><div class='add'>+		      case TS_IVC: /* inline ivar cache */</div><div class='add'>+			{</div><div class='add'>+			    unsigned int ic_index = FIX2UINT(operands[j]);</div><div class='add'>+			    IC ic = (IC)&amp;body-&gt;is_entries[ic_index];</div><div class='add'>+			    if (UNLIKELY(ic_index &gt;= body-&gt;is_size)) {</div><div class='add'>+                                BADINSN_DUMP(anchor, &amp;iobj-&gt;link, 0);</div><div class='add'>+                                COMPILE_ERROR(iseq, iobj-&gt;insn_info.line_no,</div><div class='add'>+                                              "iseq_set_sequence: ic_index overflow: index: %d, size: %d",</div><div class='add'>+                                              ic_index, body-&gt;is_size);</div><div class='add'>+			    }</div><div class='add'>+			    generated_iseq[code_index + 1 + j] = (VALUE)ic;</div><div class='add'>+</div><div class='add'>+                            if (type == TS_IVC) FL_SET(iseqv, ISEQ_MARKABLE_ISEQ);</div><div class='add'>+			    break;</div><div class='add'>+			}</div><div class='add'>+                        case TS_CALLDATA:</div><div class='add'>+                        {</div><div class='add'>+                            const struct rb_callinfo *source_ci = (const struct rb_callinfo *)operands[j];</div><div class='add'>+                            struct rb_call_data *cd = &amp;body-&gt;call_data[ISEQ_COMPILE_DATA(iseq)-&gt;ci_index++];</div><div class='add'>+                            assert(ISEQ_COMPILE_DATA(iseq)-&gt;ci_index &lt;= body-&gt;ci_size);</div><div class='add'>+                            cd-&gt;ci = source_ci;</div><div class='add'>+                            cd-&gt;cc = vm_cc_empty();</div><div class='add'>+                            generated_iseq[code_index + 1 + j] = (VALUE)cd;</div><div class='add'>+                            break;</div><div class='add'>+                        }</div><div class='add'>+		      case TS_ID: /* ID */</div><div class='add'>+			generated_iseq[code_index + 1 + j] = SYM2ID(operands[j]);</div><div class='add'>+			break;</div><div class='add'>+		      case TS_FUNCPTR:</div><div class='add'>+			generated_iseq[code_index + 1 + j] = operands[j];</div><div class='add'>+			break;</div><div class='add'>+                      case TS_BUILTIN:</div><div class='add'>+                        generated_iseq[code_index + 1 + j] = operands[j];</div><div class='add'>+                        break;</div><div class='add'>+		      default:</div><div class='add'>+			BADINSN_ERROR(iseq, iobj-&gt;insn_info.line_no,</div><div class='add'>+				      "unknown operand type: %c", type);</div><div class='add'>+			return COMPILE_NG;</div><div class='add'>+		    }</div><div class='add'>+		}</div><div class='add'>+		if (add_insn_info(insns_info, positions, insns_info_index, code_index, iobj)) insns_info_index++;</div><div class='add'>+		code_index += len;</div><div class='add'>+		break;</div><div class='add'>+	    }</div><div class='add'>+	  case ISEQ_ELEMENT_LABEL:</div><div class='add'>+	    {</div><div class='add'>+		LABEL *lobj = (LABEL *)list;</div><div class='add'>+                if (lobj-&gt;sp != sp) {</div><div class='add'>+                    debugs("%s: sp inconsistency found but ignored (" LABEL_FORMAT " sp: %d, calculated sp: %d)\n",</div><div class='add'>+                           RSTRING_PTR(rb_iseq_path(iseq)),</div><div class='add'>+                           lobj-&gt;label_no, lobj-&gt;sp, sp);</div><div class='add'>+                }</div><div class='add'>+		sp = lobj-&gt;sp;</div><div class='add'>+		break;</div><div class='add'>+	    }</div><div class='add'>+	  case ISEQ_ELEMENT_ADJUST:</div><div class='add'>+	    {</div><div class='add'>+		ADJUST *adjust = (ADJUST *)list;</div><div class='add'>+		int orig_sp = sp;</div><div class='add'>+</div><div class='add'>+		if (adjust-&gt;label) {</div><div class='add'>+		    sp = adjust-&gt;label-&gt;sp;</div><div class='add'>+		}</div><div class='add'>+		else {</div><div class='add'>+		    sp = 0;</div><div class='add'>+		}</div><div class='add'>+</div><div class='add'>+		if (adjust-&gt;line_no != -1) {</div><div class='add'>+		    const int diff = orig_sp - sp;</div><div class='add'>+		    if (diff &gt; 0) {</div><div class='add'>+			if (add_adjust_info(insns_info, positions, insns_info_index, code_index, adjust)) insns_info_index++;</div><div class='add'>+		    }</div><div class='add'>+		    if (diff &gt; 1) {</div><div class='add'>+			generated_iseq[code_index++] = BIN(adjuststack);</div><div class='add'>+			generated_iseq[code_index++] = orig_sp - sp;</div><div class='add'>+		    }</div><div class='add'>+		    else if (diff == 1) {</div><div class='add'>+			generated_iseq[code_index++] = BIN(pop);</div><div class='add'>+		    }</div><div class='add'>+		    else if (diff &lt; 0) {</div><div class='add'>+			int label_no = adjust-&gt;label ? adjust-&gt;label-&gt;label_no : -1;</div><div class='add'>+			xfree(generated_iseq);</div><div class='add'>+			xfree(insns_info);</div><div class='add'>+			xfree(positions);</div><div class='add'>+			debug_list(anchor, list);</div><div class='add'>+			COMPILE_ERROR(iseq, adjust-&gt;line_no,</div><div class='add'>+				      "iseq_set_sequence: adjust bug to %d %d &lt; %d",</div><div class='add'>+				      label_no, orig_sp, sp);</div><div class='add'>+			return COMPILE_NG;</div><div class='add'>+		    }</div><div class='add'>+		}</div><div class='add'>+		break;</div><div class='add'>+	    }</div><div class='add'>+	  default:</div><div class='add'>+	    /* ignore */</div><div class='add'>+	    break;</div><div class='add'>+	}</div><div class='add'>+	list = list-&gt;next;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    body-&gt;iseq_encoded = (void *)generated_iseq;</div><div class='add'>+    body-&gt;iseq_size = code_index;</div><div class='add'>+    body-&gt;stack_max = stack_max;</div><div class='add'>+</div><div class='add'>+    /* get rid of memory leak when REALLOC failed */</div><div class='add'>+    body-&gt;insns_info.body = insns_info;</div><div class='add'>+    body-&gt;insns_info.positions = positions;</div><div class='add'>+</div><div class='add'>+    REALLOC_N(insns_info, struct iseq_insn_info_entry, insns_info_index);</div><div class='add'>+    body-&gt;insns_info.body = insns_info;</div><div class='add'>+    REALLOC_N(positions, unsigned int, insns_info_index);</div><div class='add'>+    body-&gt;insns_info.positions = positions;</div><div class='add'>+    body-&gt;insns_info.size = insns_info_index;</div><div class='add'>+</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+label_get_position(LABEL *lobj)</div><div class='add'>+{</div><div class='add'>+    return lobj-&gt;position;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+label_get_sp(LABEL *lobj)</div><div class='add'>+{</div><div class='add'>+    return lobj-&gt;sp;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+iseq_set_exception_table(rb_iseq_t *iseq)</div><div class='add'>+{</div><div class='add'>+    const VALUE *tptr, *ptr;</div><div class='add'>+    unsigned int tlen, i;</div><div class='add'>+    struct iseq_catch_table_entry *entry;</div><div class='add'>+</div><div class='add'>+    iseq-&gt;body-&gt;catch_table = NULL;</div><div class='add'>+    if (NIL_P(ISEQ_COMPILE_DATA(iseq)-&gt;catch_table_ary)) return COMPILE_OK;</div><div class='add'>+    tlen = (int)RARRAY_LEN(ISEQ_COMPILE_DATA(iseq)-&gt;catch_table_ary);</div><div class='add'>+    tptr = RARRAY_CONST_PTR_TRANSIENT(ISEQ_COMPILE_DATA(iseq)-&gt;catch_table_ary);</div><div class='add'>+</div><div class='add'>+    if (tlen &gt; 0) {</div><div class='add'>+	struct iseq_catch_table *table = xmalloc(iseq_catch_table_bytes(tlen));</div><div class='add'>+	table-&gt;size = tlen;</div><div class='add'>+</div><div class='add'>+	for (i = 0; i &lt; table-&gt;size; i++) {</div><div class='add'>+            ptr = RARRAY_CONST_PTR_TRANSIENT(tptr[i]);</div><div class='add'>+	    entry = UNALIGNED_MEMBER_PTR(table, entries[i]);</div><div class='add'>+	    entry-&gt;type = (enum catch_type)(ptr[0] &amp; 0xffff);</div><div class='add'>+	    entry-&gt;start = label_get_position((LABEL *)(ptr[1] &amp; ~1));</div><div class='add'>+	    entry-&gt;end = label_get_position((LABEL *)(ptr[2] &amp; ~1));</div><div class='add'>+	    entry-&gt;iseq = (rb_iseq_t *)ptr[3];</div><div class='add'>+	    RB_OBJ_WRITTEN(iseq, Qundef, entry-&gt;iseq);</div><div class='add'>+</div><div class='add'>+	    /* stack depth */</div><div class='add'>+	    if (ptr[4]) {</div><div class='add'>+		LABEL *lobj = (LABEL *)(ptr[4] &amp; ~1);</div><div class='add'>+		entry-&gt;cont = label_get_position(lobj);</div><div class='add'>+		entry-&gt;sp = label_get_sp(lobj);</div><div class='add'>+</div><div class='add'>+		/* TODO: Dirty Hack!  Fix me */</div><div class='add'>+		if (entry-&gt;type == CATCH_TYPE_RESCUE ||</div><div class='add'>+		    entry-&gt;type == CATCH_TYPE_BREAK ||</div><div class='add'>+		    entry-&gt;type == CATCH_TYPE_NEXT) {</div><div class='add'>+		    entry-&gt;sp--;</div><div class='add'>+		}</div><div class='add'>+	    }</div><div class='add'>+	    else {</div><div class='add'>+		entry-&gt;cont = 0;</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+	iseq-&gt;body-&gt;catch_table = table;</div><div class='add'>+	RB_OBJ_WRITE(iseq, &amp;ISEQ_COMPILE_DATA(iseq)-&gt;catch_table_ary, 0); /* free */</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * set optional argument table</div><div class='add'>+ *   def foo(a, b=expr1, c=expr2)</div><div class='add'>+ *   =&gt;</div><div class='add'>+ *    b:</div><div class='add'>+ *      expr1</div><div class='add'>+ *    c:</div><div class='add'>+ *      expr2</div><div class='add'>+ */</div><div class='add'>+static int</div><div class='add'>+iseq_set_optargs_table(rb_iseq_t *iseq)</div><div class='add'>+{</div><div class='add'>+    int i;</div><div class='add'>+    VALUE *opt_table = (VALUE *)iseq-&gt;body-&gt;param.opt_table;</div><div class='add'>+</div><div class='add'>+    if (iseq-&gt;body-&gt;param.flags.has_opt) {</div><div class='add'>+	for (i = 0; i &lt; iseq-&gt;body-&gt;param.opt_num + 1; i++) {</div><div class='add'>+	    opt_table[i] = label_get_position((LABEL *)opt_table[i]);</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static LINK_ELEMENT *</div><div class='add'>+get_destination_insn(INSN *iobj)</div><div class='add'>+{</div><div class='add'>+    LABEL *lobj = (LABEL *)OPERAND_AT(iobj, 0);</div><div class='add'>+    LINK_ELEMENT *list;</div><div class='add'>+    rb_event_flag_t events = 0;</div><div class='add'>+</div><div class='add'>+    list = lobj-&gt;link.next;</div><div class='add'>+    while (list) {</div><div class='add'>+	switch (list-&gt;type) {</div><div class='add'>+	  case ISEQ_ELEMENT_INSN:</div><div class='add'>+	  case ISEQ_ELEMENT_ADJUST:</div><div class='add'>+	    goto found;</div><div class='add'>+	  case ISEQ_ELEMENT_LABEL:</div><div class='add'>+	    /* ignore */</div><div class='add'>+	    break;</div><div class='add'>+	  case ISEQ_ELEMENT_TRACE:</div><div class='add'>+	    {</div><div class='add'>+		TRACE *trace = (TRACE *)list;</div><div class='add'>+		events |= trace-&gt;event;</div><div class='add'>+	    }</div><div class='add'>+	    break;</div><div class='add'>+	  default: break;</div><div class='add'>+	}</div><div class='add'>+	list = list-&gt;next;</div><div class='add'>+    }</div><div class='add'>+  found:</div><div class='add'>+    if (list &amp;&amp; IS_INSN(list)) {</div><div class='add'>+	INSN *iobj = (INSN *)list;</div><div class='add'>+	iobj-&gt;insn_info.events |= events;</div><div class='add'>+    }</div><div class='add'>+    return list;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static LINK_ELEMENT *</div><div class='add'>+get_next_insn(INSN *iobj)</div><div class='add'>+{</div><div class='add'>+    LINK_ELEMENT *list = iobj-&gt;link.next;</div><div class='add'>+</div><div class='add'>+    while (list) {</div><div class='add'>+	if (IS_INSN(list) || IS_ADJUST(list)) {</div><div class='add'>+	    return list;</div><div class='add'>+	}</div><div class='add'>+	list = list-&gt;next;</div><div class='add'>+    }</div><div class='add'>+    return 0;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static LINK_ELEMENT *</div><div class='add'>+get_prev_insn(INSN *iobj)</div><div class='add'>+{</div><div class='add'>+    LINK_ELEMENT *list = iobj-&gt;link.prev;</div><div class='add'>+</div><div class='add'>+    while (list) {</div><div class='add'>+	if (IS_INSN(list) || IS_ADJUST(list)) {</div><div class='add'>+	    return list;</div><div class='add'>+	}</div><div class='add'>+	list = list-&gt;prev;</div><div class='add'>+    }</div><div class='add'>+    return 0;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+unref_destination(INSN *iobj, int pos)</div><div class='add'>+{</div><div class='add'>+    LABEL *lobj = (LABEL *)OPERAND_AT(iobj, pos);</div><div class='add'>+    --lobj-&gt;refcnt;</div><div class='add'>+    if (!lobj-&gt;refcnt) ELEM_REMOVE(&amp;lobj-&gt;link);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+replace_destination(INSN *dobj, INSN *nobj)</div><div class='add'>+{</div><div class='add'>+    VALUE n = OPERAND_AT(nobj, 0);</div><div class='add'>+    LABEL *dl = (LABEL *)OPERAND_AT(dobj, 0);</div><div class='add'>+    LABEL *nl = (LABEL *)n;</div><div class='add'>+    --dl-&gt;refcnt;</div><div class='add'>+    ++nl-&gt;refcnt;</div><div class='add'>+    OPERAND_AT(dobj, 0) = n;</div><div class='add'>+    if (!dl-&gt;refcnt) ELEM_REMOVE(&amp;dl-&gt;link);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static LABEL*</div><div class='add'>+find_destination(INSN *i)</div><div class='add'>+{</div><div class='add'>+    int pos, len = insn_len(i-&gt;insn_id);</div><div class='add'>+    for (pos = 0; pos &lt; len; ++pos) {</div><div class='add'>+	if (insn_op_types(i-&gt;insn_id)[pos] == TS_OFFSET) {</div><div class='add'>+	    return (LABEL *)OPERAND_AT(i, pos);</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    return 0;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+remove_unreachable_chunk(rb_iseq_t *iseq, LINK_ELEMENT *i)</div><div class='add'>+{</div><div class='add'>+    LINK_ELEMENT *first = i, *end;</div><div class='add'>+    int *unref_counts = 0, nlabels = ISEQ_COMPILE_DATA(iseq)-&gt;label_no;</div><div class='add'>+</div><div class='add'>+    if (!i) return 0;</div><div class='add'>+    unref_counts = ALLOCA_N(int, nlabels);</div><div class='add'>+    MEMZERO(unref_counts, int, nlabels);</div><div class='add'>+    end = i;</div><div class='add'>+    do {</div><div class='add'>+	LABEL *lab;</div><div class='add'>+	if (IS_INSN(i)) {</div><div class='add'>+	    if (IS_INSN_ID(i, leave)) {</div><div class='add'>+		end = i;</div><div class='add'>+		break;</div><div class='add'>+	    }</div><div class='add'>+	    else if ((lab = find_destination((INSN *)i)) != 0) {</div><div class='add'>+		if (lab-&gt;unremovable) break;</div><div class='add'>+		unref_counts[lab-&gt;label_no]++;</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+	else if (IS_LABEL(i)) {</div><div class='add'>+	    lab = (LABEL *)i;</div><div class='add'>+	    if (lab-&gt;unremovable) return 0;</div><div class='add'>+	    if (lab-&gt;refcnt &gt; unref_counts[lab-&gt;label_no]) {</div><div class='add'>+		if (i == first) return 0;</div><div class='add'>+		break;</div><div class='add'>+	    }</div><div class='add'>+	    continue;</div><div class='add'>+	}</div><div class='add'>+	else if (IS_TRACE(i)) {</div><div class='add'>+	    /* do nothing */</div><div class='add'>+	}</div><div class='add'>+	else if (IS_ADJUST(i)) {</div><div class='add'>+	    LABEL *dest = ((ADJUST *)i)-&gt;label;</div><div class='add'>+	    if (dest &amp;&amp; dest-&gt;unremovable) return 0;</div><div class='add'>+	}</div><div class='add'>+	end = i;</div><div class='add'>+    } while ((i = i-&gt;next) != 0);</div><div class='add'>+    i = first;</div><div class='add'>+    do {</div><div class='add'>+	if (IS_INSN(i)) {</div><div class='add'>+	    struct rb_iseq_constant_body *body = iseq-&gt;body;</div><div class='add'>+	    VALUE insn = INSN_OF(i);</div><div class='add'>+	    int pos, len = insn_len(insn);</div><div class='add'>+	    for (pos = 0; pos &lt; len; ++pos) {</div><div class='add'>+		switch (insn_op_types(insn)[pos]) {</div><div class='add'>+		  case TS_OFFSET:</div><div class='add'>+		    unref_destination((INSN *)i, pos);</div><div class='add'>+		    break;</div><div class='add'>+                  case TS_CALLDATA:</div><div class='add'>+                    --(body-&gt;ci_size);</div><div class='add'>+		    break;</div><div class='add'>+		}</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+	ELEM_REMOVE(i);</div><div class='add'>+    } while ((i != end) &amp;&amp; (i = i-&gt;next) != 0);</div><div class='add'>+    return 1;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+iseq_pop_newarray(rb_iseq_t *iseq, INSN *iobj)</div><div class='add'>+{</div><div class='add'>+    switch (OPERAND_AT(iobj, 0)) {</div><div class='add'>+      case INT2FIX(0): /* empty array */</div><div class='add'>+	ELEM_REMOVE(&amp;iobj-&gt;link);</div><div class='add'>+	return TRUE;</div><div class='add'>+      case INT2FIX(1): /* single element array */</div><div class='add'>+	ELEM_REMOVE(&amp;iobj-&gt;link);</div><div class='add'>+	return FALSE;</div><div class='add'>+      default:</div><div class='add'>+	iobj-&gt;insn_id = BIN(adjuststack);</div><div class='add'>+	return TRUE;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+is_frozen_putstring(INSN *insn, VALUE *op)</div><div class='add'>+{</div><div class='add'>+    if (IS_INSN_ID(insn, putstring)) {</div><div class='add'>+        *op = OPERAND_AT(insn, 0);</div><div class='add'>+        return 1;</div><div class='add'>+    }</div><div class='add'>+    else if (IS_INSN_ID(insn, putobject)) { /* frozen_string_literal */</div><div class='add'>+        *op = OPERAND_AT(insn, 0);</div><div class='add'>+        return RB_TYPE_P(*op, T_STRING);</div><div class='add'>+    }</div><div class='add'>+    return 0;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+optimize_checktype(rb_iseq_t *iseq, INSN *iobj)</div><div class='add'>+{</div><div class='add'>+    /*</div><div class='add'>+     *   putobject obj</div><div class='add'>+     *   dup</div><div class='add'>+     *   checktype T_XXX</div><div class='add'>+     *   branchif l1</div><div class='add'>+     * l2:</div><div class='add'>+     *   ...</div><div class='add'>+     * l1:</div><div class='add'>+     *</div><div class='add'>+     * =&gt; obj is a T_XXX</div><div class='add'>+     *</div><div class='add'>+     *   putobject obj (T_XXX)</div><div class='add'>+     *   jump L1</div><div class='add'>+     * L1:</div><div class='add'>+     *</div><div class='add'>+     * =&gt; obj is not a T_XXX</div><div class='add'>+     *</div><div class='add'>+     *   putobject obj (T_XXX)</div><div class='add'>+     *   jump L2</div><div class='add'>+     * L2:</div><div class='add'>+     */</div><div class='add'>+    int line;</div><div class='add'>+    INSN *niobj, *ciobj, *dup = 0;</div><div class='add'>+    LABEL *dest = 0;</div><div class='add'>+    VALUE type;</div><div class='add'>+</div><div class='add'>+    switch (INSN_OF(iobj)) {</div><div class='add'>+      case BIN(putstring):</div><div class='add'>+	type = INT2FIX(T_STRING);</div><div class='add'>+	break;</div><div class='add'>+      case BIN(putnil):</div><div class='add'>+	type = INT2FIX(T_NIL);</div><div class='add'>+	break;</div><div class='add'>+      case BIN(putobject):</div><div class='add'>+	type = INT2FIX(TYPE(OPERAND_AT(iobj, 0)));</div><div class='add'>+	break;</div><div class='add'>+      default: return FALSE;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    ciobj = (INSN *)get_next_insn(iobj);</div><div class='add'>+    if (IS_INSN_ID(ciobj, jump)) {</div><div class='add'>+	ciobj = (INSN *)get_next_insn((INSN*)OPERAND_AT(ciobj, 0));</div><div class='add'>+    }</div><div class='add'>+    if (IS_INSN_ID(ciobj, dup)) {</div><div class='add'>+	ciobj = (INSN *)get_next_insn(dup = ciobj);</div><div class='add'>+    }</div><div class='add'>+    if (!ciobj || !IS_INSN_ID(ciobj, checktype)) return FALSE;</div><div class='add'>+    niobj = (INSN *)get_next_insn(ciobj);</div><div class='add'>+    if (!niobj) {</div><div class='add'>+	/* TODO: putobject true/false */</div><div class='add'>+	return FALSE;</div><div class='add'>+    }</div><div class='add'>+    switch (INSN_OF(niobj)) {</div><div class='add'>+      case BIN(branchif):</div><div class='add'>+	if (OPERAND_AT(ciobj, 0) == type) {</div><div class='add'>+	    dest = (LABEL *)OPERAND_AT(niobj, 0);</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      case BIN(branchunless):</div><div class='add'>+	if (OPERAND_AT(ciobj, 0) != type) {</div><div class='add'>+	    dest = (LABEL *)OPERAND_AT(niobj, 0);</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      default:</div><div class='add'>+        return FALSE;</div><div class='add'>+    }</div><div class='add'>+    line = ciobj-&gt;insn_info.line_no;</div><div class='add'>+    if (!dest) {</div><div class='add'>+	if (niobj-&gt;link.next &amp;&amp; IS_LABEL(niobj-&gt;link.next)) {</div><div class='add'>+	    dest = (LABEL *)niobj-&gt;link.next; /* reuse label */</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    dest = NEW_LABEL(line);</div><div class='add'>+	    ELEM_INSERT_NEXT(&amp;niobj-&gt;link, &amp;dest-&gt;link);</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    INSERT_AFTER_INSN1(iobj, line, jump, dest);</div><div class='add'>+    LABEL_REF(dest);</div><div class='add'>+    if (!dup) INSERT_AFTER_INSN(iobj, line, pop);</div><div class='add'>+    return TRUE;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static const struct rb_callinfo *</div><div class='add'>+ci_flag_set(const rb_iseq_t *iseq, const struct rb_callinfo *ci, unsigned int add)</div><div class='add'>+{</div><div class='add'>+    const struct rb_callinfo *nci = vm_ci_new(vm_ci_mid(ci),</div><div class='add'>+                                             vm_ci_flag(ci) | add,</div><div class='add'>+                                             vm_ci_argc(ci),</div><div class='add'>+                                             vm_ci_kwarg(ci));</div><div class='add'>+    RB_OBJ_WRITTEN(iseq, ci, nci);</div><div class='add'>+    return nci;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static const struct rb_callinfo *</div><div class='add'>+ci_argc_set(const rb_iseq_t *iseq, const struct rb_callinfo *ci, int argc)</div><div class='add'>+{</div><div class='add'>+    const struct rb_callinfo *nci = vm_ci_new(vm_ci_mid(ci),</div><div class='add'>+                                              vm_ci_flag(ci),</div><div class='add'>+                                              argc,</div><div class='add'>+                                              vm_ci_kwarg(ci));</div><div class='add'>+    RB_OBJ_WRITTEN(iseq, ci, nci);</div><div class='add'>+    return nci;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+iseq_peephole_optimize(rb_iseq_t *iseq, LINK_ELEMENT *list, const int do_tailcallopt)</div><div class='add'>+{</div><div class='add'>+    INSN *const iobj = (INSN *)list;</div><div class='add'>+</div><div class='add'>+  again:</div><div class='add'>+    optimize_checktype(iseq, iobj);</div><div class='add'>+</div><div class='add'>+    if (IS_INSN_ID(iobj, jump)) {</div><div class='add'>+        INSN *niobj, *diobj, *piobj;</div><div class='add'>+	diobj = (INSN *)get_destination_insn(iobj);</div><div class='add'>+	niobj = (INSN *)get_next_insn(iobj);</div><div class='add'>+</div><div class='add'>+	if (diobj == niobj) {</div><div class='add'>+	    /*</div><div class='add'>+	     *   jump LABEL</div><div class='add'>+	     *  LABEL:</div><div class='add'>+	     * =&gt;</div><div class='add'>+	     *   LABEL:</div><div class='add'>+	     */</div><div class='add'>+	    unref_destination(iobj, 0);</div><div class='add'>+	    ELEM_REMOVE(&amp;iobj-&gt;link);</div><div class='add'>+	    return COMPILE_OK;</div><div class='add'>+	}</div><div class='add'>+        else if (iobj != diobj &amp;&amp; IS_INSN(&amp;diobj-&gt;link) &amp;&amp;</div><div class='add'>+                 IS_INSN_ID(diobj, jump) &amp;&amp;</div><div class='add'>+		 OPERAND_AT(iobj, 0) != OPERAND_AT(diobj, 0)) {</div><div class='add'>+	    /*</div><div class='add'>+	     *  useless jump elimination:</div><div class='add'>+	     *     jump LABEL1</div><div class='add'>+	     *     ...</div><div class='add'>+	     *   LABEL1:</div><div class='add'>+	     *     jump LABEL2</div><div class='add'>+	     *</div><div class='add'>+	     *   =&gt; in this case, first jump instruction should jump to</div><div class='add'>+	     *      LABEL2 directly</div><div class='add'>+	     */</div><div class='add'>+	    replace_destination(iobj, diobj);</div><div class='add'>+	    remove_unreachable_chunk(iseq, iobj-&gt;link.next);</div><div class='add'>+	    goto again;</div><div class='add'>+	}</div><div class='add'>+        else if (IS_INSN_ID(diobj, leave)) {</div><div class='add'>+	    /*</div><div class='add'>+	     *  jump LABEL</div><div class='add'>+	     *  ...</div><div class='add'>+	     * LABEL:</div><div class='add'>+	     *  leave</div><div class='add'>+	     * =&gt;</div><div class='add'>+	     *  leave</div><div class='add'>+	     *  ...</div><div class='add'>+	     * LABEL:</div><div class='add'>+	     *  leave</div><div class='add'>+	     */</div><div class='add'>+	    /* replace */</div><div class='add'>+	    unref_destination(iobj, 0);</div><div class='add'>+            iobj-&gt;insn_id = BIN(leave);</div><div class='add'>+	    iobj-&gt;operand_size = 0;</div><div class='add'>+	    iobj-&gt;insn_info = diobj-&gt;insn_info;</div><div class='add'>+	    goto again;</div><div class='add'>+	}</div><div class='add'>+        else if (IS_INSN(iobj-&gt;link.prev) &amp;&amp;</div><div class='add'>+                 (piobj = (INSN *)iobj-&gt;link.prev) &amp;&amp;</div><div class='add'>+		 (IS_INSN_ID(piobj, branchif) ||</div><div class='add'>+		  IS_INSN_ID(piobj, branchunless))) {</div><div class='add'>+	    INSN *pdiobj = (INSN *)get_destination_insn(piobj);</div><div class='add'>+	    if (niobj == pdiobj) {</div><div class='add'>+		int refcnt = IS_LABEL(piobj-&gt;link.next) ?</div><div class='add'>+		    ((LABEL *)piobj-&gt;link.next)-&gt;refcnt : 0;</div><div class='add'>+		/*</div><div class='add'>+		 * useless jump elimination (if/unless destination):</div><div class='add'>+		 *   if   L1</div><div class='add'>+		 *   jump L2</div><div class='add'>+		 * L1:</div><div class='add'>+		 *   ...</div><div class='add'>+		 * L2:</div><div class='add'>+		 *</div><div class='add'>+		 * ==&gt;</div><div class='add'>+		 *   unless L2</div><div class='add'>+		 * L1:</div><div class='add'>+		 *   ...</div><div class='add'>+		 * L2:</div><div class='add'>+		 */</div><div class='add'>+		piobj-&gt;insn_id = (IS_INSN_ID(piobj, branchif))</div><div class='add'>+		  ? BIN(branchunless) : BIN(branchif);</div><div class='add'>+		replace_destination(piobj, iobj);</div><div class='add'>+		if (refcnt &lt;= 1) {</div><div class='add'>+		    ELEM_REMOVE(&amp;iobj-&gt;link);</div><div class='add'>+		}</div><div class='add'>+		else {</div><div class='add'>+		    /* TODO: replace other branch destinations too */</div><div class='add'>+		}</div><div class='add'>+		return COMPILE_OK;</div><div class='add'>+	    }</div><div class='add'>+	    else if (diobj == pdiobj) {</div><div class='add'>+		/*</div><div class='add'>+		 * useless jump elimination (if/unless before jump):</div><div class='add'>+		 * L1:</div><div class='add'>+		 *   ...</div><div class='add'>+		 *   if   L1</div><div class='add'>+		 *   jump L1</div><div class='add'>+		 *</div><div class='add'>+		 * ==&gt;</div><div class='add'>+		 * L1:</div><div class='add'>+		 *   ...</div><div class='add'>+		 *   pop</div><div class='add'>+		 *   jump L1</div><div class='add'>+		 */</div><div class='add'>+		INSN *popiobj = new_insn_core(iseq, iobj-&gt;insn_info.line_no,</div><div class='add'>+					      BIN(pop), 0, 0);</div><div class='add'>+		ELEM_REPLACE(&amp;piobj-&gt;link, &amp;popiobj-&gt;link);</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+	if (remove_unreachable_chunk(iseq, iobj-&gt;link.next)) {</div><div class='add'>+	    goto again;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    /*</div><div class='add'>+     * putstring "beg"</div><div class='add'>+     * putstring "end"</div><div class='add'>+     * newrange excl</div><div class='add'>+     *</div><div class='add'>+     * ==&gt;</div><div class='add'>+     *</div><div class='add'>+     * putobject "beg".."end"</div><div class='add'>+     */</div><div class='add'>+    if (IS_INSN_ID(iobj, checkmatch)) {</div><div class='add'>+        INSN *range = (INSN *)get_prev_insn(iobj);</div><div class='add'>+        INSN *beg, *end;</div><div class='add'>+        VALUE str_beg, str_end;</div><div class='add'>+</div><div class='add'>+	if (range &amp;&amp; IS_INSN_ID(range, newrange) &amp;&amp;</div><div class='add'>+                (end = (INSN *)get_prev_insn(range)) != 0 &amp;&amp;</div><div class='add'>+                is_frozen_putstring(end, &amp;str_end) &amp;&amp;</div><div class='add'>+                (beg = (INSN *)get_prev_insn(end)) != 0 &amp;&amp;</div><div class='add'>+                is_frozen_putstring(beg, &amp;str_beg)) {</div><div class='add'>+	    int excl = FIX2INT(OPERAND_AT(range, 0));</div><div class='add'>+	    VALUE lit_range = rb_range_new(str_beg, str_end, excl);</div><div class='add'>+</div><div class='add'>+	    ELEM_REMOVE(&amp;beg-&gt;link);</div><div class='add'>+	    ELEM_REMOVE(&amp;end-&gt;link);</div><div class='add'>+	    range-&gt;insn_id = BIN(putobject);</div><div class='add'>+	    OPERAND_AT(range, 0) = lit_range;</div><div class='add'>+	    RB_OBJ_WRITTEN(iseq, Qundef, lit_range);</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (IS_INSN_ID(iobj, leave)) {</div><div class='add'>+	remove_unreachable_chunk(iseq, iobj-&gt;link.next);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (IS_INSN_ID(iobj, branchif) ||</div><div class='add'>+	IS_INSN_ID(iobj, branchnil) ||</div><div class='add'>+	IS_INSN_ID(iobj, branchunless)) {</div><div class='add'>+	/*</div><div class='add'>+	 *   if L1</div><div class='add'>+	 *   ...</div><div class='add'>+	 * L1:</div><div class='add'>+	 *   jump L2</div><div class='add'>+	 * =&gt;</div><div class='add'>+	 *   if L2</div><div class='add'>+	 */</div><div class='add'>+	INSN *nobj = (INSN *)get_destination_insn(iobj);</div><div class='add'>+</div><div class='add'>+        /* This is super nasty hack!!!</div><div class='add'>+         *</div><div class='add'>+         * This jump-jump optimization may ignore event flags of the jump</div><div class='add'>+         * instruction being skipped.  Actually, Line 2 TracePoint event</div><div class='add'>+         * is never fired in the following code:</div><div class='add'>+         *</div><div class='add'>+         *   1: raise if 1 == 2</div><div class='add'>+         *   2: while true</div><div class='add'>+         *   3:   break</div><div class='add'>+         *   4: end</div><div class='add'>+         *</div><div class='add'>+         * This is critical for coverage measurement.  [Bug #15980]</div><div class='add'>+         *</div><div class='add'>+         * This is a stopgap measure: stop the jump-jump optimization if</div><div class='add'>+         * coverage measurement is enabled and if the skipped instruction</div><div class='add'>+         * has any event flag.</div><div class='add'>+         *</div><div class='add'>+         * Note that, still, TracePoint Line event does not occur on Line 2.</div><div class='add'>+         * This should be fixed in future.</div><div class='add'>+         */</div><div class='add'>+        int stop_optimization =</div><div class='add'>+	    ISEQ_COVERAGE(iseq) &amp;&amp; ISEQ_LINE_COVERAGE(iseq) &amp;&amp;</div><div class='add'>+            nobj-&gt;insn_info.events;</div><div class='add'>+	if (!stop_optimization) {</div><div class='add'>+            INSN *pobj = (INSN *)iobj-&gt;link.prev;</div><div class='add'>+            int prev_dup = 0;</div><div class='add'>+            if (pobj) {</div><div class='add'>+                if (!IS_INSN(&amp;pobj-&gt;link))</div><div class='add'>+                    pobj = 0;</div><div class='add'>+                else if (IS_INSN_ID(pobj, dup))</div><div class='add'>+                    prev_dup = 1;</div><div class='add'>+            }</div><div class='add'>+</div><div class='add'>+            for (;;) {</div><div class='add'>+                if (IS_INSN(&amp;nobj-&gt;link) &amp;&amp; IS_INSN_ID(nobj, jump)) {</div><div class='add'>+                    replace_destination(iobj, nobj);</div><div class='add'>+                }</div><div class='add'>+                else if (prev_dup &amp;&amp; IS_INSN_ID(nobj, dup) &amp;&amp;</div><div class='add'>+                         !!(nobj = (INSN *)nobj-&gt;link.next) &amp;&amp;</div><div class='add'>+                         /* basic blocks, with no labels in the middle */</div><div class='add'>+                         nobj-&gt;insn_id == iobj-&gt;insn_id) {</div><div class='add'>+                    /*</div><div class='add'>+                     *   dup</div><div class='add'>+                     *   if L1</div><div class='add'>+                     *   ...</div><div class='add'>+                     * L1:</div><div class='add'>+                     *   dup</div><div class='add'>+                     *   if L2</div><div class='add'>+                     * =&gt;</div><div class='add'>+                     *   dup</div><div class='add'>+                     *   if L2</div><div class='add'>+                     *   ...</div><div class='add'>+                     * L1:</div><div class='add'>+                     *   dup</div><div class='add'>+                     *   if L2</div><div class='add'>+                     */</div><div class='add'>+                    replace_destination(iobj, nobj);</div><div class='add'>+                }</div><div class='add'>+                else if (pobj) {</div><div class='add'>+                    /*</div><div class='add'>+                     *   putnil</div><div class='add'>+                     *   if L1</div><div class='add'>+                     * =&gt;</div><div class='add'>+                     *   # nothing</div><div class='add'>+                     *</div><div class='add'>+                     *   putobject true</div><div class='add'>+                     *   if L1</div><div class='add'>+                     * =&gt;</div><div class='add'>+                     *   jump L1</div><div class='add'>+                     *</div><div class='add'>+                     *   putstring ".."</div><div class='add'>+                     *   if L1</div><div class='add'>+                     * =&gt;</div><div class='add'>+                     *   jump L1</div><div class='add'>+                     *</div><div class='add'>+                     *   putstring ".."</div><div class='add'>+                     *   dup</div><div class='add'>+                     *   if L1</div><div class='add'>+                     * =&gt;</div><div class='add'>+                     *   putstring ".."</div><div class='add'>+                     *   jump L1</div><div class='add'>+                     *</div><div class='add'>+                     */</div><div class='add'>+                    int cond;</div><div class='add'>+                    if (prev_dup &amp;&amp; IS_INSN(pobj-&gt;link.prev)) {</div><div class='add'>+                        pobj = (INSN *)pobj-&gt;link.prev;</div><div class='add'>+                    }</div><div class='add'>+                    if (IS_INSN_ID(pobj, putobject)) {</div><div class='add'>+                        cond = (IS_INSN_ID(iobj, branchif) ?</div><div class='add'>+                                OPERAND_AT(pobj, 0) != Qfalse :</div><div class='add'>+                                IS_INSN_ID(iobj, branchunless) ?</div><div class='add'>+                                OPERAND_AT(pobj, 0) == Qfalse :</div><div class='add'>+                                FALSE);</div><div class='add'>+                    }</div><div class='add'>+                    else if (IS_INSN_ID(pobj, putstring) ||</div><div class='add'>+                             IS_INSN_ID(pobj, duparray) ||</div><div class='add'>+                             IS_INSN_ID(pobj, newarray)) {</div><div class='add'>+                        cond = IS_INSN_ID(iobj, branchif);</div><div class='add'>+                    }</div><div class='add'>+                    else if (IS_INSN_ID(pobj, putnil)) {</div><div class='add'>+                        cond = !IS_INSN_ID(iobj, branchif);</div><div class='add'>+                    }</div><div class='add'>+                    else break;</div><div class='add'>+                    if (prev_dup || !IS_INSN_ID(pobj, newarray)) {</div><div class='add'>+                        ELEM_REMOVE(iobj-&gt;link.prev);</div><div class='add'>+                    }</div><div class='add'>+                    else if (!iseq_pop_newarray(iseq, pobj)) {</div><div class='add'>+                        pobj = new_insn_core(iseq, pobj-&gt;insn_info.line_no, BIN(pop), 0, NULL);</div><div class='add'>+                        ELEM_INSERT_PREV(&amp;iobj-&gt;link, &amp;pobj-&gt;link);</div><div class='add'>+                    }</div><div class='add'>+                    if (cond) {</div><div class='add'>+                        if (prev_dup) {</div><div class='add'>+                            pobj = new_insn_core(iseq, pobj-&gt;insn_info.line_no, BIN(putnil), 0, NULL);</div><div class='add'>+                            ELEM_INSERT_NEXT(&amp;iobj-&gt;link, &amp;pobj-&gt;link);</div><div class='add'>+                        }</div><div class='add'>+                        iobj-&gt;insn_id = BIN(jump);</div><div class='add'>+                        goto again;</div><div class='add'>+                    }</div><div class='add'>+                    else {</div><div class='add'>+                        unref_destination(iobj, 0);</div><div class='add'>+                        ELEM_REMOVE(&amp;iobj-&gt;link);</div><div class='add'>+                    }</div><div class='add'>+                    break;</div><div class='add'>+                }</div><div class='add'>+                else break;</div><div class='add'>+                nobj = (INSN *)get_destination_insn(nobj);</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (IS_INSN_ID(iobj, pop)) {</div><div class='add'>+	/*</div><div class='add'>+	 *  putself / putnil / putobject obj / putstring "..."</div><div class='add'>+	 *  pop</div><div class='add'>+	 * =&gt;</div><div class='add'>+	 *  # do nothing</div><div class='add'>+	 */</div><div class='add'>+	LINK_ELEMENT *prev = iobj-&gt;link.prev;</div><div class='add'>+	if (IS_INSN(prev)) {</div><div class='add'>+	    enum ruby_vminsn_type previ = ((INSN *)prev)-&gt;insn_id;</div><div class='add'>+	    if (previ == BIN(putobject) || previ == BIN(putnil) ||</div><div class='add'>+		previ == BIN(putself) || previ == BIN(putstring) ||</div><div class='add'>+		previ == BIN(dup) ||</div><div class='add'>+		previ == BIN(getlocal) ||</div><div class='add'>+		previ == BIN(getblockparam) ||</div><div class='add'>+		previ == BIN(getblockparamproxy) ||</div><div class='add'>+		/* getinstancevariable may issue a warning */</div><div class='add'>+		previ == BIN(duparray)) {</div><div class='add'>+		/* just push operand or static value and pop soon, no</div><div class='add'>+		 * side effects */</div><div class='add'>+		ELEM_REMOVE(prev);</div><div class='add'>+		ELEM_REMOVE(&amp;iobj-&gt;link);</div><div class='add'>+	    }</div><div class='add'>+	    else if (previ == BIN(newarray) &amp;&amp; iseq_pop_newarray(iseq, (INSN*)prev)) {</div><div class='add'>+		ELEM_REMOVE(&amp;iobj-&gt;link);</div><div class='add'>+	    }</div><div class='add'>+	    else if (previ == BIN(concatarray)) {</div><div class='add'>+		INSN *piobj = (INSN *)prev;</div><div class='add'>+		INSERT_BEFORE_INSN1(piobj, piobj-&gt;insn_info.line_no, splatarray, Qfalse);</div><div class='add'>+		INSN_OF(piobj) = BIN(pop);</div><div class='add'>+	    }</div><div class='add'>+	    else if (previ == BIN(concatstrings)) {</div><div class='add'>+		if (OPERAND_AT(prev, 0) == INT2FIX(1)) {</div><div class='add'>+		    ELEM_REMOVE(prev);</div><div class='add'>+		}</div><div class='add'>+		else {</div><div class='add'>+		    ELEM_REMOVE(&amp;iobj-&gt;link);</div><div class='add'>+		    INSN_OF(prev) = BIN(adjuststack);</div><div class='add'>+		}</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (IS_INSN_ID(iobj, newarray) ||</div><div class='add'>+	IS_INSN_ID(iobj, duparray) ||</div><div class='add'>+	IS_INSN_ID(iobj, expandarray) ||</div><div class='add'>+	IS_INSN_ID(iobj, concatarray) ||</div><div class='add'>+	IS_INSN_ID(iobj, splatarray) ||</div><div class='add'>+	0) {</div><div class='add'>+	/*</div><div class='add'>+	 *  newarray N</div><div class='add'>+	 *  splatarray</div><div class='add'>+	 * =&gt;</div><div class='add'>+	 *  newarray N</div><div class='add'>+	 * newarray always puts an array</div><div class='add'>+	 */</div><div class='add'>+	LINK_ELEMENT *next = iobj-&gt;link.next;</div><div class='add'>+	if (IS_INSN(next) &amp;&amp; IS_INSN_ID(next, splatarray)) {</div><div class='add'>+	    /* remove splatarray following always-array insn */</div><div class='add'>+	    ELEM_REMOVE(next);</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (IS_INSN_ID(iobj, tostring)) {</div><div class='add'>+	LINK_ELEMENT *next = iobj-&gt;link.next;</div><div class='add'>+	/*</div><div class='add'>+	 *  tostring</div><div class='add'>+	 *  concatstrings 1</div><div class='add'>+	 * =&gt;</div><div class='add'>+	 *  tostring</div><div class='add'>+	 */</div><div class='add'>+	if (IS_INSN(next) &amp;&amp; IS_INSN_ID(next, concatstrings) &amp;&amp;</div><div class='add'>+	    OPERAND_AT(next, 0) == INT2FIX(1)) {</div><div class='add'>+	    ELEM_REMOVE(next);</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (IS_INSN_ID(iobj, putstring) ||</div><div class='add'>+	(IS_INSN_ID(iobj, putobject) &amp;&amp; RB_TYPE_P(OPERAND_AT(iobj, 0), T_STRING))) {</div><div class='add'>+	/*</div><div class='add'>+	 *  putstring ""</div><div class='add'>+	 *  concatstrings N</div><div class='add'>+	 * =&gt;</div><div class='add'>+	 *  concatstrings N-1</div><div class='add'>+	 */</div><div class='add'>+	if (IS_NEXT_INSN_ID(&amp;iobj-&gt;link, concatstrings) &amp;&amp;</div><div class='add'>+	    RSTRING_LEN(OPERAND_AT(iobj, 0)) == 0) {</div><div class='add'>+	    INSN *next = (INSN *)iobj-&gt;link.next;</div><div class='add'>+	    if ((OPERAND_AT(next, 0) = FIXNUM_INC(OPERAND_AT(next, 0), -1)) == INT2FIX(1)) {</div><div class='add'>+		ELEM_REMOVE(&amp;next-&gt;link);</div><div class='add'>+	    }</div><div class='add'>+	    ELEM_REMOVE(&amp;iobj-&gt;link);</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (IS_INSN_ID(iobj, concatstrings)) {</div><div class='add'>+	/*</div><div class='add'>+	 *  concatstrings N</div><div class='add'>+	 *  concatstrings M</div><div class='add'>+	 * =&gt;</div><div class='add'>+	 *  concatstrings N+M-1</div><div class='add'>+	 */</div><div class='add'>+	LINK_ELEMENT *next = iobj-&gt;link.next;</div><div class='add'>+	INSN *jump = 0;</div><div class='add'>+	if (IS_INSN(next) &amp;&amp; IS_INSN_ID(next, jump))</div><div class='add'>+	    next = get_destination_insn(jump = (INSN *)next);</div><div class='add'>+	if (IS_INSN(next) &amp;&amp; IS_INSN_ID(next, concatstrings)) {</div><div class='add'>+	    int n = FIX2INT(OPERAND_AT(iobj, 0)) + FIX2INT(OPERAND_AT(next, 0)) - 1;</div><div class='add'>+	    OPERAND_AT(iobj, 0) = INT2FIX(n);</div><div class='add'>+	    if (jump) {</div><div class='add'>+		LABEL *label = ((LABEL *)OPERAND_AT(jump, 0));</div><div class='add'>+		if (!--label-&gt;refcnt) {</div><div class='add'>+		    ELEM_REMOVE(&amp;label-&gt;link);</div><div class='add'>+		}</div><div class='add'>+		else {</div><div class='add'>+		    label = NEW_LABEL(0);</div><div class='add'>+		    OPERAND_AT(jump, 0) = (VALUE)label;</div><div class='add'>+		}</div><div class='add'>+		label-&gt;refcnt++;</div><div class='add'>+		ELEM_INSERT_NEXT(next, &amp;label-&gt;link);</div><div class='add'>+		CHECK(iseq_peephole_optimize(iseq, get_next_insn(jump), do_tailcallopt));</div><div class='add'>+	    }</div><div class='add'>+	    else {</div><div class='add'>+		ELEM_REMOVE(next);</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (do_tailcallopt &amp;&amp;</div><div class='add'>+	(IS_INSN_ID(iobj, send) ||</div><div class='add'>+	 IS_INSN_ID(iobj, opt_aref_with) ||</div><div class='add'>+	 IS_INSN_ID(iobj, opt_aset_with) ||</div><div class='add'>+	 IS_INSN_ID(iobj, invokesuper))) {</div><div class='add'>+	/*</div><div class='add'>+	 *  send ...</div><div class='add'>+	 *  leave</div><div class='add'>+	 * =&gt;</div><div class='add'>+	 *  send ..., ... | VM_CALL_TAILCALL, ...</div><div class='add'>+	 *  leave # unreachable</div><div class='add'>+	 */</div><div class='add'>+	INSN *piobj = NULL;</div><div class='add'>+	if (iobj-&gt;link.next) {</div><div class='add'>+	    LINK_ELEMENT *next = iobj-&gt;link.next;</div><div class='add'>+	    do {</div><div class='add'>+		if (!IS_INSN(next)) {</div><div class='add'>+		    next = next-&gt;next;</div><div class='add'>+		    continue;</div><div class='add'>+		}</div><div class='add'>+		switch (INSN_OF(next)) {</div><div class='add'>+		  case BIN(nop):</div><div class='add'>+		    next = next-&gt;next;</div><div class='add'>+		    break;</div><div class='add'>+		  case BIN(jump):</div><div class='add'>+		    /* if cond</div><div class='add'>+		     *   return tailcall</div><div class='add'>+		     * end</div><div class='add'>+		     */</div><div class='add'>+		    next = get_destination_insn((INSN *)next);</div><div class='add'>+		    break;</div><div class='add'>+		  case BIN(leave):</div><div class='add'>+		    piobj = iobj;</div><div class='add'>+                    /* fall through */</div><div class='add'>+		  default:</div><div class='add'>+		    next = NULL;</div><div class='add'>+		    break;</div><div class='add'>+		}</div><div class='add'>+	    } while (next);</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+	if (piobj) {</div><div class='add'>+            const struct rb_callinfo *ci = (struct rb_callinfo *)OPERAND_AT(piobj, 0);</div><div class='add'>+	    if (IS_INSN_ID(piobj, send) ||</div><div class='add'>+                IS_INSN_ID(piobj, invokesuper)) {</div><div class='add'>+                if (OPERAND_AT(piobj, 1) == 0) { /* no blockiseq */</div><div class='add'>+                    ci = ci_flag_set(iseq, ci, VM_CALL_TAILCALL);</div><div class='add'>+                    OPERAND_AT(piobj, 0) = (VALUE)ci;</div><div class='add'>+                    RB_OBJ_WRITTEN(iseq, Qundef, ci);</div><div class='add'>+		}</div><div class='add'>+	    }</div><div class='add'>+	    else {</div><div class='add'>+                ci = ci_flag_set(iseq, ci, VM_CALL_TAILCALL);</div><div class='add'>+                OPERAND_AT(piobj, 0) = (VALUE)ci;</div><div class='add'>+                RB_OBJ_WRITTEN(iseq, Qundef, ci);</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (IS_INSN_ID(iobj, dup)) {</div><div class='add'>+	if (IS_NEXT_INSN_ID(&amp;iobj-&gt;link, setlocal)) {</div><div class='add'>+	    LINK_ELEMENT *set1 = iobj-&gt;link.next, *set2 = NULL;</div><div class='add'>+	    if (IS_NEXT_INSN_ID(set1, setlocal)) {</div><div class='add'>+		set2 = set1-&gt;next;</div><div class='add'>+		if (OPERAND_AT(set1, 0) == OPERAND_AT(set2, 0) &amp;&amp;</div><div class='add'>+		    OPERAND_AT(set1, 1) == OPERAND_AT(set2, 1)) {</div><div class='add'>+		    ELEM_REMOVE(set1);</div><div class='add'>+		    ELEM_REMOVE(&amp;iobj-&gt;link);</div><div class='add'>+		}</div><div class='add'>+	    }</div><div class='add'>+	    else if (IS_NEXT_INSN_ID(set1, dup) &amp;&amp;</div><div class='add'>+		     IS_NEXT_INSN_ID(set1-&gt;next, setlocal)) {</div><div class='add'>+		set2 = set1-&gt;next-&gt;next;</div><div class='add'>+		if (OPERAND_AT(set1, 0) == OPERAND_AT(set2, 0) &amp;&amp;</div><div class='add'>+		    OPERAND_AT(set1, 1) == OPERAND_AT(set2, 1)) {</div><div class='add'>+		    ELEM_REMOVE(set1-&gt;next);</div><div class='add'>+		    ELEM_REMOVE(set2);</div><div class='add'>+		}</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (IS_INSN_ID(iobj, getlocal)) {</div><div class='add'>+	LINK_ELEMENT *niobj = &amp;iobj-&gt;link;</div><div class='add'>+	if (IS_NEXT_INSN_ID(niobj, dup)) {</div><div class='add'>+	    niobj = niobj-&gt;next;</div><div class='add'>+	}</div><div class='add'>+	if (IS_NEXT_INSN_ID(niobj, setlocal)) {</div><div class='add'>+	    LINK_ELEMENT *set1 = niobj-&gt;next;</div><div class='add'>+	    if (OPERAND_AT(iobj, 0) == OPERAND_AT(set1, 0) &amp;&amp;</div><div class='add'>+		OPERAND_AT(iobj, 1) == OPERAND_AT(set1, 1)) {</div><div class='add'>+		ELEM_REMOVE(set1);</div><div class='add'>+		ELEM_REMOVE(niobj);</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (IS_INSN_ID(iobj, opt_invokebuiltin_delegate)) {</div><div class='add'>+        if (IS_TRACE(iobj-&gt;link.next)) {</div><div class='add'>+            if (IS_NEXT_INSN_ID(iobj-&gt;link.next, leave)) {</div><div class='add'>+                iobj-&gt;insn_id = BIN(opt_invokebuiltin_delegate_leave);</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+insn_set_specialized_instruction(rb_iseq_t *iseq, INSN *iobj, int insn_id)</div><div class='add'>+{</div><div class='add'>+    iobj-&gt;insn_id = insn_id;</div><div class='add'>+    iobj-&gt;operand_size = insn_len(insn_id) - 1;</div><div class='add'>+</div><div class='add'>+    if (insn_id == BIN(opt_neq)) {</div><div class='add'>+	VALUE *old_operands = iobj-&gt;operands;</div><div class='add'>+        iobj-&gt;operand_size = 2;</div><div class='add'>+        iobj-&gt;operands = compile_data_calloc2(iseq, iobj-&gt;operand_size, sizeof(VALUE));</div><div class='add'>+        iobj-&gt;operands[0] = (VALUE)new_callinfo(iseq, idEq, 1, 0, NULL, FALSE);</div><div class='add'>+        iobj-&gt;operands[1] = old_operands[0];</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+iseq_specialized_instruction(rb_iseq_t *iseq, INSN *iobj)</div><div class='add'>+{</div><div class='add'>+    if (IS_INSN_ID(iobj, newarray) &amp;&amp; iobj-&gt;link.next &amp;&amp;</div><div class='add'>+	IS_INSN(iobj-&gt;link.next)) {</div><div class='add'>+	/*</div><div class='add'>+	 *   [a, b, ...].max/min -&gt; a, b, c, opt_newarray_max/min</div><div class='add'>+	 */</div><div class='add'>+	INSN *niobj = (INSN *)iobj-&gt;link.next;</div><div class='add'>+	if (IS_INSN_ID(niobj, send)) {</div><div class='add'>+            const struct rb_callinfo *ci = (struct rb_callinfo *)OPERAND_AT(niobj, 0);</div><div class='add'>+            if ((vm_ci_flag(ci) &amp; VM_CALL_ARGS_SIMPLE) &amp;&amp; vm_ci_argc(ci) == 0) {</div><div class='add'>+		switch (vm_ci_mid(ci)) {</div><div class='add'>+		  case idMax:</div><div class='add'>+		    iobj-&gt;insn_id = BIN(opt_newarray_max);</div><div class='add'>+		    ELEM_REMOVE(&amp;niobj-&gt;link);</div><div class='add'>+		    return COMPILE_OK;</div><div class='add'>+		  case idMin:</div><div class='add'>+		    iobj-&gt;insn_id = BIN(opt_newarray_min);</div><div class='add'>+		    ELEM_REMOVE(&amp;niobj-&gt;link);</div><div class='add'>+		    return COMPILE_OK;</div><div class='add'>+		}</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (IS_INSN_ID(iobj, send)) {</div><div class='add'>+        const struct rb_callinfo *ci = (struct rb_callinfo *)OPERAND_AT(iobj, 0);</div><div class='add'>+        const rb_iseq_t *blockiseq = (rb_iseq_t *)OPERAND_AT(iobj, 1);</div><div class='add'>+</div><div class='add'>+#define SP_INSN(opt) insn_set_specialized_instruction(iseq, iobj, BIN(opt_##opt))</div><div class='add'>+	if (vm_ci_flag(ci) &amp; VM_CALL_ARGS_SIMPLE) {</div><div class='add'>+	    switch (vm_ci_argc(ci)) {</div><div class='add'>+	      case 0:</div><div class='add'>+		switch (vm_ci_mid(ci)) {</div><div class='add'>+		  case idLength: SP_INSN(length); return COMPILE_OK;</div><div class='add'>+		  case idSize:	 SP_INSN(size);	  return COMPILE_OK;</div><div class='add'>+		  case idEmptyP: SP_INSN(empty_p);return COMPILE_OK;</div><div class='add'>+                  case idNilP:   SP_INSN(nil_p);  return COMPILE_OK;</div><div class='add'>+		  case idSucc:	 SP_INSN(succ);	  return COMPILE_OK;</div><div class='add'>+		  case idNot:	 SP_INSN(not);	  return COMPILE_OK;</div><div class='add'>+		}</div><div class='add'>+		break;</div><div class='add'>+	      case 1:</div><div class='add'>+		switch (vm_ci_mid(ci)) {</div><div class='add'>+		  case idPLUS:	 SP_INSN(plus);	  return COMPILE_OK;</div><div class='add'>+		  case idMINUS:	 SP_INSN(minus);  return COMPILE_OK;</div><div class='add'>+		  case idMULT:	 SP_INSN(mult);	  return COMPILE_OK;</div><div class='add'>+		  case idDIV:	 SP_INSN(div);	  return COMPILE_OK;</div><div class='add'>+		  case idMOD:	 SP_INSN(mod);	  return COMPILE_OK;</div><div class='add'>+		  case idEq:	 SP_INSN(eq);	  return COMPILE_OK;</div><div class='add'>+		  case idNeq:	 SP_INSN(neq);	  return COMPILE_OK;</div><div class='add'>+		  case idEqTilde:SP_INSN(regexpmatch2);return COMPILE_OK;</div><div class='add'>+		  case idLT:	 SP_INSN(lt);	  return COMPILE_OK;</div><div class='add'>+		  case idLE:	 SP_INSN(le);	  return COMPILE_OK;</div><div class='add'>+		  case idGT:	 SP_INSN(gt);	  return COMPILE_OK;</div><div class='add'>+		  case idGE:	 SP_INSN(ge);	  return COMPILE_OK;</div><div class='add'>+		  case idLTLT:	 SP_INSN(ltlt);	  return COMPILE_OK;</div><div class='add'>+		  case idAREF:	 SP_INSN(aref);	  return COMPILE_OK;</div><div class='add'>+                  case idAnd:    SP_INSN(and);    return COMPILE_OK;</div><div class='add'>+                  case idOr:     SP_INSN(or);    return COMPILE_OK;</div><div class='add'>+		}</div><div class='add'>+		break;</div><div class='add'>+	      case 2:</div><div class='add'>+		switch (vm_ci_mid(ci)) {</div><div class='add'>+		  case idASET:	 SP_INSN(aset);	  return COMPILE_OK;</div><div class='add'>+		}</div><div class='add'>+		break;</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+	if ((vm_ci_flag(ci) &amp; VM_CALL_ARGS_BLOCKARG) == 0 &amp;&amp; blockiseq == NULL) {</div><div class='add'>+	    iobj-&gt;insn_id = BIN(opt_send_without_block);</div><div class='add'>+	    iobj-&gt;operand_size = insn_len(iobj-&gt;insn_id) - 1;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+#undef SP_INSN</div><div class='add'>+</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static inline int</div><div class='add'>+tailcallable_p(rb_iseq_t *iseq)</div><div class='add'>+{</div><div class='add'>+    switch (iseq-&gt;body-&gt;type) {</div><div class='add'>+      case ISEQ_TYPE_TOP:</div><div class='add'>+      case ISEQ_TYPE_EVAL:</div><div class='add'>+      case ISEQ_TYPE_MAIN:</div><div class='add'>+	/* not tail callable because cfp will be over popped */</div><div class='add'>+      case ISEQ_TYPE_RESCUE:</div><div class='add'>+      case ISEQ_TYPE_ENSURE:</div><div class='add'>+	/* rescue block can't tail call because of errinfo */</div><div class='add'>+	return FALSE;</div><div class='add'>+      default:</div><div class='add'>+	return TRUE;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+iseq_optimize(rb_iseq_t *iseq, LINK_ANCHOR *const anchor)</div><div class='add'>+{</div><div class='add'>+    LINK_ELEMENT *list;</div><div class='add'>+    const int do_peepholeopt = ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;peephole_optimization;</div><div class='add'>+    const int do_tailcallopt = tailcallable_p(iseq) &amp;&amp;</div><div class='add'>+	ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;tailcall_optimization;</div><div class='add'>+    const int do_si = ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;specialized_instruction;</div><div class='add'>+    const int do_ou = ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;operands_unification;</div><div class='add'>+    int rescue_level = 0;</div><div class='add'>+    int tailcallopt = do_tailcallopt;</div><div class='add'>+</div><div class='add'>+    list = FIRST_ELEMENT(anchor);</div><div class='add'>+</div><div class='add'>+    while (list) {</div><div class='add'>+	if (IS_INSN(list)) {</div><div class='add'>+	    if (do_peepholeopt) {</div><div class='add'>+		iseq_peephole_optimize(iseq, list, tailcallopt);</div><div class='add'>+	    }</div><div class='add'>+	    if (do_si) {</div><div class='add'>+		iseq_specialized_instruction(iseq, (INSN *)list);</div><div class='add'>+	    }</div><div class='add'>+	    if (do_ou) {</div><div class='add'>+		insn_operands_unification((INSN *)list);</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+	if (IS_LABEL(list)) {</div><div class='add'>+	    switch (((LABEL *)list)-&gt;rescued) {</div><div class='add'>+	      case LABEL_RESCUE_BEG:</div><div class='add'>+		rescue_level++;</div><div class='add'>+		tailcallopt = FALSE;</div><div class='add'>+		break;</div><div class='add'>+	      case LABEL_RESCUE_END:</div><div class='add'>+		if (!--rescue_level) tailcallopt = do_tailcallopt;</div><div class='add'>+		break;</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+	list = list-&gt;next;</div><div class='add'>+    }</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#if OPT_INSTRUCTIONS_UNIFICATION</div><div class='add'>+static INSN *</div><div class='add'>+new_unified_insn(rb_iseq_t *iseq,</div><div class='add'>+		 int insn_id, int size, LINK_ELEMENT *seq_list)</div><div class='add'>+{</div><div class='add'>+    INSN *iobj = 0;</div><div class='add'>+    LINK_ELEMENT *list = seq_list;</div><div class='add'>+    int i, argc = 0;</div><div class='add'>+    VALUE *operands = 0, *ptr = 0;</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+    /* count argc */</div><div class='add'>+    for (i = 0; i &lt; size; i++) {</div><div class='add'>+	iobj = (INSN *)list;</div><div class='add'>+	argc += iobj-&gt;operand_size;</div><div class='add'>+	list = list-&gt;next;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (argc &gt; 0) {</div><div class='add'>+	ptr = operands = compile_data_alloc2(iseq, sizeof(VALUE), argc);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    /* copy operands */</div><div class='add'>+    list = seq_list;</div><div class='add'>+    for (i = 0; i &lt; size; i++) {</div><div class='add'>+	iobj = (INSN *)list;</div><div class='add'>+	MEMCPY(ptr, iobj-&gt;operands, VALUE, iobj-&gt;operand_size);</div><div class='add'>+	ptr += iobj-&gt;operand_size;</div><div class='add'>+	list = list-&gt;next;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return new_insn_core(iseq, iobj-&gt;insn_info.line_no, insn_id, argc, operands);</div><div class='add'>+}</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * This scheme can get more performance if do this optimize with</div><div class='add'>+ * label address resolving.</div><div class='add'>+ * It's future work (if compile time was bottle neck).</div><div class='add'>+ */</div><div class='add'>+static int</div><div class='add'>+iseq_insns_unification(rb_iseq_t *iseq, LINK_ANCHOR *const anchor)</div><div class='add'>+{</div><div class='add'>+#if OPT_INSTRUCTIONS_UNIFICATION</div><div class='add'>+    LINK_ELEMENT *list;</div><div class='add'>+    INSN *iobj, *niobj;</div><div class='add'>+    int id, k;</div><div class='add'>+    intptr_t j;</div><div class='add'>+</div><div class='add'>+    list = FIRST_ELEMENT(anchor);</div><div class='add'>+    while (list) {</div><div class='add'>+	if (IS_INSN(list)) {</div><div class='add'>+	    iobj = (INSN *)list;</div><div class='add'>+	    id = iobj-&gt;insn_id;</div><div class='add'>+	    if (unified_insns_data[id] != 0) {</div><div class='add'>+		const int *const *entry = unified_insns_data[id];</div><div class='add'>+		for (j = 1; j &lt; (intptr_t)entry[0]; j++) {</div><div class='add'>+		    const int *unified = entry[j];</div><div class='add'>+		    LINK_ELEMENT *li = list-&gt;next;</div><div class='add'>+		    for (k = 2; k &lt; unified[1]; k++) {</div><div class='add'>+			if (!IS_INSN(li) ||</div><div class='add'>+			    ((INSN *)li)-&gt;insn_id != unified[k]) {</div><div class='add'>+			    goto miss;</div><div class='add'>+			}</div><div class='add'>+			li = li-&gt;next;</div><div class='add'>+		    }</div><div class='add'>+		    /* matched */</div><div class='add'>+		    niobj =</div><div class='add'>+			new_unified_insn(iseq, unified[0], unified[1] - 1,</div><div class='add'>+					 list);</div><div class='add'>+</div><div class='add'>+		    /* insert to list */</div><div class='add'>+		    niobj-&gt;link.prev = (LINK_ELEMENT *)iobj-&gt;link.prev;</div><div class='add'>+		    niobj-&gt;link.next = li;</div><div class='add'>+		    if (li) {</div><div class='add'>+			li-&gt;prev = (LINK_ELEMENT *)niobj;</div><div class='add'>+		    }</div><div class='add'>+</div><div class='add'>+		    list-&gt;prev-&gt;next = (LINK_ELEMENT *)niobj;</div><div class='add'>+		    list = (LINK_ELEMENT *)niobj;</div><div class='add'>+		    break;</div><div class='add'>+		  miss:;</div><div class='add'>+		}</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+	list = list-&gt;next;</div><div class='add'>+    }</div><div class='add'>+#endif</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#if OPT_STACK_CACHING</div><div class='add'>+</div><div class='add'>+#define SC_INSN(insn, stat) sc_insn_info[(insn)][(stat)]</div><div class='add'>+#define SC_NEXT(insn)       sc_insn_next[(insn)]</div><div class='add'>+</div><div class='add'>+#include "opt_sc.inc"</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+insn_set_sc_state(rb_iseq_t *iseq, const LINK_ELEMENT *anchor, INSN *iobj, int state)</div><div class='add'>+{</div><div class='add'>+    int nstate;</div><div class='add'>+    int insn_id;</div><div class='add'>+</div><div class='add'>+    insn_id = iobj-&gt;insn_id;</div><div class='add'>+    iobj-&gt;insn_id = SC_INSN(insn_id, state);</div><div class='add'>+    nstate = SC_NEXT(iobj-&gt;insn_id);</div><div class='add'>+</div><div class='add'>+    if (insn_id == BIN(jump) ||</div><div class='add'>+	insn_id == BIN(branchif) || insn_id == BIN(branchunless)) {</div><div class='add'>+	LABEL *lobj = (LABEL *)OPERAND_AT(iobj, 0);</div><div class='add'>+</div><div class='add'>+	if (lobj-&gt;sc_state != 0) {</div><div class='add'>+	    if (lobj-&gt;sc_state != nstate) {</div><div class='add'>+		BADINSN_DUMP(anchor, iobj, lobj);</div><div class='add'>+		COMPILE_ERROR(iseq, iobj-&gt;insn_info.line_no,</div><div class='add'>+			      "insn_set_sc_state error: %d at "LABEL_FORMAT</div><div class='add'>+			      ", %d expected\n",</div><div class='add'>+			      lobj-&gt;sc_state, lobj-&gt;label_no, nstate);</div><div class='add'>+		return COMPILE_NG;</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    lobj-&gt;sc_state = nstate;</div><div class='add'>+	}</div><div class='add'>+	if (insn_id == BIN(jump)) {</div><div class='add'>+	    nstate = SCS_XX;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    else if (insn_id == BIN(leave)) {</div><div class='add'>+	nstate = SCS_XX;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return nstate;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+label_set_sc_state(LABEL *lobj, int state)</div><div class='add'>+{</div><div class='add'>+    if (lobj-&gt;sc_state != 0) {</div><div class='add'>+	if (lobj-&gt;sc_state != state) {</div><div class='add'>+	    state = lobj-&gt;sc_state;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	lobj-&gt;sc_state = state;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return state;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+iseq_set_sequence_stackcaching(rb_iseq_t *iseq, LINK_ANCHOR *const anchor)</div><div class='add'>+{</div><div class='add'>+#if OPT_STACK_CACHING</div><div class='add'>+    LINK_ELEMENT *list;</div><div class='add'>+    int state, insn_id;</div><div class='add'>+</div><div class='add'>+    /* initialize */</div><div class='add'>+    state = SCS_XX;</div><div class='add'>+    list = FIRST_ELEMENT(anchor);</div><div class='add'>+    /* dump_disasm_list(list); */</div><div class='add'>+</div><div class='add'>+    /* for each list element */</div><div class='add'>+    while (list) {</div><div class='add'>+      redo_point:</div><div class='add'>+	switch (list-&gt;type) {</div><div class='add'>+	  case ISEQ_ELEMENT_INSN:</div><div class='add'>+	    {</div><div class='add'>+		INSN *iobj = (INSN *)list;</div><div class='add'>+		insn_id = iobj-&gt;insn_id;</div><div class='add'>+</div><div class='add'>+		/* dump_disasm_list(list); */</div><div class='add'>+</div><div class='add'>+		switch (insn_id) {</div><div class='add'>+		  case BIN(nop):</div><div class='add'>+		    {</div><div class='add'>+			/* exception merge point */</div><div class='add'>+			if (state != SCS_AX) {</div><div class='add'>+			    INSN *rpobj =</div><div class='add'>+				new_insn_body(iseq, 0, BIN(reput), 0);</div><div class='add'>+</div><div class='add'>+			    /* replace this insn */</div><div class='add'>+			    ELEM_REPLACE(list, (LINK_ELEMENT *)rpobj);</div><div class='add'>+			    list = (LINK_ELEMENT *)rpobj;</div><div class='add'>+			    goto redo_point;</div><div class='add'>+			}</div><div class='add'>+			break;</div><div class='add'>+		    }</div><div class='add'>+		  case BIN(swap):</div><div class='add'>+		    {</div><div class='add'>+			if (state == SCS_AB || state == SCS_BA) {</div><div class='add'>+			    state = (state == SCS_AB ? SCS_BA : SCS_AB);</div><div class='add'>+</div><div class='add'>+			    ELEM_REMOVE(list);</div><div class='add'>+			    list = list-&gt;next;</div><div class='add'>+			    goto redo_point;</div><div class='add'>+			}</div><div class='add'>+			break;</div><div class='add'>+		    }</div><div class='add'>+		  case BIN(pop):</div><div class='add'>+		    {</div><div class='add'>+			switch (state) {</div><div class='add'>+			  case SCS_AX:</div><div class='add'>+			  case SCS_BX:</div><div class='add'>+			    state = SCS_XX;</div><div class='add'>+			    break;</div><div class='add'>+			  case SCS_AB:</div><div class='add'>+			    state = SCS_AX;</div><div class='add'>+			    break;</div><div class='add'>+			  case SCS_BA:</div><div class='add'>+			    state = SCS_BX;</div><div class='add'>+			    break;</div><div class='add'>+			  case SCS_XX:</div><div class='add'>+			    goto normal_insn;</div><div class='add'>+			  default:</div><div class='add'>+			    COMPILE_ERROR(iseq, iobj-&gt;insn_info.line_no,</div><div class='add'>+					  "unreachable");</div><div class='add'>+			    return COMPILE_NG;</div><div class='add'>+			}</div><div class='add'>+			/* remove useless pop */</div><div class='add'>+			ELEM_REMOVE(list);</div><div class='add'>+			list = list-&gt;next;</div><div class='add'>+			goto redo_point;</div><div class='add'>+		    }</div><div class='add'>+		  default:;</div><div class='add'>+		    /* none */</div><div class='add'>+		}		/* end of switch */</div><div class='add'>+	      normal_insn:</div><div class='add'>+		state = insn_set_sc_state(iseq, anchor, iobj, state);</div><div class='add'>+		break;</div><div class='add'>+	    }</div><div class='add'>+	  case ISEQ_ELEMENT_LABEL:</div><div class='add'>+	    {</div><div class='add'>+		LABEL *lobj;</div><div class='add'>+		lobj = (LABEL *)list;</div><div class='add'>+</div><div class='add'>+		state = label_set_sc_state(lobj, state);</div><div class='add'>+	    }</div><div class='add'>+	  default:</div><div class='add'>+	    break;</div><div class='add'>+	}</div><div class='add'>+	list = list-&gt;next;</div><div class='add'>+    }</div><div class='add'>+#endif</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+all_string_result_p(const NODE *node)</div><div class='add'>+{</div><div class='add'>+    if (!node) return FALSE;</div><div class='add'>+    switch (nd_type(node)) {</div><div class='add'>+      case NODE_STR: case NODE_DSTR:</div><div class='add'>+	return TRUE;</div><div class='add'>+      case NODE_IF: case NODE_UNLESS:</div><div class='add'>+	if (!node-&gt;nd_body || !node-&gt;nd_else) return FALSE;</div><div class='add'>+	if (all_string_result_p(node-&gt;nd_body))</div><div class='add'>+	    return all_string_result_p(node-&gt;nd_else);</div><div class='add'>+	return FALSE;</div><div class='add'>+      case NODE_AND: case NODE_OR:</div><div class='add'>+	if (!node-&gt;nd_2nd)</div><div class='add'>+	    return all_string_result_p(node-&gt;nd_1st);</div><div class='add'>+	if (!all_string_result_p(node-&gt;nd_1st))</div><div class='add'>+	    return FALSE;</div><div class='add'>+	return all_string_result_p(node-&gt;nd_2nd);</div><div class='add'>+      default:</div><div class='add'>+	return FALSE;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+compile_dstr_fragments(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, int *cntp)</div><div class='add'>+{</div><div class='add'>+    const NODE *list = node-&gt;nd_next;</div><div class='add'>+    VALUE lit = node-&gt;nd_lit;</div><div class='add'>+    LINK_ELEMENT *first_lit = 0;</div><div class='add'>+    int cnt = 0;</div><div class='add'>+</div><div class='add'>+    debugp_param("nd_lit", lit);</div><div class='add'>+    if (!NIL_P(lit)) {</div><div class='add'>+	cnt++;</div><div class='add'>+	if (!RB_TYPE_P(lit, T_STRING)) {</div><div class='add'>+	    COMPILE_ERROR(ERROR_ARGS "dstr: must be string: %s",</div><div class='add'>+			  rb_builtin_type_name(TYPE(lit)));</div><div class='add'>+	    return COMPILE_NG;</div><div class='add'>+	}</div><div class='add'>+	lit = rb_fstring(lit);</div><div class='add'>+	ADD_INSN1(ret, nd_line(node), putobject, lit);</div><div class='add'>+        RB_OBJ_WRITTEN(iseq, Qundef, lit);</div><div class='add'>+	if (RSTRING_LEN(lit) == 0) first_lit = LAST_ELEMENT(ret);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    while (list) {</div><div class='add'>+	const NODE *const head = list-&gt;nd_head;</div><div class='add'>+	if (nd_type(head) == NODE_STR) {</div><div class='add'>+	    lit = rb_fstring(head-&gt;nd_lit);</div><div class='add'>+	    ADD_INSN1(ret, nd_line(head), putobject, lit);</div><div class='add'>+            RB_OBJ_WRITTEN(iseq, Qundef, lit);</div><div class='add'>+	    lit = Qnil;</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    CHECK(COMPILE(ret, "each string", head));</div><div class='add'>+	}</div><div class='add'>+	cnt++;</div><div class='add'>+	list = list-&gt;nd_next;</div><div class='add'>+    }</div><div class='add'>+    if (NIL_P(lit) &amp;&amp; first_lit) {</div><div class='add'>+	ELEM_REMOVE(first_lit);</div><div class='add'>+	--cnt;</div><div class='add'>+    }</div><div class='add'>+    *cntp = cnt;</div><div class='add'>+</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+compile_dstr(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node)</div><div class='add'>+{</div><div class='add'>+    int cnt;</div><div class='add'>+    if (!node-&gt;nd_next) {</div><div class='add'>+        VALUE lit = rb_fstring(node-&gt;nd_lit);</div><div class='add'>+        const int line = (int)nd_line(node);</div><div class='add'>+        ADD_INSN1(ret, line, putstring, lit);</div><div class='add'>+        RB_OBJ_WRITTEN(iseq, Qundef, lit);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        CHECK(compile_dstr_fragments(iseq, ret, node, &amp;cnt));</div><div class='add'>+        ADD_INSN1(ret, nd_line(node), concatstrings, INT2FIX(cnt));</div><div class='add'>+    }</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+compile_dregx(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node)</div><div class='add'>+{</div><div class='add'>+    int cnt;</div><div class='add'>+    CHECK(compile_dstr_fragments(iseq, ret, node, &amp;cnt));</div><div class='add'>+    ADD_INSN2(ret, nd_line(node), toregexp, INT2FIX(node-&gt;nd_cflag), INT2FIX(cnt));</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+compile_flip_flop(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, int again,</div><div class='add'>+		  LABEL *then_label, LABEL *else_label)</div><div class='add'>+{</div><div class='add'>+    const int line = nd_line(node);</div><div class='add'>+    LABEL *lend = NEW_LABEL(line);</div><div class='add'>+    rb_num_t cnt = ISEQ_FLIP_CNT_INCREMENT(iseq-&gt;body-&gt;local_iseq)</div><div class='add'>+	+ VM_SVAR_FLIPFLOP_START;</div><div class='add'>+    VALUE key = INT2FIX(cnt);</div><div class='add'>+</div><div class='add'>+    ADD_INSN2(ret, line, getspecial, key, INT2FIX(0));</div><div class='add'>+    ADD_INSNL(ret, line, branchif, lend);</div><div class='add'>+</div><div class='add'>+    /* *flip == 0 */</div><div class='add'>+    CHECK(COMPILE(ret, "flip2 beg", node-&gt;nd_beg));</div><div class='add'>+    ADD_INSNL(ret, line, branchunless, else_label);</div><div class='add'>+    ADD_INSN1(ret, line, putobject, Qtrue);</div><div class='add'>+    ADD_INSN1(ret, line, setspecial, key);</div><div class='add'>+    if (!again) {</div><div class='add'>+	ADD_INSNL(ret, line, jump, then_label);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    /* *flip == 1 */</div><div class='add'>+    ADD_LABEL(ret, lend);</div><div class='add'>+    CHECK(COMPILE(ret, "flip2 end", node-&gt;nd_end));</div><div class='add'>+    ADD_INSNL(ret, line, branchunless, then_label);</div><div class='add'>+    ADD_INSN1(ret, line, putobject, Qfalse);</div><div class='add'>+    ADD_INSN1(ret, line, setspecial, key);</div><div class='add'>+    ADD_INSNL(ret, line, jump, then_label);</div><div class='add'>+</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+compile_branch_condition(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *cond,</div><div class='add'>+			 LABEL *then_label, LABEL *else_label)</div><div class='add'>+{</div><div class='add'>+  again:</div><div class='add'>+    switch (nd_type(cond)) {</div><div class='add'>+      case NODE_AND:</div><div class='add'>+	{</div><div class='add'>+	    LABEL *label = NEW_LABEL(nd_line(cond));</div><div class='add'>+	    CHECK(compile_branch_condition(iseq, ret, cond-&gt;nd_1st, label,</div><div class='add'>+					   else_label));</div><div class='add'>+            if (!label-&gt;refcnt) {</div><div class='add'>+                ADD_INSN(ret, nd_line(cond), putnil);</div><div class='add'>+                break;</div><div class='add'>+            }</div><div class='add'>+	    ADD_LABEL(ret, label);</div><div class='add'>+	    cond = cond-&gt;nd_2nd;</div><div class='add'>+	    goto again;</div><div class='add'>+	}</div><div class='add'>+      case NODE_OR:</div><div class='add'>+	{</div><div class='add'>+	    LABEL *label = NEW_LABEL(nd_line(cond));</div><div class='add'>+	    CHECK(compile_branch_condition(iseq, ret, cond-&gt;nd_1st, then_label,</div><div class='add'>+					   label));</div><div class='add'>+            if (!label-&gt;refcnt) {</div><div class='add'>+                ADD_INSN(ret, nd_line(cond), putnil);</div><div class='add'>+                break;</div><div class='add'>+            }</div><div class='add'>+	    ADD_LABEL(ret, label);</div><div class='add'>+	    cond = cond-&gt;nd_2nd;</div><div class='add'>+	    goto again;</div><div class='add'>+	}</div><div class='add'>+      case NODE_LIT:		/* NODE_LIT is always true */</div><div class='add'>+      case NODE_TRUE:</div><div class='add'>+      case NODE_STR:</div><div class='add'>+      case NODE_ZLIST:</div><div class='add'>+      case NODE_LAMBDA:</div><div class='add'>+	/* printf("useless condition eliminate (%s)\n",  ruby_node_name(nd_type(cond))); */</div><div class='add'>+	ADD_INSNL(ret, nd_line(cond), jump, then_label);</div><div class='add'>+        return COMPILE_OK;</div><div class='add'>+      case NODE_FALSE:</div><div class='add'>+      case NODE_NIL:</div><div class='add'>+	/* printf("useless condition eliminate (%s)\n", ruby_node_name(nd_type(cond))); */</div><div class='add'>+	ADD_INSNL(ret, nd_line(cond), jump, else_label);</div><div class='add'>+        return COMPILE_OK;</div><div class='add'>+      case NODE_LIST:</div><div class='add'>+      case NODE_ARGSCAT:</div><div class='add'>+      case NODE_DREGX:</div><div class='add'>+      case NODE_DSTR:</div><div class='add'>+	CHECK(COMPILE_POPPED(ret, "branch condition", cond));</div><div class='add'>+	ADD_INSNL(ret, nd_line(cond), jump, then_label);</div><div class='add'>+        return COMPILE_OK;</div><div class='add'>+      case NODE_FLIP2:</div><div class='add'>+	CHECK(compile_flip_flop(iseq, ret, cond, TRUE, then_label, else_label));</div><div class='add'>+        return COMPILE_OK;</div><div class='add'>+      case NODE_FLIP3:</div><div class='add'>+	CHECK(compile_flip_flop(iseq, ret, cond, FALSE, then_label, else_label));</div><div class='add'>+        return COMPILE_OK;</div><div class='add'>+      case NODE_DEFINED:</div><div class='add'>+	CHECK(compile_defined_expr(iseq, ret, cond, Qfalse));</div><div class='add'>+        break;</div><div class='add'>+      default:</div><div class='add'>+	CHECK(COMPILE(ret, "branch condition", cond));</div><div class='add'>+        break;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    ADD_INSNL(ret, nd_line(cond), branchunless, else_label);</div><div class='add'>+    ADD_INSNL(ret, nd_line(cond), jump, then_label);</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#define HASH_BRACE 1</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+keyword_node_p(const NODE *const node)</div><div class='add'>+{</div><div class='add'>+    return nd_type(node) == NODE_HASH &amp;&amp; (node-&gt;nd_brace &amp; HASH_BRACE) != HASH_BRACE;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+compile_keyword_arg(rb_iseq_t *iseq, LINK_ANCHOR *const ret,</div><div class='add'>+			  const NODE *const root_node,</div><div class='add'>+			  struct rb_callinfo_kwarg **const kw_arg_ptr,</div><div class='add'>+			  unsigned int *flag)</div><div class='add'>+{</div><div class='add'>+    if (kw_arg_ptr == NULL) return FALSE;</div><div class='add'>+</div><div class='add'>+    if (root_node-&gt;nd_head &amp;&amp; nd_type(root_node-&gt;nd_head) == NODE_LIST) {</div><div class='add'>+	const NODE *node = root_node-&gt;nd_head;</div><div class='add'>+        int seen_nodes = 0;</div><div class='add'>+</div><div class='add'>+	while (node) {</div><div class='add'>+	    const NODE *key_node = node-&gt;nd_head;</div><div class='add'>+            seen_nodes++;</div><div class='add'>+</div><div class='add'>+	    assert(nd_type(node) == NODE_LIST);</div><div class='add'>+            if (key_node &amp;&amp; nd_type(key_node) == NODE_LIT &amp;&amp; RB_TYPE_P(key_node-&gt;nd_lit, T_SYMBOL)) {</div><div class='add'>+		/* can be keywords */</div><div class='add'>+	    }</div><div class='add'>+	    else {</div><div class='add'>+                if (flag) {</div><div class='add'>+                    *flag |= VM_CALL_KW_SPLAT;</div><div class='add'>+                    if (seen_nodes &gt; 1 || node-&gt;nd_next-&gt;nd_next) {</div><div class='add'>+                        /* A new hash will be created for the keyword arguments</div><div class='add'>+                         * in this case, so mark the method as passing mutable</div><div class='add'>+                         * keyword splat.</div><div class='add'>+                         */</div><div class='add'>+                        *flag |= VM_CALL_KW_SPLAT_MUT;</div><div class='add'>+                    }</div><div class='add'>+                }</div><div class='add'>+		return FALSE;</div><div class='add'>+	    }</div><div class='add'>+	    node = node-&gt;nd_next; /* skip value node */</div><div class='add'>+	    node = node-&gt;nd_next;</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+	/* may be keywords */</div><div class='add'>+	node = root_node-&gt;nd_head;</div><div class='add'>+	{</div><div class='add'>+	    int len = (int)node-&gt;nd_alen / 2;</div><div class='add'>+            struct rb_callinfo_kwarg *kw_arg =</div><div class='add'>+                rb_xmalloc_mul_add(len, sizeof(VALUE), sizeof(struct rb_callinfo_kwarg));</div><div class='add'>+	    VALUE *keywords = kw_arg-&gt;keywords;</div><div class='add'>+	    int i = 0;</div><div class='add'>+	    kw_arg-&gt;keyword_len = len;</div><div class='add'>+</div><div class='add'>+	    *kw_arg_ptr = kw_arg;</div><div class='add'>+</div><div class='add'>+	    for (i=0; node != NULL; i++, node = node-&gt;nd_next-&gt;nd_next) {</div><div class='add'>+		const NODE *key_node = node-&gt;nd_head;</div><div class='add'>+		const NODE *val_node = node-&gt;nd_next-&gt;nd_head;</div><div class='add'>+		keywords[i] = key_node-&gt;nd_lit;</div><div class='add'>+                NO_CHECK(COMPILE(ret, "keyword values", val_node));</div><div class='add'>+	    }</div><div class='add'>+	    assert(i == len);</div><div class='add'>+	    return TRUE;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    return FALSE;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+compile_args(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *node,</div><div class='add'>+                   struct rb_callinfo_kwarg **keywords_ptr, unsigned int *flag)</div><div class='add'>+{</div><div class='add'>+    int len = 0;</div><div class='add'>+</div><div class='add'>+    for (; node; len++, node = node-&gt;nd_next) {</div><div class='add'>+        if (CPDEBUG &gt; 0) {</div><div class='add'>+            EXPECT_NODE("compile_args", node, NODE_LIST, -1);</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        if (node-&gt;nd_next == NULL &amp;&amp; keyword_node_p(node-&gt;nd_head)) { /* last node */</div><div class='add'>+            if (compile_keyword_arg(iseq, ret, node-&gt;nd_head, keywords_ptr, flag)) {</div><div class='add'>+                len--;</div><div class='add'>+            }</div><div class='add'>+            else {</div><div class='add'>+                compile_hash(iseq, ret, node-&gt;nd_head, TRUE, FALSE);</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            NO_CHECK(COMPILE_(ret, "array element", node-&gt;nd_head, FALSE));</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return len;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static inline int</div><div class='add'>+static_literal_node_p(const NODE *node, const rb_iseq_t *iseq)</div><div class='add'>+{</div><div class='add'>+    node = node-&gt;nd_head;</div><div class='add'>+    switch (nd_type(node)) {</div><div class='add'>+      case NODE_LIT:</div><div class='add'>+      case NODE_NIL:</div><div class='add'>+      case NODE_TRUE:</div><div class='add'>+      case NODE_FALSE:</div><div class='add'>+	return TRUE;</div><div class='add'>+      case NODE_STR:</div><div class='add'>+        return ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;frozen_string_literal;</div><div class='add'>+      default:</div><div class='add'>+	return FALSE;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static inline VALUE</div><div class='add'>+static_literal_value(const NODE *node, rb_iseq_t *iseq)</div><div class='add'>+{</div><div class='add'>+    node = node-&gt;nd_head;</div><div class='add'>+    switch (nd_type(node)) {</div><div class='add'>+      case NODE_NIL:</div><div class='add'>+	return Qnil;</div><div class='add'>+      case NODE_TRUE:</div><div class='add'>+	return Qtrue;</div><div class='add'>+      case NODE_FALSE:</div><div class='add'>+	return Qfalse;</div><div class='add'>+      case NODE_STR:</div><div class='add'>+        if (ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;debug_frozen_string_literal || RTEST(ruby_debug)) {</div><div class='add'>+            VALUE lit;</div><div class='add'>+            VALUE debug_info = rb_ary_new_from_args(2, rb_iseq_path(iseq), INT2FIX((int)nd_line(node)));</div><div class='add'>+            lit = rb_str_dup(node-&gt;nd_lit);</div><div class='add'>+            rb_ivar_set(lit, id_debug_created_info, rb_obj_freeze(debug_info));</div><div class='add'>+            return rb_str_freeze(lit);</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            return rb_fstring(node-&gt;nd_lit);</div><div class='add'>+        }</div><div class='add'>+      default:</div><div class='add'>+	return node-&gt;nd_lit;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+compile_array(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *node, int popped)</div><div class='add'>+{</div><div class='add'>+    int line = (int)nd_line(node);</div><div class='add'>+</div><div class='add'>+    if (nd_type(node) == NODE_ZLIST) {</div><div class='add'>+	if (!popped) {</div><div class='add'>+	    ADD_INSN1(ret, line, newarray, INT2FIX(0));</div><div class='add'>+	}</div><div class='add'>+        return 0;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    EXPECT_NODE("compile_array", node, NODE_LIST, -1);</div><div class='add'>+</div><div class='add'>+    if (popped) {</div><div class='add'>+        for (; node; node = node-&gt;nd_next) {</div><div class='add'>+            NO_CHECK(COMPILE_(ret, "array element", node-&gt;nd_head, popped));</div><div class='add'>+        }</div><div class='add'>+        return 1;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    /* Compilation of an array literal.</div><div class='add'>+     * The following code is essentially the same as:</div><div class='add'>+     *</div><div class='add'>+     *     for (int count = 0; node; count++; node-&gt;nd_next) {</div><div class='add'>+     *         compile(node-&gt;nd_head);</div><div class='add'>+     *     }</div><div class='add'>+     *     ADD_INSN(newarray, count);</div><div class='add'>+     *</div><div class='add'>+     * However, there are three points.</div><div class='add'>+     *</div><div class='add'>+     * - The code above causes stack overflow for a big string literal.</div><div class='add'>+     *   The following limits the stack length up to max_stack_len.</div><div class='add'>+     *</div><div class='add'>+     *   [x1,x2,...,x10000] =&gt;</div><div class='add'>+     *     push x1  ; push x2  ; ...; push x256; newarray 256;</div><div class='add'>+     *     push x257; push x258; ...; push x512; newarray 256; concatarray;</div><div class='add'>+     *     push x513; push x514; ...; push x768; newarray 256; concatarray;</div><div class='add'>+     *     ...</div><div class='add'>+     *</div><div class='add'>+     * - Long subarray can be optimized by pre-allocating a hidden array.</div><div class='add'>+     *</div><div class='add'>+     *   [1,2,3,...,100] =&gt;</div><div class='add'>+     *     duparray [1,2,3,...,100]</div><div class='add'>+     *</div><div class='add'>+     *   [x, 1,2,3,...,100, z] =&gt;</div><div class='add'>+     *     push x; newarray 1;</div><div class='add'>+     *     putobject [1,2,3,...,100] (&lt;- hidden array); concatarray;</div><div class='add'>+     *     push z; newarray 1; concatarray</div><div class='add'>+     *</div><div class='add'>+     * - If the last element is a keyword, newarraykwsplat should be emitted</div><div class='add'>+     *   to check and remove empty keyword arguments hash from array.</div><div class='add'>+     *   (Note: a keyword is NODE_HASH which is not static_literal_node_p.)</div><div class='add'>+     *</div><div class='add'>+     *   [1,2,3,**kw] =&gt;</div><div class='add'>+     *     putobject 1; putobject 2; putobject 3; push kw; newarraykwsplat</div><div class='add'>+     */</div><div class='add'>+</div><div class='add'>+    const int max_stack_len = 0x100;</div><div class='add'>+    const int min_tmp_ary_len = 0x40;</div><div class='add'>+    int stack_len = 0;</div><div class='add'>+    int first_chunk = 1;</div><div class='add'>+</div><div class='add'>+    /* Convert pushed elements to an array, and concatarray if needed */</div><div class='add'>+#define FLUSH_CHUNK(newarrayinsn)                               \</div><div class='add'>+    if (stack_len) {                                            \</div><div class='add'>+        ADD_INSN1(ret, line, newarrayinsn, INT2FIX(stack_len)); \</div><div class='add'>+        if (!first_chunk) ADD_INSN(ret, line, concatarray);     \</div><div class='add'>+        first_chunk = stack_len = 0;                            \</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    while (node) {</div><div class='add'>+        int count = 1;</div><div class='add'>+</div><div class='add'>+        /* pre-allocation check (this branch can be omittable) */</div><div class='add'>+        if (static_literal_node_p(node, iseq)) {</div><div class='add'>+            /* count the elements that are optimizable */</div><div class='add'>+            const NODE *node_tmp = node-&gt;nd_next;</div><div class='add'>+            for (; node_tmp &amp;&amp; static_literal_node_p(node_tmp, iseq); node_tmp = node_tmp-&gt;nd_next)</div><div class='add'>+                count++;</div><div class='add'>+</div><div class='add'>+            if ((first_chunk &amp;&amp; stack_len == 0 &amp;&amp; !node_tmp) || count &gt;= min_tmp_ary_len) {</div><div class='add'>+                /* The literal contains only optimizable elements, or the subarray is long enough */</div><div class='add'>+                VALUE ary = rb_ary_tmp_new(count);</div><div class='add'>+</div><div class='add'>+                /* Create a hidden array */</div><div class='add'>+                for (; count; count--, node = node-&gt;nd_next)</div><div class='add'>+                    rb_ary_push(ary, static_literal_value(node, iseq));</div><div class='add'>+                OBJ_FREEZE(ary);</div><div class='add'>+</div><div class='add'>+                /* Emit optimized code */</div><div class='add'>+                FLUSH_CHUNK(newarray);</div><div class='add'>+                if (first_chunk) {</div><div class='add'>+                    ADD_INSN1(ret, line, duparray, ary);</div><div class='add'>+                    first_chunk = 0;</div><div class='add'>+                }</div><div class='add'>+                else {</div><div class='add'>+                    ADD_INSN1(ret, line, putobject, ary);</div><div class='add'>+                    ADD_INSN(ret, line, concatarray);</div><div class='add'>+                }</div><div class='add'>+                RB_OBJ_WRITTEN(iseq, Qundef, ary);</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        /* Base case: Compile "count" elements */</div><div class='add'>+        for (; count; count--, node = node-&gt;nd_next) {</div><div class='add'>+            if (CPDEBUG &gt; 0) {</div><div class='add'>+                EXPECT_NODE("compile_array", node, NODE_LIST, -1);</div><div class='add'>+            }</div><div class='add'>+</div><div class='add'>+            NO_CHECK(COMPILE_(ret, "array element", node-&gt;nd_head, 0));</div><div class='add'>+            stack_len++;</div><div class='add'>+</div><div class='add'>+            if (!node-&gt;nd_next &amp;&amp; keyword_node_p(node-&gt;nd_head)) {</div><div class='add'>+                /* Reached the end, and the last element is a keyword */</div><div class='add'>+                FLUSH_CHUNK(newarraykwsplat);</div><div class='add'>+                return 1;</div><div class='add'>+            }</div><div class='add'>+</div><div class='add'>+            /* If there are many pushed elements, flush them to avoid stack overflow */</div><div class='add'>+            if (stack_len &gt;= max_stack_len) FLUSH_CHUNK(newarray);</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    FLUSH_CHUNK(newarray);</div><div class='add'>+#undef FLUSH_CHUNK</div><div class='add'>+    return 1;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static inline int</div><div class='add'>+static_literal_node_pair_p(const NODE *node, const rb_iseq_t *iseq)</div><div class='add'>+{</div><div class='add'>+    return node-&gt;nd_head &amp;&amp; static_literal_node_p(node, iseq) &amp;&amp; static_literal_node_p(node-&gt;nd_next, iseq);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+compile_hash(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *node, int method_call_keywords, int popped)</div><div class='add'>+{</div><div class='add'>+    int line = (int)nd_line(node);</div><div class='add'>+</div><div class='add'>+    node = node-&gt;nd_head;</div><div class='add'>+</div><div class='add'>+    if (!node || nd_type(node) == NODE_ZLIST) {</div><div class='add'>+	if (!popped) {</div><div class='add'>+	    ADD_INSN1(ret, line, newhash, INT2FIX(0));</div><div class='add'>+	}</div><div class='add'>+        return 0;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    EXPECT_NODE("compile_hash", node, NODE_LIST, -1);</div><div class='add'>+</div><div class='add'>+    if (popped) {</div><div class='add'>+        for (; node; node = node-&gt;nd_next) {</div><div class='add'>+            NO_CHECK(COMPILE_(ret, "hash element", node-&gt;nd_head, popped));</div><div class='add'>+        }</div><div class='add'>+        return 1;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    /* Compilation of a hash literal (or keyword arguments).</div><div class='add'>+     * This is very similar to compile_array, but there are some differences:</div><div class='add'>+     *</div><div class='add'>+     * - It contains key-value pairs.  So we need to take every two elements.</div><div class='add'>+     *   We can assume that the length is always even.</div><div class='add'>+     *</div><div class='add'>+     * - Merging is done by a method call (id_core_hash_merge_ptr).</div><div class='add'>+     *   Sometimes we need to insert the receiver, so "anchor" is needed.</div><div class='add'>+     *   In addition, a method call is much slower than concatarray.</div><div class='add'>+     *   So it pays only when the subsequence is really long.</div><div class='add'>+     *   (min_tmp_hash_len must be much larger than min_tmp_ary_len.)</div><div class='add'>+     *</div><div class='add'>+     * - We need to handle keyword splat: **kw.</div><div class='add'>+     *   For **kw, the key part (node-&gt;nd_head) is NULL, and the value part</div><div class='add'>+     *   (node-&gt;nd_next-&gt;nd_head) is "kw".</div><div class='add'>+     *   The code is a bit difficult to avoid hash allocation for **{}.</div><div class='add'>+     */</div><div class='add'>+</div><div class='add'>+    const int max_stack_len = 0x100;</div><div class='add'>+    const int min_tmp_hash_len = 0x800;</div><div class='add'>+    int stack_len = 0;</div><div class='add'>+    int first_chunk = 1;</div><div class='add'>+    DECL_ANCHOR(anchor);</div><div class='add'>+    INIT_ANCHOR(anchor);</div><div class='add'>+</div><div class='add'>+    /* Convert pushed elements to a hash, and merge if needed */</div><div class='add'>+#define FLUSH_CHUNK()                                                                   \</div><div class='add'>+    if (stack_len) {                                                                    \</div><div class='add'>+        if (first_chunk) {                                                              \</div><div class='add'>+            APPEND_LIST(ret, anchor);                                                   \</div><div class='add'>+            ADD_INSN1(ret, line, newhash, INT2FIX(stack_len));                          \</div><div class='add'>+        }                                                                               \</div><div class='add'>+        else {                                                                          \</div><div class='add'>+            ADD_INSN1(ret, line, putspecialobject, INT2FIX(VM_SPECIAL_OBJECT_VMCORE));  \</div><div class='add'>+            ADD_INSN(ret, line, swap);                                                  \</div><div class='add'>+            APPEND_LIST(ret, anchor);                                                   \</div><div class='add'>+            ADD_SEND(ret, line, id_core_hash_merge_ptr, INT2FIX(stack_len + 1));        \</div><div class='add'>+        }                                                                               \</div><div class='add'>+        INIT_ANCHOR(anchor);                                                            \</div><div class='add'>+        first_chunk = stack_len = 0;                                                    \</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    while (node) {</div><div class='add'>+        int count = 1;</div><div class='add'>+</div><div class='add'>+        /* pre-allocation check (this branch can be omittable) */</div><div class='add'>+        if (static_literal_node_pair_p(node, iseq)) {</div><div class='add'>+            /* count the elements that are optimizable */</div><div class='add'>+            const NODE *node_tmp = node-&gt;nd_next-&gt;nd_next;</div><div class='add'>+            for (; node_tmp &amp;&amp; static_literal_node_pair_p(node_tmp, iseq); node_tmp = node_tmp-&gt;nd_next-&gt;nd_next)</div><div class='add'>+                count++;</div><div class='add'>+</div><div class='add'>+            if ((first_chunk &amp;&amp; stack_len == 0 &amp;&amp; !node_tmp) || count &gt;= min_tmp_hash_len) {</div><div class='add'>+                /* The literal contains only optimizable elements, or the subsequence is long enough */</div><div class='add'>+                VALUE ary = rb_ary_tmp_new(count);</div><div class='add'>+</div><div class='add'>+                /* Create a hidden hash */</div><div class='add'>+                for (; count; count--, node = node-&gt;nd_next-&gt;nd_next) {</div><div class='add'>+                    VALUE elem[2];</div><div class='add'>+                    elem[0] = static_literal_value(node, iseq);</div><div class='add'>+                    elem[1] = static_literal_value(node-&gt;nd_next, iseq);</div><div class='add'>+                    rb_ary_cat(ary, elem, 2);</div><div class='add'>+                }</div><div class='add'>+                VALUE hash = rb_hash_new_with_size(RARRAY_LEN(ary) / 2);</div><div class='add'>+                rb_hash_bulk_insert(RARRAY_LEN(ary), RARRAY_CONST_PTR_TRANSIENT(ary), hash);</div><div class='add'>+                hash = rb_obj_hide(hash);</div><div class='add'>+                OBJ_FREEZE(hash);</div><div class='add'>+</div><div class='add'>+                /* Emit optimized code */</div><div class='add'>+                FLUSH_CHUNK();</div><div class='add'>+                if (first_chunk) {</div><div class='add'>+                    ADD_INSN1(ret, line, duphash, hash);</div><div class='add'>+                    first_chunk = 0;</div><div class='add'>+                }</div><div class='add'>+                else {</div><div class='add'>+                    ADD_INSN1(ret, line, putspecialobject, INT2FIX(VM_SPECIAL_OBJECT_VMCORE));</div><div class='add'>+                    ADD_INSN(ret, line, swap);</div><div class='add'>+</div><div class='add'>+                    ADD_INSN1(ret, line, putobject, hash);</div><div class='add'>+</div><div class='add'>+                    ADD_SEND(ret, line, id_core_hash_merge_kwd, INT2FIX(2));</div><div class='add'>+                }</div><div class='add'>+                RB_OBJ_WRITTEN(iseq, Qundef, hash);</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        /* Base case: Compile "count" elements */</div><div class='add'>+        for (; count; count--, node = node-&gt;nd_next-&gt;nd_next) {</div><div class='add'>+</div><div class='add'>+            if (CPDEBUG &gt; 0) {</div><div class='add'>+                EXPECT_NODE("compile_hash", node, NODE_LIST, -1);</div><div class='add'>+            }</div><div class='add'>+</div><div class='add'>+            if (node-&gt;nd_head) {</div><div class='add'>+                /* Normal key-value pair */</div><div class='add'>+                NO_CHECK(COMPILE_(anchor, "hash key element", node-&gt;nd_head, 0));</div><div class='add'>+                NO_CHECK(COMPILE_(anchor, "hash value element", node-&gt;nd_next-&gt;nd_head, 0));</div><div class='add'>+                stack_len += 2;</div><div class='add'>+</div><div class='add'>+                /* If there are many pushed elements, flush them to avoid stack overflow */</div><div class='add'>+                if (stack_len &gt;= max_stack_len) FLUSH_CHUNK();</div><div class='add'>+            }</div><div class='add'>+            else {</div><div class='add'>+                /* kwsplat case: foo(..., **kw, ...) */</div><div class='add'>+                FLUSH_CHUNK();</div><div class='add'>+</div><div class='add'>+                const NODE *kw = node-&gt;nd_next-&gt;nd_head;</div><div class='add'>+                int empty_kw = nd_type(kw) == NODE_LIT &amp;&amp; RB_TYPE_P(kw-&gt;nd_lit, T_HASH); /* foo(  ..., **{}, ...) */</div><div class='add'>+                int first_kw = first_chunk &amp;&amp; stack_len == 0; /* foo(1,2,3, **kw, ...) */</div><div class='add'>+                int last_kw = !node-&gt;nd_next-&gt;nd_next;        /* foo(  ..., **kw) */</div><div class='add'>+                int only_kw = last_kw &amp;&amp; first_kw;            /* foo(1,2,3, **kw) */</div><div class='add'>+</div><div class='add'>+                if (empty_kw) {</div><div class='add'>+                    if (only_kw &amp;&amp; method_call_keywords) {</div><div class='add'>+                        /* **{} appears at the only keyword argument in method call,</div><div class='add'>+                         * so it won't be modified.</div><div class='add'>+                         * kw is a special NODE_LIT that contains a special empty hash,</div><div class='add'>+                         * so this emits: putobject {}.</div><div class='add'>+                         * This is only done for method calls and not for literal hashes,</div><div class='add'>+                         * because literal hashes should always result in a new hash.</div><div class='add'>+                         */</div><div class='add'>+                        NO_CHECK(COMPILE(ret, "keyword splat", kw));</div><div class='add'>+                    }</div><div class='add'>+                    else if (first_kw) {</div><div class='add'>+                        /* **{} appears as the first keyword argument, so it may be modified.</div><div class='add'>+                         * We need to create a fresh hash object.</div><div class='add'>+                         */</div><div class='add'>+                        ADD_INSN1(ret, line, newhash, INT2FIX(0));</div><div class='add'>+                    }</div><div class='add'>+                    /* Any empty keyword splats that are not the first can be ignored.</div><div class='add'>+                     * since merging an empty hash into the existing hash is the same</div><div class='add'>+                     * as not merging it. */</div><div class='add'>+                }</div><div class='add'>+                else {</div><div class='add'>+                    if (only_kw &amp;&amp; method_call_keywords) {</div><div class='add'>+                        /* **kw is only keyword argument in method call.</div><div class='add'>+                         * Use directly.  This will be not be flagged as mutable.</div><div class='add'>+                         * This is only done for method calls and not for literal hashes,</div><div class='add'>+                         * because literal hashes should always result in a new hash.</div><div class='add'>+                         */</div><div class='add'>+                        NO_CHECK(COMPILE(ret, "keyword splat", kw));</div><div class='add'>+                    }</div><div class='add'>+                    else {</div><div class='add'>+                        /* There is more than one keyword argument, or this is not a method</div><div class='add'>+                         * call.  In that case, we need to add an empty hash (if first keyword),</div><div class='add'>+                         * or merge the hash to the accumulated hash (if not the first keyword).</div><div class='add'>+                         */</div><div class='add'>+                        ADD_INSN1(ret, line, putspecialobject, INT2FIX(VM_SPECIAL_OBJECT_VMCORE));</div><div class='add'>+                        if (first_kw) ADD_INSN1(ret, line, newhash, INT2FIX(0));</div><div class='add'>+                        else ADD_INSN(ret, line, swap);</div><div class='add'>+</div><div class='add'>+                        NO_CHECK(COMPILE(ret, "keyword splat", kw));</div><div class='add'>+</div><div class='add'>+                        ADD_SEND(ret, line, id_core_hash_merge_kwd, INT2FIX(2));</div><div class='add'>+                    }</div><div class='add'>+                }</div><div class='add'>+</div><div class='add'>+                first_chunk = 0;</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    FLUSH_CHUNK();</div><div class='add'>+#undef FLUSH_CHUNK</div><div class='add'>+    return 1;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_node_case_when_optimizable_literal(const NODE *const node)</div><div class='add'>+{</div><div class='add'>+    switch (nd_type(node)) {</div><div class='add'>+      case NODE_LIT: {</div><div class='add'>+	VALUE v = node-&gt;nd_lit;</div><div class='add'>+	double ival;</div><div class='add'>+	if (RB_TYPE_P(v, T_FLOAT) &amp;&amp;</div><div class='add'>+	    modf(RFLOAT_VALUE(v), &amp;ival) == 0.0) {</div><div class='add'>+	    return FIXABLE(ival) ? LONG2FIX((long)ival) : rb_dbl2big(ival);</div><div class='add'>+	}</div><div class='add'>+	if (SYMBOL_P(v) || rb_obj_is_kind_of(v, rb_cNumeric)) {</div><div class='add'>+	    return v;</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_NIL:</div><div class='add'>+	return Qnil;</div><div class='add'>+      case NODE_TRUE:</div><div class='add'>+	return Qtrue;</div><div class='add'>+      case NODE_FALSE:</div><div class='add'>+	return Qfalse;</div><div class='add'>+      case NODE_STR:</div><div class='add'>+	return rb_fstring(node-&gt;nd_lit);</div><div class='add'>+    }</div><div class='add'>+    return Qundef;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+when_vals(rb_iseq_t *iseq, LINK_ANCHOR *const cond_seq, const NODE *vals,</div><div class='add'>+	  LABEL *l1, int only_special_literals, VALUE literals)</div><div class='add'>+{</div><div class='add'>+    while (vals) {</div><div class='add'>+	const NODE *val = vals-&gt;nd_head;</div><div class='add'>+        VALUE lit = rb_node_case_when_optimizable_literal(val);</div><div class='add'>+</div><div class='add'>+	if (lit == Qundef) {</div><div class='add'>+	    only_special_literals = 0;</div><div class='add'>+	}</div><div class='add'>+        else if (NIL_P(rb_hash_lookup(literals, lit))) {</div><div class='add'>+            rb_hash_aset(literals, lit, (VALUE)(l1) | 1);</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+	ADD_INSN(cond_seq, nd_line(val), dup); /* dup target */</div><div class='add'>+</div><div class='add'>+	if (nd_type(val) == NODE_STR) {</div><div class='add'>+	    debugp_param("nd_lit", val-&gt;nd_lit);</div><div class='add'>+	    lit = rb_fstring(val-&gt;nd_lit);</div><div class='add'>+	    ADD_INSN1(cond_seq, nd_line(val), putobject, lit);</div><div class='add'>+            RB_OBJ_WRITTEN(iseq, Qundef, lit);</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    if (!COMPILE(cond_seq, "when cond", val)) return -1;</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+	ADD_INSN1(cond_seq, nd_line(vals), checkmatch, INT2FIX(VM_CHECKMATCH_TYPE_CASE));</div><div class='add'>+	ADD_INSNL(cond_seq, nd_line(val), branchif, l1);</div><div class='add'>+	vals = vals-&gt;nd_next;</div><div class='add'>+    }</div><div class='add'>+    return only_special_literals;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+when_splat_vals(rb_iseq_t *iseq, LINK_ANCHOR *const cond_seq, const NODE *vals,</div><div class='add'>+                LABEL *l1, int only_special_literals, VALUE literals)</div><div class='add'>+{</div><div class='add'>+    const int line = nd_line(vals);</div><div class='add'>+</div><div class='add'>+    switch (nd_type(vals)) {</div><div class='add'>+      case NODE_LIST:</div><div class='add'>+        if (when_vals(iseq, cond_seq, vals, l1, only_special_literals, literals) &lt; 0)</div><div class='add'>+            return COMPILE_NG;</div><div class='add'>+        break;</div><div class='add'>+      case NODE_SPLAT:</div><div class='add'>+        ADD_INSN (cond_seq, line, dup);</div><div class='add'>+        CHECK(COMPILE(cond_seq, "when splat", vals-&gt;nd_head));</div><div class='add'>+        ADD_INSN1(cond_seq, line, splatarray, Qfalse);</div><div class='add'>+        ADD_INSN1(cond_seq, line, checkmatch, INT2FIX(VM_CHECKMATCH_TYPE_CASE | VM_CHECKMATCH_ARRAY));</div><div class='add'>+        ADD_INSNL(cond_seq, line, branchif, l1);</div><div class='add'>+        break;</div><div class='add'>+      case NODE_ARGSCAT:</div><div class='add'>+        CHECK(when_splat_vals(iseq, cond_seq, vals-&gt;nd_head, l1, only_special_literals, literals));</div><div class='add'>+        CHECK(when_splat_vals(iseq, cond_seq, vals-&gt;nd_body, l1, only_special_literals, literals));</div><div class='add'>+        break;</div><div class='add'>+      case NODE_ARGSPUSH:</div><div class='add'>+        CHECK(when_splat_vals(iseq, cond_seq, vals-&gt;nd_head, l1, only_special_literals, literals));</div><div class='add'>+        ADD_INSN (cond_seq, line, dup);</div><div class='add'>+        CHECK(COMPILE(cond_seq, "when argspush body", vals-&gt;nd_body));</div><div class='add'>+        ADD_INSN1(cond_seq, line, checkmatch, INT2FIX(VM_CHECKMATCH_TYPE_CASE));</div><div class='add'>+        ADD_INSNL(cond_seq, line, branchif, l1);</div><div class='add'>+        break;</div><div class='add'>+      default:</div><div class='add'>+        ADD_INSN (cond_seq, line, dup);</div><div class='add'>+        CHECK(COMPILE(cond_seq, "when val", vals));</div><div class='add'>+        ADD_INSN1(cond_seq, line, splatarray, Qfalse);</div><div class='add'>+        ADD_INSN1(cond_seq, line, checkmatch, INT2FIX(VM_CHECKMATCH_TYPE_CASE | VM_CHECKMATCH_ARRAY));</div><div class='add'>+        ADD_INSNL(cond_seq, line, branchif, l1);</div><div class='add'>+        break;</div><div class='add'>+    }</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+compile_massign_lhs(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node)</div><div class='add'>+{</div><div class='add'>+    switch (nd_type(node)) {</div><div class='add'>+      case NODE_ATTRASGN: {</div><div class='add'>+	INSN *iobj;</div><div class='add'>+	VALUE dupidx;</div><div class='add'>+	int line = nd_line(node);</div><div class='add'>+</div><div class='add'>+	CHECK(COMPILE_POPPED(ret, "masgn lhs (NODE_ATTRASGN)", node));</div><div class='add'>+</div><div class='add'>+	iobj = (INSN *)get_prev_insn((INSN *)LAST_ELEMENT(ret)); /* send insn */</div><div class='add'>+        const struct rb_callinfo *ci = (struct rb_callinfo *)OPERAND_AT(iobj, 0);</div><div class='add'>+        int argc = vm_ci_argc(ci) + 1;</div><div class='add'>+        ci = ci_argc_set(iseq, ci, argc);</div><div class='add'>+        OPERAND_AT(iobj, 0) = (VALUE)ci;</div><div class='add'>+        RB_OBJ_WRITTEN(iseq, Qundef, ci);</div><div class='add'>+        dupidx = INT2FIX(argc);</div><div class='add'>+</div><div class='add'>+	INSERT_BEFORE_INSN1(iobj, line, topn, dupidx);</div><div class='add'>+	if (vm_ci_flag(ci) &amp; VM_CALL_ARGS_SPLAT) {</div><div class='add'>+            int argc = vm_ci_argc(ci);</div><div class='add'>+            ci = ci_argc_set(iseq, ci, argc - 1);</div><div class='add'>+            OPERAND_AT(iobj, 0) = (VALUE)ci;</div><div class='add'>+            RB_OBJ_WRITTEN(iseq, Qundef, iobj);</div><div class='add'>+            INSERT_BEFORE_INSN1(iobj, line, newarray, INT2FIX(1));</div><div class='add'>+	    INSERT_BEFORE_INSN(iobj, line, concatarray);</div><div class='add'>+	}</div><div class='add'>+	ADD_INSN(ret, line, pop);	/* result */</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_MASGN: {</div><div class='add'>+	DECL_ANCHOR(anchor);</div><div class='add'>+	INIT_ANCHOR(anchor);</div><div class='add'>+	CHECK(COMPILE_POPPED(anchor, "nest masgn lhs", node));</div><div class='add'>+	ELEM_REMOVE(FIRST_ELEMENT(anchor));</div><div class='add'>+	ADD_SEQ(ret, anchor);</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      default: {</div><div class='add'>+	DECL_ANCHOR(anchor);</div><div class='add'>+	INIT_ANCHOR(anchor);</div><div class='add'>+	CHECK(COMPILE_POPPED(anchor, "masgn lhs", node));</div><div class='add'>+	ELEM_REMOVE(FIRST_ELEMENT(anchor));</div><div class='add'>+	ADD_SEQ(ret, anchor);</div><div class='add'>+      }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+compile_massign_opt_lhs(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *lhsn)</div><div class='add'>+{</div><div class='add'>+    if (lhsn) {</div><div class='add'>+	CHECK(compile_massign_opt_lhs(iseq, ret, lhsn-&gt;nd_next));</div><div class='add'>+	CHECK(compile_massign_lhs(iseq, ret, lhsn-&gt;nd_head));</div><div class='add'>+    }</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+compile_massign_opt(rb_iseq_t *iseq, LINK_ANCHOR *const ret,</div><div class='add'>+		    const NODE *rhsn, const NODE *orig_lhsn)</div><div class='add'>+{</div><div class='add'>+    VALUE mem[64];</div><div class='add'>+    const int memsize = numberof(mem);</div><div class='add'>+    int memindex = 0;</div><div class='add'>+    int llen = 0, rlen = 0;</div><div class='add'>+    int i;</div><div class='add'>+    const NODE *lhsn = orig_lhsn;</div><div class='add'>+</div><div class='add'>+#define MEMORY(v) { \</div><div class='add'>+    int i; \</div><div class='add'>+    if (memindex == memsize) return 0; \</div><div class='add'>+    for (i=0; i&lt;memindex; i++) { \</div><div class='add'>+	if (mem[i] == (v)) return 0; \</div><div class='add'>+    } \</div><div class='add'>+    mem[memindex++] = (v); \</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+    if (rhsn == 0 || nd_type(rhsn) != NODE_LIST) {</div><div class='add'>+	return 0;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    while (lhsn) {</div><div class='add'>+	const NODE *ln = lhsn-&gt;nd_head;</div><div class='add'>+	switch (nd_type(ln)) {</div><div class='add'>+	  case NODE_LASGN:</div><div class='add'>+	    MEMORY(ln-&gt;nd_vid);</div><div class='add'>+	    break;</div><div class='add'>+	  case NODE_DASGN:</div><div class='add'>+	  case NODE_DASGN_CURR:</div><div class='add'>+	  case NODE_IASGN:</div><div class='add'>+	  case NODE_CVASGN:</div><div class='add'>+	    MEMORY(ln-&gt;nd_vid);</div><div class='add'>+	    break;</div><div class='add'>+	  default:</div><div class='add'>+	    return 0;</div><div class='add'>+	}</div><div class='add'>+	lhsn = lhsn-&gt;nd_next;</div><div class='add'>+	llen++;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    while (rhsn) {</div><div class='add'>+	if (llen &lt;= rlen) {</div><div class='add'>+            NO_CHECK(COMPILE_POPPED(ret, "masgn val (popped)", rhsn-&gt;nd_head));</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+            NO_CHECK(COMPILE(ret, "masgn val", rhsn-&gt;nd_head));</div><div class='add'>+	}</div><div class='add'>+	rhsn = rhsn-&gt;nd_next;</div><div class='add'>+	rlen++;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (llen &gt; rlen) {</div><div class='add'>+	for (i=0; i&lt;llen-rlen; i++) {</div><div class='add'>+	    ADD_INSN(ret, nd_line(orig_lhsn), putnil);</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    compile_massign_opt_lhs(iseq, ret, orig_lhsn);</div><div class='add'>+    return 1;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+adjust_stack(rb_iseq_t *iseq, LINK_ANCHOR *const ret, int line, int rlen, int llen)</div><div class='add'>+{</div><div class='add'>+    if (rlen &lt; llen) {</div><div class='add'>+	do {ADD_INSN(ret, line, putnil);} while (++rlen &lt; llen);</div><div class='add'>+    }</div><div class='add'>+    else if (rlen &gt; llen) {</div><div class='add'>+	do {ADD_INSN(ret, line, pop);} while (--rlen &gt; llen);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+compile_massign(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, int popped)</div><div class='add'>+{</div><div class='add'>+    const NODE *rhsn = node-&gt;nd_value;</div><div class='add'>+    const NODE *splatn = node-&gt;nd_args;</div><div class='add'>+    const NODE *lhsn = node-&gt;nd_head;</div><div class='add'>+    int lhs_splat = (splatn &amp;&amp; NODE_NAMED_REST_P(splatn)) ? 1 : 0;</div><div class='add'>+</div><div class='add'>+    if (!popped || splatn || !compile_massign_opt(iseq, ret, rhsn, lhsn)) {</div><div class='add'>+	int llen = 0;</div><div class='add'>+	int expand = 1;</div><div class='add'>+	DECL_ANCHOR(lhsseq);</div><div class='add'>+</div><div class='add'>+	INIT_ANCHOR(lhsseq);</div><div class='add'>+</div><div class='add'>+	while (lhsn) {</div><div class='add'>+	    CHECK(compile_massign_lhs(iseq, lhsseq, lhsn-&gt;nd_head));</div><div class='add'>+	    llen += 1;</div><div class='add'>+	    lhsn = lhsn-&gt;nd_next;</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+        NO_CHECK(COMPILE(ret, "normal masgn rhs", rhsn));</div><div class='add'>+</div><div class='add'>+	if (!popped) {</div><div class='add'>+	    ADD_INSN(ret, nd_line(node), dup);</div><div class='add'>+	}</div><div class='add'>+	else if (!lhs_splat) {</div><div class='add'>+	    INSN *last = (INSN*)ret-&gt;last;</div><div class='add'>+	    if (IS_INSN(&amp;last-&gt;link) &amp;&amp;</div><div class='add'>+		IS_INSN_ID(last, newarray) &amp;&amp;</div><div class='add'>+		last-&gt;operand_size == 1) {</div><div class='add'>+		int rlen = FIX2INT(OPERAND_AT(last, 0));</div><div class='add'>+		/* special case: assign to aset or attrset */</div><div class='add'>+		if (llen == 2) {</div><div class='add'>+		    POP_ELEMENT(ret);</div><div class='add'>+		    adjust_stack(iseq, ret, nd_line(node), rlen, llen);</div><div class='add'>+		    ADD_INSN(ret, nd_line(node), swap);</div><div class='add'>+		    expand = 0;</div><div class='add'>+		}</div><div class='add'>+		else if (llen &gt; 2 &amp;&amp; llen != rlen) {</div><div class='add'>+		    POP_ELEMENT(ret);</div><div class='add'>+		    adjust_stack(iseq, ret, nd_line(node), rlen, llen);</div><div class='add'>+		    ADD_INSN1(ret, nd_line(node), reverse, INT2FIX(llen));</div><div class='add'>+		    expand = 0;</div><div class='add'>+		}</div><div class='add'>+		else if (llen &gt; 2) {</div><div class='add'>+		    last-&gt;insn_id = BIN(reverse);</div><div class='add'>+		    expand = 0;</div><div class='add'>+		}</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+	if (expand) {</div><div class='add'>+	    ADD_INSN2(ret, nd_line(node), expandarray,</div><div class='add'>+		      INT2FIX(llen), INT2FIX(lhs_splat));</div><div class='add'>+	}</div><div class='add'>+	ADD_SEQ(ret, lhsseq);</div><div class='add'>+</div><div class='add'>+	if (lhs_splat) {</div><div class='add'>+	    if (nd_type(splatn) == NODE_POSTARG) {</div><div class='add'>+		/*a, b, *r, p1, p2 */</div><div class='add'>+		const NODE *postn = splatn-&gt;nd_2nd;</div><div class='add'>+		const NODE *restn = splatn-&gt;nd_1st;</div><div class='add'>+		int num = (int)postn-&gt;nd_alen;</div><div class='add'>+		int flag = 0x02 | (NODE_NAMED_REST_P(restn) ? 0x01 : 0x00);</div><div class='add'>+</div><div class='add'>+		ADD_INSN2(ret, nd_line(splatn), expandarray,</div><div class='add'>+			  INT2FIX(num), INT2FIX(flag));</div><div class='add'>+</div><div class='add'>+		if (NODE_NAMED_REST_P(restn)) {</div><div class='add'>+		    CHECK(compile_massign_lhs(iseq, ret, restn));</div><div class='add'>+		}</div><div class='add'>+		while (postn) {</div><div class='add'>+		    CHECK(compile_massign_lhs(iseq, ret, postn-&gt;nd_head));</div><div class='add'>+		    postn = postn-&gt;nd_next;</div><div class='add'>+		}</div><div class='add'>+	    }</div><div class='add'>+	    else {</div><div class='add'>+		/* a, b, *r */</div><div class='add'>+		CHECK(compile_massign_lhs(iseq, ret, splatn));</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+compile_const_prefix(rb_iseq_t *iseq, const NODE *const node,</div><div class='add'>+		     LINK_ANCHOR *const pref, LINK_ANCHOR *const body)</div><div class='add'>+{</div><div class='add'>+    switch (nd_type(node)) {</div><div class='add'>+      case NODE_CONST:</div><div class='add'>+	debugi("compile_const_prefix - colon", node-&gt;nd_vid);</div><div class='add'>+        ADD_INSN1(body, nd_line(node), putobject, Qtrue);</div><div class='add'>+        ADD_INSN1(body, nd_line(node), getconstant, ID2SYM(node-&gt;nd_vid));</div><div class='add'>+	break;</div><div class='add'>+      case NODE_COLON3:</div><div class='add'>+	debugi("compile_const_prefix - colon3", node-&gt;nd_mid);</div><div class='add'>+	ADD_INSN(body, nd_line(node), pop);</div><div class='add'>+	ADD_INSN1(body, nd_line(node), putobject, rb_cObject);</div><div class='add'>+        ADD_INSN1(body, nd_line(node), putobject, Qtrue);</div><div class='add'>+        ADD_INSN1(body, nd_line(node), getconstant, ID2SYM(node-&gt;nd_mid));</div><div class='add'>+	break;</div><div class='add'>+      case NODE_COLON2:</div><div class='add'>+	CHECK(compile_const_prefix(iseq, node-&gt;nd_head, pref, body));</div><div class='add'>+	debugi("compile_const_prefix - colon2", node-&gt;nd_mid);</div><div class='add'>+        ADD_INSN1(body, nd_line(node), putobject, Qfalse);</div><div class='add'>+        ADD_INSN1(body, nd_line(node), getconstant, ID2SYM(node-&gt;nd_mid));</div><div class='add'>+	break;</div><div class='add'>+      default:</div><div class='add'>+	CHECK(COMPILE(pref, "const colon2 prefix", node));</div><div class='add'>+	break;</div><div class='add'>+    }</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+compile_cpath(LINK_ANCHOR *const ret, rb_iseq_t *iseq, const NODE *cpath)</div><div class='add'>+{</div><div class='add'>+    if (nd_type(cpath) == NODE_COLON3) {</div><div class='add'>+	/* toplevel class ::Foo */</div><div class='add'>+	ADD_INSN1(ret, nd_line(cpath), putobject, rb_cObject);</div><div class='add'>+	return VM_DEFINECLASS_FLAG_SCOPED;</div><div class='add'>+    }</div><div class='add'>+    else if (cpath-&gt;nd_head) {</div><div class='add'>+	/* Bar::Foo */</div><div class='add'>+        NO_CHECK(COMPILE(ret, "nd_else-&gt;nd_head", cpath-&gt;nd_head));</div><div class='add'>+	return VM_DEFINECLASS_FLAG_SCOPED;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	/* class at cbase Foo */</div><div class='add'>+	ADD_INSN1(ret, nd_line(cpath), putspecialobject,</div><div class='add'>+		  INT2FIX(VM_SPECIAL_OBJECT_CONST_BASE));</div><div class='add'>+	return 0;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static inline int</div><div class='add'>+private_recv_p(const NODE *node)</div><div class='add'>+{</div><div class='add'>+    if (nd_type(node-&gt;nd_recv) == NODE_SELF) {</div><div class='add'>+        NODE *self = node-&gt;nd_recv;</div><div class='add'>+        return self-&gt;nd_state != 0;</div><div class='add'>+    }</div><div class='add'>+    return 0;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+defined_expr(rb_iseq_t *iseq, LINK_ANCHOR *const ret,</div><div class='add'>+	     const NODE *const node, LABEL **lfinish, VALUE needstr);</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+defined_expr0(rb_iseq_t *iseq, LINK_ANCHOR *const ret,</div><div class='add'>+	      const NODE *const node, LABEL **lfinish, VALUE needstr)</div><div class='add'>+{</div><div class='add'>+    enum defined_type expr_type = DEFINED_NOT_DEFINED;</div><div class='add'>+    enum node_type type;</div><div class='add'>+    const int line = nd_line(node);</div><div class='add'>+</div><div class='add'>+    switch (type = nd_type(node)) {</div><div class='add'>+</div><div class='add'>+	/* easy literals */</div><div class='add'>+      case NODE_NIL:</div><div class='add'>+	expr_type = DEFINED_NIL;</div><div class='add'>+	break;</div><div class='add'>+      case NODE_SELF:</div><div class='add'>+	expr_type = DEFINED_SELF;</div><div class='add'>+	break;</div><div class='add'>+      case NODE_TRUE:</div><div class='add'>+	expr_type = DEFINED_TRUE;</div><div class='add'>+	break;</div><div class='add'>+      case NODE_FALSE:</div><div class='add'>+	expr_type = DEFINED_FALSE;</div><div class='add'>+	break;</div><div class='add'>+</div><div class='add'>+      case NODE_LIST:{</div><div class='add'>+	const NODE *vals = node;</div><div class='add'>+</div><div class='add'>+	do {</div><div class='add'>+	    defined_expr0(iseq, ret, vals-&gt;nd_head, lfinish, Qfalse);</div><div class='add'>+</div><div class='add'>+	    if (!lfinish[1]) {</div><div class='add'>+                lfinish[1] = NEW_LABEL(line);</div><div class='add'>+	    }</div><div class='add'>+            ADD_INSNL(ret, line, branchunless, lfinish[1]);</div><div class='add'>+	} while ((vals = vals-&gt;nd_next) != NULL);</div><div class='add'>+      }</div><div class='add'>+        /* fall through */</div><div class='add'>+      case NODE_STR:</div><div class='add'>+      case NODE_LIT:</div><div class='add'>+      case NODE_ZLIST:</div><div class='add'>+      case NODE_AND:</div><div class='add'>+      case NODE_OR:</div><div class='add'>+      default:</div><div class='add'>+	expr_type = DEFINED_EXPR;</div><div class='add'>+	break;</div><div class='add'>+</div><div class='add'>+	/* variables */</div><div class='add'>+      case NODE_LVAR:</div><div class='add'>+      case NODE_DVAR:</div><div class='add'>+	expr_type = DEFINED_LVAR;</div><div class='add'>+	break;</div><div class='add'>+</div><div class='add'>+      case NODE_IVAR:</div><div class='add'>+        ADD_INSN(ret, line, putnil);</div><div class='add'>+        ADD_INSN3(ret, line, defined, INT2FIX(DEFINED_IVAR),</div><div class='add'>+		  ID2SYM(node-&gt;nd_vid), needstr);</div><div class='add'>+        return;</div><div class='add'>+</div><div class='add'>+      case NODE_GVAR:</div><div class='add'>+        ADD_INSN(ret, line, putnil);</div><div class='add'>+        ADD_INSN3(ret, line, defined, INT2FIX(DEFINED_GVAR),</div><div class='add'>+		  ID2SYM(node-&gt;nd_entry), needstr);</div><div class='add'>+        return;</div><div class='add'>+</div><div class='add'>+      case NODE_CVAR:</div><div class='add'>+        ADD_INSN(ret, line, putnil);</div><div class='add'>+        ADD_INSN3(ret, line, defined, INT2FIX(DEFINED_CVAR),</div><div class='add'>+		  ID2SYM(node-&gt;nd_vid), needstr);</div><div class='add'>+        return;</div><div class='add'>+</div><div class='add'>+      case NODE_CONST:</div><div class='add'>+        ADD_INSN(ret, line, putnil);</div><div class='add'>+        ADD_INSN3(ret, line, defined, INT2FIX(DEFINED_CONST),</div><div class='add'>+		  ID2SYM(node-&gt;nd_vid), needstr);</div><div class='add'>+        return;</div><div class='add'>+      case NODE_COLON2:</div><div class='add'>+	if (!lfinish[1]) {</div><div class='add'>+            lfinish[1] = NEW_LABEL(line);</div><div class='add'>+	}</div><div class='add'>+	defined_expr0(iseq, ret, node-&gt;nd_head, lfinish, Qfalse);</div><div class='add'>+        ADD_INSNL(ret, line, branchunless, lfinish[1]);</div><div class='add'>+        NO_CHECK(COMPILE(ret, "defined/colon2#nd_head", node-&gt;nd_head));</div><div class='add'>+</div><div class='add'>+        ADD_INSN3(ret, line, defined,</div><div class='add'>+		  (rb_is_const_id(node-&gt;nd_mid) ?</div><div class='add'>+		   INT2FIX(DEFINED_CONST_FROM) : INT2FIX(DEFINED_METHOD)),</div><div class='add'>+		  ID2SYM(node-&gt;nd_mid), needstr);</div><div class='add'>+        return;</div><div class='add'>+      case NODE_COLON3:</div><div class='add'>+        ADD_INSN1(ret, line, putobject, rb_cObject);</div><div class='add'>+        ADD_INSN3(ret, line, defined,</div><div class='add'>+		  INT2FIX(DEFINED_CONST_FROM), ID2SYM(node-&gt;nd_mid), needstr);</div><div class='add'>+        return;</div><div class='add'>+</div><div class='add'>+	/* method dispatch */</div><div class='add'>+      case NODE_CALL:</div><div class='add'>+      case NODE_OPCALL:</div><div class='add'>+      case NODE_VCALL:</div><div class='add'>+      case NODE_FCALL:</div><div class='add'>+      case NODE_ATTRASGN:{</div><div class='add'>+	const int explicit_receiver =</div><div class='add'>+	    (type == NODE_CALL || type == NODE_OPCALL ||</div><div class='add'>+	     (type == NODE_ATTRASGN &amp;&amp; !private_recv_p(node)));</div><div class='add'>+</div><div class='add'>+	if (!lfinish[1] &amp;&amp; (node-&gt;nd_args || explicit_receiver)) {</div><div class='add'>+            lfinish[1] = NEW_LABEL(line);</div><div class='add'>+	}</div><div class='add'>+	if (node-&gt;nd_args) {</div><div class='add'>+	    defined_expr0(iseq, ret, node-&gt;nd_args, lfinish, Qfalse);</div><div class='add'>+            ADD_INSNL(ret, line, branchunless, lfinish[1]);</div><div class='add'>+	}</div><div class='add'>+	if (explicit_receiver) {</div><div class='add'>+	    defined_expr0(iseq, ret, node-&gt;nd_recv, lfinish, Qfalse);</div><div class='add'>+            ADD_INSNL(ret, line, branchunless, lfinish[1]);</div><div class='add'>+            NO_CHECK(COMPILE(ret, "defined/recv", node-&gt;nd_recv));</div><div class='add'>+            ADD_INSN3(ret, line, defined, INT2FIX(DEFINED_METHOD),</div><div class='add'>+		      ID2SYM(node-&gt;nd_mid), needstr);</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+            ADD_INSN(ret, line, putself);</div><div class='add'>+            ADD_INSN3(ret, line, defined, INT2FIX(DEFINED_FUNC),</div><div class='add'>+		      ID2SYM(node-&gt;nd_mid), needstr);</div><div class='add'>+	}</div><div class='add'>+        return;</div><div class='add'>+      }</div><div class='add'>+</div><div class='add'>+      case NODE_YIELD:</div><div class='add'>+        ADD_INSN(ret, line, putnil);</div><div class='add'>+        ADD_INSN3(ret, line, defined, INT2FIX(DEFINED_YIELD), 0,</div><div class='add'>+		  needstr);</div><div class='add'>+        return;</div><div class='add'>+</div><div class='add'>+      case NODE_BACK_REF:</div><div class='add'>+      case NODE_NTH_REF:</div><div class='add'>+        ADD_INSN(ret, line, putnil);</div><div class='add'>+        ADD_INSN3(ret, line, defined, INT2FIX(DEFINED_REF),</div><div class='add'>+		  INT2FIX((node-&gt;nd_nth &lt;&lt; 1) | (type == NODE_BACK_REF)),</div><div class='add'>+		  needstr);</div><div class='add'>+        return;</div><div class='add'>+</div><div class='add'>+      case NODE_SUPER:</div><div class='add'>+      case NODE_ZSUPER:</div><div class='add'>+        ADD_INSN(ret, line, putnil);</div><div class='add'>+        ADD_INSN3(ret, line, defined, INT2FIX(DEFINED_ZSUPER), 0,</div><div class='add'>+		  needstr);</div><div class='add'>+        return;</div><div class='add'>+</div><div class='add'>+      case NODE_OP_ASGN1:</div><div class='add'>+      case NODE_OP_ASGN2:</div><div class='add'>+      case NODE_OP_ASGN_OR:</div><div class='add'>+      case NODE_OP_ASGN_AND:</div><div class='add'>+      case NODE_MASGN:</div><div class='add'>+      case NODE_LASGN:</div><div class='add'>+      case NODE_DASGN:</div><div class='add'>+      case NODE_DASGN_CURR:</div><div class='add'>+      case NODE_GASGN:</div><div class='add'>+      case NODE_IASGN:</div><div class='add'>+      case NODE_CDECL:</div><div class='add'>+      case NODE_CVASGN:</div><div class='add'>+	expr_type = DEFINED_ASGN;</div><div class='add'>+	break;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    assert(expr_type != DEFINED_NOT_DEFINED);</div><div class='add'>+</div><div class='add'>+    if (needstr != Qfalse) {</div><div class='add'>+        VALUE str = rb_iseq_defined_string(expr_type);</div><div class='add'>+        ADD_INSN1(ret, line, putobject, str);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        ADD_INSN1(ret, line, putobject, Qtrue);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+build_defined_rescue_iseq(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const void *unused)</div><div class='add'>+{</div><div class='add'>+    ADD_INSN(ret, 0, putnil);</div><div class='add'>+    iseq_set_exception_local_table(iseq);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+defined_expr(rb_iseq_t *iseq, LINK_ANCHOR *const ret,</div><div class='add'>+	     const NODE *const node, LABEL **lfinish, VALUE needstr)</div><div class='add'>+{</div><div class='add'>+    LINK_ELEMENT *lcur = ret-&gt;last;</div><div class='add'>+    defined_expr0(iseq, ret, node, lfinish, needstr);</div><div class='add'>+    if (lfinish[1]) {</div><div class='add'>+	int line = nd_line(node);</div><div class='add'>+	LABEL *lstart = NEW_LABEL(line);</div><div class='add'>+	LABEL *lend = NEW_LABEL(line);</div><div class='add'>+	const rb_iseq_t *rescue;</div><div class='add'>+        struct rb_iseq_new_with_callback_callback_func *ifunc =</div><div class='add'>+            rb_iseq_new_with_callback_new_callback(build_defined_rescue_iseq, NULL);</div><div class='add'>+        rescue = new_child_iseq_with_callback(iseq, ifunc,</div><div class='add'>+				      rb_str_concat(rb_str_new2("defined guard in "),</div><div class='add'>+						    iseq-&gt;body-&gt;location.label),</div><div class='add'>+				      iseq, ISEQ_TYPE_RESCUE, 0);</div><div class='add'>+	lstart-&gt;rescued = LABEL_RESCUE_BEG;</div><div class='add'>+	lend-&gt;rescued = LABEL_RESCUE_END;</div><div class='add'>+	APPEND_LABEL(ret, lcur, lstart);</div><div class='add'>+	ADD_LABEL(ret, lend);</div><div class='add'>+	ADD_CATCH_ENTRY(CATCH_TYPE_RESCUE, lstart, lend, rescue, lfinish[1]);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+compile_defined_expr(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, VALUE needstr)</div><div class='add'>+{</div><div class='add'>+    const int line = nd_line(node);</div><div class='add'>+    if (!node-&gt;nd_head) {</div><div class='add'>+	VALUE str = rb_iseq_defined_string(DEFINED_NIL);</div><div class='add'>+	ADD_INSN1(ret, line, putobject, str);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	LABEL *lfinish[2];</div><div class='add'>+	LINK_ELEMENT *last = ret-&gt;last;</div><div class='add'>+	lfinish[0] = NEW_LABEL(line);</div><div class='add'>+	lfinish[1] = 0;</div><div class='add'>+	defined_expr(iseq, ret, node-&gt;nd_head, lfinish, needstr);</div><div class='add'>+	if (lfinish[1]) {</div><div class='add'>+	    ELEM_INSERT_NEXT(last, &amp;new_insn_body(iseq, line, BIN(putnil), 0)-&gt;link);</div><div class='add'>+	    ADD_INSN(ret, line, swap);</div><div class='add'>+	    ADD_INSN(ret, line, pop);</div><div class='add'>+	    ADD_LABEL(ret, lfinish[1]);</div><div class='add'>+	}</div><div class='add'>+	ADD_LABEL(ret, lfinish[0]);</div><div class='add'>+    }</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+make_name_for_block(const rb_iseq_t *orig_iseq)</div><div class='add'>+{</div><div class='add'>+    int level = 1;</div><div class='add'>+    const rb_iseq_t *iseq = orig_iseq;</div><div class='add'>+</div><div class='add'>+    if (orig_iseq-&gt;body-&gt;parent_iseq != 0) {</div><div class='add'>+	while (orig_iseq-&gt;body-&gt;local_iseq != iseq) {</div><div class='add'>+	    if (iseq-&gt;body-&gt;type == ISEQ_TYPE_BLOCK) {</div><div class='add'>+		level++;</div><div class='add'>+	    }</div><div class='add'>+	    iseq = iseq-&gt;body-&gt;parent_iseq;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (level == 1) {</div><div class='add'>+	return rb_sprintf("block in %"PRIsVALUE, iseq-&gt;body-&gt;location.label);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	return rb_sprintf("block (%d levels) in %"PRIsVALUE, level, iseq-&gt;body-&gt;location.label);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+push_ensure_entry(rb_iseq_t *iseq,</div><div class='add'>+		  struct iseq_compile_data_ensure_node_stack *enl,</div><div class='add'>+		  struct ensure_range *er, const NODE *const node)</div><div class='add'>+{</div><div class='add'>+    enl-&gt;ensure_node = node;</div><div class='add'>+    enl-&gt;prev = ISEQ_COMPILE_DATA(iseq)-&gt;ensure_node_stack;	/* prev */</div><div class='add'>+    enl-&gt;erange = er;</div><div class='add'>+    ISEQ_COMPILE_DATA(iseq)-&gt;ensure_node_stack = enl;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+add_ensure_range(rb_iseq_t *iseq, struct ensure_range *erange,</div><div class='add'>+		 LABEL *lstart, LABEL *lend)</div><div class='add'>+{</div><div class='add'>+    struct ensure_range *ne =</div><div class='add'>+	compile_data_alloc(iseq, sizeof(struct ensure_range));</div><div class='add'>+</div><div class='add'>+    while (erange-&gt;next != 0) {</div><div class='add'>+	erange = erange-&gt;next;</div><div class='add'>+    }</div><div class='add'>+    ne-&gt;next = 0;</div><div class='add'>+    ne-&gt;begin = lend;</div><div class='add'>+    ne-&gt;end = erange-&gt;end;</div><div class='add'>+    erange-&gt;end = lstart;</div><div class='add'>+</div><div class='add'>+    erange-&gt;next = ne;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+add_ensure_iseq(LINK_ANCHOR *const ret, rb_iseq_t *iseq, int is_return)</div><div class='add'>+{</div><div class='add'>+    struct iseq_compile_data_ensure_node_stack *enlp =</div><div class='add'>+	ISEQ_COMPILE_DATA(iseq)-&gt;ensure_node_stack;</div><div class='add'>+    struct iseq_compile_data_ensure_node_stack *prev_enlp = enlp;</div><div class='add'>+    DECL_ANCHOR(ensure);</div><div class='add'>+</div><div class='add'>+    INIT_ANCHOR(ensure);</div><div class='add'>+    while (enlp) {</div><div class='add'>+	if (enlp-&gt;erange != NULL) {</div><div class='add'>+	    DECL_ANCHOR(ensure_part);</div><div class='add'>+	    LABEL *lstart = NEW_LABEL(0);</div><div class='add'>+	    LABEL *lend = NEW_LABEL(0);</div><div class='add'>+	    INIT_ANCHOR(ensure_part);</div><div class='add'>+</div><div class='add'>+	    add_ensure_range(iseq, enlp-&gt;erange, lstart, lend);</div><div class='add'>+</div><div class='add'>+	    ISEQ_COMPILE_DATA(iseq)-&gt;ensure_node_stack = enlp-&gt;prev;</div><div class='add'>+	    ADD_LABEL(ensure_part, lstart);</div><div class='add'>+            NO_CHECK(COMPILE_POPPED(ensure_part, "ensure part", enlp-&gt;ensure_node));</div><div class='add'>+	    ADD_LABEL(ensure_part, lend);</div><div class='add'>+	    ADD_SEQ(ensure, ensure_part);</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    if (!is_return) {</div><div class='add'>+		break;</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+	enlp = enlp-&gt;prev;</div><div class='add'>+    }</div><div class='add'>+    ISEQ_COMPILE_DATA(iseq)-&gt;ensure_node_stack = prev_enlp;</div><div class='add'>+    ADD_SEQ(ret, ensure);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+check_keyword(const NODE *node)</div><div class='add'>+{</div><div class='add'>+    /* This check is essentially a code clone of compile_keyword_arg. */</div><div class='add'>+</div><div class='add'>+    if (nd_type(node) == NODE_LIST) {</div><div class='add'>+        while (node-&gt;nd_next) {</div><div class='add'>+            node = node-&gt;nd_next;</div><div class='add'>+        }</div><div class='add'>+        node = node-&gt;nd_head;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return keyword_node_p(node);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+setup_args_core(rb_iseq_t *iseq, LINK_ANCHOR *const args, const NODE *argn,</div><div class='add'>+                int dup_rest, unsigned int *flag, struct rb_callinfo_kwarg **keywords)</div><div class='add'>+{</div><div class='add'>+    if (argn) {</div><div class='add'>+        switch (nd_type(argn)) {</div><div class='add'>+          case NODE_SPLAT: {</div><div class='add'>+            NO_CHECK(COMPILE(args, "args (splat)", argn-&gt;nd_head));</div><div class='add'>+            ADD_INSN1(args, nd_line(argn), splatarray, dup_rest ? Qtrue : Qfalse);</div><div class='add'>+            if (flag) *flag |= VM_CALL_ARGS_SPLAT;</div><div class='add'>+            return INT2FIX(1);</div><div class='add'>+          }</div><div class='add'>+          case NODE_ARGSCAT:</div><div class='add'>+          case NODE_ARGSPUSH: {</div><div class='add'>+            int next_is_list = (nd_type(argn-&gt;nd_head) == NODE_LIST);</div><div class='add'>+            VALUE argc = setup_args_core(iseq, args, argn-&gt;nd_head, 1, NULL, NULL);</div><div class='add'>+            if (nd_type(argn-&gt;nd_body) == NODE_LIST) {</div><div class='add'>+                /* This branch is needed to avoid "newarraykwsplat" [Bug #16442] */</div><div class='add'>+                int rest_len = compile_args(iseq, args, argn-&gt;nd_body, NULL, NULL);</div><div class='add'>+                ADD_INSN1(args, nd_line(argn), newarray, INT2FIX(rest_len));</div><div class='add'>+            }</div><div class='add'>+            else {</div><div class='add'>+                NO_CHECK(COMPILE(args, "args (cat: splat)", argn-&gt;nd_body));</div><div class='add'>+            }</div><div class='add'>+            if (flag) {</div><div class='add'>+                *flag |= VM_CALL_ARGS_SPLAT;</div><div class='add'>+                /* This is a dirty hack.  It traverses the AST twice.</div><div class='add'>+                 * In a long term, it should be fixed by a redesign of keyword arguments */</div><div class='add'>+                if (check_keyword(argn-&gt;nd_body))</div><div class='add'>+                    *flag |= VM_CALL_KW_SPLAT;</div><div class='add'>+            }</div><div class='add'>+            if (nd_type(argn) == NODE_ARGSCAT) {</div><div class='add'>+                if (next_is_list) {</div><div class='add'>+                    ADD_INSN1(args, nd_line(argn), splatarray, Qtrue);</div><div class='add'>+                    return INT2FIX(FIX2INT(argc) + 1);</div><div class='add'>+                }</div><div class='add'>+                else {</div><div class='add'>+                    ADD_INSN1(args, nd_line(argn), splatarray, Qfalse);</div><div class='add'>+                    ADD_INSN(args, nd_line(argn), concatarray);</div><div class='add'>+                    return argc;</div><div class='add'>+                }</div><div class='add'>+            }</div><div class='add'>+            else {</div><div class='add'>+                ADD_INSN1(args, nd_line(argn), newarray, INT2FIX(1));</div><div class='add'>+                ADD_INSN(args, nd_line(argn), concatarray);</div><div class='add'>+                return argc;</div><div class='add'>+            }</div><div class='add'>+          }</div><div class='add'>+          case NODE_LIST: {</div><div class='add'>+            int len = compile_args(iseq, args, argn, keywords, flag);</div><div class='add'>+            return INT2FIX(len);</div><div class='add'>+          }</div><div class='add'>+          default: {</div><div class='add'>+            UNKNOWN_NODE("setup_arg", argn, Qnil);</div><div class='add'>+          }</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    return INT2FIX(0);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+setup_args(rb_iseq_t *iseq, LINK_ANCHOR *const args, const NODE *argn,</div><div class='add'>+	   unsigned int *flag, struct rb_callinfo_kwarg **keywords)</div><div class='add'>+{</div><div class='add'>+    VALUE ret;</div><div class='add'>+    if (argn &amp;&amp; nd_type(argn) == NODE_BLOCK_PASS) {</div><div class='add'>+        unsigned int dup_rest = 1;</div><div class='add'>+        DECL_ANCHOR(arg_block);</div><div class='add'>+        INIT_ANCHOR(arg_block);</div><div class='add'>+        NO_CHECK(COMPILE(arg_block, "block", argn-&gt;nd_body));</div><div class='add'>+</div><div class='add'>+        *flag |= VM_CALL_ARGS_BLOCKARG;</div><div class='add'>+</div><div class='add'>+        if (LIST_INSN_SIZE_ONE(arg_block)) {</div><div class='add'>+            LINK_ELEMENT *elem = FIRST_ELEMENT(arg_block);</div><div class='add'>+            if (elem-&gt;type == ISEQ_ELEMENT_INSN) {</div><div class='add'>+                INSN *iobj = (INSN *)elem;</div><div class='add'>+                if (iobj-&gt;insn_id == BIN(getblockparam)) {</div><div class='add'>+                    iobj-&gt;insn_id = BIN(getblockparamproxy);</div><div class='add'>+                }</div><div class='add'>+                dup_rest = 0;</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+        ret = setup_args_core(iseq, args, argn-&gt;nd_head, dup_rest, flag, keywords);</div><div class='add'>+        ADD_SEQ(args, arg_block);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        ret = setup_args_core(iseq, args, argn, 0, flag, keywords);</div><div class='add'>+    }</div><div class='add'>+    return ret;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+build_postexe_iseq(rb_iseq_t *iseq, LINK_ANCHOR *ret, const void *ptr)</div><div class='add'>+{</div><div class='add'>+    const NODE *body = ptr;</div><div class='add'>+    int line = nd_line(body);</div><div class='add'>+    VALUE argc = INT2FIX(0);</div><div class='add'>+    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='add'>+</div><div class='add'>+    ADD_INSN1(ret, line, putspecialobject, INT2FIX(VM_SPECIAL_OBJECT_VMCORE));</div><div class='add'>+    ADD_CALL_WITH_BLOCK(ret, line, id_core_set_postexe, argc, block);</div><div class='add'>+    RB_OBJ_WRITTEN(iseq, Qundef, (VALUE)block);</div><div class='add'>+    iseq_set_local_table(iseq, 0);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+compile_named_capture_assign(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node)</div><div class='add'>+{</div><div class='add'>+    const NODE *vars;</div><div class='add'>+    LINK_ELEMENT *last;</div><div class='add'>+    int line = nd_line(node);</div><div class='add'>+    LABEL *fail_label = NEW_LABEL(line), *end_label = NEW_LABEL(line);</div><div class='add'>+</div><div class='add'>+#if !(defined(NAMED_CAPTURE_BY_SVAR) &amp;&amp; NAMED_CAPTURE_BY_SVAR-0)</div><div class='add'>+    ADD_INSN1(ret, line, getglobal, ID2SYM(idBACKREF));</div><div class='add'>+#else</div><div class='add'>+    ADD_INSN2(ret, line, getspecial, INT2FIX(1) /* '~' */, INT2FIX(0));</div><div class='add'>+#endif</div><div class='add'>+    ADD_INSN(ret, line, dup);</div><div class='add'>+    ADD_INSNL(ret, line, branchunless, fail_label);</div><div class='add'>+</div><div class='add'>+    for (vars = node; vars; vars = vars-&gt;nd_next) {</div><div class='add'>+	INSN *cap;</div><div class='add'>+	if (vars-&gt;nd_next) {</div><div class='add'>+	    ADD_INSN(ret, line, dup);</div><div class='add'>+	}</div><div class='add'>+	last = ret-&gt;last;</div><div class='add'>+        NO_CHECK(COMPILE_POPPED(ret, "capture", vars-&gt;nd_head));</div><div class='add'>+	last = last-&gt;next; /* putobject :var */</div><div class='add'>+	cap = new_insn_send(iseq, line, idAREF, INT2FIX(1),</div><div class='add'>+			    NULL, INT2FIX(0), NULL);</div><div class='add'>+	ELEM_INSERT_PREV(last-&gt;next, (LINK_ELEMENT *)cap);</div><div class='add'>+#if !defined(NAMED_CAPTURE_SINGLE_OPT) || NAMED_CAPTURE_SINGLE_OPT-0</div><div class='add'>+	if (!vars-&gt;nd_next &amp;&amp; vars == node) {</div><div class='add'>+	    /* only one name */</div><div class='add'>+	    DECL_ANCHOR(nom);</div><div class='add'>+</div><div class='add'>+	    INIT_ANCHOR(nom);</div><div class='add'>+	    ADD_INSNL(nom, line, jump, end_label);</div><div class='add'>+	    ADD_LABEL(nom, fail_label);</div><div class='add'>+# if 0				/* $~ must be MatchData or nil */</div><div class='add'>+	    ADD_INSN(nom, line, pop);</div><div class='add'>+	    ADD_INSN(nom, line, putnil);</div><div class='add'>+# endif</div><div class='add'>+	    ADD_LABEL(nom, end_label);</div><div class='add'>+	    (nom-&gt;last-&gt;next = cap-&gt;link.next)-&gt;prev = nom-&gt;last;</div><div class='add'>+	    (cap-&gt;link.next = nom-&gt;anchor.next)-&gt;prev = &amp;cap-&gt;link;</div><div class='add'>+	    return;</div><div class='add'>+	}</div><div class='add'>+#endif</div><div class='add'>+    }</div><div class='add'>+    ADD_INSNL(ret, line, jump, end_label);</div><div class='add'>+    ADD_LABEL(ret, fail_label);</div><div class='add'>+    ADD_INSN(ret, line, pop);</div><div class='add'>+    for (vars = node; vars; vars = vars-&gt;nd_next) {</div><div class='add'>+	last = ret-&gt;last;</div><div class='add'>+        NO_CHECK(COMPILE_POPPED(ret, "capture", vars-&gt;nd_head));</div><div class='add'>+	last = last-&gt;next; /* putobject :var */</div><div class='add'>+	((INSN*)last)-&gt;insn_id = BIN(putnil);</div><div class='add'>+	((INSN*)last)-&gt;operand_size = 0;</div><div class='add'>+    }</div><div class='add'>+    ADD_LABEL(ret, end_label);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+optimizable_range_item_p(const NODE *n)</div><div class='add'>+{</div><div class='add'>+    if (!n) return FALSE;</div><div class='add'>+    switch (nd_type(n)) {</div><div class='add'>+      case NODE_LIT:</div><div class='add'>+        return RB_INTEGER_TYPE_P(n-&gt;nd_lit);</div><div class='add'>+      case NODE_NIL:</div><div class='add'>+        return TRUE;</div><div class='add'>+      default:</div><div class='add'>+        return FALSE;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+compile_if(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, int popped, const enum node_type type)</div><div class='add'>+{</div><div class='add'>+    struct rb_iseq_constant_body *const body = iseq-&gt;body;</div><div class='add'>+    const NODE *const node_body = type == NODE_IF ? node-&gt;nd_body : node-&gt;nd_else;</div><div class='add'>+    const NODE *const node_else = type == NODE_IF ? node-&gt;nd_else : node-&gt;nd_body;</div><div class='add'>+</div><div class='add'>+    const int line = nd_line(node);</div><div class='add'>+    DECL_ANCHOR(cond_seq);</div><div class='add'>+    DECL_ANCHOR(then_seq);</div><div class='add'>+    DECL_ANCHOR(else_seq);</div><div class='add'>+    LABEL *then_label, *else_label, *end_label;</div><div class='add'>+    VALUE branches = Qfalse;</div><div class='add'>+    int ci_size;</div><div class='add'>+    VALUE catch_table = ISEQ_COMPILE_DATA(iseq)-&gt;catch_table_ary;</div><div class='add'>+    long catch_table_size = NIL_P(catch_table) ? 0 : RARRAY_LEN(catch_table);</div><div class='add'>+</div><div class='add'>+    INIT_ANCHOR(cond_seq);</div><div class='add'>+    INIT_ANCHOR(then_seq);</div><div class='add'>+    INIT_ANCHOR(else_seq);</div><div class='add'>+    then_label = NEW_LABEL(line);</div><div class='add'>+    else_label = NEW_LABEL(line);</div><div class='add'>+    end_label = 0;</div><div class='add'>+</div><div class='add'>+    compile_branch_condition(iseq, cond_seq, node-&gt;nd_cond,</div><div class='add'>+			     then_label, else_label);</div><div class='add'>+</div><div class='add'>+    ci_size = body-&gt;ci_size;</div><div class='add'>+    CHECK(COMPILE_(then_seq, "then", node_body, popped));</div><div class='add'>+    catch_table = ISEQ_COMPILE_DATA(iseq)-&gt;catch_table_ary;</div><div class='add'>+    if (!then_label-&gt;refcnt) {</div><div class='add'>+        body-&gt;ci_size = ci_size;</div><div class='add'>+        if (!NIL_P(catch_table)) rb_ary_set_len(catch_table, catch_table_size);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        if (!NIL_P(catch_table)) catch_table_size = RARRAY_LEN(catch_table);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    ci_size = body-&gt;ci_size;</div><div class='add'>+    CHECK(COMPILE_(else_seq, "else", node_else, popped));</div><div class='add'>+    catch_table = ISEQ_COMPILE_DATA(iseq)-&gt;catch_table_ary;</div><div class='add'>+    if (!else_label-&gt;refcnt) {</div><div class='add'>+        body-&gt;ci_size = ci_size;</div><div class='add'>+        if (!NIL_P(catch_table)) rb_ary_set_len(catch_table, catch_table_size);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        if (!NIL_P(catch_table)) catch_table_size = RARRAY_LEN(catch_table);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    ADD_SEQ(ret, cond_seq);</div><div class='add'>+</div><div class='add'>+    if (then_label-&gt;refcnt &amp;&amp; else_label-&gt;refcnt) {</div><div class='add'>+	branches = decl_branch_base(iseq, node, type == NODE_IF ? "if" : "unless");</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (then_label-&gt;refcnt) {</div><div class='add'>+	ADD_LABEL(ret, then_label);</div><div class='add'>+	if (else_label-&gt;refcnt) {</div><div class='add'>+	    add_trace_branch_coverage(</div><div class='add'>+                iseq,</div><div class='add'>+		ret,</div><div class='add'>+                node_body ? node_body : node,</div><div class='add'>+                0,</div><div class='add'>+		type == NODE_IF ? "then" : "else",</div><div class='add'>+		branches);</div><div class='add'>+	    end_label = NEW_LABEL(line);</div><div class='add'>+	    ADD_INSNL(then_seq, line, jump, end_label);</div><div class='add'>+            if (!popped) {</div><div class='add'>+                ADD_INSN(then_seq, line, pop);</div><div class='add'>+            }</div><div class='add'>+	}</div><div class='add'>+	ADD_SEQ(ret, then_seq);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (else_label-&gt;refcnt) {</div><div class='add'>+	ADD_LABEL(ret, else_label);</div><div class='add'>+	if (then_label-&gt;refcnt) {</div><div class='add'>+	    add_trace_branch_coverage(</div><div class='add'>+                iseq,</div><div class='add'>+		ret,</div><div class='add'>+                node_else ? node_else : node,</div><div class='add'>+                1,</div><div class='add'>+		type == NODE_IF ? "else" : "then",</div><div class='add'>+		branches);</div><div class='add'>+	}</div><div class='add'>+	ADD_SEQ(ret, else_seq);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (end_label) {</div><div class='add'>+	ADD_LABEL(ret, end_label);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+compile_case(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const orig_node, int popped)</div><div class='add'>+{</div><div class='add'>+    const NODE *vals;</div><div class='add'>+    const NODE *node = orig_node;</div><div class='add'>+    LABEL *endlabel, *elselabel;</div><div class='add'>+    DECL_ANCHOR(head);</div><div class='add'>+    DECL_ANCHOR(body_seq);</div><div class='add'>+    DECL_ANCHOR(cond_seq);</div><div class='add'>+    int only_special_literals = 1;</div><div class='add'>+    VALUE literals = rb_hash_new();</div><div class='add'>+    int line;</div><div class='add'>+    enum node_type type;</div><div class='add'>+    VALUE branches = Qfalse;</div><div class='add'>+    int branch_id = 0;</div><div class='add'>+</div><div class='add'>+    INIT_ANCHOR(head);</div><div class='add'>+    INIT_ANCHOR(body_seq);</div><div class='add'>+    INIT_ANCHOR(cond_seq);</div><div class='add'>+</div><div class='add'>+    RHASH_TBL_RAW(literals)-&gt;type = &amp;cdhash_type;</div><div class='add'>+</div><div class='add'>+    CHECK(COMPILE(head, "case base", node-&gt;nd_head));</div><div class='add'>+</div><div class='add'>+    branches = decl_branch_base(iseq, node, "case");</div><div class='add'>+</div><div class='add'>+    node = node-&gt;nd_body;</div><div class='add'>+    EXPECT_NODE("NODE_CASE", node, NODE_WHEN, COMPILE_NG);</div><div class='add'>+    type = nd_type(node);</div><div class='add'>+    line = nd_line(node);</div><div class='add'>+</div><div class='add'>+    endlabel = NEW_LABEL(line);</div><div class='add'>+    elselabel = NEW_LABEL(line);</div><div class='add'>+</div><div class='add'>+    ADD_SEQ(ret, head);	/* case VAL */</div><div class='add'>+</div><div class='add'>+    while (type == NODE_WHEN) {</div><div class='add'>+	LABEL *l1;</div><div class='add'>+</div><div class='add'>+	l1 = NEW_LABEL(line);</div><div class='add'>+	ADD_LABEL(body_seq, l1);</div><div class='add'>+	ADD_INSN(body_seq, line, pop);</div><div class='add'>+	add_trace_branch_coverage(</div><div class='add'>+                iseq,</div><div class='add'>+		body_seq,</div><div class='add'>+                node-&gt;nd_body ? node-&gt;nd_body : node,</div><div class='add'>+                branch_id++,</div><div class='add'>+		"when",</div><div class='add'>+		branches);</div><div class='add'>+	CHECK(COMPILE_(body_seq, "when body", node-&gt;nd_body, popped));</div><div class='add'>+	ADD_INSNL(body_seq, line, jump, endlabel);</div><div class='add'>+</div><div class='add'>+	vals = node-&gt;nd_head;</div><div class='add'>+	if (vals) {</div><div class='add'>+	    switch (nd_type(vals)) {</div><div class='add'>+	      case NODE_LIST:</div><div class='add'>+		only_special_literals = when_vals(iseq, cond_seq, vals, l1, only_special_literals, literals);</div><div class='add'>+		if (only_special_literals &lt; 0) return COMPILE_NG;</div><div class='add'>+		break;</div><div class='add'>+	      case NODE_SPLAT:</div><div class='add'>+	      case NODE_ARGSCAT:</div><div class='add'>+	      case NODE_ARGSPUSH:</div><div class='add'>+		only_special_literals = 0;</div><div class='add'>+		CHECK(when_splat_vals(iseq, cond_seq, vals, l1, only_special_literals, literals));</div><div class='add'>+		break;</div><div class='add'>+	      default:</div><div class='add'>+		UNKNOWN_NODE("NODE_CASE", vals, COMPILE_NG);</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    EXPECT_NODE_NONULL("NODE_CASE", node, NODE_LIST, COMPILE_NG);</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+	node = node-&gt;nd_next;</div><div class='add'>+	if (!node) {</div><div class='add'>+	    break;</div><div class='add'>+	}</div><div class='add'>+	type = nd_type(node);</div><div class='add'>+	line = nd_line(node);</div><div class='add'>+    }</div><div class='add'>+    /* else */</div><div class='add'>+    if (node) {</div><div class='add'>+	ADD_LABEL(cond_seq, elselabel);</div><div class='add'>+	ADD_INSN(cond_seq, line, pop);</div><div class='add'>+	add_trace_branch_coverage(iseq, cond_seq, node, branch_id, "else", branches);</div><div class='add'>+	CHECK(COMPILE_(cond_seq, "else", node, popped));</div><div class='add'>+	ADD_INSNL(cond_seq, line, jump, endlabel);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	debugs("== else (implicit)\n");</div><div class='add'>+	ADD_LABEL(cond_seq, elselabel);</div><div class='add'>+	ADD_INSN(cond_seq, nd_line(orig_node), pop);</div><div class='add'>+	add_trace_branch_coverage(iseq, cond_seq, orig_node, branch_id, "else", branches);</div><div class='add'>+	if (!popped) {</div><div class='add'>+	    ADD_INSN(cond_seq, nd_line(orig_node), putnil);</div><div class='add'>+	}</div><div class='add'>+	ADD_INSNL(cond_seq, nd_line(orig_node), jump, endlabel);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (only_special_literals &amp;&amp; ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;specialized_instruction) {</div><div class='add'>+	ADD_INSN(ret, nd_line(orig_node), dup);</div><div class='add'>+	ADD_INSN2(ret, nd_line(orig_node), opt_case_dispatch, literals, elselabel);</div><div class='add'>+        RB_OBJ_WRITTEN(iseq, Qundef, literals);</div><div class='add'>+	LABEL_REF(elselabel);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    ADD_SEQ(ret, cond_seq);</div><div class='add'>+    ADD_SEQ(ret, body_seq);</div><div class='add'>+    ADD_LABEL(ret, endlabel);</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+compile_case2(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const orig_node, int popped)</div><div class='add'>+{</div><div class='add'>+    const NODE *vals;</div><div class='add'>+    const NODE *val;</div><div class='add'>+    const NODE *node = orig_node-&gt;nd_body;</div><div class='add'>+    LABEL *endlabel;</div><div class='add'>+    DECL_ANCHOR(body_seq);</div><div class='add'>+    VALUE branches = Qfalse;</div><div class='add'>+    int branch_id = 0;</div><div class='add'>+</div><div class='add'>+    branches = decl_branch_base(iseq, orig_node, "case");</div><div class='add'>+</div><div class='add'>+    INIT_ANCHOR(body_seq);</div><div class='add'>+    endlabel = NEW_LABEL(nd_line(node));</div><div class='add'>+</div><div class='add'>+    while (node &amp;&amp; nd_type(node) == NODE_WHEN) {</div><div class='add'>+	const int line = nd_line(node);</div><div class='add'>+	LABEL *l1 = NEW_LABEL(line);</div><div class='add'>+	ADD_LABEL(body_seq, l1);</div><div class='add'>+	add_trace_branch_coverage(</div><div class='add'>+                iseq,</div><div class='add'>+		body_seq,</div><div class='add'>+		node-&gt;nd_body ? node-&gt;nd_body : node,</div><div class='add'>+                branch_id++,</div><div class='add'>+		"when",</div><div class='add'>+		branches);</div><div class='add'>+	CHECK(COMPILE_(body_seq, "when", node-&gt;nd_body, popped));</div><div class='add'>+	ADD_INSNL(body_seq, line, jump, endlabel);</div><div class='add'>+</div><div class='add'>+	vals = node-&gt;nd_head;</div><div class='add'>+	if (!vals) {</div><div class='add'>+            EXPECT_NODE_NONULL("NODE_WHEN", node, NODE_LIST, COMPILE_NG);</div><div class='add'>+	}</div><div class='add'>+	switch (nd_type(vals)) {</div><div class='add'>+	  case NODE_LIST:</div><div class='add'>+	    while (vals) {</div><div class='add'>+		LABEL *lnext;</div><div class='add'>+		val = vals-&gt;nd_head;</div><div class='add'>+		lnext = NEW_LABEL(nd_line(val));</div><div class='add'>+		debug_compile("== when2\n", (void)0);</div><div class='add'>+		CHECK(compile_branch_condition(iseq, ret, val, l1, lnext));</div><div class='add'>+		ADD_LABEL(ret, lnext);</div><div class='add'>+		vals = vals-&gt;nd_next;</div><div class='add'>+	    }</div><div class='add'>+	    break;</div><div class='add'>+	  case NODE_SPLAT:</div><div class='add'>+	  case NODE_ARGSCAT:</div><div class='add'>+	  case NODE_ARGSPUSH:</div><div class='add'>+	    ADD_INSN(ret, nd_line(vals), putnil);</div><div class='add'>+	    CHECK(COMPILE(ret, "when2/cond splat", vals));</div><div class='add'>+	    ADD_INSN1(ret, nd_line(vals), checkmatch, INT2FIX(VM_CHECKMATCH_TYPE_WHEN | VM_CHECKMATCH_ARRAY));</div><div class='add'>+	    ADD_INSNL(ret, nd_line(vals), branchif, l1);</div><div class='add'>+	    break;</div><div class='add'>+	  default:</div><div class='add'>+	    UNKNOWN_NODE("NODE_WHEN", vals, COMPILE_NG);</div><div class='add'>+	}</div><div class='add'>+	node = node-&gt;nd_next;</div><div class='add'>+    }</div><div class='add'>+    /* else */</div><div class='add'>+    add_trace_branch_coverage(</div><div class='add'>+        iseq,</div><div class='add'>+	ret,</div><div class='add'>+        node ? node : orig_node,</div><div class='add'>+        branch_id,</div><div class='add'>+	"else",</div><div class='add'>+	branches);</div><div class='add'>+    CHECK(COMPILE_(ret, "else", node, popped));</div><div class='add'>+    ADD_INSNL(ret, nd_line(orig_node), jump, endlabel);</div><div class='add'>+</div><div class='add'>+    ADD_SEQ(ret, body_seq);</div><div class='add'>+    ADD_LABEL(ret, endlabel);</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int iseq_compile_pattern_match(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, LABEL *unmatched, int in_alt_pattern, int deconstructed_pos);</div><div class='add'>+</div><div class='add'>+static int iseq_compile_array_deconstruct(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, LABEL *deconstruct, LABEL *deconstructed, LABEL *match_failed, LABEL *type_error, int deconstructed_pos);</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+iseq_compile_pattern_each(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, LABEL *matched, LABEL *unmatched, int in_alt_pattern, int deconstructed_pos)</div><div class='add'>+{</div><div class='add'>+    const int line = nd_line(node);</div><div class='add'>+</div><div class='add'>+    switch (nd_type(node)) {</div><div class='add'>+      case NODE_ARYPTN: {</div><div class='add'>+        /*</div><div class='add'>+         *   if pattern.use_rest_num?</div><div class='add'>+         *     rest_num = 0</div><div class='add'>+         *   end</div><div class='add'>+         *   if pattern.has_constant_node?</div><div class='add'>+         *     unless pattern.constant === obj</div><div class='add'>+         *       goto match_failed</div><div class='add'>+         *     end</div><div class='add'>+         *   end</div><div class='add'>+         *   unless obj.respond_to?(:deconstruct)</div><div class='add'>+         *     goto match_failed</div><div class='add'>+         *   end</div><div class='add'>+         *   d = obj.deconstruct</div><div class='add'>+         *   unless Array === d</div><div class='add'>+         *     goto type_error</div><div class='add'>+         *   end</div><div class='add'>+         *   min_argc = pattern.pre_args_num + pattern.post_args_num</div><div class='add'>+         *   if pattern.has_rest_arg?</div><div class='add'>+         *     unless d.length &gt;= min_argc</div><div class='add'>+         *       goto match_failed</div><div class='add'>+         *     end</div><div class='add'>+         *   else</div><div class='add'>+         *     unless d.length == min_argc</div><div class='add'>+         *       goto match_failed</div><div class='add'>+         *     end</div><div class='add'>+         *   end</div><div class='add'>+         *   pattern.pre_args_num.each do |i|</div><div class='add'>+         *     unless pattern.pre_args[i].match?(d[i])</div><div class='add'>+         *       goto match_failed</div><div class='add'>+         *     end</div><div class='add'>+         *   end</div><div class='add'>+         *   if pattern.use_rest_num?</div><div class='add'>+         *     rest_num = d.length - min_argc</div><div class='add'>+         *     if pattern.has_rest_arg? &amp;&amp; pattern.has_rest_arg_id # not `*`, but `*rest`</div><div class='add'>+         *       unless pattern.rest_arg.match?(d[pattern.pre_args_num, rest_num])</div><div class='add'>+         *         goto match_failed</div><div class='add'>+         *       end</div><div class='add'>+         *     end</div><div class='add'>+         *   end</div><div class='add'>+         *   pattern.post_args_num.each do |i|</div><div class='add'>+         *     j = pattern.pre_args_num + i</div><div class='add'>+         *     j += rest_num</div><div class='add'>+         *     unless pattern.post_args[i].match?(d[j])</div><div class='add'>+         *       goto match_failed</div><div class='add'>+         *     end</div><div class='add'>+         *   end</div><div class='add'>+         *   goto matched</div><div class='add'>+         * type_error:</div><div class='add'>+         *   FrozenCore.raise TypeError</div><div class='add'>+         * match_failed:</div><div class='add'>+         *   goto unmatched</div><div class='add'>+         */</div><div class='add'>+        struct rb_ary_pattern_info *apinfo = node-&gt;nd_apinfo;</div><div class='add'>+        const NODE *args = apinfo-&gt;pre_args;</div><div class='add'>+        const int pre_args_num = apinfo-&gt;pre_args ? rb_long2int(apinfo-&gt;pre_args-&gt;nd_alen) : 0;</div><div class='add'>+        const int post_args_num = apinfo-&gt;post_args ? rb_long2int(apinfo-&gt;post_args-&gt;nd_alen) : 0;</div><div class='add'>+</div><div class='add'>+        const int min_argc = pre_args_num + post_args_num;</div><div class='add'>+        const int use_rest_num = apinfo-&gt;rest_arg &amp;&amp; (NODE_NAMED_REST_P(apinfo-&gt;rest_arg) ||</div><div class='add'>+                                                      (!NODE_NAMED_REST_P(apinfo-&gt;rest_arg) &amp;&amp; post_args_num &gt; 0));</div><div class='add'>+</div><div class='add'>+        LABEL *match_failed, *type_error, *deconstruct, *deconstructed;</div><div class='add'>+        int i;</div><div class='add'>+        match_failed = NEW_LABEL(line);</div><div class='add'>+        type_error = NEW_LABEL(line);</div><div class='add'>+        deconstruct = NEW_LABEL(line);</div><div class='add'>+        deconstructed = NEW_LABEL(line);</div><div class='add'>+</div><div class='add'>+        if (use_rest_num) {</div><div class='add'>+            ADD_INSN1(ret, line, putobject, INT2FIX(0)); /* allocate stack for rest_num */</div><div class='add'>+            ADD_INSN(ret, line, swap);</div><div class='add'>+            if (deconstructed_pos) {</div><div class='add'>+                deconstructed_pos++;</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        if (node-&gt;nd_pconst) {</div><div class='add'>+            ADD_INSN(ret, line, dup);</div><div class='add'>+            CHECK(COMPILE(ret, "constant", node-&gt;nd_pconst));</div><div class='add'>+            ADD_INSN1(ret, line, checkmatch, INT2FIX(VM_CHECKMATCH_TYPE_CASE));</div><div class='add'>+            ADD_INSNL(ret, line, branchunless, match_failed);</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        CHECK(iseq_compile_array_deconstruct(iseq, ret, node, deconstruct, deconstructed, match_failed, type_error, deconstructed_pos));</div><div class='add'>+</div><div class='add'>+        ADD_INSN(ret, line, dup);</div><div class='add'>+        ADD_SEND(ret, line, idLength, INT2FIX(0));</div><div class='add'>+        ADD_INSN1(ret, line, putobject, INT2FIX(min_argc));</div><div class='add'>+        ADD_SEND(ret, line, apinfo-&gt;rest_arg ? idGE : idEq, INT2FIX(1));</div><div class='add'>+        ADD_INSNL(ret, line, branchunless, match_failed);</div><div class='add'>+</div><div class='add'>+        for (i = 0; i &lt; pre_args_num; i++) {</div><div class='add'>+            ADD_INSN(ret, line, dup);</div><div class='add'>+            ADD_INSN1(ret, line, putobject, INT2FIX(i));</div><div class='add'>+            ADD_SEND(ret, line, idAREF, INT2FIX(1));</div><div class='add'>+            CHECK(iseq_compile_pattern_match(iseq, ret, args-&gt;nd_head, match_failed, in_alt_pattern, FALSE));</div><div class='add'>+            args = args-&gt;nd_next;</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        if (apinfo-&gt;rest_arg) {</div><div class='add'>+            if (NODE_NAMED_REST_P(apinfo-&gt;rest_arg)) {</div><div class='add'>+                ADD_INSN(ret, line, dup);</div><div class='add'>+                ADD_INSN1(ret, line, putobject, INT2FIX(pre_args_num));</div><div class='add'>+                ADD_INSN1(ret, line, topn, INT2FIX(1));</div><div class='add'>+                ADD_SEND(ret, line, idLength, INT2FIX(0));</div><div class='add'>+                ADD_INSN1(ret, line, putobject, INT2FIX(min_argc));</div><div class='add'>+                ADD_SEND(ret, line, idMINUS, INT2FIX(1));</div><div class='add'>+                ADD_INSN1(ret, line, setn, INT2FIX(4));</div><div class='add'>+                ADD_SEND(ret, line, idAREF, INT2FIX(2));</div><div class='add'>+</div><div class='add'>+                CHECK(iseq_compile_pattern_match(iseq, ret, apinfo-&gt;rest_arg, match_failed, in_alt_pattern, FALSE));</div><div class='add'>+            }</div><div class='add'>+            else {</div><div class='add'>+                if (post_args_num &gt; 0) {</div><div class='add'>+                    ADD_INSN(ret, line, dup);</div><div class='add'>+                    ADD_SEND(ret, line, idLength, INT2FIX(0));</div><div class='add'>+                    ADD_INSN1(ret, line, putobject, INT2FIX(min_argc));</div><div class='add'>+                    ADD_SEND(ret, line, idMINUS, INT2FIX(1));</div><div class='add'>+                    ADD_INSN1(ret, line, setn, INT2FIX(2));</div><div class='add'>+                    ADD_INSN(ret, line, pop);</div><div class='add'>+                }</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        args = apinfo-&gt;post_args;</div><div class='add'>+        for (i = 0; i &lt; post_args_num; i++) {</div><div class='add'>+            ADD_INSN(ret, line, dup);</div><div class='add'>+</div><div class='add'>+            ADD_INSN1(ret, line, putobject, INT2FIX(pre_args_num + i));</div><div class='add'>+            ADD_INSN1(ret, line, topn, INT2FIX(3));</div><div class='add'>+            ADD_SEND(ret, line, idPLUS, INT2FIX(1));</div><div class='add'>+</div><div class='add'>+            ADD_SEND(ret, line, idAREF, INT2FIX(1));</div><div class='add'>+            CHECK(iseq_compile_pattern_match(iseq, ret, args-&gt;nd_head, match_failed, in_alt_pattern, FALSE));</div><div class='add'>+            args = args-&gt;nd_next;</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        ADD_INSN(ret, line, pop);</div><div class='add'>+        if (use_rest_num) {</div><div class='add'>+            ADD_INSN(ret, line, pop);</div><div class='add'>+        }</div><div class='add'>+        ADD_INSNL(ret, line, jump, matched);</div><div class='add'>+        ADD_INSN(ret, line, putnil);</div><div class='add'>+        if (use_rest_num) {</div><div class='add'>+            ADD_INSN(ret, line, putnil);</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        ADD_LABEL(ret, type_error);</div><div class='add'>+        ADD_INSN1(ret, line, putspecialobject, INT2FIX(VM_SPECIAL_OBJECT_VMCORE));</div><div class='add'>+        ADD_INSN1(ret, line, putobject, rb_eTypeError);</div><div class='add'>+        ADD_INSN1(ret, line, putobject, rb_fstring_lit("deconstruct must return Array"));</div><div class='add'>+        ADD_SEND(ret, line, id_core_raise, INT2FIX(2));</div><div class='add'>+        ADD_INSN(ret, line, pop);</div><div class='add'>+</div><div class='add'>+        ADD_LABEL(ret, match_failed);</div><div class='add'>+        ADD_INSN(ret, line, pop);</div><div class='add'>+        if (use_rest_num) {</div><div class='add'>+            ADD_INSN(ret, line, pop);</div><div class='add'>+        }</div><div class='add'>+        ADD_INSNL(ret, line, jump, unmatched);</div><div class='add'>+</div><div class='add'>+        break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_FNDPTN: {</div><div class='add'>+        /*</div><div class='add'>+         *   if pattern.has_constant_node?</div><div class='add'>+         *     unless pattern.constant === obj</div><div class='add'>+         *       goto match_failed</div><div class='add'>+         *     end</div><div class='add'>+         *   end</div><div class='add'>+         *   unless obj.respond_to?(:deconstruct)</div><div class='add'>+         *     goto match_failed</div><div class='add'>+         *   end</div><div class='add'>+         *   d = obj.deconstruct</div><div class='add'>+         *   unless Array === d</div><div class='add'>+         *     goto type_error</div><div class='add'>+         *   end</div><div class='add'>+         *   unless d.length &gt;= pattern.args_num</div><div class='add'>+         *     goto match_failed</div><div class='add'>+         *   end</div><div class='add'>+         *</div><div class='add'>+         *   begin</div><div class='add'>+         *     len = d.length</div><div class='add'>+         *     limit = d.length - pattern.args_num</div><div class='add'>+         *     i = 0</div><div class='add'>+         *     while i &lt;= limit</div><div class='add'>+         *       if pattern.args_num.times.all? {|j| pattern.args[j].match?(d[i+j]) }</div><div class='add'>+         *         if pattern.has_pre_rest_arg_id</div><div class='add'>+         *           unless pattern.pre_rest_arg.match?(d[0, i])</div><div class='add'>+         *             goto find_failed</div><div class='add'>+         *           end</div><div class='add'>+         *         end</div><div class='add'>+         *         if pattern.has_post_rest_arg_id</div><div class='add'>+         *           unless pattern.post_rest_arg.match?(d[i+pattern.args_num, len])</div><div class='add'>+         *             goto find_failed</div><div class='add'>+         *           end</div><div class='add'>+         *         end</div><div class='add'>+         *         goto find_succeeded</div><div class='add'>+         *       end</div><div class='add'>+         *       i+=1</div><div class='add'>+         *     end</div><div class='add'>+         *   find_failed:</div><div class='add'>+         *     goto match_failed</div><div class='add'>+         *   find_succeeded:</div><div class='add'>+         *   end</div><div class='add'>+         *</div><div class='add'>+         *   goto matched</div><div class='add'>+         * type_error:</div><div class='add'>+         *   FrozenCore.raise TypeError</div><div class='add'>+         * match_failed:</div><div class='add'>+         *   goto unmatched</div><div class='add'>+         */</div><div class='add'>+        struct rb_fnd_pattern_info *fpinfo = node-&gt;nd_fpinfo;</div><div class='add'>+        const NODE *args = fpinfo-&gt;args;</div><div class='add'>+        const int args_num = fpinfo-&gt;args ? rb_long2int(fpinfo-&gt;args-&gt;nd_alen) : 0;</div><div class='add'>+</div><div class='add'>+        LABEL *match_failed, *type_error, *deconstruct, *deconstructed;</div><div class='add'>+        match_failed = NEW_LABEL(line);</div><div class='add'>+        type_error = NEW_LABEL(line);</div><div class='add'>+        deconstruct = NEW_LABEL(line);</div><div class='add'>+        deconstructed = NEW_LABEL(line);</div><div class='add'>+</div><div class='add'>+        if (node-&gt;nd_pconst) {</div><div class='add'>+            ADD_INSN(ret, line, dup);</div><div class='add'>+            CHECK(COMPILE(ret, "constant", node-&gt;nd_pconst));</div><div class='add'>+            ADD_INSN1(ret, line, checkmatch, INT2FIX(VM_CHECKMATCH_TYPE_CASE));</div><div class='add'>+            ADD_INSNL(ret, line, branchunless, match_failed);</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        CHECK(iseq_compile_array_deconstruct(iseq, ret, node, deconstruct, deconstructed, match_failed, type_error, deconstructed_pos));</div><div class='add'>+</div><div class='add'>+        ADD_INSN(ret, line, dup);</div><div class='add'>+        ADD_SEND(ret, line, idLength, INT2FIX(0));</div><div class='add'>+        ADD_INSN1(ret, line, putobject, INT2FIX(args_num));</div><div class='add'>+        ADD_SEND(ret, line, idGE, INT2FIX(1));</div><div class='add'>+        ADD_INSNL(ret, line, branchunless, match_failed);</div><div class='add'>+</div><div class='add'>+        {</div><div class='add'>+            LABEL *while_begin = NEW_LABEL(nd_line(node));</div><div class='add'>+            LABEL *next_loop = NEW_LABEL(nd_line(node));</div><div class='add'>+            LABEL *find_succeeded = NEW_LABEL(line);</div><div class='add'>+            LABEL *find_failed = NEW_LABEL(nd_line(node));</div><div class='add'>+            int j;</div><div class='add'>+</div><div class='add'>+            ADD_INSN(ret, line, dup); /* allocate stack for len */</div><div class='add'>+            ADD_SEND(ret, line, idLength, INT2FIX(0));</div><div class='add'>+</div><div class='add'>+            ADD_INSN(ret, line, dup); /* allocate stack for limit */</div><div class='add'>+            ADD_INSN1(ret, line, putobject, INT2FIX(args_num));</div><div class='add'>+            ADD_SEND(ret, line, idMINUS, INT2FIX(1));</div><div class='add'>+</div><div class='add'>+            ADD_INSN1(ret, line, putobject, INT2FIX(0)); /* allocate stack for i */</div><div class='add'>+</div><div class='add'>+            ADD_LABEL(ret, while_begin);</div><div class='add'>+</div><div class='add'>+            ADD_INSN(ret, line, dup);</div><div class='add'>+            ADD_INSN1(ret, line, topn, INT2FIX(2));</div><div class='add'>+            ADD_SEND(ret, line, idLE, INT2FIX(1));</div><div class='add'>+            ADD_INSNL(ret, line, branchunless, find_failed);</div><div class='add'>+</div><div class='add'>+            for (j = 0; j &lt; args_num; j++) {</div><div class='add'>+                ADD_INSN1(ret, line, topn, INT2FIX(3));</div><div class='add'>+                ADD_INSN1(ret, line, topn, INT2FIX(1));</div><div class='add'>+                if (j != 0) {</div><div class='add'>+                    ADD_INSN1(ret, line, putobject, INT2FIX(j));</div><div class='add'>+                    ADD_SEND(ret, line, idPLUS, INT2FIX(1));</div><div class='add'>+                }</div><div class='add'>+                ADD_SEND(ret, line, idAREF, INT2FIX(1));</div><div class='add'>+</div><div class='add'>+                CHECK(iseq_compile_pattern_match(iseq, ret, args-&gt;nd_head, next_loop, in_alt_pattern, FALSE));</div><div class='add'>+                args = args-&gt;nd_next;</div><div class='add'>+            }</div><div class='add'>+</div><div class='add'>+            if (NODE_NAMED_REST_P(fpinfo-&gt;pre_rest_arg)) {</div><div class='add'>+                ADD_INSN1(ret, line, topn, INT2FIX(3));</div><div class='add'>+                ADD_INSN1(ret, line, putobject, INT2FIX(0));</div><div class='add'>+                ADD_INSN1(ret, line, topn, INT2FIX(2));</div><div class='add'>+                ADD_SEND(ret, line, idAREF, INT2FIX(2));</div><div class='add'>+                CHECK(iseq_compile_pattern_match(iseq, ret, fpinfo-&gt;pre_rest_arg, find_failed, in_alt_pattern, FALSE));</div><div class='add'>+            }</div><div class='add'>+            if (NODE_NAMED_REST_P(fpinfo-&gt;post_rest_arg)) {</div><div class='add'>+                ADD_INSN1(ret, line, topn, INT2FIX(3));</div><div class='add'>+                ADD_INSN1(ret, line, topn, INT2FIX(1));</div><div class='add'>+                ADD_INSN1(ret, line, putobject, INT2FIX(args_num));</div><div class='add'>+                ADD_SEND(ret, line, idPLUS, INT2FIX(1));</div><div class='add'>+                ADD_INSN1(ret, line, topn, INT2FIX(3));</div><div class='add'>+                ADD_SEND(ret, line, idAREF, INT2FIX(2));</div><div class='add'>+                CHECK(iseq_compile_pattern_match(iseq, ret, fpinfo-&gt;post_rest_arg, find_failed, in_alt_pattern, FALSE));</div><div class='add'>+            }</div><div class='add'>+            ADD_INSNL(ret, line, jump, find_succeeded);</div><div class='add'>+</div><div class='add'>+            ADD_LABEL(ret, next_loop);</div><div class='add'>+            ADD_INSN1(ret, line, putobject, INT2FIX(1));</div><div class='add'>+            ADD_SEND(ret, line, idPLUS, INT2FIX(1));</div><div class='add'>+            ADD_INSNL(ret, line, jump, while_begin);</div><div class='add'>+</div><div class='add'>+            ADD_LABEL(ret, find_failed);</div><div class='add'>+            ADD_INSN(ret, line, pop);</div><div class='add'>+            ADD_INSN(ret, line, pop);</div><div class='add'>+            ADD_INSN(ret, line, pop);</div><div class='add'>+            ADD_INSNL(ret, line, jump, match_failed);</div><div class='add'>+            ADD_INSN1(ret, line, dupn, INT2FIX(3));</div><div class='add'>+</div><div class='add'>+            ADD_LABEL(ret, find_succeeded);</div><div class='add'>+            ADD_INSN(ret, line, pop);</div><div class='add'>+            ADD_INSN(ret, line, pop);</div><div class='add'>+            ADD_INSN(ret, line, pop);</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        ADD_INSN(ret, line, pop);</div><div class='add'>+        ADD_INSNL(ret, line, jump, matched);</div><div class='add'>+        ADD_INSN(ret, line, putnil);</div><div class='add'>+</div><div class='add'>+        ADD_LABEL(ret, type_error);</div><div class='add'>+        ADD_INSN1(ret, line, putspecialobject, INT2FIX(VM_SPECIAL_OBJECT_VMCORE));</div><div class='add'>+        ADD_INSN1(ret, line, putobject, rb_eTypeError);</div><div class='add'>+        ADD_INSN1(ret, line, putobject, rb_fstring_lit("deconstruct must return Array"));</div><div class='add'>+        ADD_SEND(ret, line, id_core_raise, INT2FIX(2));</div><div class='add'>+        ADD_INSN(ret, line, pop);</div><div class='add'>+</div><div class='add'>+        ADD_LABEL(ret, match_failed);</div><div class='add'>+        ADD_INSN(ret, line, pop);</div><div class='add'>+        ADD_INSNL(ret, line, jump, unmatched);</div><div class='add'>+</div><div class='add'>+        break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_HSHPTN: {</div><div class='add'>+        /*</div><div class='add'>+         *   keys = nil</div><div class='add'>+         *   if pattern.has_kw_args_node? &amp;&amp; !pattern.has_kw_rest_arg_node?</div><div class='add'>+         *     keys = pattern.kw_args_node.keys</div><div class='add'>+         *   end</div><div class='add'>+         *   if pattern.has_constant_node?</div><div class='add'>+         *     unless pattern.constant === obj</div><div class='add'>+         *       goto match_failed</div><div class='add'>+         *     end</div><div class='add'>+         *   end</div><div class='add'>+         *   unless obj.respond_to?(:deconstruct_keys)</div><div class='add'>+         *     goto match_failed</div><div class='add'>+         *   end</div><div class='add'>+         *   d = obj.deconstruct_keys(keys)</div><div class='add'>+         *   unless Hash === d</div><div class='add'>+         *     goto type_error</div><div class='add'>+         *   end</div><div class='add'>+         *   if pattern.has_kw_rest_arg_node?</div><div class='add'>+         *     d = d.dup</div><div class='add'>+         *   end</div><div class='add'>+         *   if pattern.has_kw_args_node?</div><div class='add'>+         *     pattern.kw_args_node.each |k,|</div><div class='add'>+         *       unless d.key?(k)</div><div class='add'>+         *         goto match_failed</div><div class='add'>+         *       end</div><div class='add'>+         *     end</div><div class='add'>+         *     pattern.kw_args_node.each |k, pat|</div><div class='add'>+         *       if pattern.has_kw_rest_arg_node?</div><div class='add'>+         *         unless pat.match?(d.delete(k))</div><div class='add'>+         *           goto match_failed</div><div class='add'>+         *         end</div><div class='add'>+         *       else</div><div class='add'>+         *         unless pat.match?(d[k])</div><div class='add'>+         *           goto match_failed</div><div class='add'>+         *         end</div><div class='add'>+         *       end</div><div class='add'>+         *     end</div><div class='add'>+         *   else</div><div class='add'>+         *     unless d.empty?</div><div class='add'>+         *       goto match_failed</div><div class='add'>+         *     end</div><div class='add'>+         *   end</div><div class='add'>+         *   if pattern.has_kw_rest_arg_node?</div><div class='add'>+         *     if pattern.no_rest_keyword?</div><div class='add'>+         *       unless d.empty?</div><div class='add'>+         *         goto match_failed</div><div class='add'>+         *       end</div><div class='add'>+         *     else</div><div class='add'>+         *       unless pattern.kw_rest_arg_node.match?(d)</div><div class='add'>+         *         goto match_failed</div><div class='add'>+         *       end</div><div class='add'>+         *     end</div><div class='add'>+         *   end</div><div class='add'>+         *   goto matched</div><div class='add'>+         * type_error:</div><div class='add'>+         *   FrozenCore.raise TypeError</div><div class='add'>+         * match_failed:</div><div class='add'>+         *   goto unmatched</div><div class='add'>+         */</div><div class='add'>+        LABEL *match_failed, *type_error;</div><div class='add'>+        VALUE keys = Qnil;</div><div class='add'>+</div><div class='add'>+        match_failed = NEW_LABEL(line);</div><div class='add'>+        type_error = NEW_LABEL(line);</div><div class='add'>+</div><div class='add'>+        if (node-&gt;nd_pkwargs &amp;&amp; !node-&gt;nd_pkwrestarg) {</div><div class='add'>+            const NODE *kw_args = node-&gt;nd_pkwargs-&gt;nd_head;</div><div class='add'>+            keys = rb_ary_new_capa(kw_args ? kw_args-&gt;nd_alen/2 : 0);</div><div class='add'>+            while (kw_args) {</div><div class='add'>+                rb_ary_push(keys, kw_args-&gt;nd_head-&gt;nd_lit);</div><div class='add'>+                kw_args = kw_args-&gt;nd_next-&gt;nd_next;</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        if (node-&gt;nd_pconst) {</div><div class='add'>+            ADD_INSN(ret, line, dup);</div><div class='add'>+            CHECK(COMPILE(ret, "constant", node-&gt;nd_pconst));</div><div class='add'>+            ADD_INSN1(ret, line, checkmatch, INT2FIX(VM_CHECKMATCH_TYPE_CASE));</div><div class='add'>+            ADD_INSNL(ret, line, branchunless, match_failed);</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        ADD_INSN(ret, line, dup);</div><div class='add'>+        ADD_INSN1(ret, line, putobject, ID2SYM(rb_intern("deconstruct_keys")));</div><div class='add'>+        ADD_SEND(ret, line, idRespond_to, INT2FIX(1));</div><div class='add'>+        ADD_INSNL(ret, line, branchunless, match_failed);</div><div class='add'>+</div><div class='add'>+        if (NIL_P(keys)) {</div><div class='add'>+            ADD_INSN(ret, line, putnil);</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            ADD_INSN1(ret, line, duparray, keys);</div><div class='add'>+            RB_OBJ_WRITTEN(iseq, Qundef, rb_obj_hide(keys));</div><div class='add'>+        }</div><div class='add'>+        ADD_SEND(ret, line, rb_intern("deconstruct_keys"), INT2FIX(1));</div><div class='add'>+</div><div class='add'>+        ADD_INSN(ret, line, dup);</div><div class='add'>+        ADD_INSN1(ret, line, checktype, INT2FIX(T_HASH));</div><div class='add'>+        ADD_INSNL(ret, line, branchunless, type_error);</div><div class='add'>+</div><div class='add'>+        if (node-&gt;nd_pkwrestarg) {</div><div class='add'>+            ADD_SEND(ret, line, rb_intern("dup"), INT2FIX(0));</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        if (node-&gt;nd_pkwargs) {</div><div class='add'>+            int i;</div><div class='add'>+            int keys_num;</div><div class='add'>+            const NODE *args;</div><div class='add'>+            args = node-&gt;nd_pkwargs-&gt;nd_head;</div><div class='add'>+            if (args) {</div><div class='add'>+                DECL_ANCHOR(match_values);</div><div class='add'>+                INIT_ANCHOR(match_values);</div><div class='add'>+                keys_num = rb_long2int(args-&gt;nd_alen) / 2;</div><div class='add'>+                for (i = 0; i &lt; keys_num; i++) {</div><div class='add'>+                    NODE *key_node = args-&gt;nd_head;</div><div class='add'>+                    NODE *value_node = args-&gt;nd_next-&gt;nd_head;</div><div class='add'>+                    VALUE key;</div><div class='add'>+</div><div class='add'>+                    if (nd_type(key_node) != NODE_LIT) {</div><div class='add'>+                        UNKNOWN_NODE("NODE_IN", key_node, COMPILE_NG);</div><div class='add'>+                    }</div><div class='add'>+                    key = key_node-&gt;nd_lit;</div><div class='add'>+</div><div class='add'>+                    ADD_INSN(ret, line, dup);</div><div class='add'>+                    ADD_INSN1(ret, line, putobject, key);</div><div class='add'>+                    ADD_SEND(ret, line, rb_intern("key?"), INT2FIX(1));</div><div class='add'>+                    ADD_INSNL(ret, line, branchunless, match_failed);</div><div class='add'>+</div><div class='add'>+                    ADD_INSN(match_values, line, dup);</div><div class='add'>+                    ADD_INSN1(match_values, line, putobject, key);</div><div class='add'>+                    ADD_SEND(match_values, line, node-&gt;nd_pkwrestarg ? rb_intern("delete") : idAREF, INT2FIX(1));</div><div class='add'>+                    CHECK(iseq_compile_pattern_match(iseq, match_values, value_node, match_failed, in_alt_pattern, FALSE));</div><div class='add'>+                    args = args-&gt;nd_next-&gt;nd_next;</div><div class='add'>+                }</div><div class='add'>+                ADD_SEQ(ret, match_values);</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            ADD_INSN(ret, line, dup);</div><div class='add'>+            ADD_SEND(ret, line, idEmptyP, INT2FIX(0));</div><div class='add'>+            ADD_INSNL(ret, line, branchunless, match_failed);</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        if (node-&gt;nd_pkwrestarg) {</div><div class='add'>+            if (node-&gt;nd_pkwrestarg == NODE_SPECIAL_NO_REST_KEYWORD) {</div><div class='add'>+                ADD_INSN(ret, line, dup);</div><div class='add'>+                ADD_SEND(ret, line, idEmptyP, INT2FIX(0));</div><div class='add'>+                ADD_INSNL(ret, line, branchunless, match_failed);</div><div class='add'>+            }</div><div class='add'>+            else {</div><div class='add'>+                ADD_INSN(ret, line, dup);</div><div class='add'>+                CHECK(iseq_compile_pattern_match(iseq, ret, node-&gt;nd_pkwrestarg, match_failed, in_alt_pattern, FALSE));</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        ADD_INSN(ret, line, pop);</div><div class='add'>+        ADD_INSNL(ret, line, jump, matched);</div><div class='add'>+        ADD_INSN(ret, line, putnil);</div><div class='add'>+</div><div class='add'>+        ADD_LABEL(ret, type_error);</div><div class='add'>+        ADD_INSN1(ret, line, putspecialobject, INT2FIX(VM_SPECIAL_OBJECT_VMCORE));</div><div class='add'>+        ADD_INSN1(ret, line, putobject, rb_eTypeError);</div><div class='add'>+        ADD_INSN1(ret, line, putobject, rb_fstring_lit("deconstruct_keys must return Hash"));</div><div class='add'>+        ADD_SEND(ret, line, id_core_raise, INT2FIX(2));</div><div class='add'>+        ADD_INSN(ret, line, pop);</div><div class='add'>+</div><div class='add'>+        ADD_LABEL(ret, match_failed);</div><div class='add'>+        ADD_INSN(ret, line, pop);</div><div class='add'>+        ADD_INSNL(ret, line, jump, unmatched);</div><div class='add'>+        break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_LIT:</div><div class='add'>+      case NODE_STR:</div><div class='add'>+      case NODE_XSTR:</div><div class='add'>+      case NODE_DSTR:</div><div class='add'>+      case NODE_DSYM:</div><div class='add'>+      case NODE_DREGX:</div><div class='add'>+      case NODE_LIST:</div><div class='add'>+      case NODE_ZLIST:</div><div class='add'>+      case NODE_LAMBDA:</div><div class='add'>+      case NODE_DOT2:</div><div class='add'>+      case NODE_DOT3:</div><div class='add'>+      case NODE_CONST:</div><div class='add'>+      case NODE_LVAR:</div><div class='add'>+      case NODE_DVAR:</div><div class='add'>+      case NODE_TRUE:</div><div class='add'>+      case NODE_FALSE:</div><div class='add'>+      case NODE_SELF:</div><div class='add'>+      case NODE_NIL:</div><div class='add'>+      case NODE_COLON2:</div><div class='add'>+      case NODE_COLON3:</div><div class='add'>+        CHECK(COMPILE(ret, "case in literal", node));</div><div class='add'>+        ADD_INSN1(ret, line, checkmatch, INT2FIX(VM_CHECKMATCH_TYPE_CASE));</div><div class='add'>+        ADD_INSNL(ret, line, branchif, matched);</div><div class='add'>+        ADD_INSNL(ret, line, jump, unmatched);</div><div class='add'>+        break;</div><div class='add'>+      case NODE_LASGN: {</div><div class='add'>+        struct rb_iseq_constant_body *const body = iseq-&gt;body;</div><div class='add'>+        ID id = node-&gt;nd_vid;</div><div class='add'>+        int idx = body-&gt;local_iseq-&gt;body-&gt;local_table_size - get_local_var_idx(iseq, id);</div><div class='add'>+</div><div class='add'>+        if (in_alt_pattern) {</div><div class='add'>+            const char *name = rb_id2name(id);</div><div class='add'>+            if (name &amp;&amp; strlen(name) &gt; 0 &amp;&amp; name[0] != '_') {</div><div class='add'>+                COMPILE_ERROR(ERROR_ARGS "illegal variable in alternative pattern (%"PRIsVALUE")",</div><div class='add'>+                              rb_id2str(id));</div><div class='add'>+                return COMPILE_NG;</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        ADD_SETLOCAL(ret, line, idx, get_lvar_level(iseq));</div><div class='add'>+        ADD_INSNL(ret, line, jump, matched);</div><div class='add'>+        break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_DASGN:</div><div class='add'>+      case NODE_DASGN_CURR: {</div><div class='add'>+        int idx, lv, ls;</div><div class='add'>+        ID id = node-&gt;nd_vid;</div><div class='add'>+</div><div class='add'>+        idx = get_dyna_var_idx(iseq, id, &amp;lv, &amp;ls);</div><div class='add'>+</div><div class='add'>+        if (in_alt_pattern) {</div><div class='add'>+            const char *name = rb_id2name(id);</div><div class='add'>+            if (name &amp;&amp; strlen(name) &gt; 0 &amp;&amp; name[0] != '_') {</div><div class='add'>+                COMPILE_ERROR(ERROR_ARGS "illegal variable in alternative pattern (%"PRIsVALUE")",</div><div class='add'>+                              rb_id2str(id));</div><div class='add'>+                return COMPILE_NG;</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        if (idx &lt; 0) {</div><div class='add'>+            COMPILE_ERROR(ERROR_ARGS "NODE_DASGN(_CURR): unknown id (%"PRIsVALUE")",</div><div class='add'>+                          rb_id2str(id));</div><div class='add'>+            return COMPILE_NG;</div><div class='add'>+        }</div><div class='add'>+        ADD_SETLOCAL(ret, line, ls - idx, lv);</div><div class='add'>+        ADD_INSNL(ret, line, jump, matched);</div><div class='add'>+        break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_IF:</div><div class='add'>+      case NODE_UNLESS: {</div><div class='add'>+        LABEL *match_failed;</div><div class='add'>+        match_failed = unmatched;</div><div class='add'>+        CHECK(iseq_compile_pattern_match(iseq, ret, node-&gt;nd_body, unmatched, in_alt_pattern, deconstructed_pos));</div><div class='add'>+        CHECK(COMPILE(ret, "case in if", node-&gt;nd_cond));</div><div class='add'>+        if (nd_type(node) == NODE_IF) {</div><div class='add'>+            ADD_INSNL(ret, line, branchunless, match_failed);</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            ADD_INSNL(ret, line, branchif, match_failed);</div><div class='add'>+        }</div><div class='add'>+        ADD_INSNL(ret, line, jump, matched);</div><div class='add'>+        break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_HASH: {</div><div class='add'>+        NODE *n;</div><div class='add'>+        LABEL *match_failed;</div><div class='add'>+        match_failed = NEW_LABEL(line);</div><div class='add'>+</div><div class='add'>+        n = node-&gt;nd_head;</div><div class='add'>+        if (! (nd_type(n) == NODE_LIST &amp;&amp; n-&gt;nd_alen == 2)) {</div><div class='add'>+            COMPILE_ERROR(ERROR_ARGS "unexpected node");</div><div class='add'>+            return COMPILE_NG;</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        ADD_INSN(ret, line, dup);</div><div class='add'>+        CHECK(iseq_compile_pattern_match(iseq, ret, n-&gt;nd_head, match_failed, in_alt_pattern, deconstructed_pos ? deconstructed_pos + 1 : FALSE));</div><div class='add'>+        CHECK(iseq_compile_pattern_each(iseq, ret, n-&gt;nd_next-&gt;nd_head, matched, match_failed, in_alt_pattern, FALSE));</div><div class='add'>+        ADD_INSN(ret, line, putnil);</div><div class='add'>+</div><div class='add'>+        ADD_LABEL(ret, match_failed);</div><div class='add'>+        ADD_INSN(ret, line, pop);</div><div class='add'>+        ADD_INSNL(ret, line, jump, unmatched);</div><div class='add'>+        break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_OR: {</div><div class='add'>+        LABEL *match_succeeded, *fin;</div><div class='add'>+        match_succeeded = NEW_LABEL(line);</div><div class='add'>+        fin = NEW_LABEL(line);</div><div class='add'>+</div><div class='add'>+        ADD_INSN(ret, line, dup);</div><div class='add'>+        CHECK(iseq_compile_pattern_each(iseq, ret, node-&gt;nd_1st, match_succeeded, fin, TRUE, deconstructed_pos ? deconstructed_pos + 1 : FALSE));</div><div class='add'>+        ADD_LABEL(ret, match_succeeded);</div><div class='add'>+        ADD_INSN(ret, line, pop);</div><div class='add'>+        ADD_INSNL(ret, line, jump, matched);</div><div class='add'>+        ADD_INSN(ret, line, putnil);</div><div class='add'>+        ADD_LABEL(ret, fin);</div><div class='add'>+        CHECK(iseq_compile_pattern_each(iseq, ret, node-&gt;nd_2nd, matched, unmatched, TRUE, deconstructed_pos));</div><div class='add'>+        break;</div><div class='add'>+      }</div><div class='add'>+      default:</div><div class='add'>+        UNKNOWN_NODE("NODE_IN", node, COMPILE_NG);</div><div class='add'>+    }</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+iseq_compile_pattern_match(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, LABEL *unmatched, int in_alt_pattern, int deconstructed_pos)</div><div class='add'>+{</div><div class='add'>+    LABEL *fin = NEW_LABEL(nd_line(node));</div><div class='add'>+    CHECK(iseq_compile_pattern_each(iseq, ret, node, fin, unmatched, in_alt_pattern, deconstructed_pos));</div><div class='add'>+    ADD_LABEL(ret, fin);</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+iseq_compile_array_deconstruct(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, LABEL *deconstruct, LABEL *deconstructed, LABEL *match_failed, LABEL *type_error, int deconstructed_pos)</div><div class='add'>+{</div><div class='add'>+    const int line = nd_line(node);</div><div class='add'>+</div><div class='add'>+    // NOTE: this optimization allows us to re-use the #deconstruct value</div><div class='add'>+    // (or its absence).</div><div class='add'>+    // `deconstructed_pos` contains the distance to the stack relative location</div><div class='add'>+    // where the value is stored.</div><div class='add'>+    if (deconstructed_pos) {</div><div class='add'>+        // If value is nil then we haven't tried to deconstruct</div><div class='add'>+        ADD_INSN1(ret, line, topn, INT2FIX(deconstructed_pos));</div><div class='add'>+        ADD_INSNL(ret, line, branchnil, deconstruct);</div><div class='add'>+</div><div class='add'>+        // If false then the value is not deconstructable</div><div class='add'>+        ADD_INSN1(ret, line, topn, INT2FIX(deconstructed_pos));</div><div class='add'>+        ADD_INSNL(ret, line, branchunless, match_failed);</div><div class='add'>+</div><div class='add'>+        // Drop value, add deconstructed to the stack and jump</div><div class='add'>+        ADD_INSN(ret, line, pop);</div><div class='add'>+        ADD_INSN1(ret, line, topn, INT2FIX(deconstructed_pos - 1));</div><div class='add'>+        ADD_INSNL(ret, line, jump, deconstructed);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        ADD_INSNL(ret, line, jump, deconstruct);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    ADD_LABEL(ret, deconstruct);</div><div class='add'>+    ADD_INSN(ret, line, dup);</div><div class='add'>+    ADD_INSN1(ret, line, putobject, ID2SYM(rb_intern("deconstruct")));</div><div class='add'>+    ADD_SEND(ret, line, idRespond_to, INT2FIX(1));</div><div class='add'>+</div><div class='add'>+    // Cache the result of respond_to? (in case it's false is stays there, if true - it's overwritten after #deconstruct)</div><div class='add'>+    if (deconstructed_pos) {</div><div class='add'>+        ADD_INSN1(ret, line, setn, INT2FIX(deconstructed_pos + 1));</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    ADD_INSNL(ret, line, branchunless, match_failed);</div><div class='add'>+</div><div class='add'>+    ADD_SEND(ret, line, rb_intern("deconstruct"), INT2FIX(0));</div><div class='add'>+</div><div class='add'>+    // Cache the result (if it's cacheable - currently, only top-level array patterns)</div><div class='add'>+    if (deconstructed_pos) {</div><div class='add'>+        ADD_INSN1(ret, line, setn, INT2FIX(deconstructed_pos));</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    ADD_INSN(ret, line, dup);</div><div class='add'>+    ADD_INSN1(ret, line, checktype, INT2FIX(T_ARRAY));</div><div class='add'>+    ADD_INSNL(ret, line, branchunless, type_error);</div><div class='add'>+    ADD_INSNL(ret, line, jump, deconstructed);</div><div class='add'>+</div><div class='add'>+    ADD_LABEL(ret, deconstructed);</div><div class='add'>+</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+compile_case3(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const orig_node, int popped)</div><div class='add'>+{</div><div class='add'>+    const NODE *pattern;</div><div class='add'>+    const NODE *node = orig_node;</div><div class='add'>+    LABEL *endlabel, *elselabel;</div><div class='add'>+    DECL_ANCHOR(head);</div><div class='add'>+    DECL_ANCHOR(body_seq);</div><div class='add'>+    DECL_ANCHOR(cond_seq);</div><div class='add'>+    int line;</div><div class='add'>+    enum node_type type;</div><div class='add'>+    VALUE branches = 0;</div><div class='add'>+    int branch_id = 0;</div><div class='add'>+</div><div class='add'>+    INIT_ANCHOR(head);</div><div class='add'>+    INIT_ANCHOR(body_seq);</div><div class='add'>+    INIT_ANCHOR(cond_seq);</div><div class='add'>+</div><div class='add'>+    branches = decl_branch_base(iseq, node, "case");</div><div class='add'>+</div><div class='add'>+    node = node-&gt;nd_body;</div><div class='add'>+    EXPECT_NODE("NODE_CASE3", node, NODE_IN, COMPILE_NG);</div><div class='add'>+    type = nd_type(node);</div><div class='add'>+    line = nd_line(node);</div><div class='add'>+</div><div class='add'>+    endlabel = NEW_LABEL(line);</div><div class='add'>+    elselabel = NEW_LABEL(line);</div><div class='add'>+</div><div class='add'>+    ADD_INSN(head, line, putnil); /* allocate stack for cached #deconstruct value */</div><div class='add'>+</div><div class='add'>+    CHECK(COMPILE(head, "case base", orig_node-&gt;nd_head));</div><div class='add'>+</div><div class='add'>+    ADD_SEQ(ret, head);	/* case VAL */</div><div class='add'>+</div><div class='add'>+    while (type == NODE_IN) {</div><div class='add'>+        LABEL *l1;</div><div class='add'>+</div><div class='add'>+        if (branch_id) {</div><div class='add'>+            ADD_INSN(body_seq, line, putnil);</div><div class='add'>+        }</div><div class='add'>+        l1 = NEW_LABEL(line);</div><div class='add'>+        ADD_LABEL(body_seq, l1);</div><div class='add'>+        ADD_INSN(body_seq, line, pop);</div><div class='add'>+        ADD_INSN(body_seq, line, pop); /* discard cached #deconstruct value */</div><div class='add'>+        add_trace_branch_coverage(</div><div class='add'>+            iseq,</div><div class='add'>+            body_seq,</div><div class='add'>+            node-&gt;nd_body ? node-&gt;nd_body : node,</div><div class='add'>+            branch_id++,</div><div class='add'>+            "in",</div><div class='add'>+            branches);</div><div class='add'>+        CHECK(COMPILE_(body_seq, "in body", node-&gt;nd_body, popped));</div><div class='add'>+        ADD_INSNL(body_seq, line, jump, endlabel);</div><div class='add'>+</div><div class='add'>+        pattern = node-&gt;nd_head;</div><div class='add'>+        if (pattern) {</div><div class='add'>+            int pat_line = nd_line(pattern);</div><div class='add'>+            LABEL *next_pat = NEW_LABEL(pat_line);</div><div class='add'>+            ADD_INSN (cond_seq, pat_line, dup);</div><div class='add'>+</div><div class='add'>+            // NOTE: set deconstructed_pos to the current cached value location</div><div class='add'>+            // (it's "under" the matchee value, so it's position is 2)</div><div class='add'>+            CHECK(iseq_compile_pattern_each(iseq, cond_seq, pattern, l1, next_pat, FALSE, 2));</div><div class='add'>+            ADD_LABEL(cond_seq, next_pat);</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            COMPILE_ERROR(ERROR_ARGS "unexpected node");</div><div class='add'>+            return COMPILE_NG;</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        node = node-&gt;nd_next;</div><div class='add'>+        if (!node) {</div><div class='add'>+            break;</div><div class='add'>+        }</div><div class='add'>+        type = nd_type(node);</div><div class='add'>+        line = nd_line(node);</div><div class='add'>+    }</div><div class='add'>+    /* else */</div><div class='add'>+    if (node) {</div><div class='add'>+        ADD_LABEL(cond_seq, elselabel);</div><div class='add'>+        ADD_INSN(cond_seq, line, pop);</div><div class='add'>+        ADD_INSN(cond_seq, line, pop); /* discard cached #deconstruct value */</div><div class='add'>+        add_trace_branch_coverage(iseq, cond_seq, node, branch_id, "else", branches);</div><div class='add'>+        CHECK(COMPILE_(cond_seq, "else", node, popped));</div><div class='add'>+        ADD_INSNL(cond_seq, line, jump, endlabel);</div><div class='add'>+        ADD_INSN(cond_seq, line, putnil);</div><div class='add'>+        if (popped) {</div><div class='add'>+            ADD_INSN(cond_seq, line, putnil);</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        debugs("== else (implicit)\n");</div><div class='add'>+        ADD_LABEL(cond_seq, elselabel);</div><div class='add'>+        add_trace_branch_coverage(iseq, cond_seq, orig_node, branch_id, "else", branches);</div><div class='add'>+        ADD_INSN1(cond_seq, nd_line(orig_node), putspecialobject, INT2FIX(VM_SPECIAL_OBJECT_VMCORE));</div><div class='add'>+        ADD_INSN1(cond_seq, nd_line(orig_node), putobject, rb_eNoMatchingPatternError);</div><div class='add'>+        ADD_INSN1(cond_seq, nd_line(orig_node), topn, INT2FIX(2));</div><div class='add'>+        ADD_SEND(cond_seq, nd_line(orig_node), id_core_raise, INT2FIX(2));</div><div class='add'>+        ADD_INSN(cond_seq, nd_line(orig_node), pop);</div><div class='add'>+        ADD_INSN(cond_seq, nd_line(orig_node), pop);</div><div class='add'>+        ADD_INSN(cond_seq, nd_line(orig_node), pop); /* discard cached #deconstruct value */</div><div class='add'>+        if (!popped) {</div><div class='add'>+            ADD_INSN(cond_seq, nd_line(orig_node), putnil);</div><div class='add'>+        }</div><div class='add'>+        ADD_INSNL(cond_seq, nd_line(orig_node), jump, endlabel);</div><div class='add'>+        ADD_INSN(cond_seq, line, putnil);</div><div class='add'>+        if (popped) {</div><div class='add'>+            ADD_INSN(cond_seq, line, putnil);</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    ADD_SEQ(ret, cond_seq);</div><div class='add'>+    ADD_SEQ(ret, body_seq);</div><div class='add'>+    ADD_LABEL(ret, endlabel);</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+compile_loop(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, int popped, const enum node_type type)</div><div class='add'>+{</div><div class='add'>+    const int line = (int)nd_line(node);</div><div class='add'>+</div><div class='add'>+    LABEL *prev_start_label = ISEQ_COMPILE_DATA(iseq)-&gt;start_label;</div><div class='add'>+    LABEL *prev_end_label = ISEQ_COMPILE_DATA(iseq)-&gt;end_label;</div><div class='add'>+    LABEL *prev_redo_label = ISEQ_COMPILE_DATA(iseq)-&gt;redo_label;</div><div class='add'>+    int prev_loopval_popped = ISEQ_COMPILE_DATA(iseq)-&gt;loopval_popped;</div><div class='add'>+    VALUE branches = Qfalse;</div><div class='add'>+</div><div class='add'>+    struct iseq_compile_data_ensure_node_stack enl;</div><div class='add'>+</div><div class='add'>+    LABEL *next_label = ISEQ_COMPILE_DATA(iseq)-&gt;start_label = NEW_LABEL(line);	/* next  */</div><div class='add'>+    LABEL *redo_label = ISEQ_COMPILE_DATA(iseq)-&gt;redo_label = NEW_LABEL(line);	/* redo  */</div><div class='add'>+    LABEL *break_label = ISEQ_COMPILE_DATA(iseq)-&gt;end_label = NEW_LABEL(line);	/* break */</div><div class='add'>+    LABEL *end_label = NEW_LABEL(line);</div><div class='add'>+    LABEL *adjust_label = NEW_LABEL(line);</div><div class='add'>+</div><div class='add'>+    LABEL *next_catch_label = NEW_LABEL(line);</div><div class='add'>+    LABEL *tmp_label = NULL;</div><div class='add'>+</div><div class='add'>+    ISEQ_COMPILE_DATA(iseq)-&gt;loopval_popped = 0;</div><div class='add'>+    push_ensure_entry(iseq, &amp;enl, NULL, NULL);</div><div class='add'>+</div><div class='add'>+    if (node-&gt;nd_state == 1) {</div><div class='add'>+	ADD_INSNL(ret, line, jump, next_label);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	tmp_label = NEW_LABEL(line);</div><div class='add'>+	ADD_INSNL(ret, line, jump, tmp_label);</div><div class='add'>+    }</div><div class='add'>+    ADD_LABEL(ret, adjust_label);</div><div class='add'>+    ADD_INSN(ret, line, putnil);</div><div class='add'>+    ADD_LABEL(ret, next_catch_label);</div><div class='add'>+    ADD_INSN(ret, line, pop);</div><div class='add'>+    ADD_INSNL(ret, line, jump, next_label);</div><div class='add'>+    if (tmp_label) ADD_LABEL(ret, tmp_label);</div><div class='add'>+</div><div class='add'>+    ADD_LABEL(ret, redo_label);</div><div class='add'>+    branches = decl_branch_base(iseq, node, type == NODE_WHILE ? "while" : "until");</div><div class='add'>+    add_trace_branch_coverage(</div><div class='add'>+        iseq,</div><div class='add'>+	ret,</div><div class='add'>+        node-&gt;nd_body ? node-&gt;nd_body : node,</div><div class='add'>+        0,</div><div class='add'>+	"body",</div><div class='add'>+	branches);</div><div class='add'>+    CHECK(COMPILE_POPPED(ret, "while body", node-&gt;nd_body));</div><div class='add'>+    ADD_LABEL(ret, next_label);	/* next */</div><div class='add'>+</div><div class='add'>+    if (type == NODE_WHILE) {</div><div class='add'>+	compile_branch_condition(iseq, ret, node-&gt;nd_cond,</div><div class='add'>+				 redo_label, end_label);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	/* until */</div><div class='add'>+	compile_branch_condition(iseq, ret, node-&gt;nd_cond,</div><div class='add'>+				 end_label, redo_label);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    ADD_LABEL(ret, end_label);</div><div class='add'>+    ADD_ADJUST_RESTORE(ret, adjust_label);</div><div class='add'>+</div><div class='add'>+    if (node-&gt;nd_state == Qundef) {</div><div class='add'>+	/* ADD_INSN(ret, line, putundef); */</div><div class='add'>+	COMPILE_ERROR(ERROR_ARGS "unsupported: putundef");</div><div class='add'>+	return COMPILE_NG;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	ADD_INSN(ret, line, putnil);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    ADD_LABEL(ret, break_label);	/* break */</div><div class='add'>+</div><div class='add'>+    if (popped) {</div><div class='add'>+	ADD_INSN(ret, line, pop);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    ADD_CATCH_ENTRY(CATCH_TYPE_BREAK, redo_label, break_label, NULL,</div><div class='add'>+		    break_label);</div><div class='add'>+    ADD_CATCH_ENTRY(CATCH_TYPE_NEXT, redo_label, break_label, NULL,</div><div class='add'>+		    next_catch_label);</div><div class='add'>+    ADD_CATCH_ENTRY(CATCH_TYPE_REDO, redo_label, break_label, NULL,</div><div class='add'>+		    ISEQ_COMPILE_DATA(iseq)-&gt;redo_label);</div><div class='add'>+</div><div class='add'>+    ISEQ_COMPILE_DATA(iseq)-&gt;start_label = prev_start_label;</div><div class='add'>+    ISEQ_COMPILE_DATA(iseq)-&gt;end_label = prev_end_label;</div><div class='add'>+    ISEQ_COMPILE_DATA(iseq)-&gt;redo_label = prev_redo_label;</div><div class='add'>+    ISEQ_COMPILE_DATA(iseq)-&gt;loopval_popped = prev_loopval_popped;</div><div class='add'>+    ISEQ_COMPILE_DATA(iseq)-&gt;ensure_node_stack = ISEQ_COMPILE_DATA(iseq)-&gt;ensure_node_stack-&gt;prev;</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+compile_iter(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, int popped)</div><div class='add'>+{</div><div class='add'>+    const int line = nd_line(node);</div><div class='add'>+    const rb_iseq_t *prevblock = ISEQ_COMPILE_DATA(iseq)-&gt;current_block;</div><div class='add'>+    LABEL *retry_label = NEW_LABEL(line);</div><div class='add'>+    LABEL *retry_end_l = NEW_LABEL(line);</div><div class='add'>+    const rb_iseq_t *child_iseq;</div><div class='add'>+</div><div class='add'>+    ADD_LABEL(ret, retry_label);</div><div class='add'>+    if (nd_type(node) == NODE_FOR) {</div><div class='add'>+	CHECK(COMPILE(ret, "iter caller (for)", node-&gt;nd_iter));</div><div class='add'>+</div><div class='add'>+	ISEQ_COMPILE_DATA(iseq)-&gt;current_block = child_iseq =</div><div class='add'>+	    NEW_CHILD_ISEQ(node-&gt;nd_body, make_name_for_block(iseq),</div><div class='add'>+			   ISEQ_TYPE_BLOCK, line);</div><div class='add'>+	ADD_SEND_WITH_BLOCK(ret, line, idEach, INT2FIX(0), child_iseq);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	ISEQ_COMPILE_DATA(iseq)-&gt;current_block = child_iseq =</div><div class='add'>+	    NEW_CHILD_ISEQ(node-&gt;nd_body, make_name_for_block(iseq),</div><div class='add'>+			   ISEQ_TYPE_BLOCK, line);</div><div class='add'>+	CHECK(COMPILE(ret, "iter caller", node-&gt;nd_iter));</div><div class='add'>+    }</div><div class='add'>+    ADD_LABEL(ret, retry_end_l);</div><div class='add'>+</div><div class='add'>+    if (popped) {</div><div class='add'>+	ADD_INSN(ret, line, pop);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    ISEQ_COMPILE_DATA(iseq)-&gt;current_block = prevblock;</div><div class='add'>+</div><div class='add'>+    ADD_CATCH_ENTRY(CATCH_TYPE_BREAK, retry_label, retry_end_l, child_iseq, retry_end_l);</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+compile_for_masgn(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, int popped)</div><div class='add'>+{</div><div class='add'>+    /* massign to var in "for"</div><div class='add'>+     * (args.length == 1 &amp;&amp; Array.try_convert(args[0])) || args</div><div class='add'>+     */</div><div class='add'>+    const int line = nd_line(node);</div><div class='add'>+    const NODE *var = node-&gt;nd_var;</div><div class='add'>+    LABEL *not_single = NEW_LABEL(nd_line(var));</div><div class='add'>+    LABEL *not_ary = NEW_LABEL(nd_line(var));</div><div class='add'>+    CHECK(COMPILE(ret, "for var", var));</div><div class='add'>+    ADD_INSN(ret, line, dup);</div><div class='add'>+    ADD_CALL(ret, line, idLength, INT2FIX(0));</div><div class='add'>+    ADD_INSN1(ret, line, putobject, INT2FIX(1));</div><div class='add'>+    ADD_CALL(ret, line, idEq, INT2FIX(1));</div><div class='add'>+    ADD_INSNL(ret, line, branchunless, not_single);</div><div class='add'>+    ADD_INSN(ret, line, dup);</div><div class='add'>+    ADD_INSN1(ret, line, putobject, INT2FIX(0));</div><div class='add'>+    ADD_CALL(ret, line, idAREF, INT2FIX(1));</div><div class='add'>+    ADD_INSN1(ret, line, putobject, rb_cArray);</div><div class='add'>+    ADD_INSN(ret, line, swap);</div><div class='add'>+    ADD_CALL(ret, line, rb_intern("try_convert"), INT2FIX(1));</div><div class='add'>+    ADD_INSN(ret, line, dup);</div><div class='add'>+    ADD_INSNL(ret, line, branchunless, not_ary);</div><div class='add'>+    ADD_INSN(ret, line, swap);</div><div class='add'>+    ADD_LABEL(ret, not_ary);</div><div class='add'>+    ADD_INSN(ret, line, pop);</div><div class='add'>+    ADD_LABEL(ret, not_single);</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+compile_break(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, int popped)</div><div class='add'>+{</div><div class='add'>+    const int line = nd_line(node);</div><div class='add'>+    unsigned long throw_flag = 0;</div><div class='add'>+</div><div class='add'>+    if (ISEQ_COMPILE_DATA(iseq)-&gt;redo_label != 0) {</div><div class='add'>+	/* while/until */</div><div class='add'>+	LABEL *splabel = NEW_LABEL(0);</div><div class='add'>+	ADD_LABEL(ret, splabel);</div><div class='add'>+	ADD_ADJUST(ret, line, ISEQ_COMPILE_DATA(iseq)-&gt;redo_label);</div><div class='add'>+	CHECK(COMPILE_(ret, "break val (while/until)", node-&gt;nd_stts,</div><div class='add'>+		       ISEQ_COMPILE_DATA(iseq)-&gt;loopval_popped));</div><div class='add'>+	add_ensure_iseq(ret, iseq, 0);</div><div class='add'>+	ADD_INSNL(ret, line, jump, ISEQ_COMPILE_DATA(iseq)-&gt;end_label);</div><div class='add'>+	ADD_ADJUST_RESTORE(ret, splabel);</div><div class='add'>+</div><div class='add'>+	if (!popped) {</div><div class='add'>+	    ADD_INSN(ret, line, putnil);</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        const rb_iseq_t *ip = iseq;</div><div class='add'>+</div><div class='add'>+	while (ip) {</div><div class='add'>+	    if (!ISEQ_COMPILE_DATA(ip)) {</div><div class='add'>+		ip = 0;</div><div class='add'>+		break;</div><div class='add'>+	    }</div><div class='add'>+</div><div class='add'>+	    if (ISEQ_COMPILE_DATA(ip)-&gt;redo_label != 0) {</div><div class='add'>+                throw_flag = VM_THROW_NO_ESCAPE_FLAG;</div><div class='add'>+	    }</div><div class='add'>+	    else if (ip-&gt;body-&gt;type == ISEQ_TYPE_BLOCK) {</div><div class='add'>+                throw_flag = 0;</div><div class='add'>+	    }</div><div class='add'>+	    else if (ip-&gt;body-&gt;type == ISEQ_TYPE_EVAL) {</div><div class='add'>+                COMPILE_ERROR(ERROR_ARGS "Can't escape from eval with break");</div><div class='add'>+                return COMPILE_NG;</div><div class='add'>+	    }</div><div class='add'>+            else {</div><div class='add'>+                ip = ip-&gt;body-&gt;parent_iseq;</div><div class='add'>+                continue;</div><div class='add'>+            }</div><div class='add'>+</div><div class='add'>+            /* escape from block */</div><div class='add'>+            CHECK(COMPILE(ret, "break val (block)", node-&gt;nd_stts));</div><div class='add'>+            ADD_INSN1(ret, line, throw, INT2FIX(throw_flag | TAG_BREAK));</div><div class='add'>+            if (popped) {</div><div class='add'>+                ADD_INSN(ret, line, pop);</div><div class='add'>+            }</div><div class='add'>+            return COMPILE_OK;</div><div class='add'>+	}</div><div class='add'>+	COMPILE_ERROR(ERROR_ARGS "Invalid break");</div><div class='add'>+	return COMPILE_NG;</div><div class='add'>+    }</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+compile_next(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, int popped)</div><div class='add'>+{</div><div class='add'>+    const int line = nd_line(node);</div><div class='add'>+    unsigned long throw_flag = 0;</div><div class='add'>+</div><div class='add'>+    if (ISEQ_COMPILE_DATA(iseq)-&gt;redo_label != 0) {</div><div class='add'>+	LABEL *splabel = NEW_LABEL(0);</div><div class='add'>+	debugs("next in while loop\n");</div><div class='add'>+	ADD_LABEL(ret, splabel);</div><div class='add'>+	CHECK(COMPILE(ret, "next val/valid syntax?", node-&gt;nd_stts));</div><div class='add'>+	add_ensure_iseq(ret, iseq, 0);</div><div class='add'>+	ADD_ADJUST(ret, line, ISEQ_COMPILE_DATA(iseq)-&gt;redo_label);</div><div class='add'>+	ADD_INSNL(ret, line, jump, ISEQ_COMPILE_DATA(iseq)-&gt;start_label);</div><div class='add'>+	ADD_ADJUST_RESTORE(ret, splabel);</div><div class='add'>+	if (!popped) {</div><div class='add'>+	    ADD_INSN(ret, line, putnil);</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    else if (ISEQ_COMPILE_DATA(iseq)-&gt;end_label) {</div><div class='add'>+	LABEL *splabel = NEW_LABEL(0);</div><div class='add'>+	debugs("next in block\n");</div><div class='add'>+	ADD_LABEL(ret, splabel);</div><div class='add'>+	ADD_ADJUST(ret, line, ISEQ_COMPILE_DATA(iseq)-&gt;start_label);</div><div class='add'>+	CHECK(COMPILE(ret, "next val", node-&gt;nd_stts));</div><div class='add'>+	add_ensure_iseq(ret, iseq, 0);</div><div class='add'>+	ADD_INSNL(ret, line, jump, ISEQ_COMPILE_DATA(iseq)-&gt;end_label);</div><div class='add'>+	ADD_ADJUST_RESTORE(ret, splabel);</div><div class='add'>+	splabel-&gt;unremovable = FALSE;</div><div class='add'>+</div><div class='add'>+	if (!popped) {</div><div class='add'>+	    ADD_INSN(ret, line, putnil);</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	const rb_iseq_t *ip = iseq;</div><div class='add'>+</div><div class='add'>+	while (ip) {</div><div class='add'>+	    if (!ISEQ_COMPILE_DATA(ip)) {</div><div class='add'>+		ip = 0;</div><div class='add'>+		break;</div><div class='add'>+	    }</div><div class='add'>+</div><div class='add'>+            throw_flag = VM_THROW_NO_ESCAPE_FLAG;</div><div class='add'>+	    if (ISEQ_COMPILE_DATA(ip)-&gt;redo_label != 0) {</div><div class='add'>+		/* while loop */</div><div class='add'>+		break;</div><div class='add'>+	    }</div><div class='add'>+	    else if (ip-&gt;body-&gt;type == ISEQ_TYPE_BLOCK) {</div><div class='add'>+		break;</div><div class='add'>+	    }</div><div class='add'>+	    else if (ip-&gt;body-&gt;type == ISEQ_TYPE_EVAL) {</div><div class='add'>+                COMPILE_ERROR(ERROR_ARGS "Can't escape from eval with next");</div><div class='add'>+                return COMPILE_NG;</div><div class='add'>+	    }</div><div class='add'>+</div><div class='add'>+	    ip = ip-&gt;body-&gt;parent_iseq;</div><div class='add'>+	}</div><div class='add'>+	if (ip != 0) {</div><div class='add'>+	    CHECK(COMPILE(ret, "next val", node-&gt;nd_stts));</div><div class='add'>+            ADD_INSN1(ret, line, throw, INT2FIX(throw_flag | TAG_NEXT));</div><div class='add'>+</div><div class='add'>+	    if (popped) {</div><div class='add'>+		ADD_INSN(ret, line, pop);</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    COMPILE_ERROR(ERROR_ARGS "Invalid next");</div><div class='add'>+	    return COMPILE_NG;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+compile_redo(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, int popped)</div><div class='add'>+{</div><div class='add'>+    const int line = nd_line(node);</div><div class='add'>+</div><div class='add'>+    if (ISEQ_COMPILE_DATA(iseq)-&gt;redo_label) {</div><div class='add'>+	LABEL *splabel = NEW_LABEL(0);</div><div class='add'>+	debugs("redo in while");</div><div class='add'>+	ADD_LABEL(ret, splabel);</div><div class='add'>+	ADD_ADJUST(ret, line, ISEQ_COMPILE_DATA(iseq)-&gt;redo_label);</div><div class='add'>+	add_ensure_iseq(ret, iseq, 0);</div><div class='add'>+	ADD_INSNL(ret, line, jump, ISEQ_COMPILE_DATA(iseq)-&gt;redo_label);</div><div class='add'>+	ADD_ADJUST_RESTORE(ret, splabel);</div><div class='add'>+	if (!popped) {</div><div class='add'>+	    ADD_INSN(ret, line, putnil);</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    else if (iseq-&gt;body-&gt;type != ISEQ_TYPE_EVAL &amp;&amp; ISEQ_COMPILE_DATA(iseq)-&gt;start_label) {</div><div class='add'>+	LABEL *splabel = NEW_LABEL(0);</div><div class='add'>+</div><div class='add'>+	debugs("redo in block");</div><div class='add'>+	ADD_LABEL(ret, splabel);</div><div class='add'>+	add_ensure_iseq(ret, iseq, 0);</div><div class='add'>+	ADD_ADJUST(ret, line, ISEQ_COMPILE_DATA(iseq)-&gt;start_label);</div><div class='add'>+	ADD_INSNL(ret, line, jump, ISEQ_COMPILE_DATA(iseq)-&gt;start_label);</div><div class='add'>+	ADD_ADJUST_RESTORE(ret, splabel);</div><div class='add'>+</div><div class='add'>+	if (!popped) {</div><div class='add'>+	    ADD_INSN(ret, line, putnil);</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	const rb_iseq_t *ip = iseq;</div><div class='add'>+</div><div class='add'>+	while (ip) {</div><div class='add'>+	    if (!ISEQ_COMPILE_DATA(ip)) {</div><div class='add'>+		ip = 0;</div><div class='add'>+		break;</div><div class='add'>+	    }</div><div class='add'>+</div><div class='add'>+	    if (ISEQ_COMPILE_DATA(ip)-&gt;redo_label != 0) {</div><div class='add'>+		break;</div><div class='add'>+	    }</div><div class='add'>+	    else if (ip-&gt;body-&gt;type == ISEQ_TYPE_BLOCK) {</div><div class='add'>+		break;</div><div class='add'>+	    }</div><div class='add'>+	    else if (ip-&gt;body-&gt;type == ISEQ_TYPE_EVAL) {</div><div class='add'>+                COMPILE_ERROR(ERROR_ARGS "Can't escape from eval with redo");</div><div class='add'>+                return COMPILE_NG;</div><div class='add'>+	    }</div><div class='add'>+</div><div class='add'>+	    ip = ip-&gt;body-&gt;parent_iseq;</div><div class='add'>+	}</div><div class='add'>+	if (ip != 0) {</div><div class='add'>+	    ADD_INSN(ret, line, putnil);</div><div class='add'>+            ADD_INSN1(ret, line, throw, INT2FIX(VM_THROW_NO_ESCAPE_FLAG | TAG_REDO));</div><div class='add'>+</div><div class='add'>+	    if (popped) {</div><div class='add'>+		ADD_INSN(ret, line, pop);</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    COMPILE_ERROR(ERROR_ARGS "Invalid redo");</div><div class='add'>+	    return COMPILE_NG;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+compile_retry(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, int popped)</div><div class='add'>+{</div><div class='add'>+    const int line = nd_line(node);</div><div class='add'>+</div><div class='add'>+    if (iseq-&gt;body-&gt;type == ISEQ_TYPE_RESCUE) {</div><div class='add'>+	ADD_INSN(ret, line, putnil);</div><div class='add'>+	ADD_INSN1(ret, line, throw, INT2FIX(TAG_RETRY));</div><div class='add'>+</div><div class='add'>+	if (popped) {</div><div class='add'>+	    ADD_INSN(ret, line, pop);</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	COMPILE_ERROR(ERROR_ARGS "Invalid retry");</div><div class='add'>+	return COMPILE_NG;</div><div class='add'>+    }</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+compile_rescue(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, int popped)</div><div class='add'>+{</div><div class='add'>+    const int line = nd_line(node);</div><div class='add'>+    LABEL *lstart = NEW_LABEL(line);</div><div class='add'>+    LABEL *lend = NEW_LABEL(line);</div><div class='add'>+    LABEL *lcont = NEW_LABEL(line);</div><div class='add'>+    const rb_iseq_t *rescue = NEW_CHILD_ISEQ(node-&gt;nd_resq,</div><div class='add'>+					     rb_str_concat(rb_str_new2("rescue in "), iseq-&gt;body-&gt;location.label),</div><div class='add'>+					     ISEQ_TYPE_RESCUE, line);</div><div class='add'>+</div><div class='add'>+    lstart-&gt;rescued = LABEL_RESCUE_BEG;</div><div class='add'>+    lend-&gt;rescued = LABEL_RESCUE_END;</div><div class='add'>+    ADD_LABEL(ret, lstart);</div><div class='add'>+    CHECK(COMPILE(ret, "rescue head", node-&gt;nd_head));</div><div class='add'>+    ADD_LABEL(ret, lend);</div><div class='add'>+    if (node-&gt;nd_else) {</div><div class='add'>+	ADD_INSN(ret, line, pop);</div><div class='add'>+	CHECK(COMPILE(ret, "rescue else", node-&gt;nd_else));</div><div class='add'>+    }</div><div class='add'>+    ADD_INSN(ret, line, nop);</div><div class='add'>+    ADD_LABEL(ret, lcont);</div><div class='add'>+</div><div class='add'>+    if (popped) {</div><div class='add'>+	ADD_INSN(ret, line, pop);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    /* register catch entry */</div><div class='add'>+    ADD_CATCH_ENTRY(CATCH_TYPE_RESCUE, lstart, lend, rescue, lcont);</div><div class='add'>+    ADD_CATCH_ENTRY(CATCH_TYPE_RETRY, lend, lcont, NULL, lstart);</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+compile_resbody(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, int popped)</div><div class='add'>+{</div><div class='add'>+    const int line = nd_line(node);</div><div class='add'>+    const NODE *resq = node;</div><div class='add'>+    const NODE *narg;</div><div class='add'>+    LABEL *label_miss, *label_hit;</div><div class='add'>+</div><div class='add'>+    while (resq) {</div><div class='add'>+	label_miss = NEW_LABEL(line);</div><div class='add'>+	label_hit = NEW_LABEL(line);</div><div class='add'>+</div><div class='add'>+	narg = resq-&gt;nd_args;</div><div class='add'>+	if (narg) {</div><div class='add'>+	    switch (nd_type(narg)) {</div><div class='add'>+	      case NODE_LIST:</div><div class='add'>+		while (narg) {</div><div class='add'>+		    ADD_GETLOCAL(ret, line, LVAR_ERRINFO, 0);</div><div class='add'>+		    CHECK(COMPILE(ret, "rescue arg", narg-&gt;nd_head));</div><div class='add'>+		    ADD_INSN1(ret, line, checkmatch, INT2FIX(VM_CHECKMATCH_TYPE_RESCUE));</div><div class='add'>+		    ADD_INSNL(ret, line, branchif, label_hit);</div><div class='add'>+		    narg = narg-&gt;nd_next;</div><div class='add'>+		}</div><div class='add'>+		break;</div><div class='add'>+	      case NODE_SPLAT:</div><div class='add'>+	      case NODE_ARGSCAT:</div><div class='add'>+	      case NODE_ARGSPUSH:</div><div class='add'>+		ADD_GETLOCAL(ret, line, LVAR_ERRINFO, 0);</div><div class='add'>+		CHECK(COMPILE(ret, "rescue/cond splat", narg));</div><div class='add'>+		ADD_INSN1(ret, line, checkmatch, INT2FIX(VM_CHECKMATCH_TYPE_RESCUE | VM_CHECKMATCH_ARRAY));</div><div class='add'>+		ADD_INSNL(ret, line, branchif, label_hit);</div><div class='add'>+		break;</div><div class='add'>+	      default:</div><div class='add'>+		UNKNOWN_NODE("NODE_RESBODY", narg, COMPILE_NG);</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    ADD_GETLOCAL(ret, line, LVAR_ERRINFO, 0);</div><div class='add'>+	    ADD_INSN1(ret, line, putobject, rb_eStandardError);</div><div class='add'>+	    ADD_INSN1(ret, line, checkmatch, INT2FIX(VM_CHECKMATCH_TYPE_RESCUE));</div><div class='add'>+	    ADD_INSNL(ret, line, branchif, label_hit);</div><div class='add'>+	}</div><div class='add'>+	ADD_INSNL(ret, line, jump, label_miss);</div><div class='add'>+	ADD_LABEL(ret, label_hit);</div><div class='add'>+	CHECK(COMPILE(ret, "resbody body", resq-&gt;nd_body));</div><div class='add'>+	if (ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;tailcall_optimization) {</div><div class='add'>+	    ADD_INSN(ret, line, nop);</div><div class='add'>+	}</div><div class='add'>+	ADD_INSN(ret, line, leave);</div><div class='add'>+	ADD_LABEL(ret, label_miss);</div><div class='add'>+	resq = resq-&gt;nd_head;</div><div class='add'>+    }</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+compile_ensure(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, int popped)</div><div class='add'>+{</div><div class='add'>+    const int line = nd_line(node);</div><div class='add'>+    DECL_ANCHOR(ensr);</div><div class='add'>+    const rb_iseq_t *ensure = NEW_CHILD_ISEQ(node-&gt;nd_ensr,</div><div class='add'>+					     rb_str_concat(rb_str_new2 ("ensure in "), iseq-&gt;body-&gt;location.label),</div><div class='add'>+					     ISEQ_TYPE_ENSURE, line);</div><div class='add'>+    LABEL *lstart = NEW_LABEL(line);</div><div class='add'>+    LABEL *lend = NEW_LABEL(line);</div><div class='add'>+    LABEL *lcont = NEW_LABEL(line);</div><div class='add'>+    LINK_ELEMENT *last;</div><div class='add'>+    int last_leave = 0;</div><div class='add'>+    struct ensure_range er;</div><div class='add'>+    struct iseq_compile_data_ensure_node_stack enl;</div><div class='add'>+    struct ensure_range *erange;</div><div class='add'>+</div><div class='add'>+    INIT_ANCHOR(ensr);</div><div class='add'>+    CHECK(COMPILE_POPPED(ensr, "ensure ensr", node-&gt;nd_ensr));</div><div class='add'>+    last = ensr-&gt;last;</div><div class='add'>+    last_leave = last &amp;&amp; IS_INSN(last) &amp;&amp; IS_INSN_ID(last, leave);</div><div class='add'>+</div><div class='add'>+    er.begin = lstart;</div><div class='add'>+    er.end = lend;</div><div class='add'>+    er.next = 0;</div><div class='add'>+    push_ensure_entry(iseq, &amp;enl, &amp;er, node-&gt;nd_ensr);</div><div class='add'>+</div><div class='add'>+    ADD_LABEL(ret, lstart);</div><div class='add'>+    CHECK(COMPILE_(ret, "ensure head", node-&gt;nd_head, (popped | last_leave)));</div><div class='add'>+    ADD_LABEL(ret, lend);</div><div class='add'>+    ADD_SEQ(ret, ensr);</div><div class='add'>+    if (!popped &amp;&amp; last_leave) ADD_INSN(ret, line, putnil);</div><div class='add'>+    ADD_LABEL(ret, lcont);</div><div class='add'>+    if (last_leave) ADD_INSN(ret, line, pop);</div><div class='add'>+</div><div class='add'>+    erange = ISEQ_COMPILE_DATA(iseq)-&gt;ensure_node_stack-&gt;erange;</div><div class='add'>+    if (lstart-&gt;link.next != &amp;lend-&gt;link) {</div><div class='add'>+	while (erange) {</div><div class='add'>+	    ADD_CATCH_ENTRY(CATCH_TYPE_ENSURE, erange-&gt;begin, erange-&gt;end,</div><div class='add'>+			    ensure, lcont);</div><div class='add'>+	    erange = erange-&gt;next;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    ISEQ_COMPILE_DATA(iseq)-&gt;ensure_node_stack = enl.prev;</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+compile_return(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, int popped)</div><div class='add'>+{</div><div class='add'>+    const int line = nd_line(node);</div><div class='add'>+</div><div class='add'>+    if (iseq) {</div><div class='add'>+	enum iseq_type type = iseq-&gt;body-&gt;type;</div><div class='add'>+	const rb_iseq_t *is = iseq;</div><div class='add'>+	enum iseq_type t = type;</div><div class='add'>+	const NODE *retval = node-&gt;nd_stts;</div><div class='add'>+	LABEL *splabel = 0;</div><div class='add'>+</div><div class='add'>+	while (t == ISEQ_TYPE_RESCUE || t == ISEQ_TYPE_ENSURE) {</div><div class='add'>+	    if (!(is = is-&gt;body-&gt;parent_iseq)) break;</div><div class='add'>+	    t = is-&gt;body-&gt;type;</div><div class='add'>+	}</div><div class='add'>+	switch (t) {</div><div class='add'>+	  case ISEQ_TYPE_TOP:</div><div class='add'>+	  case ISEQ_TYPE_MAIN:</div><div class='add'>+            if (retval) {</div><div class='add'>+                rb_warn("argument of top-level return is ignored");</div><div class='add'>+            }</div><div class='add'>+	    if (is == iseq) {</div><div class='add'>+		/* plain top-level, leave directly */</div><div class='add'>+		type = ISEQ_TYPE_METHOD;</div><div class='add'>+	    }</div><div class='add'>+	    break;</div><div class='add'>+	  default:</div><div class='add'>+	    break;</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+	if (type == ISEQ_TYPE_METHOD) {</div><div class='add'>+	    splabel = NEW_LABEL(0);</div><div class='add'>+	    ADD_LABEL(ret, splabel);</div><div class='add'>+	    ADD_ADJUST(ret, line, 0);</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+	CHECK(COMPILE(ret, "return nd_stts (return val)", retval));</div><div class='add'>+</div><div class='add'>+	if (type == ISEQ_TYPE_METHOD) {</div><div class='add'>+	    add_ensure_iseq(ret, iseq, 1);</div><div class='add'>+	    ADD_TRACE(ret, RUBY_EVENT_RETURN);</div><div class='add'>+	    ADD_INSN(ret, line, leave);</div><div class='add'>+	    ADD_ADJUST_RESTORE(ret, splabel);</div><div class='add'>+</div><div class='add'>+	    if (!popped) {</div><div class='add'>+		ADD_INSN(ret, line, putnil);</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    ADD_INSN1(ret, line, throw, INT2FIX(TAG_RETURN));</div><div class='add'>+	    if (popped) {</div><div class='add'>+		ADD_INSN(ret, line, pop);</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+compile_evstr(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, int popped)</div><div class='add'>+{</div><div class='add'>+    CHECK(COMPILE_(ret, "nd_body", node, popped));</div><div class='add'>+</div><div class='add'>+    if (!popped &amp;&amp; !all_string_result_p(node)) {</div><div class='add'>+	const int line = nd_line(node);</div><div class='add'>+	const unsigned int flag = VM_CALL_FCALL;</div><div class='add'>+	LABEL *isstr = NEW_LABEL(line);</div><div class='add'>+	ADD_INSN(ret, line, dup);</div><div class='add'>+	ADD_INSN1(ret, line, checktype, INT2FIX(T_STRING));</div><div class='add'>+	ADD_INSNL(ret, line, branchif, isstr);</div><div class='add'>+	ADD_INSN(ret, line, dup);</div><div class='add'>+	ADD_SEND_R(ret, line, idTo_s, INT2FIX(0), NULL, INT2FIX(flag), NULL);</div><div class='add'>+	ADD_INSN(ret, line, tostring);</div><div class='add'>+	ADD_LABEL(ret, isstr);</div><div class='add'>+    }</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static LABEL *</div><div class='add'>+qcall_branch_start(rb_iseq_t *iseq, LINK_ANCHOR *const recv, VALUE *branches, const NODE *node, int line)</div><div class='add'>+{</div><div class='add'>+    LABEL *else_label = NEW_LABEL(line);</div><div class='add'>+    VALUE br = 0;</div><div class='add'>+</div><div class='add'>+    br = decl_branch_base(iseq, node, "&amp;.");</div><div class='add'>+    *branches = br;</div><div class='add'>+    ADD_INSN(recv, line, dup);</div><div class='add'>+    ADD_INSNL(recv, line, branchnil, else_label);</div><div class='add'>+    add_trace_branch_coverage(iseq, recv, node, 0, "then", br);</div><div class='add'>+    return else_label;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+qcall_branch_end(rb_iseq_t *iseq, LINK_ANCHOR *const ret, LABEL *else_label, VALUE branches, const NODE *node, int line)</div><div class='add'>+{</div><div class='add'>+    LABEL *end_label;</div><div class='add'>+    if (!else_label) return;</div><div class='add'>+    end_label = NEW_LABEL(line);</div><div class='add'>+    ADD_INSNL(ret, line, jump, end_label);</div><div class='add'>+    ADD_LABEL(ret, else_label);</div><div class='add'>+    add_trace_branch_coverage(iseq, ret, node, 1, "else", branches);</div><div class='add'>+    ADD_LABEL(ret, end_label);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+compile_call_precheck_freeze(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, int line, int popped)</div><div class='add'>+{</div><div class='add'>+    /* optimization shortcut</div><div class='add'>+     *   "literal".freeze -&gt; opt_str_freeze("literal")</div><div class='add'>+     */</div><div class='add'>+    if (node-&gt;nd_recv &amp;&amp; nd_type(node-&gt;nd_recv) == NODE_STR &amp;&amp;</div><div class='add'>+        (node-&gt;nd_mid == idFreeze || node-&gt;nd_mid == idUMinus) &amp;&amp;</div><div class='add'>+        node-&gt;nd_args == NULL &amp;&amp;</div><div class='add'>+        ISEQ_COMPILE_DATA(iseq)-&gt;current_block == NULL &amp;&amp;</div><div class='add'>+        ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;specialized_instruction) {</div><div class='add'>+        VALUE str = rb_fstring(node-&gt;nd_recv-&gt;nd_lit);</div><div class='add'>+        if (node-&gt;nd_mid == idUMinus) {</div><div class='add'>+            ADD_INSN2(ret, line, opt_str_uminus, str,</div><div class='add'>+                      new_callinfo(iseq, idUMinus, 0, 0, NULL, FALSE));</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            ADD_INSN2(ret, line, opt_str_freeze, str,</div><div class='add'>+                      new_callinfo(iseq, idFreeze, 0, 0, NULL, FALSE));</div><div class='add'>+        }</div><div class='add'>+        RB_OBJ_WRITTEN(iseq, Qundef, str);</div><div class='add'>+        if (popped) {</div><div class='add'>+            ADD_INSN(ret, line, pop);</div><div class='add'>+        }</div><div class='add'>+        return TRUE;</div><div class='add'>+    }</div><div class='add'>+    /* optimization shortcut</div><div class='add'>+     *   obj["literal"] -&gt; opt_aref_with(obj, "literal")</div><div class='add'>+     */</div><div class='add'>+    if (node-&gt;nd_mid == idAREF &amp;&amp; !private_recv_p(node) &amp;&amp; node-&gt;nd_args &amp;&amp;</div><div class='add'>+        nd_type(node-&gt;nd_args) == NODE_LIST &amp;&amp; node-&gt;nd_args-&gt;nd_alen == 1 &amp;&amp;</div><div class='add'>+        nd_type(node-&gt;nd_args-&gt;nd_head) == NODE_STR &amp;&amp;</div><div class='add'>+        ISEQ_COMPILE_DATA(iseq)-&gt;current_block == NULL &amp;&amp;</div><div class='add'>+        !ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;frozen_string_literal &amp;&amp;</div><div class='add'>+        ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;specialized_instruction) {</div><div class='add'>+        VALUE str = rb_fstring(node-&gt;nd_args-&gt;nd_head-&gt;nd_lit);</div><div class='add'>+        CHECK(COMPILE(ret, "recv", node-&gt;nd_recv));</div><div class='add'>+        ADD_INSN2(ret, line, opt_aref_with, str,</div><div class='add'>+                  new_callinfo(iseq, idAREF, 1, 0, NULL, FALSE));</div><div class='add'>+        RB_OBJ_WRITTEN(iseq, Qundef, str);</div><div class='add'>+        if (popped) {</div><div class='add'>+            ADD_INSN(ret, line, pop);</div><div class='add'>+        }</div><div class='add'>+        return TRUE;</div><div class='add'>+    }</div><div class='add'>+    return FALSE;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+iseq_has_builtin_function_table(const rb_iseq_t *iseq)</div><div class='add'>+{</div><div class='add'>+    return ISEQ_COMPILE_DATA(iseq)-&gt;builtin_function_table != NULL;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static const struct rb_builtin_function *</div><div class='add'>+iseq_builtin_function_lookup(const rb_iseq_t *iseq, const char *name)</div><div class='add'>+{</div><div class='add'>+    int i;</div><div class='add'>+    const struct rb_builtin_function *table = ISEQ_COMPILE_DATA(iseq)-&gt;builtin_function_table;</div><div class='add'>+    for (i=0; table[i].index != -1; i++) {</div><div class='add'>+        if (strcmp(table[i].name, name) == 0) {</div><div class='add'>+            return &amp;table[i];</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    return NULL;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static const char *</div><div class='add'>+iseq_builtin_function_name(const enum node_type type, const NODE *recv, ID mid)</div><div class='add'>+{</div><div class='add'>+    const char *name = rb_id2name(mid);</div><div class='add'>+    static const char prefix[] = "__builtin_";</div><div class='add'>+    const size_t prefix_len = sizeof(prefix) - 1;</div><div class='add'>+</div><div class='add'>+    switch (type) {</div><div class='add'>+      case NODE_CALL:</div><div class='add'>+        if (recv) {</div><div class='add'>+            switch (nd_type(recv)) {</div><div class='add'>+              case NODE_VCALL:</div><div class='add'>+                if (recv-&gt;nd_mid == rb_intern("__builtin")) {</div><div class='add'>+                    return name;</div><div class='add'>+                }</div><div class='add'>+                break;</div><div class='add'>+              case NODE_CONST:</div><div class='add'>+                if (recv-&gt;nd_vid == rb_intern("Primitive")) {</div><div class='add'>+                    return name;</div><div class='add'>+                }</div><div class='add'>+                break;</div><div class='add'>+              default: break;</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+        break;</div><div class='add'>+      case NODE_VCALL:</div><div class='add'>+      case NODE_FCALL:</div><div class='add'>+        if (UNLIKELY(strncmp(prefix, name, prefix_len) == 0)) {</div><div class='add'>+            return &amp;name[prefix_len];</div><div class='add'>+        }</div><div class='add'>+        break;</div><div class='add'>+      default: break;</div><div class='add'>+    }</div><div class='add'>+    return NULL;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+delegate_call_p(const rb_iseq_t *iseq, unsigned int argc, const LINK_ANCHOR *args, unsigned int *pstart_index)</div><div class='add'>+{</div><div class='add'>+</div><div class='add'>+    if (argc == 0) {</div><div class='add'>+        *pstart_index = 0;</div><div class='add'>+        return TRUE;</div><div class='add'>+    }</div><div class='add'>+    else if (argc &lt;= iseq-&gt;body-&gt;local_table_size) {</div><div class='add'>+        unsigned int start=0;</div><div class='add'>+</div><div class='add'>+        // local_table: [p1, p2, p3, l1, l2, l3]</div><div class='add'>+        // arguments:           [p3, l1, l2]     -&gt; 2</div><div class='add'>+        for (start = 0;</div><div class='add'>+             argc + start &lt;= iseq-&gt;body-&gt;local_table_size;</div><div class='add'>+             start++) {</div><div class='add'>+            const LINK_ELEMENT *elem = FIRST_ELEMENT(args);</div><div class='add'>+</div><div class='add'>+            for (unsigned int i=start; i-start&lt;argc; i++) {</div><div class='add'>+                if (elem-&gt;type == ISEQ_ELEMENT_INSN &amp;&amp;</div><div class='add'>+                    INSN_OF(elem) == BIN(getlocal)) {</div><div class='add'>+                    int local_index = FIX2INT(OPERAND_AT(elem, 0));</div><div class='add'>+                    int local_level = FIX2INT(OPERAND_AT(elem, 1));</div><div class='add'>+</div><div class='add'>+                    if (local_level == 0) {</div><div class='add'>+                        unsigned int index = iseq-&gt;body-&gt;local_table_size - (local_index - VM_ENV_DATA_SIZE + 1);</div><div class='add'>+                        if (0) { // for debug</div><div class='add'>+                            fprintf(stderr, "lvar:%s (%d), id:%s (%d) local_index:%d, local_size:%d\n",</div><div class='add'>+                                    rb_id2name(iseq-&gt;body-&gt;local_table[i]),     i,</div><div class='add'>+                                    rb_id2name(iseq-&gt;body-&gt;local_table[index]), index,</div><div class='add'>+                                    local_index, (int)iseq-&gt;body-&gt;local_table_size);</div><div class='add'>+                        }</div><div class='add'>+                        if (i == index) {</div><div class='add'>+                            elem = elem-&gt;next;</div><div class='add'>+                            continue; /* for */</div><div class='add'>+                        }</div><div class='add'>+                        else {</div><div class='add'>+                            goto next;</div><div class='add'>+                        }</div><div class='add'>+                    }</div><div class='add'>+                    else {</div><div class='add'>+                        goto fail; // level != 0 is unsupported</div><div class='add'>+                    }</div><div class='add'>+                }</div><div class='add'>+                else {</div><div class='add'>+                    goto fail; // insn is not a getlocal</div><div class='add'>+                }</div><div class='add'>+            }</div><div class='add'>+            goto success;</div><div class='add'>+          next:;</div><div class='add'>+        }</div><div class='add'>+      fail:</div><div class='add'>+        return FALSE;</div><div class='add'>+      success:</div><div class='add'>+        *pstart_index = start;</div><div class='add'>+        return TRUE;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        return FALSE;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+compile_builtin_function_call(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, int line, int popped,</div><div class='add'>+                              const rb_iseq_t *parent_block, LINK_ANCHOR *args, const char *builtin_func)</div><div class='add'>+{</div><div class='add'>+    NODE *args_node = node-&gt;nd_args;</div><div class='add'>+</div><div class='add'>+    if (parent_block != NULL) {</div><div class='add'>+        COMPILE_ERROR(iseq, line, "should not call builtins here.");</div><div class='add'>+        return COMPILE_NG;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+# define BUILTIN_INLINE_PREFIX "_bi"</div><div class='add'>+        char inline_func[DECIMAL_SIZE_OF_BITS(sizeof(int) * CHAR_BIT) + sizeof(BUILTIN_INLINE_PREFIX)];</div><div class='add'>+        bool cconst = false;</div><div class='add'>+      retry:;</div><div class='add'>+        const struct rb_builtin_function *bf = iseq_builtin_function_lookup(iseq, builtin_func);</div><div class='add'>+</div><div class='add'>+        if (bf == NULL) {</div><div class='add'>+            if (strcmp("cstmt!", builtin_func) == 0 ||</div><div class='add'>+                strcmp("cexpr!", builtin_func) == 0) {</div><div class='add'>+                // ok</div><div class='add'>+            }</div><div class='add'>+            else if (strcmp("cconst!", builtin_func) == 0) {</div><div class='add'>+                cconst = true;</div><div class='add'>+            }</div><div class='add'>+            else if (strcmp("cinit!", builtin_func) == 0) {</div><div class='add'>+                // ignore</div><div class='add'>+                GET_VM()-&gt;builtin_inline_index++;</div><div class='add'>+                return COMPILE_OK;</div><div class='add'>+            }</div><div class='add'>+            else if (strcmp("attr!", builtin_func) == 0) {</div><div class='add'>+                // There's only "inline" attribute for now</div><div class='add'>+                iseq-&gt;body-&gt;builtin_inline_p = true;</div><div class='add'>+                return COMPILE_OK;</div><div class='add'>+            }</div><div class='add'>+            else if (1) {</div><div class='add'>+                rb_bug("can't find builtin function:%s", builtin_func);</div><div class='add'>+            }</div><div class='add'>+            else {</div><div class='add'>+                COMPILE_ERROR(ERROR_ARGS "can't find builtin function:%s", builtin_func);</div><div class='add'>+                return COMPILE_NG;</div><div class='add'>+            }</div><div class='add'>+</div><div class='add'>+            if (GET_VM()-&gt;builtin_inline_index == INT_MAX) {</div><div class='add'>+                rb_bug("builtin inline function index overflow:%s", builtin_func);</div><div class='add'>+            }</div><div class='add'>+            int inline_index = GET_VM()-&gt;builtin_inline_index++;</div><div class='add'>+            snprintf(inline_func, sizeof(inline_func), BUILTIN_INLINE_PREFIX "%d", inline_index);</div><div class='add'>+            builtin_func = inline_func;</div><div class='add'>+            args_node = NULL;</div><div class='add'>+            goto retry;</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        if (cconst) {</div><div class='add'>+            typedef VALUE(*builtin_func0)(void *, VALUE);</div><div class='add'>+            VALUE const_val = (*(builtin_func0)bf-&gt;func_ptr)(NULL, Qnil);</div><div class='add'>+            ADD_INSN1(ret, line, putobject, const_val);</div><div class='add'>+            return COMPILE_OK;</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        // fprintf(stderr, "func_name:%s -&gt; %p\n", builtin_func, bf-&gt;func_ptr);</div><div class='add'>+</div><div class='add'>+        unsigned int flag = 0;</div><div class='add'>+        struct rb_callinfo_kwarg *keywords = NULL;</div><div class='add'>+        VALUE argc = setup_args(iseq, args, args_node, &amp;flag, &amp;keywords);</div><div class='add'>+</div><div class='add'>+        if (FIX2INT(argc) != bf-&gt;argc) {</div><div class='add'>+            COMPILE_ERROR(ERROR_ARGS "argc is not match for builtin function:%s (expect %d but %d)",</div><div class='add'>+                          builtin_func, bf-&gt;argc, FIX2INT(argc));</div><div class='add'>+            return COMPILE_NG;</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        unsigned int start_index;</div><div class='add'>+        if (delegate_call_p(iseq, FIX2INT(argc), args, &amp;start_index)) {</div><div class='add'>+            ADD_INSN2(ret, line, opt_invokebuiltin_delegate, bf, INT2FIX(start_index));</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            ADD_SEQ(ret, args);</div><div class='add'>+            ADD_INSN1(ret,line, invokebuiltin, bf);</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        if (popped) ADD_INSN(ret, line, pop);</div><div class='add'>+        return COMPILE_OK;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+compile_call(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, const enum node_type type, int line, int popped)</div><div class='add'>+{</div><div class='add'>+    /* call:  obj.method(...)</div><div class='add'>+     * fcall: func(...)</div><div class='add'>+     * vcall: func</div><div class='add'>+     */</div><div class='add'>+    DECL_ANCHOR(recv);</div><div class='add'>+    DECL_ANCHOR(args);</div><div class='add'>+    ID mid = node-&gt;nd_mid;</div><div class='add'>+    VALUE argc;</div><div class='add'>+    unsigned int flag = 0;</div><div class='add'>+    struct rb_callinfo_kwarg *keywords = NULL;</div><div class='add'>+    const rb_iseq_t *parent_block = ISEQ_COMPILE_DATA(iseq)-&gt;current_block;</div><div class='add'>+    LABEL *else_label = NULL;</div><div class='add'>+    VALUE branches = Qfalse;</div><div class='add'>+</div><div class='add'>+    ISEQ_COMPILE_DATA(iseq)-&gt;current_block = NULL;</div><div class='add'>+</div><div class='add'>+    INIT_ANCHOR(recv);</div><div class='add'>+    INIT_ANCHOR(args);</div><div class='add'>+#if OPT_SUPPORT_JOKE</div><div class='add'>+    if (nd_type(node) == NODE_VCALL) {</div><div class='add'>+        ID id_bitblt;</div><div class='add'>+        ID id_answer;</div><div class='add'>+</div><div class='add'>+        CONST_ID(id_bitblt, "bitblt");</div><div class='add'>+        CONST_ID(id_answer, "the_answer_to_life_the_universe_and_everything");</div><div class='add'>+</div><div class='add'>+        if (mid == id_bitblt) {</div><div class='add'>+            ADD_INSN(ret, line, bitblt);</div><div class='add'>+            return COMPILE_OK;</div><div class='add'>+        }</div><div class='add'>+        else if (mid == id_answer) {</div><div class='add'>+            ADD_INSN(ret, line, answer);</div><div class='add'>+            return COMPILE_OK;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    /* only joke */</div><div class='add'>+    {</div><div class='add'>+        ID goto_id;</div><div class='add'>+        ID label_id;</div><div class='add'>+</div><div class='add'>+        CONST_ID(goto_id, "__goto__");</div><div class='add'>+        CONST_ID(label_id, "__label__");</div><div class='add'>+</div><div class='add'>+        if (nd_type(node) == NODE_FCALL &amp;&amp;</div><div class='add'>+            (mid == goto_id || mid == label_id)) {</div><div class='add'>+            LABEL *label;</div><div class='add'>+            st_data_t data;</div><div class='add'>+            st_table *labels_table = ISEQ_COMPILE_DATA(iseq)-&gt;labels_table;</div><div class='add'>+            VALUE label_name;</div><div class='add'>+</div><div class='add'>+            if (!labels_table) {</div><div class='add'>+                labels_table = st_init_numtable();</div><div class='add'>+                ISEQ_COMPILE_DATA(iseq)-&gt;labels_table = labels_table;</div><div class='add'>+            }</div><div class='add'>+            if (nd_type(node-&gt;nd_args-&gt;nd_head) == NODE_LIT &amp;&amp;</div><div class='add'>+                SYMBOL_P(node-&gt;nd_args-&gt;nd_head-&gt;nd_lit)) {</div><div class='add'>+</div><div class='add'>+                label_name = node-&gt;nd_args-&gt;nd_head-&gt;nd_lit;</div><div class='add'>+                if (!st_lookup(labels_table, (st_data_t)label_name, &amp;data)) {</div><div class='add'>+                    label = NEW_LABEL(line);</div><div class='add'>+                    label-&gt;position = line;</div><div class='add'>+                    st_insert(labels_table, (st_data_t)label_name, (st_data_t)label);</div><div class='add'>+                }</div><div class='add'>+                else {</div><div class='add'>+                    label = (LABEL *)data;</div><div class='add'>+                }</div><div class='add'>+            }</div><div class='add'>+            else {</div><div class='add'>+                COMPILE_ERROR(ERROR_ARGS "invalid goto/label format");</div><div class='add'>+                return COMPILE_NG;</div><div class='add'>+            }</div><div class='add'>+</div><div class='add'>+            if (mid == goto_id) {</div><div class='add'>+                ADD_INSNL(ret, line, jump, label);</div><div class='add'>+            }</div><div class='add'>+            else {</div><div class='add'>+                ADD_LABEL(ret, label);</div><div class='add'>+            }</div><div class='add'>+            return COMPILE_OK;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+    const char *builtin_func;</div><div class='add'>+    if (UNLIKELY(iseq_has_builtin_function_table(iseq)) &amp;&amp;</div><div class='add'>+        (builtin_func = iseq_builtin_function_name(type, node-&gt;nd_recv, mid)) != NULL) {</div><div class='add'>+        return compile_builtin_function_call(iseq, ret, node, line, popped, parent_block, args, builtin_func);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    /* receiver */</div><div class='add'>+    if (type == NODE_CALL || type == NODE_OPCALL || type == NODE_QCALL) {</div><div class='add'>+        int idx, level;</div><div class='add'>+</div><div class='add'>+        if (mid == idCall &amp;&amp;</div><div class='add'>+            nd_type(node-&gt;nd_recv) == NODE_LVAR &amp;&amp;</div><div class='add'>+            iseq_block_param_id_p(iseq, node-&gt;nd_recv-&gt;nd_vid, &amp;idx, &amp;level)) {</div><div class='add'>+            ADD_INSN2(recv, nd_line(node-&gt;nd_recv), getblockparamproxy, INT2FIX(idx + VM_ENV_DATA_SIZE - 1), INT2FIX(level));</div><div class='add'>+        }</div><div class='add'>+        else if (private_recv_p(node)) {</div><div class='add'>+            ADD_INSN(recv, nd_line(node), putself);</div><div class='add'>+            flag |= VM_CALL_FCALL;</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            CHECK(COMPILE(recv, "recv", node-&gt;nd_recv));</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        if (type == NODE_QCALL) {</div><div class='add'>+            else_label = qcall_branch_start(iseq, recv, &amp;branches, node, line);</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    else if (type == NODE_FCALL || type == NODE_VCALL) {</div><div class='add'>+        ADD_CALL_RECEIVER(recv, line);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    /* args */</div><div class='add'>+    if (type != NODE_VCALL) {</div><div class='add'>+        argc = setup_args(iseq, args, node-&gt;nd_args, &amp;flag, &amp;keywords);</div><div class='add'>+        CHECK(!NIL_P(argc));</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        argc = INT2FIX(0);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    ADD_SEQ(ret, recv);</div><div class='add'>+    ADD_SEQ(ret, args);</div><div class='add'>+</div><div class='add'>+    debugp_param("call args argc", argc);</div><div class='add'>+    debugp_param("call method", ID2SYM(mid));</div><div class='add'>+</div><div class='add'>+    switch ((int)type) {</div><div class='add'>+      case NODE_VCALL:</div><div class='add'>+        flag |= VM_CALL_VCALL;</div><div class='add'>+        /* VCALL is funcall, so fall through */</div><div class='add'>+      case NODE_FCALL:</div><div class='add'>+        flag |= VM_CALL_FCALL;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    ADD_SEND_R(ret, line, mid, argc, parent_block, INT2FIX(flag), keywords);</div><div class='add'>+</div><div class='add'>+    qcall_branch_end(iseq, ret, else_label, branches, node, line);</div><div class='add'>+    if (popped) {</div><div class='add'>+        ADD_INSN(ret, line, pop);</div><div class='add'>+    }</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+static int iseq_compile_each0(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *node, int popped);</div><div class='add'>+/**</div><div class='add'>+  compile each node</div><div class='add'>+</div><div class='add'>+  self:  InstructionSequence</div><div class='add'>+  node:  Ruby compiled node</div><div class='add'>+  popped: This node will be popped</div><div class='add'>+ */</div><div class='add'>+static int</div><div class='add'>+iseq_compile_each(rb_iseq_t *iseq, LINK_ANCHOR *ret, const NODE *node, int popped)</div><div class='add'>+{</div><div class='add'>+    if (node == 0) {</div><div class='add'>+        if (!popped) {</div><div class='add'>+            int lineno = ISEQ_COMPILE_DATA(iseq)-&gt;last_line;</div><div class='add'>+            if (lineno == 0) lineno = FIX2INT(rb_iseq_first_lineno(iseq));</div><div class='add'>+            debugs("node: NODE_NIL(implicit)\n");</div><div class='add'>+            ADD_INSN(ret, lineno, putnil);</div><div class='add'>+        }</div><div class='add'>+        return COMPILE_OK;</div><div class='add'>+    }</div><div class='add'>+    return iseq_compile_each0(iseq, ret, node, popped);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+check_yield_place(const rb_iseq_t *iseq)</div><div class='add'>+{</div><div class='add'>+    switch (iseq-&gt;body-&gt;local_iseq-&gt;body-&gt;type) {</div><div class='add'>+      case ISEQ_TYPE_TOP:</div><div class='add'>+      case ISEQ_TYPE_MAIN:</div><div class='add'>+      case ISEQ_TYPE_CLASS:</div><div class='add'>+        return FALSE;</div><div class='add'>+      default:</div><div class='add'>+        return TRUE;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+iseq_compile_each0(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *node, int popped)</div><div class='add'>+{</div><div class='add'>+    const int line = (int)nd_line(node);</div><div class='add'>+    const enum node_type type = nd_type(node);</div><div class='add'>+    struct rb_iseq_constant_body *const body = iseq-&gt;body;</div><div class='add'>+</div><div class='add'>+    if (ISEQ_COMPILE_DATA(iseq)-&gt;last_line == line) {</div><div class='add'>+	/* ignore */</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	if (node-&gt;flags &amp; NODE_FL_NEWLINE) {</div><div class='add'>+	    int event = RUBY_EVENT_LINE;</div><div class='add'>+	    ISEQ_COMPILE_DATA(iseq)-&gt;last_line = line;</div><div class='add'>+	    if (ISEQ_COVERAGE(iseq) &amp;&amp; ISEQ_LINE_COVERAGE(iseq)) {</div><div class='add'>+		event |= RUBY_EVENT_COVERAGE_LINE;</div><div class='add'>+	    }</div><div class='add'>+	    ADD_TRACE(ret, event);</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    debug_node_start(node);</div><div class='add'>+#undef BEFORE_RETURN</div><div class='add'>+#define BEFORE_RETURN debug_node_end()</div><div class='add'>+</div><div class='add'>+    switch (type) {</div><div class='add'>+      case NODE_BLOCK:{</div><div class='add'>+	while (node &amp;&amp; nd_type(node) == NODE_BLOCK) {</div><div class='add'>+	    CHECK(COMPILE_(ret, "BLOCK body", node-&gt;nd_head,</div><div class='add'>+			   (node-&gt;nd_next ? 1 : popped)));</div><div class='add'>+	    node = node-&gt;nd_next;</div><div class='add'>+	}</div><div class='add'>+	if (node) {</div><div class='add'>+	    CHECK(COMPILE_(ret, "BLOCK next", node-&gt;nd_next, popped));</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_IF:</div><div class='add'>+      case NODE_UNLESS:</div><div class='add'>+	CHECK(compile_if(iseq, ret, node, popped, type));</div><div class='add'>+	break;</div><div class='add'>+      case NODE_CASE:</div><div class='add'>+	CHECK(compile_case(iseq, ret, node, popped));</div><div class='add'>+	break;</div><div class='add'>+      case NODE_CASE2:</div><div class='add'>+	CHECK(compile_case2(iseq, ret, node, popped));</div><div class='add'>+	break;</div><div class='add'>+      case NODE_CASE3:</div><div class='add'>+        CHECK(compile_case3(iseq, ret, node, popped));</div><div class='add'>+        break;</div><div class='add'>+      case NODE_WHILE:</div><div class='add'>+      case NODE_UNTIL:</div><div class='add'>+	CHECK(compile_loop(iseq, ret, node, popped, type));</div><div class='add'>+	break;</div><div class='add'>+      case NODE_FOR:</div><div class='add'>+      case NODE_ITER:</div><div class='add'>+	CHECK(compile_iter(iseq, ret, node, popped));</div><div class='add'>+	break;</div><div class='add'>+      case NODE_FOR_MASGN:</div><div class='add'>+	CHECK(compile_for_masgn(iseq, ret, node, popped));</div><div class='add'>+	break;</div><div class='add'>+      case NODE_BREAK:</div><div class='add'>+	CHECK(compile_break(iseq, ret, node, popped));</div><div class='add'>+	break;</div><div class='add'>+      case NODE_NEXT:</div><div class='add'>+	CHECK(compile_next(iseq, ret, node, popped));</div><div class='add'>+	break;</div><div class='add'>+      case NODE_REDO:</div><div class='add'>+	CHECK(compile_redo(iseq, ret, node, popped));</div><div class='add'>+	break;</div><div class='add'>+      case NODE_RETRY:</div><div class='add'>+	CHECK(compile_retry(iseq, ret, node, popped));</div><div class='add'>+	break;</div><div class='add'>+      case NODE_BEGIN:{</div><div class='add'>+	CHECK(COMPILE_(ret, "NODE_BEGIN", node-&gt;nd_body, popped));</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_RESCUE:</div><div class='add'>+	CHECK(compile_rescue(iseq, ret, node, popped));</div><div class='add'>+	break;</div><div class='add'>+      case NODE_RESBODY:</div><div class='add'>+	CHECK(compile_resbody(iseq, ret, node, popped));</div><div class='add'>+	break;</div><div class='add'>+      case NODE_ENSURE:</div><div class='add'>+	CHECK(compile_ensure(iseq, ret, node, popped));</div><div class='add'>+	break;</div><div class='add'>+</div><div class='add'>+      case NODE_AND:</div><div class='add'>+      case NODE_OR:{</div><div class='add'>+	LABEL *end_label = NEW_LABEL(line);</div><div class='add'>+	CHECK(COMPILE(ret, "nd_1st", node-&gt;nd_1st));</div><div class='add'>+	if (!popped) {</div><div class='add'>+	    ADD_INSN(ret, line, dup);</div><div class='add'>+	}</div><div class='add'>+	if (type == NODE_AND) {</div><div class='add'>+	    ADD_INSNL(ret, line, branchunless, end_label);</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    ADD_INSNL(ret, line, branchif, end_label);</div><div class='add'>+	}</div><div class='add'>+	if (!popped) {</div><div class='add'>+	    ADD_INSN(ret, line, pop);</div><div class='add'>+	}</div><div class='add'>+	CHECK(COMPILE_(ret, "nd_2nd", node-&gt;nd_2nd, popped));</div><div class='add'>+	ADD_LABEL(ret, end_label);</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+</div><div class='add'>+      case NODE_MASGN:{</div><div class='add'>+	compile_massign(iseq, ret, node, popped);</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+</div><div class='add'>+      case NODE_LASGN:{</div><div class='add'>+	ID id = node-&gt;nd_vid;</div><div class='add'>+	int idx = body-&gt;local_iseq-&gt;body-&gt;local_table_size - get_local_var_idx(iseq, id);</div><div class='add'>+</div><div class='add'>+	debugs("lvar: %s idx: %d\n", rb_id2name(id), idx);</div><div class='add'>+	CHECK(COMPILE(ret, "rvalue", node-&gt;nd_value));</div><div class='add'>+</div><div class='add'>+	if (!popped) {</div><div class='add'>+	    ADD_INSN(ret, line, dup);</div><div class='add'>+	}</div><div class='add'>+	ADD_SETLOCAL(ret, line, idx, get_lvar_level(iseq));</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_DASGN:</div><div class='add'>+      case NODE_DASGN_CURR:{</div><div class='add'>+	int idx, lv, ls;</div><div class='add'>+	ID id = node-&gt;nd_vid;</div><div class='add'>+	CHECK(COMPILE(ret, "dvalue", node-&gt;nd_value));</div><div class='add'>+	debugi("dassn id", rb_id2str(id) ? id : '*');</div><div class='add'>+</div><div class='add'>+	if (!popped) {</div><div class='add'>+	    ADD_INSN(ret, line, dup);</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+	idx = get_dyna_var_idx(iseq, id, &amp;lv, &amp;ls);</div><div class='add'>+</div><div class='add'>+	if (idx &lt; 0) {</div><div class='add'>+	    COMPILE_ERROR(ERROR_ARGS "NODE_DASGN(_CURR): unknown id (%"PRIsVALUE")",</div><div class='add'>+			  rb_id2str(id));</div><div class='add'>+	    goto ng;</div><div class='add'>+	}</div><div class='add'>+	ADD_SETLOCAL(ret, line, ls - idx, lv);</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_GASGN:{</div><div class='add'>+	CHECK(COMPILE(ret, "lvalue", node-&gt;nd_value));</div><div class='add'>+</div><div class='add'>+	if (!popped) {</div><div class='add'>+	    ADD_INSN(ret, line, dup);</div><div class='add'>+	}</div><div class='add'>+	ADD_INSN1(ret, line, setglobal, ID2SYM(node-&gt;nd_entry));</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_IASGN:{</div><div class='add'>+	CHECK(COMPILE(ret, "lvalue", node-&gt;nd_value));</div><div class='add'>+	if (!popped) {</div><div class='add'>+	    ADD_INSN(ret, line, dup);</div><div class='add'>+	}</div><div class='add'>+	ADD_INSN2(ret, line, setinstancevariable,</div><div class='add'>+		  ID2SYM(node-&gt;nd_vid),</div><div class='add'>+		  get_ivar_ic_value(iseq,node-&gt;nd_vid));</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_CDECL:{</div><div class='add'>+        CHECK(COMPILE(ret, "lvalue", node-&gt;nd_value));</div><div class='add'>+</div><div class='add'>+        if (!popped) {</div><div class='add'>+            ADD_INSN(ret, line, dup);</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+	if (node-&gt;nd_vid) {</div><div class='add'>+	    ADD_INSN1(ret, line, putspecialobject,</div><div class='add'>+		      INT2FIX(VM_SPECIAL_OBJECT_CONST_BASE));</div><div class='add'>+            ADD_INSN1(ret, line, setconstant, ID2SYM(node-&gt;nd_vid));</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    compile_cpath(ret, iseq, node-&gt;nd_else);</div><div class='add'>+            ADD_INSN1(ret, line, setconstant, ID2SYM(node-&gt;nd_else-&gt;nd_mid));</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_CVASGN:{</div><div class='add'>+	CHECK(COMPILE(ret, "cvasgn val", node-&gt;nd_value));</div><div class='add'>+	if (!popped) {</div><div class='add'>+	    ADD_INSN(ret, line, dup);</div><div class='add'>+	}</div><div class='add'>+	ADD_INSN1(ret, line, setclassvariable,</div><div class='add'>+		  ID2SYM(node-&gt;nd_vid));</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_OP_ASGN1: {</div><div class='add'>+	VALUE argc;</div><div class='add'>+	unsigned int flag = 0;</div><div class='add'>+	int asgnflag = 0;</div><div class='add'>+	ID id = node-&gt;nd_mid;</div><div class='add'>+	int boff = 0;</div><div class='add'>+</div><div class='add'>+	/*</div><div class='add'>+	 * a[x] (op)= y</div><div class='add'>+	 *</div><div class='add'>+	 * nil       # nil</div><div class='add'>+	 * eval a    # nil a</div><div class='add'>+	 * eval x    # nil a x</div><div class='add'>+	 * dupn 2    # nil a x a x</div><div class='add'>+	 * send :[]  # nil a x a[x]</div><div class='add'>+	 * eval y    # nil a x a[x] y</div><div class='add'>+	 * send op   # nil a x ret</div><div class='add'>+	 * setn 3    # ret a x ret</div><div class='add'>+	 * send []=  # ret ?</div><div class='add'>+	 * pop       # ret</div><div class='add'>+	 */</div><div class='add'>+</div><div class='add'>+	/*</div><div class='add'>+	 * nd_recv[nd_args-&gt;nd_body] (nd_mid)= nd_args-&gt;nd_head;</div><div class='add'>+	 * NODE_OP_ASGN nd_recv</div><div class='add'>+	 *              nd_args-&gt;nd_head</div><div class='add'>+	 *              nd_args-&gt;nd_body</div><div class='add'>+	 *              nd_mid</div><div class='add'>+	 */</div><div class='add'>+</div><div class='add'>+	if (!popped) {</div><div class='add'>+	    ADD_INSN(ret, line, putnil);</div><div class='add'>+	}</div><div class='add'>+	asgnflag = COMPILE_RECV(ret, "NODE_OP_ASGN1 recv", node);</div><div class='add'>+        CHECK(asgnflag != -1);</div><div class='add'>+	switch (nd_type(node-&gt;nd_args-&gt;nd_head)) {</div><div class='add'>+	  case NODE_ZLIST:</div><div class='add'>+	    argc = INT2FIX(0);</div><div class='add'>+	    break;</div><div class='add'>+	  case NODE_BLOCK_PASS:</div><div class='add'>+	    boff = 1;</div><div class='add'>+            /* fall through */</div><div class='add'>+	  default:</div><div class='add'>+	    argc = setup_args(iseq, ret, node-&gt;nd_args-&gt;nd_head, &amp;flag, NULL);</div><div class='add'>+	    CHECK(!NIL_P(argc));</div><div class='add'>+	}</div><div class='add'>+	ADD_INSN1(ret, line, dupn, FIXNUM_INC(argc, 1 + boff));</div><div class='add'>+        flag |= asgnflag;</div><div class='add'>+	ADD_SEND_WITH_FLAG(ret, line, idAREF, argc, INT2FIX(flag));</div><div class='add'>+</div><div class='add'>+	if (id == idOROP || id == idANDOP) {</div><div class='add'>+	    /* a[x] ||= y  or  a[x] &amp;&amp;= y</div><div class='add'>+</div><div class='add'>+	       unless/if a[x]</div><div class='add'>+	       a[x]= y</div><div class='add'>+	       else</div><div class='add'>+	       nil</div><div class='add'>+	       end</div><div class='add'>+	    */</div><div class='add'>+	    LABEL *label = NEW_LABEL(line);</div><div class='add'>+	    LABEL *lfin = NEW_LABEL(line);</div><div class='add'>+</div><div class='add'>+	    ADD_INSN(ret, line, dup);</div><div class='add'>+	    if (id == idOROP) {</div><div class='add'>+		ADD_INSNL(ret, line, branchif, label);</div><div class='add'>+	    }</div><div class='add'>+	    else { /* idANDOP */</div><div class='add'>+		ADD_INSNL(ret, line, branchunless, label);</div><div class='add'>+	    }</div><div class='add'>+	    ADD_INSN(ret, line, pop);</div><div class='add'>+</div><div class='add'>+	    CHECK(COMPILE(ret, "NODE_OP_ASGN1 args-&gt;body: ", node-&gt;nd_args-&gt;nd_body));</div><div class='add'>+	    if (!popped) {</div><div class='add'>+		ADD_INSN1(ret, line, setn, FIXNUM_INC(argc, 2+boff));</div><div class='add'>+	    }</div><div class='add'>+	    if (flag &amp; VM_CALL_ARGS_SPLAT) {</div><div class='add'>+		ADD_INSN1(ret, line, newarray, INT2FIX(1));</div><div class='add'>+		if (boff &gt; 0) {</div><div class='add'>+		    ADD_INSN1(ret, line, dupn, INT2FIX(3));</div><div class='add'>+		    ADD_INSN(ret, line, swap);</div><div class='add'>+		    ADD_INSN(ret, line, pop);</div><div class='add'>+		}</div><div class='add'>+		ADD_INSN(ret, line, concatarray);</div><div class='add'>+		if (boff &gt; 0) {</div><div class='add'>+		    ADD_INSN1(ret, line, setn, INT2FIX(3));</div><div class='add'>+		    ADD_INSN(ret, line, pop);</div><div class='add'>+		    ADD_INSN(ret, line, pop);</div><div class='add'>+		}</div><div class='add'>+		ADD_SEND_WITH_FLAG(ret, line, idASET, argc, INT2FIX(flag));</div><div class='add'>+	    }</div><div class='add'>+	    else {</div><div class='add'>+		if (boff &gt; 0)</div><div class='add'>+		    ADD_INSN(ret, line, swap);</div><div class='add'>+		ADD_SEND_WITH_FLAG(ret, line, idASET, FIXNUM_INC(argc, 1), INT2FIX(flag));</div><div class='add'>+	    }</div><div class='add'>+	    ADD_INSN(ret, line, pop);</div><div class='add'>+	    ADD_INSNL(ret, line, jump, lfin);</div><div class='add'>+	    ADD_LABEL(ret, label);</div><div class='add'>+	    if (!popped) {</div><div class='add'>+		ADD_INSN1(ret, line, setn, FIXNUM_INC(argc, 2+boff));</div><div class='add'>+	    }</div><div class='add'>+	    ADD_INSN1(ret, line, adjuststack, FIXNUM_INC(argc, 2+boff));</div><div class='add'>+	    ADD_LABEL(ret, lfin);</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    CHECK(COMPILE(ret, "NODE_OP_ASGN1 args-&gt;body: ", node-&gt;nd_args-&gt;nd_body));</div><div class='add'>+	    ADD_SEND(ret, line, id, INT2FIX(1));</div><div class='add'>+	    if (!popped) {</div><div class='add'>+		ADD_INSN1(ret, line, setn, FIXNUM_INC(argc, 2+boff));</div><div class='add'>+	    }</div><div class='add'>+	    if (flag &amp; VM_CALL_ARGS_SPLAT) {</div><div class='add'>+		ADD_INSN1(ret, line, newarray, INT2FIX(1));</div><div class='add'>+		if (boff &gt; 0) {</div><div class='add'>+		    ADD_INSN1(ret, line, dupn, INT2FIX(3));</div><div class='add'>+		    ADD_INSN(ret, line, swap);</div><div class='add'>+		    ADD_INSN(ret, line, pop);</div><div class='add'>+		}</div><div class='add'>+		ADD_INSN(ret, line, concatarray);</div><div class='add'>+		if (boff &gt; 0) {</div><div class='add'>+		    ADD_INSN1(ret, line, setn, INT2FIX(3));</div><div class='add'>+		    ADD_INSN(ret, line, pop);</div><div class='add'>+		    ADD_INSN(ret, line, pop);</div><div class='add'>+		}</div><div class='add'>+		ADD_SEND_WITH_FLAG(ret, line, idASET, argc, INT2FIX(flag));</div><div class='add'>+	    }</div><div class='add'>+	    else {</div><div class='add'>+		if (boff &gt; 0)</div><div class='add'>+		    ADD_INSN(ret, line, swap);</div><div class='add'>+		ADD_SEND_WITH_FLAG(ret, line, idASET, FIXNUM_INC(argc, 1), INT2FIX(flag));</div><div class='add'>+	    }</div><div class='add'>+	    ADD_INSN(ret, line, pop);</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_OP_ASGN2:{</div><div class='add'>+	ID atype = node-&gt;nd_next-&gt;nd_mid;</div><div class='add'>+	ID vid = node-&gt;nd_next-&gt;nd_vid, aid = rb_id_attrset(vid);</div><div class='add'>+        int asgnflag;</div><div class='add'>+	LABEL *lfin = NEW_LABEL(line);</div><div class='add'>+	LABEL *lcfin = NEW_LABEL(line);</div><div class='add'>+	LABEL *lskip = 0;</div><div class='add'>+	/*</div><div class='add'>+	  class C; attr_accessor :c; end</div><div class='add'>+	  r = C.new</div><div class='add'>+	  r.a &amp;&amp;= v # asgn2</div><div class='add'>+</div><div class='add'>+	  eval r    # r</div><div class='add'>+	  dup       # r r</div><div class='add'>+	  eval r.a  # r o</div><div class='add'>+</div><div class='add'>+	  # or</div><div class='add'>+	  dup       # r o o</div><div class='add'>+	  if lcfin  # r o</div><div class='add'>+	  pop       # r</div><div class='add'>+	  eval v    # r v</div><div class='add'>+	  swap      # v r</div><div class='add'>+	  topn 1    # v r v</div><div class='add'>+	  send a=   # v ?</div><div class='add'>+	  jump lfin # v ?</div><div class='add'>+</div><div class='add'>+	  lcfin:      # r o</div><div class='add'>+	  swap      # o r</div><div class='add'>+</div><div class='add'>+	  lfin:       # o ?</div><div class='add'>+	  pop       # o</div><div class='add'>+</div><div class='add'>+	  # and</div><div class='add'>+	  dup       # r o o</div><div class='add'>+	  unless lcfin</div><div class='add'>+	  pop       # r</div><div class='add'>+	  eval v    # r v</div><div class='add'>+	  swap      # v r</div><div class='add'>+	  topn 1    # v r v</div><div class='add'>+	  send a=   # v ?</div><div class='add'>+	  jump lfin # v ?</div><div class='add'>+</div><div class='add'>+	  # others</div><div class='add'>+	  eval v    # r o v</div><div class='add'>+	  send ??   # r w</div><div class='add'>+	  send a=   # w</div><div class='add'>+</div><div class='add'>+	*/</div><div class='add'>+</div><div class='add'>+	asgnflag = COMPILE_RECV(ret, "NODE_OP_ASGN2#recv", node);</div><div class='add'>+        CHECK(asgnflag != -1);</div><div class='add'>+	if (node-&gt;nd_next-&gt;nd_aid) {</div><div class='add'>+	    lskip = NEW_LABEL(line);</div><div class='add'>+	    ADD_INSN(ret, line, dup);</div><div class='add'>+	    ADD_INSNL(ret, line, branchnil, lskip);</div><div class='add'>+	}</div><div class='add'>+	ADD_INSN(ret, line, dup);</div><div class='add'>+        ADD_SEND_WITH_FLAG(ret, line, vid, INT2FIX(0), INT2FIX(asgnflag));</div><div class='add'>+</div><div class='add'>+	if (atype == idOROP || atype == idANDOP) {</div><div class='add'>+	    ADD_INSN(ret, line, dup);</div><div class='add'>+	    if (atype == idOROP) {</div><div class='add'>+		ADD_INSNL(ret, line, branchif, lcfin);</div><div class='add'>+	    }</div><div class='add'>+	    else { /* idANDOP */</div><div class='add'>+		ADD_INSNL(ret, line, branchunless, lcfin);</div><div class='add'>+	    }</div><div class='add'>+	    ADD_INSN(ret, line, pop);</div><div class='add'>+	    CHECK(COMPILE(ret, "NODE_OP_ASGN2 val", node-&gt;nd_value));</div><div class='add'>+	    ADD_INSN(ret, line, swap);</div><div class='add'>+	    ADD_INSN1(ret, line, topn, INT2FIX(1));</div><div class='add'>+	    ADD_SEND_WITH_FLAG(ret, line, aid, INT2FIX(1), INT2FIX(asgnflag));</div><div class='add'>+	    ADD_INSNL(ret, line, jump, lfin);</div><div class='add'>+</div><div class='add'>+	    ADD_LABEL(ret, lcfin);</div><div class='add'>+	    ADD_INSN(ret, line, swap);</div><div class='add'>+</div><div class='add'>+	    ADD_LABEL(ret, lfin);</div><div class='add'>+	    ADD_INSN(ret, line, pop);</div><div class='add'>+	    if (lskip) {</div><div class='add'>+		ADD_LABEL(ret, lskip);</div><div class='add'>+	    }</div><div class='add'>+	    if (popped) {</div><div class='add'>+		/* we can apply more optimize */</div><div class='add'>+		ADD_INSN(ret, line, pop);</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    CHECK(COMPILE(ret, "NODE_OP_ASGN2 val", node-&gt;nd_value));</div><div class='add'>+	    ADD_SEND(ret, line, atype, INT2FIX(1));</div><div class='add'>+	    if (!popped) {</div><div class='add'>+		ADD_INSN(ret, line, swap);</div><div class='add'>+		ADD_INSN1(ret, line, topn, INT2FIX(1));</div><div class='add'>+	    }</div><div class='add'>+	    ADD_SEND_WITH_FLAG(ret, line, aid, INT2FIX(1), INT2FIX(asgnflag));</div><div class='add'>+	    if (lskip &amp;&amp; popped) {</div><div class='add'>+		ADD_LABEL(ret, lskip);</div><div class='add'>+	    }</div><div class='add'>+	    ADD_INSN(ret, line, pop);</div><div class='add'>+	    if (lskip &amp;&amp; !popped) {</div><div class='add'>+		ADD_LABEL(ret, lskip);</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_OP_CDECL: {</div><div class='add'>+	LABEL *lfin = 0;</div><div class='add'>+	LABEL *lassign = 0;</div><div class='add'>+	ID mid;</div><div class='add'>+</div><div class='add'>+	switch (nd_type(node-&gt;nd_head)) {</div><div class='add'>+	  case NODE_COLON3:</div><div class='add'>+	    ADD_INSN1(ret, line, putobject, rb_cObject);</div><div class='add'>+	    break;</div><div class='add'>+	  case NODE_COLON2:</div><div class='add'>+	    CHECK(COMPILE(ret, "NODE_OP_CDECL/colon2#nd_head", node-&gt;nd_head-&gt;nd_head));</div><div class='add'>+	    break;</div><div class='add'>+	  default:</div><div class='add'>+	    COMPILE_ERROR(ERROR_ARGS "%s: invalid node in NODE_OP_CDECL",</div><div class='add'>+			  ruby_node_name(nd_type(node-&gt;nd_head)));</div><div class='add'>+	    goto ng;</div><div class='add'>+	}</div><div class='add'>+	mid = node-&gt;nd_head-&gt;nd_mid;</div><div class='add'>+	/* cref */</div><div class='add'>+	if (node-&gt;nd_aid == idOROP) {</div><div class='add'>+	    lassign = NEW_LABEL(line);</div><div class='add'>+	    ADD_INSN(ret, line, dup); /* cref cref */</div><div class='add'>+	    ADD_INSN3(ret, line, defined, INT2FIX(DEFINED_CONST_FROM),</div><div class='add'>+		      ID2SYM(mid), Qfalse); /* cref bool */</div><div class='add'>+	    ADD_INSNL(ret, line, branchunless, lassign); /* cref */</div><div class='add'>+	}</div><div class='add'>+	ADD_INSN(ret, line, dup); /* cref cref */</div><div class='add'>+        ADD_INSN1(ret, line, putobject, Qtrue);</div><div class='add'>+        ADD_INSN1(ret, line, getconstant, ID2SYM(mid)); /* cref obj */</div><div class='add'>+</div><div class='add'>+	if (node-&gt;nd_aid == idOROP || node-&gt;nd_aid == idANDOP) {</div><div class='add'>+	    lfin = NEW_LABEL(line);</div><div class='add'>+	    if (!popped) ADD_INSN(ret, line, dup); /* cref [obj] obj */</div><div class='add'>+	    if (node-&gt;nd_aid == idOROP)</div><div class='add'>+		ADD_INSNL(ret, line, branchif, lfin);</div><div class='add'>+	    else /* idANDOP */</div><div class='add'>+		ADD_INSNL(ret, line, branchunless, lfin);</div><div class='add'>+	    /* cref [obj] */</div><div class='add'>+	    if (!popped) ADD_INSN(ret, line, pop); /* cref */</div><div class='add'>+	    if (lassign) ADD_LABEL(ret, lassign);</div><div class='add'>+	    CHECK(COMPILE(ret, "NODE_OP_CDECL#nd_value", node-&gt;nd_value));</div><div class='add'>+	    /* cref value */</div><div class='add'>+	    if (popped)</div><div class='add'>+		ADD_INSN1(ret, line, topn, INT2FIX(1)); /* cref value cref */</div><div class='add'>+	    else {</div><div class='add'>+		ADD_INSN1(ret, line, dupn, INT2FIX(2)); /* cref value cref value */</div><div class='add'>+		ADD_INSN(ret, line, swap); /* cref value value cref */</div><div class='add'>+	    }</div><div class='add'>+	    ADD_INSN1(ret, line, setconstant, ID2SYM(mid)); /* cref [value] */</div><div class='add'>+	    ADD_LABEL(ret, lfin);			    /* cref [value] */</div><div class='add'>+	    if (!popped) ADD_INSN(ret, line, swap); /* [value] cref */</div><div class='add'>+	    ADD_INSN(ret, line, pop); /* [value] */</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    CHECK(COMPILE(ret, "NODE_OP_CDECL#nd_value", node-&gt;nd_value));</div><div class='add'>+	    /* cref obj value */</div><div class='add'>+	    ADD_CALL(ret, line, node-&gt;nd_aid, INT2FIX(1));</div><div class='add'>+	    /* cref value */</div><div class='add'>+	    ADD_INSN(ret, line, swap); /* value cref */</div><div class='add'>+	    if (!popped) {</div><div class='add'>+		ADD_INSN1(ret, line, topn, INT2FIX(1)); /* value cref value */</div><div class='add'>+		ADD_INSN(ret, line, swap); /* value value cref */</div><div class='add'>+	    }</div><div class='add'>+	    ADD_INSN1(ret, line, setconstant, ID2SYM(mid));</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_OP_ASGN_AND:</div><div class='add'>+      case NODE_OP_ASGN_OR:{</div><div class='add'>+	LABEL *lfin = NEW_LABEL(line);</div><div class='add'>+	LABEL *lassign;</div><div class='add'>+</div><div class='add'>+	if (nd_type(node) == NODE_OP_ASGN_OR &amp;&amp; nd_type(node-&gt;nd_head) != NODE_IVAR) {</div><div class='add'>+	    LABEL *lfinish[2];</div><div class='add'>+	    lfinish[0] = lfin;</div><div class='add'>+	    lfinish[1] = 0;</div><div class='add'>+	    defined_expr(iseq, ret, node-&gt;nd_head, lfinish, Qfalse);</div><div class='add'>+	    lassign = lfinish[1];</div><div class='add'>+	    if (!lassign) {</div><div class='add'>+		lassign = NEW_LABEL(line);</div><div class='add'>+	    }</div><div class='add'>+	    ADD_INSNL(ret, line, branchunless, lassign);</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    lassign = NEW_LABEL(line);</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+	CHECK(COMPILE(ret, "NODE_OP_ASGN_AND/OR#nd_head", node-&gt;nd_head));</div><div class='add'>+	ADD_INSN(ret, line, dup);</div><div class='add'>+</div><div class='add'>+	if (nd_type(node) == NODE_OP_ASGN_AND) {</div><div class='add'>+	    ADD_INSNL(ret, line, branchunless, lfin);</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    ADD_INSNL(ret, line, branchif, lfin);</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+	ADD_INSN(ret, line, pop);</div><div class='add'>+	ADD_LABEL(ret, lassign);</div><div class='add'>+	CHECK(COMPILE(ret, "NODE_OP_ASGN_AND/OR#nd_value", node-&gt;nd_value));</div><div class='add'>+	ADD_LABEL(ret, lfin);</div><div class='add'>+</div><div class='add'>+	if (popped) {</div><div class='add'>+	    /* we can apply more optimize */</div><div class='add'>+	    ADD_INSN(ret, line, pop);</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_CALL:   /* obj.foo */</div><div class='add'>+      case NODE_OPCALL: /* foo[] */</div><div class='add'>+        if (compile_call_precheck_freeze(iseq, ret, node, line, popped) == TRUE) {</div><div class='add'>+            break;</div><div class='add'>+        }</div><div class='add'>+      case NODE_QCALL: /* obj&amp;.foo */</div><div class='add'>+      case NODE_FCALL: /* foo() */</div><div class='add'>+      case NODE_VCALL: /* foo (variable or call) */</div><div class='add'>+        if (compile_call(iseq, ret, node, type, line, popped) == COMPILE_NG) {</div><div class='add'>+            goto ng;</div><div class='add'>+        }</div><div class='add'>+        break;</div><div class='add'>+      case NODE_SUPER:</div><div class='add'>+      case NODE_ZSUPER:{</div><div class='add'>+	DECL_ANCHOR(args);</div><div class='add'>+	int argc;</div><div class='add'>+	unsigned int flag = 0;</div><div class='add'>+	struct rb_callinfo_kwarg *keywords = NULL;</div><div class='add'>+	const rb_iseq_t *parent_block = ISEQ_COMPILE_DATA(iseq)-&gt;current_block;</div><div class='add'>+</div><div class='add'>+	INIT_ANCHOR(args);</div><div class='add'>+	ISEQ_COMPILE_DATA(iseq)-&gt;current_block = NULL;</div><div class='add'>+	if (type == NODE_SUPER) {</div><div class='add'>+	    VALUE vargc = setup_args(iseq, args, node-&gt;nd_args, &amp;flag, &amp;keywords);</div><div class='add'>+	    CHECK(!NIL_P(vargc));</div><div class='add'>+	    argc = FIX2INT(vargc);</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    /* NODE_ZSUPER */</div><div class='add'>+	    int i;</div><div class='add'>+	    const rb_iseq_t *liseq = body-&gt;local_iseq;</div><div class='add'>+	    const struct rb_iseq_constant_body *const local_body = liseq-&gt;body;</div><div class='add'>+	    const struct rb_iseq_param_keyword *const local_kwd = local_body-&gt;param.keyword;</div><div class='add'>+	    int lvar_level = get_lvar_level(iseq);</div><div class='add'>+</div><div class='add'>+	    argc = local_body-&gt;param.lead_num;</div><div class='add'>+</div><div class='add'>+	    /* normal arguments */</div><div class='add'>+	    for (i = 0; i &lt; local_body-&gt;param.lead_num; i++) {</div><div class='add'>+		int idx = local_body-&gt;local_table_size - i;</div><div class='add'>+		ADD_GETLOCAL(args, line, idx, lvar_level);</div><div class='add'>+	    }</div><div class='add'>+</div><div class='add'>+	    if (local_body-&gt;param.flags.has_opt) {</div><div class='add'>+		/* optional arguments */</div><div class='add'>+		int j;</div><div class='add'>+		for (j = 0; j &lt; local_body-&gt;param.opt_num; j++) {</div><div class='add'>+		    int idx = local_body-&gt;local_table_size - (i + j);</div><div class='add'>+		    ADD_GETLOCAL(args, line, idx, lvar_level);</div><div class='add'>+		}</div><div class='add'>+		i += j;</div><div class='add'>+		argc = i;</div><div class='add'>+	    }</div><div class='add'>+	    if (local_body-&gt;param.flags.has_rest) {</div><div class='add'>+		/* rest argument */</div><div class='add'>+		int idx = local_body-&gt;local_table_size - local_body-&gt;param.rest_start;</div><div class='add'>+</div><div class='add'>+		ADD_GETLOCAL(args, line, idx, lvar_level);</div><div class='add'>+		ADD_INSN1(args, line, splatarray, Qfalse);</div><div class='add'>+</div><div class='add'>+		argc = local_body-&gt;param.rest_start + 1;</div><div class='add'>+		flag |= VM_CALL_ARGS_SPLAT;</div><div class='add'>+	    }</div><div class='add'>+	    if (local_body-&gt;param.flags.has_post) {</div><div class='add'>+		/* post arguments */</div><div class='add'>+		int post_len = local_body-&gt;param.post_num;</div><div class='add'>+		int post_start = local_body-&gt;param.post_start;</div><div class='add'>+</div><div class='add'>+		if (local_body-&gt;param.flags.has_rest) {</div><div class='add'>+		    int j;</div><div class='add'>+		    for (j=0; j&lt;post_len; j++) {</div><div class='add'>+			int idx = local_body-&gt;local_table_size - (post_start + j);</div><div class='add'>+			ADD_GETLOCAL(args, line, idx, lvar_level);</div><div class='add'>+		    }</div><div class='add'>+		    ADD_INSN1(args, line, newarray, INT2FIX(j));</div><div class='add'>+		    ADD_INSN (args, line, concatarray);</div><div class='add'>+		    /* argc is settled at above */</div><div class='add'>+		}</div><div class='add'>+		else {</div><div class='add'>+		    int j;</div><div class='add'>+		    for (j=0; j&lt;post_len; j++) {</div><div class='add'>+			int idx = local_body-&gt;local_table_size - (post_start + j);</div><div class='add'>+			ADD_GETLOCAL(args, line, idx, lvar_level);</div><div class='add'>+		    }</div><div class='add'>+		    argc = post_len + post_start;</div><div class='add'>+		}</div><div class='add'>+	    }</div><div class='add'>+</div><div class='add'>+	    if (local_body-&gt;param.flags.has_kw) { /* TODO: support keywords */</div><div class='add'>+		int local_size = local_body-&gt;local_table_size;</div><div class='add'>+		argc++;</div><div class='add'>+</div><div class='add'>+		ADD_INSN1(args, line, putspecialobject, INT2FIX(VM_SPECIAL_OBJECT_VMCORE));</div><div class='add'>+</div><div class='add'>+		if (local_body-&gt;param.flags.has_kwrest) {</div><div class='add'>+		    int idx = local_body-&gt;local_table_size - local_kwd-&gt;rest_start;</div><div class='add'>+		    ADD_GETLOCAL(args, line, idx, lvar_level);</div><div class='add'>+		}</div><div class='add'>+		else {</div><div class='add'>+		    ADD_INSN1(args, line, newhash, INT2FIX(0));</div><div class='add'>+                    flag |= VM_CALL_KW_SPLAT_MUT;</div><div class='add'>+		}</div><div class='add'>+		for (i = 0; i &lt; local_kwd-&gt;num; ++i) {</div><div class='add'>+		    ID id = local_kwd-&gt;table[i];</div><div class='add'>+		    int idx = local_size - get_local_var_idx(liseq, id);</div><div class='add'>+		    ADD_INSN1(args, line, putobject, ID2SYM(id));</div><div class='add'>+		    ADD_GETLOCAL(args, line, idx, lvar_level);</div><div class='add'>+		}</div><div class='add'>+		ADD_SEND(args, line, id_core_hash_merge_ptr, INT2FIX(i * 2 + 1));</div><div class='add'>+		if (local_body-&gt;param.flags.has_rest) {</div><div class='add'>+		    ADD_INSN1(args, line, newarray, INT2FIX(1));</div><div class='add'>+		    ADD_INSN (args, line, concatarray);</div><div class='add'>+		    --argc;</div><div class='add'>+		}</div><div class='add'>+		flag |= VM_CALL_KW_SPLAT;</div><div class='add'>+	    }</div><div class='add'>+	    else if (local_body-&gt;param.flags.has_kwrest) {</div><div class='add'>+		int idx = local_body-&gt;local_table_size - local_kwd-&gt;rest_start;</div><div class='add'>+		ADD_GETLOCAL(args, line, idx, lvar_level);</div><div class='add'>+</div><div class='add'>+		if (local_body-&gt;param.flags.has_rest) {</div><div class='add'>+		    ADD_INSN1(args, line, newarray, INT2FIX(1));</div><div class='add'>+		    ADD_INSN (args, line, concatarray);</div><div class='add'>+		}</div><div class='add'>+		else {</div><div class='add'>+		    argc++;</div><div class='add'>+		}</div><div class='add'>+		flag |= VM_CALL_KW_SPLAT;</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+	ADD_INSN(ret, line, putself);</div><div class='add'>+	ADD_SEQ(ret, args);</div><div class='add'>+        ADD_INSN2(ret, line, invokesuper,</div><div class='add'>+                  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='add'>+		  parent_block);</div><div class='add'>+</div><div class='add'>+	if (popped) {</div><div class='add'>+	    ADD_INSN(ret, line, pop);</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_LIST:{</div><div class='add'>+        CHECK(compile_array(iseq, ret, node, popped) &gt;= 0);</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_ZLIST:{</div><div class='add'>+	if (!popped) {</div><div class='add'>+	    ADD_INSN1(ret, line, newarray, INT2FIX(0));</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_VALUES:{</div><div class='add'>+	const NODE *n = node;</div><div class='add'>+	if (popped) {</div><div class='add'>+	    COMPILE_ERROR(ERROR_ARGS "NODE_VALUES: must not be popped");</div><div class='add'>+	}</div><div class='add'>+	while (n) {</div><div class='add'>+	    CHECK(COMPILE(ret, "values item", n-&gt;nd_head));</div><div class='add'>+	    n = n-&gt;nd_next;</div><div class='add'>+	}</div><div class='add'>+	ADD_INSN1(ret, line, newarray, INT2FIX(node-&gt;nd_alen));</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_HASH:</div><div class='add'>+        CHECK(compile_hash(iseq, ret, node, FALSE, popped) &gt;= 0);</div><div class='add'>+        break;</div><div class='add'>+      case NODE_RETURN:</div><div class='add'>+	CHECK(compile_return(iseq, ret, node, popped));</div><div class='add'>+	break;</div><div class='add'>+      case NODE_YIELD:{</div><div class='add'>+	DECL_ANCHOR(args);</div><div class='add'>+	VALUE argc;</div><div class='add'>+	unsigned int flag = 0;</div><div class='add'>+	struct rb_callinfo_kwarg *keywords = NULL;</div><div class='add'>+</div><div class='add'>+	INIT_ANCHOR(args);</div><div class='add'>+</div><div class='add'>+        if (check_yield_place(iseq) == FALSE) {</div><div class='add'>+	    COMPILE_ERROR(ERROR_ARGS "Invalid yield");</div><div class='add'>+            goto ng;</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+	if (node-&gt;nd_head) {</div><div class='add'>+	    argc = setup_args(iseq, args, node-&gt;nd_head, &amp;flag, &amp;keywords);</div><div class='add'>+	    CHECK(!NIL_P(argc));</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    argc = INT2FIX(0);</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+	ADD_SEQ(ret, args);</div><div class='add'>+	ADD_INSN1(ret, line, invokeblock, new_callinfo(iseq, 0, FIX2INT(argc), flag, keywords, FALSE));</div><div class='add'>+</div><div class='add'>+	if (popped) {</div><div class='add'>+	    ADD_INSN(ret, line, pop);</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+        int level = 0;</div><div class='add'>+        const rb_iseq_t *tmp_iseq = iseq;</div><div class='add'>+        for (; tmp_iseq != iseq-&gt;body-&gt;local_iseq; level++ ) {</div><div class='add'>+            tmp_iseq = tmp_iseq-&gt;body-&gt;parent_iseq;</div><div class='add'>+        }</div><div class='add'>+        if (level &gt; 0) access_outer_variables(iseq, level, rb_intern("yield"), true);</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_LVAR:{</div><div class='add'>+	if (!popped) {</div><div class='add'>+	    ID id = node-&gt;nd_vid;</div><div class='add'>+	    int idx = body-&gt;local_iseq-&gt;body-&gt;local_table_size - get_local_var_idx(iseq, id);</div><div class='add'>+</div><div class='add'>+	    debugs("id: %s idx: %d\n", rb_id2name(id), idx);</div><div class='add'>+	    ADD_GETLOCAL(ret, line, idx, get_lvar_level(iseq));</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_DVAR:{</div><div class='add'>+	int lv, idx, ls;</div><div class='add'>+	debugi("nd_vid", node-&gt;nd_vid);</div><div class='add'>+	if (!popped) {</div><div class='add'>+	    idx = get_dyna_var_idx(iseq, node-&gt;nd_vid, &amp;lv, &amp;ls);</div><div class='add'>+	    if (idx &lt; 0) {</div><div class='add'>+		COMPILE_ERROR(ERROR_ARGS "unknown dvar (%"PRIsVALUE")",</div><div class='add'>+			      rb_id2str(node-&gt;nd_vid));</div><div class='add'>+		goto ng;</div><div class='add'>+	    }</div><div class='add'>+	    ADD_GETLOCAL(ret, line, ls - idx, lv);</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_GVAR:{</div><div class='add'>+	ADD_INSN1(ret, line, getglobal, ID2SYM(node-&gt;nd_entry));</div><div class='add'>+	if (popped) {</div><div class='add'>+	    ADD_INSN(ret, line, pop);</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_IVAR:{</div><div class='add'>+	debugi("nd_vid", node-&gt;nd_vid);</div><div class='add'>+	if (!popped) {</div><div class='add'>+	    ADD_INSN2(ret, line, getinstancevariable,</div><div class='add'>+		      ID2SYM(node-&gt;nd_vid),</div><div class='add'>+		      get_ivar_ic_value(iseq,node-&gt;nd_vid));</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_CONST:{</div><div class='add'>+	debugi("nd_vid", node-&gt;nd_vid);</div><div class='add'>+</div><div class='add'>+	if (ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;inline_const_cache) {</div><div class='add'>+	    LABEL *lend = NEW_LABEL(line);</div><div class='add'>+	    int ic_index = body-&gt;is_size++;</div><div class='add'>+</div><div class='add'>+            ADD_INSN2(ret, line, opt_getinlinecache, lend, INT2FIX(ic_index));</div><div class='add'>+            ADD_INSN1(ret, line, putobject, Qtrue);</div><div class='add'>+            ADD_INSN1(ret, line, getconstant, ID2SYM(node-&gt;nd_vid));</div><div class='add'>+            ADD_INSN1(ret, line, opt_setinlinecache, INT2FIX(ic_index));</div><div class='add'>+	    ADD_LABEL(ret, lend);</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    ADD_INSN(ret, line, putnil);</div><div class='add'>+            ADD_INSN1(ret, line, putobject, Qtrue);</div><div class='add'>+            ADD_INSN1(ret, line, getconstant, ID2SYM(node-&gt;nd_vid));</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+	if (popped) {</div><div class='add'>+	    ADD_INSN(ret, line, pop);</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_CVAR:{</div><div class='add'>+	if (!popped) {</div><div class='add'>+	    ADD_INSN1(ret, line, getclassvariable,</div><div class='add'>+		      ID2SYM(node-&gt;nd_vid));</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_NTH_REF:{</div><div class='add'>+        if (!popped) {</div><div class='add'>+	    if (!node-&gt;nd_nth) {</div><div class='add'>+		ADD_INSN(ret, line, putnil);</div><div class='add'>+		break;</div><div class='add'>+	    }</div><div class='add'>+	    ADD_INSN2(ret, line, getspecial, INT2FIX(1) /* '~'  */,</div><div class='add'>+		      INT2FIX(node-&gt;nd_nth &lt;&lt; 1));</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_BACK_REF:{</div><div class='add'>+	if (!popped) {</div><div class='add'>+	    ADD_INSN2(ret, line, getspecial, INT2FIX(1) /* '~' */,</div><div class='add'>+		      INT2FIX(0x01 | (node-&gt;nd_nth &lt;&lt; 1)));</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_MATCH:</div><div class='add'>+      case NODE_MATCH2:</div><div class='add'>+      case NODE_MATCH3:{</div><div class='add'>+	DECL_ANCHOR(recv);</div><div class='add'>+	DECL_ANCHOR(val);</div><div class='add'>+</div><div class='add'>+	INIT_ANCHOR(recv);</div><div class='add'>+	INIT_ANCHOR(val);</div><div class='add'>+	switch (nd_type(node)) {</div><div class='add'>+	  case NODE_MATCH:</div><div class='add'>+	    ADD_INSN1(recv, line, putobject, node-&gt;nd_lit);</div><div class='add'>+	    ADD_INSN2(val, line, getspecial, INT2FIX(0),</div><div class='add'>+		      INT2FIX(0));</div><div class='add'>+	    break;</div><div class='add'>+	  case NODE_MATCH2:</div><div class='add'>+	    CHECK(COMPILE(recv, "receiver", node-&gt;nd_recv));</div><div class='add'>+	    CHECK(COMPILE(val, "value", node-&gt;nd_value));</div><div class='add'>+	    break;</div><div class='add'>+	  case NODE_MATCH3:</div><div class='add'>+	    CHECK(COMPILE(recv, "receiver", node-&gt;nd_value));</div><div class='add'>+	    CHECK(COMPILE(val, "value", node-&gt;nd_recv));</div><div class='add'>+	    break;</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+        ADD_SEQ(ret, recv);</div><div class='add'>+        ADD_SEQ(ret, val);</div><div class='add'>+        ADD_SEND(ret, line, idEqTilde, INT2FIX(1));</div><div class='add'>+</div><div class='add'>+	if (node-&gt;nd_args) {</div><div class='add'>+	    compile_named_capture_assign(iseq, ret, node-&gt;nd_args);</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+	if (popped) {</div><div class='add'>+	    ADD_INSN(ret, line, pop);</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_LIT:{</div><div class='add'>+	debugp_param("lit", node-&gt;nd_lit);</div><div class='add'>+	if (!popped) {</div><div class='add'>+	    ADD_INSN1(ret, line, putobject, node-&gt;nd_lit);</div><div class='add'>+            RB_OBJ_WRITTEN(iseq, Qundef, node-&gt;nd_lit);</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_STR:{</div><div class='add'>+	debugp_param("nd_lit", node-&gt;nd_lit);</div><div class='add'>+	if (!popped) {</div><div class='add'>+	    VALUE lit = node-&gt;nd_lit;</div><div class='add'>+	    if (!ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;frozen_string_literal) {</div><div class='add'>+		lit = rb_fstring(lit);</div><div class='add'>+		ADD_INSN1(ret, line, putstring, lit);</div><div class='add'>+                RB_OBJ_WRITTEN(iseq, Qundef, lit);</div><div class='add'>+	    }</div><div class='add'>+	    else {</div><div class='add'>+		if (ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;debug_frozen_string_literal || RTEST(ruby_debug)) {</div><div class='add'>+		    VALUE debug_info = rb_ary_new_from_args(2, rb_iseq_path(iseq), INT2FIX(line));</div><div class='add'>+		    lit = rb_str_dup(lit);</div><div class='add'>+		    rb_ivar_set(lit, id_debug_created_info, rb_obj_freeze(debug_info));</div><div class='add'>+		    lit = rb_str_freeze(lit);</div><div class='add'>+		}</div><div class='add'>+		else {</div><div class='add'>+		    lit = rb_fstring(lit);</div><div class='add'>+		}</div><div class='add'>+		ADD_INSN1(ret, line, putobject, lit);</div><div class='add'>+                RB_OBJ_WRITTEN(iseq, Qundef, lit);</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_DSTR:{</div><div class='add'>+	compile_dstr(iseq, ret, node);</div><div class='add'>+</div><div class='add'>+	if (popped) {</div><div class='add'>+	    ADD_INSN(ret, line, pop);</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_XSTR:{</div><div class='add'>+	ADD_CALL_RECEIVER(ret, line);</div><div class='add'>+        VALUE str = rb_fstring(node-&gt;nd_lit);</div><div class='add'>+	ADD_INSN1(ret, line, putobject, str);</div><div class='add'>+        RB_OBJ_WRITTEN(iseq, Qundef, str);</div><div class='add'>+	ADD_CALL(ret, line, idBackquote, INT2FIX(1));</div><div class='add'>+</div><div class='add'>+	if (popped) {</div><div class='add'>+	    ADD_INSN(ret, line, pop);</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_DXSTR:{</div><div class='add'>+	ADD_CALL_RECEIVER(ret, line);</div><div class='add'>+	compile_dstr(iseq, ret, node);</div><div class='add'>+	ADD_CALL(ret, line, idBackquote, INT2FIX(1));</div><div class='add'>+</div><div class='add'>+	if (popped) {</div><div class='add'>+	    ADD_INSN(ret, line, pop);</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_EVSTR:</div><div class='add'>+	CHECK(compile_evstr(iseq, ret, node-&gt;nd_body, popped));</div><div class='add'>+	break;</div><div class='add'>+      case NODE_DREGX:{</div><div class='add'>+	compile_dregx(iseq, ret, node);</div><div class='add'>+</div><div class='add'>+	if (popped) {</div><div class='add'>+	    ADD_INSN(ret, line, pop);</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_ONCE:{</div><div class='add'>+	int ic_index = body-&gt;is_size++;</div><div class='add'>+	const rb_iseq_t *block_iseq;</div><div class='add'>+	block_iseq = NEW_CHILD_ISEQ(node-&gt;nd_body, make_name_for_block(iseq), ISEQ_TYPE_PLAIN, line);</div><div class='add'>+</div><div class='add'>+	ADD_INSN2(ret, line, once, block_iseq, INT2FIX(ic_index));</div><div class='add'>+        RB_OBJ_WRITTEN(iseq, Qundef, (VALUE)block_iseq);</div><div class='add'>+</div><div class='add'>+	if (popped) {</div><div class='add'>+	    ADD_INSN(ret, line, pop);</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_ARGSCAT:{</div><div class='add'>+	if (popped) {</div><div class='add'>+	    CHECK(COMPILE(ret, "argscat head", node-&gt;nd_head));</div><div class='add'>+	    ADD_INSN1(ret, line, splatarray, Qfalse);</div><div class='add'>+	    ADD_INSN(ret, line, pop);</div><div class='add'>+	    CHECK(COMPILE(ret, "argscat body", node-&gt;nd_body));</div><div class='add'>+	    ADD_INSN1(ret, line, splatarray, Qfalse);</div><div class='add'>+	    ADD_INSN(ret, line, pop);</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    CHECK(COMPILE(ret, "argscat head", node-&gt;nd_head));</div><div class='add'>+	    CHECK(COMPILE(ret, "argscat body", node-&gt;nd_body));</div><div class='add'>+	    ADD_INSN(ret, line, concatarray);</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_ARGSPUSH:{</div><div class='add'>+	if (popped) {</div><div class='add'>+	    CHECK(COMPILE(ret, "arsgpush head", node-&gt;nd_head));</div><div class='add'>+	    ADD_INSN1(ret, line, splatarray, Qfalse);</div><div class='add'>+	    ADD_INSN(ret, line, pop);</div><div class='add'>+	    CHECK(COMPILE_(ret, "argspush body", node-&gt;nd_body, popped));</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    CHECK(COMPILE(ret, "arsgpush head", node-&gt;nd_head));</div><div class='add'>+	    CHECK(COMPILE_(ret, "argspush body", node-&gt;nd_body, popped));</div><div class='add'>+	    ADD_INSN1(ret, line, newarray, INT2FIX(1));</div><div class='add'>+	    ADD_INSN(ret, line, concatarray);</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_SPLAT:{</div><div class='add'>+	CHECK(COMPILE(ret, "splat", node-&gt;nd_head));</div><div class='add'>+	ADD_INSN1(ret, line, splatarray, Qtrue);</div><div class='add'>+</div><div class='add'>+	if (popped) {</div><div class='add'>+	    ADD_INSN(ret, line, pop);</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_DEFN:{</div><div class='add'>+        ID mid = node-&gt;nd_mid;</div><div class='add'>+	const rb_iseq_t *method_iseq = NEW_ISEQ(node-&gt;nd_defn,</div><div class='add'>+                                                rb_id2str(mid),</div><div class='add'>+						ISEQ_TYPE_METHOD, line);</div><div class='add'>+</div><div class='add'>+	debugp_param("defn/iseq", rb_iseqw_new(method_iseq));</div><div class='add'>+        ADD_INSN2(ret, line, definemethod, ID2SYM(mid), method_iseq);</div><div class='add'>+        RB_OBJ_WRITTEN(iseq, Qundef, (VALUE)method_iseq);</div><div class='add'>+</div><div class='add'>+        if (!popped) {</div><div class='add'>+            ADD_INSN1(ret, line, putobject, ID2SYM(mid));</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_DEFS:{</div><div class='add'>+        ID mid = node-&gt;nd_mid;</div><div class='add'>+        const rb_iseq_t * singleton_method_iseq = NEW_ISEQ(node-&gt;nd_defn,</div><div class='add'>+                                                           rb_id2str(mid),</div><div class='add'>+                                                           ISEQ_TYPE_METHOD, line);</div><div class='add'>+</div><div class='add'>+        debugp_param("defs/iseq", rb_iseqw_new(singleton_method_iseq));</div><div class='add'>+        CHECK(COMPILE(ret, "defs: recv", node-&gt;nd_recv));</div><div class='add'>+        ADD_INSN2(ret, line, definesmethod, ID2SYM(mid), singleton_method_iseq);</div><div class='add'>+        RB_OBJ_WRITTEN(iseq, Qundef, (VALUE)singleton_method_iseq);</div><div class='add'>+</div><div class='add'>+        if (!popped) {</div><div class='add'>+            ADD_INSN1(ret, line, putobject, ID2SYM(mid));</div><div class='add'>+        }</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_ALIAS:{</div><div class='add'>+	ADD_INSN1(ret, line, putspecialobject, INT2FIX(VM_SPECIAL_OBJECT_VMCORE));</div><div class='add'>+	ADD_INSN1(ret, line, putspecialobject, INT2FIX(VM_SPECIAL_OBJECT_CBASE));</div><div class='add'>+	CHECK(COMPILE(ret, "alias arg1", node-&gt;nd_1st));</div><div class='add'>+	CHECK(COMPILE(ret, "alias arg2", node-&gt;nd_2nd));</div><div class='add'>+	ADD_SEND(ret, line, id_core_set_method_alias, INT2FIX(3));</div><div class='add'>+</div><div class='add'>+	if (popped) {</div><div class='add'>+	    ADD_INSN(ret, line, pop);</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_VALIAS:{</div><div class='add'>+	ADD_INSN1(ret, line, putspecialobject, INT2FIX(VM_SPECIAL_OBJECT_VMCORE));</div><div class='add'>+	ADD_INSN1(ret, line, putobject, ID2SYM(node-&gt;nd_alias));</div><div class='add'>+	ADD_INSN1(ret, line, putobject, ID2SYM(node-&gt;nd_orig));</div><div class='add'>+	ADD_SEND(ret, line, id_core_set_variable_alias, INT2FIX(2));</div><div class='add'>+</div><div class='add'>+	if (popped) {</div><div class='add'>+	    ADD_INSN(ret, line, pop);</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_UNDEF:{</div><div class='add'>+	ADD_INSN1(ret, line, putspecialobject, INT2FIX(VM_SPECIAL_OBJECT_VMCORE));</div><div class='add'>+	ADD_INSN1(ret, line, putspecialobject, INT2FIX(VM_SPECIAL_OBJECT_CBASE));</div><div class='add'>+	CHECK(COMPILE(ret, "undef arg", node-&gt;nd_undef));</div><div class='add'>+	ADD_SEND(ret, line, id_core_undef_method, INT2FIX(2));</div><div class='add'>+</div><div class='add'>+	if (popped) {</div><div class='add'>+	    ADD_INSN(ret, line, pop);</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_CLASS:{</div><div class='add'>+	const rb_iseq_t *class_iseq = NEW_CHILD_ISEQ(node-&gt;nd_body,</div><div class='add'>+						     rb_sprintf("&lt;class:%"PRIsVALUE"&gt;", rb_id2str(node-&gt;nd_cpath-&gt;nd_mid)),</div><div class='add'>+						     ISEQ_TYPE_CLASS, line);</div><div class='add'>+	const int flags = VM_DEFINECLASS_TYPE_CLASS |</div><div class='add'>+	    (node-&gt;nd_super ? VM_DEFINECLASS_FLAG_HAS_SUPERCLASS : 0) |</div><div class='add'>+	    compile_cpath(ret, iseq, node-&gt;nd_cpath);</div><div class='add'>+</div><div class='add'>+	CHECK(COMPILE(ret, "super", node-&gt;nd_super));</div><div class='add'>+	ADD_INSN3(ret, line, defineclass, ID2SYM(node-&gt;nd_cpath-&gt;nd_mid), class_iseq, INT2FIX(flags));</div><div class='add'>+        RB_OBJ_WRITTEN(iseq, Qundef, (VALUE)class_iseq);</div><div class='add'>+</div><div class='add'>+	if (popped) {</div><div class='add'>+	    ADD_INSN(ret, line, pop);</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_MODULE:{</div><div class='add'>+        const rb_iseq_t *module_iseq = NEW_CHILD_ISEQ(node-&gt;nd_body,</div><div class='add'>+						      rb_sprintf("&lt;module:%"PRIsVALUE"&gt;", rb_id2str(node-&gt;nd_cpath-&gt;nd_mid)),</div><div class='add'>+						      ISEQ_TYPE_CLASS, line);</div><div class='add'>+	const int flags = VM_DEFINECLASS_TYPE_MODULE |</div><div class='add'>+	    compile_cpath(ret, iseq, node-&gt;nd_cpath);</div><div class='add'>+</div><div class='add'>+	ADD_INSN (ret, line, putnil); /* dummy */</div><div class='add'>+	ADD_INSN3(ret, line, defineclass, ID2SYM(node-&gt;nd_cpath-&gt;nd_mid), module_iseq, INT2FIX(flags));</div><div class='add'>+        RB_OBJ_WRITTEN(iseq, Qundef, (VALUE)module_iseq);</div><div class='add'>+</div><div class='add'>+	if (popped) {</div><div class='add'>+	    ADD_INSN(ret, line, pop);</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_SCLASS:{</div><div class='add'>+	ID singletonclass;</div><div class='add'>+	const rb_iseq_t *singleton_class = NEW_ISEQ(node-&gt;nd_body, rb_fstring_lit("singleton class"),</div><div class='add'>+						    ISEQ_TYPE_CLASS, line);</div><div class='add'>+</div><div class='add'>+	CHECK(COMPILE(ret, "sclass#recv", node-&gt;nd_recv));</div><div class='add'>+	ADD_INSN (ret, line, putnil);</div><div class='add'>+	CONST_ID(singletonclass, "singletonclass");</div><div class='add'>+	ADD_INSN3(ret, line, defineclass,</div><div class='add'>+		  ID2SYM(singletonclass), singleton_class,</div><div class='add'>+		  INT2FIX(VM_DEFINECLASS_TYPE_SINGLETON_CLASS));</div><div class='add'>+        RB_OBJ_WRITTEN(iseq, Qundef, (VALUE)singleton_class);</div><div class='add'>+</div><div class='add'>+	if (popped) {</div><div class='add'>+	    ADD_INSN(ret, line, pop);</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_COLON2:{</div><div class='add'>+	if (rb_is_const_id(node-&gt;nd_mid)) {</div><div class='add'>+	    /* constant */</div><div class='add'>+	    LABEL *lend = NEW_LABEL(line);</div><div class='add'>+	    int ic_index = body-&gt;is_size++;</div><div class='add'>+</div><div class='add'>+	    DECL_ANCHOR(pref);</div><div class='add'>+	    DECL_ANCHOR(body);</div><div class='add'>+</div><div class='add'>+	    INIT_ANCHOR(pref);</div><div class='add'>+	    INIT_ANCHOR(body);</div><div class='add'>+	    CHECK(compile_const_prefix(iseq, node, pref, body));</div><div class='add'>+	    if (LIST_INSN_SIZE_ZERO(pref)) {</div><div class='add'>+		if (ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;inline_const_cache) {</div><div class='add'>+                    ADD_INSN2(ret, line, opt_getinlinecache, lend, INT2FIX(ic_index));</div><div class='add'>+		}</div><div class='add'>+		else {</div><div class='add'>+		    ADD_INSN(ret, line, putnil);</div><div class='add'>+		}</div><div class='add'>+</div><div class='add'>+		ADD_SEQ(ret, body);</div><div class='add'>+</div><div class='add'>+		if (ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;inline_const_cache) {</div><div class='add'>+                    ADD_INSN1(ret, line, opt_setinlinecache, INT2FIX(ic_index));</div><div class='add'>+		    ADD_LABEL(ret, lend);</div><div class='add'>+		}</div><div class='add'>+	    }</div><div class='add'>+	    else {</div><div class='add'>+		ADD_SEQ(ret, pref);</div><div class='add'>+		ADD_SEQ(ret, body);</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    /* function call */</div><div class='add'>+	    ADD_CALL_RECEIVER(ret, line);</div><div class='add'>+	    CHECK(COMPILE(ret, "colon2#nd_head", node-&gt;nd_head));</div><div class='add'>+	    ADD_CALL(ret, line, node-&gt;nd_mid, INT2FIX(1));</div><div class='add'>+	}</div><div class='add'>+	if (popped) {</div><div class='add'>+	    ADD_INSN(ret, line, pop);</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_COLON3:{</div><div class='add'>+	LABEL *lend = NEW_LABEL(line);</div><div class='add'>+	int ic_index = body-&gt;is_size++;</div><div class='add'>+</div><div class='add'>+	debugi("colon3#nd_mid", node-&gt;nd_mid);</div><div class='add'>+</div><div class='add'>+	/* add cache insn */</div><div class='add'>+	if (ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;inline_const_cache) {</div><div class='add'>+            ADD_INSN2(ret, line, opt_getinlinecache, lend, INT2FIX(ic_index));</div><div class='add'>+	    ADD_INSN(ret, line, pop);</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+	ADD_INSN1(ret, line, putobject, rb_cObject);</div><div class='add'>+        ADD_INSN1(ret, line, putobject, Qtrue);</div><div class='add'>+        ADD_INSN1(ret, line, getconstant, ID2SYM(node-&gt;nd_mid));</div><div class='add'>+</div><div class='add'>+	if (ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;inline_const_cache) {</div><div class='add'>+            ADD_INSN1(ret, line, opt_setinlinecache, INT2FIX(ic_index));</div><div class='add'>+	    ADD_LABEL(ret, lend);</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+	if (popped) {</div><div class='add'>+	    ADD_INSN(ret, line, pop);</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_DOT2:</div><div class='add'>+      case NODE_DOT3:{</div><div class='add'>+	int excl = type == NODE_DOT3;</div><div class='add'>+	VALUE flag = INT2FIX(excl);</div><div class='add'>+	const NODE *b = node-&gt;nd_beg;</div><div class='add'>+	const NODE *e = node-&gt;nd_end;</div><div class='add'>+</div><div class='add'>+        if (optimizable_range_item_p(b) &amp;&amp; optimizable_range_item_p(e)) {</div><div class='add'>+	    if (!popped) {</div><div class='add'>+                VALUE bv = nd_type(b) == NODE_LIT ? b-&gt;nd_lit : Qnil;</div><div class='add'>+                VALUE ev = nd_type(e) == NODE_LIT ? e-&gt;nd_lit : Qnil;</div><div class='add'>+                VALUE val = rb_range_new(bv, ev, excl);</div><div class='add'>+                ADD_INSN1(ret, line, putobject, val);</div><div class='add'>+                RB_OBJ_WRITTEN(iseq, Qundef, val);</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    CHECK(COMPILE_(ret, "min", b, popped));</div><div class='add'>+	    CHECK(COMPILE_(ret, "max", e, popped));</div><div class='add'>+	    if (!popped) {</div><div class='add'>+		ADD_INSN1(ret, line, newrange, flag);</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_FLIP2:</div><div class='add'>+      case NODE_FLIP3:{</div><div class='add'>+	LABEL *lend = NEW_LABEL(line);</div><div class='add'>+	LABEL *ltrue = NEW_LABEL(line);</div><div class='add'>+	LABEL *lfalse = NEW_LABEL(line);</div><div class='add'>+	CHECK(compile_flip_flop(iseq, ret, node, type == NODE_FLIP2,</div><div class='add'>+				ltrue, lfalse));</div><div class='add'>+	ADD_LABEL(ret, ltrue);</div><div class='add'>+	ADD_INSN1(ret, line, putobject, Qtrue);</div><div class='add'>+	ADD_INSNL(ret, line, jump, lend);</div><div class='add'>+	ADD_LABEL(ret, lfalse);</div><div class='add'>+	ADD_INSN1(ret, line, putobject, Qfalse);</div><div class='add'>+	ADD_LABEL(ret, lend);</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_SELF:{</div><div class='add'>+	if (!popped) {</div><div class='add'>+	    ADD_INSN(ret, line, putself);</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_NIL:{</div><div class='add'>+	if (!popped) {</div><div class='add'>+	    ADD_INSN(ret, line, putnil);</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_TRUE:{</div><div class='add'>+	if (!popped) {</div><div class='add'>+	    ADD_INSN1(ret, line, putobject, Qtrue);</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_FALSE:{</div><div class='add'>+	if (!popped) {</div><div class='add'>+	    ADD_INSN1(ret, line, putobject, Qfalse);</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_ERRINFO:{</div><div class='add'>+	if (!popped) {</div><div class='add'>+	    if (body-&gt;type == ISEQ_TYPE_RESCUE) {</div><div class='add'>+		ADD_GETLOCAL(ret, line, LVAR_ERRINFO, 0);</div><div class='add'>+	    }</div><div class='add'>+	    else {</div><div class='add'>+		const rb_iseq_t *ip = iseq;</div><div class='add'>+		int level = 0;</div><div class='add'>+		while (ip) {</div><div class='add'>+		    if (ip-&gt;body-&gt;type == ISEQ_TYPE_RESCUE) {</div><div class='add'>+			break;</div><div class='add'>+		    }</div><div class='add'>+		    ip = ip-&gt;body-&gt;parent_iseq;</div><div class='add'>+		    level++;</div><div class='add'>+		}</div><div class='add'>+		if (ip) {</div><div class='add'>+		    ADD_GETLOCAL(ret, line, LVAR_ERRINFO, level);</div><div class='add'>+		}</div><div class='add'>+		else {</div><div class='add'>+		    ADD_INSN(ret, line, putnil);</div><div class='add'>+		}</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_DEFINED:</div><div class='add'>+	if (!popped) {</div><div class='add'>+	    CHECK(compile_defined_expr(iseq, ret, node, Qtrue));</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      case NODE_POSTEXE:{</div><div class='add'>+	/* compiled to:</div><div class='add'>+	 *   ONCE{ rb_mRubyVMFrozenCore::core#set_postexe{ ... } }</div><div class='add'>+	 */</div><div class='add'>+	int is_index = body-&gt;is_size++;</div><div class='add'>+        struct rb_iseq_new_with_callback_callback_func *ifunc =</div><div class='add'>+            rb_iseq_new_with_callback_new_callback(build_postexe_iseq, node-&gt;nd_body);</div><div class='add'>+	const rb_iseq_t *once_iseq =</div><div class='add'>+            new_child_iseq_with_callback(iseq, ifunc,</div><div class='add'>+				 rb_fstring(make_name_for_block(iseq)), iseq, ISEQ_TYPE_BLOCK, line);</div><div class='add'>+</div><div class='add'>+	ADD_INSN2(ret, line, once, once_iseq, INT2FIX(is_index));</div><div class='add'>+        RB_OBJ_WRITTEN(iseq, Qundef, (VALUE)once_iseq);</div><div class='add'>+</div><div class='add'>+	if (popped) {</div><div class='add'>+	    ADD_INSN(ret, line, pop);</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_KW_ARG:</div><div class='add'>+	{</div><div class='add'>+	    LABEL *end_label = NEW_LABEL(nd_line(node));</div><div class='add'>+	    const NODE *default_value = node-&gt;nd_body-&gt;nd_value;</div><div class='add'>+</div><div class='add'>+            if (default_value == NODE_SPECIAL_REQUIRED_KEYWORD) {</div><div class='add'>+		/* required argument. do nothing */</div><div class='add'>+		COMPILE_ERROR(ERROR_ARGS "unreachable");</div><div class='add'>+		goto ng;</div><div class='add'>+	    }</div><div class='add'>+	    else if (nd_type(default_value) == NODE_LIT ||</div><div class='add'>+		     nd_type(default_value) == NODE_NIL ||</div><div class='add'>+		     nd_type(default_value) == NODE_TRUE ||</div><div class='add'>+		     nd_type(default_value) == NODE_FALSE) {</div><div class='add'>+		COMPILE_ERROR(ERROR_ARGS "unreachable");</div><div class='add'>+		goto ng;</div><div class='add'>+	    }</div><div class='add'>+	    else {</div><div class='add'>+		/* if keywordcheck(_kw_bits, nth_keyword)</div><div class='add'>+		 *   kw = default_value</div><div class='add'>+		 * end</div><div class='add'>+		 */</div><div class='add'>+		int kw_bits_idx = body-&gt;local_table_size - body-&gt;param.keyword-&gt;bits_start;</div><div class='add'>+		int keyword_idx = body-&gt;param.keyword-&gt;num;</div><div class='add'>+</div><div class='add'>+		ADD_INSN2(ret, line, checkkeyword, INT2FIX(kw_bits_idx + VM_ENV_DATA_SIZE - 1), INT2FIX(keyword_idx));</div><div class='add'>+		ADD_INSNL(ret, line, branchif, end_label);</div><div class='add'>+		CHECK(COMPILE_POPPED(ret, "keyword default argument", node-&gt;nd_body));</div><div class='add'>+		ADD_LABEL(ret, end_label);</div><div class='add'>+	    }</div><div class='add'>+</div><div class='add'>+	    break;</div><div class='add'>+	}</div><div class='add'>+      case NODE_DSYM:{</div><div class='add'>+	compile_dstr(iseq, ret, node);</div><div class='add'>+	if (!popped) {</div><div class='add'>+	    ADD_INSN(ret, line, intern);</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    ADD_INSN(ret, line, pop);</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_ATTRASGN:{</div><div class='add'>+	DECL_ANCHOR(recv);</div><div class='add'>+	DECL_ANCHOR(args);</div><div class='add'>+	unsigned int flag = 0;</div><div class='add'>+	ID mid = node-&gt;nd_mid;</div><div class='add'>+	VALUE argc;</div><div class='add'>+        LABEL *else_label = NULL;</div><div class='add'>+        VALUE branches = Qfalse;</div><div class='add'>+</div><div class='add'>+	/* optimization shortcut</div><div class='add'>+	 *   obj["literal"] = value -&gt; opt_aset_with(obj, "literal", value)</div><div class='add'>+	 */</div><div class='add'>+	if (mid == idASET &amp;&amp; !private_recv_p(node) &amp;&amp; node-&gt;nd_args &amp;&amp;</div><div class='add'>+	    nd_type(node-&gt;nd_args) == NODE_LIST &amp;&amp; node-&gt;nd_args-&gt;nd_alen == 2 &amp;&amp;</div><div class='add'>+	    nd_type(node-&gt;nd_args-&gt;nd_head) == NODE_STR &amp;&amp;</div><div class='add'>+	    ISEQ_COMPILE_DATA(iseq)-&gt;current_block == NULL &amp;&amp;</div><div class='add'>+            !ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;frozen_string_literal &amp;&amp;</div><div class='add'>+	    ISEQ_COMPILE_DATA(iseq)-&gt;option-&gt;specialized_instruction)</div><div class='add'>+	{</div><div class='add'>+	    VALUE str = rb_fstring(node-&gt;nd_args-&gt;nd_head-&gt;nd_lit);</div><div class='add'>+	    CHECK(COMPILE(ret, "recv", node-&gt;nd_recv));</div><div class='add'>+	    CHECK(COMPILE(ret, "value", node-&gt;nd_args-&gt;nd_next-&gt;nd_head));</div><div class='add'>+	    if (!popped) {</div><div class='add'>+		ADD_INSN(ret, line, swap);</div><div class='add'>+		ADD_INSN1(ret, line, topn, INT2FIX(1));</div><div class='add'>+	    }</div><div class='add'>+            ADD_INSN2(ret, line, opt_aset_with, str,</div><div class='add'>+                      new_callinfo(iseq, idASET, 2, 0, NULL, FALSE));</div><div class='add'>+            RB_OBJ_WRITTEN(iseq, Qundef, str);</div><div class='add'>+	    ADD_INSN(ret, line, pop);</div><div class='add'>+	    break;</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+	INIT_ANCHOR(recv);</div><div class='add'>+	INIT_ANCHOR(args);</div><div class='add'>+	argc = setup_args(iseq, args, node-&gt;nd_args, &amp;flag, NULL);</div><div class='add'>+	CHECK(!NIL_P(argc));</div><div class='add'>+</div><div class='add'>+        int asgnflag = COMPILE_RECV(recv, "recv", node);</div><div class='add'>+        CHECK(asgnflag != -1);</div><div class='add'>+        flag |= (unsigned int)asgnflag;</div><div class='add'>+</div><div class='add'>+	debugp_param("argc", argc);</div><div class='add'>+	debugp_param("nd_mid", ID2SYM(mid));</div><div class='add'>+</div><div class='add'>+	if (!rb_is_attrset_id(mid)) {</div><div class='add'>+	    /* safe nav attr */</div><div class='add'>+	    mid = rb_id_attrset(mid);</div><div class='add'>+            else_label = qcall_branch_start(iseq, recv, &amp;branches, node, line);</div><div class='add'>+	}</div><div class='add'>+	if (!popped) {</div><div class='add'>+	    ADD_INSN(ret, line, putnil);</div><div class='add'>+	    ADD_SEQ(ret, recv);</div><div class='add'>+	    ADD_SEQ(ret, args);</div><div class='add'>+</div><div class='add'>+	    if (flag &amp; VM_CALL_ARGS_BLOCKARG) {</div><div class='add'>+		ADD_INSN1(ret, line, topn, INT2FIX(1));</div><div class='add'>+		if (flag &amp; VM_CALL_ARGS_SPLAT) {</div><div class='add'>+		    ADD_INSN1(ret, line, putobject, INT2FIX(-1));</div><div class='add'>+                    ADD_SEND_WITH_FLAG(ret, line, idAREF, INT2FIX(1), INT2FIX(asgnflag));</div><div class='add'>+		}</div><div class='add'>+		ADD_INSN1(ret, line, setn, FIXNUM_INC(argc, 3));</div><div class='add'>+		ADD_INSN (ret, line, pop);</div><div class='add'>+	    }</div><div class='add'>+	    else if (flag &amp; VM_CALL_ARGS_SPLAT) {</div><div class='add'>+		ADD_INSN(ret, line, dup);</div><div class='add'>+		ADD_INSN1(ret, line, putobject, INT2FIX(-1));</div><div class='add'>+                ADD_SEND_WITH_FLAG(ret, line, idAREF, INT2FIX(1), INT2FIX(asgnflag));</div><div class='add'>+		ADD_INSN1(ret, line, setn, FIXNUM_INC(argc, 2));</div><div class='add'>+		ADD_INSN (ret, line, pop);</div><div class='add'>+	    }</div><div class='add'>+	    else {</div><div class='add'>+		ADD_INSN1(ret, line, setn, FIXNUM_INC(argc, 1));</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    ADD_SEQ(ret, recv);</div><div class='add'>+	    ADD_SEQ(ret, args);</div><div class='add'>+	}</div><div class='add'>+	ADD_SEND_WITH_FLAG(ret, line, mid, argc, INT2FIX(flag));</div><div class='add'>+        qcall_branch_end(iseq, ret, else_label, branches, node, line);</div><div class='add'>+	ADD_INSN(ret, line, pop);</div><div class='add'>+</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      case NODE_LAMBDA:{</div><div class='add'>+	/* compile same as lambda{...} */</div><div class='add'>+	const rb_iseq_t *block = NEW_CHILD_ISEQ(node-&gt;nd_body, make_name_for_block(iseq), ISEQ_TYPE_BLOCK, line);</div><div class='add'>+	VALUE argc = INT2FIX(0);</div><div class='add'>+</div><div class='add'>+	ADD_INSN1(ret, line, putspecialobject, INT2FIX(VM_SPECIAL_OBJECT_VMCORE));</div><div class='add'>+	ADD_CALL_WITH_BLOCK(ret, line, idLambda, argc, block);</div><div class='add'>+        RB_OBJ_WRITTEN(iseq, Qundef, (VALUE)block);</div><div class='add'>+</div><div class='add'>+	if (popped) {</div><div class='add'>+	    ADD_INSN(ret, line, pop);</div><div class='add'>+	}</div><div class='add'>+	break;</div><div class='add'>+      }</div><div class='add'>+      default:</div><div class='add'>+	UNKNOWN_NODE("iseq_compile_each", node, COMPILE_NG);</div><div class='add'>+      ng:</div><div class='add'>+	debug_node_end();</div><div class='add'>+	return COMPILE_NG;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    debug_node_end();</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/***************************/</div><div class='add'>+/* instruction information */</div><div class='add'>+/***************************/</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+insn_data_length(INSN *iobj)</div><div class='add'>+{</div><div class='add'>+    return insn_len(iobj-&gt;insn_id);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+calc_sp_depth(int depth, INSN *insn)</div><div class='add'>+{</div><div class='add'>+    return comptime_insn_stack_increase(depth, insn-&gt;insn_id, insn-&gt;operands);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+opobj_inspect(VALUE obj)</div><div class='add'>+{</div><div class='add'>+    if (!SPECIAL_CONST_P(obj) &amp;&amp; !RBASIC_CLASS(obj)) {</div><div class='add'>+        switch (BUILTIN_TYPE(obj)) {</div><div class='add'>+	  case T_STRING:</div><div class='add'>+	    obj = rb_str_new_cstr(RSTRING_PTR(obj));</div><div class='add'>+	    break;</div><div class='add'>+	  case T_ARRAY:</div><div class='add'>+	    obj = rb_ary_dup(obj);</div><div class='add'>+	    break;</div><div class='add'>+          default:</div><div class='add'>+            break;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    return rb_inspect(obj);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+insn_data_to_s_detail(INSN *iobj)</div><div class='add'>+{</div><div class='add'>+    VALUE str = rb_sprintf("%-20s ", insn_name(iobj-&gt;insn_id));</div><div class='add'>+</div><div class='add'>+    if (iobj-&gt;operands) {</div><div class='add'>+	const char *types = insn_op_types(iobj-&gt;insn_id);</div><div class='add'>+	int j;</div><div class='add'>+</div><div class='add'>+	for (j = 0; types[j]; j++) {</div><div class='add'>+	    char type = types[j];</div><div class='add'>+</div><div class='add'>+	    switch (type) {</div><div class='add'>+	      case TS_OFFSET:	/* label(destination position) */</div><div class='add'>+		{</div><div class='add'>+		    LABEL *lobj = (LABEL *)OPERAND_AT(iobj, j);</div><div class='add'>+		    rb_str_catf(str, LABEL_FORMAT, lobj-&gt;label_no);</div><div class='add'>+		    break;</div><div class='add'>+		}</div><div class='add'>+		break;</div><div class='add'>+	      case TS_ISEQ:	/* iseq */</div><div class='add'>+		{</div><div class='add'>+		    rb_iseq_t *iseq = (rb_iseq_t *)OPERAND_AT(iobj, j);</div><div class='add'>+		    VALUE val = Qnil;</div><div class='add'>+		    if (0 &amp;&amp; iseq) { /* TODO: invalidate now */</div><div class='add'>+			val = (VALUE)iseq;</div><div class='add'>+		    }</div><div class='add'>+		    rb_str_concat(str, opobj_inspect(val));</div><div class='add'>+		}</div><div class='add'>+		break;</div><div class='add'>+	      case TS_LINDEX:</div><div class='add'>+	      case TS_NUM:	/* ulong */</div><div class='add'>+	      case TS_VALUE:	/* VALUE */</div><div class='add'>+		{</div><div class='add'>+		    VALUE v = OPERAND_AT(iobj, j);</div><div class='add'>+                    if (!CLASS_OF(v))</div><div class='add'>+                        rb_str_cat2(str, "&lt;hidden&gt;");</div><div class='add'>+                    else {</div><div class='add'>+                        rb_str_concat(str, opobj_inspect(v));</div><div class='add'>+                    }</div><div class='add'>+		    break;</div><div class='add'>+		}</div><div class='add'>+	      case TS_ID:	/* ID */</div><div class='add'>+		rb_str_concat(str, opobj_inspect(OPERAND_AT(iobj, j)));</div><div class='add'>+		break;</div><div class='add'>+	      case TS_IC:	/* inline cache */</div><div class='add'>+	      case TS_IVC:	/* inline ivar cache */</div><div class='add'>+	      case TS_ISE:	/* inline storage entry */</div><div class='add'>+		rb_str_catf(str, "&lt;ic:%d&gt;", FIX2INT(OPERAND_AT(iobj, j)));</div><div class='add'>+		break;</div><div class='add'>+              case TS_CALLDATA: /* we store these as call infos at compile time */</div><div class='add'>+		{</div><div class='add'>+                    const struct rb_callinfo *ci = (struct rb_callinfo *)OPERAND_AT(iobj, j);</div><div class='add'>+                    rb_str_cat2(str, "&lt;calldata:");</div><div class='add'>+                    if (vm_ci_mid(ci)) rb_str_catf(str, "%"PRIsVALUE, rb_id2str(vm_ci_mid(ci)));</div><div class='add'>+                    rb_str_catf(str, ", %d&gt;", vm_ci_argc(ci));</div><div class='add'>+		    break;</div><div class='add'>+		}</div><div class='add'>+	      case TS_CDHASH:	/* case/when condition cache */</div><div class='add'>+		rb_str_cat2(str, "&lt;ch&gt;");</div><div class='add'>+		break;</div><div class='add'>+	      case TS_FUNCPTR:</div><div class='add'>+		{</div><div class='add'>+		    void *func = (void *)OPERAND_AT(iobj, j);</div><div class='add'>+#ifdef HAVE_DLADDR</div><div class='add'>+		    Dl_info info;</div><div class='add'>+		    if (dladdr(func, &amp;info) &amp;&amp; info.dli_sname) {</div><div class='add'>+			rb_str_cat2(str, info.dli_sname);</div><div class='add'>+			break;</div><div class='add'>+		    }</div><div class='add'>+#endif</div><div class='add'>+		    rb_str_catf(str, "&lt;%p&gt;", func);</div><div class='add'>+		}</div><div class='add'>+		break;</div><div class='add'>+              case TS_BUILTIN:</div><div class='add'>+                rb_str_cat2(str, "&lt;TS_BUILTIN&gt;");</div><div class='add'>+                break;</div><div class='add'>+	      default:{</div><div class='add'>+		rb_raise(rb_eSyntaxError, "unknown operand type: %c", type);</div><div class='add'>+	      }</div><div class='add'>+	    }</div><div class='add'>+	    if (types[j + 1]) {</div><div class='add'>+		rb_str_cat2(str, ", ");</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    return str;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+dump_disasm_list(const LINK_ELEMENT *link)</div><div class='add'>+{</div><div class='add'>+    dump_disasm_list_with_cursor(link, NULL, NULL);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+dump_disasm_list_with_cursor(const LINK_ELEMENT *link, const LINK_ELEMENT *curr, const LABEL *dest)</div><div class='add'>+{</div><div class='add'>+    int pos = 0;</div><div class='add'>+    INSN *iobj;</div><div class='add'>+    LABEL *lobj;</div><div class='add'>+    VALUE str;</div><div class='add'>+</div><div class='add'>+    printf("-- raw disasm--------\n");</div><div class='add'>+</div><div class='add'>+    while (link) {</div><div class='add'>+	if (curr) printf(curr == link ? "*" : " ");</div><div class='add'>+	switch (link-&gt;type) {</div><div class='add'>+	  case ISEQ_ELEMENT_INSN:</div><div class='add'>+	    {</div><div class='add'>+		iobj = (INSN *)link;</div><div class='add'>+		str = insn_data_to_s_detail(iobj);</div><div class='add'>+		printf("  %04d %-65s(%4u)\n", pos, StringValueCStr(str), iobj-&gt;insn_info.line_no);</div><div class='add'>+		pos += insn_data_length(iobj);</div><div class='add'>+		break;</div><div class='add'>+	    }</div><div class='add'>+	  case ISEQ_ELEMENT_LABEL:</div><div class='add'>+	    {</div><div class='add'>+		lobj = (LABEL *)link;</div><div class='add'>+		printf(LABEL_FORMAT" [sp: %d]%s\n", lobj-&gt;label_no, lobj-&gt;sp,</div><div class='add'>+		       dest == lobj ? " &lt;---" : "");</div><div class='add'>+		break;</div><div class='add'>+	    }</div><div class='add'>+	  case ISEQ_ELEMENT_TRACE:</div><div class='add'>+	    {</div><div class='add'>+		TRACE *trace = (TRACE *)link;</div><div class='add'>+		printf("  trace: %0x\n", trace-&gt;event);</div><div class='add'>+		break;</div><div class='add'>+	    }</div><div class='add'>+	  case ISEQ_ELEMENT_ADJUST:</div><div class='add'>+	    {</div><div class='add'>+		ADJUST *adjust = (ADJUST *)link;</div><div class='add'>+		printf("  adjust: [label: %d]\n", adjust-&gt;label ? adjust-&gt;label-&gt;label_no : -1);</div><div class='add'>+		break;</div><div class='add'>+	    }</div><div class='add'>+	  default:</div><div class='add'>+	    /* ignore */</div><div class='add'>+	    rb_raise(rb_eSyntaxError, "dump_disasm_list error: %ld\n", FIX2LONG(link-&gt;type));</div><div class='add'>+	}</div><div class='add'>+	link = link-&gt;next;</div><div class='add'>+    }</div><div class='add'>+    printf("---------------------\n");</div><div class='add'>+    fflush(stdout);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+const char *</div><div class='add'>+rb_insns_name(int i)</div><div class='add'>+{</div><div class='add'>+    return insn_name(i);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_insns_name_array(void)</div><div class='add'>+{</div><div class='add'>+    VALUE ary = rb_ary_new_capa(VM_INSTRUCTION_SIZE);</div><div class='add'>+    int i;</div><div class='add'>+    for (i = 0; i &lt; VM_INSTRUCTION_SIZE; i++) {</div><div class='add'>+	rb_ary_push(ary, rb_fstring_cstr(insn_name(i)));</div><div class='add'>+    }</div><div class='add'>+    return rb_obj_freeze(ary);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static LABEL *</div><div class='add'>+register_label(rb_iseq_t *iseq, struct st_table *labels_table, VALUE obj)</div><div class='add'>+{</div><div class='add'>+    LABEL *label = 0;</div><div class='add'>+    st_data_t tmp;</div><div class='add'>+    obj = rb_to_symbol_type(obj);</div><div class='add'>+</div><div class='add'>+    if (st_lookup(labels_table, obj, &amp;tmp) == 0) {</div><div class='add'>+	label = NEW_LABEL(0);</div><div class='add'>+	st_insert(labels_table, obj, (st_data_t)label);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	label = (LABEL *)tmp;</div><div class='add'>+    }</div><div class='add'>+    LABEL_REF(label);</div><div class='add'>+    return label;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+get_exception_sym2type(VALUE sym)</div><div class='add'>+{</div><div class='add'>+    static VALUE symRescue, symEnsure, symRetry;</div><div class='add'>+    static VALUE symBreak, symRedo, symNext;</div><div class='add'>+</div><div class='add'>+    if (symRescue == 0) {</div><div class='add'>+	symRescue = ID2SYM(rb_intern_const("rescue"));</div><div class='add'>+	symEnsure = ID2SYM(rb_intern_const("ensure"));</div><div class='add'>+	symRetry  = ID2SYM(rb_intern_const("retry"));</div><div class='add'>+	symBreak  = ID2SYM(rb_intern_const("break"));</div><div class='add'>+	symRedo   = ID2SYM(rb_intern_const("redo"));</div><div class='add'>+	symNext   = ID2SYM(rb_intern_const("next"));</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (sym == symRescue) return CATCH_TYPE_RESCUE;</div><div class='add'>+    if (sym == symEnsure) return CATCH_TYPE_ENSURE;</div><div class='add'>+    if (sym == symRetry)  return CATCH_TYPE_RETRY;</div><div class='add'>+    if (sym == symBreak)  return CATCH_TYPE_BREAK;</div><div class='add'>+    if (sym == symRedo)   return CATCH_TYPE_REDO;</div><div class='add'>+    if (sym == symNext)   return CATCH_TYPE_NEXT;</div><div class='add'>+    rb_raise(rb_eSyntaxError, "invalid exception symbol: %+"PRIsVALUE, sym);</div><div class='add'>+    return 0;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+iseq_build_from_ary_exception(rb_iseq_t *iseq, struct st_table *labels_table,</div><div class='add'>+		     VALUE exception)</div><div class='add'>+{</div><div class='add'>+    int i;</div><div class='add'>+</div><div class='add'>+    for (i=0; i&lt;RARRAY_LEN(exception); i++) {</div><div class='add'>+	const rb_iseq_t *eiseq;</div><div class='add'>+	VALUE v, type;</div><div class='add'>+	LABEL *lstart, *lend, *lcont;</div><div class='add'>+	unsigned int sp;</div><div class='add'>+</div><div class='add'>+	v = rb_to_array_type(RARRAY_AREF(exception, i));</div><div class='add'>+	if (RARRAY_LEN(v) != 6) {</div><div class='add'>+	    rb_raise(rb_eSyntaxError, "wrong exception entry");</div><div class='add'>+	}</div><div class='add'>+        type = get_exception_sym2type(RARRAY_AREF(v, 0));</div><div class='add'>+        if (RARRAY_AREF(v, 1) == Qnil) {</div><div class='add'>+	    eiseq = NULL;</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+            eiseq = rb_iseqw_to_iseq(rb_iseq_load(RARRAY_AREF(v, 1), (VALUE)iseq, Qnil));</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        lstart = register_label(iseq, labels_table, RARRAY_AREF(v, 2));</div><div class='add'>+        lend   = register_label(iseq, labels_table, RARRAY_AREF(v, 3));</div><div class='add'>+        lcont  = register_label(iseq, labels_table, RARRAY_AREF(v, 4));</div><div class='add'>+        sp     = NUM2UINT(RARRAY_AREF(v, 5));</div><div class='add'>+</div><div class='add'>+	/* TODO: Dirty Hack!  Fix me */</div><div class='add'>+	if (type == CATCH_TYPE_RESCUE ||</div><div class='add'>+	    type == CATCH_TYPE_BREAK ||</div><div class='add'>+	    type == CATCH_TYPE_NEXT) {</div><div class='add'>+	    ++sp;</div><div class='add'>+	}</div><div class='add'>+</div><div class='add'>+	lcont-&gt;sp = sp;</div><div class='add'>+</div><div class='add'>+	ADD_CATCH_ENTRY(type, lstart, lend, eiseq, lcont);</div><div class='add'>+</div><div class='add'>+	RB_GC_GUARD(v);</div><div class='add'>+    }</div><div class='add'>+    return COMPILE_OK;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static struct st_table *</div><div class='add'>+insn_make_insn_table(void)</div><div class='add'>+{</div><div class='add'>+    struct st_table *table;</div><div class='add'>+    int i;</div><div class='add'>+    table = st_init_numtable_with_size(VM_INSTRUCTION_SIZE);</div><div class='add'>+</div><div class='add'>+    for (i=0; i&lt;VM_INSTRUCTION_SIZE; i++) {</div><div class='add'>+	st_insert(table, ID2SYM(rb_intern_const(insn_name(i))), i);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return table;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static const rb_iseq_t *</div><div class='add'>+iseq_build_load_iseq(const rb_iseq_t *iseq, VALUE op)</div><div class='add'>+{</div><div class='add'>+    VALUE iseqw;</div><div class='add'>+    const rb_iseq_t *loaded_iseq;</div><div class='add'>+</div><div class='add'>+    if (RB_TYPE_P(op, T_ARRAY)) {</div><div class='add'>+	iseqw = rb_iseq_load(op, (VALUE)iseq, Qnil);</div><div class='add'>+    }</div><div class='add'>+    else if (CLASS_OF(op) == rb_cISeq) {</div><div class='add'>+	iseqw = op;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	rb_raise(rb_eSyntaxError, "ISEQ is required");</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    loaded_iseq = rb_iseqw_to_iseq(iseqw);</div><div class='add'>+    return loaded_iseq;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+iseq_build_callinfo_from_hash(rb_iseq_t *iseq, VALUE op)</div><div class='add'>+{</div><div class='add'>+    ID mid = 0;</div><div class='add'>+    int orig_argc = 0;</div><div class='add'>+    unsigned int flag = 0;</div><div class='add'>+    struct rb_callinfo_kwarg *kw_arg = 0;</div><div class='add'>+</div><div class='add'>+    if (!NIL_P(op)) {</div><div class='add'>+	VALUE vmid = rb_hash_aref(op, ID2SYM(rb_intern_const("mid")));</div><div class='add'>+	VALUE vflag = rb_hash_aref(op, ID2SYM(rb_intern_const("flag")));</div><div class='add'>+	VALUE vorig_argc = rb_hash_aref(op, ID2SYM(rb_intern_const("orig_argc")));</div><div class='add'>+	VALUE vkw_arg = rb_hash_aref(op, ID2SYM(rb_intern_const("kw_arg")));</div><div class='add'>+</div><div class='add'>+	if (!NIL_P(vmid)) mid = SYM2ID(vmid);</div><div class='add'>+	if (!NIL_P(vflag)) flag = NUM2UINT(vflag);</div><div class='add'>+	if (!NIL_P(vorig_argc)) orig_argc = FIX2INT(vorig_argc);</div><div class='add'>+</div><div class='add'>+	if (!NIL_P(vkw_arg)) {</div><div class='add'>+	    int i;</div><div class='add'>+	    int len = RARRAY_LENINT(vkw_arg);</div><div class='add'>+	    size_t n = rb_callinfo_kwarg_bytes(len);</div><div class='add'>+</div><div class='add'>+	    kw_arg = xmalloc(n);</div><div class='add'>+	    kw_arg-&gt;keyword_len = len;</div><div class='add'>+	    for (i = 0; i &lt; len; i++) {</div><div class='add'>+		VALUE kw = RARRAY_AREF(vkw_arg, i);</div><div class='add'>+		SYM2ID(kw);	/* make immortal */</div><div class='add'>+		kw_arg-&gt;keywords[i] = kw;</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    const struct rb_callinfo *ci = new_callinfo(iseq, mid, orig_argc, flag, kw_arg, (flag &amp; VM_CALL_ARGS_SIMPLE) == 0);</div><div class='add'>+    RB_OBJ_WRITTEN(iseq, Qundef, ci);</div><div class='add'>+    return (VALUE)ci;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static rb_event_flag_t</div><div class='add'>+event_name_to_flag(VALUE sym)</div><div class='add'>+{</div><div class='add'>+#define CHECK_EVENT(ev) if (sym == ID2SYM(rb_intern_const(#ev))) return ev;</div><div class='add'>+		CHECK_EVENT(RUBY_EVENT_LINE);</div><div class='add'>+		CHECK_EVENT(RUBY_EVENT_CLASS);</div><div class='add'>+		CHECK_EVENT(RUBY_EVENT_END);</div><div class='add'>+		CHECK_EVENT(RUBY_EVENT_CALL);</div><div class='add'>+		CHECK_EVENT(RUBY_EVENT_RETURN);</div><div class='add'>+		CHECK_EVENT(RUBY_EVENT_B_CALL);</div><div class='add'>+		CHECK_EVENT(RUBY_EVENT_B_RETURN);</div><div class='add'>+#undef CHECK_EVENT</div><div class='add'>+    return RUBY_EVENT_NONE;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+iseq_build_from_ary_body(rb_iseq_t *iseq, LINK_ANCHOR *const anchor,</div><div class='add'>+			 VALUE body, VALUE labels_wrapper)</div><div class='add'>+{</div><div class='add'>+    /* TODO: body should be frozen */</div><div class='add'>+    long i, len = RARRAY_LEN(body);</div><div class='add'>+    struct st_table *labels_table = DATA_PTR(labels_wrapper);</div><div class='add'>+    int j;</div><div class='add'>+    int line_no = 0;</div><div class='add'>+    int ret = COMPILE_OK;</div><div class='add'>+</div><div class='add'>+    /*</div><div class='add'>+     * index -&gt; LABEL *label</div><div class='add'>+     */</div><div class='add'>+    static struct st_table *insn_table;</div><div class='add'>+</div><div class='add'>+    if (insn_table == 0) {</div><div class='add'>+	insn_table = insn_make_insn_table();</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    for (i=0; i&lt;len; i++) {</div><div class='add'>+        VALUE obj = RARRAY_AREF(body, i);</div><div class='add'>+</div><div class='add'>+	if (SYMBOL_P(obj)) {</div><div class='add'>+	    rb_event_flag_t event;</div><div class='add'>+	    if ((event = event_name_to_flag(obj)) != RUBY_EVENT_NONE) {</div><div class='add'>+		ADD_TRACE(anchor, event);</div><div class='add'>+	    }</div><div class='add'>+	    else {</div><div class='add'>+		LABEL *label = register_label(iseq, labels_table, obj);</div><div class='add'>+		ADD_LABEL(anchor, label);</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+	else if (FIXNUM_P(obj)) {</div><div class='add'>+	    line_no = NUM2INT(obj);</div><div class='add'>+	}</div><div class='add'>+	else if (RB_TYPE_P(obj, T_ARRAY)) {</div><div class='add'>+	    VALUE *argv = 0;</div><div class='add'>+	    int argc = RARRAY_LENINT(obj) - 1;</div><div class='add'>+	    st_data_t insn_id;</div><div class='add'>+	    VALUE insn;</div><div class='add'>+</div><div class='add'>+	    insn = (argc &lt; 0) ? Qnil : RARRAY_AREF(obj, 0);</div><div class='add'>+	    if (st_lookup(insn_table, (st_data_t)insn, &amp;insn_id) == 0) {</div><div class='add'>+		/* TODO: exception */</div><div class='add'>+		COMPILE_ERROR(iseq, line_no,</div><div class='add'>+			      "unknown instruction: %+"PRIsVALUE, insn);</div><div class='add'>+		ret = COMPILE_NG;</div><div class='add'>+		break;</div><div class='add'>+	    }</div><div class='add'>+</div><div class='add'>+	    if (argc != insn_len((VALUE)insn_id)-1) {</div><div class='add'>+		COMPILE_ERROR(iseq, line_no,</div><div class='add'>+			      "operand size mismatch");</div><div class='add'>+		ret = COMPILE_NG;</div><div class='add'>+		break;</div><div class='add'>+	    }</div><div class='add'>+</div><div class='add'>+	    if (argc &gt; 0) {</div><div class='add'>+                argv = compile_data_calloc2(iseq, sizeof(VALUE), argc);</div><div class='add'>+</div><div class='add'>+                // add element before operand setup to make GC root</div><div class='add'>+                ADD_ELEM(anchor,</div><div class='add'>+                         (LINK_ELEMENT*)new_insn_core(iseq, line_no,</div><div class='add'>+                                                      (enum ruby_vminsn_type)insn_id, argc, argv));</div><div class='add'>+</div><div class='add'>+		for (j=0; j&lt;argc; j++) {</div><div class='add'>+		    VALUE op = rb_ary_entry(obj, j+1);</div><div class='add'>+		    switch (insn_op_type((VALUE)insn_id, j)) {</div><div class='add'>+		      case TS_OFFSET: {</div><div class='add'>+			LABEL *label = register_label(iseq, labels_table, op);</div><div class='add'>+			argv[j] = (VALUE)label;</div><div class='add'>+			break;</div><div class='add'>+		      }</div><div class='add'>+		      case TS_LINDEX:</div><div class='add'>+		      case TS_NUM:</div><div class='add'>+			(void)NUM2INT(op);</div><div class='add'>+			argv[j] = op;</div><div class='add'>+			break;</div><div class='add'>+		      case TS_VALUE:</div><div class='add'>+			argv[j] = op;</div><div class='add'>+			RB_OBJ_WRITTEN(iseq, Qundef, op);</div><div class='add'>+			break;</div><div class='add'>+		      case TS_ISEQ:</div><div class='add'>+			{</div><div class='add'>+			    if (op != Qnil) {</div><div class='add'>+				VALUE v = (VALUE)iseq_build_load_iseq(iseq, op);</div><div class='add'>+				argv[j] = v;</div><div class='add'>+				RB_OBJ_WRITTEN(iseq, Qundef, v);</div><div class='add'>+			    }</div><div class='add'>+			    else {</div><div class='add'>+				argv[j] = 0;</div><div class='add'>+			    }</div><div class='add'>+			}</div><div class='add'>+			break;</div><div class='add'>+		      case TS_ISE:</div><div class='add'>+                        FL_SET((VALUE)iseq, ISEQ_MARKABLE_ISEQ);</div><div class='add'>+                        /* fall through */</div><div class='add'>+		      case TS_IC:</div><div class='add'>+                      case TS_IVC:  /* inline ivar cache */</div><div class='add'>+			argv[j] = op;</div><div class='add'>+			if (NUM2UINT(op) &gt;= iseq-&gt;body-&gt;is_size) {</div><div class='add'>+			    iseq-&gt;body-&gt;is_size = NUM2INT(op) + 1;</div><div class='add'>+			}</div><div class='add'>+			break;</div><div class='add'>+                      case TS_CALLDATA:</div><div class='add'>+			argv[j] = iseq_build_callinfo_from_hash(iseq, op);</div><div class='add'>+			break;</div><div class='add'>+		      case TS_ID:</div><div class='add'>+			argv[j] = rb_to_symbol_type(op);</div><div class='add'>+			break;</div><div class='add'>+		      case TS_CDHASH:</div><div class='add'>+			{</div><div class='add'>+			    int i;</div><div class='add'>+			    VALUE map = rb_hash_new_with_size(RARRAY_LEN(op)/2);</div><div class='add'>+</div><div class='add'>+                            RHASH_TBL_RAW(map)-&gt;type = &amp;cdhash_type;</div><div class='add'>+			    op = rb_to_array_type(op);</div><div class='add'>+			    for (i=0; i&lt;RARRAY_LEN(op); i+=2) {</div><div class='add'>+				VALUE key = RARRAY_AREF(op, i);</div><div class='add'>+				VALUE sym = RARRAY_AREF(op, i+1);</div><div class='add'>+				LABEL *label =</div><div class='add'>+				  register_label(iseq, labels_table, sym);</div><div class='add'>+				rb_hash_aset(map, key, (VALUE)label | 1);</div><div class='add'>+			    }</div><div class='add'>+			    RB_GC_GUARD(op);</div><div class='add'>+			    argv[j] = map;</div><div class='add'>+			    RB_OBJ_WRITTEN(iseq, Qundef, map);</div><div class='add'>+			}</div><div class='add'>+			break;</div><div class='add'>+		      case TS_FUNCPTR:</div><div class='add'>+			{</div><div class='add'>+#if SIZEOF_VALUE &lt;= SIZEOF_LONG</div><div class='add'>+			    long funcptr = NUM2LONG(op);</div><div class='add'>+#else</div><div class='add'>+			    LONG_LONG funcptr = NUM2LL(op);</div><div class='add'>+#endif</div><div class='add'>+			    argv[j] = (VALUE)funcptr;</div><div class='add'>+			}</div><div class='add'>+			break;</div><div class='add'>+		      default:</div><div class='add'>+			rb_raise(rb_eSyntaxError, "unknown operand: %c", insn_op_type((VALUE)insn_id, j));</div><div class='add'>+		    }</div><div class='add'>+		}</div><div class='add'>+	    }</div><div class='add'>+            else {</div><div class='add'>+                ADD_ELEM(anchor,</div><div class='add'>+                         (LINK_ELEMENT*)new_insn_core(iseq, line_no,</div><div class='add'>+                                                      (enum ruby_vminsn_type)insn_id, argc, NULL));</div><div class='add'>+            }</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    rb_raise(rb_eTypeError, "unexpected object for instruction");</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    DATA_PTR(labels_wrapper) = 0;</div><div class='add'>+    validate_labels(iseq, labels_table);</div><div class='add'>+    if (!ret) return ret;</div><div class='add'>+    return iseq_setup(iseq, anchor);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#define CHECK_ARRAY(v)   rb_to_array_type(v)</div><div class='add'>+#define CHECK_SYMBOL(v)  rb_to_symbol_type(v)</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+int_param(int *dst, VALUE param, VALUE sym)</div><div class='add'>+{</div><div class='add'>+    VALUE val = rb_hash_aref(param, sym);</div><div class='add'>+    if (FIXNUM_P(val)) {</div><div class='add'>+	*dst = FIX2INT(val);</div><div class='add'>+	return TRUE;</div><div class='add'>+    }</div><div class='add'>+    else if (!NIL_P(val)) {</div><div class='add'>+	rb_raise(rb_eTypeError, "invalid %+"PRIsVALUE" Fixnum: %+"PRIsVALUE,</div><div class='add'>+		 sym, val);</div><div class='add'>+    }</div><div class='add'>+    return FALSE;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static const struct rb_iseq_param_keyword *</div><div class='add'>+iseq_build_kw(rb_iseq_t *iseq, VALUE params, VALUE keywords)</div><div class='add'>+{</div><div class='add'>+    int i, j;</div><div class='add'>+    int len = RARRAY_LENINT(keywords);</div><div class='add'>+    int default_len;</div><div class='add'>+    VALUE key, sym, default_val;</div><div class='add'>+    VALUE *dvs;</div><div class='add'>+    ID *ids;</div><div class='add'>+    struct rb_iseq_param_keyword *keyword = ZALLOC(struct rb_iseq_param_keyword);</div><div class='add'>+</div><div class='add'>+    iseq-&gt;body-&gt;param.flags.has_kw = TRUE;</div><div class='add'>+</div><div class='add'>+    keyword-&gt;num = len;</div><div class='add'>+#define SYM(s) ID2SYM(rb_intern_const(#s))</div><div class='add'>+    (void)int_param(&amp;keyword-&gt;bits_start, params, SYM(kwbits));</div><div class='add'>+    i = keyword-&gt;bits_start - keyword-&gt;num;</div><div class='add'>+    ids = (ID *)&amp;iseq-&gt;body-&gt;local_table[i];</div><div class='add'>+#undef SYM</div><div class='add'>+</div><div class='add'>+    /* required args */</div><div class='add'>+    for (i = 0; i &lt; len; i++) {</div><div class='add'>+	VALUE val = RARRAY_AREF(keywords, i);</div><div class='add'>+</div><div class='add'>+	if (!SYMBOL_P(val)) {</div><div class='add'>+	    goto default_values;</div><div class='add'>+	}</div><div class='add'>+	ids[i] = SYM2ID(val);</div><div class='add'>+	keyword-&gt;required_num++;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+  default_values: /* note: we intentionally preserve `i' from previous loop */</div><div class='add'>+    default_len = len - i;</div><div class='add'>+    if (default_len == 0) {</div><div class='add'>+	keyword-&gt;table = ids;</div><div class='add'>+	return keyword;</div><div class='add'>+    }</div><div class='add'>+    else if (default_len &lt; 0) {</div><div class='add'>+        UNREACHABLE;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    dvs = ALLOC_N(VALUE, (unsigned int)default_len);</div><div class='add'>+</div><div class='add'>+    for (j = 0; i &lt; len; i++, j++) {</div><div class='add'>+	key = RARRAY_AREF(keywords, i);</div><div class='add'>+	CHECK_ARRAY(key);</div><div class='add'>+</div><div class='add'>+	switch (RARRAY_LEN(key)) {</div><div class='add'>+	  case 1:</div><div class='add'>+	    sym = RARRAY_AREF(key, 0);</div><div class='add'>+	    default_val = Qundef;</div><div class='add'>+	    break;</div><div class='add'>+	  case 2:</div><div class='add'>+	    sym = RARRAY_AREF(key, 0);</div><div class='add'>+	    default_val = RARRAY_AREF(key, 1);</div><div class='add'>+	    break;</div><div class='add'>+	  default:</div><div class='add'>+	    rb_raise(rb_eTypeError, "keyword default has unsupported len %+"PRIsVALUE, key);</div><div class='add'>+	}</div><div class='add'>+	ids[i] = SYM2ID(sym);</div><div class='add'>+	dvs[j] = default_val;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    keyword-&gt;table = ids;</div><div class='add'>+    keyword-&gt;default_values = dvs;</div><div class='add'>+</div><div class='add'>+    return keyword;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+rb_iseq_mark_insn_storage(struct iseq_compile_data_storage *storage)</div><div class='add'>+{</div><div class='add'>+    INSN *iobj = 0;</div><div class='add'>+    size_t size = sizeof(INSN);</div><div class='add'>+    unsigned int pos = 0;</div><div class='add'>+</div><div class='add'>+    while (storage) {</div><div class='add'>+#ifdef STRICT_ALIGNMENT</div><div class='add'>+        size_t padding = calc_padding((void *)&amp;storage-&gt;buff[pos], size);</div><div class='add'>+#else</div><div class='add'>+        const size_t padding = 0; /* expected to be optimized by compiler */</div><div class='add'>+#endif /* STRICT_ALIGNMENT */</div><div class='add'>+        size_t offset = pos + size + padding;</div><div class='add'>+        if (offset &gt; storage-&gt;size || offset &gt; storage-&gt;pos) {</div><div class='add'>+            pos = 0;</div><div class='add'>+            storage = storage-&gt;next;</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+#ifdef STRICT_ALIGNMENT</div><div class='add'>+            pos += (int)padding;</div><div class='add'>+#endif /* STRICT_ALIGNMENT */</div><div class='add'>+</div><div class='add'>+            iobj = (INSN *)&amp;storage-&gt;buff[pos];</div><div class='add'>+</div><div class='add'>+            if (iobj-&gt;operands) {</div><div class='add'>+                int j;</div><div class='add'>+                const char *types = insn_op_types(iobj-&gt;insn_id);</div><div class='add'>+</div><div class='add'>+                for (j = 0; types[j]; j++) {</div><div class='add'>+                    char type = types[j];</div><div class='add'>+                    switch (type) {</div><div class='add'>+                      case TS_CDHASH:</div><div class='add'>+                      case TS_ISEQ:</div><div class='add'>+                      case TS_VALUE:</div><div class='add'>+                      case TS_CALLDATA: // ci is stored.</div><div class='add'>+                        {</div><div class='add'>+                            VALUE op = OPERAND_AT(iobj, j);</div><div class='add'>+</div><div class='add'>+                            if (!SPECIAL_CONST_P(op)) {</div><div class='add'>+                                rb_gc_mark(op);</div><div class='add'>+                            }</div><div class='add'>+                        }</div><div class='add'>+                        break;</div><div class='add'>+                      default:</div><div class='add'>+                        break;</div><div class='add'>+                    }</div><div class='add'>+                }</div><div class='add'>+            }</div><div class='add'>+            pos += (int)size;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+rb_iseq_build_from_ary(rb_iseq_t *iseq, VALUE misc, VALUE locals, VALUE params,</div><div class='add'>+			 VALUE exception, VALUE body)</div><div class='add'>+{</div><div class='add'>+#define SYM(s) ID2SYM(rb_intern_const(#s))</div><div class='add'>+    int i, len;</div><div class='add'>+    unsigned int arg_size, local_size, stack_max;</div><div class='add'>+    ID *tbl;</div><div class='add'>+    struct st_table *labels_table = st_init_numtable();</div><div class='add'>+    VALUE labels_wrapper = Data_Wrap_Struct(0, rb_mark_set, st_free_table, labels_table);</div><div class='add'>+    VALUE arg_opt_labels = rb_hash_aref(params, SYM(opt));</div><div class='add'>+    VALUE keywords = rb_hash_aref(params, SYM(keyword));</div><div class='add'>+    VALUE sym_arg_rest = ID2SYM(rb_intern_const("#arg_rest"));</div><div class='add'>+    DECL_ANCHOR(anchor);</div><div class='add'>+    INIT_ANCHOR(anchor);</div><div class='add'>+</div><div class='add'>+    len = RARRAY_LENINT(locals);</div><div class='add'>+    iseq-&gt;body-&gt;local_table_size = len;</div><div class='add'>+    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='add'>+</div><div class='add'>+    for (i = 0; i &lt; len; i++) {</div><div class='add'>+	VALUE lv = RARRAY_AREF(locals, i);</div><div class='add'>+</div><div class='add'>+	if (sym_arg_rest == lv) {</div><div class='add'>+	    tbl[i] = 0;</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    tbl[i] = FIXNUM_P(lv) ? (ID)FIX2LONG(lv) : SYM2ID(CHECK_SYMBOL(lv));</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+#define INT_PARAM(F) int_param(&amp;iseq-&gt;body-&gt;param.F, params, SYM(F))</div><div class='add'>+    if (INT_PARAM(lead_num)) {</div><div class='add'>+	iseq-&gt;body-&gt;param.flags.has_lead = TRUE;</div><div class='add'>+    }</div><div class='add'>+    if (INT_PARAM(post_num)) iseq-&gt;body-&gt;param.flags.has_post = TRUE;</div><div class='add'>+    if (INT_PARAM(post_start)) iseq-&gt;body-&gt;param.flags.has_post = TRUE;</div><div class='add'>+    if (INT_PARAM(rest_start)) iseq-&gt;body-&gt;param.flags.has_rest = TRUE;</div><div class='add'>+    if (INT_PARAM(block_start)) iseq-&gt;body-&gt;param.flags.has_block = TRUE;</div><div class='add'>+#undef INT_PARAM</div><div class='add'>+    {</div><div class='add'>+#define INT_PARAM(F) F = (int_param(&amp;x, misc, SYM(F)) ? (unsigned int)x : 0)</div><div class='add'>+	int x;</div><div class='add'>+	INT_PARAM(arg_size);</div><div class='add'>+	INT_PARAM(local_size);</div><div class='add'>+	INT_PARAM(stack_max);</div><div class='add'>+#undef INT_PARAM</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (RB_TYPE_P(arg_opt_labels, T_ARRAY)) {</div><div class='add'>+	len = RARRAY_LENINT(arg_opt_labels);</div><div class='add'>+	iseq-&gt;body-&gt;param.flags.has_opt = !!(len - 1 &gt;= 0);</div><div class='add'>+</div><div class='add'>+	if (iseq-&gt;body-&gt;param.flags.has_opt) {</div><div class='add'>+	    VALUE *opt_table = ALLOC_N(VALUE, len);</div><div class='add'>+</div><div class='add'>+	    for (i = 0; i &lt; len; i++) {</div><div class='add'>+		VALUE ent = RARRAY_AREF(arg_opt_labels, i);</div><div class='add'>+		LABEL *label = register_label(iseq, labels_table, ent);</div><div class='add'>+		opt_table[i] = (VALUE)label;</div><div class='add'>+	    }</div><div class='add'>+</div><div class='add'>+	    iseq-&gt;body-&gt;param.opt_num = len - 1;</div><div class='add'>+	    iseq-&gt;body-&gt;param.opt_table = opt_table;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    else if (!NIL_P(arg_opt_labels)) {</div><div class='add'>+	rb_raise(rb_eTypeError, ":opt param is not an array: %+"PRIsVALUE,</div><div class='add'>+		 arg_opt_labels);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (RB_TYPE_P(keywords, T_ARRAY)) {</div><div class='add'>+	iseq-&gt;body-&gt;param.keyword = iseq_build_kw(iseq, params, keywords);</div><div class='add'>+    }</div><div class='add'>+    else if (!NIL_P(keywords)) {</div><div class='add'>+	rb_raise(rb_eTypeError, ":keywords param is not an array: %+"PRIsVALUE,</div><div class='add'>+		 keywords);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (Qtrue == rb_hash_aref(params, SYM(ambiguous_param0))) {</div><div class='add'>+	iseq-&gt;body-&gt;param.flags.ambiguous_param0 = TRUE;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (int_param(&amp;i, params, SYM(kwrest))) {</div><div class='add'>+	struct rb_iseq_param_keyword *keyword = (struct rb_iseq_param_keyword *)iseq-&gt;body-&gt;param.keyword;</div><div class='add'>+	if (keyword == NULL) {</div><div class='add'>+	    iseq-&gt;body-&gt;param.keyword = keyword = ZALLOC(struct rb_iseq_param_keyword);</div><div class='add'>+	}</div><div class='add'>+	keyword-&gt;rest_start = i;</div><div class='add'>+	iseq-&gt;body-&gt;param.flags.has_kwrest = TRUE;</div><div class='add'>+    }</div><div class='add'>+#undef SYM</div><div class='add'>+    iseq_calc_param_size(iseq);</div><div class='add'>+</div><div class='add'>+    /* exception */</div><div class='add'>+    iseq_build_from_ary_exception(iseq, labels_table, exception);</div><div class='add'>+</div><div class='add'>+    /* body */</div><div class='add'>+    iseq_build_from_ary_body(iseq, anchor, body, labels_wrapper);</div><div class='add'>+</div><div class='add'>+    iseq-&gt;body-&gt;param.size = arg_size;</div><div class='add'>+    iseq-&gt;body-&gt;local_table_size = local_size;</div><div class='add'>+    iseq-&gt;body-&gt;stack_max = stack_max;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/* for parser */</div><div class='add'>+</div><div class='add'>+int</div><div class='add'>+rb_dvar_defined(ID id, const rb_iseq_t *iseq)</div><div class='add'>+{</div><div class='add'>+    if (iseq) {</div><div class='add'>+	const struct rb_iseq_constant_body *body = iseq-&gt;body;</div><div class='add'>+	while (body-&gt;type == ISEQ_TYPE_BLOCK ||</div><div class='add'>+	       body-&gt;type == ISEQ_TYPE_RESCUE ||</div><div class='add'>+	       body-&gt;type == ISEQ_TYPE_ENSURE ||</div><div class='add'>+	       body-&gt;type == ISEQ_TYPE_EVAL ||</div><div class='add'>+	       body-&gt;type == ISEQ_TYPE_MAIN</div><div class='add'>+	       ) {</div><div class='add'>+	    unsigned int i;</div><div class='add'>+</div><div class='add'>+	    for (i = 0; i &lt; body-&gt;local_table_size; i++) {</div><div class='add'>+		if (body-&gt;local_table[i] == id) {</div><div class='add'>+		    return 1;</div><div class='add'>+		}</div><div class='add'>+	    }</div><div class='add'>+	    iseq = body-&gt;parent_iseq;</div><div class='add'>+	    body = iseq-&gt;body;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    return 0;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+int</div><div class='add'>+rb_local_defined(ID id, const rb_iseq_t *iseq)</div><div class='add'>+{</div><div class='add'>+    if (iseq) {</div><div class='add'>+	unsigned int i;</div><div class='add'>+	const struct rb_iseq_constant_body *const body = iseq-&gt;body-&gt;local_iseq-&gt;body;</div><div class='add'>+</div><div class='add'>+	for (i=0; i&lt;body-&gt;local_table_size; i++) {</div><div class='add'>+	    if (body-&gt;local_table[i] == id) {</div><div class='add'>+		return 1;</div><div class='add'>+	    }</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    return 0;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+caller_location(VALUE *path, VALUE *realpath)</div><div class='add'>+{</div><div class='add'>+    const rb_execution_context_t *ec = GET_EC();</div><div class='add'>+    const rb_control_frame_t *const cfp =</div><div class='add'>+        rb_vm_get_ruby_level_next_cfp(ec, ec-&gt;cfp);</div><div class='add'>+</div><div class='add'>+    if (cfp) {</div><div class='add'>+	int line = rb_vm_get_sourceline(cfp);</div><div class='add'>+	*path = rb_iseq_path(cfp-&gt;iseq);</div><div class='add'>+	*realpath = rb_iseq_realpath(cfp-&gt;iseq);</div><div class='add'>+	return line;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	*path = rb_fstring_lit("&lt;compiled&gt;");</div><div class='add'>+	*realpath = *path;</div><div class='add'>+	return 1;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+typedef struct {</div><div class='add'>+    VALUE arg;</div><div class='add'>+    VALUE func;</div><div class='add'>+    int line;</div><div class='add'>+} accessor_args;</div><div class='add'>+</div><div class='add'>+static const rb_iseq_t *</div><div class='add'>+method_for_self(VALUE name, VALUE arg, const struct rb_builtin_function *func,</div><div class='add'>+                void (*build)(rb_iseq_t *, LINK_ANCHOR *, const void *))</div><div class='add'>+{</div><div class='add'>+    VALUE path, realpath;</div><div class='add'>+    accessor_args acc;</div><div class='add'>+</div><div class='add'>+    acc.arg = arg;</div><div class='add'>+    acc.func = (VALUE)func;</div><div class='add'>+    acc.line = caller_location(&amp;path, &amp;realpath);</div><div class='add'>+    struct rb_iseq_new_with_callback_callback_func *ifunc =</div><div class='add'>+        rb_iseq_new_with_callback_new_callback(build, &amp;acc);</div><div class='add'>+    return rb_iseq_new_with_callback(ifunc,</div><div class='add'>+			     rb_sym2str(name), path, realpath,</div><div class='add'>+			     INT2FIX(acc.line), 0, ISEQ_TYPE_METHOD, 0);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+for_self_aref(rb_iseq_t *iseq, LINK_ANCHOR *ret, const void *a)</div><div class='add'>+{</div><div class='add'>+    const accessor_args *const args = (void *)a;</div><div class='add'>+    const int line = args-&gt;line;</div><div class='add'>+    struct rb_iseq_constant_body *const body = iseq-&gt;body;</div><div class='add'>+</div><div class='add'>+    iseq_set_local_table(iseq, 0);</div><div class='add'>+    body-&gt;param.lead_num = 0;</div><div class='add'>+    body-&gt;param.size = 0;</div><div class='add'>+</div><div class='add'>+    ADD_INSN1(ret, line, putobject, args-&gt;arg);</div><div class='add'>+    ADD_INSN1(ret, line, invokebuiltin, args-&gt;func);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+for_self_aset(rb_iseq_t *iseq, LINK_ANCHOR *ret, const void *a)</div><div class='add'>+{</div><div class='add'>+    const accessor_args *const args = (void *)a;</div><div class='add'>+    const int line = args-&gt;line;</div><div class='add'>+    struct rb_iseq_constant_body *const body = iseq-&gt;body;</div><div class='add'>+    static const ID vars[] = {1, idUScore};</div><div class='add'>+</div><div class='add'>+    iseq_set_local_table(iseq, vars);</div><div class='add'>+    body-&gt;param.lead_num = 1;</div><div class='add'>+    body-&gt;param.size = 1;</div><div class='add'>+</div><div class='add'>+    ADD_GETLOCAL(ret, line, numberof(vars)-1, 0);</div><div class='add'>+    ADD_INSN1(ret, line, putobject, args-&gt;arg);</div><div class='add'>+    ADD_INSN1(ret, line, invokebuiltin, args-&gt;func);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * func (index) -&gt; (value)</div><div class='add'>+ */</div><div class='add'>+const rb_iseq_t *</div><div class='add'>+rb_method_for_self_aref(VALUE name, VALUE arg, const struct rb_builtin_function *func)</div><div class='add'>+{</div><div class='add'>+    return method_for_self(name, arg, func, for_self_aref);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * func (index, value) -&gt; (value)</div><div class='add'>+ */</div><div class='add'>+const rb_iseq_t *</div><div class='add'>+rb_method_for_self_aset(VALUE name, VALUE arg, const struct rb_builtin_function *func)</div><div class='add'>+{</div><div class='add'>+    return method_for_self(name, arg, func, for_self_aset);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/* ISeq binary format */</div><div class='add'>+</div><div class='add'>+#ifndef IBF_ISEQ_DEBUG</div><div class='add'>+#define IBF_ISEQ_DEBUG 0</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#ifndef IBF_ISEQ_ENABLE_LOCAL_BUFFER</div><div class='add'>+#define IBF_ISEQ_ENABLE_LOCAL_BUFFER 0</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+typedef unsigned int ibf_offset_t;</div><div class='add'>+#define IBF_OFFSET(ptr) ((ibf_offset_t)(VALUE)(ptr))</div><div class='add'>+</div><div class='add'>+#define IBF_MAJOR_VERSION ISEQ_MAJOR_VERSION</div><div class='add'>+#if RUBY_DEVEL</div><div class='add'>+#define IBF_DEVEL_VERSION 2</div><div class='add'>+#define IBF_MINOR_VERSION (ISEQ_MINOR_VERSION * 10000 + IBF_DEVEL_VERSION)</div><div class='add'>+#else</div><div class='add'>+#define IBF_MINOR_VERSION ISEQ_MINOR_VERSION</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+struct ibf_header {</div><div class='add'>+    char magic[4]; /* YARB */</div><div class='add'>+    unsigned int major_version;</div><div class='add'>+    unsigned int minor_version;</div><div class='add'>+    unsigned int size;</div><div class='add'>+    unsigned int extra_size;</div><div class='add'>+</div><div class='add'>+    unsigned int iseq_list_size;</div><div class='add'>+    unsigned int global_object_list_size;</div><div class='add'>+    ibf_offset_t iseq_list_offset;</div><div class='add'>+    ibf_offset_t global_object_list_offset;</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+struct ibf_dump_buffer {</div><div class='add'>+    VALUE str;</div><div class='add'>+    st_table *obj_table; /* obj -&gt; obj number */</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+struct ibf_dump {</div><div class='add'>+    st_table *iseq_table; /* iseq -&gt; iseq number */</div><div class='add'>+    struct ibf_dump_buffer global_buffer;</div><div class='add'>+    struct ibf_dump_buffer *current_buffer;</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+rb_iseq_t * iseq_alloc(void);</div><div class='add'>+</div><div class='add'>+struct ibf_load_buffer {</div><div class='add'>+    const char *buff;</div><div class='add'>+    ibf_offset_t size;</div><div class='add'>+</div><div class='add'>+    VALUE obj_list; /* [obj0, ...] */</div><div class='add'>+    unsigned int obj_list_size;</div><div class='add'>+    ibf_offset_t obj_list_offset;</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+struct ibf_load {</div><div class='add'>+    const struct ibf_header *header;</div><div class='add'>+    VALUE iseq_list;       /* [iseq0, ...] */</div><div class='add'>+    struct ibf_load_buffer global_buffer;</div><div class='add'>+    VALUE loader_obj;</div><div class='add'>+    rb_iseq_t *iseq;</div><div class='add'>+    VALUE str;</div><div class='add'>+    struct ibf_load_buffer *current_buffer;</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+struct pinned_list {</div><div class='add'>+    long size;</div><div class='add'>+    VALUE * buffer;</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+pinned_list_mark(void *ptr)</div><div class='add'>+{</div><div class='add'>+    long i;</div><div class='add'>+    struct pinned_list *list = (struct pinned_list *)ptr;</div><div class='add'>+    for (i = 0; i &lt; list-&gt;size; i++) {</div><div class='add'>+        if (list-&gt;buffer[i]) {</div><div class='add'>+            rb_gc_mark(list-&gt;buffer[i]);</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+pinned_list_free(void *ptr)</div><div class='add'>+{</div><div class='add'>+    struct pinned_list *list = (struct pinned_list *)ptr;</div><div class='add'>+    xfree(list-&gt;buffer);</div><div class='add'>+    xfree(ptr);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static size_t</div><div class='add'>+pinned_list_memsize(const void *ptr)</div><div class='add'>+{</div><div class='add'>+    struct pinned_list *list = (struct pinned_list *)ptr;</div><div class='add'>+    return sizeof(struct pinned_list) + (list-&gt;size * sizeof(VALUE *));</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static const rb_data_type_t pinned_list_type = {</div><div class='add'>+    "pinned_list",</div><div class='add'>+    {pinned_list_mark, pinned_list_free, pinned_list_memsize,},</div><div class='add'>+    0, 0, RUBY_TYPED_WB_PROTECTED | RUBY_TYPED_FREE_IMMEDIATELY</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+pinned_list_fetch(VALUE list, long offset)</div><div class='add'>+{</div><div class='add'>+    struct pinned_list * ptr;</div><div class='add'>+</div><div class='add'>+    TypedData_Get_Struct(list, struct pinned_list, &amp;pinned_list_type, ptr);</div><div class='add'>+</div><div class='add'>+    if (offset &gt;= ptr-&gt;size) {</div><div class='add'>+        rb_raise(rb_eIndexError, "object index out of range: %ld", offset);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return ptr-&gt;buffer[offset];</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+pinned_list_store(VALUE list, long offset, VALUE object)</div><div class='add'>+{</div><div class='add'>+    struct pinned_list * ptr;</div><div class='add'>+</div><div class='add'>+    TypedData_Get_Struct(list, struct pinned_list, &amp;pinned_list_type, ptr);</div><div class='add'>+</div><div class='add'>+    if (offset &gt;= ptr-&gt;size) {</div><div class='add'>+        rb_raise(rb_eIndexError, "object index out of range: %ld", offset);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    RB_OBJ_WRITE(list, &amp;ptr-&gt;buffer[offset], object);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+pinned_list_new(long size)</div><div class='add'>+{</div><div class='add'>+    struct pinned_list * ptr;</div><div class='add'>+    VALUE obj_list =</div><div class='add'>+        TypedData_Make_Struct(0, struct pinned_list, &amp;pinned_list_type, ptr);</div><div class='add'>+</div><div class='add'>+    ptr-&gt;buffer = xcalloc(size, sizeof(VALUE));</div><div class='add'>+    ptr-&gt;size = size;</div><div class='add'>+</div><div class='add'>+    return obj_list;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static ibf_offset_t</div><div class='add'>+ibf_dump_pos(struct ibf_dump *dump)</div><div class='add'>+{</div><div class='add'>+    long pos = RSTRING_LEN(dump-&gt;current_buffer-&gt;str);</div><div class='add'>+#if SIZEOF_LONG &gt; SIZEOF_INT</div><div class='add'>+    if (pos &gt;= UINT_MAX) {</div><div class='add'>+        rb_raise(rb_eRuntimeError, "dump size exceeds");</div><div class='add'>+    }</div><div class='add'>+#endif</div><div class='add'>+    return (unsigned int)pos;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+ibf_dump_align(struct ibf_dump *dump, size_t align)</div><div class='add'>+{</div><div class='add'>+    ibf_offset_t pos = ibf_dump_pos(dump);</div><div class='add'>+    if (pos % align) {</div><div class='add'>+        static const char padding[sizeof(VALUE)];</div><div class='add'>+        size_t size = align - ((size_t)pos % align);</div><div class='add'>+#if SIZEOF_LONG &gt; SIZEOF_INT</div><div class='add'>+        if (pos + size &gt;= UINT_MAX) {</div><div class='add'>+            rb_raise(rb_eRuntimeError, "dump size exceeds");</div><div class='add'>+        }</div><div class='add'>+#endif</div><div class='add'>+        for (; size &gt; sizeof(padding); size -= sizeof(padding)) {</div><div class='add'>+            rb_str_cat(dump-&gt;current_buffer-&gt;str, padding, sizeof(padding));</div><div class='add'>+        }</div><div class='add'>+        rb_str_cat(dump-&gt;current_buffer-&gt;str, padding, size);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static ibf_offset_t</div><div class='add'>+ibf_dump_write(struct ibf_dump *dump, const void *buff, unsigned long size)</div><div class='add'>+{</div><div class='add'>+    ibf_offset_t pos = ibf_dump_pos(dump);</div><div class='add'>+    rb_str_cat(dump-&gt;current_buffer-&gt;str, (const char *)buff, size);</div><div class='add'>+    /* TODO: overflow check */</div><div class='add'>+    return pos;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static ibf_offset_t</div><div class='add'>+ibf_dump_write_byte(struct ibf_dump *dump, unsigned char byte)</div><div class='add'>+{</div><div class='add'>+    return ibf_dump_write(dump, &amp;byte, sizeof(unsigned char));</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+ibf_dump_overwrite(struct ibf_dump *dump, void *buff, unsigned int size, long offset)</div><div class='add'>+{</div><div class='add'>+    VALUE str = dump-&gt;current_buffer-&gt;str;</div><div class='add'>+    char *ptr = RSTRING_PTR(str);</div><div class='add'>+    if ((unsigned long)(size + offset) &gt; (unsigned long)RSTRING_LEN(str))</div><div class='add'>+        rb_bug("ibf_dump_overwrite: overflow");</div><div class='add'>+    memcpy(ptr + offset, buff, size);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static const void *</div><div class='add'>+ibf_load_ptr(const struct ibf_load *load, ibf_offset_t *offset, int size)</div><div class='add'>+{</div><div class='add'>+    ibf_offset_t beg = *offset;</div><div class='add'>+    *offset += size;</div><div class='add'>+    return load-&gt;current_buffer-&gt;buff + beg;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void *</div><div class='add'>+ibf_load_alloc(const struct ibf_load *load, ibf_offset_t offset, size_t x, size_t y)</div><div class='add'>+{</div><div class='add'>+    void *buff = ruby_xmalloc2(x, y);</div><div class='add'>+    size_t size = x * y;</div><div class='add'>+    memcpy(buff, load-&gt;current_buffer-&gt;buff + offset, size);</div><div class='add'>+    return buff;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#define IBF_W_ALIGN(type) (RUBY_ALIGNOF(type) &gt; 1 ? ibf_dump_align(dump, RUBY_ALIGNOF(type)) : (void)0)</div><div class='add'>+</div><div class='add'>+#define IBF_W(b, type, n) (IBF_W_ALIGN(type), (type *)(VALUE)IBF_WP(b, type, n))</div><div class='add'>+#define IBF_WV(variable)   ibf_dump_write(dump, &amp;(variable), sizeof(variable))</div><div class='add'>+#define IBF_WP(b, type, n) ibf_dump_write(dump, (b), sizeof(type) * (n))</div><div class='add'>+#define IBF_R(val, type, n) (type *)ibf_load_alloc(load, IBF_OFFSET(val), sizeof(type), (n))</div><div class='add'>+#define IBF_ZERO(variable) memset(&amp;(variable), 0, sizeof(variable))</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+ibf_table_lookup(struct st_table *table, st_data_t key)</div><div class='add'>+{</div><div class='add'>+    st_data_t val;</div><div class='add'>+</div><div class='add'>+    if (st_lookup(table, key, &amp;val)) {</div><div class='add'>+        return (int)val;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        return -1;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+ibf_table_find_or_insert(struct st_table *table, st_data_t key)</div><div class='add'>+{</div><div class='add'>+    int index = ibf_table_lookup(table, key);</div><div class='add'>+</div><div class='add'>+    if (index &lt; 0) { /* not found */</div><div class='add'>+        index = (int)table-&gt;num_entries;</div><div class='add'>+        st_insert(table, key, (st_data_t)index);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return index;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/* dump/load generic */</div><div class='add'>+</div><div class='add'>+static void ibf_dump_object_list(struct ibf_dump *dump, ibf_offset_t *obj_list_offset, unsigned int *obj_list_size);</div><div class='add'>+</div><div class='add'>+static VALUE ibf_load_object(const struct ibf_load *load, VALUE object_index);</div><div class='add'>+static rb_iseq_t *ibf_load_iseq(const struct ibf_load *load, const rb_iseq_t *index_iseq);</div><div class='add'>+</div><div class='add'>+static st_table *</div><div class='add'>+ibf_dump_object_table_new(void)</div><div class='add'>+{</div><div class='add'>+    st_table *obj_table = st_init_numtable(); /* need free */</div><div class='add'>+    st_insert(obj_table, (st_data_t)Qnil, (st_data_t)0); /* 0th is nil */</div><div class='add'>+</div><div class='add'>+    return obj_table;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ibf_dump_object(struct ibf_dump *dump, VALUE obj)</div><div class='add'>+{</div><div class='add'>+    return ibf_table_find_or_insert(dump-&gt;current_buffer-&gt;obj_table, (st_data_t)obj);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ibf_dump_id(struct ibf_dump *dump, ID id)</div><div class='add'>+{</div><div class='add'>+    if (id == 0 || rb_id2name(id) == NULL) {</div><div class='add'>+        return 0;</div><div class='add'>+    }</div><div class='add'>+    return ibf_dump_object(dump, rb_id2sym(id));</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static ID</div><div class='add'>+ibf_load_id(const struct ibf_load *load, const ID id_index)</div><div class='add'>+{</div><div class='add'>+    if (id_index == 0) {</div><div class='add'>+        return 0;</div><div class='add'>+    }</div><div class='add'>+    VALUE sym = ibf_load_object(load, id_index);</div><div class='add'>+    return rb_sym2id(sym);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/* dump/load: code */</div><div class='add'>+</div><div class='add'>+static ibf_offset_t ibf_dump_iseq_each(struct ibf_dump *dump, const rb_iseq_t *iseq);</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+ibf_dump_iseq(struct ibf_dump *dump, const rb_iseq_t *iseq)</div><div class='add'>+{</div><div class='add'>+    if (iseq == NULL) {</div><div class='add'>+        return -1;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        return ibf_table_find_or_insert(dump-&gt;iseq_table, (st_data_t)iseq);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static unsigned char</div><div class='add'>+ibf_load_byte(const struct ibf_load *load, ibf_offset_t *offset)</div><div class='add'>+{</div><div class='add'>+    if (*offset &gt;= load-&gt;current_buffer-&gt;size) { rb_raise(rb_eRuntimeError, "invalid bytecode"); }</div><div class='add'>+    return (unsigned char)load-&gt;current_buffer-&gt;buff[(*offset)++];</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * Small uint serialization</div><div class='add'>+ * 0x00000000_00000000 - 0x00000000_0000007f: 1byte | XXXX XXX1 |</div><div class='add'>+ * 0x00000000_00000080 - 0x00000000_00003fff: 2byte | XXXX XX10 | XXXX XXXX |</div><div class='add'>+ * 0x00000000_00004000 - 0x00000000_001fffff: 3byte | XXXX X100 | XXXX XXXX | XXXX XXXX |</div><div class='add'>+ * 0x00000000_00020000 - 0x00000000_0fffffff: 4byte | XXXX 1000 | XXXX XXXX | XXXX XXXX | XXXX XXXX |</div><div class='add'>+ * ...</div><div class='add'>+ * 0x00010000_00000000 - 0x00ffffff_ffffffff: 8byte | 1000 0000 | XXXX XXXX | XXXX XXXX | XXXX XXXX | XXXX XXXX | XXXX XXXX | XXXX XXXX | XXXX XXXX |</div><div class='add'>+ * 0x01000000_00000000 - 0xffffffff_ffffffff: 9byte | 0000 0000 | XXXX XXXX | XXXX XXXX | XXXX XXXX | XXXX XXXX | XXXX XXXX | XXXX XXXX | XXXX XXXX | XXXX XXXX |</div><div class='add'>+ */</div><div class='add'>+static void</div><div class='add'>+ibf_dump_write_small_value(struct ibf_dump *dump, VALUE x)</div><div class='add'>+{</div><div class='add'>+    if (sizeof(VALUE) &gt; 8 || CHAR_BIT != 8) {</div><div class='add'>+        ibf_dump_write(dump, &amp;x, sizeof(VALUE));</div><div class='add'>+        return;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    enum { max_byte_length = sizeof(VALUE) + 1 };</div><div class='add'>+</div><div class='add'>+    unsigned char bytes[max_byte_length];</div><div class='add'>+    ibf_offset_t n;</div><div class='add'>+</div><div class='add'>+    for (n = 0; n &lt; sizeof(VALUE) &amp;&amp; (x &gt;&gt; (7 - n)); n++, x &gt;&gt;= 8) {</div><div class='add'>+        bytes[max_byte_length - 1 - n] = (unsigned char)x;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    x &lt;&lt;= 1;</div><div class='add'>+    x |= 1;</div><div class='add'>+    x &lt;&lt;= n;</div><div class='add'>+    bytes[max_byte_length - 1 - n] = (unsigned char)x;</div><div class='add'>+    n++;</div><div class='add'>+</div><div class='add'>+    ibf_dump_write(dump, bytes + max_byte_length - n, n);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ibf_load_small_value(const struct ibf_load *load, ibf_offset_t *offset)</div><div class='add'>+{</div><div class='add'>+    if (sizeof(VALUE) &gt; 8 || CHAR_BIT != 8) {</div><div class='add'>+        union { char s[sizeof(VALUE)]; VALUE v; } x;</div><div class='add'>+</div><div class='add'>+        memcpy(x.s, load-&gt;current_buffer-&gt;buff + *offset, sizeof(VALUE));</div><div class='add'>+        *offset += sizeof(VALUE);</div><div class='add'>+</div><div class='add'>+        return x.v;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    enum { max_byte_length = sizeof(VALUE) + 1 };</div><div class='add'>+</div><div class='add'>+    const unsigned char *buffer = (const unsigned char *)load-&gt;current_buffer-&gt;buff;</div><div class='add'>+    const unsigned char c = buffer[*offset];</div><div class='add'>+</div><div class='add'>+    ibf_offset_t n =</div><div class='add'>+        c &amp; 1 ? 1 :</div><div class='add'>+        c == 0 ? 9 : ntz_int32(c) + 1;</div><div class='add'>+    VALUE x = (VALUE)c &gt;&gt; n;</div><div class='add'>+</div><div class='add'>+    if (*offset + n &gt; load-&gt;current_buffer-&gt;size) {</div><div class='add'>+        rb_raise(rb_eRuntimeError, "invalid byte sequence");</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    ibf_offset_t i;</div><div class='add'>+    for (i = 1; i &lt; n; i++) {</div><div class='add'>+        x &lt;&lt;= 8;</div><div class='add'>+        x |= (VALUE)buffer[*offset + i];</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    *offset += n;</div><div class='add'>+    return x;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+ibf_dump_builtin(struct ibf_dump *dump, const struct rb_builtin_function *bf)</div><div class='add'>+{</div><div class='add'>+    // short: index</div><div class='add'>+    // short: name.length</div><div class='add'>+    // bytes: name</div><div class='add'>+    // // omit argc (only verify with name)</div><div class='add'>+    ibf_dump_write_small_value(dump, (VALUE)bf-&gt;index);</div><div class='add'>+</div><div class='add'>+    size_t len = strlen(bf-&gt;name);</div><div class='add'>+    ibf_dump_write_small_value(dump, (VALUE)len);</div><div class='add'>+    ibf_dump_write(dump, bf-&gt;name, len);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static const struct rb_builtin_function *</div><div class='add'>+ibf_load_builtin(const struct ibf_load *load, ibf_offset_t *offset)</div><div class='add'>+{</div><div class='add'>+    int i = (int)ibf_load_small_value(load, offset);</div><div class='add'>+    int len = (int)ibf_load_small_value(load, offset);</div><div class='add'>+    const char *name = (char *)ibf_load_ptr(load, offset, len);</div><div class='add'>+</div><div class='add'>+    if (0) {</div><div class='add'>+        fprintf(stderr, "%.*s!!\n", len, name);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    const struct rb_builtin_function *table = GET_VM()-&gt;builtin_function_table;</div><div class='add'>+    if (table == NULL) rb_raise(rb_eArgError, "builtin function table is not provided");</div><div class='add'>+    if (strncmp(table[i].name, name, len) != 0) {</div><div class='add'>+        rb_raise(rb_eArgError, "builtin function index (%d) mismatch (expect %s but %s)", i, name, table[i].name);</div><div class='add'>+    }</div><div class='add'>+    // fprintf(stderr, "load-builtin: name:%s(%d)\n", table[i].name, table[i].argc);</div><div class='add'>+</div><div class='add'>+    return &amp;table[i];</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static ibf_offset_t</div><div class='add'>+ibf_dump_code(struct ibf_dump *dump, const rb_iseq_t *iseq)</div><div class='add'>+{</div><div class='add'>+    const struct rb_iseq_constant_body *const body = iseq-&gt;body;</div><div class='add'>+    const int iseq_size = body-&gt;iseq_size;</div><div class='add'>+    int code_index;</div><div class='add'>+    const VALUE *orig_code = rb_iseq_original_iseq(iseq);</div><div class='add'>+</div><div class='add'>+    ibf_offset_t offset = ibf_dump_pos(dump);</div><div class='add'>+</div><div class='add'>+    for (code_index=0; code_index&lt;iseq_size;) {</div><div class='add'>+        const VALUE insn = orig_code[code_index++];</div><div class='add'>+        const char *types = insn_op_types(insn);</div><div class='add'>+        int op_index;</div><div class='add'>+</div><div class='add'>+        /* opcode */</div><div class='add'>+        if (insn &gt;= 0x100) { rb_raise(rb_eRuntimeError, "invalid instruction"); }</div><div class='add'>+        ibf_dump_write_small_value(dump, insn);</div><div class='add'>+</div><div class='add'>+        /* operands */</div><div class='add'>+        for (op_index=0; types[op_index]; op_index++, code_index++) {</div><div class='add'>+            VALUE op = orig_code[code_index];</div><div class='add'>+            VALUE wv;</div><div class='add'>+</div><div class='add'>+            switch (types[op_index]) {</div><div class='add'>+              case TS_CDHASH:</div><div class='add'>+              case TS_VALUE:</div><div class='add'>+                wv = ibf_dump_object(dump, op);</div><div class='add'>+                break;</div><div class='add'>+              case TS_ISEQ:</div><div class='add'>+                wv = (VALUE)ibf_dump_iseq(dump, (const rb_iseq_t *)op);</div><div class='add'>+                break;</div><div class='add'>+              case TS_IC:</div><div class='add'>+              case TS_IVC:</div><div class='add'>+              case TS_ISE:</div><div class='add'>+                {</div><div class='add'>+                    unsigned int i;</div><div class='add'>+                    for (i=0; i&lt;body-&gt;is_size; i++) {</div><div class='add'>+                        if (op == (VALUE)&amp;body-&gt;is_entries[i]) {</div><div class='add'>+                            break;</div><div class='add'>+                        }</div><div class='add'>+                    }</div><div class='add'>+                    wv = (VALUE)i;</div><div class='add'>+                }</div><div class='add'>+                break;</div><div class='add'>+              case TS_CALLDATA:</div><div class='add'>+                {</div><div class='add'>+                    goto skip_wv;</div><div class='add'>+                }</div><div class='add'>+              case TS_ID:</div><div class='add'>+                wv = ibf_dump_id(dump, (ID)op);</div><div class='add'>+                break;</div><div class='add'>+              case TS_FUNCPTR:</div><div class='add'>+                rb_raise(rb_eRuntimeError, "TS_FUNCPTR is not supported");</div><div class='add'>+                goto skip_wv;</div><div class='add'>+              case TS_BUILTIN:</div><div class='add'>+                ibf_dump_builtin(dump, (const struct rb_builtin_function *)op);</div><div class='add'>+                goto skip_wv;</div><div class='add'>+              default:</div><div class='add'>+                wv = op;</div><div class='add'>+                break;</div><div class='add'>+            }</div><div class='add'>+            ibf_dump_write_small_value(dump, wv);</div><div class='add'>+          skip_wv:;</div><div class='add'>+        }</div><div class='add'>+        assert(insn_len(insn) == op_index+1);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return offset;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE *</div><div class='add'>+ibf_load_code(const struct ibf_load *load, rb_iseq_t *iseq, ibf_offset_t bytecode_offset, ibf_offset_t bytecode_size, unsigned int iseq_size)</div><div class='add'>+{</div><div class='add'>+    VALUE iseqv = (VALUE)iseq;</div><div class='add'>+    unsigned int code_index;</div><div class='add'>+    ibf_offset_t reading_pos = bytecode_offset;</div><div class='add'>+    VALUE *code = ALLOC_N(VALUE, iseq_size);</div><div class='add'>+</div><div class='add'>+    struct rb_iseq_constant_body *load_body = iseq-&gt;body;</div><div class='add'>+    struct rb_call_data *cd_entries = load_body-&gt;call_data;</div><div class='add'>+    union iseq_inline_storage_entry *is_entries = load_body-&gt;is_entries;</div><div class='add'>+</div><div class='add'>+    for (code_index=0; code_index&lt;iseq_size;) {</div><div class='add'>+        /* opcode */</div><div class='add'>+        const VALUE insn = code[code_index++] = ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+        const char *types = insn_op_types(insn);</div><div class='add'>+        int op_index;</div><div class='add'>+</div><div class='add'>+        /* operands */</div><div class='add'>+        for (op_index=0; types[op_index]; op_index++, code_index++) {</div><div class='add'>+            switch (types[op_index]) {</div><div class='add'>+              case TS_CDHASH:</div><div class='add'>+              case TS_VALUE:</div><div class='add'>+                {</div><div class='add'>+                    VALUE op = ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+                    VALUE v = ibf_load_object(load, op);</div><div class='add'>+                    code[code_index] = v;</div><div class='add'>+                    if (!SPECIAL_CONST_P(v)) {</div><div class='add'>+                        RB_OBJ_WRITTEN(iseqv, Qundef, v);</div><div class='add'>+                        FL_SET(iseqv, ISEQ_MARKABLE_ISEQ);</div><div class='add'>+                    }</div><div class='add'>+                    break;</div><div class='add'>+                }</div><div class='add'>+              case TS_ISEQ:</div><div class='add'>+                {</div><div class='add'>+                    VALUE op = (VALUE)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+                    VALUE v = (VALUE)ibf_load_iseq(load, (const rb_iseq_t *)op);</div><div class='add'>+                    code[code_index] = v;</div><div class='add'>+                    if (!SPECIAL_CONST_P(v)) {</div><div class='add'>+                        RB_OBJ_WRITTEN(iseqv, Qundef, v);</div><div class='add'>+                        FL_SET(iseqv, ISEQ_MARKABLE_ISEQ);</div><div class='add'>+                    }</div><div class='add'>+                    break;</div><div class='add'>+                }</div><div class='add'>+              case TS_ISE:</div><div class='add'>+                FL_SET(iseqv, ISEQ_MARKABLE_ISEQ);</div><div class='add'>+                /* fall through */</div><div class='add'>+              case TS_IC:</div><div class='add'>+              case TS_IVC:</div><div class='add'>+                {</div><div class='add'>+                    VALUE op = ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+                    code[code_index] = (VALUE)&amp;is_entries[op];</div><div class='add'>+                }</div><div class='add'>+                break;</div><div class='add'>+              case TS_CALLDATA:</div><div class='add'>+                {</div><div class='add'>+                    code[code_index] = (VALUE)cd_entries++;</div><div class='add'>+                }</div><div class='add'>+                break;</div><div class='add'>+              case TS_ID:</div><div class='add'>+                {</div><div class='add'>+                    VALUE op = ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+                    code[code_index] = ibf_load_id(load, (ID)(VALUE)op);</div><div class='add'>+                }</div><div class='add'>+                break;</div><div class='add'>+              case TS_FUNCPTR:</div><div class='add'>+                rb_raise(rb_eRuntimeError, "TS_FUNCPTR is not supported");</div><div class='add'>+                break;</div><div class='add'>+              case TS_BUILTIN:</div><div class='add'>+                code[code_index] = (VALUE)ibf_load_builtin(load, &amp;reading_pos);</div><div class='add'>+                break;</div><div class='add'>+              default:</div><div class='add'>+                code[code_index] = ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+                continue;</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+        if (insn_len(insn) != op_index+1) {</div><div class='add'>+            rb_raise(rb_eRuntimeError, "operand size mismatch");</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    load_body-&gt;iseq_encoded = code;</div><div class='add'>+    load_body-&gt;iseq_size = code_index;</div><div class='add'>+</div><div class='add'>+    assert(code_index == iseq_size);</div><div class='add'>+    assert(reading_pos == bytecode_offset + bytecode_size);</div><div class='add'>+    return code;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static ibf_offset_t</div><div class='add'>+ibf_dump_param_opt_table(struct ibf_dump *dump, const rb_iseq_t *iseq)</div><div class='add'>+{</div><div class='add'>+    int opt_num = iseq-&gt;body-&gt;param.opt_num;</div><div class='add'>+</div><div class='add'>+    if (opt_num &gt; 0) {</div><div class='add'>+        IBF_W_ALIGN(VALUE);</div><div class='add'>+        return ibf_dump_write(dump, iseq-&gt;body-&gt;param.opt_table, sizeof(VALUE) * (opt_num + 1));</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        return ibf_dump_pos(dump);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE *</div><div class='add'>+ibf_load_param_opt_table(const struct ibf_load *load, ibf_offset_t opt_table_offset, int opt_num)</div><div class='add'>+{</div><div class='add'>+    if (opt_num &gt; 0) {</div><div class='add'>+        VALUE *table = ALLOC_N(VALUE, opt_num+1);</div><div class='add'>+        MEMCPY(table, load-&gt;current_buffer-&gt;buff + opt_table_offset, VALUE, opt_num+1);</div><div class='add'>+        return table;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        return NULL;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static ibf_offset_t</div><div class='add'>+ibf_dump_param_keyword(struct ibf_dump *dump, const rb_iseq_t *iseq)</div><div class='add'>+{</div><div class='add'>+    const struct rb_iseq_param_keyword *kw = iseq-&gt;body-&gt;param.keyword;</div><div class='add'>+</div><div class='add'>+    if (kw) {</div><div class='add'>+        struct rb_iseq_param_keyword dump_kw = *kw;</div><div class='add'>+        int dv_num = kw-&gt;num - kw-&gt;required_num;</div><div class='add'>+        ID *ids = kw-&gt;num &gt; 0 ? ALLOCA_N(ID, kw-&gt;num) : NULL;</div><div class='add'>+        VALUE *dvs = dv_num &gt; 0 ? ALLOCA_N(VALUE, dv_num) : NULL;</div><div class='add'>+        int i;</div><div class='add'>+</div><div class='add'>+        for (i=0; i&lt;kw-&gt;num; i++) ids[i] = (ID)ibf_dump_id(dump, kw-&gt;table[i]);</div><div class='add'>+        for (i=0; i&lt;dv_num; i++) dvs[i] = (VALUE)ibf_dump_object(dump, kw-&gt;default_values[i]);</div><div class='add'>+</div><div class='add'>+        dump_kw.table = IBF_W(ids, ID, kw-&gt;num);</div><div class='add'>+        dump_kw.default_values = IBF_W(dvs, VALUE, dv_num);</div><div class='add'>+        IBF_W_ALIGN(struct rb_iseq_param_keyword);</div><div class='add'>+        return ibf_dump_write(dump, &amp;dump_kw, sizeof(struct rb_iseq_param_keyword) * 1);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        return 0;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static const struct rb_iseq_param_keyword *</div><div class='add'>+ibf_load_param_keyword(const struct ibf_load *load, ibf_offset_t param_keyword_offset)</div><div class='add'>+{</div><div class='add'>+    if (param_keyword_offset) {</div><div class='add'>+        struct rb_iseq_param_keyword *kw = IBF_R(param_keyword_offset, struct rb_iseq_param_keyword, 1);</div><div class='add'>+        ID *ids = IBF_R(kw-&gt;table, ID, kw-&gt;num);</div><div class='add'>+        int dv_num = kw-&gt;num - kw-&gt;required_num;</div><div class='add'>+        VALUE *dvs = IBF_R(kw-&gt;default_values, VALUE, dv_num);</div><div class='add'>+        int i;</div><div class='add'>+</div><div class='add'>+        for (i=0; i&lt;kw-&gt;num; i++) {</div><div class='add'>+            ids[i] = ibf_load_id(load, ids[i]);</div><div class='add'>+        }</div><div class='add'>+        for (i=0; i&lt;dv_num; i++) {</div><div class='add'>+            dvs[i] = ibf_load_object(load, dvs[i]);</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        kw-&gt;table = ids;</div><div class='add'>+        kw-&gt;default_values = dvs;</div><div class='add'>+        return kw;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        return NULL;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static ibf_offset_t</div><div class='add'>+ibf_dump_insns_info_body(struct ibf_dump *dump, const rb_iseq_t *iseq)</div><div class='add'>+{</div><div class='add'>+    ibf_offset_t offset = ibf_dump_pos(dump);</div><div class='add'>+    const struct iseq_insn_info_entry *entries = iseq-&gt;body-&gt;insns_info.body;</div><div class='add'>+</div><div class='add'>+    unsigned int i;</div><div class='add'>+    for (i = 0; i &lt; iseq-&gt;body-&gt;insns_info.size; i++) {</div><div class='add'>+        ibf_dump_write_small_value(dump, entries[i].line_no);</div><div class='add'>+        ibf_dump_write_small_value(dump, entries[i].events);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return offset;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static struct iseq_insn_info_entry *</div><div class='add'>+ibf_load_insns_info_body(const struct ibf_load *load, ibf_offset_t body_offset, unsigned int size)</div><div class='add'>+{</div><div class='add'>+    ibf_offset_t reading_pos = body_offset;</div><div class='add'>+    struct iseq_insn_info_entry *entries = ALLOC_N(struct iseq_insn_info_entry, size);</div><div class='add'>+</div><div class='add'>+    unsigned int i;</div><div class='add'>+    for (i = 0; i &lt; size; i++) {</div><div class='add'>+        entries[i].line_no = (int)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+        entries[i].events = (rb_event_flag_t)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return entries;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static ibf_offset_t</div><div class='add'>+ibf_dump_insns_info_positions(struct ibf_dump *dump, const unsigned int *positions, unsigned int size)</div><div class='add'>+{</div><div class='add'>+    ibf_offset_t offset = ibf_dump_pos(dump);</div><div class='add'>+</div><div class='add'>+    unsigned int last = 0;</div><div class='add'>+    unsigned int i;</div><div class='add'>+    for (i = 0; i &lt; size; i++) {</div><div class='add'>+        ibf_dump_write_small_value(dump, positions[i] - last);</div><div class='add'>+        last = positions[i];</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return offset;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static unsigned int *</div><div class='add'>+ibf_load_insns_info_positions(const struct ibf_load *load, ibf_offset_t positions_offset, unsigned int size)</div><div class='add'>+{</div><div class='add'>+    ibf_offset_t reading_pos = positions_offset;</div><div class='add'>+    unsigned int *positions = ALLOC_N(unsigned int, size);</div><div class='add'>+</div><div class='add'>+    unsigned int last = 0;</div><div class='add'>+    unsigned int i;</div><div class='add'>+    for (i = 0; i &lt; size; i++) {</div><div class='add'>+        positions[i] = last + (unsigned int)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+        last = positions[i];</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return positions;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static ibf_offset_t</div><div class='add'>+ibf_dump_local_table(struct ibf_dump *dump, const rb_iseq_t *iseq)</div><div class='add'>+{</div><div class='add'>+    const struct rb_iseq_constant_body *const body = iseq-&gt;body;</div><div class='add'>+    const int size = body-&gt;local_table_size;</div><div class='add'>+    ID *table = ALLOCA_N(ID, size);</div><div class='add'>+    int i;</div><div class='add'>+</div><div class='add'>+    for (i=0; i&lt;size; i++) {</div><div class='add'>+        table[i] = ibf_dump_id(dump, body-&gt;local_table[i]);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    IBF_W_ALIGN(ID);</div><div class='add'>+    return ibf_dump_write(dump, table, sizeof(ID) * size);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static ID *</div><div class='add'>+ibf_load_local_table(const struct ibf_load *load, ibf_offset_t local_table_offset, int size)</div><div class='add'>+{</div><div class='add'>+    if (size &gt; 0) {</div><div class='add'>+        ID *table = IBF_R(local_table_offset, ID, size);</div><div class='add'>+        int i;</div><div class='add'>+</div><div class='add'>+        for (i=0; i&lt;size; i++) {</div><div class='add'>+            table[i] = ibf_load_id(load, table[i]);</div><div class='add'>+        }</div><div class='add'>+        return table;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        return NULL;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static ibf_offset_t</div><div class='add'>+ibf_dump_catch_table(struct ibf_dump *dump, const rb_iseq_t *iseq)</div><div class='add'>+{</div><div class='add'>+    const struct iseq_catch_table *table = iseq-&gt;body-&gt;catch_table;</div><div class='add'>+</div><div class='add'>+    if (table) {</div><div class='add'>+        int *iseq_indices = ALLOCA_N(int, table-&gt;size);</div><div class='add'>+        unsigned int i;</div><div class='add'>+</div><div class='add'>+        for (i=0; i&lt;table-&gt;size; i++) {</div><div class='add'>+            iseq_indices[i] = ibf_dump_iseq(dump, table-&gt;entries[i].iseq);</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        const ibf_offset_t offset = ibf_dump_pos(dump);</div><div class='add'>+</div><div class='add'>+        for (i=0; i&lt;table-&gt;size; i++) {</div><div class='add'>+            ibf_dump_write_small_value(dump, iseq_indices[i]);</div><div class='add'>+            ibf_dump_write_small_value(dump, table-&gt;entries[i].type);</div><div class='add'>+            ibf_dump_write_small_value(dump, table-&gt;entries[i].start);</div><div class='add'>+            ibf_dump_write_small_value(dump, table-&gt;entries[i].end);</div><div class='add'>+            ibf_dump_write_small_value(dump, table-&gt;entries[i].cont);</div><div class='add'>+            ibf_dump_write_small_value(dump, table-&gt;entries[i].sp);</div><div class='add'>+        }</div><div class='add'>+        return offset;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        return ibf_dump_pos(dump);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static struct iseq_catch_table *</div><div class='add'>+ibf_load_catch_table(const struct ibf_load *load, ibf_offset_t catch_table_offset, unsigned int size)</div><div class='add'>+{</div><div class='add'>+    if (size) {</div><div class='add'>+        struct iseq_catch_table *table = ruby_xmalloc(iseq_catch_table_bytes(size));</div><div class='add'>+        table-&gt;size = size;</div><div class='add'>+</div><div class='add'>+        ibf_offset_t reading_pos = catch_table_offset;</div><div class='add'>+</div><div class='add'>+        unsigned int i;</div><div class='add'>+        for (i=0; i&lt;table-&gt;size; i++) {</div><div class='add'>+            int iseq_index = (int)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+            table-&gt;entries[i].type = (enum catch_type)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+            table-&gt;entries[i].start = (unsigned int)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+            table-&gt;entries[i].end = (unsigned int)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+            table-&gt;entries[i].cont = (unsigned int)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+            table-&gt;entries[i].sp = (unsigned int)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+</div><div class='add'>+            table-&gt;entries[i].iseq = ibf_load_iseq(load, (const rb_iseq_t *)(VALUE)iseq_index);</div><div class='add'>+        }</div><div class='add'>+        return table;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        return NULL;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static ibf_offset_t</div><div class='add'>+ibf_dump_ci_entries(struct ibf_dump *dump, const rb_iseq_t *iseq)</div><div class='add'>+{</div><div class='add'>+    const struct rb_iseq_constant_body *const body = iseq-&gt;body;</div><div class='add'>+    const unsigned int ci_size = body-&gt;ci_size;</div><div class='add'>+    const struct rb_call_data *cds = body-&gt;call_data;</div><div class='add'>+</div><div class='add'>+    ibf_offset_t offset = ibf_dump_pos(dump);</div><div class='add'>+</div><div class='add'>+    unsigned int i;</div><div class='add'>+</div><div class='add'>+    for (i = 0; i &lt; ci_size; i++) {</div><div class='add'>+        const struct rb_callinfo *ci = cds[i].ci;</div><div class='add'>+        if (ci != NULL) {</div><div class='add'>+            ibf_dump_write_small_value(dump, ibf_dump_id(dump, vm_ci_mid(ci)));</div><div class='add'>+            ibf_dump_write_small_value(dump, vm_ci_flag(ci));</div><div class='add'>+            ibf_dump_write_small_value(dump, vm_ci_argc(ci));</div><div class='add'>+</div><div class='add'>+            const struct rb_callinfo_kwarg *kwarg = vm_ci_kwarg(ci);</div><div class='add'>+            if (kwarg) {</div><div class='add'>+                int len = kwarg-&gt;keyword_len;</div><div class='add'>+                ibf_dump_write_small_value(dump, len);</div><div class='add'>+                for (int j=0; j&lt;len; j++) {</div><div class='add'>+                    VALUE keyword = ibf_dump_object(dump, kwarg-&gt;keywords[j]);</div><div class='add'>+                    ibf_dump_write_small_value(dump, keyword);</div><div class='add'>+                }</div><div class='add'>+            }</div><div class='add'>+            else {</div><div class='add'>+                ibf_dump_write_small_value(dump, 0);</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            // TODO: truncate NULL ci from call_data.</div><div class='add'>+            ibf_dump_write_small_value(dump, (VALUE)-1);</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return offset;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/* note that we dump out rb_call_info but load back rb_call_data */</div><div class='add'>+static void</div><div class='add'>+ibf_load_ci_entries(const struct ibf_load *load,</div><div class='add'>+                    ibf_offset_t ci_entries_offset,</div><div class='add'>+                    unsigned int ci_size,</div><div class='add'>+                    struct rb_call_data **cd_ptr)</div><div class='add'>+{</div><div class='add'>+    ibf_offset_t reading_pos = ci_entries_offset;</div><div class='add'>+</div><div class='add'>+    unsigned int i;</div><div class='add'>+</div><div class='add'>+    struct rb_call_data *cds = ZALLOC_N(struct rb_call_data, ci_size);</div><div class='add'>+    *cd_ptr = cds;</div><div class='add'>+</div><div class='add'>+    for (i = 0; i &lt; ci_size; i++) {</div><div class='add'>+        VALUE mid_index = ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+        if (mid_index != (VALUE)-1) {</div><div class='add'>+            ID mid = ibf_load_id(load, mid_index);</div><div class='add'>+            unsigned int flag = (unsigned int)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+            unsigned int argc = (unsigned int)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+</div><div class='add'>+            struct rb_callinfo_kwarg *kwarg = NULL;</div><div class='add'>+            int kwlen = (int)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+            if (kwlen &gt; 0) {</div><div class='add'>+                kwarg = rb_xmalloc_mul_add(kwlen, sizeof(VALUE), sizeof(struct rb_callinfo_kwarg));</div><div class='add'>+                kwarg-&gt;keyword_len = kwlen;</div><div class='add'>+                for (int j=0; j&lt;kwlen; j++) {</div><div class='add'>+                    VALUE keyword = ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+                    kwarg-&gt;keywords[j] = ibf_load_object(load, keyword);</div><div class='add'>+                }</div><div class='add'>+            }</div><div class='add'>+</div><div class='add'>+            cds[i].ci = vm_ci_new(mid, flag, argc, kwarg);</div><div class='add'>+            RB_OBJ_WRITTEN(load-&gt;iseq, Qundef, cds[i].ci);</div><div class='add'>+            cds[i].cc = vm_cc_empty();</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            // NULL ci</div><div class='add'>+            cds[i].ci = NULL;</div><div class='add'>+            cds[i].cc = NULL;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static ibf_offset_t</div><div class='add'>+ibf_dump_iseq_each(struct ibf_dump *dump, const rb_iseq_t *iseq)</div><div class='add'>+{</div><div class='add'>+    assert(dump-&gt;current_buffer == &amp;dump-&gt;global_buffer);</div><div class='add'>+</div><div class='add'>+    unsigned int *positions;</div><div class='add'>+</div><div class='add'>+    const struct rb_iseq_constant_body *body = iseq-&gt;body;</div><div class='add'>+</div><div class='add'>+    const VALUE location_pathobj_index = ibf_dump_object(dump, body-&gt;location.pathobj); /* TODO: freeze */</div><div class='add'>+    const VALUE location_base_label_index = ibf_dump_object(dump, body-&gt;location.base_label);</div><div class='add'>+    const VALUE location_label_index = ibf_dump_object(dump, body-&gt;location.label);</div><div class='add'>+</div><div class='add'>+#if IBF_ISEQ_ENABLE_LOCAL_BUFFER</div><div class='add'>+    ibf_offset_t iseq_start = ibf_dump_pos(dump);</div><div class='add'>+</div><div class='add'>+    struct ibf_dump_buffer *saved_buffer = dump-&gt;current_buffer;</div><div class='add'>+    struct ibf_dump_buffer buffer;</div><div class='add'>+    buffer.str = rb_str_new(0, 0);</div><div class='add'>+    buffer.obj_table = ibf_dump_object_table_new();</div><div class='add'>+    dump-&gt;current_buffer = &amp;buffer;</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+    const ibf_offset_t bytecode_offset =        ibf_dump_code(dump, iseq);</div><div class='add'>+    const ibf_offset_t bytecode_size =          ibf_dump_pos(dump) - bytecode_offset;</div><div class='add'>+    const ibf_offset_t param_opt_table_offset = ibf_dump_param_opt_table(dump, iseq);</div><div class='add'>+    const ibf_offset_t param_keyword_offset =   ibf_dump_param_keyword(dump, iseq);</div><div class='add'>+    const ibf_offset_t insns_info_body_offset = ibf_dump_insns_info_body(dump, iseq);</div><div class='add'>+</div><div class='add'>+    positions = rb_iseq_insns_info_decode_positions(iseq-&gt;body);</div><div class='add'>+    const ibf_offset_t insns_info_positions_offset = ibf_dump_insns_info_positions(dump, positions, body-&gt;insns_info.size);</div><div class='add'>+    ruby_xfree(positions);</div><div class='add'>+</div><div class='add'>+    const ibf_offset_t local_table_offset = ibf_dump_local_table(dump, iseq);</div><div class='add'>+    const unsigned int catch_table_size =   body-&gt;catch_table ? body-&gt;catch_table-&gt;size : 0;</div><div class='add'>+    const ibf_offset_t catch_table_offset = ibf_dump_catch_table(dump, iseq);</div><div class='add'>+    const int parent_iseq_index =           ibf_dump_iseq(dump, iseq-&gt;body-&gt;parent_iseq);</div><div class='add'>+    const int local_iseq_index =            ibf_dump_iseq(dump, iseq-&gt;body-&gt;local_iseq);</div><div class='add'>+    const ibf_offset_t ci_entries_offset =  ibf_dump_ci_entries(dump, iseq);</div><div class='add'>+</div><div class='add'>+#if IBF_ISEQ_ENABLE_LOCAL_BUFFER</div><div class='add'>+    ibf_offset_t local_obj_list_offset;</div><div class='add'>+    unsigned int local_obj_list_size;</div><div class='add'>+</div><div class='add'>+    ibf_dump_object_list(dump, &amp;local_obj_list_offset, &amp;local_obj_list_size);</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+    ibf_offset_t body_offset = ibf_dump_pos(dump);</div><div class='add'>+</div><div class='add'>+    /* dump the constant body */</div><div class='add'>+    unsigned int param_flags =</div><div class='add'>+        (body-&gt;param.flags.has_lead         &lt;&lt; 0) |</div><div class='add'>+        (body-&gt;param.flags.has_opt          &lt;&lt; 1) |</div><div class='add'>+        (body-&gt;param.flags.has_rest         &lt;&lt; 2) |</div><div class='add'>+        (body-&gt;param.flags.has_post         &lt;&lt; 3) |</div><div class='add'>+        (body-&gt;param.flags.has_kw           &lt;&lt; 4) |</div><div class='add'>+        (body-&gt;param.flags.has_kwrest       &lt;&lt; 5) |</div><div class='add'>+        (body-&gt;param.flags.has_block        &lt;&lt; 6) |</div><div class='add'>+        (body-&gt;param.flags.ambiguous_param0 &lt;&lt; 7) |</div><div class='add'>+        (body-&gt;param.flags.accepts_no_kwarg &lt;&lt; 8) |</div><div class='add'>+        (body-&gt;param.flags.ruby2_keywords   &lt;&lt; 9);</div><div class='add'>+</div><div class='add'>+#if IBF_ISEQ_ENABLE_LOCAL_BUFFER</div><div class='add'>+#  define IBF_BODY_OFFSET(x) (x)</div><div class='add'>+#else</div><div class='add'>+#  define IBF_BODY_OFFSET(x) (body_offset - (x))</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+    ibf_dump_write_small_value(dump, body-&gt;type);</div><div class='add'>+    ibf_dump_write_small_value(dump, body-&gt;iseq_size);</div><div class='add'>+    ibf_dump_write_small_value(dump, IBF_BODY_OFFSET(bytecode_offset));</div><div class='add'>+    ibf_dump_write_small_value(dump, bytecode_size);</div><div class='add'>+    ibf_dump_write_small_value(dump, param_flags);</div><div class='add'>+    ibf_dump_write_small_value(dump, body-&gt;param.size);</div><div class='add'>+    ibf_dump_write_small_value(dump, body-&gt;param.lead_num);</div><div class='add'>+    ibf_dump_write_small_value(dump, body-&gt;param.opt_num);</div><div class='add'>+    ibf_dump_write_small_value(dump, body-&gt;param.rest_start);</div><div class='add'>+    ibf_dump_write_small_value(dump, body-&gt;param.post_start);</div><div class='add'>+    ibf_dump_write_small_value(dump, body-&gt;param.post_num);</div><div class='add'>+    ibf_dump_write_small_value(dump, body-&gt;param.block_start);</div><div class='add'>+    ibf_dump_write_small_value(dump, IBF_BODY_OFFSET(param_opt_table_offset));</div><div class='add'>+    ibf_dump_write_small_value(dump, param_keyword_offset);</div><div class='add'>+    ibf_dump_write_small_value(dump, location_pathobj_index);</div><div class='add'>+    ibf_dump_write_small_value(dump, location_base_label_index);</div><div class='add'>+    ibf_dump_write_small_value(dump, location_label_index);</div><div class='add'>+    ibf_dump_write_small_value(dump, body-&gt;location.first_lineno);</div><div class='add'>+    ibf_dump_write_small_value(dump, body-&gt;location.node_id);</div><div class='add'>+    ibf_dump_write_small_value(dump, body-&gt;location.code_location.beg_pos.lineno);</div><div class='add'>+    ibf_dump_write_small_value(dump, body-&gt;location.code_location.beg_pos.column);</div><div class='add'>+    ibf_dump_write_small_value(dump, body-&gt;location.code_location.end_pos.lineno);</div><div class='add'>+    ibf_dump_write_small_value(dump, body-&gt;location.code_location.end_pos.column);</div><div class='add'>+    ibf_dump_write_small_value(dump, IBF_BODY_OFFSET(insns_info_body_offset));</div><div class='add'>+    ibf_dump_write_small_value(dump, IBF_BODY_OFFSET(insns_info_positions_offset));</div><div class='add'>+    ibf_dump_write_small_value(dump, body-&gt;insns_info.size);</div><div class='add'>+    ibf_dump_write_small_value(dump, IBF_BODY_OFFSET(local_table_offset));</div><div class='add'>+    ibf_dump_write_small_value(dump, catch_table_size);</div><div class='add'>+    ibf_dump_write_small_value(dump, IBF_BODY_OFFSET(catch_table_offset));</div><div class='add'>+    ibf_dump_write_small_value(dump, parent_iseq_index);</div><div class='add'>+    ibf_dump_write_small_value(dump, local_iseq_index);</div><div class='add'>+    ibf_dump_write_small_value(dump, IBF_BODY_OFFSET(ci_entries_offset));</div><div class='add'>+    ibf_dump_write_small_value(dump, body-&gt;variable.flip_count);</div><div class='add'>+    ibf_dump_write_small_value(dump, body-&gt;local_table_size);</div><div class='add'>+    ibf_dump_write_small_value(dump, body-&gt;is_size);</div><div class='add'>+    ibf_dump_write_small_value(dump, body-&gt;ci_size);</div><div class='add'>+    ibf_dump_write_small_value(dump, body-&gt;stack_max);</div><div class='add'>+    ibf_dump_write_small_value(dump, body-&gt;catch_except_p);</div><div class='add'>+    ibf_dump_write_small_value(dump, body-&gt;builtin_inline_p);</div><div class='add'>+</div><div class='add'>+#undef IBF_BODY_OFFSET</div><div class='add'>+</div><div class='add'>+#if IBF_ISEQ_ENABLE_LOCAL_BUFFER</div><div class='add'>+    ibf_offset_t iseq_length_bytes = ibf_dump_pos(dump);</div><div class='add'>+</div><div class='add'>+    dump-&gt;current_buffer = saved_buffer;</div><div class='add'>+    ibf_dump_write(dump, RSTRING_PTR(buffer.str), iseq_length_bytes);</div><div class='add'>+</div><div class='add'>+    ibf_offset_t offset = ibf_dump_pos(dump);</div><div class='add'>+    ibf_dump_write_small_value(dump, iseq_start);</div><div class='add'>+    ibf_dump_write_small_value(dump, iseq_length_bytes);</div><div class='add'>+    ibf_dump_write_small_value(dump, body_offset);</div><div class='add'>+</div><div class='add'>+    ibf_dump_write_small_value(dump, local_obj_list_offset);</div><div class='add'>+    ibf_dump_write_small_value(dump, local_obj_list_size);</div><div class='add'>+</div><div class='add'>+    st_free_table(buffer.obj_table); // TODO: this leaks in case of exception</div><div class='add'>+</div><div class='add'>+    return offset;</div><div class='add'>+#else</div><div class='add'>+    return body_offset;</div><div class='add'>+#endif</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ibf_load_location_str(const struct ibf_load *load, VALUE str_index)</div><div class='add'>+{</div><div class='add'>+    VALUE str = ibf_load_object(load, str_index);</div><div class='add'>+    if (str != Qnil) {</div><div class='add'>+        str = rb_fstring(str);</div><div class='add'>+    }</div><div class='add'>+    return str;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+ibf_load_iseq_each(struct ibf_load *load, rb_iseq_t *iseq, ibf_offset_t offset)</div><div class='add'>+{</div><div class='add'>+    struct rb_iseq_constant_body *load_body = iseq-&gt;body = rb_iseq_constant_body_alloc();</div><div class='add'>+</div><div class='add'>+    ibf_offset_t reading_pos = offset;</div><div class='add'>+</div><div class='add'>+#if IBF_ISEQ_ENABLE_LOCAL_BUFFER</div><div class='add'>+    struct ibf_load_buffer *saved_buffer = load-&gt;current_buffer;</div><div class='add'>+    load-&gt;current_buffer = &amp;load-&gt;global_buffer;</div><div class='add'>+</div><div class='add'>+    const ibf_offset_t iseq_start = (ibf_offset_t)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+    const ibf_offset_t iseq_length_bytes = (ibf_offset_t)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+    const ibf_offset_t body_offset = (ibf_offset_t)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+</div><div class='add'>+    struct ibf_load_buffer buffer;</div><div class='add'>+    buffer.buff = load-&gt;global_buffer.buff + iseq_start;</div><div class='add'>+    buffer.size = iseq_length_bytes;</div><div class='add'>+    buffer.obj_list_offset = (ibf_offset_t)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+    buffer.obj_list_size = (ibf_offset_t)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+    buffer.obj_list = pinned_list_new(buffer.obj_list_size);</div><div class='add'>+</div><div class='add'>+    load-&gt;current_buffer = &amp;buffer;</div><div class='add'>+    reading_pos = body_offset;</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#if IBF_ISEQ_ENABLE_LOCAL_BUFFER</div><div class='add'>+#  define IBF_BODY_OFFSET(x) (x)</div><div class='add'>+#else</div><div class='add'>+#  define IBF_BODY_OFFSET(x) (offset - (x))</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+    const unsigned int type = (unsigned int)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+    const unsigned int iseq_size = (unsigned int)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+    const ibf_offset_t bytecode_offset = (ibf_offset_t)IBF_BODY_OFFSET(ibf_load_small_value(load, &amp;reading_pos));</div><div class='add'>+    const ibf_offset_t bytecode_size = (ibf_offset_t)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+    const unsigned int param_flags = (unsigned int)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+    const unsigned int param_size = (unsigned int)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+    const int param_lead_num = (int)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+    const int param_opt_num = (int)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+    const int param_rest_start = (int)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+    const int param_post_start = (int)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+    const int param_post_num = (int)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+    const int param_block_start = (int)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+    const ibf_offset_t param_opt_table_offset = (ibf_offset_t)IBF_BODY_OFFSET(ibf_load_small_value(load, &amp;reading_pos));</div><div class='add'>+    const ibf_offset_t param_keyword_offset = (ibf_offset_t)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+    const VALUE location_pathobj_index = ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+    const VALUE location_base_label_index = ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+    const VALUE location_label_index = ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+    const VALUE location_first_lineno = ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+    const int location_node_id = (int)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+    const int location_code_location_beg_pos_lineno = (int)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+    const int location_code_location_beg_pos_column = (int)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+    const int location_code_location_end_pos_lineno = (int)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+    const int location_code_location_end_pos_column = (int)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+    const ibf_offset_t insns_info_body_offset = (ibf_offset_t)IBF_BODY_OFFSET(ibf_load_small_value(load, &amp;reading_pos));</div><div class='add'>+    const ibf_offset_t insns_info_positions_offset = (ibf_offset_t)IBF_BODY_OFFSET(ibf_load_small_value(load, &amp;reading_pos));</div><div class='add'>+    const unsigned int insns_info_size = (unsigned int)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+    const ibf_offset_t local_table_offset = (ibf_offset_t)IBF_BODY_OFFSET(ibf_load_small_value(load, &amp;reading_pos));</div><div class='add'>+    const unsigned int catch_table_size = (unsigned int)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+    const ibf_offset_t catch_table_offset = (ibf_offset_t)IBF_BODY_OFFSET(ibf_load_small_value(load, &amp;reading_pos));</div><div class='add'>+    const int parent_iseq_index = (int)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+    const int local_iseq_index = (int)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+    const ibf_offset_t ci_entries_offset = (ibf_offset_t)IBF_BODY_OFFSET(ibf_load_small_value(load, &amp;reading_pos));</div><div class='add'>+    const rb_snum_t variable_flip_count = (rb_snum_t)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+    const unsigned int local_table_size = (unsigned int)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+    const unsigned int is_size = (unsigned int)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+    const unsigned int ci_size = (unsigned int)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+    const unsigned int stack_max = (unsigned int)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+    const char catch_except_p = (char)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+    const bool builtin_inline_p = (bool)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+</div><div class='add'>+#undef IBF_BODY_OFFSET</div><div class='add'>+</div><div class='add'>+    load_body-&gt;type = type;</div><div class='add'>+    load_body-&gt;stack_max = stack_max;</div><div class='add'>+    load_body-&gt;param.flags.has_lead = (param_flags &gt;&gt; 0) &amp; 1;</div><div class='add'>+    load_body-&gt;param.flags.has_opt = (param_flags &gt;&gt; 1) &amp; 1;</div><div class='add'>+    load_body-&gt;param.flags.has_rest = (param_flags &gt;&gt; 2) &amp; 1;</div><div class='add'>+    load_body-&gt;param.flags.has_post = (param_flags &gt;&gt; 3) &amp; 1;</div><div class='add'>+    load_body-&gt;param.flags.has_kw = FALSE;</div><div class='add'>+    load_body-&gt;param.flags.has_kwrest = (param_flags &gt;&gt; 5) &amp; 1;</div><div class='add'>+    load_body-&gt;param.flags.has_block = (param_flags &gt;&gt; 6) &amp; 1;</div><div class='add'>+    load_body-&gt;param.flags.ambiguous_param0 = (param_flags &gt;&gt; 7) &amp; 1;</div><div class='add'>+    load_body-&gt;param.flags.accepts_no_kwarg = (param_flags &gt;&gt; 8) &amp; 1;</div><div class='add'>+    load_body-&gt;param.flags.ruby2_keywords = (param_flags &gt;&gt; 9) &amp; 1;</div><div class='add'>+    load_body-&gt;param.size = param_size;</div><div class='add'>+    load_body-&gt;param.lead_num = param_lead_num;</div><div class='add'>+    load_body-&gt;param.opt_num = param_opt_num;</div><div class='add'>+    load_body-&gt;param.rest_start = param_rest_start;</div><div class='add'>+    load_body-&gt;param.post_start = param_post_start;</div><div class='add'>+    load_body-&gt;param.post_num = param_post_num;</div><div class='add'>+    load_body-&gt;param.block_start = param_block_start;</div><div class='add'>+    load_body-&gt;local_table_size = local_table_size;</div><div class='add'>+    load_body-&gt;is_size = is_size;</div><div class='add'>+    load_body-&gt;ci_size = ci_size;</div><div class='add'>+    load_body-&gt;insns_info.size = insns_info_size;</div><div class='add'>+</div><div class='add'>+    ISEQ_COVERAGE_SET(iseq, Qnil);</div><div class='add'>+    ISEQ_ORIGINAL_ISEQ_CLEAR(iseq);</div><div class='add'>+    iseq-&gt;body-&gt;variable.flip_count = variable_flip_count;</div><div class='add'>+</div><div class='add'>+    load_body-&gt;location.first_lineno = location_first_lineno;</div><div class='add'>+    load_body-&gt;location.node_id = location_node_id;</div><div class='add'>+    load_body-&gt;location.code_location.beg_pos.lineno = location_code_location_beg_pos_lineno;</div><div class='add'>+    load_body-&gt;location.code_location.beg_pos.column = location_code_location_beg_pos_column;</div><div class='add'>+    load_body-&gt;location.code_location.end_pos.lineno = location_code_location_end_pos_lineno;</div><div class='add'>+    load_body-&gt;location.code_location.end_pos.column = location_code_location_end_pos_column;</div><div class='add'>+    load_body-&gt;catch_except_p = catch_except_p;</div><div class='add'>+    load_body-&gt;builtin_inline_p = builtin_inline_p;</div><div class='add'>+</div><div class='add'>+    load_body-&gt;is_entries           = ZALLOC_N(union iseq_inline_storage_entry, is_size);</div><div class='add'>+                                      ibf_load_ci_entries(load, ci_entries_offset, ci_size, &amp;load_body-&gt;call_data);</div><div class='add'>+    load_body-&gt;param.opt_table      = ibf_load_param_opt_table(load, param_opt_table_offset, param_opt_num);</div><div class='add'>+    load_body-&gt;param.keyword        = ibf_load_param_keyword(load, param_keyword_offset);</div><div class='add'>+    load_body-&gt;param.flags.has_kw   = (param_flags &gt;&gt; 4) &amp; 1;</div><div class='add'>+    load_body-&gt;insns_info.body      = ibf_load_insns_info_body(load, insns_info_body_offset, insns_info_size);</div><div class='add'>+    load_body-&gt;insns_info.positions = ibf_load_insns_info_positions(load, insns_info_positions_offset, insns_info_size);</div><div class='add'>+    load_body-&gt;local_table          = ibf_load_local_table(load, local_table_offset, local_table_size);</div><div class='add'>+    load_body-&gt;catch_table          = ibf_load_catch_table(load, catch_table_offset, catch_table_size);</div><div class='add'>+    load_body-&gt;parent_iseq          = ibf_load_iseq(load, (const rb_iseq_t *)(VALUE)parent_iseq_index);</div><div class='add'>+    load_body-&gt;local_iseq           = ibf_load_iseq(load, (const rb_iseq_t *)(VALUE)local_iseq_index);</div><div class='add'>+</div><div class='add'>+    ibf_load_code(load, iseq, bytecode_offset, bytecode_size, iseq_size);</div><div class='add'>+#if VM_INSN_INFO_TABLE_IMPL == 2</div><div class='add'>+    rb_iseq_insns_info_encode_positions(iseq);</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+    rb_iseq_translate_threaded_code(iseq);</div><div class='add'>+</div><div class='add'>+#if IBF_ISEQ_ENABLE_LOCAL_BUFFER</div><div class='add'>+    load-&gt;current_buffer = &amp;load-&gt;global_buffer;</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+    {</div><div class='add'>+        VALUE realpath = Qnil, path = ibf_load_object(load, location_pathobj_index);</div><div class='add'>+        if (RB_TYPE_P(path, T_STRING)) {</div><div class='add'>+            realpath = path = rb_fstring(path);</div><div class='add'>+        }</div><div class='add'>+        else if (RB_TYPE_P(path, T_ARRAY)) {</div><div class='add'>+            VALUE pathobj = path;</div><div class='add'>+            if (RARRAY_LEN(pathobj) != 2) {</div><div class='add'>+                rb_raise(rb_eRuntimeError, "path object size mismatch");</div><div class='add'>+            }</div><div class='add'>+            path = rb_fstring(RARRAY_AREF(pathobj, 0));</div><div class='add'>+            realpath = RARRAY_AREF(pathobj, 1);</div><div class='add'>+            if (!NIL_P(realpath)) {</div><div class='add'>+                if (!RB_TYPE_P(realpath, T_STRING)) {</div><div class='add'>+                    rb_raise(rb_eArgError, "unexpected realpath %"PRIxVALUE</div><div class='add'>+                             "(%x), path=%+"PRIsVALUE,</div><div class='add'>+                             realpath, TYPE(realpath), path);</div><div class='add'>+                }</div><div class='add'>+                realpath = rb_fstring(realpath);</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            rb_raise(rb_eRuntimeError, "unexpected path object");</div><div class='add'>+        }</div><div class='add'>+        rb_iseq_pathobj_set(iseq, path, realpath);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    RB_OBJ_WRITE(iseq, &amp;load_body-&gt;location.base_label,    ibf_load_location_str(load, location_base_label_index));</div><div class='add'>+    RB_OBJ_WRITE(iseq, &amp;load_body-&gt;location.label,         ibf_load_location_str(load, location_label_index));</div><div class='add'>+</div><div class='add'>+#if IBF_ISEQ_ENABLE_LOCAL_BUFFER</div><div class='add'>+    load-&gt;current_buffer = saved_buffer;</div><div class='add'>+#endif</div><div class='add'>+    verify_call_cache(iseq);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+struct ibf_dump_iseq_list_arg</div><div class='add'>+{</div><div class='add'>+    struct ibf_dump *dump;</div><div class='add'>+    VALUE offset_list;</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+ibf_dump_iseq_list_i(st_data_t key, st_data_t val, st_data_t ptr)</div><div class='add'>+{</div><div class='add'>+    const rb_iseq_t *iseq = (const rb_iseq_t *)key;</div><div class='add'>+    struct ibf_dump_iseq_list_arg *args = (struct ibf_dump_iseq_list_arg *)ptr;</div><div class='add'>+</div><div class='add'>+    ibf_offset_t offset = ibf_dump_iseq_each(args-&gt;dump, iseq);</div><div class='add'>+    rb_ary_push(args-&gt;offset_list, UINT2NUM(offset));</div><div class='add'>+</div><div class='add'>+    return ST_CONTINUE;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+ibf_dump_iseq_list(struct ibf_dump *dump, struct ibf_header *header)</div><div class='add'>+{</div><div class='add'>+    VALUE offset_list = rb_ary_tmp_new(dump-&gt;iseq_table-&gt;num_entries);</div><div class='add'>+</div><div class='add'>+    struct ibf_dump_iseq_list_arg args;</div><div class='add'>+    args.dump = dump;</div><div class='add'>+    args.offset_list = offset_list;</div><div class='add'>+</div><div class='add'>+    st_foreach(dump-&gt;iseq_table, ibf_dump_iseq_list_i, (st_data_t)&amp;args);</div><div class='add'>+</div><div class='add'>+    st_index_t i;</div><div class='add'>+    st_index_t size = dump-&gt;iseq_table-&gt;num_entries;</div><div class='add'>+    ibf_offset_t *offsets = ALLOCA_N(ibf_offset_t, size);</div><div class='add'>+</div><div class='add'>+    for (i = 0; i &lt; size; i++) {</div><div class='add'>+        offsets[i] = NUM2UINT(RARRAY_AREF(offset_list, i));</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    ibf_dump_align(dump, sizeof(ibf_offset_t));</div><div class='add'>+    header-&gt;iseq_list_offset = ibf_dump_write(dump, offsets, sizeof(ibf_offset_t) * size);</div><div class='add'>+    header-&gt;iseq_list_size = (unsigned int)size;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#define IBF_OBJECT_INTERNAL FL_PROMOTED0</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * Binary format</div><div class='add'>+ * - ibf_object_header</div><div class='add'>+ * - ibf_object_xxx (xxx is type)</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+struct ibf_object_header {</div><div class='add'>+    unsigned int type: 5;</div><div class='add'>+    unsigned int special_const: 1;</div><div class='add'>+    unsigned int frozen: 1;</div><div class='add'>+    unsigned int internal: 1;</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+enum ibf_object_class_index {</div><div class='add'>+    IBF_OBJECT_CLASS_OBJECT,</div><div class='add'>+    IBF_OBJECT_CLASS_ARRAY,</div><div class='add'>+    IBF_OBJECT_CLASS_STANDARD_ERROR,</div><div class='add'>+    IBF_OBJECT_CLASS_NO_MATCHING_PATTERN_ERROR,</div><div class='add'>+    IBF_OBJECT_CLASS_TYPE_ERROR,</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+struct ibf_object_regexp {</div><div class='add'>+    long srcstr;</div><div class='add'>+    char option;</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+struct ibf_object_hash {</div><div class='add'>+    long len;</div><div class='add'>+    long keyval[FLEX_ARY_LEN];</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+struct ibf_object_struct_range {</div><div class='add'>+    long class_index;</div><div class='add'>+    long len;</div><div class='add'>+    long beg;</div><div class='add'>+    long end;</div><div class='add'>+    int excl;</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+struct ibf_object_bignum {</div><div class='add'>+    ssize_t slen;</div><div class='add'>+    BDIGIT digits[FLEX_ARY_LEN];</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+enum ibf_object_data_type {</div><div class='add'>+    IBF_OBJECT_DATA_ENCODING,</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+struct ibf_object_complex_rational {</div><div class='add'>+    long a, b;</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+struct ibf_object_symbol {</div><div class='add'>+    long str;</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+#define IBF_ALIGNED_OFFSET(align, offset) /* offset &gt; 0 */ \</div><div class='add'>+    ((((offset) - 1) / (align) + 1) * (align))</div><div class='add'>+#define IBF_OBJBODY(type, offset) (const type *)\</div><div class='add'>+    ibf_load_check_offset(load, IBF_ALIGNED_OFFSET(RUBY_ALIGNOF(type), offset))</div><div class='add'>+</div><div class='add'>+static const void *</div><div class='add'>+ibf_load_check_offset(const struct ibf_load *load, size_t offset)</div><div class='add'>+{</div><div class='add'>+    if (offset &gt;= load-&gt;current_buffer-&gt;size) {</div><div class='add'>+	rb_raise(rb_eIndexError, "object offset out of range: %"PRIdSIZE, offset);</div><div class='add'>+    }</div><div class='add'>+    return load-&gt;current_buffer-&gt;buff + offset;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+NORETURN(static void ibf_dump_object_unsupported(struct ibf_dump *dump, VALUE obj));</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+ibf_dump_object_unsupported(struct ibf_dump *dump, VALUE obj)</div><div class='add'>+{</div><div class='add'>+    char buff[0x100];</div><div class='add'>+    rb_raw_obj_info(buff, sizeof(buff), obj);</div><div class='add'>+    rb_raise(rb_eNotImpError, "ibf_dump_object_unsupported: %s", buff);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+NORETURN(static VALUE ibf_load_object_unsupported(const struct ibf_load *load, const struct ibf_object_header *header, ibf_offset_t offset));</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ibf_load_object_unsupported(const struct ibf_load *load, const struct ibf_object_header *header, ibf_offset_t offset)</div><div class='add'>+{</div><div class='add'>+    rb_raise(rb_eArgError, "unsupported");</div><div class='add'>+    UNREACHABLE_RETURN(Qnil);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+ibf_dump_object_class(struct ibf_dump *dump, VALUE obj)</div><div class='add'>+{</div><div class='add'>+    enum ibf_object_class_index cindex;</div><div class='add'>+    if (obj == rb_cObject) {</div><div class='add'>+        cindex = IBF_OBJECT_CLASS_OBJECT;</div><div class='add'>+    }</div><div class='add'>+    else if (obj == rb_cArray) {</div><div class='add'>+        cindex = IBF_OBJECT_CLASS_ARRAY;</div><div class='add'>+    }</div><div class='add'>+    else if (obj == rb_eStandardError) {</div><div class='add'>+        cindex = IBF_OBJECT_CLASS_STANDARD_ERROR;</div><div class='add'>+    }</div><div class='add'>+    else if (obj == rb_eNoMatchingPatternError) {</div><div class='add'>+        cindex = IBF_OBJECT_CLASS_NO_MATCHING_PATTERN_ERROR;</div><div class='add'>+    }</div><div class='add'>+    else if (obj == rb_eTypeError) {</div><div class='add'>+        cindex = IBF_OBJECT_CLASS_TYPE_ERROR;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        rb_obj_info_dump(obj);</div><div class='add'>+        rb_p(obj);</div><div class='add'>+        rb_bug("unsupported class");</div><div class='add'>+    }</div><div class='add'>+    ibf_dump_write_small_value(dump, (VALUE)cindex);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ibf_load_object_class(const struct ibf_load *load, const struct ibf_object_header *header, ibf_offset_t offset)</div><div class='add'>+{</div><div class='add'>+    enum ibf_object_class_index cindex = (enum ibf_object_class_index)ibf_load_small_value(load, &amp;offset);</div><div class='add'>+</div><div class='add'>+    switch (cindex) {</div><div class='add'>+      case IBF_OBJECT_CLASS_OBJECT:</div><div class='add'>+	return rb_cObject;</div><div class='add'>+      case IBF_OBJECT_CLASS_ARRAY:</div><div class='add'>+	return rb_cArray;</div><div class='add'>+      case IBF_OBJECT_CLASS_STANDARD_ERROR:</div><div class='add'>+	return rb_eStandardError;</div><div class='add'>+      case IBF_OBJECT_CLASS_NO_MATCHING_PATTERN_ERROR:</div><div class='add'>+        return rb_eNoMatchingPatternError;</div><div class='add'>+      case IBF_OBJECT_CLASS_TYPE_ERROR:</div><div class='add'>+        return rb_eTypeError;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    rb_raise(rb_eArgError, "ibf_load_object_class: unknown class (%d)", (int)cindex);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+ibf_dump_object_float(struct ibf_dump *dump, VALUE obj)</div><div class='add'>+{</div><div class='add'>+    double dbl = RFLOAT_VALUE(obj);</div><div class='add'>+    (void)IBF_W(&amp;dbl, double, 1);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ibf_load_object_float(const struct ibf_load *load, const struct ibf_object_header *header, ibf_offset_t offset)</div><div class='add'>+{</div><div class='add'>+    const double *dblp = IBF_OBJBODY(double, offset);</div><div class='add'>+    return DBL2NUM(*dblp);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+ibf_dump_object_string(struct ibf_dump *dump, VALUE obj)</div><div class='add'>+{</div><div class='add'>+    long encindex = (long)rb_enc_get_index(obj);</div><div class='add'>+    long len = RSTRING_LEN(obj);</div><div class='add'>+    const char *ptr = RSTRING_PTR(obj);</div><div class='add'>+</div><div class='add'>+    if (encindex &gt; RUBY_ENCINDEX_BUILTIN_MAX) {</div><div class='add'>+        rb_encoding *enc = rb_enc_from_index((int)encindex);</div><div class='add'>+        const char *enc_name = rb_enc_name(enc);</div><div class='add'>+        encindex = RUBY_ENCINDEX_BUILTIN_MAX + ibf_dump_object(dump, rb_str_new2(enc_name));</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    ibf_dump_write_small_value(dump, encindex);</div><div class='add'>+    ibf_dump_write_small_value(dump, len);</div><div class='add'>+    IBF_WP(ptr, char, len);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ibf_load_object_string(const struct ibf_load *load, const struct ibf_object_header *header, ibf_offset_t offset)</div><div class='add'>+{</div><div class='add'>+    ibf_offset_t reading_pos = offset;</div><div class='add'>+</div><div class='add'>+    int encindex = (int)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+    const long len = (long)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+    const char *ptr = load-&gt;current_buffer-&gt;buff + reading_pos;</div><div class='add'>+</div><div class='add'>+    VALUE str = rb_str_new(ptr, len);</div><div class='add'>+</div><div class='add'>+    if (encindex &gt; RUBY_ENCINDEX_BUILTIN_MAX) {</div><div class='add'>+        VALUE enc_name_str = ibf_load_object(load, encindex - RUBY_ENCINDEX_BUILTIN_MAX);</div><div class='add'>+        encindex = rb_enc_find_index(RSTRING_PTR(enc_name_str));</div><div class='add'>+    }</div><div class='add'>+    rb_enc_associate_index(str, encindex);</div><div class='add'>+</div><div class='add'>+    if (header-&gt;internal) rb_obj_hide(str);</div><div class='add'>+    if (header-&gt;frozen)   str = rb_fstring(str);</div><div class='add'>+</div><div class='add'>+    return str;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+ibf_dump_object_regexp(struct ibf_dump *dump, VALUE obj)</div><div class='add'>+{</div><div class='add'>+    VALUE srcstr = RREGEXP_SRC(obj);</div><div class='add'>+    struct ibf_object_regexp regexp;</div><div class='add'>+    regexp.option = (char)rb_reg_options(obj);</div><div class='add'>+    regexp.srcstr = (long)ibf_dump_object(dump, srcstr);</div><div class='add'>+</div><div class='add'>+    ibf_dump_write_byte(dump, (unsigned char)regexp.option);</div><div class='add'>+    ibf_dump_write_small_value(dump, regexp.srcstr);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ibf_load_object_regexp(const struct ibf_load *load, const struct ibf_object_header *header, ibf_offset_t offset)</div><div class='add'>+{</div><div class='add'>+    struct ibf_object_regexp regexp;</div><div class='add'>+    regexp.option = ibf_load_byte(load, &amp;offset);</div><div class='add'>+    regexp.srcstr = ibf_load_small_value(load, &amp;offset);</div><div class='add'>+</div><div class='add'>+    VALUE srcstr = ibf_load_object(load, regexp.srcstr);</div><div class='add'>+    VALUE reg = rb_reg_compile(srcstr, (int)regexp.option, NULL, 0);</div><div class='add'>+</div><div class='add'>+    if (header-&gt;internal) rb_obj_hide(reg);</div><div class='add'>+    if (header-&gt;frozen)   rb_obj_freeze(reg);</div><div class='add'>+</div><div class='add'>+    return reg;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+ibf_dump_object_array(struct ibf_dump *dump, VALUE obj)</div><div class='add'>+{</div><div class='add'>+    long i, len = RARRAY_LEN(obj);</div><div class='add'>+    ibf_dump_write_small_value(dump, len);</div><div class='add'>+    for (i=0; i&lt;len; i++) {</div><div class='add'>+        long index = (long)ibf_dump_object(dump, RARRAY_AREF(obj, i));</div><div class='add'>+        ibf_dump_write_small_value(dump, index);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ibf_load_object_array(const struct ibf_load *load, const struct ibf_object_header *header, ibf_offset_t offset)</div><div class='add'>+{</div><div class='add'>+    ibf_offset_t reading_pos = offset;</div><div class='add'>+</div><div class='add'>+    const long len = (long)ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+</div><div class='add'>+    VALUE ary = rb_ary_new_capa(len);</div><div class='add'>+    int i;</div><div class='add'>+</div><div class='add'>+    for (i=0; i&lt;len; i++) {</div><div class='add'>+        const VALUE index = ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+        rb_ary_push(ary, ibf_load_object(load, index));</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (header-&gt;internal) rb_obj_hide(ary);</div><div class='add'>+    if (header-&gt;frozen)   rb_obj_freeze(ary);</div><div class='add'>+</div><div class='add'>+    return ary;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+ibf_dump_object_hash_i(st_data_t key, st_data_t val, st_data_t ptr)</div><div class='add'>+{</div><div class='add'>+    struct ibf_dump *dump = (struct ibf_dump *)ptr;</div><div class='add'>+</div><div class='add'>+    VALUE key_index = ibf_dump_object(dump, (VALUE)key);</div><div class='add'>+    VALUE val_index = ibf_dump_object(dump, (VALUE)val);</div><div class='add'>+</div><div class='add'>+    ibf_dump_write_small_value(dump, key_index);</div><div class='add'>+    ibf_dump_write_small_value(dump, val_index);</div><div class='add'>+    return ST_CONTINUE;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+ibf_dump_object_hash(struct ibf_dump *dump, VALUE obj)</div><div class='add'>+{</div><div class='add'>+    long len = RHASH_SIZE(obj);</div><div class='add'>+    ibf_dump_write_small_value(dump, (VALUE)len);</div><div class='add'>+</div><div class='add'>+    if (len &gt; 0) rb_hash_foreach(obj, ibf_dump_object_hash_i, (VALUE)dump);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ibf_load_object_hash(const struct ibf_load *load, const struct ibf_object_header *header, ibf_offset_t offset)</div><div class='add'>+{</div><div class='add'>+    long len = (long)ibf_load_small_value(load, &amp;offset);</div><div class='add'>+    VALUE obj = rb_hash_new_with_size(len);</div><div class='add'>+    int i;</div><div class='add'>+</div><div class='add'>+    for (i = 0; i &lt; len; i++) {</div><div class='add'>+        VALUE key_index = ibf_load_small_value(load, &amp;offset);</div><div class='add'>+        VALUE val_index = ibf_load_small_value(load, &amp;offset);</div><div class='add'>+</div><div class='add'>+        VALUE key = ibf_load_object(load, key_index);</div><div class='add'>+        VALUE val = ibf_load_object(load, val_index);</div><div class='add'>+        rb_hash_aset(obj, key, val);</div><div class='add'>+    }</div><div class='add'>+    rb_hash_rehash(obj);</div><div class='add'>+</div><div class='add'>+    if (header-&gt;internal) rb_obj_hide(obj);</div><div class='add'>+    if (header-&gt;frozen)   rb_obj_freeze(obj);</div><div class='add'>+</div><div class='add'>+    return obj;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+ibf_dump_object_struct(struct ibf_dump *dump, VALUE obj)</div><div class='add'>+{</div><div class='add'>+    if (rb_obj_is_kind_of(obj, rb_cRange)) {</div><div class='add'>+        struct ibf_object_struct_range range;</div><div class='add'>+        VALUE beg, end;</div><div class='add'>+        IBF_ZERO(range);</div><div class='add'>+        range.len = 3;</div><div class='add'>+        range.class_index = 0;</div><div class='add'>+</div><div class='add'>+        rb_range_values(obj, &amp;beg, &amp;end, &amp;range.excl);</div><div class='add'>+        range.beg = (long)ibf_dump_object(dump, beg);</div><div class='add'>+        range.end = (long)ibf_dump_object(dump, end);</div><div class='add'>+</div><div class='add'>+        IBF_W_ALIGN(struct ibf_object_struct_range);</div><div class='add'>+        IBF_WV(range);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        rb_raise(rb_eNotImpError, "ibf_dump_object_struct: unsupported class %"PRIsVALUE,</div><div class='add'>+                 rb_class_name(CLASS_OF(obj)));</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ibf_load_object_struct(const struct ibf_load *load, const struct ibf_object_header *header, ibf_offset_t offset)</div><div class='add'>+{</div><div class='add'>+    const struct ibf_object_struct_range *range = IBF_OBJBODY(struct ibf_object_struct_range, offset);</div><div class='add'>+    VALUE beg = ibf_load_object(load, range-&gt;beg);</div><div class='add'>+    VALUE end = ibf_load_object(load, range-&gt;end);</div><div class='add'>+    VALUE obj = rb_range_new(beg, end, range-&gt;excl);</div><div class='add'>+    if (header-&gt;internal) rb_obj_hide(obj);</div><div class='add'>+    if (header-&gt;frozen)   rb_obj_freeze(obj);</div><div class='add'>+    return obj;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+ibf_dump_object_bignum(struct ibf_dump *dump, VALUE obj)</div><div class='add'>+{</div><div class='add'>+    ssize_t len = BIGNUM_LEN(obj);</div><div class='add'>+    ssize_t slen = BIGNUM_SIGN(obj) &gt; 0 ? len : len * -1;</div><div class='add'>+    BDIGIT *d = BIGNUM_DIGITS(obj);</div><div class='add'>+</div><div class='add'>+    (void)IBF_W(&amp;slen, ssize_t, 1);</div><div class='add'>+    IBF_WP(d, BDIGIT, len);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ibf_load_object_bignum(const struct ibf_load *load, const struct ibf_object_header *header, ibf_offset_t offset)</div><div class='add'>+{</div><div class='add'>+    const struct ibf_object_bignum *bignum = IBF_OBJBODY(struct ibf_object_bignum, offset);</div><div class='add'>+    int sign = bignum-&gt;slen &gt; 0;</div><div class='add'>+    ssize_t len = sign &gt; 0 ? bignum-&gt;slen : -1 * bignum-&gt;slen;</div><div class='add'>+    VALUE obj = rb_integer_unpack(bignum-&gt;digits, len * 2, 2, 0,</div><div class='add'>+				  INTEGER_PACK_LITTLE_ENDIAN | (sign == 0 ? INTEGER_PACK_NEGATIVE : 0));</div><div class='add'>+    if (header-&gt;internal) rb_obj_hide(obj);</div><div class='add'>+    if (header-&gt;frozen)   rb_obj_freeze(obj);</div><div class='add'>+    return obj;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+ibf_dump_object_data(struct ibf_dump *dump, VALUE obj)</div><div class='add'>+{</div><div class='add'>+    if (rb_data_is_encoding(obj)) {</div><div class='add'>+        rb_encoding *enc = rb_to_encoding(obj);</div><div class='add'>+        const char *name = rb_enc_name(enc);</div><div class='add'>+        long len = strlen(name) + 1;</div><div class='add'>+        long data[2];</div><div class='add'>+        data[0] = IBF_OBJECT_DATA_ENCODING;</div><div class='add'>+        data[1] = len;</div><div class='add'>+        (void)IBF_W(data, long, 2);</div><div class='add'>+        IBF_WP(name, char, len);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        ibf_dump_object_unsupported(dump, obj);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ibf_load_object_data(const struct ibf_load *load, const struct ibf_object_header *header, ibf_offset_t offset)</div><div class='add'>+{</div><div class='add'>+    const long *body = IBF_OBJBODY(long, offset);</div><div class='add'>+    const enum ibf_object_data_type type = (enum ibf_object_data_type)body[0];</div><div class='add'>+    /* const long len = body[1]; */</div><div class='add'>+    const char *data = (const char *)&amp;body[2];</div><div class='add'>+</div><div class='add'>+    switch (type) {</div><div class='add'>+      case IBF_OBJECT_DATA_ENCODING:</div><div class='add'>+        {</div><div class='add'>+            VALUE encobj = rb_enc_from_encoding(rb_enc_find(data));</div><div class='add'>+            return encobj;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return ibf_load_object_unsupported(load, header, offset);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+ibf_dump_object_complex_rational(struct ibf_dump *dump, VALUE obj)</div><div class='add'>+{</div><div class='add'>+    long data[2];</div><div class='add'>+    data[0] = (long)ibf_dump_object(dump, RCOMPLEX(obj)-&gt;real);</div><div class='add'>+    data[1] = (long)ibf_dump_object(dump, RCOMPLEX(obj)-&gt;imag);</div><div class='add'>+</div><div class='add'>+    (void)IBF_W(data, long, 2);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ibf_load_object_complex_rational(const struct ibf_load *load, const struct ibf_object_header *header, ibf_offset_t offset)</div><div class='add'>+{</div><div class='add'>+    const struct ibf_object_complex_rational *nums = IBF_OBJBODY(struct ibf_object_complex_rational, offset);</div><div class='add'>+    VALUE a = ibf_load_object(load, nums-&gt;a);</div><div class='add'>+    VALUE b = ibf_load_object(load, nums-&gt;b);</div><div class='add'>+    VALUE obj = header-&gt;type == T_COMPLEX ?</div><div class='add'>+      rb_complex_new(a, b) : rb_rational_new(a, b);</div><div class='add'>+</div><div class='add'>+    if (header-&gt;internal) rb_obj_hide(obj);</div><div class='add'>+    if (header-&gt;frozen)   rb_obj_freeze(obj);</div><div class='add'>+    return obj;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+ibf_dump_object_symbol(struct ibf_dump *dump, VALUE obj)</div><div class='add'>+{</div><div class='add'>+    VALUE str = rb_sym2str(obj);</div><div class='add'>+    VALUE str_index = ibf_dump_object(dump, str);</div><div class='add'>+</div><div class='add'>+    ibf_dump_write_small_value(dump, str_index);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ibf_load_object_symbol(const struct ibf_load *load, const struct ibf_object_header *header, ibf_offset_t offset)</div><div class='add'>+{</div><div class='add'>+    VALUE str_index = ibf_load_small_value(load, &amp;offset);</div><div class='add'>+    VALUE str = ibf_load_object(load, str_index);</div><div class='add'>+    ID id = rb_intern_str(str);</div><div class='add'>+    return ID2SYM(id);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+typedef void (*ibf_dump_object_function)(struct ibf_dump *dump, VALUE obj);</div><div class='add'>+static ibf_dump_object_function dump_object_functions[RUBY_T_MASK+1] = {</div><div class='add'>+    ibf_dump_object_unsupported, /* T_NONE */</div><div class='add'>+    ibf_dump_object_unsupported, /* T_OBJECT */</div><div class='add'>+    ibf_dump_object_class,       /* T_CLASS */</div><div class='add'>+    ibf_dump_object_unsupported, /* T_MODULE */</div><div class='add'>+    ibf_dump_object_float,       /* T_FLOAT */</div><div class='add'>+    ibf_dump_object_string,      /* T_STRING */</div><div class='add'>+    ibf_dump_object_regexp,      /* T_REGEXP */</div><div class='add'>+    ibf_dump_object_array,       /* T_ARRAY */</div><div class='add'>+    ibf_dump_object_hash,        /* T_HASH */</div><div class='add'>+    ibf_dump_object_struct,      /* T_STRUCT */</div><div class='add'>+    ibf_dump_object_bignum,      /* T_BIGNUM */</div><div class='add'>+    ibf_dump_object_unsupported, /* T_FILE */</div><div class='add'>+    ibf_dump_object_data,        /* T_DATA */</div><div class='add'>+    ibf_dump_object_unsupported, /* T_MATCH */</div><div class='add'>+    ibf_dump_object_complex_rational, /* T_COMPLEX */</div><div class='add'>+    ibf_dump_object_complex_rational, /* T_RATIONAL */</div><div class='add'>+    ibf_dump_object_unsupported, /* 0x10 */</div><div class='add'>+    ibf_dump_object_unsupported, /* 0x11 T_NIL */</div><div class='add'>+    ibf_dump_object_unsupported, /* 0x12 T_TRUE */</div><div class='add'>+    ibf_dump_object_unsupported, /* 0x13 T_FALSE */</div><div class='add'>+    ibf_dump_object_symbol,      /* 0x14 T_SYMBOL */</div><div class='add'>+    ibf_dump_object_unsupported, /* T_FIXNUM */</div><div class='add'>+    ibf_dump_object_unsupported, /* T_UNDEF */</div><div class='add'>+    ibf_dump_object_unsupported, /* 0x17 */</div><div class='add'>+    ibf_dump_object_unsupported, /* 0x18 */</div><div class='add'>+    ibf_dump_object_unsupported, /* 0x19 */</div><div class='add'>+    ibf_dump_object_unsupported, /* T_IMEMO 0x1a */</div><div class='add'>+    ibf_dump_object_unsupported, /* T_NODE 0x1b */</div><div class='add'>+    ibf_dump_object_unsupported, /* T_ICLASS 0x1c */</div><div class='add'>+    ibf_dump_object_unsupported, /* T_ZOMBIE 0x1d */</div><div class='add'>+    ibf_dump_object_unsupported, /* 0x1e */</div><div class='add'>+    ibf_dump_object_unsupported, /* 0x1f */</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+ibf_dump_object_object_header(struct ibf_dump *dump, const struct ibf_object_header header)</div><div class='add'>+{</div><div class='add'>+    unsigned char byte =</div><div class='add'>+        (header.type          &lt;&lt; 0) |</div><div class='add'>+        (header.special_const &lt;&lt; 5) |</div><div class='add'>+        (header.frozen        &lt;&lt; 6) |</div><div class='add'>+        (header.internal      &lt;&lt; 7);</div><div class='add'>+</div><div class='add'>+    IBF_WV(byte);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static struct ibf_object_header</div><div class='add'>+ibf_load_object_object_header(const struct ibf_load *load, ibf_offset_t *offset)</div><div class='add'>+{</div><div class='add'>+    unsigned char byte = ibf_load_byte(load, offset);</div><div class='add'>+</div><div class='add'>+    struct ibf_object_header header;</div><div class='add'>+    header.type          = (byte &gt;&gt; 0) &amp; 0x1f;</div><div class='add'>+    header.special_const = (byte &gt;&gt; 5) &amp; 0x01;</div><div class='add'>+    header.frozen        = (byte &gt;&gt; 6) &amp; 0x01;</div><div class='add'>+    header.internal      = (byte &gt;&gt; 7) &amp; 0x01;</div><div class='add'>+</div><div class='add'>+    return header;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static ibf_offset_t</div><div class='add'>+ibf_dump_object_object(struct ibf_dump *dump, VALUE obj)</div><div class='add'>+{</div><div class='add'>+    struct ibf_object_header obj_header;</div><div class='add'>+    ibf_offset_t current_offset;</div><div class='add'>+    IBF_ZERO(obj_header);</div><div class='add'>+    obj_header.type = TYPE(obj);</div><div class='add'>+</div><div class='add'>+    IBF_W_ALIGN(ibf_offset_t);</div><div class='add'>+    current_offset = ibf_dump_pos(dump);</div><div class='add'>+</div><div class='add'>+    if (SPECIAL_CONST_P(obj) &amp;&amp;</div><div class='add'>+        ! (RB_TYPE_P(obj, T_SYMBOL) ||</div><div class='add'>+           RB_TYPE_P(obj, T_FLOAT))) {</div><div class='add'>+        obj_header.special_const = TRUE;</div><div class='add'>+        obj_header.frozen = TRUE;</div><div class='add'>+        obj_header.internal = TRUE;</div><div class='add'>+        ibf_dump_object_object_header(dump, obj_header);</div><div class='add'>+        ibf_dump_write_small_value(dump, obj);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        obj_header.internal = SPECIAL_CONST_P(obj) ? FALSE : (RBASIC_CLASS(obj) == 0) ? TRUE : FALSE;</div><div class='add'>+        obj_header.special_const = FALSE;</div><div class='add'>+        obj_header.frozen = FL_TEST(obj, FL_FREEZE) ? TRUE : FALSE;</div><div class='add'>+        ibf_dump_object_object_header(dump, obj_header);</div><div class='add'>+        (*dump_object_functions[obj_header.type])(dump, obj);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return current_offset;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+typedef VALUE (*ibf_load_object_function)(const struct ibf_load *load, const struct ibf_object_header *header, ibf_offset_t offset);</div><div class='add'>+static ibf_load_object_function load_object_functions[RUBY_T_MASK+1] = {</div><div class='add'>+    ibf_load_object_unsupported, /* T_NONE */</div><div class='add'>+    ibf_load_object_unsupported, /* T_OBJECT */</div><div class='add'>+    ibf_load_object_class,       /* T_CLASS */</div><div class='add'>+    ibf_load_object_unsupported, /* T_MODULE */</div><div class='add'>+    ibf_load_object_float,       /* T_FLOAT */</div><div class='add'>+    ibf_load_object_string,      /* T_STRING */</div><div class='add'>+    ibf_load_object_regexp,      /* T_REGEXP */</div><div class='add'>+    ibf_load_object_array,       /* T_ARRAY */</div><div class='add'>+    ibf_load_object_hash,        /* T_HASH */</div><div class='add'>+    ibf_load_object_struct,      /* T_STRUCT */</div><div class='add'>+    ibf_load_object_bignum,      /* T_BIGNUM */</div><div class='add'>+    ibf_load_object_unsupported, /* T_FILE */</div><div class='add'>+    ibf_load_object_data,        /* T_DATA */</div><div class='add'>+    ibf_load_object_unsupported, /* T_MATCH */</div><div class='add'>+    ibf_load_object_complex_rational, /* T_COMPLEX */</div><div class='add'>+    ibf_load_object_complex_rational, /* T_RATIONAL */</div><div class='add'>+    ibf_load_object_unsupported, /* 0x10 */</div><div class='add'>+    ibf_load_object_unsupported, /* T_NIL */</div><div class='add'>+    ibf_load_object_unsupported, /* T_TRUE */</div><div class='add'>+    ibf_load_object_unsupported, /* T_FALSE */</div><div class='add'>+    ibf_load_object_symbol,</div><div class='add'>+    ibf_load_object_unsupported, /* T_FIXNUM */</div><div class='add'>+    ibf_load_object_unsupported, /* T_UNDEF */</div><div class='add'>+    ibf_load_object_unsupported, /* 0x17 */</div><div class='add'>+    ibf_load_object_unsupported, /* 0x18 */</div><div class='add'>+    ibf_load_object_unsupported, /* 0x19 */</div><div class='add'>+    ibf_load_object_unsupported, /* T_IMEMO 0x1a */</div><div class='add'>+    ibf_load_object_unsupported, /* T_NODE 0x1b */</div><div class='add'>+    ibf_load_object_unsupported, /* T_ICLASS 0x1c */</div><div class='add'>+    ibf_load_object_unsupported, /* T_ZOMBIE 0x1d */</div><div class='add'>+    ibf_load_object_unsupported, /* 0x1e */</div><div class='add'>+    ibf_load_object_unsupported, /* 0x1f */</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+ibf_load_object(const struct ibf_load *load, VALUE object_index)</div><div class='add'>+{</div><div class='add'>+    if (object_index == 0) {</div><div class='add'>+        return Qnil;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        VALUE obj = pinned_list_fetch(load-&gt;current_buffer-&gt;obj_list, (long)object_index);</div><div class='add'>+        if (!obj) {</div><div class='add'>+            ibf_offset_t *offsets = (ibf_offset_t *)(load-&gt;current_buffer-&gt;obj_list_offset + load-&gt;current_buffer-&gt;buff);</div><div class='add'>+            ibf_offset_t offset = offsets[object_index];</div><div class='add'>+            const struct ibf_object_header header = ibf_load_object_object_header(load, &amp;offset);</div><div class='add'>+</div><div class='add'>+#if IBF_ISEQ_DEBUG</div><div class='add'>+            fprintf(stderr, "ibf_load_object: list=%#x offsets=%p offset=%#x\n",</div><div class='add'>+                    load-&gt;current_buffer-&gt;obj_list_offset, (void *)offsets, offset);</div><div class='add'>+            fprintf(stderr, "ibf_load_object: type=%#x special=%d frozen=%d internal=%d\n",</div><div class='add'>+                    header.type, header.special_const, header.frozen, header.internal);</div><div class='add'>+#endif</div><div class='add'>+            if (offset &gt;= load-&gt;current_buffer-&gt;size) {</div><div class='add'>+                rb_raise(rb_eIndexError, "object offset out of range: %u", offset);</div><div class='add'>+            }</div><div class='add'>+</div><div class='add'>+            if (header.special_const) {</div><div class='add'>+                ibf_offset_t reading_pos = offset;</div><div class='add'>+</div><div class='add'>+                obj = ibf_load_small_value(load, &amp;reading_pos);</div><div class='add'>+            }</div><div class='add'>+            else {</div><div class='add'>+                obj = (*load_object_functions[header.type])(load, &amp;header, offset);</div><div class='add'>+            }</div><div class='add'>+</div><div class='add'>+            pinned_list_store(load-&gt;current_buffer-&gt;obj_list, (long)object_index, obj);</div><div class='add'>+        }</div><div class='add'>+#if IBF_ISEQ_DEBUG</div><div class='add'>+        fprintf(stderr, "ibf_load_object: index=%#"PRIxVALUE" obj=%#"PRIxVALUE"\n",</div><div class='add'>+                object_index, obj);</div><div class='add'>+#endif</div><div class='add'>+        return obj;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+struct ibf_dump_object_list_arg</div><div class='add'>+{</div><div class='add'>+    struct ibf_dump *dump;</div><div class='add'>+    VALUE offset_list;</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+ibf_dump_object_list_i(st_data_t key, st_data_t val, st_data_t ptr)</div><div class='add'>+{</div><div class='add'>+    VALUE obj = (VALUE)key;</div><div class='add'>+    struct ibf_dump_object_list_arg *args = (struct ibf_dump_object_list_arg *)ptr;</div><div class='add'>+</div><div class='add'>+    ibf_offset_t offset = ibf_dump_object_object(args-&gt;dump, obj);</div><div class='add'>+    rb_ary_push(args-&gt;offset_list, UINT2NUM(offset));</div><div class='add'>+</div><div class='add'>+    return ST_CONTINUE;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+ibf_dump_object_list(struct ibf_dump *dump, ibf_offset_t *obj_list_offset, unsigned int *obj_list_size)</div><div class='add'>+{</div><div class='add'>+    st_table *obj_table = dump-&gt;current_buffer-&gt;obj_table;</div><div class='add'>+    VALUE offset_list = rb_ary_tmp_new(obj_table-&gt;num_entries);</div><div class='add'>+</div><div class='add'>+    struct ibf_dump_object_list_arg args;</div><div class='add'>+    args.dump = dump;</div><div class='add'>+    args.offset_list = offset_list;</div><div class='add'>+</div><div class='add'>+    st_foreach(obj_table, ibf_dump_object_list_i, (st_data_t)&amp;args);</div><div class='add'>+</div><div class='add'>+    IBF_W_ALIGN(ibf_offset_t);</div><div class='add'>+    *obj_list_offset = ibf_dump_pos(dump);</div><div class='add'>+</div><div class='add'>+    st_index_t size = obj_table-&gt;num_entries;</div><div class='add'>+    st_index_t i;</div><div class='add'>+</div><div class='add'>+    for (i=0; i&lt;size; i++) {</div><div class='add'>+        ibf_offset_t offset = NUM2UINT(RARRAY_AREF(offset_list, i));</div><div class='add'>+        IBF_WV(offset);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    *obj_list_size = (unsigned int)size;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+ibf_dump_mark(void *ptr)</div><div class='add'>+{</div><div class='add'>+    struct ibf_dump *dump = (struct ibf_dump *)ptr;</div><div class='add'>+    rb_gc_mark(dump-&gt;global_buffer.str);</div><div class='add'>+</div><div class='add'>+    rb_mark_set(dump-&gt;global_buffer.obj_table);</div><div class='add'>+    rb_mark_set(dump-&gt;iseq_table);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+ibf_dump_free(void *ptr)</div><div class='add'>+{</div><div class='add'>+    struct ibf_dump *dump = (struct ibf_dump *)ptr;</div><div class='add'>+    if (dump-&gt;global_buffer.obj_table) {</div><div class='add'>+        st_free_table(dump-&gt;global_buffer.obj_table);</div><div class='add'>+        dump-&gt;global_buffer.obj_table = 0;</div><div class='add'>+    }</div><div class='add'>+    if (dump-&gt;iseq_table) {</div><div class='add'>+        st_free_table(dump-&gt;iseq_table);</div><div class='add'>+        dump-&gt;iseq_table = 0;</div><div class='add'>+    }</div><div class='add'>+    ruby_xfree(dump);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static size_t</div><div class='add'>+ibf_dump_memsize(const void *ptr)</div><div class='add'>+{</div><div class='add'>+    struct ibf_dump *dump = (struct ibf_dump *)ptr;</div><div class='add'>+    size_t size = sizeof(*dump);</div><div class='add'>+    if (dump-&gt;iseq_table) size += st_memsize(dump-&gt;iseq_table);</div><div class='add'>+    if (dump-&gt;global_buffer.obj_table) size += st_memsize(dump-&gt;global_buffer.obj_table);</div><div class='add'>+    return size;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static const rb_data_type_t ibf_dump_type = {</div><div class='add'>+    "ibf_dump",</div><div class='add'>+    {ibf_dump_mark, ibf_dump_free, ibf_dump_memsize,},</div><div class='add'>+    0, 0, RUBY_TYPED_WB_PROTECTED | RUBY_TYPED_FREE_IMMEDIATELY</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+ibf_dump_setup(struct ibf_dump *dump, VALUE dumper_obj)</div><div class='add'>+{</div><div class='add'>+    dump-&gt;global_buffer.obj_table = NULL; // GC may run before a value is assigned</div><div class='add'>+    dump-&gt;iseq_table = NULL;</div><div class='add'>+</div><div class='add'>+    RB_OBJ_WRITE(dumper_obj, &amp;dump-&gt;global_buffer.str, rb_str_new(0, 0));</div><div class='add'>+    dump-&gt;global_buffer.obj_table = ibf_dump_object_table_new();</div><div class='add'>+    dump-&gt;iseq_table = st_init_numtable(); /* need free */</div><div class='add'>+</div><div class='add'>+    dump-&gt;current_buffer = &amp;dump-&gt;global_buffer;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_iseq_ibf_dump(const rb_iseq_t *iseq, VALUE opt)</div><div class='add'>+{</div><div class='add'>+    struct ibf_dump *dump;</div><div class='add'>+    struct ibf_header header = {{0}};</div><div class='add'>+    VALUE dump_obj;</div><div class='add'>+    VALUE str;</div><div class='add'>+</div><div class='add'>+    if (iseq-&gt;body-&gt;parent_iseq != NULL ||</div><div class='add'>+        iseq-&gt;body-&gt;local_iseq != iseq) {</div><div class='add'>+        rb_raise(rb_eRuntimeError, "should be top of iseq");</div><div class='add'>+    }</div><div class='add'>+    if (RTEST(ISEQ_COVERAGE(iseq))) {</div><div class='add'>+        rb_raise(rb_eRuntimeError, "should not compile with coverage");</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    dump_obj = TypedData_Make_Struct(0, struct ibf_dump, &amp;ibf_dump_type, dump);</div><div class='add'>+    ibf_dump_setup(dump, dump_obj);</div><div class='add'>+</div><div class='add'>+    ibf_dump_write(dump, &amp;header, sizeof(header));</div><div class='add'>+    ibf_dump_write(dump, RUBY_PLATFORM, strlen(RUBY_PLATFORM) + 1);</div><div class='add'>+    ibf_dump_iseq(dump, iseq);</div><div class='add'>+</div><div class='add'>+    header.magic[0] = 'Y'; /* YARB */</div><div class='add'>+    header.magic[1] = 'A';</div><div class='add'>+    header.magic[2] = 'R';</div><div class='add'>+    header.magic[3] = 'B';</div><div class='add'>+    header.major_version = IBF_MAJOR_VERSION;</div><div class='add'>+    header.minor_version = IBF_MINOR_VERSION;</div><div class='add'>+    ibf_dump_iseq_list(dump, &amp;header);</div><div class='add'>+    ibf_dump_object_list(dump, &amp;header.global_object_list_offset, &amp;header.global_object_list_size);</div><div class='add'>+    header.size = ibf_dump_pos(dump);</div><div class='add'>+</div><div class='add'>+    if (RTEST(opt)) {</div><div class='add'>+        VALUE opt_str = opt;</div><div class='add'>+        const char *ptr = StringValuePtr(opt_str);</div><div class='add'>+        header.extra_size = RSTRING_LENINT(opt_str);</div><div class='add'>+        ibf_dump_write(dump, ptr, header.extra_size);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        header.extra_size = 0;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    ibf_dump_overwrite(dump, &amp;header, sizeof(header), 0);</div><div class='add'>+</div><div class='add'>+    str = dump-&gt;global_buffer.str;</div><div class='add'>+    ibf_dump_free(dump);</div><div class='add'>+    DATA_PTR(dump_obj) = NULL;</div><div class='add'>+    RB_GC_GUARD(dump_obj);</div><div class='add'>+    return str;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static const ibf_offset_t *</div><div class='add'>+ibf_iseq_list(const struct ibf_load *load)</div><div class='add'>+{</div><div class='add'>+    return (const ibf_offset_t *)(load-&gt;global_buffer.buff + load-&gt;header-&gt;iseq_list_offset);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+rb_ibf_load_iseq_complete(rb_iseq_t *iseq)</div><div class='add'>+{</div><div class='add'>+    struct ibf_load *load = RTYPEDDATA_DATA(iseq-&gt;aux.loader.obj);</div><div class='add'>+    rb_iseq_t *prev_src_iseq = load-&gt;iseq;</div><div class='add'>+    ibf_offset_t offset = ibf_iseq_list(load)[iseq-&gt;aux.loader.index];</div><div class='add'>+    load-&gt;iseq = iseq;</div><div class='add'>+#if IBF_ISEQ_DEBUG</div><div class='add'>+    fprintf(stderr, "rb_ibf_load_iseq_complete: index=%#x offset=%#x size=%#x\n",</div><div class='add'>+	    iseq-&gt;aux.loader.index, offset,</div><div class='add'>+	    load-&gt;header-&gt;size);</div><div class='add'>+#endif</div><div class='add'>+    ibf_load_iseq_each(load, iseq, offset);</div><div class='add'>+    ISEQ_COMPILE_DATA_CLEAR(iseq);</div><div class='add'>+    FL_UNSET((VALUE)iseq, ISEQ_NOT_LOADED_YET);</div><div class='add'>+    rb_iseq_init_trace(iseq);</div><div class='add'>+    load-&gt;iseq = prev_src_iseq;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#if USE_LAZY_LOAD</div><div class='add'>+MJIT_FUNC_EXPORTED const rb_iseq_t *</div><div class='add'>+rb_iseq_complete(const rb_iseq_t *iseq)</div><div class='add'>+{</div><div class='add'>+    rb_ibf_load_iseq_complete((rb_iseq_t *)iseq);</div><div class='add'>+    return iseq;</div><div class='add'>+}</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+static rb_iseq_t *</div><div class='add'>+ibf_load_iseq(const struct ibf_load *load, const rb_iseq_t *index_iseq)</div><div class='add'>+{</div><div class='add'>+    int iseq_index = (int)(VALUE)index_iseq;</div><div class='add'>+</div><div class='add'>+#if IBF_ISEQ_DEBUG</div><div class='add'>+    fprintf(stderr, "ibf_load_iseq: index_iseq=%p iseq_list=%p\n",</div><div class='add'>+	    (void *)index_iseq, (void *)load-&gt;iseq_list);</div><div class='add'>+#endif</div><div class='add'>+    if (iseq_index == -1) {</div><div class='add'>+	return NULL;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	VALUE iseqv = pinned_list_fetch(load-&gt;iseq_list, iseq_index);</div><div class='add'>+</div><div class='add'>+#if IBF_ISEQ_DEBUG</div><div class='add'>+	fprintf(stderr, "ibf_load_iseq: iseqv=%p\n", (void *)iseqv);</div><div class='add'>+#endif</div><div class='add'>+	if (iseqv) {</div><div class='add'>+	    return (rb_iseq_t *)iseqv;</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    rb_iseq_t *iseq = iseq_imemo_alloc();</div><div class='add'>+#if IBF_ISEQ_DEBUG</div><div class='add'>+	    fprintf(stderr, "ibf_load_iseq: new iseq=%p\n", (void *)iseq);</div><div class='add'>+#endif</div><div class='add'>+	    FL_SET((VALUE)iseq, ISEQ_NOT_LOADED_YET);</div><div class='add'>+	    iseq-&gt;aux.loader.obj = load-&gt;loader_obj;</div><div class='add'>+	    iseq-&gt;aux.loader.index = iseq_index;</div><div class='add'>+#if IBF_ISEQ_DEBUG</div><div class='add'>+	    fprintf(stderr, "ibf_load_iseq: iseq=%p loader_obj=%p index=%d\n",</div><div class='add'>+		    (void *)iseq, (void *)load-&gt;loader_obj, iseq_index);</div><div class='add'>+#endif</div><div class='add'>+	    pinned_list_store(load-&gt;iseq_list, iseq_index, (VALUE)iseq);</div><div class='add'>+</div><div class='add'>+#if !USE_LAZY_LOAD</div><div class='add'>+#if IBF_ISEQ_DEBUG</div><div class='add'>+	    fprintf(stderr, "ibf_load_iseq: loading iseq=%p\n", (void *)iseq);</div><div class='add'>+#endif</div><div class='add'>+            rb_ibf_load_iseq_complete(iseq);</div><div class='add'>+#else</div><div class='add'>+            if (GET_VM()-&gt;builtin_function_table) {</div><div class='add'>+                rb_ibf_load_iseq_complete(iseq);</div><div class='add'>+            }</div><div class='add'>+#endif /* !USE_LAZY_LOAD */</div><div class='add'>+</div><div class='add'>+#if IBF_ISEQ_DEBUG</div><div class='add'>+	    fprintf(stderr, "ibf_load_iseq: iseq=%p loaded %p\n",</div><div class='add'>+		    (void *)iseq, (void *)load-&gt;iseq);</div><div class='add'>+#endif</div><div class='add'>+	    return iseq;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+ibf_load_setup_bytes(struct ibf_load *load, VALUE loader_obj, const char *bytes, size_t size)</div><div class='add'>+{</div><div class='add'>+    load-&gt;loader_obj = loader_obj;</div><div class='add'>+    load-&gt;global_buffer.buff = bytes;</div><div class='add'>+    load-&gt;header = (struct ibf_header *)load-&gt;global_buffer.buff;</div><div class='add'>+    load-&gt;global_buffer.size = load-&gt;header-&gt;size;</div><div class='add'>+    load-&gt;global_buffer.obj_list_offset = load-&gt;header-&gt;global_object_list_offset;</div><div class='add'>+    load-&gt;global_buffer.obj_list_size = load-&gt;header-&gt;global_object_list_size;</div><div class='add'>+    RB_OBJ_WRITE(loader_obj, &amp;load-&gt;iseq_list, pinned_list_new(load-&gt;header-&gt;iseq_list_size));</div><div class='add'>+    RB_OBJ_WRITE(loader_obj, &amp;load-&gt;global_buffer.obj_list, pinned_list_new(load-&gt;global_buffer.obj_list_size));</div><div class='add'>+    load-&gt;iseq = NULL;</div><div class='add'>+</div><div class='add'>+    load-&gt;current_buffer = &amp;load-&gt;global_buffer;</div><div class='add'>+</div><div class='add'>+    if (size &lt; load-&gt;header-&gt;size) {</div><div class='add'>+	rb_raise(rb_eRuntimeError, "broken binary format");</div><div class='add'>+    }</div><div class='add'>+    if (strncmp(load-&gt;header-&gt;magic, "YARB", 4) != 0) {</div><div class='add'>+	rb_raise(rb_eRuntimeError, "unknown binary format");</div><div class='add'>+    }</div><div class='add'>+    if (load-&gt;header-&gt;major_version != IBF_MAJOR_VERSION ||</div><div class='add'>+	load-&gt;header-&gt;minor_version != IBF_MINOR_VERSION) {</div><div class='add'>+	rb_raise(rb_eRuntimeError, "unmatched version file (%u.%u for %u.%u)",</div><div class='add'>+		 load-&gt;header-&gt;major_version, load-&gt;header-&gt;minor_version, IBF_MAJOR_VERSION, IBF_MINOR_VERSION);</div><div class='add'>+    }</div><div class='add'>+    if (strcmp(load-&gt;global_buffer.buff + sizeof(struct ibf_header), RUBY_PLATFORM) != 0) {</div><div class='add'>+	rb_raise(rb_eRuntimeError, "unmatched platform");</div><div class='add'>+    }</div><div class='add'>+    if (load-&gt;header-&gt;iseq_list_offset % RUBY_ALIGNOF(ibf_offset_t)) {</div><div class='add'>+        rb_raise(rb_eArgError, "unaligned iseq list offset: %u",</div><div class='add'>+                 load-&gt;header-&gt;iseq_list_offset);</div><div class='add'>+    }</div><div class='add'>+    if (load-&gt;global_buffer.obj_list_offset % RUBY_ALIGNOF(ibf_offset_t)) {</div><div class='add'>+        rb_raise(rb_eArgError, "unaligned object list offset: %u",</div><div class='add'>+                 load-&gt;global_buffer.obj_list_offset);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+ibf_load_setup(struct ibf_load *load, VALUE loader_obj, VALUE str)</div><div class='add'>+{</div><div class='add'>+    if (RSTRING_LENINT(str) &lt; (int)sizeof(struct ibf_header)) {</div><div class='add'>+        rb_raise(rb_eRuntimeError, "broken binary format");</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+#if USE_LAZY_LOAD</div><div class='add'>+    str = rb_str_new(RSTRING_PTR(str), RSTRING_LEN(str));</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+    ibf_load_setup_bytes(load, loader_obj, StringValuePtr(str), RSTRING_LEN(str));</div><div class='add'>+    RB_OBJ_WRITE(loader_obj, &amp;load-&gt;str, str);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+ibf_loader_mark(void *ptr)</div><div class='add'>+{</div><div class='add'>+    struct ibf_load *load = (struct ibf_load *)ptr;</div><div class='add'>+    rb_gc_mark(load-&gt;str);</div><div class='add'>+    rb_gc_mark(load-&gt;iseq_list);</div><div class='add'>+    rb_gc_mark(load-&gt;global_buffer.obj_list);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+ibf_loader_free(void *ptr)</div><div class='add'>+{</div><div class='add'>+    struct ibf_load *load = (struct ibf_load *)ptr;</div><div class='add'>+    ruby_xfree(load);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static size_t</div><div class='add'>+ibf_loader_memsize(const void *ptr)</div><div class='add'>+{</div><div class='add'>+    return sizeof(struct ibf_load);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static const rb_data_type_t ibf_load_type = {</div><div class='add'>+    "ibf_loader",</div><div class='add'>+    {ibf_loader_mark, ibf_loader_free, ibf_loader_memsize,},</div><div class='add'>+    0, 0, RUBY_TYPED_WB_PROTECTED | RUBY_TYPED_FREE_IMMEDIATELY</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+const rb_iseq_t *</div><div class='add'>+rb_iseq_ibf_load(VALUE str)</div><div class='add'>+{</div><div class='add'>+    struct ibf_load *load;</div><div class='add'>+    rb_iseq_t *iseq;</div><div class='add'>+    VALUE loader_obj = TypedData_Make_Struct(0, struct ibf_load, &amp;ibf_load_type, load);</div><div class='add'>+</div><div class='add'>+    ibf_load_setup(load, loader_obj, str);</div><div class='add'>+    iseq = ibf_load_iseq(load, 0);</div><div class='add'>+</div><div class='add'>+    RB_GC_GUARD(loader_obj);</div><div class='add'>+    return iseq;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+const rb_iseq_t *</div><div class='add'>+rb_iseq_ibf_load_bytes(const char *bytes, size_t size)</div><div class='add'>+{</div><div class='add'>+    struct ibf_load *load;</div><div class='add'>+    rb_iseq_t *iseq;</div><div class='add'>+    VALUE loader_obj = TypedData_Make_Struct(0, struct ibf_load, &amp;ibf_load_type, load);</div><div class='add'>+</div><div class='add'>+    ibf_load_setup_bytes(load, loader_obj, bytes, size);</div><div class='add'>+    iseq = ibf_load_iseq(load, 0);</div><div class='add'>+</div><div class='add'>+    RB_GC_GUARD(loader_obj);</div><div class='add'>+    return iseq;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_iseq_ibf_load_extra_data(VALUE str)</div><div class='add'>+{</div><div class='add'>+    struct ibf_load *load;</div><div class='add'>+    VALUE loader_obj = TypedData_Make_Struct(0, struct ibf_load, &amp;ibf_load_type, load);</div><div class='add'>+    VALUE extra_str;</div><div class='add'>+</div><div class='add'>+    ibf_load_setup(load, loader_obj, str);</div><div class='add'>+    extra_str = rb_str_new(load-&gt;global_buffer.buff + load-&gt;header-&gt;size, load-&gt;header-&gt;extra_size);</div><div class='add'>+    RB_GC_GUARD(loader_obj);</div><div class='add'>+    return extra_str;</div><div class='add'>+}</div><div class='head'>diff --git a/complex.c b/complex.c<br/>new file mode 100644<br/>index 0000000000..560d9788b2<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/complex.c?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>complex.c</a></div><div class='hunk'>@@ -0,0 +1,2453 @@</div><div class='add'>+/*</div><div class='add'>+  complex.c: Coded by Tadayoshi Funaba 2008-2012</div><div class='add'>+</div><div class='add'>+  This implementation is based on Keiju Ishitsuka's Complex library</div><div class='add'>+  which is written in ruby.</div><div class='add'>+*/</div><div class='add'>+</div><div class='add'>+#include "ruby/internal/config.h"</div><div class='add'>+</div><div class='add'>+#if defined _MSC_VER</div><div class='add'>+/* Microsoft Visual C does not define M_PI and others by default */</div><div class='add'>+# define _USE_MATH_DEFINES 1</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#include &lt;ctype.h&gt;</div><div class='add'>+#include &lt;math.h&gt;</div><div class='add'>+</div><div class='add'>+#undef NDEBUG</div><div class='add'>+#define NDEBUG</div><div class='add'>+#include "id.h"</div><div class='add'>+#include "internal.h"</div><div class='add'>+#include "internal/array.h"</div><div class='add'>+#include "internal/class.h"</div><div class='add'>+#include "internal/complex.h"</div><div class='add'>+#include "internal/math.h"</div><div class='add'>+#include "internal/numeric.h"</div><div class='add'>+#include "internal/object.h"</div><div class='add'>+#include "internal/rational.h"</div><div class='add'>+#include "ruby_assert.h"</div><div class='add'>+</div><div class='add'>+#define ZERO INT2FIX(0)</div><div class='add'>+#define ONE INT2FIX(1)</div><div class='add'>+#define TWO INT2FIX(2)</div><div class='add'>+#if USE_FLONUM</div><div class='add'>+#define RFLOAT_0 DBL2NUM(0)</div><div class='add'>+#else</div><div class='add'>+static VALUE RFLOAT_0;</div><div class='add'>+#endif</div><div class='add'>+#if defined(HAVE_SIGNBIT) &amp;&amp; defined(__GNUC__) &amp;&amp; defined(__sun) &amp;&amp; \</div><div class='add'>+    !defined(signbit)</div><div class='add'>+extern int signbit(double);</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+VALUE rb_cComplex;</div><div class='add'>+</div><div class='add'>+static ID id_abs, id_arg,</div><div class='add'>+    id_denominator, id_numerator,</div><div class='add'>+    id_real_p, id_i_real, id_i_imag,</div><div class='add'>+    id_finite_p, id_infinite_p, id_rationalize,</div><div class='add'>+    id_PI;</div><div class='add'>+#define id_to_i idTo_i</div><div class='add'>+#define id_to_r idTo_r</div><div class='add'>+#define id_negate idUMinus</div><div class='add'>+#define id_expt idPow</div><div class='add'>+#define id_to_f idTo_f</div><div class='add'>+#define id_quo idQuo</div><div class='add'>+#define id_fdiv idFdiv</div><div class='add'>+</div><div class='add'>+#define f_boolcast(x) ((x) ? Qtrue : Qfalse)</div><div class='add'>+</div><div class='add'>+#define fun1(n) \</div><div class='add'>+inline static VALUE \</div><div class='add'>+f_##n(VALUE x)\</div><div class='add'>+{\</div><div class='add'>+    return rb_funcall(x, id_##n, 0);\</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#define fun2(n) \</div><div class='add'>+inline static VALUE \</div><div class='add'>+f_##n(VALUE x, VALUE y)\</div><div class='add'>+{\</div><div class='add'>+    return rb_funcall(x, id_##n, 1, y);\</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#define PRESERVE_SIGNEDZERO</div><div class='add'>+</div><div class='add'>+inline static VALUE</div><div class='add'>+f_add(VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    if (RB_INTEGER_TYPE_P(x) &amp;&amp;</div><div class='add'>+        LIKELY(rb_method_basic_definition_p(rb_cInteger, idPLUS))) {</div><div class='add'>+        if (FIXNUM_ZERO_P(x))</div><div class='add'>+            return y;</div><div class='add'>+        if (FIXNUM_ZERO_P(y))</div><div class='add'>+            return x;</div><div class='add'>+        return rb_int_plus(x, y);</div><div class='add'>+    }</div><div class='add'>+    else if (RB_FLOAT_TYPE_P(x) &amp;&amp;</div><div class='add'>+             LIKELY(rb_method_basic_definition_p(rb_cFloat, idPLUS))) {</div><div class='add'>+        if (FIXNUM_ZERO_P(y))</div><div class='add'>+            return x;</div><div class='add'>+        return rb_float_plus(x, y);</div><div class='add'>+    }</div><div class='add'>+    else if (RB_TYPE_P(x, T_RATIONAL) &amp;&amp;</div><div class='add'>+             LIKELY(rb_method_basic_definition_p(rb_cRational, idPLUS))) {</div><div class='add'>+        if (FIXNUM_ZERO_P(y))</div><div class='add'>+            return x;</div><div class='add'>+        return rb_rational_plus(x, y);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return rb_funcall(x, '+', 1, y);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+inline static VALUE</div><div class='add'>+f_div(VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    if (FIXNUM_P(y) &amp;&amp; FIX2LONG(y) == 1)</div><div class='add'>+	return x;</div><div class='add'>+    return rb_funcall(x, '/', 1, y);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+inline static int</div><div class='add'>+f_gt_p(VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    if (RB_INTEGER_TYPE_P(x)) {</div><div class='add'>+        if (FIXNUM_P(x) &amp;&amp; FIXNUM_P(y))</div><div class='add'>+            return (SIGNED_VALUE)x &gt; (SIGNED_VALUE)y;</div><div class='add'>+        return RTEST(rb_int_gt(x, y));</div><div class='add'>+    }</div><div class='add'>+    else if (RB_FLOAT_TYPE_P(x))</div><div class='add'>+        return RTEST(rb_float_gt(x, y));</div><div class='add'>+    else if (RB_TYPE_P(x, T_RATIONAL)) {</div><div class='add'>+        int const cmp = rb_cmpint(rb_rational_cmp(x, y), x, y);</div><div class='add'>+        return cmp &gt; 0;</div><div class='add'>+    }</div><div class='add'>+    return RTEST(rb_funcall(x, '&gt;', 1, y));</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+inline static VALUE</div><div class='add'>+f_mul(VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    if (RB_INTEGER_TYPE_P(x) &amp;&amp;</div><div class='add'>+        LIKELY(rb_method_basic_definition_p(rb_cInteger, idMULT))) {</div><div class='add'>+        if (FIXNUM_ZERO_P(y))</div><div class='add'>+            return ZERO;</div><div class='add'>+        if (FIXNUM_ZERO_P(x) &amp;&amp; RB_INTEGER_TYPE_P(y))</div><div class='add'>+            return ZERO;</div><div class='add'>+        if (x == ONE) return y;</div><div class='add'>+        if (y == ONE) return x;</div><div class='add'>+        return rb_int_mul(x, y);</div><div class='add'>+    }</div><div class='add'>+    else if (RB_FLOAT_TYPE_P(x) &amp;&amp;</div><div class='add'>+             LIKELY(rb_method_basic_definition_p(rb_cFloat, idMULT))) {</div><div class='add'>+        if (y == ONE) return x;</div><div class='add'>+        return rb_float_mul(x, y);</div><div class='add'>+    }</div><div class='add'>+    else if (RB_TYPE_P(x, T_RATIONAL) &amp;&amp;</div><div class='add'>+             LIKELY(rb_method_basic_definition_p(rb_cRational, idMULT))) {</div><div class='add'>+        if (y == ONE) return x;</div><div class='add'>+        return rb_rational_mul(x, y);</div><div class='add'>+    }</div><div class='add'>+    else if (LIKELY(rb_method_basic_definition_p(CLASS_OF(x), idMULT))) {</div><div class='add'>+        if (y == ONE) return x;</div><div class='add'>+    }</div><div class='add'>+    return rb_funcall(x, '*', 1, y);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+inline static VALUE</div><div class='add'>+f_sub(VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    if (FIXNUM_ZERO_P(y) &amp;&amp;</div><div class='add'>+        LIKELY(rb_method_basic_definition_p(CLASS_OF(x), idMINUS))) {</div><div class='add'>+	return x;</div><div class='add'>+    }</div><div class='add'>+    return rb_funcall(x, '-', 1, y);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+inline static VALUE</div><div class='add'>+f_abs(VALUE x)</div><div class='add'>+{</div><div class='add'>+    if (RB_INTEGER_TYPE_P(x)) {</div><div class='add'>+        return rb_int_abs(x);</div><div class='add'>+    }</div><div class='add'>+    else if (RB_FLOAT_TYPE_P(x)) {</div><div class='add'>+        return rb_float_abs(x);</div><div class='add'>+    }</div><div class='add'>+    else if (RB_TYPE_P(x, T_RATIONAL)) {</div><div class='add'>+        return rb_rational_abs(x);</div><div class='add'>+    }</div><div class='add'>+    else if (RB_TYPE_P(x, T_COMPLEX)) {</div><div class='add'>+        return rb_complex_abs(x);</div><div class='add'>+    }</div><div class='add'>+    return rb_funcall(x, id_abs, 0);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE numeric_arg(VALUE self);</div><div class='add'>+static VALUE float_arg(VALUE self);</div><div class='add'>+</div><div class='add'>+inline static VALUE</div><div class='add'>+f_arg(VALUE x)</div><div class='add'>+{</div><div class='add'>+    if (RB_INTEGER_TYPE_P(x)) {</div><div class='add'>+        return numeric_arg(x);</div><div class='add'>+    }</div><div class='add'>+    else if (RB_FLOAT_TYPE_P(x)) {</div><div class='add'>+        return float_arg(x);</div><div class='add'>+    }</div><div class='add'>+    else if (RB_TYPE_P(x, T_RATIONAL)) {</div><div class='add'>+        return numeric_arg(x);</div><div class='add'>+    }</div><div class='add'>+    else if (RB_TYPE_P(x, T_COMPLEX)) {</div><div class='add'>+        return rb_complex_arg(x);</div><div class='add'>+    }</div><div class='add'>+    return rb_funcall(x, id_arg, 0);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+inline static VALUE</div><div class='add'>+f_numerator(VALUE x)</div><div class='add'>+{</div><div class='add'>+    if (RB_TYPE_P(x, T_RATIONAL)) {</div><div class='add'>+        return RRATIONAL(x)-&gt;num;</div><div class='add'>+    }</div><div class='add'>+    if (RB_FLOAT_TYPE_P(x)) {</div><div class='add'>+        return rb_float_numerator(x);</div><div class='add'>+    }</div><div class='add'>+    return x;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+inline static VALUE</div><div class='add'>+f_denominator(VALUE x)</div><div class='add'>+{</div><div class='add'>+    if (RB_TYPE_P(x, T_RATIONAL)) {</div><div class='add'>+        return RRATIONAL(x)-&gt;den;</div><div class='add'>+    }</div><div class='add'>+    if (RB_FLOAT_TYPE_P(x)) {</div><div class='add'>+        return rb_float_denominator(x);</div><div class='add'>+    }</div><div class='add'>+    return INT2FIX(1);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+inline static VALUE</div><div class='add'>+f_negate(VALUE x)</div><div class='add'>+{</div><div class='add'>+    if (RB_INTEGER_TYPE_P(x)) {</div><div class='add'>+        return rb_int_uminus(x);</div><div class='add'>+    }</div><div class='add'>+    else if (RB_FLOAT_TYPE_P(x)) {</div><div class='add'>+        return rb_float_uminus(x);</div><div class='add'>+    }</div><div class='add'>+    else if (RB_TYPE_P(x, T_RATIONAL)) {</div><div class='add'>+        return rb_rational_uminus(x);</div><div class='add'>+    }</div><div class='add'>+    else if (RB_TYPE_P(x, T_COMPLEX)) {</div><div class='add'>+        return rb_complex_uminus(x);</div><div class='add'>+    }</div><div class='add'>+    return rb_funcall(x, id_negate, 0);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static bool nucomp_real_p(VALUE self);</div><div class='add'>+</div><div class='add'>+static inline bool</div><div class='add'>+f_real_p(VALUE x)</div><div class='add'>+{</div><div class='add'>+    if (RB_INTEGER_TYPE_P(x)) {</div><div class='add'>+        return true;</div><div class='add'>+    }</div><div class='add'>+    else if (RB_FLOAT_TYPE_P(x)) {</div><div class='add'>+        return true;</div><div class='add'>+    }</div><div class='add'>+    else if (RB_TYPE_P(x, T_RATIONAL)) {</div><div class='add'>+        return true;</div><div class='add'>+    }</div><div class='add'>+    else if (RB_TYPE_P(x, T_COMPLEX)) {</div><div class='add'>+        return nucomp_real_p(x);</div><div class='add'>+    }</div><div class='add'>+    return rb_funcall(x, id_real_p, 0);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+inline static VALUE</div><div class='add'>+f_to_i(VALUE x)</div><div class='add'>+{</div><div class='add'>+    if (RB_TYPE_P(x, T_STRING))</div><div class='add'>+	return rb_str_to_inum(x, 10, 0);</div><div class='add'>+    return rb_funcall(x, id_to_i, 0);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+inline static VALUE</div><div class='add'>+f_to_f(VALUE x)</div><div class='add'>+{</div><div class='add'>+    if (RB_TYPE_P(x, T_STRING))</div><div class='add'>+	return DBL2NUM(rb_str_to_dbl(x, 0));</div><div class='add'>+    return rb_funcall(x, id_to_f, 0);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+fun1(to_r)</div><div class='add'>+</div><div class='add'>+inline static int</div><div class='add'>+f_eqeq_p(VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    if (FIXNUM_P(x) &amp;&amp; FIXNUM_P(y))</div><div class='add'>+	return x == y;</div><div class='add'>+    else if (RB_FLOAT_TYPE_P(x) || RB_FLOAT_TYPE_P(y))</div><div class='add'>+	return NUM2DBL(x) == NUM2DBL(y);</div><div class='add'>+    return (int)rb_equal(x, y);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+fun2(expt)</div><div class='add'>+fun2(fdiv)</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+f_quo(VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    if (RB_INTEGER_TYPE_P(x))</div><div class='add'>+        return rb_numeric_quo(x, y);</div><div class='add'>+    if (RB_FLOAT_TYPE_P(x))</div><div class='add'>+        return rb_float_div(x, y);</div><div class='add'>+    if (RB_TYPE_P(x, T_RATIONAL))</div><div class='add'>+        return rb_numeric_quo(x, y);</div><div class='add'>+</div><div class='add'>+    return rb_funcallv(x, id_quo, 1, &amp;y);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+inline static int</div><div class='add'>+f_negative_p(VALUE x)</div><div class='add'>+{</div><div class='add'>+    if (RB_INTEGER_TYPE_P(x))</div><div class='add'>+        return INT_NEGATIVE_P(x);</div><div class='add'>+    else if (RB_FLOAT_TYPE_P(x))</div><div class='add'>+        return RFLOAT_VALUE(x) &lt; 0.0;</div><div class='add'>+    else if (RB_TYPE_P(x, T_RATIONAL))</div><div class='add'>+        return INT_NEGATIVE_P(RRATIONAL(x)-&gt;num);</div><div class='add'>+    return rb_num_negative_p(x);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#define f_positive_p(x) (!f_negative_p(x))</div><div class='add'>+</div><div class='add'>+inline static int</div><div class='add'>+f_zero_p(VALUE x)</div><div class='add'>+{</div><div class='add'>+    if (RB_FLOAT_TYPE_P(x)) {</div><div class='add'>+        return FLOAT_ZERO_P(x);</div><div class='add'>+    }</div><div class='add'>+    else if (RB_INTEGER_TYPE_P(x)) {</div><div class='add'>+        return FIXNUM_ZERO_P(x);</div><div class='add'>+    }</div><div class='add'>+    else if (RB_TYPE_P(x, T_RATIONAL)) {</div><div class='add'>+        const VALUE num = RRATIONAL(x)-&gt;num;</div><div class='add'>+        return FIXNUM_ZERO_P(num);</div><div class='add'>+    }</div><div class='add'>+    return (int)rb_equal(x, ZERO);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#define f_nonzero_p(x) (!f_zero_p(x))</div><div class='add'>+</div><div class='add'>+VALUE rb_flo_is_finite_p(VALUE num);</div><div class='add'>+inline static int</div><div class='add'>+f_finite_p(VALUE x)</div><div class='add'>+{</div><div class='add'>+    if (RB_INTEGER_TYPE_P(x)) {</div><div class='add'>+        return TRUE;</div><div class='add'>+    }</div><div class='add'>+    else if (RB_FLOAT_TYPE_P(x)) {</div><div class='add'>+	return (int)rb_flo_is_finite_p(x);</div><div class='add'>+    }</div><div class='add'>+    else if (RB_TYPE_P(x, T_RATIONAL)) {</div><div class='add'>+	return TRUE;</div><div class='add'>+    }</div><div class='add'>+    return RTEST(rb_funcallv(x, id_finite_p, 0, 0));</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE rb_flo_is_infinite_p(VALUE num);</div><div class='add'>+inline static VALUE</div><div class='add'>+f_infinite_p(VALUE x)</div><div class='add'>+{</div><div class='add'>+    if (RB_INTEGER_TYPE_P(x)) {</div><div class='add'>+        return Qnil;</div><div class='add'>+    }</div><div class='add'>+    else if (RB_FLOAT_TYPE_P(x)) {</div><div class='add'>+	return rb_flo_is_infinite_p(x);</div><div class='add'>+    }</div><div class='add'>+    else if (RB_TYPE_P(x, T_RATIONAL)) {</div><div class='add'>+        return Qnil;</div><div class='add'>+    }</div><div class='add'>+    return rb_funcallv(x, id_infinite_p, 0, 0);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+inline static int</div><div class='add'>+f_kind_of_p(VALUE x, VALUE c)</div><div class='add'>+{</div><div class='add'>+    return (int)rb_obj_is_kind_of(x, c);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+inline static int</div><div class='add'>+k_numeric_p(VALUE x)</div><div class='add'>+{</div><div class='add'>+    return f_kind_of_p(x, rb_cNumeric);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#define k_exact_p(x) (!RB_FLOAT_TYPE_P(x))</div><div class='add'>+</div><div class='add'>+#define k_exact_zero_p(x) (k_exact_p(x) &amp;&amp; f_zero_p(x))</div><div class='add'>+</div><div class='add'>+#define get_dat1(x) \</div><div class='add'>+    struct RComplex *dat = RCOMPLEX(x)</div><div class='add'>+</div><div class='add'>+#define get_dat2(x,y) \</div><div class='add'>+    struct RComplex *adat = RCOMPLEX(x), *bdat = RCOMPLEX(y)</div><div class='add'>+</div><div class='add'>+inline static VALUE</div><div class='add'>+nucomp_s_new_internal(VALUE klass, VALUE real, VALUE imag)</div><div class='add'>+{</div><div class='add'>+    NEWOBJ_OF(obj, struct RComplex, klass, T_COMPLEX | (RGENGC_WB_PROTECTED_COMPLEX ? FL_WB_PROTECTED : 0));</div><div class='add'>+</div><div class='add'>+    RCOMPLEX_SET_REAL(obj, real);</div><div class='add'>+    RCOMPLEX_SET_IMAG(obj, imag);</div><div class='add'>+    OBJ_FREEZE_RAW((VALUE)obj);</div><div class='add'>+</div><div class='add'>+    return (VALUE)obj;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+nucomp_s_alloc(VALUE klass)</div><div class='add'>+{</div><div class='add'>+    return nucomp_s_new_internal(klass, ZERO, ZERO);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+inline static VALUE</div><div class='add'>+f_complex_new_bang1(VALUE klass, VALUE x)</div><div class='add'>+{</div><div class='add'>+    assert(!RB_TYPE_P(x, T_COMPLEX));</div><div class='add'>+    return nucomp_s_new_internal(klass, x, ZERO);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+inline static VALUE</div><div class='add'>+f_complex_new_bang2(VALUE klass, VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    assert(!RB_TYPE_P(x, T_COMPLEX));</div><div class='add'>+    assert(!RB_TYPE_P(y, T_COMPLEX));</div><div class='add'>+    return nucomp_s_new_internal(klass, x, y);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+inline static void</div><div class='add'>+nucomp_real_check(VALUE num)</div><div class='add'>+{</div><div class='add'>+    if (!RB_INTEGER_TYPE_P(num) &amp;&amp;</div><div class='add'>+	!RB_FLOAT_TYPE_P(num) &amp;&amp;</div><div class='add'>+	!RB_TYPE_P(num, T_RATIONAL)) {</div><div class='add'>+	if (!k_numeric_p(num) || !f_real_p(num))</div><div class='add'>+	    rb_raise(rb_eTypeError, "not a real");</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+inline static VALUE</div><div class='add'>+nucomp_s_canonicalize_internal(VALUE klass, VALUE real, VALUE imag)</div><div class='add'>+{</div><div class='add'>+    int complex_r, complex_i;</div><div class='add'>+    complex_r = RB_TYPE_P(real, T_COMPLEX);</div><div class='add'>+    complex_i = RB_TYPE_P(imag, T_COMPLEX);</div><div class='add'>+    if (!complex_r &amp;&amp; !complex_i) {</div><div class='add'>+	return nucomp_s_new_internal(klass, real, imag);</div><div class='add'>+    }</div><div class='add'>+    else if (!complex_r) {</div><div class='add'>+	get_dat1(imag);</div><div class='add'>+</div><div class='add'>+	return nucomp_s_new_internal(klass,</div><div class='add'>+				     f_sub(real, dat-&gt;imag),</div><div class='add'>+				     f_add(ZERO, dat-&gt;real));</div><div class='add'>+    }</div><div class='add'>+    else if (!complex_i) {</div><div class='add'>+	get_dat1(real);</div><div class='add'>+</div><div class='add'>+	return nucomp_s_new_internal(klass,</div><div class='add'>+				     dat-&gt;real,</div><div class='add'>+				     f_add(dat-&gt;imag, imag));</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	get_dat2(real, imag);</div><div class='add'>+</div><div class='add'>+	return nucomp_s_new_internal(klass,</div><div class='add'>+				     f_sub(adat-&gt;real, bdat-&gt;imag),</div><div class='add'>+				     f_add(adat-&gt;imag, bdat-&gt;real));</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    Complex.rect(real[, imag])         -&gt;  complex</div><div class='add'>+ *    Complex.rectangular(real[, imag])  -&gt;  complex</div><div class='add'>+ *</div><div class='add'>+ * Returns a complex object which denotes the given rectangular form.</div><div class='add'>+ *</div><div class='add'>+ *    Complex.rectangular(1, 2)  #=&gt; (1+2i)</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+nucomp_s_new(int argc, VALUE *argv, VALUE klass)</div><div class='add'>+{</div><div class='add'>+    VALUE real, imag;</div><div class='add'>+</div><div class='add'>+    switch (rb_scan_args(argc, argv, "11", &amp;real, &amp;imag)) {</div><div class='add'>+      case 1:</div><div class='add'>+	nucomp_real_check(real);</div><div class='add'>+	imag = ZERO;</div><div class='add'>+	break;</div><div class='add'>+      default:</div><div class='add'>+	nucomp_real_check(real);</div><div class='add'>+	nucomp_real_check(imag);</div><div class='add'>+	break;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return nucomp_s_canonicalize_internal(klass, real, imag);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+inline static VALUE</div><div class='add'>+f_complex_new2(VALUE klass, VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    assert(!RB_TYPE_P(x, T_COMPLEX));</div><div class='add'>+    return nucomp_s_canonicalize_internal(klass, x, y);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE nucomp_convert(VALUE klass, VALUE a1, VALUE a2, int raise);</div><div class='add'>+static VALUE nucomp_s_convert(int argc, VALUE *argv, VALUE klass);</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    Complex(x[, y], exception: true)  -&gt;  numeric or nil</div><div class='add'>+ *</div><div class='add'>+ * Returns x+i*y;</div><div class='add'>+ *</div><div class='add'>+ *    Complex(1, 2)    #=&gt; (1+2i)</div><div class='add'>+ *    Complex('1+2i')  #=&gt; (1+2i)</div><div class='add'>+ *    Complex(nil)     #=&gt; TypeError</div><div class='add'>+ *    Complex(1, nil)  #=&gt; TypeError</div><div class='add'>+ *</div><div class='add'>+ *    Complex(1, nil, exception: false)  #=&gt; nil</div><div class='add'>+ *    Complex('1+2', exception: false)   #=&gt; nil</div><div class='add'>+ *</div><div class='add'>+ * Syntax of string form:</div><div class='add'>+ *</div><div class='add'>+ *   string form = extra spaces , complex , extra spaces ;</div><div class='add'>+ *   complex = real part | [ sign ] , imaginary part</div><div class='add'>+ *           | real part , sign , imaginary part</div><div class='add'>+ *           | rational , "@" , rational ;</div><div class='add'>+ *   real part = rational ;</div><div class='add'>+ *   imaginary part = imaginary unit | unsigned rational , imaginary unit ;</div><div class='add'>+ *   rational = [ sign ] , unsigned rational ;</div><div class='add'>+ *   unsigned rational = numerator | numerator , "/" , denominator ;</div><div class='add'>+ *   numerator = integer part | fractional part | integer part , fractional part ;</div><div class='add'>+ *   denominator = digits ;</div><div class='add'>+ *   integer part = digits ;</div><div class='add'>+ *   fractional part = "." , digits , [ ( "e" | "E" ) , [ sign ] , digits ] ;</div><div class='add'>+ *   imaginary unit = "i" | "I" | "j" | "J" ;</div><div class='add'>+ *   sign = "-" | "+" ;</div><div class='add'>+ *   digits = digit , { digit | "_" , digit };</div><div class='add'>+ *   digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" ;</div><div class='add'>+ *   extra spaces = ? \s* ? ;</div><div class='add'>+ *</div><div class='add'>+ * See String#to_c.</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+nucomp_f_complex(int argc, VALUE *argv, VALUE klass)</div><div class='add'>+{</div><div class='add'>+    VALUE a1, a2, opts = Qnil;</div><div class='add'>+    int raise = TRUE;</div><div class='add'>+</div><div class='add'>+    if (rb_scan_args(argc, argv, "11:", &amp;a1, &amp;a2, &amp;opts) == 1) {</div><div class='add'>+        a2 = Qundef;</div><div class='add'>+    }</div><div class='add'>+    if (!NIL_P(opts)) {</div><div class='add'>+        raise = rb_opts_exception_p(opts, raise);</div><div class='add'>+    }</div><div class='add'>+    if (argc &gt; 0 &amp;&amp; CLASS_OF(a1) == rb_cComplex &amp;&amp; a2 == Qundef) {</div><div class='add'>+        return a1;</div><div class='add'>+    }</div><div class='add'>+    return nucomp_convert(rb_cComplex, a1, a2, raise);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#define imp1(n) \</div><div class='add'>+inline static VALUE \</div><div class='add'>+m_##n##_bang(VALUE x)\</div><div class='add'>+{\</div><div class='add'>+    return rb_math_##n(x);\</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+imp1(cos)</div><div class='add'>+imp1(cosh)</div><div class='add'>+imp1(exp)</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+m_log_bang(VALUE x)</div><div class='add'>+{</div><div class='add'>+    return rb_math_log(1, &amp;x);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+imp1(sin)</div><div class='add'>+imp1(sinh)</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+m_cos(VALUE x)</div><div class='add'>+{</div><div class='add'>+    if (!RB_TYPE_P(x, T_COMPLEX))</div><div class='add'>+	return m_cos_bang(x);</div><div class='add'>+    {</div><div class='add'>+	get_dat1(x);</div><div class='add'>+	return f_complex_new2(rb_cComplex,</div><div class='add'>+			      f_mul(m_cos_bang(dat-&gt;real),</div><div class='add'>+				    m_cosh_bang(dat-&gt;imag)),</div><div class='add'>+			      f_mul(f_negate(m_sin_bang(dat-&gt;real)),</div><div class='add'>+				    m_sinh_bang(dat-&gt;imag)));</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+m_sin(VALUE x)</div><div class='add'>+{</div><div class='add'>+    if (!RB_TYPE_P(x, T_COMPLEX))</div><div class='add'>+	return m_sin_bang(x);</div><div class='add'>+    {</div><div class='add'>+	get_dat1(x);</div><div class='add'>+	return f_complex_new2(rb_cComplex,</div><div class='add'>+			      f_mul(m_sin_bang(dat-&gt;real),</div><div class='add'>+				    m_cosh_bang(dat-&gt;imag)),</div><div class='add'>+			      f_mul(m_cos_bang(dat-&gt;real),</div><div class='add'>+				    m_sinh_bang(dat-&gt;imag)));</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+f_complex_polar(VALUE klass, VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    assert(!RB_TYPE_P(x, T_COMPLEX));</div><div class='add'>+    assert(!RB_TYPE_P(y, T_COMPLEX));</div><div class='add'>+    if (f_zero_p(x) || f_zero_p(y)) {</div><div class='add'>+	return nucomp_s_new_internal(klass, x, RFLOAT_0);</div><div class='add'>+    }</div><div class='add'>+    if (RB_FLOAT_TYPE_P(y)) {</div><div class='add'>+	const double arg = RFLOAT_VALUE(y);</div><div class='add'>+	if (arg == M_PI) {</div><div class='add'>+	    x = f_negate(x);</div><div class='add'>+	    y = RFLOAT_0;</div><div class='add'>+	}</div><div class='add'>+	else if (arg == M_PI_2) {</div><div class='add'>+	    y = x;</div><div class='add'>+	    x = RFLOAT_0;</div><div class='add'>+	}</div><div class='add'>+	else if (arg == M_PI_2+M_PI) {</div><div class='add'>+	    y = f_negate(x);</div><div class='add'>+	    x = RFLOAT_0;</div><div class='add'>+	}</div><div class='add'>+	else if (RB_FLOAT_TYPE_P(x)) {</div><div class='add'>+	    const double abs = RFLOAT_VALUE(x);</div><div class='add'>+	    const double real = abs * cos(arg), imag = abs * sin(arg);</div><div class='add'>+	    x = DBL2NUM(real);</div><div class='add'>+	    y = DBL2NUM(imag);</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+            const double ax = sin(arg), ay = cos(arg);</div><div class='add'>+            y = f_mul(x, DBL2NUM(ax));</div><div class='add'>+            x = f_mul(x, DBL2NUM(ay));</div><div class='add'>+	}</div><div class='add'>+	return nucomp_s_new_internal(klass, x, y);</div><div class='add'>+    }</div><div class='add'>+    return nucomp_s_canonicalize_internal(klass,</div><div class='add'>+					  f_mul(x, m_cos(y)),</div><div class='add'>+					  f_mul(x, m_sin(y)));</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#ifdef HAVE___COSPI</div><div class='add'>+# define cospi(x) __cospi(x)</div><div class='add'>+#else</div><div class='add'>+# define cospi(x) cos((x) * M_PI)</div><div class='add'>+#endif</div><div class='add'>+#ifdef HAVE___SINPI</div><div class='add'>+# define sinpi(x) __sinpi(x)</div><div class='add'>+#else</div><div class='add'>+# define sinpi(x) sin((x) * M_PI)</div><div class='add'>+#endif</div><div class='add'>+/* returns a Complex or Float of ang*PI-rotated abs */</div><div class='add'>+VALUE</div><div class='add'>+rb_dbl_complex_new_polar_pi(double abs, double ang)</div><div class='add'>+{</div><div class='add'>+    double fi;</div><div class='add'>+    const double fr = modf(ang, &amp;fi);</div><div class='add'>+    int pos = fr == +0.5;</div><div class='add'>+</div><div class='add'>+    if (pos || fr == -0.5) {</div><div class='add'>+	if ((modf(fi / 2.0, &amp;fi) != fr) ^ pos) abs = -abs;</div><div class='add'>+	return rb_complex_new(RFLOAT_0, DBL2NUM(abs));</div><div class='add'>+    }</div><div class='add'>+    else if (fr == 0.0) {</div><div class='add'>+	if (modf(fi / 2.0, &amp;fi) != 0.0) abs = -abs;</div><div class='add'>+	return DBL2NUM(abs);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        const double real = abs * cospi(ang), imag = abs * sinpi(ang);</div><div class='add'>+        return rb_complex_new(DBL2NUM(real), DBL2NUM(imag));</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    Complex.polar(abs[, arg])  -&gt;  complex</div><div class='add'>+ *</div><div class='add'>+ * Returns a complex object which denotes the given polar form.</div><div class='add'>+ *</div><div class='add'>+ *    Complex.polar(3, 0)            #=&gt; (3.0+0.0i)</div><div class='add'>+ *    Complex.polar(3, Math::PI/2)   #=&gt; (1.836909530733566e-16+3.0i)</div><div class='add'>+ *    Complex.polar(3, Math::PI)     #=&gt; (-3.0+3.673819061467132e-16i)</div><div class='add'>+ *    Complex.polar(3, -Math::PI/2)  #=&gt; (1.836909530733566e-16-3.0i)</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+nucomp_s_polar(int argc, VALUE *argv, VALUE klass)</div><div class='add'>+{</div><div class='add'>+    VALUE abs, arg;</div><div class='add'>+</div><div class='add'>+    switch (rb_scan_args(argc, argv, "11", &amp;abs, &amp;arg)) {</div><div class='add'>+      case 1:</div><div class='add'>+	nucomp_real_check(abs);</div><div class='add'>+	return nucomp_s_new_internal(klass, abs, ZERO);</div><div class='add'>+      default:</div><div class='add'>+	nucomp_real_check(abs);</div><div class='add'>+	nucomp_real_check(arg);</div><div class='add'>+	break;</div><div class='add'>+    }</div><div class='add'>+    if (RB_TYPE_P(abs, T_COMPLEX)) {</div><div class='add'>+        get_dat1(abs);</div><div class='add'>+        abs = dat-&gt;real;</div><div class='add'>+    }</div><div class='add'>+    if (RB_TYPE_P(arg, T_COMPLEX)) {</div><div class='add'>+        get_dat1(arg);</div><div class='add'>+        arg = dat-&gt;real;</div><div class='add'>+    }</div><div class='add'>+    return f_complex_polar(klass, abs, arg);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    cmp.real  -&gt;  real</div><div class='add'>+ *</div><div class='add'>+ * Returns the real part.</div><div class='add'>+ *</div><div class='add'>+ *    Complex(7).real      #=&gt; 7</div><div class='add'>+ *    Complex(9, -4).real  #=&gt; 9</div><div class='add'>+ */</div><div class='add'>+VALUE</div><div class='add'>+rb_complex_real(VALUE self)</div><div class='add'>+{</div><div class='add'>+    get_dat1(self);</div><div class='add'>+    return dat-&gt;real;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    cmp.imag       -&gt;  real</div><div class='add'>+ *    cmp.imaginary  -&gt;  real</div><div class='add'>+ *</div><div class='add'>+ * Returns the imaginary part.</div><div class='add'>+ *</div><div class='add'>+ *    Complex(7).imaginary      #=&gt; 0</div><div class='add'>+ *    Complex(9, -4).imaginary  #=&gt; -4</div><div class='add'>+ */</div><div class='add'>+VALUE</div><div class='add'>+rb_complex_imag(VALUE self)</div><div class='add'>+{</div><div class='add'>+    get_dat1(self);</div><div class='add'>+    return dat-&gt;imag;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    -cmp  -&gt;  complex</div><div class='add'>+ *</div><div class='add'>+ * Returns negation of the value.</div><div class='add'>+ *</div><div class='add'>+ *    -Complex(1, 2)  #=&gt; (-1-2i)</div><div class='add'>+ */</div><div class='add'>+VALUE</div><div class='add'>+rb_complex_uminus(VALUE self)</div><div class='add'>+{</div><div class='add'>+    get_dat1(self);</div><div class='add'>+    return f_complex_new2(CLASS_OF(self),</div><div class='add'>+			  f_negate(dat-&gt;real), f_negate(dat-&gt;imag));</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    cmp + numeric  -&gt;  complex</div><div class='add'>+ *</div><div class='add'>+ * Performs addition.</div><div class='add'>+ *</div><div class='add'>+ *    Complex(2, 3)  + Complex(2, 3)   #=&gt; (4+6i)</div><div class='add'>+ *    Complex(900)   + Complex(1)      #=&gt; (901+0i)</div><div class='add'>+ *    Complex(-2, 9) + Complex(-9, 2)  #=&gt; (-11+11i)</div><div class='add'>+ *    Complex(9, 8)  + 4               #=&gt; (13+8i)</div><div class='add'>+ *    Complex(20, 9) + 9.8             #=&gt; (29.8+9i)</div><div class='add'>+ */</div><div class='add'>+VALUE</div><div class='add'>+rb_complex_plus(VALUE self, VALUE other)</div><div class='add'>+{</div><div class='add'>+    if (RB_TYPE_P(other, T_COMPLEX)) {</div><div class='add'>+	VALUE real, imag;</div><div class='add'>+</div><div class='add'>+	get_dat2(self, other);</div><div class='add'>+</div><div class='add'>+	real = f_add(adat-&gt;real, bdat-&gt;real);</div><div class='add'>+	imag = f_add(adat-&gt;imag, bdat-&gt;imag);</div><div class='add'>+</div><div class='add'>+	return f_complex_new2(CLASS_OF(self), real, imag);</div><div class='add'>+    }</div><div class='add'>+    if (k_numeric_p(other) &amp;&amp; f_real_p(other)) {</div><div class='add'>+	get_dat1(self);</div><div class='add'>+</div><div class='add'>+	return f_complex_new2(CLASS_OF(self),</div><div class='add'>+			      f_add(dat-&gt;real, other), dat-&gt;imag);</div><div class='add'>+    }</div><div class='add'>+    return rb_num_coerce_bin(self, other, '+');</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    cmp - numeric  -&gt;  complex</div><div class='add'>+ *</div><div class='add'>+ * Performs subtraction.</div><div class='add'>+ *</div><div class='add'>+ *    Complex(2, 3)  - Complex(2, 3)   #=&gt; (0+0i)</div><div class='add'>+ *    Complex(900)   - Complex(1)      #=&gt; (899+0i)</div><div class='add'>+ *    Complex(-2, 9) - Complex(-9, 2)  #=&gt; (7+7i)</div><div class='add'>+ *    Complex(9, 8)  - 4               #=&gt; (5+8i)</div><div class='add'>+ *    Complex(20, 9) - 9.8             #=&gt; (10.2+9i)</div><div class='add'>+ */</div><div class='add'>+VALUE</div><div class='add'>+rb_complex_minus(VALUE self, VALUE other)</div><div class='add'>+{</div><div class='add'>+    if (RB_TYPE_P(other, T_COMPLEX)) {</div><div class='add'>+	VALUE real, imag;</div><div class='add'>+</div><div class='add'>+	get_dat2(self, other);</div><div class='add'>+</div><div class='add'>+	real = f_sub(adat-&gt;real, bdat-&gt;real);</div><div class='add'>+	imag = f_sub(adat-&gt;imag, bdat-&gt;imag);</div><div class='add'>+</div><div class='add'>+	return f_complex_new2(CLASS_OF(self), real, imag);</div><div class='add'>+    }</div><div class='add'>+    if (k_numeric_p(other) &amp;&amp; f_real_p(other)) {</div><div class='add'>+	get_dat1(self);</div><div class='add'>+</div><div class='add'>+	return f_complex_new2(CLASS_OF(self),</div><div class='add'>+			      f_sub(dat-&gt;real, other), dat-&gt;imag);</div><div class='add'>+    }</div><div class='add'>+    return rb_num_coerce_bin(self, other, '-');</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+safe_mul(VALUE a, VALUE b, int az, int bz)</div><div class='add'>+{</div><div class='add'>+    double v;</div><div class='add'>+    if (!az &amp;&amp; bz &amp;&amp; RB_FLOAT_TYPE_P(a) &amp;&amp; (v = RFLOAT_VALUE(a), !isnan(v))) {</div><div class='add'>+	a = signbit(v) ? DBL2NUM(-1.0) : DBL2NUM(1.0);</div><div class='add'>+    }</div><div class='add'>+    if (!bz &amp;&amp; az &amp;&amp; RB_FLOAT_TYPE_P(b) &amp;&amp; (v = RFLOAT_VALUE(b), !isnan(v))) {</div><div class='add'>+	b = signbit(v) ? DBL2NUM(-1.0) : DBL2NUM(1.0);</div><div class='add'>+    }</div><div class='add'>+    return f_mul(a, b);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+comp_mul(VALUE areal, VALUE aimag, VALUE breal, VALUE bimag, VALUE *real, VALUE *imag)</div><div class='add'>+{</div><div class='add'>+    int arzero = f_zero_p(areal);</div><div class='add'>+    int aizero = f_zero_p(aimag);</div><div class='add'>+    int brzero = f_zero_p(breal);</div><div class='add'>+    int bizero = f_zero_p(bimag);</div><div class='add'>+    *real = f_sub(safe_mul(areal, breal, arzero, brzero),</div><div class='add'>+                  safe_mul(aimag, bimag, aizero, bizero));</div><div class='add'>+    *imag = f_add(safe_mul(areal, bimag, arzero, bizero),</div><div class='add'>+                  safe_mul(aimag, breal, aizero, brzero));</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    cmp * numeric  -&gt;  complex</div><div class='add'>+ *</div><div class='add'>+ * Performs multiplication.</div><div class='add'>+ *</div><div class='add'>+ *    Complex(2, 3)  * Complex(2, 3)   #=&gt; (-5+12i)</div><div class='add'>+ *    Complex(900)   * Complex(1)      #=&gt; (900+0i)</div><div class='add'>+ *    Complex(-2, 9) * Complex(-9, 2)  #=&gt; (0-85i)</div><div class='add'>+ *    Complex(9, 8)  * 4               #=&gt; (36+32i)</div><div class='add'>+ *    Complex(20, 9) * 9.8             #=&gt; (196.0+88.2i)</div><div class='add'>+ */</div><div class='add'>+VALUE</div><div class='add'>+rb_complex_mul(VALUE self, VALUE other)</div><div class='add'>+{</div><div class='add'>+    if (RB_TYPE_P(other, T_COMPLEX)) {</div><div class='add'>+	VALUE real, imag;</div><div class='add'>+	get_dat2(self, other);</div><div class='add'>+</div><div class='add'>+        comp_mul(adat-&gt;real, adat-&gt;imag, bdat-&gt;real, bdat-&gt;imag, &amp;real, &amp;imag);</div><div class='add'>+</div><div class='add'>+	return f_complex_new2(CLASS_OF(self), real, imag);</div><div class='add'>+    }</div><div class='add'>+    if (k_numeric_p(other) &amp;&amp; f_real_p(other)) {</div><div class='add'>+	get_dat1(self);</div><div class='add'>+</div><div class='add'>+	return f_complex_new2(CLASS_OF(self),</div><div class='add'>+			      f_mul(dat-&gt;real, other),</div><div class='add'>+			      f_mul(dat-&gt;imag, other));</div><div class='add'>+    }</div><div class='add'>+    return rb_num_coerce_bin(self, other, '*');</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+inline static VALUE</div><div class='add'>+f_divide(VALUE self, VALUE other,</div><div class='add'>+	 VALUE (*func)(VALUE, VALUE), ID id)</div><div class='add'>+{</div><div class='add'>+    if (RB_TYPE_P(other, T_COMPLEX)) {</div><div class='add'>+        VALUE r, n, x, y;</div><div class='add'>+	int flo;</div><div class='add'>+	get_dat2(self, other);</div><div class='add'>+</div><div class='add'>+	flo = (RB_FLOAT_TYPE_P(adat-&gt;real) || RB_FLOAT_TYPE_P(adat-&gt;imag) ||</div><div class='add'>+	       RB_FLOAT_TYPE_P(bdat-&gt;real) || RB_FLOAT_TYPE_P(bdat-&gt;imag));</div><div class='add'>+</div><div class='add'>+	if (f_gt_p(f_abs(bdat-&gt;real), f_abs(bdat-&gt;imag))) {</div><div class='add'>+	    r = (*func)(bdat-&gt;imag, bdat-&gt;real);</div><div class='add'>+	    n = f_mul(bdat-&gt;real, f_add(ONE, f_mul(r, r)));</div><div class='add'>+            x = (*func)(f_add(adat-&gt;real, f_mul(adat-&gt;imag, r)), n);</div><div class='add'>+            y = (*func)(f_sub(adat-&gt;imag, f_mul(adat-&gt;real, r)), n);</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    r = (*func)(bdat-&gt;real, bdat-&gt;imag);</div><div class='add'>+	    n = f_mul(bdat-&gt;imag, f_add(ONE, f_mul(r, r)));</div><div class='add'>+            x = (*func)(f_add(f_mul(adat-&gt;real, r), adat-&gt;imag), n);</div><div class='add'>+            y = (*func)(f_sub(f_mul(adat-&gt;imag, r), adat-&gt;real), n);</div><div class='add'>+	}</div><div class='add'>+        if (!flo) {</div><div class='add'>+            x = rb_rational_canonicalize(x);</div><div class='add'>+            y = rb_rational_canonicalize(y);</div><div class='add'>+        }</div><div class='add'>+        return f_complex_new2(CLASS_OF(self), x, y);</div><div class='add'>+    }</div><div class='add'>+    if (k_numeric_p(other) &amp;&amp; f_real_p(other)) {</div><div class='add'>+        VALUE x, y;</div><div class='add'>+	get_dat1(self);</div><div class='add'>+        x = rb_rational_canonicalize((*func)(dat-&gt;real, other));</div><div class='add'>+        y = rb_rational_canonicalize((*func)(dat-&gt;imag, other));</div><div class='add'>+        return f_complex_new2(CLASS_OF(self), x, y);</div><div class='add'>+    }</div><div class='add'>+    return rb_num_coerce_bin(self, other, id);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#define rb_raise_zerodiv() rb_raise(rb_eZeroDivError, "divided by 0")</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    cmp / numeric     -&gt;  complex</div><div class='add'>+ *    cmp.quo(numeric)  -&gt;  complex</div><div class='add'>+ *</div><div class='add'>+ * Performs division.</div><div class='add'>+ *</div><div class='add'>+ *    Complex(2, 3)  / Complex(2, 3)   #=&gt; ((1/1)+(0/1)*i)</div><div class='add'>+ *    Complex(900)   / Complex(1)      #=&gt; ((900/1)+(0/1)*i)</div><div class='add'>+ *    Complex(-2, 9) / Complex(-9, 2)  #=&gt; ((36/85)-(77/85)*i)</div><div class='add'>+ *    Complex(9, 8)  / 4               #=&gt; ((9/4)+(2/1)*i)</div><div class='add'>+ *    Complex(20, 9) / 9.8             #=&gt; (2.0408163265306123+0.9183673469387754i)</div><div class='add'>+ */</div><div class='add'>+VALUE</div><div class='add'>+rb_complex_div(VALUE self, VALUE other)</div><div class='add'>+{</div><div class='add'>+    return f_divide(self, other, f_quo, id_quo);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#define nucomp_quo rb_complex_div</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    cmp.fdiv(numeric)  -&gt;  complex</div><div class='add'>+ *</div><div class='add'>+ * Performs division as each part is a float, never returns a float.</div><div class='add'>+ *</div><div class='add'>+ *    Complex(11, 22).fdiv(3)  #=&gt; (3.6666666666666665+7.333333333333333i)</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+nucomp_fdiv(VALUE self, VALUE other)</div><div class='add'>+{</div><div class='add'>+    return f_divide(self, other, f_fdiv, id_fdiv);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+inline static VALUE</div><div class='add'>+f_reciprocal(VALUE x)</div><div class='add'>+{</div><div class='add'>+    return f_quo(ONE, x);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    cmp ** numeric  -&gt;  complex</div><div class='add'>+ *</div><div class='add'>+ * Performs exponentiation.</div><div class='add'>+ *</div><div class='add'>+ *    Complex('i') ** 2              #=&gt; (-1+0i)</div><div class='add'>+ *    Complex(-8) ** Rational(1, 3)  #=&gt; (1.0000000000000002+1.7320508075688772i)</div><div class='add'>+ */</div><div class='add'>+VALUE</div><div class='add'>+rb_complex_pow(VALUE self, VALUE other)</div><div class='add'>+{</div><div class='add'>+    if (k_numeric_p(other) &amp;&amp; k_exact_zero_p(other))</div><div class='add'>+	return f_complex_new_bang1(CLASS_OF(self), ONE);</div><div class='add'>+</div><div class='add'>+    if (RB_TYPE_P(other, T_RATIONAL) &amp;&amp; RRATIONAL(other)-&gt;den == LONG2FIX(1))</div><div class='add'>+	other = RRATIONAL(other)-&gt;num; /* c14n */</div><div class='add'>+</div><div class='add'>+    if (RB_TYPE_P(other, T_COMPLEX)) {</div><div class='add'>+	get_dat1(other);</div><div class='add'>+</div><div class='add'>+	if (k_exact_zero_p(dat-&gt;imag))</div><div class='add'>+	    other = dat-&gt;real; /* c14n */</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (RB_TYPE_P(other, T_COMPLEX)) {</div><div class='add'>+	VALUE r, theta, nr, ntheta;</div><div class='add'>+</div><div class='add'>+	get_dat1(other);</div><div class='add'>+</div><div class='add'>+	r = f_abs(self);</div><div class='add'>+	theta = f_arg(self);</div><div class='add'>+</div><div class='add'>+	nr = m_exp_bang(f_sub(f_mul(dat-&gt;real, m_log_bang(r)),</div><div class='add'>+			      f_mul(dat-&gt;imag, theta)));</div><div class='add'>+	ntheta = f_add(f_mul(theta, dat-&gt;real),</div><div class='add'>+		       f_mul(dat-&gt;imag, m_log_bang(r)));</div><div class='add'>+	return f_complex_polar(CLASS_OF(self), nr, ntheta);</div><div class='add'>+    }</div><div class='add'>+    if (FIXNUM_P(other)) {</div><div class='add'>+        long n = FIX2LONG(other);</div><div class='add'>+        if (n == 0) {</div><div class='add'>+            return nucomp_s_new_internal(CLASS_OF(self), ONE, ZERO);</div><div class='add'>+        }</div><div class='add'>+        if (n &lt; 0) {</div><div class='add'>+            self = f_reciprocal(self);</div><div class='add'>+            other = rb_int_uminus(other);</div><div class='add'>+            n = -n;</div><div class='add'>+        }</div><div class='add'>+        {</div><div class='add'>+            get_dat1(self);</div><div class='add'>+            VALUE xr = dat-&gt;real, xi = dat-&gt;imag, zr = xr, zi = xi;</div><div class='add'>+</div><div class='add'>+            if (f_zero_p(xi)) {</div><div class='add'>+                zr = rb_num_pow(zr, other);</div><div class='add'>+            }</div><div class='add'>+            else if (f_zero_p(xr)) {</div><div class='add'>+                zi = rb_num_pow(zi, other);</div><div class='add'>+                if (n &amp; 2) zi = f_negate(zi);</div><div class='add'>+                if (!(n &amp; 1)) {</div><div class='add'>+                    VALUE tmp = zr;</div><div class='add'>+                    zr = zi;</div><div class='add'>+                    zi = tmp;</div><div class='add'>+                }</div><div class='add'>+            }</div><div class='add'>+            else {</div><div class='add'>+                while (--n) {</div><div class='add'>+                    long q, r;</div><div class='add'>+</div><div class='add'>+                    for (; q = n / 2, r = n % 2, r == 0; n = q) {</div><div class='add'>+                        VALUE tmp = f_sub(f_mul(xr, xr), f_mul(xi, xi));</div><div class='add'>+                        xi = f_mul(f_mul(TWO, xr), xi);</div><div class='add'>+                        xr = tmp;</div><div class='add'>+                    }</div><div class='add'>+                    comp_mul(zr, zi, xr, xi, &amp;zr, &amp;zi);</div><div class='add'>+                }</div><div class='add'>+            }</div><div class='add'>+            return nucomp_s_new_internal(CLASS_OF(self), zr, zi);</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    if (k_numeric_p(other) &amp;&amp; f_real_p(other)) {</div><div class='add'>+	VALUE r, theta;</div><div class='add'>+</div><div class='add'>+	if (RB_TYPE_P(other, T_BIGNUM))</div><div class='add'>+	    rb_warn("in a**b, b may be too big");</div><div class='add'>+</div><div class='add'>+	r = f_abs(self);</div><div class='add'>+	theta = f_arg(self);</div><div class='add'>+</div><div class='add'>+	return f_complex_polar(CLASS_OF(self), f_expt(r, other),</div><div class='add'>+			       f_mul(theta, other));</div><div class='add'>+    }</div><div class='add'>+    return rb_num_coerce_bin(self, other, id_expt);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    cmp == object  -&gt;  true or false</div><div class='add'>+ *</div><div class='add'>+ * Returns true if cmp equals object numerically.</div><div class='add'>+ *</div><div class='add'>+ *    Complex(2, 3)  == Complex(2, 3)   #=&gt; true</div><div class='add'>+ *    Complex(5)     == 5               #=&gt; true</div><div class='add'>+ *    Complex(0)     == 0.0             #=&gt; true</div><div class='add'>+ *    Complex('1/3') == 0.33            #=&gt; false</div><div class='add'>+ *    Complex('1/2') == '1/2'           #=&gt; false</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+nucomp_eqeq_p(VALUE self, VALUE other)</div><div class='add'>+{</div><div class='add'>+    if (RB_TYPE_P(other, T_COMPLEX)) {</div><div class='add'>+	get_dat2(self, other);</div><div class='add'>+</div><div class='add'>+	return f_boolcast(f_eqeq_p(adat-&gt;real, bdat-&gt;real) &amp;&amp;</div><div class='add'>+			  f_eqeq_p(adat-&gt;imag, bdat-&gt;imag));</div><div class='add'>+    }</div><div class='add'>+    if (k_numeric_p(other) &amp;&amp; f_real_p(other)) {</div><div class='add'>+	get_dat1(self);</div><div class='add'>+</div><div class='add'>+	return f_boolcast(f_eqeq_p(dat-&gt;real, other) &amp;&amp; f_zero_p(dat-&gt;imag));</div><div class='add'>+    }</div><div class='add'>+    return f_boolcast(f_eqeq_p(other, self));</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static bool</div><div class='add'>+nucomp_real_p(VALUE self)</div><div class='add'>+{</div><div class='add'>+    get_dat1(self);</div><div class='add'>+    return(f_zero_p(dat-&gt;imag) ? true : false);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    cmp &lt;=&gt; object  -&gt;  0, 1, -1, or nil</div><div class='add'>+ *</div><div class='add'>+ * If +cmp+'s imaginary part is zero, and +object+ is also a</div><div class='add'>+ * real number (or a Complex number where the imaginary part is zero),</div><div class='add'>+ * compare the real part of +cmp+ to object.  Otherwise, return nil.</div><div class='add'>+ *</div><div class='add'>+ *    Complex(2, 3)  &lt;=&gt; Complex(2, 3)   #=&gt; nil</div><div class='add'>+ *    Complex(2, 3)  &lt;=&gt; 1               #=&gt; nil</div><div class='add'>+ *    Complex(2)     &lt;=&gt; 1               #=&gt; 1</div><div class='add'>+ *    Complex(2)     &lt;=&gt; 2               #=&gt; 0</div><div class='add'>+ *    Complex(2)     &lt;=&gt; 3               #=&gt; -1</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+nucomp_cmp(VALUE self, VALUE other)</div><div class='add'>+{</div><div class='add'>+    if (nucomp_real_p(self) &amp;&amp; k_numeric_p(other)) {</div><div class='add'>+        if (RB_TYPE_P(other, T_COMPLEX) &amp;&amp; nucomp_real_p(other)) {</div><div class='add'>+            get_dat2(self, other);</div><div class='add'>+            return rb_funcall(adat-&gt;real, idCmp, 1, bdat-&gt;real);</div><div class='add'>+        }</div><div class='add'>+        else if (f_real_p(other)) {</div><div class='add'>+            get_dat1(self);</div><div class='add'>+            return rb_funcall(dat-&gt;real, idCmp, 1, other);</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    return Qnil;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/* :nodoc: */</div><div class='add'>+static VALUE</div><div class='add'>+nucomp_coerce(VALUE self, VALUE other)</div><div class='add'>+{</div><div class='add'>+    if (RB_TYPE_P(other, T_COMPLEX))</div><div class='add'>+	return rb_assoc_new(other, self);</div><div class='add'>+    if (k_numeric_p(other) &amp;&amp; f_real_p(other))</div><div class='add'>+        return rb_assoc_new(f_complex_new_bang1(CLASS_OF(self), other), self);</div><div class='add'>+</div><div class='add'>+    rb_raise(rb_eTypeError, "%"PRIsVALUE" can't be coerced into %"PRIsVALUE,</div><div class='add'>+	     rb_obj_class(other), rb_obj_class(self));</div><div class='add'>+    return Qnil;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    cmp.abs        -&gt;  real</div><div class='add'>+ *    cmp.magnitude  -&gt;  real</div><div class='add'>+ *</div><div class='add'>+ * Returns the absolute part of its polar form.</div><div class='add'>+ *</div><div class='add'>+ *    Complex(-1).abs         #=&gt; 1</div><div class='add'>+ *    Complex(3.0, -4.0).abs  #=&gt; 5.0</div><div class='add'>+ */</div><div class='add'>+VALUE</div><div class='add'>+rb_complex_abs(VALUE self)</div><div class='add'>+{</div><div class='add'>+    get_dat1(self);</div><div class='add'>+</div><div class='add'>+    if (f_zero_p(dat-&gt;real)) {</div><div class='add'>+	VALUE a = f_abs(dat-&gt;imag);</div><div class='add'>+	if (RB_FLOAT_TYPE_P(dat-&gt;real) &amp;&amp; !RB_FLOAT_TYPE_P(dat-&gt;imag))</div><div class='add'>+	    a = f_to_f(a);</div><div class='add'>+	return a;</div><div class='add'>+    }</div><div class='add'>+    if (f_zero_p(dat-&gt;imag)) {</div><div class='add'>+	VALUE a = f_abs(dat-&gt;real);</div><div class='add'>+	if (!RB_FLOAT_TYPE_P(dat-&gt;real) &amp;&amp; RB_FLOAT_TYPE_P(dat-&gt;imag))</div><div class='add'>+	    a = f_to_f(a);</div><div class='add'>+	return a;</div><div class='add'>+    }</div><div class='add'>+    return rb_math_hypot(dat-&gt;real, dat-&gt;imag);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    cmp.abs2  -&gt;  real</div><div class='add'>+ *</div><div class='add'>+ * Returns square of the absolute value.</div><div class='add'>+ *</div><div class='add'>+ *    Complex(-1).abs2         #=&gt; 1</div><div class='add'>+ *    Complex(3.0, -4.0).abs2  #=&gt; 25.0</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+nucomp_abs2(VALUE self)</div><div class='add'>+{</div><div class='add'>+    get_dat1(self);</div><div class='add'>+    return f_add(f_mul(dat-&gt;real, dat-&gt;real),</div><div class='add'>+		 f_mul(dat-&gt;imag, dat-&gt;imag));</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    cmp.arg    -&gt;  float</div><div class='add'>+ *    cmp.angle  -&gt;  float</div><div class='add'>+ *    cmp.phase  -&gt;  float</div><div class='add'>+ *</div><div class='add'>+ * Returns the angle part of its polar form.</div><div class='add'>+ *</div><div class='add'>+ *    Complex.polar(3, Math::PI/2).arg  #=&gt; 1.5707963267948966</div><div class='add'>+ */</div><div class='add'>+VALUE</div><div class='add'>+rb_complex_arg(VALUE self)</div><div class='add'>+{</div><div class='add'>+    get_dat1(self);</div><div class='add'>+    return rb_math_atan2(dat-&gt;imag, dat-&gt;real);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    cmp.rect         -&gt;  array</div><div class='add'>+ *    cmp.rectangular  -&gt;  array</div><div class='add'>+ *</div><div class='add'>+ * Returns an array; [cmp.real, cmp.imag].</div><div class='add'>+ *</div><div class='add'>+ *    Complex(1, 2).rectangular  #=&gt; [1, 2]</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+nucomp_rect(VALUE self)</div><div class='add'>+{</div><div class='add'>+    get_dat1(self);</div><div class='add'>+    return rb_assoc_new(dat-&gt;real, dat-&gt;imag);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    cmp.polar  -&gt;  array</div><div class='add'>+ *</div><div class='add'>+ * Returns an array; [cmp.abs, cmp.arg].</div><div class='add'>+ *</div><div class='add'>+ *    Complex(1, 2).polar  #=&gt; [2.23606797749979, 1.1071487177940904]</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+nucomp_polar(VALUE self)</div><div class='add'>+{</div><div class='add'>+    return rb_assoc_new(f_abs(self), f_arg(self));</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    cmp.conj       -&gt;  complex</div><div class='add'>+ *    cmp.conjugate  -&gt;  complex</div><div class='add'>+ *</div><div class='add'>+ * Returns the complex conjugate.</div><div class='add'>+ *</div><div class='add'>+ *    Complex(1, 2).conjugate  #=&gt; (1-2i)</div><div class='add'>+ */</div><div class='add'>+VALUE</div><div class='add'>+rb_complex_conjugate(VALUE self)</div><div class='add'>+{</div><div class='add'>+    get_dat1(self);</div><div class='add'>+    return f_complex_new2(CLASS_OF(self), dat-&gt;real, f_negate(dat-&gt;imag));</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    Complex(1).real?     -&gt;  false</div><div class='add'>+ *    Complex(1, 2).real?  -&gt;  false</div><div class='add'>+ *</div><div class='add'>+ * Returns false, even if the complex number has no imaginary part.</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+nucomp_false(VALUE self)</div><div class='add'>+{</div><div class='add'>+    return Qfalse;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    cmp.denominator  -&gt;  integer</div><div class='add'>+ *</div><div class='add'>+ * Returns the denominator (lcm of both denominator - real and imag).</div><div class='add'>+ *</div><div class='add'>+ * See numerator.</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+nucomp_denominator(VALUE self)</div><div class='add'>+{</div><div class='add'>+    get_dat1(self);</div><div class='add'>+    return rb_lcm(f_denominator(dat-&gt;real), f_denominator(dat-&gt;imag));</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    cmp.numerator  -&gt;  numeric</div><div class='add'>+ *</div><div class='add'>+ * Returns the numerator.</div><div class='add'>+ *</div><div class='add'>+ *        1   2       3+4i  &lt;-  numerator</div><div class='add'>+ *        - + -i  -&gt;  ----</div><div class='add'>+ *        2   3        6    &lt;-  denominator</div><div class='add'>+ *</div><div class='add'>+ *    c = Complex('1/2+2/3i')  #=&gt; ((1/2)+(2/3)*i)</div><div class='add'>+ *    n = c.numerator          #=&gt; (3+4i)</div><div class='add'>+ *    d = c.denominator        #=&gt; 6</div><div class='add'>+ *    n / d                    #=&gt; ((1/2)+(2/3)*i)</div><div class='add'>+ *    Complex(Rational(n.real, d), Rational(n.imag, d))</div><div class='add'>+ *                             #=&gt; ((1/2)+(2/3)*i)</div><div class='add'>+ * See denominator.</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+nucomp_numerator(VALUE self)</div><div class='add'>+{</div><div class='add'>+    VALUE cd;</div><div class='add'>+</div><div class='add'>+    get_dat1(self);</div><div class='add'>+</div><div class='add'>+    cd = nucomp_denominator(self);</div><div class='add'>+    return f_complex_new2(CLASS_OF(self),</div><div class='add'>+			  f_mul(f_numerator(dat-&gt;real),</div><div class='add'>+				f_div(cd, f_denominator(dat-&gt;real))),</div><div class='add'>+			  f_mul(f_numerator(dat-&gt;imag),</div><div class='add'>+				f_div(cd, f_denominator(dat-&gt;imag))));</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/* :nodoc: */</div><div class='add'>+static VALUE</div><div class='add'>+nucomp_hash(VALUE self)</div><div class='add'>+{</div><div class='add'>+    st_index_t v, h[2];</div><div class='add'>+    VALUE n;</div><div class='add'>+</div><div class='add'>+    get_dat1(self);</div><div class='add'>+    n = rb_hash(dat-&gt;real);</div><div class='add'>+    h[0] = NUM2LONG(n);</div><div class='add'>+    n = rb_hash(dat-&gt;imag);</div><div class='add'>+    h[1] = NUM2LONG(n);</div><div class='add'>+    v = rb_memhash(h, sizeof(h));</div><div class='add'>+    return ST2FIX(v);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/* :nodoc: */</div><div class='add'>+static VALUE</div><div class='add'>+nucomp_eql_p(VALUE self, VALUE other)</div><div class='add'>+{</div><div class='add'>+    if (RB_TYPE_P(other, T_COMPLEX)) {</div><div class='add'>+	get_dat2(self, other);</div><div class='add'>+</div><div class='add'>+	return f_boolcast((CLASS_OF(adat-&gt;real) == CLASS_OF(bdat-&gt;real)) &amp;&amp;</div><div class='add'>+			  (CLASS_OF(adat-&gt;imag) == CLASS_OF(bdat-&gt;imag)) &amp;&amp;</div><div class='add'>+			  f_eqeq_p(self, other));</div><div class='add'>+</div><div class='add'>+    }</div><div class='add'>+    return Qfalse;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+inline static int</div><div class='add'>+f_signbit(VALUE x)</div><div class='add'>+{</div><div class='add'>+    if (RB_FLOAT_TYPE_P(x)) {</div><div class='add'>+	double f = RFLOAT_VALUE(x);</div><div class='add'>+	return !isnan(f) &amp;&amp; signbit(f);</div><div class='add'>+    }</div><div class='add'>+    return f_negative_p(x);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+inline static int</div><div class='add'>+f_tpositive_p(VALUE x)</div><div class='add'>+{</div><div class='add'>+    return !f_signbit(x);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+f_format(VALUE self, VALUE (*func)(VALUE))</div><div class='add'>+{</div><div class='add'>+    VALUE s;</div><div class='add'>+    int impos;</div><div class='add'>+</div><div class='add'>+    get_dat1(self);</div><div class='add'>+</div><div class='add'>+    impos = f_tpositive_p(dat-&gt;imag);</div><div class='add'>+</div><div class='add'>+    s = (*func)(dat-&gt;real);</div><div class='add'>+    rb_str_cat2(s, !impos ? "-" : "+");</div><div class='add'>+</div><div class='add'>+    rb_str_concat(s, (*func)(f_abs(dat-&gt;imag)));</div><div class='add'>+    if (!rb_isdigit(RSTRING_PTR(s)[RSTRING_LEN(s) - 1]))</div><div class='add'>+	rb_str_cat2(s, "*");</div><div class='add'>+    rb_str_cat2(s, "i");</div><div class='add'>+</div><div class='add'>+    return s;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    cmp.to_s  -&gt;  string</div><div class='add'>+ *</div><div class='add'>+ * Returns the value as a string.</div><div class='add'>+ *</div><div class='add'>+ *    Complex(2).to_s                       #=&gt; "2+0i"</div><div class='add'>+ *    Complex('-8/6').to_s                  #=&gt; "-4/3+0i"</div><div class='add'>+ *    Complex('1/2i').to_s                  #=&gt; "0+1/2i"</div><div class='add'>+ *    Complex(0, Float::INFINITY).to_s      #=&gt; "0+Infinity*i"</div><div class='add'>+ *    Complex(Float::NAN, Float::NAN).to_s  #=&gt; "NaN+NaN*i"</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+nucomp_to_s(VALUE self)</div><div class='add'>+{</div><div class='add'>+    return f_format(self, rb_String);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    cmp.inspect  -&gt;  string</div><div class='add'>+ *</div><div class='add'>+ * Returns the value as a string for inspection.</div><div class='add'>+ *</div><div class='add'>+ *    Complex(2).inspect                       #=&gt; "(2+0i)"</div><div class='add'>+ *    Complex('-8/6').inspect                  #=&gt; "((-4/3)+0i)"</div><div class='add'>+ *    Complex('1/2i').inspect                  #=&gt; "(0+(1/2)*i)"</div><div class='add'>+ *    Complex(0, Float::INFINITY).inspect      #=&gt; "(0+Infinity*i)"</div><div class='add'>+ *    Complex(Float::NAN, Float::NAN).inspect  #=&gt; "(NaN+NaN*i)"</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+nucomp_inspect(VALUE self)</div><div class='add'>+{</div><div class='add'>+    VALUE s;</div><div class='add'>+</div><div class='add'>+    s = rb_usascii_str_new2("(");</div><div class='add'>+    rb_str_concat(s, f_format(self, rb_inspect));</div><div class='add'>+    rb_str_cat2(s, ")");</div><div class='add'>+</div><div class='add'>+    return s;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#define FINITE_TYPE_P(v) (RB_INTEGER_TYPE_P(v) || RB_TYPE_P(v, T_RATIONAL))</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    cmp.finite?  -&gt;  true or false</div><div class='add'>+ *</div><div class='add'>+ * Returns +true+ if +cmp+'s real and imaginary parts are both finite numbers,</div><div class='add'>+ * otherwise returns +false+.</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+rb_complex_finite_p(VALUE self)</div><div class='add'>+{</div><div class='add'>+    get_dat1(self);</div><div class='add'>+</div><div class='add'>+    if (f_finite_p(dat-&gt;real) &amp;&amp; f_finite_p(dat-&gt;imag)) {</div><div class='add'>+	return Qtrue;</div><div class='add'>+    }</div><div class='add'>+    return Qfalse;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    cmp.infinite?  -&gt;  nil or 1</div><div class='add'>+ *</div><div class='add'>+ * Returns +1+ if +cmp+'s real or imaginary part is an infinite number,</div><div class='add'>+ * otherwise returns +nil+.</div><div class='add'>+ *</div><div class='add'>+ *  For example:</div><div class='add'>+ *</div><div class='add'>+ *     (1+1i).infinite?                   #=&gt; nil</div><div class='add'>+ *     (Float::INFINITY + 1i).infinite?   #=&gt; 1</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+rb_complex_infinite_p(VALUE self)</div><div class='add'>+{</div><div class='add'>+    get_dat1(self);</div><div class='add'>+</div><div class='add'>+    if (NIL_P(f_infinite_p(dat-&gt;real)) &amp;&amp; NIL_P(f_infinite_p(dat-&gt;imag))) {</div><div class='add'>+	return Qnil;</div><div class='add'>+    }</div><div class='add'>+    return ONE;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/* :nodoc: */</div><div class='add'>+static VALUE</div><div class='add'>+nucomp_dumper(VALUE self)</div><div class='add'>+{</div><div class='add'>+    return self;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/* :nodoc: */</div><div class='add'>+static VALUE</div><div class='add'>+nucomp_loader(VALUE self, VALUE a)</div><div class='add'>+{</div><div class='add'>+    get_dat1(self);</div><div class='add'>+</div><div class='add'>+    RCOMPLEX_SET_REAL(dat, rb_ivar_get(a, id_i_real));</div><div class='add'>+    RCOMPLEX_SET_IMAG(dat, rb_ivar_get(a, id_i_imag));</div><div class='add'>+    OBJ_FREEZE_RAW(self);</div><div class='add'>+</div><div class='add'>+    return self;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/* :nodoc: */</div><div class='add'>+static VALUE</div><div class='add'>+nucomp_marshal_dump(VALUE self)</div><div class='add'>+{</div><div class='add'>+    VALUE a;</div><div class='add'>+    get_dat1(self);</div><div class='add'>+</div><div class='add'>+    a = rb_assoc_new(dat-&gt;real, dat-&gt;imag);</div><div class='add'>+    rb_copy_generic_ivar(a, self);</div><div class='add'>+    return a;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/* :nodoc: */</div><div class='add'>+static VALUE</div><div class='add'>+nucomp_marshal_load(VALUE self, VALUE a)</div><div class='add'>+{</div><div class='add'>+    Check_Type(a, T_ARRAY);</div><div class='add'>+    if (RARRAY_LEN(a) != 2)</div><div class='add'>+	rb_raise(rb_eArgError, "marshaled complex must have an array whose length is 2 but %ld", RARRAY_LEN(a));</div><div class='add'>+    rb_ivar_set(self, id_i_real, RARRAY_AREF(a, 0));</div><div class='add'>+    rb_ivar_set(self, id_i_imag, RARRAY_AREF(a, 1));</div><div class='add'>+    return self;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/* --- */</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_complex_raw(VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    return nucomp_s_new_internal(rb_cComplex, x, y);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_complex_new(VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    return nucomp_s_canonicalize_internal(rb_cComplex, x, y);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_complex_new_polar(VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    return f_complex_polar(rb_cComplex, x, y);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_complex_polar(VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    return rb_complex_new_polar(x, y);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_Complex(VALUE x, VALUE y)</div><div class='add'>+{</div><div class='add'>+    VALUE a[2];</div><div class='add'>+    a[0] = x;</div><div class='add'>+    a[1] = y;</div><div class='add'>+    return nucomp_s_convert(2, a, rb_cComplex);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*!</div><div class='add'>+ * Creates a Complex object.</div><div class='add'>+ *</div><div class='add'>+ * \param real    real part value</div><div class='add'>+ * \param imag    imaginary part value</div><div class='add'>+ * \return        a new Complex object</div><div class='add'>+ */</div><div class='add'>+VALUE</div><div class='add'>+rb_dbl_complex_new(double real, double imag)</div><div class='add'>+{</div><div class='add'>+    return rb_complex_raw(DBL2NUM(real), DBL2NUM(imag));</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    cmp.to_i  -&gt;  integer</div><div class='add'>+ *</div><div class='add'>+ * Returns the value as an integer if possible (the imaginary part</div><div class='add'>+ * should be exactly zero).</div><div class='add'>+ *</div><div class='add'>+ *    Complex(1, 0).to_i    #=&gt; 1</div><div class='add'>+ *    Complex(1, 0.0).to_i  # RangeError</div><div class='add'>+ *    Complex(1, 2).to_i    # RangeError</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+nucomp_to_i(VALUE self)</div><div class='add'>+{</div><div class='add'>+    get_dat1(self);</div><div class='add'>+</div><div class='add'>+    if (!k_exact_zero_p(dat-&gt;imag)) {</div><div class='add'>+	rb_raise(rb_eRangeError, "can't convert %"PRIsVALUE" into Integer",</div><div class='add'>+		 self);</div><div class='add'>+    }</div><div class='add'>+    return f_to_i(dat-&gt;real);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    cmp.to_f  -&gt;  float</div><div class='add'>+ *</div><div class='add'>+ * Returns the value as a float if possible (the imaginary part should</div><div class='add'>+ * be exactly zero).</div><div class='add'>+ *</div><div class='add'>+ *    Complex(1, 0).to_f    #=&gt; 1.0</div><div class='add'>+ *    Complex(1, 0.0).to_f  # RangeError</div><div class='add'>+ *    Complex(1, 2).to_f    # RangeError</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+nucomp_to_f(VALUE self)</div><div class='add'>+{</div><div class='add'>+    get_dat1(self);</div><div class='add'>+</div><div class='add'>+    if (!k_exact_zero_p(dat-&gt;imag)) {</div><div class='add'>+	rb_raise(rb_eRangeError, "can't convert %"PRIsVALUE" into Float",</div><div class='add'>+		 self);</div><div class='add'>+    }</div><div class='add'>+    return f_to_f(dat-&gt;real);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    cmp.to_r  -&gt;  rational</div><div class='add'>+ *</div><div class='add'>+ * Returns the value as a rational if possible (the imaginary part</div><div class='add'>+ * should be exactly zero).</div><div class='add'>+ *</div><div class='add'>+ *    Complex(1, 0).to_r    #=&gt; (1/1)</div><div class='add'>+ *    Complex(1, 0.0).to_r  # RangeError</div><div class='add'>+ *    Complex(1, 2).to_r    # RangeError</div><div class='add'>+ *</div><div class='add'>+ * See rationalize.</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+nucomp_to_r(VALUE self)</div><div class='add'>+{</div><div class='add'>+    get_dat1(self);</div><div class='add'>+</div><div class='add'>+    if (!k_exact_zero_p(dat-&gt;imag)) {</div><div class='add'>+	rb_raise(rb_eRangeError, "can't convert %"PRIsVALUE" into Rational",</div><div class='add'>+		 self);</div><div class='add'>+    }</div><div class='add'>+    return f_to_r(dat-&gt;real);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    cmp.rationalize([eps])  -&gt;  rational</div><div class='add'>+ *</div><div class='add'>+ * Returns the value as a rational if possible (the imaginary part</div><div class='add'>+ * should be exactly zero).</div><div class='add'>+ *</div><div class='add'>+ *    Complex(1.0/3, 0).rationalize  #=&gt; (1/3)</div><div class='add'>+ *    Complex(1, 0.0).rationalize    # RangeError</div><div class='add'>+ *    Complex(1, 2).rationalize      # RangeError</div><div class='add'>+ *</div><div class='add'>+ * See to_r.</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+nucomp_rationalize(int argc, VALUE *argv, VALUE self)</div><div class='add'>+{</div><div class='add'>+    get_dat1(self);</div><div class='add'>+</div><div class='add'>+    rb_check_arity(argc, 0, 1);</div><div class='add'>+</div><div class='add'>+    if (!k_exact_zero_p(dat-&gt;imag)) {</div><div class='add'>+       rb_raise(rb_eRangeError, "can't convert %"PRIsVALUE" into Rational",</div><div class='add'>+                self);</div><div class='add'>+    }</div><div class='add'>+    return rb_funcallv(dat-&gt;real, id_rationalize, argc, argv);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    complex.to_c  -&gt;  self</div><div class='add'>+ *</div><div class='add'>+ * Returns self.</div><div class='add'>+ *</div><div class='add'>+ *    Complex(2).to_c      #=&gt; (2+0i)</div><div class='add'>+ *    Complex(-8, 6).to_c  #=&gt; (-8+6i)</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+nucomp_to_c(VALUE self)</div><div class='add'>+{</div><div class='add'>+    return self;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    nil.to_c  -&gt;  (0+0i)</div><div class='add'>+ *</div><div class='add'>+ * Returns zero as a complex.</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+nilclass_to_c(VALUE self)</div><div class='add'>+{</div><div class='add'>+    return rb_complex_new1(INT2FIX(0));</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    num.to_c  -&gt;  complex</div><div class='add'>+ *</div><div class='add'>+ * Returns the value as a complex.</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+numeric_to_c(VALUE self)</div><div class='add'>+{</div><div class='add'>+    return rb_complex_new1(self);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+inline static int</div><div class='add'>+issign(int c)</div><div class='add'>+{</div><div class='add'>+    return (c == '-' || c == '+');</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+read_sign(const char **s,</div><div class='add'>+	  char **b)</div><div class='add'>+{</div><div class='add'>+    int sign = '?';</div><div class='add'>+</div><div class='add'>+    if (issign(**s)) {</div><div class='add'>+	sign = **b = **s;</div><div class='add'>+	(*s)++;</div><div class='add'>+	(*b)++;</div><div class='add'>+    }</div><div class='add'>+    return sign;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+inline static int</div><div class='add'>+isdecimal(int c)</div><div class='add'>+{</div><div class='add'>+    return isdigit((unsigned char)c);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+read_digits(const char **s, int strict,</div><div class='add'>+	    char **b)</div><div class='add'>+{</div><div class='add'>+    int us = 1;</div><div class='add'>+</div><div class='add'>+    if (!isdecimal(**s))</div><div class='add'>+	return 0;</div><div class='add'>+</div><div class='add'>+    while (isdecimal(**s) || **s == '_') {</div><div class='add'>+	if (**s == '_') {</div><div class='add'>+	    if (strict) {</div><div class='add'>+		if (us)</div><div class='add'>+		    return 0;</div><div class='add'>+	    }</div><div class='add'>+	    us = 1;</div><div class='add'>+	}</div><div class='add'>+	else {</div><div class='add'>+	    **b = **s;</div><div class='add'>+	    (*b)++;</div><div class='add'>+	    us = 0;</div><div class='add'>+	}</div><div class='add'>+	(*s)++;</div><div class='add'>+    }</div><div class='add'>+    if (us)</div><div class='add'>+	do {</div><div class='add'>+	    (*s)--;</div><div class='add'>+	} while (**s == '_');</div><div class='add'>+    return 1;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+inline static int</div><div class='add'>+islettere(int c)</div><div class='add'>+{</div><div class='add'>+    return (c == 'e' || c == 'E');</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+read_num(const char **s, int strict,</div><div class='add'>+	 char **b)</div><div class='add'>+{</div><div class='add'>+    if (**s != '.') {</div><div class='add'>+	if (!read_digits(s, strict, b))</div><div class='add'>+	    return 0;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (**s == '.') {</div><div class='add'>+	**b = **s;</div><div class='add'>+	(*s)++;</div><div class='add'>+	(*b)++;</div><div class='add'>+	if (!read_digits(s, strict, b)) {</div><div class='add'>+	    (*b)--;</div><div class='add'>+	    return 0;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (islettere(**s)) {</div><div class='add'>+	**b = **s;</div><div class='add'>+	(*s)++;</div><div class='add'>+	(*b)++;</div><div class='add'>+	read_sign(s, b);</div><div class='add'>+	if (!read_digits(s, strict, b)) {</div><div class='add'>+	    (*b)--;</div><div class='add'>+	    return 0;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    return 1;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+inline static int</div><div class='add'>+read_den(const char **s, int strict,</div><div class='add'>+	 char **b)</div><div class='add'>+{</div><div class='add'>+    if (!read_digits(s, strict, b))</div><div class='add'>+	return 0;</div><div class='add'>+    return 1;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+read_rat_nos(const char **s, int strict,</div><div class='add'>+	     char **b)</div><div class='add'>+{</div><div class='add'>+    if (!read_num(s, strict, b))</div><div class='add'>+	return 0;</div><div class='add'>+    if (**s == '/') {</div><div class='add'>+	**b = **s;</div><div class='add'>+	(*s)++;</div><div class='add'>+	(*b)++;</div><div class='add'>+	if (!read_den(s, strict, b)) {</div><div class='add'>+	    (*b)--;</div><div class='add'>+	    return 0;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    return 1;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+read_rat(const char **s, int strict,</div><div class='add'>+	 char **b)</div><div class='add'>+{</div><div class='add'>+    read_sign(s, b);</div><div class='add'>+    if (!read_rat_nos(s, strict, b))</div><div class='add'>+	return 0;</div><div class='add'>+    return 1;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+inline static int</div><div class='add'>+isimagunit(int c)</div><div class='add'>+{</div><div class='add'>+    return (c == 'i' || c == 'I' ||</div><div class='add'>+	    c == 'j' || c == 'J');</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+str2num(char *s)</div><div class='add'>+{</div><div class='add'>+    if (strchr(s, '/'))</div><div class='add'>+	return rb_cstr_to_rat(s, 0);</div><div class='add'>+    if (strpbrk(s, ".eE"))</div><div class='add'>+	return DBL2NUM(rb_cstr_to_dbl(s, 0));</div><div class='add'>+    return rb_cstr_to_inum(s, 10, 0);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+read_comp(const char **s, int strict,</div><div class='add'>+	  VALUE *ret, char **b)</div><div class='add'>+{</div><div class='add'>+    char *bb;</div><div class='add'>+    int sign;</div><div class='add'>+    VALUE num, num2;</div><div class='add'>+</div><div class='add'>+    bb = *b;</div><div class='add'>+</div><div class='add'>+    sign = read_sign(s, b);</div><div class='add'>+</div><div class='add'>+    if (isimagunit(**s)) {</div><div class='add'>+	(*s)++;</div><div class='add'>+	num = INT2FIX((sign == '-') ? -1 : + 1);</div><div class='add'>+	*ret = rb_complex_new2(ZERO, num);</div><div class='add'>+	return 1; /* e.g. "i" */</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (!read_rat_nos(s, strict, b)) {</div><div class='add'>+	**b = '\0';</div><div class='add'>+	num = str2num(bb);</div><div class='add'>+	*ret = rb_complex_new2(num, ZERO);</div><div class='add'>+	return 0; /* e.g. "-" */</div><div class='add'>+    }</div><div class='add'>+    **b = '\0';</div><div class='add'>+    num = str2num(bb);</div><div class='add'>+</div><div class='add'>+    if (isimagunit(**s)) {</div><div class='add'>+	(*s)++;</div><div class='add'>+	*ret = rb_complex_new2(ZERO, num);</div><div class='add'>+	return 1; /* e.g. "3i" */</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (**s == '@') {</div><div class='add'>+	int st;</div><div class='add'>+</div><div class='add'>+	(*s)++;</div><div class='add'>+	bb = *b;</div><div class='add'>+	st = read_rat(s, strict, b);</div><div class='add'>+	**b = '\0';</div><div class='add'>+	if (strlen(bb) &lt; 1 ||</div><div class='add'>+	    !isdecimal(*(bb + strlen(bb) - 1))) {</div><div class='add'>+	    *ret = rb_complex_new2(num, ZERO);</div><div class='add'>+	    return 0; /* e.g. "1@-" */</div><div class='add'>+	}</div><div class='add'>+	num2 = str2num(bb);</div><div class='add'>+	*ret = rb_complex_new_polar(num, num2);</div><div class='add'>+	if (!st)</div><div class='add'>+	    return 0; /* e.g. "1@2." */</div><div class='add'>+	else</div><div class='add'>+	    return 1; /* e.g. "1@2" */</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (issign(**s)) {</div><div class='add'>+	bb = *b;</div><div class='add'>+	sign = read_sign(s, b);</div><div class='add'>+	if (isimagunit(**s))</div><div class='add'>+	    num2 = INT2FIX((sign == '-') ? -1 : + 1);</div><div class='add'>+	else {</div><div class='add'>+	    if (!read_rat_nos(s, strict, b)) {</div><div class='add'>+		*ret = rb_complex_new2(num, ZERO);</div><div class='add'>+		return 0; /* e.g. "1+xi" */</div><div class='add'>+	    }</div><div class='add'>+	    **b = '\0';</div><div class='add'>+	    num2 = str2num(bb);</div><div class='add'>+	}</div><div class='add'>+	if (!isimagunit(**s)) {</div><div class='add'>+	    *ret = rb_complex_new2(num, ZERO);</div><div class='add'>+	    return 0; /* e.g. "1+3x" */</div><div class='add'>+	}</div><div class='add'>+	(*s)++;</div><div class='add'>+	*ret = rb_complex_new2(num, num2);</div><div class='add'>+	return 1; /* e.g. "1+2i" */</div><div class='add'>+    }</div><div class='add'>+    /* !(@, - or +) */</div><div class='add'>+    {</div><div class='add'>+	*ret = rb_complex_new2(num, ZERO);</div><div class='add'>+	return 1; /* e.g. "3" */</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+inline static void</div><div class='add'>+skip_ws(const char **s)</div><div class='add'>+{</div><div class='add'>+    while (isspace((unsigned char)**s))</div><div class='add'>+	(*s)++;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static int</div><div class='add'>+parse_comp(const char *s, int strict, VALUE *num)</div><div class='add'>+{</div><div class='add'>+    char *buf, *b;</div><div class='add'>+    VALUE tmp;</div><div class='add'>+    int ret = 1;</div><div class='add'>+</div><div class='add'>+    buf = ALLOCV_N(char, tmp, strlen(s) + 1);</div><div class='add'>+    b = buf;</div><div class='add'>+</div><div class='add'>+    skip_ws(&amp;s);</div><div class='add'>+    if (!read_comp(&amp;s, strict, num, &amp;b)) {</div><div class='add'>+        ret = 0;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        skip_ws(&amp;s);</div><div class='add'>+</div><div class='add'>+        if (strict)</div><div class='add'>+            if (*s != '\0')</div><div class='add'>+                ret = 0;</div><div class='add'>+    }</div><div class='add'>+    ALLOCV_END(tmp);</div><div class='add'>+</div><div class='add'>+    return ret;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+string_to_c_strict(VALUE self, int raise)</div><div class='add'>+{</div><div class='add'>+    char *s;</div><div class='add'>+    VALUE num;</div><div class='add'>+</div><div class='add'>+    rb_must_asciicompat(self);</div><div class='add'>+</div><div class='add'>+    s = RSTRING_PTR(self);</div><div class='add'>+</div><div class='add'>+    if (!s || memchr(s, '\0', RSTRING_LEN(self))) {</div><div class='add'>+        if (!raise) return Qnil;</div><div class='add'>+	rb_raise(rb_eArgError, "string contains null byte");</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (s &amp;&amp; s[RSTRING_LEN(self)]) {</div><div class='add'>+	rb_str_modify(self);</div><div class='add'>+	s = RSTRING_PTR(self);</div><div class='add'>+	s[RSTRING_LEN(self)] = '\0';</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (!s)</div><div class='add'>+	s = (char *)"";</div><div class='add'>+</div><div class='add'>+    if (!parse_comp(s, 1, &amp;num)) {</div><div class='add'>+        if (!raise) return Qnil;</div><div class='add'>+	rb_raise(rb_eArgError, "invalid value for convert(): %+"PRIsVALUE,</div><div class='add'>+		 self);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return num;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    str.to_c  -&gt;  complex</div><div class='add'>+ *</div><div class='add'>+ * Returns a complex which denotes the string form.  The parser</div><div class='add'>+ * ignores leading whitespaces and trailing garbage.  Any digit</div><div class='add'>+ * sequences can be separated by an underscore.  Returns zero for null</div><div class='add'>+ * or garbage string.</div><div class='add'>+ *</div><div class='add'>+ *    '9'.to_c           #=&gt; (9+0i)</div><div class='add'>+ *    '2.5'.to_c         #=&gt; (2.5+0i)</div><div class='add'>+ *    '2.5/1'.to_c       #=&gt; ((5/2)+0i)</div><div class='add'>+ *    '-3/2'.to_c        #=&gt; ((-3/2)+0i)</div><div class='add'>+ *    '-i'.to_c          #=&gt; (0-1i)</div><div class='add'>+ *    '45i'.to_c         #=&gt; (0+45i)</div><div class='add'>+ *    '3-4i'.to_c        #=&gt; (3-4i)</div><div class='add'>+ *    '-4e2-4e-2i'.to_c  #=&gt; (-400.0-0.04i)</div><div class='add'>+ *    '-0.0-0.0i'.to_c   #=&gt; (-0.0-0.0i)</div><div class='add'>+ *    '1/2+3/4i'.to_c    #=&gt; ((1/2)+(3/4)*i)</div><div class='add'>+ *    'ruby'.to_c        #=&gt; (0+0i)</div><div class='add'>+ *</div><div class='add'>+ * See Kernel.Complex.</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+string_to_c(VALUE self)</div><div class='add'>+{</div><div class='add'>+    char *s;</div><div class='add'>+    VALUE num;</div><div class='add'>+</div><div class='add'>+    rb_must_asciicompat(self);</div><div class='add'>+</div><div class='add'>+    s = RSTRING_PTR(self);</div><div class='add'>+</div><div class='add'>+    if (s &amp;&amp; s[RSTRING_LEN(self)]) {</div><div class='add'>+	rb_str_modify(self);</div><div class='add'>+	s = RSTRING_PTR(self);</div><div class='add'>+	s[RSTRING_LEN(self)] = '\0';</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (!s)</div><div class='add'>+	s = (char *)"";</div><div class='add'>+</div><div class='add'>+    (void)parse_comp(s, 0, &amp;num);</div><div class='add'>+</div><div class='add'>+    return num;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+to_complex(VALUE val)</div><div class='add'>+{</div><div class='add'>+    return rb_convert_type(val, T_COMPLEX, "Complex", "to_c");</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+nucomp_convert(VALUE klass, VALUE a1, VALUE a2, int raise)</div><div class='add'>+{</div><div class='add'>+    if (NIL_P(a1) || NIL_P(a2)) {</div><div class='add'>+        if (!raise) return Qnil;</div><div class='add'>+	rb_raise(rb_eTypeError, "can't convert nil into Complex");</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (RB_TYPE_P(a1, T_STRING)) {</div><div class='add'>+	a1 = string_to_c_strict(a1, raise);</div><div class='add'>+        if (NIL_P(a1)) return Qnil;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (RB_TYPE_P(a2, T_STRING)) {</div><div class='add'>+	a2 = string_to_c_strict(a2, raise);</div><div class='add'>+        if (NIL_P(a2)) return Qnil;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (RB_TYPE_P(a1, T_COMPLEX)) {</div><div class='add'>+	{</div><div class='add'>+	    get_dat1(a1);</div><div class='add'>+</div><div class='add'>+	    if (k_exact_zero_p(dat-&gt;imag))</div><div class='add'>+		a1 = dat-&gt;real;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (RB_TYPE_P(a2, T_COMPLEX)) {</div><div class='add'>+	{</div><div class='add'>+	    get_dat1(a2);</div><div class='add'>+</div><div class='add'>+	    if (k_exact_zero_p(dat-&gt;imag))</div><div class='add'>+		a2 = dat-&gt;real;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (RB_TYPE_P(a1, T_COMPLEX)) {</div><div class='add'>+	if (a2 == Qundef || (k_exact_zero_p(a2)))</div><div class='add'>+	    return a1;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (a2 == Qundef) {</div><div class='add'>+	if (k_numeric_p(a1) &amp;&amp; !f_real_p(a1))</div><div class='add'>+	    return a1;</div><div class='add'>+	/* should raise exception for consistency */</div><div class='add'>+	if (!k_numeric_p(a1)) {</div><div class='add'>+            if (!raise)</div><div class='add'>+                return rb_protect(to_complex, a1, NULL);</div><div class='add'>+	    return to_complex(a1);</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	if ((k_numeric_p(a1) &amp;&amp; k_numeric_p(a2)) &amp;&amp;</div><div class='add'>+	    (!f_real_p(a1) || !f_real_p(a2)))</div><div class='add'>+	    return f_add(a1,</div><div class='add'>+			 f_mul(a2,</div><div class='add'>+			       f_complex_new_bang2(rb_cComplex, ZERO, ONE)));</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    {</div><div class='add'>+        int argc;</div><div class='add'>+	VALUE argv2[2];</div><div class='add'>+	argv2[0] = a1;</div><div class='add'>+        if (a2 == Qundef) {</div><div class='add'>+            argv2[1] = Qnil;</div><div class='add'>+            argc = 1;</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            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='add'>+                return Qnil;</div><div class='add'>+            argv2[1] = a2;</div><div class='add'>+            argc = 2;</div><div class='add'>+        }</div><div class='add'>+	return nucomp_s_new(argc, argv2, klass);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+nucomp_s_convert(int argc, VALUE *argv, VALUE klass)</div><div class='add'>+{</div><div class='add'>+    VALUE a1, a2;</div><div class='add'>+</div><div class='add'>+    if (rb_scan_args(argc, argv, "11", &amp;a1, &amp;a2) == 1) {</div><div class='add'>+        a2 = Qundef;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return nucomp_convert(klass, a1, a2, TRUE);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/* --- */</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    num.real  -&gt;  self</div><div class='add'>+ *</div><div class='add'>+ * Returns self.</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+numeric_real(VALUE self)</div><div class='add'>+{</div><div class='add'>+    return self;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    num.imag       -&gt;  0</div><div class='add'>+ *    num.imaginary  -&gt;  0</div><div class='add'>+ *</div><div class='add'>+ * Returns zero.</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+numeric_imag(VALUE self)</div><div class='add'>+{</div><div class='add'>+    return INT2FIX(0);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    num.abs2  -&gt;  real</div><div class='add'>+ *</div><div class='add'>+ * Returns square of self.</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+numeric_abs2(VALUE self)</div><div class='add'>+{</div><div class='add'>+    return f_mul(self, self);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    num.arg    -&gt;  0 or float</div><div class='add'>+ *    num.angle  -&gt;  0 or float</div><div class='add'>+ *    num.phase  -&gt;  0 or float</div><div class='add'>+ *</div><div class='add'>+ * Returns 0 if the value is positive, pi otherwise.</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+numeric_arg(VALUE self)</div><div class='add'>+{</div><div class='add'>+    if (f_positive_p(self))</div><div class='add'>+        return INT2FIX(0);</div><div class='add'>+    return DBL2NUM(M_PI);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    num.rect  -&gt;  array</div><div class='add'>+ *    num.rectangular  -&gt;  array</div><div class='add'>+ *</div><div class='add'>+ * Returns an array; [num, 0].</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+numeric_rect(VALUE self)</div><div class='add'>+{</div><div class='add'>+    return rb_assoc_new(self, INT2FIX(0));</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE float_arg(VALUE self);</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    num.polar  -&gt;  array</div><div class='add'>+ *</div><div class='add'>+ * Returns an array; [num.abs, num.arg].</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+numeric_polar(VALUE self)</div><div class='add'>+{</div><div class='add'>+    VALUE abs, arg;</div><div class='add'>+</div><div class='add'>+    if (RB_INTEGER_TYPE_P(self)) {</div><div class='add'>+        abs = rb_int_abs(self);</div><div class='add'>+        arg = numeric_arg(self);</div><div class='add'>+    }</div><div class='add'>+    else if (RB_FLOAT_TYPE_P(self)) {</div><div class='add'>+        abs = rb_float_abs(self);</div><div class='add'>+        arg = float_arg(self);</div><div class='add'>+    }</div><div class='add'>+    else if (RB_TYPE_P(self, T_RATIONAL)) {</div><div class='add'>+        abs = rb_rational_abs(self);</div><div class='add'>+        arg = numeric_arg(self);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        abs = f_abs(self);</div><div class='add'>+        arg = f_arg(self);</div><div class='add'>+    }</div><div class='add'>+    return rb_assoc_new(abs, arg);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    num.conj       -&gt;  self</div><div class='add'>+ *    num.conjugate  -&gt;  self</div><div class='add'>+ *</div><div class='add'>+ * Returns self.</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+numeric_conj(VALUE self)</div><div class='add'>+{</div><div class='add'>+    return self;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *    flo.arg    -&gt;  0 or float</div><div class='add'>+ *    flo.angle  -&gt;  0 or float</div><div class='add'>+ *    flo.phase  -&gt;  0 or float</div><div class='add'>+ *</div><div class='add'>+ * Returns 0 if the value is positive, pi otherwise.</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+float_arg(VALUE self)</div><div class='add'>+{</div><div class='add'>+    if (isnan(RFLOAT_VALUE(self)))</div><div class='add'>+	return self;</div><div class='add'>+    if (f_tpositive_p(self))</div><div class='add'>+	return INT2FIX(0);</div><div class='add'>+    return rb_const_get(rb_mMath, id_PI);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * A complex number can be represented as a paired real number with</div><div class='add'>+ * imaginary unit; a+bi.  Where a is real part, b is imaginary part</div><div class='add'>+ * and i is imaginary unit.  Real a equals complex a+0i</div><div class='add'>+ * mathematically.</div><div class='add'>+ *</div><div class='add'>+ * Complex object can be created as literal, and also by using</div><div class='add'>+ * Kernel#Complex, Complex::rect, Complex::polar or to_c method.</div><div class='add'>+ *</div><div class='add'>+ *    2+1i                 #=&gt; (2+1i)</div><div class='add'>+ *    Complex(1)           #=&gt; (1+0i)</div><div class='add'>+ *    Complex(2, 3)        #=&gt; (2+3i)</div><div class='add'>+ *    Complex.polar(2, 3)  #=&gt; (-1.9799849932008908+0.2822400161197344i)</div><div class='add'>+ *    3.to_c               #=&gt; (3+0i)</div><div class='add'>+ *</div><div class='add'>+ * You can also create complex object from floating-point numbers or</div><div class='add'>+ * strings.</div><div class='add'>+ *</div><div class='add'>+ *    Complex(0.3)         #=&gt; (0.3+0i)</div><div class='add'>+ *    Complex('0.3-0.5i')  #=&gt; (0.3-0.5i)</div><div class='add'>+ *    Complex('2/3+3/4i')  #=&gt; ((2/3)+(3/4)*i)</div><div class='add'>+ *    Complex('1@2')       #=&gt; (-0.4161468365471424+0.9092974268256817i)</div><div class='add'>+ *</div><div class='add'>+ *    0.3.to_c             #=&gt; (0.3+0i)</div><div class='add'>+ *    '0.3-0.5i'.to_c      #=&gt; (0.3-0.5i)</div><div class='add'>+ *    '2/3+3/4i'.to_c      #=&gt; ((2/3)+(3/4)*i)</div><div class='add'>+ *    '1@2'.to_c           #=&gt; (-0.4161468365471424+0.9092974268256817i)</div><div class='add'>+ *</div><div class='add'>+ * A complex object is either an exact or an inexact number.</div><div class='add'>+ *</div><div class='add'>+ *    Complex(1, 1) / 2    #=&gt; ((1/2)+(1/2)*i)</div><div class='add'>+ *    Complex(1, 1) / 2.0  #=&gt; (0.5+0.5i)</div><div class='add'>+ */</div><div class='add'>+void</div><div class='add'>+Init_Complex(void)</div><div class='add'>+{</div><div class='add'>+    VALUE compat;</div><div class='add'>+    id_abs = rb_intern_const("abs");</div><div class='add'>+    id_arg = rb_intern_const("arg");</div><div class='add'>+    id_denominator = rb_intern_const("denominator");</div><div class='add'>+    id_numerator = rb_intern_const("numerator");</div><div class='add'>+    id_real_p = rb_intern_const("real?");</div><div class='add'>+    id_i_real = rb_intern_const("@real");</div><div class='add'>+    id_i_imag = rb_intern_const("@image"); /* @image, not @imag */</div><div class='add'>+    id_finite_p = rb_intern_const("finite?");</div><div class='add'>+    id_infinite_p = rb_intern_const("infinite?");</div><div class='add'>+    id_rationalize = rb_intern_const("rationalize");</div><div class='add'>+    id_PI = rb_intern_const("PI");</div><div class='add'>+</div><div class='add'>+    rb_cComplex = rb_define_class("Complex", rb_cNumeric);</div><div class='add'>+</div><div class='add'>+    rb_define_alloc_func(rb_cComplex, nucomp_s_alloc);</div><div class='add'>+    rb_undef_method(CLASS_OF(rb_cComplex), "allocate");</div><div class='add'>+</div><div class='add'>+    rb_undef_method(CLASS_OF(rb_cComplex), "new");</div><div class='add'>+</div><div class='add'>+    rb_define_singleton_method(rb_cComplex, "rectangular", nucomp_s_new, -1);</div><div class='add'>+    rb_define_singleton_method(rb_cComplex, "rect", nucomp_s_new, -1);</div><div class='add'>+    rb_define_singleton_method(rb_cComplex, "polar", nucomp_s_polar, -1);</div><div class='add'>+</div><div class='add'>+    rb_define_global_function("Complex", nucomp_f_complex, -1);</div><div class='add'>+</div><div class='add'>+    rb_undef_methods_from(rb_cComplex, RCLASS_ORIGIN(rb_mComparable));</div><div class='add'>+    rb_undef_method(rb_cComplex, "%");</div><div class='add'>+    rb_undef_method(rb_cComplex, "div");</div><div class='add'>+    rb_undef_method(rb_cComplex, "divmod");</div><div class='add'>+    rb_undef_method(rb_cComplex, "floor");</div><div class='add'>+    rb_undef_method(rb_cComplex, "ceil");</div><div class='add'>+    rb_undef_method(rb_cComplex, "modulo");</div><div class='add'>+    rb_undef_method(rb_cComplex, "remainder");</div><div class='add'>+    rb_undef_method(rb_cComplex, "round");</div><div class='add'>+    rb_undef_method(rb_cComplex, "step");</div><div class='add'>+    rb_undef_method(rb_cComplex, "truncate");</div><div class='add'>+    rb_undef_method(rb_cComplex, "i");</div><div class='add'>+</div><div class='add'>+    rb_define_method(rb_cComplex, "real", rb_complex_real, 0);</div><div class='add'>+    rb_define_method(rb_cComplex, "imaginary", rb_complex_imag, 0);</div><div class='add'>+    rb_define_method(rb_cComplex, "imag", rb_complex_imag, 0);</div><div class='add'>+</div><div class='add'>+    rb_define_method(rb_cComplex, "-@", rb_complex_uminus, 0);</div><div class='add'>+    rb_define_method(rb_cComplex, "+", rb_complex_plus, 1);</div><div class='add'>+    rb_define_method(rb_cComplex, "-", rb_complex_minus, 1);</div><div class='add'>+    rb_define_method(rb_cComplex, "*", rb_complex_mul, 1);</div><div class='add'>+    rb_define_method(rb_cComplex, "/", rb_complex_div, 1);</div><div class='add'>+    rb_define_method(rb_cComplex, "quo", nucomp_quo, 1);</div><div class='add'>+    rb_define_method(rb_cComplex, "fdiv", nucomp_fdiv, 1);</div><div class='add'>+    rb_define_method(rb_cComplex, "**", rb_complex_pow, 1);</div><div class='add'>+</div><div class='add'>+    rb_define_method(rb_cComplex, "==", nucomp_eqeq_p, 1);</div><div class='add'>+    rb_define_method(rb_cComplex, "&lt;=&gt;", nucomp_cmp, 1);</div><div class='add'>+    rb_define_method(rb_cComplex, "coerce", nucomp_coerce, 1);</div><div class='add'>+</div><div class='add'>+    rb_define_method(rb_cComplex, "abs", rb_complex_abs, 0);</div><div class='add'>+    rb_define_method(rb_cComplex, "magnitude", rb_complex_abs, 0);</div><div class='add'>+    rb_define_method(rb_cComplex, "abs2", nucomp_abs2, 0);</div><div class='add'>+    rb_define_method(rb_cComplex, "arg", rb_complex_arg, 0);</div><div class='add'>+    rb_define_method(rb_cComplex, "angle", rb_complex_arg, 0);</div><div class='add'>+    rb_define_method(rb_cComplex, "phase", rb_complex_arg, 0);</div><div class='add'>+    rb_define_method(rb_cComplex, "rectangular", nucomp_rect, 0);</div><div class='add'>+    rb_define_method(rb_cComplex, "rect", nucomp_rect, 0);</div><div class='add'>+    rb_define_method(rb_cComplex, "polar", nucomp_polar, 0);</div><div class='add'>+    rb_define_method(rb_cComplex, "conjugate", rb_complex_conjugate, 0);</div><div class='add'>+    rb_define_method(rb_cComplex, "conj", rb_complex_conjugate, 0);</div><div class='add'>+</div><div class='add'>+    rb_define_method(rb_cComplex, "real?", nucomp_false, 0);</div><div class='add'>+</div><div class='add'>+    rb_define_method(rb_cComplex, "numerator", nucomp_numerator, 0);</div><div class='add'>+    rb_define_method(rb_cComplex, "denominator", nucomp_denominator, 0);</div><div class='add'>+</div><div class='add'>+    rb_define_method(rb_cComplex, "hash", nucomp_hash, 0);</div><div class='add'>+    rb_define_method(rb_cComplex, "eql?", nucomp_eql_p, 1);</div><div class='add'>+</div><div class='add'>+    rb_define_method(rb_cComplex, "to_s", nucomp_to_s, 0);</div><div class='add'>+    rb_define_method(rb_cComplex, "inspect", nucomp_inspect, 0);</div><div class='add'>+</div><div class='add'>+    rb_undef_method(rb_cComplex, "positive?");</div><div class='add'>+    rb_undef_method(rb_cComplex, "negative?");</div><div class='add'>+</div><div class='add'>+    rb_define_method(rb_cComplex, "finite?", rb_complex_finite_p, 0);</div><div class='add'>+    rb_define_method(rb_cComplex, "infinite?", rb_complex_infinite_p, 0);</div><div class='add'>+</div><div class='add'>+    rb_define_private_method(rb_cComplex, "marshal_dump", nucomp_marshal_dump, 0);</div><div class='add'>+    /* :nodoc: */</div><div class='add'>+    compat = rb_define_class_under(rb_cComplex, "compatible", rb_cObject);</div><div class='add'>+    rb_define_private_method(compat, "marshal_load", nucomp_marshal_load, 1);</div><div class='add'>+    rb_marshal_define_compat(rb_cComplex, compat, nucomp_dumper, nucomp_loader);</div><div class='add'>+</div><div class='add'>+    /* --- */</div><div class='add'>+</div><div class='add'>+    rb_define_method(rb_cComplex, "to_i", nucomp_to_i, 0);</div><div class='add'>+    rb_define_method(rb_cComplex, "to_f", nucomp_to_f, 0);</div><div class='add'>+    rb_define_method(rb_cComplex, "to_r", nucomp_to_r, 0);</div><div class='add'>+    rb_define_method(rb_cComplex, "rationalize", nucomp_rationalize, -1);</div><div class='add'>+    rb_define_method(rb_cComplex, "to_c", nucomp_to_c, 0);</div><div class='add'>+    rb_define_method(rb_cNilClass, "to_c", nilclass_to_c, 0);</div><div class='add'>+    rb_define_method(rb_cNumeric, "to_c", numeric_to_c, 0);</div><div class='add'>+</div><div class='add'>+    rb_define_method(rb_cString, "to_c", string_to_c, 0);</div><div class='add'>+</div><div class='add'>+    rb_define_private_method(CLASS_OF(rb_cComplex), "convert", nucomp_s_convert, -1);</div><div class='add'>+</div><div class='add'>+    /* --- */</div><div class='add'>+</div><div class='add'>+    rb_define_method(rb_cNumeric, "real", numeric_real, 0);</div><div class='add'>+    rb_define_method(rb_cNumeric, "imaginary", numeric_imag, 0);</div><div class='add'>+    rb_define_method(rb_cNumeric, "imag", numeric_imag, 0);</div><div class='add'>+    rb_define_method(rb_cNumeric, "abs2", numeric_abs2, 0);</div><div class='add'>+    rb_define_method(rb_cNumeric, "arg", numeric_arg, 0);</div><div class='add'>+    rb_define_method(rb_cNumeric, "angle", numeric_arg, 0);</div><div class='add'>+    rb_define_method(rb_cNumeric, "phase", numeric_arg, 0);</div><div class='add'>+    rb_define_method(rb_cNumeric, "rectangular", numeric_rect, 0);</div><div class='add'>+    rb_define_method(rb_cNumeric, "rect", numeric_rect, 0);</div><div class='add'>+    rb_define_method(rb_cNumeric, "polar", numeric_polar, 0);</div><div class='add'>+    rb_define_method(rb_cNumeric, "conjugate", numeric_conj, 0);</div><div class='add'>+    rb_define_method(rb_cNumeric, "conj", numeric_conj, 0);</div><div class='add'>+</div><div class='add'>+    rb_define_method(rb_cFloat, "arg", float_arg, 0);</div><div class='add'>+    rb_define_method(rb_cFloat, "angle", float_arg, 0);</div><div class='add'>+    rb_define_method(rb_cFloat, "phase", float_arg, 0);</div><div class='add'>+</div><div class='add'>+    /*</div><div class='add'>+     * The imaginary unit.</div><div class='add'>+     */</div><div class='add'>+    rb_define_const(rb_cComplex, "I",</div><div class='add'>+		    f_complex_new_bang2(rb_cComplex, ZERO, ONE));</div><div class='add'>+</div><div class='add'>+#if !USE_FLONUM</div><div class='add'>+    rb_gc_register_mark_object(RFLOAT_0 = DBL2NUM(0.0));</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+    rb_provide("complex.so");	/* for backward compatibility */</div><div class='add'>+}</div><div class='head'>diff --git a/config.guess b/config.guess<br/>deleted file mode 100644<br/>index 7e23afe37b..0000000000<br/>--- a/<a href='/ruby.git/tree/config.guess?h=v3_0_0&amp;id=cfb52c86678519810cfa84b564a3d32a9200139d'>config.guess</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,961 +0,0 @@</div><div class='del'>-#! /bin/sh</div><div class='del'>-# Attempt to guess a canonical system name.</div><div class='del'>-#   Copyright (C) 1992, 93, 94, 95, 96, 97, 1998 Free Software Foundation, Inc.</div><div class='del'>-#</div><div class='del'>-# This file is free software; you can redistribute it and/or modify it</div><div class='del'>-# under the terms of the GNU General Public License as published by</div><div class='del'>-# the Free Software Foundation; either version 2 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, but</div><div class='del'>-# WITHOUT ANY WARRANTY; without even the implied warranty of</div><div class='del'>-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU</div><div class='del'>-# 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, write to the Free Software</div><div class='del'>-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.</div><div class='del'>-#</div><div class='del'>-# As a special exception to the GNU General Public License, if you</div><div class='del'>-# distribute this file as part of a program that contains a</div><div class='del'>-# 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 program.</div><div class='del'>-</div><div class='del'>-# Written by Per Bothner &lt;bothner@cygnus.com&gt;.</div><div class='del'>-# The master version of this file is at the FSF in /home/gd/gnu/lib.</div><div class='del'>-#</div><div class='del'>-# This script attempts to guess a canonical system name similar to</div><div class='del'>-# config.sub.  If it succeeds, it prints the system name on stdout, and</div><div class='del'>-# exits with 0.  Otherwise, it exits with 1.</div><div class='del'>-#</div><div class='del'>-# The plan is that this can be called by configure scripts if you</div><div class='del'>-# don't specify an explicit system type (host/target name).</div><div class='del'>-#</div><div class='del'>-# Only a few systems have been added to this list; please add others</div><div class='del'>-# (but try to keep the structure clean).</div><div class='del'>-#</div><div class='del'>-</div><div class='del'>-# Modified for Human68k by K.Okabe 1997.07.09</div><div class='del'>-# Last change: 1997.07.09</div><div class='del'>-</div><div class='del'>-case "$KSH_VERSION" in</div><div class='del'>-*X6*)</div><div class='del'>-  echo m68k-sharp-human</div><div class='del'>-  exit 0 ;;</div><div class='del'>-*)</div><div class='del'>-  ;;</div><div class='del'>-esac</div><div class='del'>-</div><div class='del'>-# This is needed to find uname on a Pyramid OSx when run in the BSD universe.</div><div class='del'>-# (ghazi@noc.rutgers.edu 8/24/94.)</div><div class='del'>-if (test -f /.attbin/uname) &gt;/dev/null 2&gt;&amp;1 ; then</div><div class='del'>-	PATH=$PATH:/.attbin ; export PATH</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-UNAME_MACHINE=`(uname -m) 2&gt;/dev/null` || UNAME_MACHINE=unknown</div><div class='del'>-UNAME_RELEASE=`(uname -r) 2&gt;/dev/null` || UNAME_RELEASE=unknown</div><div class='del'>-UNAME_SYSTEM=`(uname -s) 2&gt;/dev/null` || UNAME_SYSTEM=unknown</div><div class='del'>-UNAME_VERSION=`(uname -v) 2&gt;/dev/null` || UNAME_VERSION=unknown</div><div class='del'>-</div><div class='del'>-trap 'rm -f dummy.c dummy.o dummy; exit 1' 1 2 15</div><div class='del'>-</div><div class='del'>-# Note: order is significant - the case branches are not exclusive.</div><div class='del'>-</div><div class='del'>-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in</div><div class='del'>-    *:OS/2:*:*)</div><div class='del'>-	echo "i386-pc-os2_emx"</div><div class='del'>-	exit 0;;</div><div class='del'>-    alpha:OSF1:*:*)</div><div class='del'>-	if test $UNAME_RELEASE = "V4.0"; then</div><div class='del'>-		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`</div><div class='del'>-	fi</div><div class='del'>-	# A Vn.n version is a released version.</div><div class='del'>-	# A Tn.n version is a released field test version.</div><div class='del'>-	# A Xn.n version is an unreleased experimental baselevel.</div><div class='del'>-	# 1.2 uses "1.2" for uname -r.</div><div class='del'>-	cat &lt;&lt;EOF &gt;dummy.s</div><div class='del'>-	.globl main</div><div class='del'>-	.ent main</div><div class='del'>-main:</div><div class='del'>-	.frame \$30,0,\$26,0</div><div class='del'>-	.prologue 0</div><div class='del'>-	.long 0x47e03d80 # implver $0</div><div class='del'>-	lda \$2,259</div><div class='del'>-	.long 0x47e20c21 # amask $2,$1</div><div class='del'>-	srl \$1,8,\$2</div><div class='del'>-	sll \$2,2,\$2</div><div class='del'>-	sll \$0,3,\$0</div><div class='del'>-	addl \$1,\$0,\$0</div><div class='del'>-	addl \$2,\$0,\$0</div><div class='del'>-	ret \$31,(\$26),1</div><div class='del'>-	.end main</div><div class='del'>-EOF</div><div class='del'>-	${CC-cc} dummy.s -o dummy 2&gt;/dev/null</div><div class='del'>-	if test "$?" = 0 ; then</div><div class='del'>-		./dummy</div><div class='del'>-		case "$?" in</div><div class='del'>-			7)</div><div class='del'>-				UNAME_MACHINE="alpha"</div><div class='del'>-				;;</div><div class='del'>-			15)</div><div class='del'>-				UNAME_MACHINE="alphaev5"</div><div class='del'>-				;;</div><div class='del'>-			14)</div><div class='del'>-				UNAME_MACHINE="alphaev56"</div><div class='del'>-				;;</div><div class='del'>-			10)</div><div class='del'>-				UNAME_MACHINE="alphapca56"</div><div class='del'>-				;;</div><div class='del'>-			16)</div><div class='del'>-				UNAME_MACHINE="alphaev6"</div><div class='del'>-				;;</div><div class='del'>-		esac</div><div class='del'>-	fi</div><div class='del'>-	rm -f dummy.s dummy</div><div class='del'>-	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr [[A-Z]] [[a-z]]`</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    21064:Windows_NT:50:3)</div><div class='del'>-	echo alpha-dec-winnt3.5</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    Amiga*:UNIX_System_V:4.0:*)</div><div class='del'>-	echo m68k-cbm-sysv4</div><div class='del'>-	exit 0;;</div><div class='del'>-    amiga:NetBSD:*:*)</div><div class='del'>-      echo m68k-cbm-netbsd${UNAME_RELEASE}</div><div class='del'>-      exit 0 ;;</div><div class='del'>-    amiga:OpenBSD:*:*)</div><div class='del'>-	echo m68k-unknown-openbsd${UNAME_RELEASE}</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    *:[Aa]miga[Oo][Ss]:*:*)</div><div class='del'>-	echo ${UNAME_MACHINE}-unknown-amigaos</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    arc64:OpenBSD:*:*)</div><div class='del'>-	echo mips64el-unknown-openbsd${UNAME_RELEASE}</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    arc:OpenBSD:*:*)</div><div class='del'>-	echo mipsel-unknown-openbsd${UNAME_RELEASE}</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    hkmips:OpenBSD:*:*)</div><div class='del'>-	echo mips-unknown-openbsd${UNAME_RELEASE}</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    pmax:OpenBSD:*:*)</div><div class='del'>-	echo mipsel-unknown-openbsd${UNAME_RELEASE}</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    sgi:OpenBSD:*:*)</div><div class='del'>-	echo mips-unknown-openbsd${UNAME_RELEASE}</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    wgrisc:OpenBSD:*:*)</div><div class='del'>-	echo mipsel-unknown-openbsd${UNAME_RELEASE}</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)</div><div class='del'>-	echo arm-acorn-riscix${UNAME_RELEASE}</div><div class='del'>-	exit 0;;</div><div class='del'>-    arm32:NetBSD:*:*)</div><div class='del'>-	echo arm-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    SR2?01:HI-UX/MPP:*:*)</div><div class='del'>-	echo hppa1.1-hitachi-hiuxmpp</div><div class='del'>-	exit 0;;</div><div class='del'>-    Pyramid*:OSx*:*:*|MIS*:OSx*:*:*|MIS*:SMP_DC-OSx*:*:*)</div><div class='del'>-	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.</div><div class='del'>-	if test "`(/bin/universe) 2&gt;/dev/null`" = att ; then</div><div class='del'>-		echo pyramid-pyramid-sysv3</div><div class='del'>-	else</div><div class='del'>-		echo pyramid-pyramid-bsd</div><div class='del'>-	fi</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    NILE:*:*:dcosx)</div><div class='del'>-	echo pyramid-pyramid-svr4</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    sun4H:SunOS:5.*:*)</div><div class='del'>-	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)</div><div class='del'>-	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    i86pc:SunOS:5.*:*)</div><div class='del'>-	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    sun4*:SunOS:6*:*)</div><div class='del'>-	# According to config.sub, this is the proper way to canonicalize</div><div class='del'>-	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but</div><div class='del'>-	# it's likely to be more like Solaris than SunOS4.</div><div class='del'>-	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    sun4*:SunOS:*:*)</div><div class='del'>-	case "`/usr/bin/arch -k`" in</div><div class='del'>-	    Series*|S4*)</div><div class='del'>-		UNAME_RELEASE=`uname -v`</div><div class='del'>-		;;</div><div class='del'>-	esac</div><div class='del'>-	# Japanese Language versions have a version number like `4.1.3-JL'.</div><div class='del'>-	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    sun3*:SunOS:*:*)</div><div class='del'>-	echo m68k-sun-sunos${UNAME_RELEASE}</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    sun*:*:4.2BSD:*)</div><div class='del'>-	UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2&gt;/dev/null`</div><div class='del'>-	test "x${UNAME_RELEASE}" = "x" &amp;&amp; UNAME_RELEASE=3</div><div class='del'>-	case "`/bin/arch`" in</div><div class='del'>-	    sun3)</div><div class='del'>-		echo m68k-sun-sunos${UNAME_RELEASE}</div><div class='del'>-		;;</div><div class='del'>-	    sun4)</div><div class='del'>-		echo sparc-sun-sunos${UNAME_RELEASE}</div><div class='del'>-		;;</div><div class='del'>-	esac</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    aushp:SunOS:*:*)</div><div class='del'>-	echo sparc-auspex-sunos${UNAME_RELEASE}</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    atari*:NetBSD:*:*)</div><div class='del'>-	echo m68k-atari-netbsd${UNAME_RELEASE}</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    atari*:OpenBSD:*:*)</div><div class='del'>-	echo m68k-unknown-openbsd${UNAME_RELEASE}</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    sun3*:NetBSD:*:*)</div><div class='del'>-	echo m68k-sun-netbsd${UNAME_RELEASE}</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    sun3*:OpenBSD:*:*)</div><div class='del'>-	echo m68k-unknown-openbsd${UNAME_RELEASE}</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    mac68k:NetBSD:*:*)</div><div class='del'>-	echo m68k-apple-netbsd${UNAME_RELEASE}</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    mac68k:OpenBSD:*:*)</div><div class='del'>-	echo m68k-unknown-openbsd${UNAME_RELEASE}</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    mvme68k:OpenBSD:*:*)</div><div class='del'>-	echo m68k-unknown-openbsd${UNAME_RELEASE}</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    mvme88k:OpenBSD:*:*)</div><div class='del'>-	echo m88k-unknown-openbsd${UNAME_RELEASE}</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    powerpc:machten:*:*)</div><div class='del'>-	echo powerpc-apple-machten${UNAME_RELEASE}</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    macppc:NetBSD:*:*)</div><div class='del'>-        echo powerpc-apple-netbsd${UNAME_RELEASE}</div><div class='del'>-        exit 0 ;;</div><div class='del'>-    RISC*:Mach:*:*)</div><div class='del'>-	echo mips-dec-mach_bsd4.3</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    RISC*:ULTRIX:*:*)</div><div class='del'>-	echo mips-dec-ultrix${UNAME_RELEASE}</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    VAX*:ULTRIX*:*:*)</div><div class='del'>-	echo vax-dec-ultrix${UNAME_RELEASE}</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    2020:CLIX:*:*)</div><div class='del'>-	echo clipper-intergraph-clix${UNAME_RELEASE}</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    mips:*:*:UMIPS | mips:*:*:RISCos)</div><div class='del'>-	sed 's/^	//' &lt;&lt; EOF &gt;dummy.c</div><div class='del'>-	int main (argc, argv) int argc; char **argv; {</div><div class='del'>-	#if defined (host_mips) &amp;&amp; defined (MIPSEB)</div><div class='del'>-	#if defined (SYSTYPE_SYSV)</div><div class='del'>-	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);</div><div class='del'>-	#endif</div><div class='del'>-	#if defined (SYSTYPE_SVR4)</div><div class='del'>-	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);</div><div class='del'>-	#endif</div><div class='del'>-	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)</div><div class='del'>-	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);</div><div class='del'>-	#endif</div><div class='del'>-	#endif</div><div class='del'>-	  exit (-1);</div><div class='del'>-	}</div><div class='del'>-EOF</div><div class='del'>-	${CC-cc} dummy.c -o dummy \</div><div class='del'>-	  &amp;&amp; ./dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \</div><div class='del'>-	  &amp;&amp; rm dummy.c dummy &amp;&amp; exit 0</div><div class='del'>-	rm -f dummy.c dummy</div><div class='del'>-	echo mips-mips-riscos${UNAME_RELEASE}</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    Night_Hawk:Power_UNIX:*:*)</div><div class='del'>-	echo powerpc-harris-powerunix</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    m88k:CX/UX:7*:*)</div><div class='del'>-	echo m88k-harris-cxux7</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    m88k:*:4*:R4*)</div><div class='del'>-	echo m88k-motorola-sysv4</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    m88k:*:3*:R3*)</div><div class='del'>-	echo m88k-motorola-sysv3</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    AViiON:dgux:*:*)</div><div class='del'>-        # DG/UX returns AViiON for all architectures</div><div class='del'>-        UNAME_PROCESSOR=`/usr/bin/uname -p`</div><div class='del'>-        if [ $UNAME_PROCESSOR = mc88100 -o $UNAME_PROCESSOR = mc88110 ] ; then</div><div class='del'>-	if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \</div><div class='del'>-	     -o ${TARGET_BINARY_INTERFACE}x = x ] ; then</div><div class='del'>-		echo m88k-dg-dgux${UNAME_RELEASE}</div><div class='del'>-	else</div><div class='del'>-		echo m88k-dg-dguxbcs${UNAME_RELEASE}</div><div class='del'>-	fi</div><div class='del'>-        else echo i586-dg-dgux${UNAME_RELEASE}</div><div class='del'>-        fi</div><div class='del'>- 	exit 0 ;;</div><div class='del'>-    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)</div><div class='del'>-	echo m88k-dolphin-sysv3</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    M88*:*:R3*:*)</div><div class='del'>-	# Delta 88k system running SVR3</div><div class='del'>-	echo m88k-motorola-sysv3</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)</div><div class='del'>-	echo m88k-tektronix-sysv3</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)</div><div class='del'>-	echo m68k-tektronix-bsd</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    *:IRIX*:*:*)</div><div class='del'>-	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.</div><div class='del'>-	echo romp-ibm-aix      # uname -m gives an 8 hex-code CPU id</div><div class='del'>-	exit 0 ;;              # Note that: echo "'`uname -s`'" gives 'AIX '</div><div class='del'>-    i?86:AIX:*:*)</div><div class='del'>-	echo i386-ibm-aix</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    *:AIX:2:3)</div><div class='del'>-	if grep bos325 /usr/include/stdio.h &gt;/dev/null 2&gt;&amp;1; then</div><div class='del'>-		sed 's/^		//' &lt;&lt; EOF &gt;dummy.c</div><div class='del'>-		#include &lt;sys/systemcfg.h&gt;</div><div class='del'>-</div><div class='del'>-		main()</div><div class='del'>-			{</div><div class='del'>-			if (!__power_pc())</div><div class='del'>-				exit(1);</div><div class='del'>-			puts("powerpc-ibm-aix3.2.5");</div><div class='del'>-			exit(0);</div><div class='del'>-			}</div><div class='del'>-EOF</div><div class='del'>-		${CC-cc} dummy.c -o dummy &amp;&amp; ./dummy &amp;&amp; rm dummy.c dummy &amp;&amp; exit 0</div><div class='del'>-		rm -f dummy.c dummy</div><div class='del'>-		echo rs6000-ibm-aix3.2.5</div><div class='del'>-	elif grep bos324 /usr/include/stdio.h &gt;/dev/null 2&gt;&amp;1; then</div><div class='del'>-		echo rs6000-ibm-aix3.2.4</div><div class='del'>-	else</div><div class='del'>-		echo rs6000-ibm-aix3.2</div><div class='del'>-	fi</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    *:AIX:*:4)</div><div class='del'>-	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`</div><div class='del'>-	if /usr/sbin/lsattr -EHl ${IBM_CPU_ID} | grep POWER &gt;/dev/null 2&gt;&amp;1; then</div><div class='del'>-		IBM_ARCH=rs6000</div><div class='del'>-	else</div><div class='del'>-		IBM_ARCH=powerpc</div><div class='del'>-	fi</div><div class='del'>-	if [ -x /usr/bin/oslevel ] ; then</div><div class='del'>-		IBM_REV=`/usr/bin/oslevel`</div><div class='del'>-	else</div><div class='del'>-		IBM_REV=4.${UNAME_RELEASE}</div><div class='del'>-	fi</div><div class='del'>-	echo ${IBM_ARCH}-ibm-aix${IBM_REV}</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    *:AIX:*:*)</div><div class='del'>-	echo rs6000-ibm-aix</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    ibmrt:4.4BSD:*|romp-ibm:BSD:*)</div><div class='del'>-	echo romp-ibm-bsd4.4</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC NetBSD and</div><div class='del'>-	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to</div><div class='del'>-	exit 0 ;;                           # report: romp-ibm BSD 4.3</div><div class='del'>-    *:BOSX:*:*)</div><div class='del'>-	echo rs6000-bull-bosx</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    DPX/2?00:B.O.S.:*:*)</div><div class='del'>-	echo m68k-bull-sysv3</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    9000/[34]??:4.3bsd:1.*:*)</div><div class='del'>-	echo m68k-hp-bsd</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)</div><div class='del'>-	echo m68k-hp-bsd4.4</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    9000/[34678]??:HP-UX:*:*)</div><div class='del'>-	case "${UNAME_MACHINE}" in</div><div class='del'>-	    9000/31? )            HP_ARCH=m68000 ;;</div><div class='del'>-	    9000/[34]?? )         HP_ARCH=m68k ;;</div><div class='del'>-	    9000/[678]?? )</div><div class='del'>-              sed 's/^              //' &lt;&lt; EOF &gt;dummy.c</div><div class='del'>-              #include &lt;stdlib.h&gt;</div><div class='del'>-              #include &lt;unistd.h&gt;</div><div class='del'>-              </div><div class='del'>-              int main ()</div><div class='del'>-              {</div><div class='del'>-              #if defined(_SC_KERNEL_BITS)</div><div class='del'>-                  long bits = sysconf(_SC_KERNEL_BITS);</div><div class='del'>-              #endif </div><div class='del'>-                  long cpu  = sysconf (_SC_CPU_VERSION);</div><div class='del'>-              </div><div class='del'>-                  switch (cpu) </div><div class='del'>-              	{</div><div class='del'>-              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;</div><div class='del'>-              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;</div><div class='del'>-              	case CPU_PA_RISC2_0: </div><div class='del'>-              #if defined(_SC_KERNEL_BITS)</div><div class='del'>-              	    switch (bits) </div><div class='del'>-              		{</div><div class='del'>-              		case 64: puts ("hppa2.0w"); break;</div><div class='del'>-              		case 32: puts ("hppa2.0n"); break;</div><div class='del'>-              		default: puts ("hppa2.0"); break;</div><div class='del'>-              		} break;</div><div class='del'>-              #else  /* !defined(_SC_KERNEL_BITS) */</div><div class='del'>-              	    puts ("hppa2.0"); break;</div><div class='del'>-              #endif </div><div class='del'>-              	default: puts ("hppa1.0"); break;</div><div class='del'>-              	}</div><div class='del'>-                  exit (0);</div><div class='del'>-              }</div><div class='del'>-EOF</div><div class='del'>-	(${CC-cc} dummy.c -o dummy 2&gt;/dev/null ) &amp;&amp; HP_ARCH=`./dummy`</div><div class='del'>-	rm -f dummy.c dummy</div><div class='del'>-	esac</div><div class='del'>-	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`</div><div class='del'>-	echo ${HP_ARCH}-hp-hpux${HPUX_REV}</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    3050*:HI-UX:*:*)</div><div class='del'>-	sed 's/^	//' &lt;&lt; EOF &gt;dummy.c</div><div class='del'>-	#include &lt;unistd.h&gt;</div><div class='del'>-	int</div><div class='del'>-	main ()</div><div class='del'>-	{</div><div class='del'>-	  long cpu = sysconf (_SC_CPU_VERSION);</div><div class='del'>-	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns</div><div class='del'>-	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct</div><div class='del'>-	     results, however.  */</div><div class='del'>-	  if (CPU_IS_PA_RISC (cpu))</div><div class='del'>-	    {</div><div class='del'>-	      switch (cpu)</div><div class='del'>-		{</div><div class='del'>-		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;</div><div class='del'>-		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;</div><div class='del'>-		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;</div><div class='del'>-		  default: puts ("hppa-hitachi-hiuxwe2"); break;</div><div class='del'>-		}</div><div class='del'>-	    }</div><div class='del'>-	  else if (CPU_IS_HP_MC68K (cpu))</div><div class='del'>-	    puts ("m68k-hitachi-hiuxwe2");</div><div class='del'>-	  else puts ("unknown-hitachi-hiuxwe2");</div><div class='del'>-	  exit (0);</div><div class='del'>-	}</div><div class='del'>-EOF</div><div class='del'>-	${CC-cc} dummy.c -o dummy &amp;&amp; ./dummy &amp;&amp; rm dummy.c dummy &amp;&amp; exit 0</div><div class='del'>-	rm -f dummy.c dummy</div><div class='del'>-	echo unknown-hitachi-hiuxwe2</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )</div><div class='del'>-	echo hppa1.1-hp-bsd</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    9000/8??:4.3bsd:*:*)</div><div class='del'>-	echo hppa1.0-hp-bsd</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )</div><div class='del'>-	echo hppa1.1-hp-osf</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    hp8??:OSF1:*:*)</div><div class='del'>-	echo hppa1.0-hp-osf</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    i?86:OSF1:*:*)</div><div class='del'>-	if [ -x /usr/sbin/sysversion ] ; then</div><div class='del'>-	    echo ${UNAME_MACHINE}-unknown-osf1mk</div><div class='del'>-	else</div><div class='del'>-	    echo ${UNAME_MACHINE}-unknown-osf1</div><div class='del'>-	fi</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    parisc*:Lites*:*:*)</div><div class='del'>-	echo hppa1.1-hp-lites</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)</div><div class='del'>-	echo c1-convex-bsd</div><div class='del'>-        exit 0 ;;</div><div class='del'>-    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)</div><div class='del'>-	if getsysinfo -f scalar_acc</div><div class='del'>-	then echo c32-convex-bsd</div><div class='del'>-	else echo c2-convex-bsd</div><div class='del'>-	fi</div><div class='del'>-        exit 0 ;;</div><div class='del'>-    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)</div><div class='del'>-	echo c34-convex-bsd</div><div class='del'>-        exit 0 ;;</div><div class='del'>-    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)</div><div class='del'>-	echo c38-convex-bsd</div><div class='del'>-        exit 0 ;;</div><div class='del'>-    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)</div><div class='del'>-	echo c4-convex-bsd</div><div class='del'>-        exit 0 ;;</div><div class='del'>-    CRAY*X-MP:*:*:*)</div><div class='del'>-	echo xmp-cray-unicos</div><div class='del'>-        exit 0 ;;</div><div class='del'>-    CRAY*Y-MP:*:*:*)</div><div class='del'>-	echo ymp-cray-unicos${UNAME_RELEASE}</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    CRAY*[A-Z]90:*:*:*)</div><div class='del'>-	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \</div><div class='del'>-	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \</div><div class='del'>-	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    CRAY*TS:*:*:*)</div><div class='del'>-	echo t90-cray-unicos${UNAME_RELEASE}</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    CRAY-2:*:*:*)</div><div class='del'>-	echo cray2-cray-unicos</div><div class='del'>-        exit 0 ;;</div><div class='del'>-    F300:UNIX_System_V:*:*)</div><div class='del'>-        FUJITSU_SYS=`uname -p | tr [A-Z] [a-z] | sed -e 's/\///'`</div><div class='del'>-        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`</div><div class='del'>-        echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"</div><div class='del'>-        exit 0 ;;</div><div class='del'>-    F301:UNIX_System_V:*:*)</div><div class='del'>-       echo f301-fujitsu-uxpv`echo $UNAME_RELEASE | sed 's/ .*//'`</div><div class='del'>-       exit 0 ;;</div><div class='del'>-    hp3[0-9][05]:NetBSD:*:*)</div><div class='del'>-	echo m68k-hp-netbsd${UNAME_RELEASE}</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    hp300:OpenBSD:*:*)</div><div class='del'>-	echo m68k-unknown-openbsd${UNAME_RELEASE}</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    sparc*:BSD/OS:*:*)</div><div class='del'>-	echo sparc-unknown-bsdi${UNAME_RELEASE}</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    i?86:BSD/386:*:* | i?86:BSD/OS:*:*)</div><div class='del'>-	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    *:BSD/OS:*:*)</div><div class='del'>-	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    *:FreeBSD:*:*)</div><div class='del'>-	echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    *:NetBSD:*:*)</div><div class='del'>-	echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    *:OpenBSD:*:*)</div><div class='del'>-	echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    *:*:*BOW*:*)</div><div class='del'>-	echo i386-pc-bow</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    i*:CYGWIN*:*)</div><div class='del'>-	echo ${UNAME_MACHINE}-pc-cygwin</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    i*:MINGW*:*)</div><div class='del'>-	echo ${UNAME_MACHINE}-pc-mingw32</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    p*:CYGWIN*:*)</div><div class='del'>-	echo powerpcle-unknown-cygwin</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    prep*:SunOS:5.*:*)</div><div class='del'>-	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    *:GNU:*:*)</div><div class='del'>-	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    *:Linux:*:*)</div><div class='del'>-	# uname on the ARM produces all sorts of strangeness, and we need to</div><div class='del'>-	# filter it out.</div><div class='del'>-	case "$UNAME_MACHINE" in</div><div class='del'>-	  arm* | sa110*)	      UNAME_MACHINE="arm" ;;</div><div class='del'>-	esac</div><div class='del'>-</div><div class='del'>-	# The BFD linker knows what the default object file format is, so</div><div class='del'>-	# first see if it will tell us.</div><div class='del'>-	ld_help_string=`ld --help 2&gt;&amp;1`</div><div class='del'>-	ld_supported_emulations=`echo $ld_help_string \</div><div class='del'>-			 | sed -ne '/supported emulations:/!d</div><div class='del'>-				    s/[ 	][ 	]*/ /g</div><div class='del'>-				    s/.*supported emulations: *//</div><div class='del'>-				    s/ .*//</div><div class='del'>-				    p'`</div><div class='del'>-        case "$ld_supported_emulations" in</div><div class='del'>-	  i?86linux)  echo "${UNAME_MACHINE}-pc-linux-aout"      ; exit 0 ;;</div><div class='del'>-	  i?86coff)   echo "${UNAME_MACHINE}-pc-linux-coff"      ; exit 0 ;;</div><div class='del'>-	  sparclinux) echo "${UNAME_MACHINE}-unknown-linux-aout" ; exit 0 ;;</div><div class='del'>-	  m68klinux)  echo "${UNAME_MACHINE}-unknown-linux-aout" ; exit 0 ;;</div><div class='del'>-	  elf32ppc)   echo "powerpc-unknown-linux"               ; exit 0 ;;</div><div class='del'>-	esac</div><div class='del'>-</div><div class='del'>-	if test "${UNAME_MACHINE}" = "alpha" ; then</div><div class='del'>-		sed 's/^	//'  &lt;&lt;EOF &gt;dummy.s</div><div class='del'>-		.globl main</div><div class='del'>-		.ent main</div><div class='del'>-	main:</div><div class='del'>-		.frame \$30,0,\$26,0</div><div class='del'>-		.prologue 0</div><div class='del'>-		.long 0x47e03d80 # implver $0</div><div class='del'>-		lda \$2,259</div><div class='del'>-		.long 0x47e20c21 # amask $2,$1</div><div class='del'>-		srl \$1,8,\$2</div><div class='del'>-		sll \$2,2,\$2</div><div class='del'>-		sll \$0,3,\$0</div><div class='del'>-		addl \$1,\$0,\$0</div><div class='del'>-		addl \$2,\$0,\$0</div><div class='del'>-		ret \$31,(\$26),1</div><div class='del'>-		.end main</div><div class='del'>-EOF</div><div class='del'>-		LIBC=""</div><div class='del'>-		${CC-cc} dummy.s -o dummy 2&gt;/dev/null</div><div class='del'>-		if test "$?" = 0 ; then</div><div class='del'>-			./dummy</div><div class='del'>-			case "$?" in</div><div class='del'>-			7)</div><div class='del'>-				UNAME_MACHINE="alpha"</div><div class='del'>-				;;</div><div class='del'>-			15)</div><div class='del'>-				UNAME_MACHINE="alphaev5"</div><div class='del'>-				;;</div><div class='del'>-			14)</div><div class='del'>-				UNAME_MACHINE="alphaev56"</div><div class='del'>-				;;</div><div class='del'>-			10)</div><div class='del'>-				UNAME_MACHINE="alphapca56"</div><div class='del'>-				;;</div><div class='del'>-			16)</div><div class='del'>-				UNAME_MACHINE="alphaev6"</div><div class='del'>-				;;</div><div class='del'>-			esac	</div><div class='del'>-</div><div class='del'>-			objdump --private-headers dummy | \</div><div class='del'>-			  grep ld.so.1 &gt; /dev/null</div><div class='del'>-			if test "$?" = 0 ; then</div><div class='del'>-				LIBC="-libc1"</div><div class='del'>-			fi</div><div class='del'>-		fi	</div><div class='del'>-		rm -f dummy.s dummy</div><div class='del'>-		echo ${UNAME_MACHINE}-unknown-linux${LIBC} ; exit 0</div><div class='del'>-	elif test "${UNAME_MACHINE}" = "mips" ; then</div><div class='del'>-	  cat &gt;dummy.c &lt;&lt;EOF</div><div class='del'>-main(argc, argv)</div><div class='del'>-     int argc;</div><div class='del'>-     char *argv[];</div><div class='del'>-{</div><div class='del'>-#ifdef __MIPSEB__</div><div class='del'>-  printf ("%s-unknown-linux\n", argv[1]);</div><div class='del'>-#endif</div><div class='del'>-#ifdef __MIPSEL__</div><div class='del'>-  printf ("%sel-unknown-linux\n", argv[1]);</div><div class='del'>-#endif</div><div class='del'>-  return 0;</div><div class='del'>-}</div><div class='del'>-EOF</div><div class='del'>-	  ${CC-cc} dummy.c -o dummy 2&gt;/dev/null &amp;&amp; ./dummy "${UNAME_MACHINE}" &amp;&amp; rm dummy.c dummy &amp;&amp; exit 0</div><div class='del'>-	  rm -f dummy.c dummy</div><div class='del'>-	else</div><div class='del'>-	  case "${UNAME_MACHINE}" in</div><div class='del'>-	  i?86)</div><div class='del'>-	    VENDOR=pc;</div><div class='del'>-	    ;;</div><div class='del'>-	  *)</div><div class='del'>-	    VENDOR=unknown;</div><div class='del'>-	    ;;</div><div class='del'>-	  esac</div><div class='del'>-	  echo ${UNAME_MACHINE}-${VENDOR}-linux</div><div class='del'>-	  exit 0</div><div class='del'>-	fi ;;</div><div class='del'>-# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.  earlier versions</div><div class='del'>-# are messed up and put the nodename in both sysname and nodename.</div><div class='del'>-    i?86:DYNIX/ptx:4*:*)</div><div class='del'>-	echo i386-sequent-sysv4</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    i?86:UNIX_SV:4.2MP:2.*)</div><div class='del'>-        # Unixware is an offshoot of SVR4, but it has its own version</div><div class='del'>-        # number series starting with 2...</div><div class='del'>-        # I am not positive that other SVR4 systems won't match this,</div><div class='del'>-	# I just have to hope.  -- rms.</div><div class='del'>-        # Use sysv4.2uw... so that sysv4* matches it.</div><div class='del'>-	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*)</div><div class='del'>-	if grep Novell /usr/include/link.h &gt;/dev/null 2&gt;/dev/null; then</div><div class='del'>-		echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE}</div><div class='del'>-	else</div><div class='del'>-		echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}</div><div class='del'>-	fi</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    i?86:*:3.2:*)</div><div class='del'>-	if test -f /usr/options/cb.name; then</div><div class='del'>-		UNAME_REL=`sed -n 's/.*Version //p' &lt;/usr/options/cb.name`</div><div class='del'>-		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL</div><div class='del'>-	elif /bin/uname -X 2&gt;/dev/null &gt;/dev/null ; then</div><div class='del'>-		UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`</div><div class='del'>-		(/bin/uname -X|egrep i80486 &gt;/dev/null) &amp;&amp; UNAME_MACHINE=i486</div><div class='del'>-		(/bin/uname -X|egrep '^Machine.*Pentium' &gt;/dev/null) \</div><div class='del'>-			&amp;&amp; UNAME_MACHINE=i586</div><div class='del'>-		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL</div><div class='del'>-	else</div><div class='del'>-		echo ${UNAME_MACHINE}-pc-sysv32</div><div class='del'>-	fi</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    i?86:UnixWare:*:*)</div><div class='del'>-	if /bin/uname -X 2&gt;/dev/null &gt;/dev/null ; then</div><div class='del'>-	  (/bin/uname -X|egrep '^Machine.*Pentium' &gt;/dev/null) \</div><div class='del'>-	    &amp;&amp; UNAME_MACHINE=i586</div><div class='del'>-	fi</div><div class='del'>-	echo ${UNAME_MACHINE}-unixware-${UNAME_RELEASE}-${UNAME_VERSION}</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    pc:*:*:*)</div><div class='del'>-        # uname -m prints for DJGPP always 'pc', but it prints nothing about</div><div class='del'>-        # the processor, so we play safe by assuming i386.</div><div class='del'>-	echo i386-pc-msdosdjgpp</div><div class='del'>-        exit 0 ;;</div><div class='del'>-    Intel:Mach:3*:*)</div><div class='del'>-	echo i386-pc-mach3</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    paragon:*:*:*)</div><div class='del'>-	echo i860-intel-osf1</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    i860:*:4.*:*) # i860-SVR4</div><div class='del'>-	if grep Stardent /usr/include/sys/uadmin.h &gt;/dev/null 2&gt;&amp;1 ; then</div><div class='del'>-	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4</div><div class='del'>-	else # Add other i860-SVR4 vendors below as they are discovered.</div><div class='del'>-	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4</div><div class='del'>-	fi</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    mini*:CTIX:SYS*5:*)</div><div class='del'>-	# "miniframe"</div><div class='del'>-	echo m68010-convergent-sysv</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    M68*:*:R3V[567]*:*)</div><div class='del'>-	test -r /sysV68 &amp;&amp; echo 'm68k-motorola-sysv' &amp;&amp; exit 0 ;;</div><div class='del'>-    3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)</div><div class='del'>-	OS_REL=''</div><div class='del'>-	test -r /etc/.relid \</div><div class='del'>-	&amp;&amp; OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' &lt; /etc/.relid`</div><div class='del'>-	/bin/uname -p 2&gt;/dev/null | grep 86 &gt;/dev/null \</div><div class='del'>-	  &amp;&amp; echo i486-ncr-sysv4.3${OS_REL} &amp;&amp; exit 0</div><div class='del'>-	/bin/uname -p 2&gt;/dev/null | /bin/grep entium &gt;/dev/null \</div><div class='del'>-	  &amp;&amp; echo i586-ncr-sysv4.3${OS_REL} &amp;&amp; exit 0 ;;</div><div class='del'>-    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)</div><div class='del'>-        /bin/uname -p 2&gt;/dev/null | grep 86 &gt;/dev/null \</div><div class='del'>-          &amp;&amp; echo i486-ncr-sysv4 &amp;&amp; exit 0 ;;</div><div class='del'>-    m68*:LynxOS:2.*:*)</div><div class='del'>-	echo m68k-unknown-lynxos${UNAME_RELEASE}</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    mc68030:UNIX_System_V:4.*:*)</div><div class='del'>-	echo m68k-atari-sysv4</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    i?86:LynxOS:2.*:*)</div><div class='del'>-	echo i386-unknown-lynxos${UNAME_RELEASE}</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    TSUNAMI:LynxOS:2.*:*)</div><div class='del'>-	echo sparc-unknown-lynxos${UNAME_RELEASE}</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    rs6000:LynxOS:2.*:* | PowerPC:LynxOS:2.*:*)</div><div class='del'>-	echo rs6000-unknown-lynxos${UNAME_RELEASE}</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    SM[BE]S:UNIX_SV:*:*)</div><div class='del'>-	echo mips-dde-sysv${UNAME_RELEASE}</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    RM*:SINIX-*:*:*)</div><div class='del'>-	echo mips-sni-sysv4</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    *:SINIX-*:*:*)</div><div class='del'>-	if uname -p 2&gt;/dev/null &gt;/dev/null ; then</div><div class='del'>-		UNAME_MACHINE=`(uname -p) 2&gt;/dev/null`</div><div class='del'>-		echo ${UNAME_MACHINE}-sni-sysv4</div><div class='del'>-	else</div><div class='del'>-		echo ns32k-sni-sysv</div><div class='del'>-	fi</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort</div><div class='del'>-                           # says &lt;Richard.M.Bartel@ccMail.Census.GOV&gt;</div><div class='del'>-        echo i586-unisys-sysv4</div><div class='del'>-        exit 0 ;;</div><div class='del'>-    *:UNIX_System_V:4*:FTX*)</div><div class='del'>-	# From Gerald Hewes &lt;hewes@openmarket.com&gt;.</div><div class='del'>-	# How about differentiating between stratus architectures? -djm</div><div class='del'>-	echo hppa1.1-stratus-sysv4</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    *:*:*:FTX*)</div><div class='del'>-	# From seanf@swdc.stratus.com.</div><div class='del'>-	echo i860-stratus-sysv4</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    mc68*:A/UX:*:*)</div><div class='del'>-	echo m68k-apple-aux${UNAME_RELEASE}</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    news*:NEWS-OS:*:6*)</div><div class='del'>-	echo mips-sony-newsos6</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R4000:UNIX_SV:*:*)</div><div class='del'>-	if [ -d /usr/nec ]; then</div><div class='del'>-		echo mips-nec-sysv`echo ${UNAME_RELEASE} | sed -n 's/\([.0-9]*\).*/\1/p'`</div><div class='del'>-	else</div><div class='del'>-	        echo mips-unknown-sysv${UNAME_RELEASE}</div><div class='del'>-	fi</div><div class='del'>-        exit 0 ;;</div><div class='del'>-    DS/90*:*:*:V20*)</div><div class='del'>-  	echo sparc-fujitsu-uxpds</div><div class='del'>-  	exit 0 ;;</div><div class='del'>-    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.</div><div class='del'>-	echo powerpc-be-beos</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.</div><div class='del'>-	echo powerpc-apple-beos</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.</div><div class='del'>-	echo i586-pc-beos</div><div class='del'>-	exit 0 ;;</div><div class='del'>-</div><div class='del'>-	*:Rhapsody:*:*)</div><div class='del'>-	arch=`/usr/bin/arch`</div><div class='del'>-	case "$arch" in</div><div class='del'>-	ppc)</div><div class='del'>-		echo powerpc-apple-rhapsody${UNAME_RELEASE}</div><div class='del'>-		;;</div><div class='del'>-	i[3456]86)</div><div class='del'>-		echo i386-apple-rhapsody${UNAME_RELEASE}</div><div class='del'>-		;;</div><div class='del'>-	*)</div><div class='del'>-		echo $arch-apple-rhapsody${UNAME_RELEASE}</div><div class='del'>-		;;</div><div class='del'>-	esac</div><div class='del'>-	exit 0 ;;</div><div class='del'>-esac</div><div class='del'>-</div><div class='del'>-#echo '(No uname command or uname output not recognized.)' 1&gt;&amp;2</div><div class='del'>-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1&gt;&amp;2</div><div class='del'>-</div><div class='del'>-cat &gt;dummy.c &lt;&lt;EOF</div><div class='del'>-#ifdef _SEQUENT_</div><div class='del'>-# include &lt;sys/types.h&gt;</div><div class='del'>-# include &lt;sys/utsname.h&gt;</div><div class='del'>-#endif</div><div class='del'>-main ()</div><div class='del'>-{</div><div class='del'>-#if defined (sony)</div><div class='del'>-#if defined (MIPSEB)</div><div class='del'>-  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,</div><div class='del'>-     I don't know....  */</div><div class='del'>-  printf ("mips-sony-bsd\n"); exit (0);</div><div class='del'>-#else</div><div class='del'>-#include &lt;sys/param.h&gt;</div><div class='del'>-  printf ("m68k-sony-newsos%s\n",</div><div class='del'>-#ifdef NEWSOS4</div><div class='del'>-          "4"</div><div class='del'>-#else</div><div class='del'>-	  ""</div><div class='del'>-#endif</div><div class='del'>-         ); exit (0);</div><div class='del'>-#endif</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#if defined (__arm) &amp;&amp; defined (__acorn) &amp;&amp; defined (__unix)</div><div class='del'>-  printf ("arm-acorn-riscix"); exit (0);</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#if defined (hp300) &amp;&amp; !defined (hpux)</div><div class='del'>-  printf ("m68k-hp-bsd\n"); exit (0);</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#if defined (NeXT)</div><div class='del'>-#if !defined (__ARCHITECTURE__)</div><div class='del'>-#define __ARCHITECTURE__ "m68k"</div><div class='del'>-#endif</div><div class='del'>-  int version;</div><div class='del'>-  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2&gt;/dev/null`;</div><div class='del'>-  if (version &lt; 4)</div><div class='del'>-    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);</div><div class='del'>-  else</div><div class='del'>-    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);</div><div class='del'>-</div><div class='del'>-  exit (0);</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#if defined (MULTIMAX) || defined (n16)</div><div class='del'>-#if defined (UMAXV)</div><div class='del'>-  printf ("ns32k-encore-sysv\n"); exit (0);</div><div class='del'>-#else</div><div class='del'>-#if defined (CMU)</div><div class='del'>-  printf ("ns32k-encore-mach\n"); exit (0);</div><div class='del'>-#else</div><div class='del'>-  printf ("ns32k-encore-bsd\n"); exit (0);</div><div class='del'>-#endif</div><div class='del'>-#endif</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#if defined (__386BSD__)</div><div class='del'>-  printf ("i386-pc-bsd\n"); exit (0);</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#if defined (sequent)</div><div class='del'>-#if defined (i386)</div><div class='del'>-  printf ("i386-sequent-dynix\n"); exit (0);</div><div class='del'>-#endif</div><div class='del'>-#if defined (ns32000)</div><div class='del'>-  printf ("ns32k-sequent-dynix\n"); exit (0);</div><div class='del'>-#endif</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#if defined (_SEQUENT_)</div><div class='del'>-    struct utsname un;</div><div class='del'>-</div><div class='del'>-    uname(&amp;un);</div><div class='del'>-</div><div class='del'>-    if (strncmp(un.version, "V2", 2) == 0) {</div><div class='del'>-	printf ("i386-sequent-ptx2\n"); exit (0);</div><div class='del'>-    }</div><div class='del'>-    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */</div><div class='del'>-	printf ("i386-sequent-ptx1\n"); exit (0);</div><div class='del'>-    }</div><div class='del'>-    printf ("i386-sequent-ptx\n"); exit (0);</div><div class='del'>-</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#if defined (vax)</div><div class='del'>-#if !defined (ultrix)</div><div class='del'>-  printf ("vax-dec-bsd\n"); exit (0);</div><div class='del'>-#else</div><div class='del'>-  printf ("vax-dec-ultrix\n"); exit (0);</div><div class='del'>-#endif</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-#if defined (alliant) &amp;&amp; defined (i860)</div><div class='del'>-  printf ("i860-alliant-bsd\n"); exit (0);</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-  exit (1);</div><div class='del'>-}</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-${CC-cc} dummy.c -o dummy 2&gt;/dev/null &amp;&amp; ./dummy &amp;&amp; rm dummy.c dummy &amp;&amp; exit 0</div><div class='del'>-rm -f dummy.c dummy</div><div class='del'>-</div><div class='del'>-# Apollos put the system type in the environment.</div><div class='del'>-</div><div class='del'>-test -d /usr/apollo &amp;&amp; { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }</div><div class='del'>-</div><div class='del'>-# Convex versions that predate uname can use getsysinfo(1)</div><div class='del'>-</div><div class='del'>-if [ -x /usr/convex/getsysinfo ]</div><div class='del'>-then</div><div class='del'>-    case `getsysinfo -f cpu_type` in</div><div class='del'>-    c1*)</div><div class='del'>-	echo c1-convex-bsd</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    c2*)</div><div class='del'>-	if getsysinfo -f scalar_acc</div><div class='del'>-	then echo c32-convex-bsd</div><div class='del'>-	else echo c2-convex-bsd</div><div class='del'>-	fi</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    c34*)</div><div class='del'>-	echo c34-convex-bsd</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    c38*)</div><div class='del'>-	echo c38-convex-bsd</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    c4*)</div><div class='del'>-	echo c4-convex-bsd</div><div class='del'>-	exit 0 ;;</div><div class='del'>-    esac</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-#echo '(Unable to guess system type)' 1&gt;&amp;2</div><div class='del'>-</div><div class='del'>-exit 1</div><div class='head'>diff --git a/config.sub b/config.sub<br/>deleted file mode 100644<br/>index aa2241272b..0000000000<br/>--- a/<a href='/ruby.git/tree/config.sub?h=v3_0_0&amp;id=cfb52c86678519810cfa84b564a3d32a9200139d'>config.sub</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,969 +0,0 @@</div><div class='del'>-#! /bin/sh</div><div class='del'>-# Configuration validation subroutine script, version 1.1.</div><div class='del'>-#   Copyright (C) 1991, 92-97, 1998 Free Software Foundation, Inc.</div><div class='del'>-# This file is (in principle) common to ALL GNU software.</div><div class='del'>-# The presence of a machine in this file suggests that SOME GNU software</div><div class='del'>-# can handle that machine.  It does not imply ALL GNU software can.</div><div class='del'>-#</div><div class='del'>-# This file 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 2 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, write to the Free Software</div><div class='del'>-# Foundation, Inc., 59 Temple Place - Suite 330,</div><div class='del'>-# Boston, MA 02111-1307, USA.</div><div class='del'>-</div><div class='del'>-# As a special exception to the GNU General Public License, if you</div><div class='del'>-# distribute this file as part of a program that contains a</div><div class='del'>-# 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 program.</div><div class='del'>-</div><div class='del'>-# Configuration subroutine to validate and canonicalize a configuration type.</div><div class='del'>-# Supply the specified configuration type as an argument.</div><div class='del'>-# If it is invalid, we print an error message on stderr and exit with code 1.</div><div class='del'>-# Otherwise, we print the canonical config type on stdout and succeed.</div><div class='del'>-</div><div class='del'>-# This file is supposed to be the same for all GNU packages</div><div class='del'>-# and recognize all the CPU types, system types and aliases</div><div class='del'>-# that are meaningful with *any* GNU software.</div><div class='del'>-# Each package is responsible for reporting which valid configurations</div><div class='del'>-# it does not support.  The user should be able to distinguish</div><div class='del'>-# a failure to support a valid configuration from a meaningless</div><div class='del'>-# configuration.</div><div class='del'>-</div><div class='del'>-# The goal of this file is to map all the various variations of a given</div><div class='del'>-# machine specification into a single specification in the form:</div><div class='del'>-#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM</div><div class='del'>-# or in some cases, the newer four-part form:</div><div class='del'>-#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM</div><div class='del'>-# It is wrong to echo any other type of specification.</div><div class='del'>-</div><div class='del'>-if [ x$1 = x ]</div><div class='del'>-then</div><div class='del'>-	echo Configuration name missing. 1&gt;&amp;2</div><div class='del'>-	echo "Usage: $0 CPU-MFR-OPSYS" 1&gt;&amp;2</div><div class='del'>-	echo "or     $0 ALIAS" 1&gt;&amp;2</div><div class='del'>-	echo where ALIAS is a recognized configuration type. 1&gt;&amp;2</div><div class='del'>-	exit 1</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-# First pass through any local machine types.</div><div class='del'>-case $1 in</div><div class='del'>-	*local*)</div><div class='del'>-		echo $1</div><div class='del'>-		exit 0</div><div class='del'>-		;;</div><div class='del'>-	*)</div><div class='del'>-	;;</div><div class='del'>-esac</div><div class='del'>-</div><div class='del'>-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).</div><div class='del'>-# Here we must recognize all the valid KERNEL-OS combinations.</div><div class='del'>-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`</div><div class='del'>-case $maybe_os in</div><div class='del'>-  linux-gnu*)</div><div class='del'>-    os=-$maybe_os</div><div class='del'>-    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`</div><div class='del'>-    ;;</div><div class='del'>-  *)</div><div class='del'>-    basic_machine=`echo $1 | sed 's/-[^-]*$//'`</div><div class='del'>-    if [ $basic_machine != $1 ]</div><div class='del'>-    then os=`echo $1 | sed 's/.*-/-/'`</div><div class='del'>-    else os=; fi</div><div class='del'>-    ;;</div><div class='del'>-esac</div><div class='del'>-</div><div class='del'>-### Let's recognize common machines as not being operating systems so</div><div class='del'>-### that things like config.sub decstation-3100 work.  We also</div><div class='del'>-### recognize some manufacturers as not being operating systems, so we</div><div class='del'>-### can provide default operating systems below.</div><div class='del'>-case $os in</div><div class='del'>-	-sun*os*)</div><div class='del'>-		# Prevent following clause from handling this invalid input.</div><div class='del'>-		;;</div><div class='del'>-	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \</div><div class='del'>-	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \</div><div class='del'>-	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \</div><div class='del'>-	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\</div><div class='del'>-	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \</div><div class='del'>-	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \</div><div class='del'>-	-apple)</div><div class='del'>-		os=</div><div class='del'>-		basic_machine=$1</div><div class='del'>-		;;</div><div class='del'>-	-hiux*)</div><div class='del'>-		os=-hiuxwe2</div><div class='del'>-		;;</div><div class='del'>-	-sco5)</div><div class='del'>-		os=sco3.2v5</div><div class='del'>-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`</div><div class='del'>-		;;</div><div class='del'>-	-sco4)</div><div class='del'>-		os=-sco3.2v4</div><div class='del'>-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`</div><div class='del'>-		;;</div><div class='del'>-	-sco3.2.[4-9]*)</div><div class='del'>-		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`</div><div class='del'>-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`</div><div class='del'>-		;;</div><div class='del'>-	-sco3.2v[4-9]*)</div><div class='del'>-		# Don't forget version if it is 3.2v4 or newer.</div><div class='del'>-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`</div><div class='del'>-		;;</div><div class='del'>-	-sco*)</div><div class='del'>-		os=-sco3.2v2</div><div class='del'>-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`</div><div class='del'>-		;;</div><div class='del'>-	-isc)</div><div class='del'>-		os=-isc2.2</div><div class='del'>-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`</div><div class='del'>-		;;</div><div class='del'>-	-clix*)</div><div class='del'>-		basic_machine=clipper-intergraph</div><div class='del'>-		;;</div><div class='del'>-	-isc*)</div><div class='del'>-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`</div><div class='del'>-		;;</div><div class='del'>-	-lynx*)</div><div class='del'>-		os=-lynxos</div><div class='del'>-		;;</div><div class='del'>-	-ptx*)</div><div class='del'>-		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`</div><div class='del'>-		;;</div><div class='del'>-	-windowsnt*)</div><div class='del'>-		os=`echo $os | sed -e 's/windowsnt/winnt/'`</div><div class='del'>-		;;</div><div class='del'>-	-psos*)</div><div class='del'>-		os=-psos</div><div class='del'>-		;;</div><div class='del'>-esac</div><div class='del'>-</div><div class='del'>-# Decode aliases for certain CPU-COMPANY combinations.</div><div class='del'>-case $basic_machine in</div><div class='del'>-	# Recognize the basic CPU types without company name.</div><div class='del'>-	# Some are omitted here because they have special meanings below.</div><div class='del'>-	tahoe | i860 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \</div><div class='del'>-		| arme[lb] | pyramid | mn10200 | mn10300 | tron | a29k \</div><div class='del'>-		| 580 | i960 | h8300 | hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w \</div><div class='del'>-		| alpha | alphaev5 | alphaev56 | we32k | ns16k | clipper \</div><div class='del'>-		| i370 | sh | powerpc | powerpcle | 1750a | dsp16xx | pdp11 \</div><div class='del'>-		| mips64 | mipsel | mips64el | mips64orion | mips64orionel \</div><div class='del'>-		| mipstx39 | mipstx39el \</div><div class='del'>-		| sparc | sparclet | sparclite | sparc64 | v850)</div><div class='del'>-		basic_machine=$basic_machine-unknown</div><div class='del'>-		;;</div><div class='del'>-	# We use `pc' rather than `unknown'</div><div class='del'>-	# because (1) that's what they normally are, and</div><div class='del'>-	# (2) the word "unknown" tends to confuse beginning users.</div><div class='del'>-	i[34567]86)</div><div class='del'>-	  basic_machine=$basic_machine-pc</div><div class='del'>-	  ;;</div><div class='del'>-	i[3456]86-TOWNS*)</div><div class='del'>-	  basic_machine=`echo $basic_machine | sed -e 's/-TOWNS.*/-TOWNS/'`</div><div class='del'>-	  ;;</div><div class='del'>-	# Object if more than one company name word.</div><div class='del'>-	*-*-*)</div><div class='del'>-		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1&gt;&amp;2</div><div class='del'>-		exit 1</div><div class='del'>-		;;</div><div class='del'>-	# Recognize the basic CPU types with company name.</div><div class='del'>-	vax-* | tahoe-* | i[34567]86-* | i860-* | m32r-* | m68k-* | m68000-* \</div><div class='del'>-	      | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \</div><div class='del'>-	      | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \</div><div class='del'>-	      | power-* | none-* | 580-* | cray2-* | h8300-* | i960-* \</div><div class='del'>-	      | xmp-* | ymp-* | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* \</div><div class='del'>-	      | alpha-* | alphaev5-* | alphaev56-* | we32k-* | cydra-* \</div><div class='del'>-	      | ns16k-* | pn-* | np1-* | xps100-* | clipper-* | orion-* \</div><div class='del'>-	      | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \</div><div class='del'>-	      | sparc64-* | mips64-* | mipsel-* \</div><div class='del'>-	      | mips64el-* | mips64orion-* | mips64orionel-*  \</div><div class='del'>-	      | mipstx39-* | mipstx39el-* \</div><div class='del'>-	      | f301-*)</div><div class='del'>-		;;</div><div class='del'>-	# Recognize the various machine names and aliases which stand</div><div class='del'>-	# for a CPU type and a company and sometimes even an OS.</div><div class='del'>-	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)</div><div class='del'>-		basic_machine=m68000-att</div><div class='del'>-		;;</div><div class='del'>-	3b*)</div><div class='del'>-		basic_machine=we32k-att</div><div class='del'>-		;;</div><div class='del'>-	alliant | fx80)</div><div class='del'>-		basic_machine=fx80-alliant</div><div class='del'>-		;;</div><div class='del'>-	altos | altos3068)</div><div class='del'>-		basic_machine=m68k-altos</div><div class='del'>-		;;</div><div class='del'>-	am29k)</div><div class='del'>-		basic_machine=a29k-none</div><div class='del'>-		os=-bsd</div><div class='del'>-		;;</div><div class='del'>-	amdahl)</div><div class='del'>-		basic_machine=580-amdahl</div><div class='del'>-		os=-sysv</div><div class='del'>-		;;</div><div class='del'>-	amiga | amiga-*)</div><div class='del'>-		basic_machine=m68k-cbm</div><div class='del'>-		;;</div><div class='del'>-	amigaos | amigados)</div><div class='del'>-		basic_machine=m68k-cbm</div><div class='del'>-		os=-amigaos</div><div class='del'>-		;;</div><div class='del'>-	amigaunix | amix)</div><div class='del'>-		basic_machine=m68k-cbm</div><div class='del'>-		os=-sysv4</div><div class='del'>-		;;</div><div class='del'>-	apollo68)</div><div class='del'>-		basic_machine=m68k-apollo</div><div class='del'>-		os=-sysv</div><div class='del'>-		;;</div><div class='del'>-	aux)</div><div class='del'>-		basic_machine=m68k-apple</div><div class='del'>-		os=-aux</div><div class='del'>-		;;</div><div class='del'>-	balance)</div><div class='del'>-		basic_machine=ns32k-sequent</div><div class='del'>-		os=-dynix</div><div class='del'>-		;;</div><div class='del'>-	convex-c1)</div><div class='del'>-		basic_machine=c1-convex</div><div class='del'>-		os=-bsd</div><div class='del'>-		;;</div><div class='del'>-	convex-c2)</div><div class='del'>-		basic_machine=c2-convex</div><div class='del'>-		os=-bsd</div><div class='del'>-		;;</div><div class='del'>-	convex-c32)</div><div class='del'>-		basic_machine=c32-convex</div><div class='del'>-		os=-bsd</div><div class='del'>-		;;</div><div class='del'>-	convex-c34)</div><div class='del'>-		basic_machine=c34-convex</div><div class='del'>-		os=-bsd</div><div class='del'>-		;;</div><div class='del'>-	convex-c38)</div><div class='del'>-		basic_machine=c38-convex</div><div class='del'>-		os=-bsd</div><div class='del'>-		;;</div><div class='del'>-	cray | ymp)</div><div class='del'>-		basic_machine=ymp-cray</div><div class='del'>-		os=-unicos</div><div class='del'>-		;;</div><div class='del'>-	cray2)</div><div class='del'>-		basic_machine=cray2-cray</div><div class='del'>-		os=-unicos</div><div class='del'>-		;;</div><div class='del'>-	[ctj]90-cray)</div><div class='del'>-		basic_machine=c90-cray</div><div class='del'>-		os=-unicos</div><div class='del'>-		;;</div><div class='del'>-	crds | unos)</div><div class='del'>-		basic_machine=m68k-crds</div><div class='del'>-		;;</div><div class='del'>-	da30 | da30-*)</div><div class='del'>-		basic_machine=m68k-da30</div><div class='del'>-		;;</div><div class='del'>-	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)</div><div class='del'>-		basic_machine=mips-dec</div><div class='del'>-		;;</div><div class='del'>-	delta | 3300 | motorola-3300 | motorola-delta \</div><div class='del'>-	      | 3300-motorola | delta-motorola)</div><div class='del'>-		basic_machine=m68k-motorola</div><div class='del'>-		;;</div><div class='del'>-	delta88)</div><div class='del'>-		basic_machine=m88k-motorola</div><div class='del'>-		os=-sysv3</div><div class='del'>-		;;</div><div class='del'>-	dpx20 | dpx20-*)</div><div class='del'>-		basic_machine=rs6000-bull</div><div class='del'>-		os=-bosx</div><div class='del'>-		;;</div><div class='del'>-	dpx2* | dpx2*-bull)</div><div class='del'>-		basic_machine=m68k-bull</div><div class='del'>-		os=-sysv3</div><div class='del'>-		;;</div><div class='del'>-	ebmon29k)</div><div class='del'>-		basic_machine=a29k-amd</div><div class='del'>-		os=-ebmon</div><div class='del'>-		;;</div><div class='del'>-	elxsi)</div><div class='del'>-		basic_machine=elxsi-elxsi</div><div class='del'>-		os=-bsd</div><div class='del'>-		;;</div><div class='del'>-	encore | umax | mmax)</div><div class='del'>-		basic_machine=ns32k-encore</div><div class='del'>-		;;</div><div class='del'>-	fx2800)</div><div class='del'>-		basic_machine=i860-alliant</div><div class='del'>-		;;</div><div class='del'>-	genix)</div><div class='del'>-		basic_machine=ns32k-ns</div><div class='del'>-		;;</div><div class='del'>-	gmicro)</div><div class='del'>-		basic_machine=tron-gmicro</div><div class='del'>-		os=-sysv</div><div class='del'>-		;;</div><div class='del'>-	h3050r* | hiux*)</div><div class='del'>-		basic_machine=hppa1.1-hitachi</div><div class='del'>-		os=-hiuxwe2</div><div class='del'>-		;;</div><div class='del'>-	h8300hms)</div><div class='del'>-		basic_machine=h8300-hitachi</div><div class='del'>-		os=-hms</div><div class='del'>-		;;</div><div class='del'>-	harris)</div><div class='del'>-		basic_machine=m88k-harris</div><div class='del'>-		os=-sysv3</div><div class='del'>-		;;</div><div class='del'>-	hp300-*)</div><div class='del'>-		basic_machine=m68k-hp</div><div class='del'>-		;;</div><div class='del'>-	hp300bsd)</div><div class='del'>-		basic_machine=m68k-hp</div><div class='del'>-		os=-bsd</div><div class='del'>-		;;</div><div class='del'>-	hp300hpux)</div><div class='del'>-		basic_machine=m68k-hp</div><div class='del'>-		os=-hpux</div><div class='del'>-		;;</div><div class='del'>-	hp9k2[0-9][0-9] | hp9k31[0-9])</div><div class='del'>-		basic_machine=m68000-hp</div><div class='del'>-		;;</div><div class='del'>-	hp9k3[2-9][0-9])</div><div class='del'>-		basic_machine=m68k-hp</div><div class='del'>-		;;</div><div class='del'>-	hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7)</div><div class='del'>-		basic_machine=hppa1.1-hp</div><div class='del'>-		;;</div><div class='del'>-	hp9k8[0-9][0-9] | hp8[0-9][0-9])</div><div class='del'>-		basic_machine=hppa1.0-hp</div><div class='del'>-		;;</div><div class='del'>-	hppa-next)</div><div class='del'>-		os=-nextstep3</div><div class='del'>-		;;</div><div class='del'>-	i370-ibm* | ibm*)</div><div class='del'>-		basic_machine=i370-ibm</div><div class='del'>-		os=-mvs</div><div class='del'>-		;;</div><div class='del'>-# I'm not sure what "Sysv32" means.  Should this be sysv3.2?</div><div class='del'>-	i[34567]86v32)</div><div class='del'>-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`</div><div class='del'>-		os=-sysv32</div><div class='del'>-		;;</div><div class='del'>-	i[34567]86v4*)</div><div class='del'>-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`</div><div class='del'>-		os=-sysv4</div><div class='del'>-		;;</div><div class='del'>-	i[34567]86v)</div><div class='del'>-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`</div><div class='del'>-		os=-sysv</div><div class='del'>-		;;</div><div class='del'>-	i[34567]86sol2)</div><div class='del'>-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`</div><div class='del'>-		os=-solaris2</div><div class='del'>-		;;</div><div class='del'>-	iris | iris4d)</div><div class='del'>-		basic_machine=mips-sgi</div><div class='del'>-		case $os in</div><div class='del'>-		    -irix*)</div><div class='del'>-			;;</div><div class='del'>-		    *)</div><div class='del'>-			os=-irix4</div><div class='del'>-			;;</div><div class='del'>-		esac</div><div class='del'>-		;;</div><div class='del'>-	isi68 | isi)</div><div class='del'>-		basic_machine=m68k-isi</div><div class='del'>-		os=-sysv</div><div class='del'>-		;;</div><div class='del'>-	m88k-omron*)</div><div class='del'>-		basic_machine=m88k-omron</div><div class='del'>-		;;</div><div class='del'>-	magnum | m3230)</div><div class='del'>-		basic_machine=mips-mips</div><div class='del'>-		os=-sysv</div><div class='del'>-		;;</div><div class='del'>-	merlin)</div><div class='del'>-		basic_machine=ns32k-utek</div><div class='del'>-		os=-sysv</div><div class='del'>-		;;</div><div class='del'>-	miniframe)</div><div class='del'>-		basic_machine=m68000-convergent</div><div class='del'>-		;;</div><div class='del'>-	mipsel*-linux*)</div><div class='del'>-		basic_machine=mipsel-unknown</div><div class='del'>-		os=-linux</div><div class='del'>-		;;</div><div class='del'>-	mips*-linux*)</div><div class='del'>-		basic_machine=mips-unknown</div><div class='del'>-		os=-linux</div><div class='del'>-		;;</div><div class='del'>-	mips3*-*)</div><div class='del'>-		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`</div><div class='del'>-		;;</div><div class='del'>-	mips3*)</div><div class='del'>-		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown</div><div class='del'>-		;;</div><div class='del'>-	ncr3000)</div><div class='del'>-		basic_machine=i486-ncr</div><div class='del'>-		os=-sysv4</div><div class='del'>-		;;</div><div class='del'>-	news | news700 | news800 | news900)</div><div class='del'>-		basic_machine=m68k-sony</div><div class='del'>-		os=-newsos</div><div class='del'>-		;;</div><div class='del'>-	news1000)</div><div class='del'>-		basic_machine=m68030-sony</div><div class='del'>-		os=-newsos</div><div class='del'>-		;;</div><div class='del'>-	news-3600 | risc-news)</div><div class='del'>-		basic_machine=mips-sony</div><div class='del'>-		os=-newsos</div><div class='del'>-		;;</div><div class='del'>-	next | m*-next )</div><div class='del'>-		basic_machine=m68k-next</div><div class='del'>-		case $os in</div><div class='del'>-		    -nextstep* )</div><div class='del'>-			;;</div><div class='del'>-		    -ns2*)</div><div class='del'>-		      os=-nextstep2</div><div class='del'>-			;;</div><div class='del'>-		    *)</div><div class='del'>-		      os=-nextstep3</div><div class='del'>-			;;</div><div class='del'>-		esac</div><div class='del'>-		;;</div><div class='del'>-	nh3000)</div><div class='del'>-		basic_machine=m68k-harris</div><div class='del'>-		os=-cxux</div><div class='del'>-		;;</div><div class='del'>-	nh[45]000)</div><div class='del'>-		basic_machine=m88k-harris</div><div class='del'>-		os=-cxux</div><div class='del'>-		;;</div><div class='del'>-	nindy960)</div><div class='del'>-		basic_machine=i960-intel</div><div class='del'>-		os=-nindy</div><div class='del'>-		;;</div><div class='del'>-	np1)</div><div class='del'>-		basic_machine=np1-gould</div><div class='del'>-		;;</div><div class='del'>-	pa-hitachi)</div><div class='del'>-		basic_machine=hppa1.1-hitachi</div><div class='del'>-		os=-hiuxwe2</div><div class='del'>-		;;</div><div class='del'>-	paragon)</div><div class='del'>-		basic_machine=i860-intel</div><div class='del'>-		os=-osf</div><div class='del'>-		;;</div><div class='del'>-	pbd)</div><div class='del'>-		basic_machine=sparc-tti</div><div class='del'>-		;;</div><div class='del'>-	pbb)</div><div class='del'>-		basic_machine=m68k-tti</div><div class='del'>-		;;</div><div class='del'>-        pc532 | pc532-*)</div><div class='del'>-		basic_machine=ns32k-pc532</div><div class='del'>-		;;</div><div class='del'>-	pentium | p5 | k5 | nexen)</div><div class='del'>-		basic_machine=i586-pc</div><div class='del'>-		;;</div><div class='del'>-	pentiumpro | p6 | k6 | 6x86)</div><div class='del'>-		basic_machine=i686-pc</div><div class='del'>-		;;</div><div class='del'>-	pentiumii | pentium2)</div><div class='del'>-		basic_machine=i786-pc</div><div class='del'>-		;;</div><div class='del'>-	pentium-* | p5-* | k5-* | nexen-*)</div><div class='del'>-		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`</div><div class='del'>-		;;</div><div class='del'>-	pentiumpro-* | p6-* | k6-* | 6x86-*)</div><div class='del'>-		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`</div><div class='del'>-		;;</div><div class='del'>-	pentiumii-* | pentium2-*)</div><div class='del'>-		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`</div><div class='del'>-		;;</div><div class='del'>-	pn)</div><div class='del'>-		basic_machine=pn-gould</div><div class='del'>-		;;</div><div class='del'>-	power)	basic_machine=rs6000-ibm</div><div class='del'>-		;;</div><div class='del'>-	ppc)	basic_machine=powerpc-unknown</div><div class='del'>-	        ;;</div><div class='del'>-	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`</div><div class='del'>-		;;</div><div class='del'>-	ppcle | powerpclittle | ppc-le | powerpc-little)</div><div class='del'>-		basic_machine=powerpcle-unknown</div><div class='del'>-	        ;;</div><div class='del'>-	ppcle-* | powerpclittle-*)</div><div class='del'>-		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`</div><div class='del'>-		;;</div><div class='del'>-	ps2)</div><div class='del'>-		basic_machine=i386-ibm</div><div class='del'>-		;;</div><div class='del'>-	rm[46]00)</div><div class='del'>-		basic_machine=mips-siemens</div><div class='del'>-		;;</div><div class='del'>-	rtpc | rtpc-*)</div><div class='del'>-		basic_machine=romp-ibm</div><div class='del'>-		;;</div><div class='del'>-	sequent)</div><div class='del'>-		basic_machine=i386-sequent</div><div class='del'>-		;;</div><div class='del'>-	sh)</div><div class='del'>-		basic_machine=sh-hitachi</div><div class='del'>-		os=-hms</div><div class='del'>-		;;</div><div class='del'>-	sps7)</div><div class='del'>-		basic_machine=m68k-bull</div><div class='del'>-		os=-sysv2</div><div class='del'>-		;;</div><div class='del'>-	spur)</div><div class='del'>-		basic_machine=spur-unknown</div><div class='del'>-		;;</div><div class='del'>-	sun2)</div><div class='del'>-		basic_machine=m68000-sun</div><div class='del'>-		;;</div><div class='del'>-	sun2os3)</div><div class='del'>-		basic_machine=m68000-sun</div><div class='del'>-		os=-sunos3</div><div class='del'>-		;;</div><div class='del'>-	sun2os4)</div><div class='del'>-		basic_machine=m68000-sun</div><div class='del'>-		os=-sunos4</div><div class='del'>-		;;</div><div class='del'>-	sun3os3)</div><div class='del'>-		basic_machine=m68k-sun</div><div class='del'>-		os=-sunos3</div><div class='del'>-		;;</div><div class='del'>-	sun3os4)</div><div class='del'>-		basic_machine=m68k-sun</div><div class='del'>-		os=-sunos4</div><div class='del'>-		;;</div><div class='del'>-	sun4os3)</div><div class='del'>-		basic_machine=sparc-sun</div><div class='del'>-		os=-sunos3</div><div class='del'>-		;;</div><div class='del'>-	sun4os4)</div><div class='del'>-		basic_machine=sparc-sun</div><div class='del'>-		os=-sunos4</div><div class='del'>-		;;</div><div class='del'>-	sun4sol2)</div><div class='del'>-		basic_machine=sparc-sun</div><div class='del'>-		os=-solaris2</div><div class='del'>-		;;</div><div class='del'>-	sun3 | sun3-*)</div><div class='del'>-		basic_machine=m68k-sun</div><div class='del'>-		;;</div><div class='del'>-	sun4)</div><div class='del'>-		basic_machine=sparc-sun</div><div class='del'>-		;;</div><div class='del'>-	sun386 | sun386i | roadrunner)</div><div class='del'>-		basic_machine=i386-sun</div><div class='del'>-		;;</div><div class='del'>-	symmetry)</div><div class='del'>-		basic_machine=i386-sequent</div><div class='del'>-		os=-dynix</div><div class='del'>-		;;</div><div class='del'>-	tx39)</div><div class='del'>-		basic_machine=mipstx39-unknown</div><div class='del'>-		;;</div><div class='del'>-	tx39el)</div><div class='del'>-		basic_machine=mipstx39el-unknown</div><div class='del'>-		;;</div><div class='del'>-	tower | tower-32)</div><div class='del'>-		basic_machine=m68k-ncr</div><div class='del'>-		;;</div><div class='del'>-	udi29k)</div><div class='del'>-		basic_machine=a29k-amd</div><div class='del'>-		os=-udi</div><div class='del'>-		;;</div><div class='del'>-	ultra3)</div><div class='del'>-		basic_machine=a29k-nyu</div><div class='del'>-		os=-sym1</div><div class='del'>-		;;</div><div class='del'>-	vaxv)</div><div class='del'>-		basic_machine=vax-dec</div><div class='del'>-		os=-sysv</div><div class='del'>-		;;</div><div class='del'>-	vms)</div><div class='del'>-		basic_machine=vax-dec</div><div class='del'>-		os=-vms</div><div class='del'>-		;;</div><div class='del'>-	vpp*|vx|vx-*)</div><div class='del'>-               basic_machine=f301-fujitsu</div><div class='del'>-               ;;</div><div class='del'>-	vxworks960)</div><div class='del'>-		basic_machine=i960-wrs</div><div class='del'>-		os=-vxworks</div><div class='del'>-		;;</div><div class='del'>-	vxworks68)</div><div class='del'>-		basic_machine=m68k-wrs</div><div class='del'>-		os=-vxworks</div><div class='del'>-		;;</div><div class='del'>-	vxworks29k)</div><div class='del'>-		basic_machine=a29k-wrs</div><div class='del'>-		os=-vxworks</div><div class='del'>-		;;</div><div class='del'>-	xmp)</div><div class='del'>-		basic_machine=xmp-cray</div><div class='del'>-		os=-unicos</div><div class='del'>-		;;</div><div class='del'>-        xps | xps100)</div><div class='del'>-		basic_machine=xps100-honeywell</div><div class='del'>-		;;</div><div class='del'>-	none)</div><div class='del'>-		basic_machine=none-none</div><div class='del'>-		os=-none</div><div class='del'>-		;;</div><div class='del'>-</div><div class='del'>-# Here we handle the default manufacturer of certain CPU types.  It is in</div><div class='del'>-# some cases the only manufacturer, in others, it is the most popular.</div><div class='del'>-	mips)</div><div class='del'>-		if [ x$os = x-linux ]; then</div><div class='del'>-			basic_machine=mips-unknown</div><div class='del'>-		else</div><div class='del'>-			basic_machine=mips-mips</div><div class='del'>-		fi</div><div class='del'>-		;;</div><div class='del'>-	romp)</div><div class='del'>-		basic_machine=romp-ibm</div><div class='del'>-		;;</div><div class='del'>-	rs6000)</div><div class='del'>-		basic_machine=rs6000-ibm</div><div class='del'>-		;;</div><div class='del'>-	vax)</div><div class='del'>-		basic_machine=vax-dec</div><div class='del'>-		;;</div><div class='del'>-	pdp11)</div><div class='del'>-		basic_machine=pdp11-dec</div><div class='del'>-		;;</div><div class='del'>-	we32k)</div><div class='del'>-		basic_machine=we32k-att</div><div class='del'>-		;;</div><div class='del'>-	sparc)</div><div class='del'>-		basic_machine=sparc-sun</div><div class='del'>-		;;</div><div class='del'>-        cydra)</div><div class='del'>-		basic_machine=cydra-cydrome</div><div class='del'>-		;;</div><div class='del'>-	orion)</div><div class='del'>-		basic_machine=orion-highlevel</div><div class='del'>-		;;</div><div class='del'>-	orion105)</div><div class='del'>-		basic_machine=clipper-highlevel</div><div class='del'>-		;;</div><div class='del'>-	*)</div><div class='del'>-		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1&gt;&amp;2</div><div class='del'>-		exit 1</div><div class='del'>-		;;</div><div class='del'>-esac</div><div class='del'>-</div><div class='del'>-# Here we canonicalize certain aliases for manufacturers.</div><div class='del'>-case $basic_machine in</div><div class='del'>-	*-digital*)</div><div class='del'>-		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`</div><div class='del'>-		;;</div><div class='del'>-	*-commodore*)</div><div class='del'>-		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`</div><div class='del'>-		;;</div><div class='del'>-	human)</div><div class='del'>-		basic_machine=m68k-sharp</div><div class='del'>-		os=-human</div><div class='del'>-		;;</div><div class='del'>-	*)</div><div class='del'>-		;;</div><div class='del'>-esac</div><div class='del'>-</div><div class='del'>-# Decode manufacturer-specific aliases for certain operating systems.</div><div class='del'>-</div><div class='del'>-if [ x"$os" != x"" ]</div><div class='del'>-then</div><div class='del'>-case $os in</div><div class='del'>-        # First match some system type aliases</div><div class='del'>-        # that might get confused with valid system types.</div><div class='del'>-	# -solaris* is a basic system type, with this one exception.</div><div class='del'>-	-solaris1 | -solaris1.*)</div><div class='del'>-		os=`echo $os | sed -e 's|solaris1|sunos4|'`</div><div class='del'>-		;;</div><div class='del'>-	-solaris)</div><div class='del'>-		os=-solaris2</div><div class='del'>-		;;</div><div class='del'>-	-svr4*)</div><div class='del'>-		os=-sysv4</div><div class='del'>-		;;</div><div class='del'>-	-unixware*)</div><div class='del'>-		os=-sysv4.2uw</div><div class='del'>-		;;</div><div class='del'>-	-gnu/linux*)</div><div class='del'>-		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`</div><div class='del'>-		;;</div><div class='del'>-	-os2_emx)</div><div class='del'>-		;;</div><div class='del'>-	# First accept the basic system types.</div><div class='del'>-	# The portable systems comes first.</div><div class='del'>-	# Each alternative MUST END IN A *, to match a version number.</div><div class='del'>-	# -sysv* is not here because it comes later, after sysvr4.</div><div class='del'>-	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \</div><div class='del'>-	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\</div><div class='del'>-	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \</div><div class='del'>-	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \</div><div class='del'>-	      | -aos* \</div><div class='del'>-	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \</div><div class='del'>-	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \</div><div class='del'>-	      | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \</div><div class='del'>-	      | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \</div><div class='del'>-	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \</div><div class='del'>-	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \</div><div class='del'>-	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \</div><div class='del'>-              | -mingw32* | -linux* | -uxpv* | -beos* | -rhapsody* )</div><div class='del'>-	# Remember, each alternative MUST END IN *, to match a version number.</div><div class='del'>-		;;</div><div class='del'>-	-sunos5*)</div><div class='del'>-		os=`echo $os | sed -e 's|sunos5|solaris2|'`</div><div class='del'>-		;;</div><div class='del'>-	-sunos6*)</div><div class='del'>-		os=`echo $os | sed -e 's|sunos6|solaris3|'`</div><div class='del'>-		;;</div><div class='del'>-	-osfrose*)</div><div class='del'>-		os=-osfrose</div><div class='del'>-		;;</div><div class='del'>-	-osf*)</div><div class='del'>-		os=-osf</div><div class='del'>-		;;</div><div class='del'>-	-utek*)</div><div class='del'>-		os=-bsd</div><div class='del'>-		;;</div><div class='del'>-	-dynix*)</div><div class='del'>-		os=-bsd</div><div class='del'>-		;;</div><div class='del'>-	-acis*)</div><div class='del'>-		os=-aos</div><div class='del'>-		;;</div><div class='del'>-	-ctix* | -uts*)</div><div class='del'>-		os=-sysv</div><div class='del'>-		;;</div><div class='del'>-	-ns2 )</div><div class='del'>-	        os=-nextstep2</div><div class='del'>-		;;</div><div class='del'>-	# Preserve the version number of sinix5.</div><div class='del'>-	-sinix5.*)</div><div class='del'>-		os=`echo $os | sed -e 's|sinix|sysv|'`</div><div class='del'>-		;;</div><div class='del'>-	-sinix*)</div><div class='del'>-		os=-sysv4</div><div class='del'>-		;;</div><div class='del'>-	-triton*)</div><div class='del'>-		os=-sysv3</div><div class='del'>-		;;</div><div class='del'>-	-oss*)</div><div class='del'>-		os=-sysv3</div><div class='del'>-		;;</div><div class='del'>-	-svr4)</div><div class='del'>-		os=-sysv4</div><div class='del'>-		;;</div><div class='del'>-	-svr3)</div><div class='del'>-		os=-sysv3</div><div class='del'>-		;;</div><div class='del'>-	-sysvr4)</div><div class='del'>-		os=-sysv4</div><div class='del'>-		;;</div><div class='del'>-	# This must come after -sysvr4.</div><div class='del'>-	-sysv*)</div><div class='del'>-		;;</div><div class='del'>-	-xenix)</div><div class='del'>-		os=-xenix</div><div class='del'>-		;;</div><div class='del'>-	-uxpds)</div><div class='del'>-		os=-uxpds</div><div class='del'>-		;;</div><div class='del'>-	-human)</div><div class='del'>-		;;</div><div class='del'>-	-beos)</div><div class='del'>-	        os=-beos</div><div class='del'>-		;;</div><div class='del'>-	-none)</div><div class='del'>-		;;</div><div class='del'>-	*)</div><div class='del'>-		# Get rid of the `-' at the beginning of $os.</div><div class='del'>-		os=`echo $os | sed 's/[^-]*-//'`</div><div class='del'>-		echo Invalid configuration \`$1\': system \`$os\' not recognized 1&gt;&amp;2</div><div class='del'>-		exit 1</div><div class='del'>-		;;</div><div class='del'>-esac</div><div class='del'>-else</div><div class='del'>-</div><div class='del'>-# Here we handle the default operating systems that come with various machines.</div><div class='del'>-# The value should be what the vendor currently ships out the door with their</div><div class='del'>-# machine or put another way, the most popular os provided with the machine.</div><div class='del'>-</div><div class='del'>-# Note that if you're going to try to match "-MANUFACTURER" here (say,</div><div class='del'>-# "-sun"), then you have to tell the case statement up towards the top</div><div class='del'>-# that MANUFACTURER isn't an operating system.  Otherwise, code above</div><div class='del'>-# will signal an error saying that MANUFACTURER isn't an operating</div><div class='del'>-# system, and we'll never get to this point.</div><div class='del'>-</div><div class='del'>-case $basic_machine in</div><div class='del'>-	*-acorn)</div><div class='del'>-		os=-riscix1.2</div><div class='del'>-		;;</div><div class='del'>-	arm*-semi)</div><div class='del'>-		os=-aout</div><div class='del'>-		;;</div><div class='del'>-        pdp11-*)</div><div class='del'>-		os=-none</div><div class='del'>-		;;</div><div class='del'>-	*-dec | vax-*)</div><div class='del'>-		os=-ultrix4.2</div><div class='del'>-		;;</div><div class='del'>-	m68*-apollo)</div><div class='del'>-		os=-domain</div><div class='del'>-		;;</div><div class='del'>-	i386-sun)</div><div class='del'>-		os=-sunos4.0.2</div><div class='del'>-		;;</div><div class='del'>-	m68000-sun)</div><div class='del'>-		os=-sunos3</div><div class='del'>-		# This also exists in the configure program, but was not the</div><div class='del'>-		# default.</div><div class='del'>-		# os=-sunos4</div><div class='del'>-		;;</div><div class='del'>-	*-tti)	# must be before sparc entry or we get the wrong os.</div><div class='del'>-		os=-sysv3</div><div class='del'>-		;;</div><div class='del'>-	sparc-* | *-sun)</div><div class='del'>-		os=-sunos4.1.1</div><div class='del'>-		;;</div><div class='del'>-	*-be)</div><div class='del'>-		os=-beos</div><div class='del'>-		;;</div><div class='del'>-	*-ibm)</div><div class='del'>-		os=-aix</div><div class='del'>-		;;</div><div class='del'>-	*-hp)</div><div class='del'>-		os=-hpux</div><div class='del'>-		;;</div><div class='del'>-	*-hitachi)</div><div class='del'>-		os=-hiux</div><div class='del'>-		;;</div><div class='del'>-	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)</div><div class='del'>-		os=-sysv</div><div class='del'>-		;;</div><div class='del'>-	*-cbm)</div><div class='del'>-		os=-amigaos</div><div class='del'>-		;;</div><div class='del'>-	*-dg)</div><div class='del'>-		os=-dgux</div><div class='del'>-		;;</div><div class='del'>-	*-dolphin)</div><div class='del'>-		os=-sysv3</div><div class='del'>-		;;</div><div class='del'>-	m68k-ccur)</div><div class='del'>-		os=-rtu</div><div class='del'>-		;;</div><div class='del'>-	m88k-omron*)</div><div class='del'>-		os=-luna</div><div class='del'>-		;;</div><div class='del'>-	*-next )</div><div class='del'>-		os=-nextstep</div><div class='del'>-		;;</div><div class='del'>-	*-sequent)</div><div class='del'>-		os=-ptx</div><div class='del'>-		;;</div><div class='del'>-	*-crds)</div><div class='del'>-		os=-unos</div><div class='del'>-		;;</div><div class='del'>-	*-ns)</div><div class='del'>-		os=-genix</div><div class='del'>-		;;</div><div class='del'>-	i370-*)</div><div class='del'>-		os=-mvs</div><div class='del'>-		;;</div><div class='del'>-	*-next)</div><div class='del'>-		os=-nextstep3</div><div class='del'>-		;;</div><div class='del'>-        *-gould)</div><div class='del'>-		os=-sysv</div><div class='del'>-		;;</div><div class='del'>-        *-highlevel)</div><div class='del'>-		os=-bsd</div><div class='del'>-		;;</div><div class='del'>-	*-encore)</div><div class='del'>-		os=-bsd</div><div class='del'>-		;;</div><div class='del'>-        *-sgi)</div><div class='del'>-		os=-irix</div><div class='del'>-		;;</div><div class='del'>-        *-siemens)</div><div class='del'>-		os=-sysv4</div><div class='del'>-		;;</div><div class='del'>-	*-masscomp)</div><div class='del'>-		os=-rtu</div><div class='del'>-		;;</div><div class='del'>-	f301-fujitsu)</div><div class='del'>-		os=-uxpv</div><div class='del'>-		;;</div><div class='del'>-	*)</div><div class='del'>-		os=-none</div><div class='del'>-		;;</div><div class='del'>-esac</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-# Here we handle the case where we know the os, and the CPU type, but not the</div><div class='del'>-# manufacturer.  We pick the logical manufacturer.</div><div class='del'>-vendor=unknown</div><div class='del'>-case $basic_machine in</div><div class='del'>-	*-unknown)</div><div class='del'>-		case $os in</div><div class='del'>-			-riscix*)</div><div class='del'>-				vendor=acorn</div><div class='del'>-				;;</div><div class='del'>-			-sunos*)</div><div class='del'>-				vendor=sun</div><div class='del'>-				;;</div><div class='del'>-			-aix*)</div><div class='del'>-				vendor=ibm</div><div class='del'>-				;;</div><div class='del'>-			-hpux*)</div><div class='del'>-				vendor=hp</div><div class='del'>-				;;</div><div class='del'>-			-hiux*)</div><div class='del'>-				vendor=hitachi</div><div class='del'>-				;;</div><div class='del'>-			-unos*)</div><div class='del'>-				vendor=crds</div><div class='del'>-				;;</div><div class='del'>-			-dgux*)</div><div class='del'>-				vendor=dg</div><div class='del'>-				;;</div><div class='del'>-			-luna*)</div><div class='del'>-				vendor=omron</div><div class='del'>-				;;</div><div class='del'>-			-genix*)</div><div class='del'>-				vendor=ns</div><div class='del'>-				;;</div><div class='del'>-			-mvs*)</div><div class='del'>-				vendor=ibm</div><div class='del'>-				;;</div><div class='del'>-			-ptx*)</div><div class='del'>-				vendor=sequent</div><div class='del'>-				;;</div><div class='del'>-			-vxsim* | -vxworks*)</div><div class='del'>-				vendor=wrs</div><div class='del'>-				;;</div><div class='del'>-			-aux*)</div><div class='del'>-				vendor=apple</div><div class='del'>-				;;</div><div class='del'>-		esac</div><div class='del'>-		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`</div><div class='del'>-		;;</div><div class='del'>-esac</div><div class='del'>-</div><div class='del'>-echo $basic_machine$os</div><div class='head'>diff --git a/config_h.dj b/config_h.dj<br/>deleted file mode 100644<br/>index 36b80537fd..0000000000<br/>--- a/<a href='/ruby.git/tree/config_h.dj?h=v3_0_0&amp;id=cfb52c86678519810cfa84b564a3d32a9200139d'>config_h.dj</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,71 +0,0 @@</div><div class='del'>-#define USE_THREAD 1</div><div class='del'>-#define SIZEOF_INT 4</div><div class='del'>-#define SIZEOF_SHORT 2</div><div class='del'>-#define SIZEOF_LONG 4</div><div class='del'>-#define SIZEOF_VOIDP 4</div><div class='del'>-#define SIZEOF_FLOAT 4</div><div class='del'>-#define SIZEOF_DOUBLE 8</div><div class='del'>-#define HAVE_PROTOTYPES 1</div><div class='del'>-#define TOKEN_PASTE(x,y) x##y</div><div class='del'>-#define HAVE_STDARG_PROTOTYPES 1</div><div class='del'>-#define HAVE_ATTR_NORETURN 1</div><div class='del'>-#define HAVE_DIRENT_H 1</div><div class='del'>-#define STDC_HEADERS 1</div><div class='del'>-#define HAVE_STDLIB_H 1</div><div class='del'>-#define HAVE_UNISTD_H 1</div><div class='del'>-#define HAVE_LIMITS_H 1</div><div class='del'>-#define HAVE_SYS_FILE_H 1</div><div class='del'>-#define HAVE_SYS_IOCTL_H 1</div><div class='del'>-#define HAVE_PWD_H 1</div><div class='del'>-#define HAVE_SYS_TIME_H 1</div><div class='del'>-#define HAVE_SYS_TIMES_H 1</div><div class='del'>-#define HAVE_SYS_PARAM_H 1</div><div class='del'>-#define HAVE_SYS_WAIT_H 1</div><div class='del'>-#define HAVE_STRING_H 1</div><div class='del'>-#define HAVE_UTIME_H 1</div><div class='del'>-#define HAVE_MEMORY_H 1</div><div class='del'>-#define HAVE_DIRECT_H 1</div><div class='del'>-#define HAVE_ST_BLKSIZE 1</div><div class='del'>-#define HAVE_ST_RDEV 1</div><div class='del'>-#define GETGROUPS_T gid_t</div><div class='del'>-#define RETSIGTYPE void</div><div class='del'>-#define HAVE_ALLOCA 1</div><div class='del'>-#define vfork fork</div><div class='del'>-#define HAVE_DUP2 1</div><div class='del'>-#define HAVE_SETENV 1</div><div class='del'>-#define HAVE_MEMMOVE 1</div><div class='del'>-#define HAVE_MKDIR 1</div><div class='del'>-#define HAVE_STRCASECMP 1</div><div class='del'>-#define HAVE_STRERROR 1</div><div class='del'>-#define HAVE_STRFTIME 1</div><div class='del'>-#define HAVE_STRCHR 1</div><div class='del'>-#define HAVE_STRSTR 1</div><div class='del'>-#define HAVE_STRTOUL 1</div><div class='del'>-#define HAVE_STRDUP 1</div><div class='del'>-#define HAVE_ISINF 1</div><div class='del'>-#define HAVE_ISNAN 1</div><div class='del'>-#define HAVE_FINITE 1</div><div class='del'>-#define HAVE_FMOD 1</div><div class='del'>-#define HAVE_RANDOM 1</div><div class='del'>-#define HAVE_WAITPID 1</div><div class='del'>-#define HAVE_GETCWD 1</div><div class='del'>-#define HAVE_TRUNCATE 1</div><div class='del'>-#define HAVE_CHSIZE 1</div><div class='del'>-#define HAVE_TIMES 1</div><div class='del'>-#define HAVE_UTIMES 1</div><div class='del'>-#define HAVE_FCNTL_H 1</div><div class='del'>-/*#define HAVE_SETITIMER 1*/</div><div class='del'>-#define HAVE_GETGROUPS 1</div><div class='del'>-#define HAVE_SIGPROCMASK 1</div><div class='del'>-#define HAVE_SIGACTION 1</div><div class='del'>-#define HAVE_SETSID 1</div><div class='del'>-#define POSIX_SIGNAL 1</div><div class='del'>-#define BSD_SETPGRP setpgrp</div><div class='del'>-#define RSHIFT(x,y) ((x)&gt;&gt;y)</div><div class='del'>-#define FILE_COUNT _cnt</div><div class='del'>-#define DLEXT ".o"</div><div class='del'>-#define RUBY_LIB "/usr/local/lib/ruby/1.4"</div><div class='del'>-#define RUBY_SITE_LIB "/usr/local/lib/ruby/1.4/site_ruby"</div><div class='del'>-#define RUBY_PLATFORM "i386-djgpp"</div><div class='del'>-#define RUBY_ARCHLIB "/usr/local/lib/ruby/1.4/i386-djgpp"</div><div class='del'>-#define RUBY_SITE_ARCHLIB "/usr/local/lib/ruby/1.4/site_ruby/i386-djgpp"</div><div class='head'>diff --git a/config_s.dj b/config_s.dj<br/>deleted file mode 100644<br/>index 7ba18e4376..0000000000<br/>--- a/<a href='/ruby.git/tree/config_s.dj?h=v3_0_0&amp;id=cfb52c86678519810cfa84b564a3d32a9200139d'>config_s.dj</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,56 +0,0 @@</div><div class='del'>-s%@CFLAGS@%-O2%g</div><div class='del'>-s%@CPPFLAGS@%%g</div><div class='del'>-s%@CXXFLAGS@%%g</div><div class='del'>-s%@DEFS@% -DUSE_THREAD=1 -DSIZEOF_INT=4 -DSIZEOF_LONG=4 -DSIZEOF_VOIDP=4 -DHAVE_PROTOTYPES=1 -DHAVE_STDARG_PROTOTYPES=1 -DHAVE_ATTR_NORETURN=1 -DHAVE_DIRENT_H=1 -DSTDC_HEADERS=1 -DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_FILE_H=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_PWD_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_SYS_TIMES_H=1 -DHAVE_SYS_PARAM_H=1 -DHAVE_SYS_WAIT_H=1 -DHAVE_STRING_H=1 -DHAVE_UTIME_H=1 -DHAVE_MEMORY_H=1 -DHAVE_DIRECT_H=1 -DHAVE_ST_BLKSIZE=1 -DHAVE_ST_RDEV=1 -DGETGROUPS_T=gid_t -DRETSIGTYPE=void -DHAVE_ALLOCA=1 -Dvfork=fork -DHAVE_DUP2=1 -DHAVE_SETENV=1 -DHAVE_MEMMOVE=1 -DHAVE_MKDIR=1 -DHAVE_STRCASECMP=1 -DHAVE_STRERROR=1 -DHAVE_STRFTIME=1 -DHAVE_STRCHR=1 -DHAVE_STRSTR=1 -DHAVE_STRTOUL=1 -DHAVE_STRDUP=1 -DHAVE_FMOD=1 -DHAVE_RANDOM=1 -DHAVE_WAITPID=1 -DHAVE_GETCWD=1 -DHAVE_TRUNCATE=1 -DHAVE_CHSIZE=1 -DHAVE_TIMES=1 -DHAVE_UTIMES=1 -DHAVE_FCNTL=1 -DHAVE_SETITIMER=1 -DHAVE_GETGROUPS=1 -DHAVE_SIGPROCMASK=1 -DHAVE_SIGACTION=1 -DHAVE_SETSID=1 -DPOSIX_SIGNAL=1 -DBSD_SETPGRP=setpgrp -DRSHIFT=\(x,y\)\ \(\(x\)\&gt;\&gt;y\) -DFILE_COUNT=_cnt -DDLEXT=\".so\" -DRUBY_LIB=\"/usr/local/lib/ruby\" -DRUBY_SITE_LIB=\"/usr/local/lib/ruby/site_ruby\" -DRUBY_ARCHLIB=\"/usr/local/lib/ruby/i386-djgpp\" -DRUBY_SITE_ARCHLIB=\"/usr/local/lib/ruby/site_ruby/i386-djgpp\" -DRUBY_PLATFORM=\"i386-djgpp\" %g</div><div class='del'>-s%@LDFLAGS@%%g</div><div class='del'>-s%@LIBS@%-lm %g</div><div class='del'>-s%@exec_prefix@%${prefix}%g</div><div class='del'>-s%@prefix@%/usr/local%g</div><div class='del'>-s%@program_transform_name@%s,x,x,%g</div><div class='del'>-s%@bindir@%${exec_prefix}/bin%g</div><div class='del'>-s%@sbindir@%${exec_prefix}/sbin%g</div><div class='del'>-s%@libexecdir@%${exec_prefix}/libexec%g</div><div class='del'>-s%@datadir@%${prefix}/share%g</div><div class='del'>-s%@sysconfdir@%${prefix}/etc%g</div><div class='del'>-s%@sharedstatedir@%${prefix}/com%g</div><div class='del'>-s%@localstatedir@%${prefix}/var%g</div><div class='del'>-s%@libdir@%${exec_prefix}/lib%g</div><div class='del'>-s%@includedir@%${prefix}/include%g</div><div class='del'>-s%@oldincludedir@%/usr/include%g</div><div class='del'>-s%@infodir@%${prefix}/info%g</div><div class='del'>-s%@mandir@%${prefix}/man%g</div><div class='del'>-s%@host@%i386-pc-djgpp%g</div><div class='del'>-s%@host_alias@%i386-djgpp%g</div><div class='del'>-s%@host_cpu@%i386%g</div><div class='del'>-s%@host_vendor@%pc%g</div><div class='del'>-s%@host_os@%djgpp%g</div><div class='del'>-s%@CC@%gcc%g</div><div class='del'>-s%@CPP@%gcc -E%g</div><div class='del'>-s%@YACC@%bison -y%g</div><div class='del'>-s%@RANLIB@%ranlib%g</div><div class='del'>-s%@AR@%ar%g</div><div class='del'>-s%@INSTALL_PROGRAM@%${INSTALL}%g</div><div class='del'>-s%@INSTALL_DATA@%${INSTALL} -m 644%g</div><div class='del'>-s%@SET_MAKE@%%g</div><div class='del'>-s%@LIBOBJS@% crypt.o flock.o fnmatch.o snprintf.o%g</div><div class='del'>-s%@ALLOCA@%%g</div><div class='del'>-s%@DEFAULT_KCODE@%%g</div><div class='del'>-s%@EXEEXT@%.exe%g</div><div class='del'>-s%@OBJEXT@%o%g</div><div class='del'>-s%@DLDFLAGS@%%g</div><div class='del'>-s%@STATIC@%%g</div><div class='del'>-s%@CCDLFLAGS@%%g</div><div class='del'>-s%@LDSHARED@%ld%g</div><div class='del'>-s%@DLEXT@%o%g</div><div class='del'>-s%@STRIP@%strip%g</div><div class='del'>-s%@EXTSTATIC@%%g</div><div class='del'>-s%@binsuffix@%.exe%g</div><div class='del'>-s%@setup@%Setup%g</div><div class='del'>-s%@LIBRUBY@%libruby.a%g</div><div class='del'>-s%@LIBRUBY_A@%libruby.a%g</div><div class='del'>-s%@LIBRUBYARG@%libruby.a%g</div><div class='del'>-s%@LIBRUBY_SO@%%g</div><div class='del'>-s%@SOLIBS@%%g</div><div class='del'>-s%@srcdir%.%g</div><div class='del'>-s%@arch@%i386-djgpp%g</div><div class='del'>-ac_given_srcdir=.</div><div class='head'>diff --git a/configure b/configure<br/>deleted file mode 100644<br/>index 462280501c..0000000000<br/>--- a/<a href='/ruby.git/tree/configure?h=v3_0_0&amp;id=cfb52c86678519810cfa84b564a3d32a9200139d'>configure</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,5006 +0,0 @@</div><div class='del'>-#! /bin/sh</div><div class='del'>-</div><div class='del'>-# Guess values for system-dependent variables and create Makefiles.</div><div class='del'>-# Generated automatically using autoconf version 2.13 </div><div class='del'>-# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.</div><div class='del'>-#</div><div class='del'>-# This configure script is free software; the Free Software Foundation</div><div class='del'>-# gives unlimited permission to copy, distribute and modify it.</div><div class='del'>-</div><div class='del'>-# Defaults:</div><div class='del'>-ac_help=</div><div class='del'>-ac_default_prefix=/usr/local</div><div class='del'>-# Any additions from configure.in:</div><div class='del'>-ac_help="$ac_help</div><div class='del'>---without-gcc             never use gcc"</div><div class='del'>-ac_help="$ac_help</div><div class='del'>---enable-fat-binary       build a NeXT/Apple Multi Architecture Binary. "</div><div class='del'>-ac_help="$ac_help</div><div class='del'>---with-default-kcode=CODE specify default value for \$KCODE (utf8|euc|sjis|none)"</div><div class='del'>-ac_help="$ac_help</div><div class='del'>---with-dln-a-out          use dln_a_out if possible"</div><div class='del'>-ac_help="$ac_help</div><div class='del'>---with-static-linked-ext  link external modules statically"</div><div class='del'>-ac_help="$ac_help</div><div class='del'>---enable-shared           build a shared library for Ruby. "</div><div class='del'>-ac_help="$ac_help</div><div class='del'>---with-search-path	  specify the additional search path"</div><div class='del'>-</div><div class='del'>-# Initialize some variables set by options.</div><div class='del'>-# The variables have the same names as the options, with</div><div class='del'>-# dashes changed to underlines.</div><div class='del'>-build=NONE</div><div class='del'>-cache_file=./config.cache</div><div class='del'>-exec_prefix=NONE</div><div class='del'>-host=NONE</div><div class='del'>-no_create=</div><div class='del'>-nonopt=NONE</div><div class='del'>-no_recursion=</div><div class='del'>-prefix=NONE</div><div class='del'>-program_prefix=NONE</div><div class='del'>-program_suffix=NONE</div><div class='del'>-program_transform_name=s,x,x,</div><div class='del'>-silent=</div><div class='del'>-site=</div><div class='del'>-srcdir=</div><div class='del'>-target=NONE</div><div class='del'>-verbose=</div><div class='del'>-x_includes=NONE</div><div class='del'>-x_libraries=NONE</div><div class='del'>-bindir='${exec_prefix}/bin'</div><div class='del'>-sbindir='${exec_prefix}/sbin'</div><div class='del'>-libexecdir='${exec_prefix}/libexec'</div><div class='del'>-datadir='${prefix}/share'</div><div class='del'>-sysconfdir='${prefix}/etc'</div><div class='del'>-sharedstatedir='${prefix}/com'</div><div class='del'>-localstatedir='${prefix}/var'</div><div class='del'>-libdir='${exec_prefix}/lib'</div><div class='del'>-includedir='${prefix}/include'</div><div class='del'>-oldincludedir='/usr/include'</div><div class='del'>-infodir='${prefix}/info'</div><div class='del'>-mandir='${prefix}/man'</div><div class='del'>-</div><div class='del'>-# Initialize some other variables.</div><div class='del'>-subdirs=</div><div class='del'>-MFLAGS= MAKEFLAGS=</div><div class='del'>-SHELL=${CONFIG_SHELL-/bin/sh}</div><div class='del'>-# Maximum number of lines to put in a shell here document.</div><div class='del'>-ac_max_here_lines=12</div><div class='del'>-</div><div class='del'>-ac_prev=</div><div class='del'>-for ac_option</div><div class='del'>-do</div><div class='del'>-</div><div class='del'>-  # If the previous option needs an argument, assign it.</div><div class='del'>-  if test -n "$ac_prev"; then</div><div class='del'>-    eval "$ac_prev=\$ac_option"</div><div class='del'>-    ac_prev=</div><div class='del'>-    continue</div><div class='del'>-  fi</div><div class='del'>-</div><div class='del'>-  case "$ac_option" in</div><div class='del'>-  -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;</div><div class='del'>-  *) ac_optarg= ;;</div><div class='del'>-  esac</div><div class='del'>-</div><div class='del'>-  # Accept the important Cygnus configure options, so we can diagnose typos.</div><div class='del'>-</div><div class='del'>-  case "$ac_option" in</div><div class='del'>-</div><div class='del'>-  -bindir | --bindir | --bindi | --bind | --bin | --bi)</div><div class='del'>-    ac_prev=bindir ;;</div><div class='del'>-  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)</div><div class='del'>-    bindir="$ac_optarg" ;;</div><div class='del'>-</div><div class='del'>-  -build | --build | --buil | --bui | --bu)</div><div class='del'>-    ac_prev=build ;;</div><div class='del'>-  -build=* | --build=* | --buil=* | --bui=* | --bu=*)</div><div class='del'>-    build="$ac_optarg" ;;</div><div class='del'>-</div><div class='del'>-  -cache-file | --cache-file | --cache-fil | --cache-fi \</div><div class='del'>-  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)</div><div class='del'>-    ac_prev=cache_file ;;</div><div class='del'>-  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \</div><div class='del'>-  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)</div><div class='del'>-    cache_file="$ac_optarg" ;;</div><div class='del'>-</div><div class='del'>-  -datadir | --datadir | --datadi | --datad | --data | --dat | --da)</div><div class='del'>-    ac_prev=datadir ;;</div><div class='del'>-  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \</div><div class='del'>-  | --da=*)</div><div class='del'>-    datadir="$ac_optarg" ;;</div><div class='del'>-</div><div class='del'>-  -disable-* | --disable-*)</div><div class='del'>-    ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`</div><div class='del'>-    # Reject names that are not valid shell variable names.</div><div class='del'>-    if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then</div><div class='del'>-      { echo "configure: error: $ac_feature: invalid feature name" 1&gt;&amp;2; exit 1; }</div><div class='del'>-    fi</div><div class='del'>-    ac_feature=`echo $ac_feature| sed 's/-/_/g'`</div><div class='del'>-    eval "enable_${ac_feature}=no" ;;</div><div class='del'>-</div><div class='del'>-  -enable-* | --enable-*)</div><div class='del'>-    ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`</div><div class='del'>-    # Reject names that are not valid shell variable names.</div><div class='del'>-    if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then</div><div class='del'>-      { echo "configure: error: $ac_feature: invalid feature name" 1&gt;&amp;2; exit 1; }</div><div class='del'>-    fi</div><div class='del'>-    ac_feature=`echo $ac_feature| sed 's/-/_/g'`</div><div class='del'>-    case "$ac_option" in</div><div class='del'>-      *=*) ;;</div><div class='del'>-      *) ac_optarg=yes ;;</div><div class='del'>-    esac</div><div class='del'>-    eval "enable_${ac_feature}='$ac_optarg'" ;;</div><div class='del'>-</div><div class='del'>-  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \</div><div class='del'>-  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \</div><div class='del'>-  | --exec | --exe | --ex)</div><div class='del'>-    ac_prev=exec_prefix ;;</div><div class='del'>-  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \</div><div class='del'>-  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \</div><div class='del'>-  | --exec=* | --exe=* | --ex=*)</div><div class='del'>-    exec_prefix="$ac_optarg" ;;</div><div class='del'>-</div><div class='del'>-  -gas | --gas | --ga | --g)</div><div class='del'>-    # Obsolete; use --with-gas.</div><div class='del'>-    with_gas=yes ;;</div><div class='del'>-</div><div class='del'>-  -help | --help | --hel | --he)</div><div class='del'>-    # Omit some internal or obsolete options to make the list less imposing.</div><div class='del'>-    # This message is too long to be a string in the A/UX 3.1 sh.</div><div class='del'>-    cat &lt;&lt; EOF</div><div class='del'>-Usage: configure [options] [host]</div><div class='del'>-Options: [defaults in brackets after descriptions]</div><div class='del'>-Configuration:</div><div class='del'>-  --cache-file=FILE       cache test results in FILE</div><div class='del'>-  --help                  print this message</div><div class='del'>-  --no-create             do not create output files</div><div class='del'>-  --quiet, --silent       do not print \`checking...' messages</div><div class='del'>-  --version               print the version of autoconf that created configure</div><div class='del'>-Directory and file names:</div><div class='del'>-  --prefix=PREFIX         install architecture-independent files in PREFIX</div><div class='del'>-                          [$ac_default_prefix]</div><div class='del'>-  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX</div><div class='del'>-                          [same as prefix]</div><div class='del'>-  --bindir=DIR            user executables in DIR [EPREFIX/bin]</div><div class='del'>-  --sbindir=DIR           system admin executables in DIR [EPREFIX/sbin]</div><div class='del'>-  --libexecdir=DIR        program executables in DIR [EPREFIX/libexec]</div><div class='del'>-  --datadir=DIR           read-only architecture-independent data in DIR</div><div class='del'>-                          [PREFIX/share]</div><div class='del'>-  --sysconfdir=DIR        read-only single-machine data in DIR [PREFIX/etc]</div><div class='del'>-  --sharedstatedir=DIR    modifiable architecture-independent data in DIR</div><div class='del'>-                          [PREFIX/com]</div><div class='del'>-  --localstatedir=DIR     modifiable single-machine data in DIR [PREFIX/var]</div><div class='del'>-  --libdir=DIR            object code libraries in DIR [EPREFIX/lib]</div><div class='del'>-  --includedir=DIR        C header files in DIR [PREFIX/include]</div><div class='del'>-  --oldincludedir=DIR     C header files for non-gcc in DIR [/usr/include]</div><div class='del'>-  --infodir=DIR           info documentation in DIR [PREFIX/info]</div><div class='del'>-  --mandir=DIR            man documentation in DIR [PREFIX/man]</div><div class='del'>-  --srcdir=DIR            find the sources in DIR [configure dir or ..]</div><div class='del'>-  --program-prefix=PREFIX prepend PREFIX to installed program names</div><div class='del'>-  --program-suffix=SUFFIX append SUFFIX to installed program names</div><div class='del'>-  --program-transform-name=PROGRAM</div><div class='del'>-                          run sed PROGRAM on installed program names</div><div class='del'>-EOF</div><div class='del'>-    cat &lt;&lt; EOF</div><div class='del'>-Host type:</div><div class='del'>-  --build=BUILD           configure for building on BUILD [BUILD=HOST]</div><div class='del'>-  --host=HOST             configure for HOST [guessed]</div><div class='del'>-  --target=TARGET         configure for TARGET [TARGET=HOST]</div><div class='del'>-Features and packages:</div><div class='del'>-  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)</div><div class='del'>-  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]</div><div class='del'>-  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]</div><div class='del'>-  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)</div><div class='del'>-  --x-includes=DIR        X include files are in DIR</div><div class='del'>-  --x-libraries=DIR       X library files are in DIR</div><div class='del'>-EOF</div><div class='del'>-    if test -n "$ac_help"; then</div><div class='del'>-      echo "--enable and --with options recognized:$ac_help"</div><div class='del'>-    fi</div><div class='del'>-    exit 0 ;;</div><div class='del'>-</div><div class='del'>-  -host | --host | --hos | --ho)</div><div class='del'>-    ac_prev=host ;;</div><div class='del'>-  -host=* | --host=* | --hos=* | --ho=*)</div><div class='del'>-    host="$ac_optarg" ;;</div><div class='del'>-</div><div class='del'>-  -includedir | --includedir | --includedi | --included | --include \</div><div class='del'>-  | --includ | --inclu | --incl | --inc)</div><div class='del'>-    ac_prev=includedir ;;</div><div class='del'>-  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \</div><div class='del'>-  | --includ=* | --inclu=* | --incl=* | --inc=*)</div><div class='del'>-    includedir="$ac_optarg" ;;</div><div class='del'>-</div><div class='del'>-  -infodir | --infodir | --infodi | --infod | --info | --inf)</div><div class='del'>-    ac_prev=infodir ;;</div><div class='del'>-  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)</div><div class='del'>-    infodir="$ac_optarg" ;;</div><div class='del'>-</div><div class='del'>-  -libdir | --libdir | --libdi | --libd)</div><div class='del'>-    ac_prev=libdir ;;</div><div class='del'>-  -libdir=* | --libdir=* | --libdi=* | --libd=*)</div><div class='del'>-    libdir="$ac_optarg" ;;</div><div class='del'>-</div><div class='del'>-  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \</div><div class='del'>-  | --libexe | --libex | --libe)</div><div class='del'>-    ac_prev=libexecdir ;;</div><div class='del'>-  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \</div><div class='del'>-  | --libexe=* | --libex=* | --libe=*)</div><div class='del'>-    libexecdir="$ac_optarg" ;;</div><div class='del'>-</div><div class='del'>-  -localstatedir | --localstatedir | --localstatedi | --localstated \</div><div class='del'>-  | --localstate | --localstat | --localsta | --localst \</div><div class='del'>-  | --locals | --local | --loca | --loc | --lo)</div><div class='del'>-    ac_prev=localstatedir ;;</div><div class='del'>-  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \</div><div class='del'>-  | --localstate=* | --localstat=* | --localsta=* | --localst=* \</div><div class='del'>-  | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)</div><div class='del'>-    localstatedir="$ac_optarg" ;;</div><div class='del'>-</div><div class='del'>-  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)</div><div class='del'>-    ac_prev=mandir ;;</div><div class='del'>-  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)</div><div class='del'>-    mandir="$ac_optarg" ;;</div><div class='del'>-</div><div class='del'>-  -nfp | --nfp | --nf)</div><div class='del'>-    # Obsolete; use --without-fp.</div><div class='del'>-    with_fp=no ;;</div><div class='del'>-</div><div class='del'>-  -no-create | --no-create | --no-creat | --no-crea | --no-cre \</div><div class='del'>-  | --no-cr | --no-c)</div><div class='del'>-    no_create=yes ;;</div><div class='del'>-</div><div class='del'>-  -no-recursion | --no-recursion | --no-recursio | --no-recursi \</div><div class='del'>-  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)</div><div class='del'>-    no_recursion=yes ;;</div><div class='del'>-</div><div class='del'>-  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \</div><div class='del'>-  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \</div><div class='del'>-  | --oldin | --oldi | --old | --ol | --o)</div><div class='del'>-    ac_prev=oldincludedir ;;</div><div class='del'>-  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \</div><div class='del'>-  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \</div><div class='del'>-  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)</div><div class='del'>-    oldincludedir="$ac_optarg" ;;</div><div class='del'>-</div><div class='del'>-  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)</div><div class='del'>-    ac_prev=prefix ;;</div><div class='del'>-  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)</div><div class='del'>-    prefix="$ac_optarg" ;;</div><div class='del'>-</div><div class='del'>-  -program-prefix | --program-prefix | --program-prefi | --program-pref \</div><div class='del'>-  | --program-pre | --program-pr | --program-p)</div><div class='del'>-    ac_prev=program_prefix ;;</div><div class='del'>-  -program-prefix=* | --program-prefix=* | --program-prefi=* \</div><div class='del'>-  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)</div><div class='del'>-    program_prefix="$ac_optarg" ;;</div><div class='del'>-</div><div class='del'>-  -program-suffix | --program-suffix | --program-suffi | --program-suff \</div><div class='del'>-  | --program-suf | --program-su | --program-s)</div><div class='del'>-    ac_prev=program_suffix ;;</div><div class='del'>-  -program-suffix=* | --program-suffix=* | --program-suffi=* \</div><div class='del'>-  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)</div><div class='del'>-    program_suffix="$ac_optarg" ;;</div><div class='del'>-</div><div class='del'>-  -program-transform-name | --program-transform-name \</div><div class='del'>-  | --program-transform-nam | --program-transform-na \</div><div class='del'>-  | --program-transform-n | --program-transform- \</div><div class='del'>-  | --program-transform | --program-transfor \</div><div class='del'>-  | --program-transfo | --program-transf \</div><div class='del'>-  | --program-trans | --program-tran \</div><div class='del'>-  | --progr-tra | --program-tr | --program-t)</div><div class='del'>-    ac_prev=program_transform_name ;;</div><div class='del'>-  -program-transform-name=* | --program-transform-name=* \</div><div class='del'>-  | --program-transform-nam=* | --program-transform-na=* \</div><div class='del'>-  | --program-transform-n=* | --program-transform-=* \</div><div class='del'>-  | --program-transform=* | --program-transfor=* \</div><div class='del'>-  | --program-transfo=* | --program-transf=* \</div><div class='del'>-  | --program-trans=* | --program-tran=* \</div><div class='del'>-  | --progr-tra=* | --program-tr=* | --program-t=*)</div><div class='del'>-    program_transform_name="$ac_optarg" ;;</div><div class='del'>-</div><div class='del'>-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \</div><div class='del'>-  | -silent | --silent | --silen | --sile | --sil)</div><div class='del'>-    silent=yes ;;</div><div class='del'>-</div><div class='del'>-  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)</div><div class='del'>-    ac_prev=sbindir ;;</div><div class='del'>-  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \</div><div class='del'>-  | --sbi=* | --sb=*)</div><div class='del'>-    sbindir="$ac_optarg" ;;</div><div class='del'>-</div><div class='del'>-  -sharedstatedir | --sharedstatedir | --sharedstatedi \</div><div class='del'>-  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \</div><div class='del'>-  | --sharedst | --shareds | --shared | --share | --shar \</div><div class='del'>-  | --sha | --sh)</div><div class='del'>-    ac_prev=sharedstatedir ;;</div><div class='del'>-  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \</div><div class='del'>-  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \</div><div class='del'>-  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \</div><div class='del'>-  | --sha=* | --sh=*)</div><div class='del'>-    sharedstatedir="$ac_optarg" ;;</div><div class='del'>-</div><div class='del'>-  -site | --site | --sit)</div><div class='del'>-    ac_prev=site ;;</div><div class='del'>-  -site=* | --site=* | --sit=*)</div><div class='del'>-    site="$ac_optarg" ;;</div><div class='del'>-</div><div class='del'>-  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)</div><div class='del'>-    ac_prev=srcdir ;;</div><div class='del'>-  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)</div><div class='del'>-    srcdir="$ac_optarg" ;;</div><div class='del'>-</div><div class='del'>-  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \</div><div class='del'>-  | --syscon | --sysco | --sysc | --sys | --sy)</div><div class='del'>-    ac_prev=sysconfdir ;;</div><div class='del'>-  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \</div><div class='del'>-  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)</div><div class='del'>-    sysconfdir="$ac_optarg" ;;</div><div class='del'>-</div><div class='del'>-  -target | --target | --targe | --targ | --tar | --ta | --t)</div><div class='del'>-    ac_prev=target ;;</div><div class='del'>-  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)</div><div class='del'>-    target="$ac_optarg" ;;</div><div class='del'>-</div><div class='del'>-  -v | -verbose | --verbose | --verbos | --verbo | --verb)</div><div class='del'>-    verbose=yes ;;</div><div class='del'>-</div><div class='del'>-  -version | --version | --versio | --versi | --vers)</div><div class='del'>-    echo "configure generated by autoconf version 2.13"</div><div class='del'>-    exit 0 ;;</div><div class='del'>-</div><div class='del'>-  -with-* | --with-*)</div><div class='del'>-    ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`</div><div class='del'>-    # Reject names that are not valid shell variable names.</div><div class='del'>-    if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then</div><div class='del'>-      { echo "configure: error: $ac_package: invalid package name" 1&gt;&amp;2; exit 1; }</div><div class='del'>-    fi</div><div class='del'>-    ac_package=`echo $ac_package| sed 's/-/_/g'`</div><div class='del'>-    case "$ac_option" in</div><div class='del'>-      *=*) ;;</div><div class='del'>-      *) ac_optarg=yes ;;</div><div class='del'>-    esac</div><div class='del'>-    eval "with_${ac_package}='$ac_optarg'" ;;</div><div class='del'>-</div><div class='del'>-  -without-* | --without-*)</div><div class='del'>-    ac_package=`echo $ac_option|sed -e 's/-*without-//'`</div><div class='del'>-    # Reject names that are not valid shell variable names.</div><div class='del'>-    if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then</div><div class='del'>-      { echo "configure: error: $ac_package: invalid package name" 1&gt;&amp;2; exit 1; }</div><div class='del'>-    fi</div><div class='del'>-    ac_package=`echo $ac_package| sed 's/-/_/g'`</div><div class='del'>-    eval "with_${ac_package}=no" ;;</div><div class='del'>-</div><div class='del'>-  --x)</div><div class='del'>-    # Obsolete; use --with-x.</div><div class='del'>-    with_x=yes ;;</div><div class='del'>-</div><div class='del'>-  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \</div><div class='del'>-  | --x-incl | --x-inc | --x-in | --x-i)</div><div class='del'>-    ac_prev=x_includes ;;</div><div class='del'>-  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \</div><div class='del'>-  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)</div><div class='del'>-    x_includes="$ac_optarg" ;;</div><div class='del'>-</div><div class='del'>-  -x-libraries | --x-libraries | --x-librarie | --x-librari \</div><div class='del'>-  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)</div><div class='del'>-    ac_prev=x_libraries ;;</div><div class='del'>-  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \</div><div class='del'>-  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)</div><div class='del'>-    x_libraries="$ac_optarg" ;;</div><div class='del'>-</div><div class='del'>-  -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1&gt;&amp;2; exit 1; }</div><div class='del'>-    ;;</div><div class='del'>-</div><div class='del'>-  *)</div><div class='del'>-    if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then</div><div class='del'>-      echo "configure: warning: $ac_option: invalid host type" 1&gt;&amp;2</div><div class='del'>-    fi</div><div class='del'>-    if test "x$nonopt" != xNONE; then</div><div class='del'>-      { echo "configure: error: can only configure for one host and one target at a time" 1&gt;&amp;2; exit 1; }</div><div class='del'>-    fi</div><div class='del'>-    nonopt="$ac_option"</div><div class='del'>-    ;;</div><div class='del'>-</div><div class='del'>-  esac</div><div class='del'>-done</div><div class='del'>-</div><div class='del'>-if test -n "$ac_prev"; then</div><div class='del'>-  { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1&gt;&amp;2; exit 1; }</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15</div><div class='del'>-</div><div class='del'>-# File descriptor usage:</div><div class='del'>-# 0 standard input</div><div class='del'>-# 1 file creation</div><div class='del'>-# 2 errors and warnings</div><div class='del'>-# 3 some systems may open it to /dev/tty</div><div class='del'>-# 4 used on the Kubota Titan</div><div class='del'>-# 6 checking for... messages and results</div><div class='del'>-# 5 compiler messages saved in config.log</div><div class='del'>-if test "$silent" = yes; then</div><div class='del'>-  exec 6&gt;/dev/null</div><div class='del'>-else</div><div class='del'>-  exec 6&gt;&amp;1</div><div class='del'>-fi</div><div class='del'>-exec 5&gt;./config.log</div><div class='del'>-</div><div class='del'>-echo "\</div><div class='del'>-This file contains any messages produced by compilers while</div><div class='del'>-running configure, to aid debugging if configure makes a mistake.</div><div class='del'>-" 1&gt;&amp;5</div><div class='del'>-</div><div class='del'>-# Strip out --no-create and --no-recursion so they do not pile up.</div><div class='del'>-# Also quote any args containing shell metacharacters.</div><div class='del'>-ac_configure_args=</div><div class='del'>-for ac_arg</div><div class='del'>-do</div><div class='del'>-  case "$ac_arg" in</div><div class='del'>-  -no-create | --no-create | --no-creat | --no-crea | --no-cre \</div><div class='del'>-  | --no-cr | --no-c) ;;</div><div class='del'>-  -no-recursion | --no-recursion | --no-recursio | --no-recursi \</div><div class='del'>-  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;</div><div class='del'>-  *" "*|*"	"*|*[\[\]\~\#\$\^\&amp;\*\(\)\{\}\\\|\;\&lt;\&gt;\?]*)</div><div class='del'>-  ac_configure_args="$ac_configure_args '$ac_arg'" ;;</div><div class='del'>-  *) ac_configure_args="$ac_configure_args $ac_arg" ;;</div><div class='del'>-  esac</div><div class='del'>-done</div><div class='del'>-</div><div class='del'>-# NLS nuisances.</div><div class='del'>-# Only set these to C if already set.  These must not be set unconditionally</div><div class='del'>-# because not all systems understand e.g. LANG=C (notably SCO).</div><div class='del'>-# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!</div><div class='del'>-# Non-C LC_CTYPE values break the ctype check.</div><div class='del'>-if test "${LANG+set}"   = set; then LANG=C;   export LANG;   fi</div><div class='del'>-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi</div><div class='del'>-if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi</div><div class='del'>-if test "${LC_CTYPE+set}"    = set; then LC_CTYPE=C;    export LC_CTYPE;    fi</div><div class='del'>-</div><div class='del'>-# confdefs.h avoids OS command line length limits that DEFS can exceed.</div><div class='del'>-rm -rf conftest* confdefs.h</div><div class='del'>-# AIX cpp loses on an empty file, so make sure it contains at least a newline.</div><div class='del'>-echo &gt; confdefs.h</div><div class='del'>-</div><div class='del'>-# A filename unique to this package, relative to the directory that</div><div class='del'>-# configure is in, which we can look for to find out if srcdir is correct.</div><div class='del'>-ac_unique_file=ruby.h</div><div class='del'>-</div><div class='del'>-# Find the source files, if location was not specified.</div><div class='del'>-if test -z "$srcdir"; then</div><div class='del'>-  ac_srcdir_defaulted=yes</div><div class='del'>-  # Try the directory containing this script, then its parent.</div><div class='del'>-  ac_prog=$0</div><div class='del'>-  ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`</div><div class='del'>-  test "x$ac_confdir" = "x$ac_prog" &amp;&amp; ac_confdir=.</div><div class='del'>-  srcdir=$ac_confdir</div><div class='del'>-  if test ! -r $srcdir/$ac_unique_file; then</div><div class='del'>-    srcdir=..</div><div class='del'>-  fi</div><div class='del'>-else</div><div class='del'>-  ac_srcdir_defaulted=no</div><div class='del'>-fi</div><div class='del'>-if test ! -r $srcdir/$ac_unique_file; then</div><div class='del'>-  if test "$ac_srcdir_defaulted" = yes; then</div><div class='del'>-    { echo "configure: error: can not find sources in $ac_confdir or .." 1&gt;&amp;2; exit 1; }</div><div class='del'>-  else</div><div class='del'>-    { echo "configure: error: can not find sources in $srcdir" 1&gt;&amp;2; exit 1; }</div><div class='del'>-  fi</div><div class='del'>-fi</div><div class='del'>-srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`</div><div class='del'>-</div><div class='del'>-# Prefer explicitly selected file to automatically selected ones.</div><div class='del'>-if test -z "$CONFIG_SITE"; then</div><div class='del'>-  if test "x$prefix" != xNONE; then</div><div class='del'>-    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"</div><div class='del'>-  else</div><div class='del'>-    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"</div><div class='del'>-  fi</div><div class='del'>-fi</div><div class='del'>-for ac_site_file in $CONFIG_SITE; do</div><div class='del'>-  if test -r "$ac_site_file"; then</div><div class='del'>-    echo "loading site script $ac_site_file"</div><div class='del'>-    . "$ac_site_file"</div><div class='del'>-  fi</div><div class='del'>-done</div><div class='del'>-</div><div class='del'>-if test -r "$cache_file"; then</div><div class='del'>-  echo "loading cache $cache_file"</div><div class='del'>-  . $cache_file</div><div class='del'>-else</div><div class='del'>-  echo "creating cache $cache_file"</div><div class='del'>-  &gt; $cache_file</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-ac_ext=c</div><div class='del'>-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.</div><div class='del'>-ac_cpp='$CPP $CPPFLAGS'</div><div class='del'>-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1&gt;&amp;5'</div><div class='del'>-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1&gt;&amp;5'</div><div class='del'>-cross_compiling=$ac_cv_prog_cc_cross</div><div class='del'>-</div><div class='del'>-ac_exeext=</div><div class='del'>-ac_objext=o</div><div class='del'>-if (echo "testing\c"; echo 1,2,3) | grep c &gt;/dev/null; then</div><div class='del'>-  # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.</div><div class='del'>-  if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn &gt;/dev/null; then</div><div class='del'>-    ac_n= ac_c='</div><div class='del'>-' ac_t='	'</div><div class='del'>-  else</div><div class='del'>-    ac_n=-n ac_c= ac_t=</div><div class='del'>-  fi</div><div class='del'>-else</div><div class='del'>-  ac_n= ac_c='\c' ac_t=</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-rb_version=`grep RUBY_VERSION $srcdir/version.h`</div><div class='del'>-MAJOR=`expr "$rb_version" : '#define RUBY_VERSION "\([0-9][0-9]*\)\.[0-9][0-9]*\.[0-9][0-9]*"'`</div><div class='del'>-MINOR=`expr "$rb_version" : '#define RUBY_VERSION "[0-9][0-9]*\.\([0-9][0-9]*\)\.[0-9][0-9]*"'`</div><div class='del'>-TEENY=`expr "$rb_version" : '#define RUBY_VERSION "[0-9][0-9]*\.[0-9][0-9]*\.\([0-9][0-9]*\)"'`</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-# Check whether --with-gcc or --without-gcc was given.</div><div class='del'>-if test "${with_gcc+set}" = set; then</div><div class='del'>-  withval="$with_gcc"</div><div class='del'>-  </div><div class='del'>-	case $withval in</div><div class='del'>-	no)	CC=cc</div><div class='del'>-		without_gcc=yes;;</div><div class='del'>-	yes)	CC=gcc</div><div class='del'>-		without_gcc=no;;</div><div class='del'>-	*)	CC=$withval</div><div class='del'>-		without_gcc=$withval;;</div><div class='del'>-	esac</div><div class='del'>-else</div><div class='del'>-  without_gcc=no</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-if test ! -z "$ac_cv_prog_CC" -a ! -z "$CC" -a "$CC" != "$ac_cv_prog_CC"</div><div class='del'>-then</div><div class='del'>-  { echo "configure: 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)" 1&gt;&amp;2; exit 1; }</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-ac_aux_dir=</div><div class='del'>-for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do</div><div class='del'>-  if test -f $ac_dir/install-sh; then</div><div class='del'>-    ac_aux_dir=$ac_dir</div><div class='del'>-    ac_install_sh="$ac_aux_dir/install-sh -c"</div><div class='del'>-    break</div><div class='del'>-  elif test -f $ac_dir/install.sh; then</div><div class='del'>-    ac_aux_dir=$ac_dir</div><div class='del'>-    ac_install_sh="$ac_aux_dir/install.sh -c"</div><div class='del'>-    break</div><div class='del'>-  fi</div><div class='del'>-done</div><div class='del'>-if test -z "$ac_aux_dir"; then</div><div class='del'>-  { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1&gt;&amp;2; exit 1; }</div><div class='del'>-fi</div><div class='del'>-ac_config_guess=$ac_aux_dir/config.guess</div><div class='del'>-ac_config_sub=$ac_aux_dir/config.sub</div><div class='del'>-ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-# Make sure we can run config.sub.</div><div class='del'>-if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 &gt;/dev/null 2&gt;&amp;1; then :</div><div class='del'>-else { echo "configure: error: can not run $ac_config_sub" 1&gt;&amp;2; exit 1; }</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo $ac_n "checking host system type""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:595: checking host system type" &gt;&amp;5</div><div class='del'>-</div><div class='del'>-host_alias=$host</div><div class='del'>-case "$host_alias" in</div><div class='del'>-NONE)</div><div class='del'>-  case $nonopt in</div><div class='del'>-  NONE)</div><div class='del'>-    if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :</div><div class='del'>-    else { echo "configure: error: can not guess host type; you must specify one" 1&gt;&amp;2; exit 1; }</div><div class='del'>-    fi ;;</div><div class='del'>-  *) host_alias=$nonopt ;;</div><div class='del'>-  esac ;;</div><div class='del'>-esac</div><div class='del'>-</div><div class='del'>-host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`</div><div class='del'>-host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`</div><div class='del'>-host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`</div><div class='del'>-host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`</div><div class='del'>-echo "$ac_t""$host" 1&gt;&amp;6</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-fat_binary=no</div><div class='del'>-# Check whether --enable-fat-binary or --disable-fat-binary was given.</div><div class='del'>-if test "${enable_fat_binary+set}" = set; then</div><div class='del'>-  enableval="$enable_fat_binary"</div><div class='del'>-  fat_binary=$enableval</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>- if test "$fat_binary" = yes ; then</div><div class='del'>-</div><div class='del'>-    echo $ac_n "checking target architecture""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:626: checking target architecture" &gt;&amp;5</div><div class='del'>-</div><div class='del'>-    case "$host_os" in</div><div class='del'>-    rhapsody*)</div><div class='del'>-        echo -n "MacOS X Server: "</div><div class='del'>-	  	if test "$TARGET_ARCHS" = "" ; then</div><div class='del'>-   	        TARGET_ARCHS="ppc i386"</div><div class='del'>-  		fi</div><div class='del'>-	;;</div><div class='del'>-    nextstep*|openstep*)</div><div class='del'>-  	    echo -n "NeXTSTEP/OPENSTEP: "</div><div class='del'>-	    if test "$TARGET_ARCHS" = "" ; then</div><div class='del'>-	       if test `/usr/bin/arch` = "m68k" ; then</div><div class='del'>-		   TARGET_ARCHS="m68k i486"</div><div class='del'>-	       else # Black and Native one</div><div class='del'>-		   TARGET_ARCHS="m68k `/usr/bin/arch`"</div><div class='del'>-	       fi</div><div class='del'>-	    fi</div><div class='del'>-        ;;</div><div class='del'>-    esac</div><div class='del'>-    # /usr/lib/arch_tool -archify_list $TARGET_ARCHS</div><div class='del'>-    for archs in $TARGET_ARCHS </div><div class='del'>-    do</div><div class='del'>-        ARCH_FLAG="$ARCH_FLAG -arch $archs "</div><div class='del'>-        echo -n " $archs"</div><div class='del'>-    done</div><div class='del'>-    cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define NEXT_FAT_BINARY 1</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-    echo "."</div><div class='del'>-fi </div><div class='del'>-</div><div class='del'>-if test "$program_transform_name" = s,x,x,; then</div><div class='del'>-  program_transform_name=</div><div class='del'>-else</div><div class='del'>-  # Double any \ or $.  echo might interpret backslashes.</div><div class='del'>-  cat &lt;&lt;\EOF_SED &gt; conftestsed</div><div class='del'>-s,\\,\\\\,g; s,\$,$$,g</div><div class='del'>-EOF_SED</div><div class='del'>-  program_transform_name="`echo $program_transform_name|sed -f conftestsed`"</div><div class='del'>-  rm -f conftestsed</div><div class='del'>-fi</div><div class='del'>-test "$program_prefix" != NONE &amp;&amp;</div><div class='del'>-  program_transform_name="s,^,${program_prefix},; $program_transform_name"</div><div class='del'>-# Use a double $ so make ignores it.</div><div class='del'>-test "$program_suffix" != NONE &amp;&amp;</div><div class='del'>-  program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"</div><div class='del'>-</div><div class='del'>-# sed with no file args requires a program.</div><div class='del'>-test "$program_transform_name" = "" &amp;&amp; program_transform_name="s,x,x,"</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-# Extract the first word of "gcc", so it can be a program name with args.</div><div class='del'>-set dummy gcc; ac_word=$2</div><div class='del'>-echo $ac_n "checking for $ac_word""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:682: checking for $ac_word" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  if test -n "$CC"; then</div><div class='del'>-  ac_cv_prog_CC="$CC" # Let the user override the test.</div><div class='del'>-else</div><div class='del'>-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"</div><div class='del'>-  ac_dummy="$PATH"</div><div class='del'>-  for ac_dir in $ac_dummy; do</div><div class='del'>-    test -z "$ac_dir" &amp;&amp; ac_dir=.</div><div class='del'>-    if test -f $ac_dir/$ac_word; then</div><div class='del'>-      ac_cv_prog_CC="gcc"</div><div class='del'>-      break</div><div class='del'>-    fi</div><div class='del'>-  done</div><div class='del'>-  IFS="$ac_save_ifs"</div><div class='del'>-fi</div><div class='del'>-fi</div><div class='del'>-CC="$ac_cv_prog_CC"</div><div class='del'>-if test -n "$CC"; then</div><div class='del'>-  echo "$ac_t""$CC" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  echo "$ac_t""no" 1&gt;&amp;6</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-if test -z "$CC"; then</div><div class='del'>-  # Extract the first word of "cc", so it can be a program name with args.</div><div class='del'>-set dummy cc; ac_word=$2</div><div class='del'>-echo $ac_n "checking for $ac_word""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:712: checking for $ac_word" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  if test -n "$CC"; then</div><div class='del'>-  ac_cv_prog_CC="$CC" # Let the user override the test.</div><div class='del'>-else</div><div class='del'>-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"</div><div class='del'>-  ac_prog_rejected=no</div><div class='del'>-  ac_dummy="$PATH"</div><div class='del'>-  for ac_dir in $ac_dummy; do</div><div class='del'>-    test -z "$ac_dir" &amp;&amp; ac_dir=.</div><div class='del'>-    if test -f $ac_dir/$ac_word; then</div><div class='del'>-      if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then</div><div class='del'>-        ac_prog_rejected=yes</div><div class='del'>-	continue</div><div class='del'>-      fi</div><div class='del'>-      ac_cv_prog_CC="cc"</div><div class='del'>-      break</div><div class='del'>-    fi</div><div class='del'>-  done</div><div class='del'>-  IFS="$ac_save_ifs"</div><div class='del'>-if test $ac_prog_rejected = yes; then</div><div class='del'>-  # We found a bogon in the path, so make sure we never use it.</div><div class='del'>-  set dummy $ac_cv_prog_CC</div><div class='del'>-  shift</div><div class='del'>-  if test $# -gt 0; then</div><div class='del'>-    # We chose a different compiler from the bogus one.</div><div class='del'>-    # However, it has the same basename, so the bogon will be chosen</div><div class='del'>-    # first if we set CC to just the basename; use the full file name.</div><div class='del'>-    shift</div><div class='del'>-    set dummy "$ac_dir/$ac_word" "$@"</div><div class='del'>-    shift</div><div class='del'>-    ac_cv_prog_CC="$@"</div><div class='del'>-  fi</div><div class='del'>-fi</div><div class='del'>-fi</div><div class='del'>-fi</div><div class='del'>-CC="$ac_cv_prog_CC"</div><div class='del'>-if test -n "$CC"; then</div><div class='del'>-  echo "$ac_t""$CC" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  echo "$ac_t""no" 1&gt;&amp;6</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-  if test -z "$CC"; then</div><div class='del'>-    case "`uname -s`" in</div><div class='del'>-    *win32* | *WIN32*)</div><div class='del'>-      # Extract the first word of "cl", so it can be a program name with args.</div><div class='del'>-set dummy cl; ac_word=$2</div><div class='del'>-echo $ac_n "checking for $ac_word""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:763: checking for $ac_word" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  if test -n "$CC"; then</div><div class='del'>-  ac_cv_prog_CC="$CC" # Let the user override the test.</div><div class='del'>-else</div><div class='del'>-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"</div><div class='del'>-  ac_dummy="$PATH"</div><div class='del'>-  for ac_dir in $ac_dummy; do</div><div class='del'>-    test -z "$ac_dir" &amp;&amp; ac_dir=.</div><div class='del'>-    if test -f $ac_dir/$ac_word; then</div><div class='del'>-      ac_cv_prog_CC="cl"</div><div class='del'>-      break</div><div class='del'>-    fi</div><div class='del'>-  done</div><div class='del'>-  IFS="$ac_save_ifs"</div><div class='del'>-fi</div><div class='del'>-fi</div><div class='del'>-CC="$ac_cv_prog_CC"</div><div class='del'>-if test -n "$CC"; then</div><div class='del'>-  echo "$ac_t""$CC" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  echo "$ac_t""no" 1&gt;&amp;6</div><div class='del'>-fi</div><div class='del'>- ;;</div><div class='del'>-    esac</div><div class='del'>-  fi</div><div class='del'>-  test -z "$CC" &amp;&amp; { echo "configure: error: no acceptable cc found in \$PATH" 1&gt;&amp;2; exit 1; }</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:795: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" &gt;&amp;5</div><div class='del'>-</div><div class='del'>-ac_ext=c</div><div class='del'>-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.</div><div class='del'>-ac_cpp='$CPP $CPPFLAGS'</div><div class='del'>-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1&gt;&amp;5'</div><div class='del'>-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1&gt;&amp;5'</div><div class='del'>-cross_compiling=$ac_cv_prog_cc_cross</div><div class='del'>-</div><div class='del'>-cat &gt; conftest.$ac_ext &lt;&lt; EOF</div><div class='del'>-</div><div class='del'>-#line 806 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-</div><div class='del'>-main(){return(0);}</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:811: \"$ac_link\") 1&gt;&amp;5; (eval $ac_link) 2&gt;&amp;5; } &amp;&amp; test -s conftest${ac_exeext}; then</div><div class='del'>-  ac_cv_prog_cc_works=yes</div><div class='del'>-  # If we can't run a trivial program, we are probably using a cross compiler.</div><div class='del'>-  if (./conftest; exit) 2&gt;/dev/null; then</div><div class='del'>-    ac_cv_prog_cc_cross=no</div><div class='del'>-  else</div><div class='del'>-    ac_cv_prog_cc_cross=yes</div><div class='del'>-  fi</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  ac_cv_prog_cc_works=no</div><div class='del'>-fi</div><div class='del'>-rm -fr conftest*</div><div class='del'>-ac_ext=c</div><div class='del'>-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.</div><div class='del'>-ac_cpp='$CPP $CPPFLAGS'</div><div class='del'>-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1&gt;&amp;5'</div><div class='del'>-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1&gt;&amp;5'</div><div class='del'>-cross_compiling=$ac_cv_prog_cc_cross</div><div class='del'>-</div><div class='del'>-echo "$ac_t""$ac_cv_prog_cc_works" 1&gt;&amp;6</div><div class='del'>-if test $ac_cv_prog_cc_works = no; then</div><div class='del'>-  { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1&gt;&amp;2; exit 1; }</div><div class='del'>-fi</div><div class='del'>-echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:837: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" &gt;&amp;5</div><div class='del'>-echo "$ac_t""$ac_cv_prog_cc_cross" 1&gt;&amp;6</div><div class='del'>-cross_compiling=$ac_cv_prog_cc_cross</div><div class='del'>-</div><div class='del'>-echo $ac_n "checking whether we are using GNU C""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:842: checking whether we are using GNU C" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.c &lt;&lt;EOF</div><div class='del'>-#ifdef __GNUC__</div><div class='del'>-  yes;</div><div class='del'>-#endif</div><div class='del'>-EOF</div><div class='del'>-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:851: \"$ac_try\") 1&gt;&amp;5; (eval $ac_try) 2&gt;&amp;5; }; } | egrep yes &gt;/dev/null 2&gt;&amp;1; then</div><div class='del'>-  ac_cv_prog_gcc=yes</div><div class='del'>-else</div><div class='del'>-  ac_cv_prog_gcc=no</div><div class='del'>-fi</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo "$ac_t""$ac_cv_prog_gcc" 1&gt;&amp;6</div><div class='del'>-</div><div class='del'>-if test $ac_cv_prog_gcc = yes; then</div><div class='del'>-  GCC=yes</div><div class='del'>-else</div><div class='del'>-  GCC=</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-ac_test_CFLAGS="${CFLAGS+set}"</div><div class='del'>-ac_save_CFLAGS="$CFLAGS"</div><div class='del'>-CFLAGS=</div><div class='del'>-echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:870: checking whether ${CC-cc} accepts -g" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  echo 'void f(){}' &gt; conftest.c</div><div class='del'>-if test -z "`${CC-cc} -g -c conftest.c 2&gt;&amp;1`"; then</div><div class='del'>-  ac_cv_prog_cc_g=yes</div><div class='del'>-else</div><div class='del'>-  ac_cv_prog_cc_g=no</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo "$ac_t""$ac_cv_prog_cc_g" 1&gt;&amp;6</div><div class='del'>-if test "$ac_test_CFLAGS" = set; then</div><div class='del'>-  CFLAGS="$ac_save_CFLAGS"</div><div class='del'>-elif test $ac_cv_prog_cc_g = yes; then</div><div class='del'>-  if test "$GCC" = yes; then</div><div class='del'>-    CFLAGS="-g -O2"</div><div class='del'>-  else</div><div class='del'>-    CFLAGS="-g"</div><div class='del'>-  fi</div><div class='del'>-else</div><div class='del'>-  if test "$GCC" = yes; then</div><div class='del'>-    CFLAGS="-O2"</div><div class='del'>-  else</div><div class='del'>-    CFLAGS=</div><div class='del'>-  fi</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:902: checking how to run the C preprocessor" &gt;&amp;5</div><div class='del'>-# On Suns, sometimes $CPP names a directory.</div><div class='del'>-if test -n "$CPP" &amp;&amp; test -d "$CPP"; then</div><div class='del'>-  CPP=</div><div class='del'>-fi</div><div class='del'>-if test -z "$CPP"; then</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-    # This must be in double quotes, not single quotes, because CPP may get</div><div class='del'>-  # substituted into the Makefile and "${CC-cc}" will confuse make.</div><div class='del'>-  CPP="${CC-cc} -E"</div><div class='del'>-  # On the NeXT, cc -E runs the code through the compiler's parser,</div><div class='del'>-  # not just through cpp.</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 917 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-#include &lt;assert.h&gt;</div><div class='del'>-Syntax Error</div><div class='del'>-EOF</div><div class='del'>-ac_try="$ac_cpp conftest.$ac_ext &gt;/dev/null 2&gt;conftest.out"</div><div class='del'>-{ (eval echo configure:923: \"$ac_try\") 1&gt;&amp;5; (eval $ac_try) 2&gt;&amp;5; }</div><div class='del'>-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`</div><div class='del'>-if test -z "$ac_err"; then</div><div class='del'>-  :</div><div class='del'>-else</div><div class='del'>-  echo "$ac_err" &gt;&amp;5</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  CPP="${CC-cc} -E -traditional-cpp"</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 934 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-#include &lt;assert.h&gt;</div><div class='del'>-Syntax Error</div><div class='del'>-EOF</div><div class='del'>-ac_try="$ac_cpp conftest.$ac_ext &gt;/dev/null 2&gt;conftest.out"</div><div class='del'>-{ (eval echo configure:940: \"$ac_try\") 1&gt;&amp;5; (eval $ac_try) 2&gt;&amp;5; }</div><div class='del'>-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`</div><div class='del'>-if test -z "$ac_err"; then</div><div class='del'>-  :</div><div class='del'>-else</div><div class='del'>-  echo "$ac_err" &gt;&amp;5</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  CPP="${CC-cc} -nologo -E"</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 951 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-#include &lt;assert.h&gt;</div><div class='del'>-Syntax Error</div><div class='del'>-EOF</div><div class='del'>-ac_try="$ac_cpp conftest.$ac_ext &gt;/dev/null 2&gt;conftest.out"</div><div class='del'>-{ (eval echo configure:957: \"$ac_try\") 1&gt;&amp;5; (eval $ac_try) 2&gt;&amp;5; }</div><div class='del'>-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`</div><div class='del'>-if test -z "$ac_err"; then</div><div class='del'>-  :</div><div class='del'>-else</div><div class='del'>-  echo "$ac_err" &gt;&amp;5</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  CPP=/lib/cpp</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-  ac_cv_prog_CPP="$CPP"</div><div class='del'>-fi</div><div class='del'>-  CPP="$ac_cv_prog_CPP"</div><div class='del'>-else</div><div class='del'>-  ac_cv_prog_CPP="$CPP"</div><div class='del'>-fi</div><div class='del'>-echo "$ac_t""$CPP" 1&gt;&amp;6</div><div class='del'>-</div><div class='del'>-if test $ac_cv_prog_gcc = yes; then</div><div class='del'>-    echo $ac_n "checking whether ${CC-cc} needs -traditional""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:983: checking whether ${CC-cc} needs -traditional" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_prog_gcc_traditional'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-    ac_pattern="Autoconf.*'x'"</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 989 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-#include &lt;sgtty.h&gt;</div><div class='del'>-Autoconf TIOCGETP</div><div class='del'>-EOF</div><div class='del'>-if (eval "$ac_cpp conftest.$ac_ext") 2&gt;&amp;5 |</div><div class='del'>-  egrep "$ac_pattern" &gt;/dev/null 2&gt;&amp;1; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_prog_gcc_traditional=yes</div><div class='del'>-else</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_prog_gcc_traditional=no</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-  if test $ac_cv_prog_gcc_traditional = no; then</div><div class='del'>-    cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 1007 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-#include &lt;termio.h&gt;</div><div class='del'>-Autoconf TCGETA</div><div class='del'>-EOF</div><div class='del'>-if (eval "$ac_cpp conftest.$ac_ext") 2&gt;&amp;5 |</div><div class='del'>-  egrep "$ac_pattern" &gt;/dev/null 2&gt;&amp;1; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_prog_gcc_traditional=yes</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-</div><div class='del'>-  fi</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo "$ac_t""$ac_cv_prog_gcc_traditional" 1&gt;&amp;6</div><div class='del'>-  if test $ac_cv_prog_gcc_traditional = yes; then</div><div class='del'>-    CC="$CC -traditional"</div><div class='del'>-  fi</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-for ac_prog in 'bison -y' byacc</div><div class='del'>-do</div><div class='del'>-# Extract the first word of "$ac_prog", so it can be a program name with args.</div><div class='del'>-set dummy $ac_prog; ac_word=$2</div><div class='del'>-echo $ac_n "checking for $ac_word""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:1033: checking for $ac_word" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  if test -n "$YACC"; then</div><div class='del'>-  ac_cv_prog_YACC="$YACC" # Let the user override the test.</div><div class='del'>-else</div><div class='del'>-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"</div><div class='del'>-  ac_dummy="$PATH"</div><div class='del'>-  for ac_dir in $ac_dummy; do</div><div class='del'>-    test -z "$ac_dir" &amp;&amp; ac_dir=.</div><div class='del'>-    if test -f $ac_dir/$ac_word; then</div><div class='del'>-      ac_cv_prog_YACC="$ac_prog"</div><div class='del'>-      break</div><div class='del'>-    fi</div><div class='del'>-  done</div><div class='del'>-  IFS="$ac_save_ifs"</div><div class='del'>-fi</div><div class='del'>-fi</div><div class='del'>-YACC="$ac_cv_prog_YACC"</div><div class='del'>-if test -n "$YACC"; then</div><div class='del'>-  echo "$ac_t""$YACC" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  echo "$ac_t""no" 1&gt;&amp;6</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-test -n "$YACC" &amp;&amp; break</div><div class='del'>-done</div><div class='del'>-test -n "$YACC" || YACC="yacc"</div><div class='del'>-</div><div class='del'>-# Extract the first word of "ranlib", so it can be a program name with args.</div><div class='del'>-set dummy ranlib; ac_word=$2</div><div class='del'>-echo $ac_n "checking for $ac_word""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:1066: checking for $ac_word" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  if test -n "$RANLIB"; then</div><div class='del'>-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.</div><div class='del'>-else</div><div class='del'>-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"</div><div class='del'>-  ac_dummy="$PATH"</div><div class='del'>-  for ac_dir in $ac_dummy; do</div><div class='del'>-    test -z "$ac_dir" &amp;&amp; ac_dir=.</div><div class='del'>-    if test -f $ac_dir/$ac_word; then</div><div class='del'>-      ac_cv_prog_RANLIB="ranlib"</div><div class='del'>-      break</div><div class='del'>-    fi</div><div class='del'>-  done</div><div class='del'>-  IFS="$ac_save_ifs"</div><div class='del'>-  test -z "$ac_cv_prog_RANLIB" &amp;&amp; ac_cv_prog_RANLIB=":"</div><div class='del'>-fi</div><div class='del'>-fi</div><div class='del'>-RANLIB="$ac_cv_prog_RANLIB"</div><div class='del'>-if test -n "$RANLIB"; then</div><div class='del'>-  echo "$ac_t""$RANLIB" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  echo "$ac_t""no" 1&gt;&amp;6</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-for ac_prog in ar aal</div><div class='del'>-do</div><div class='del'>-# Extract the first word of "$ac_prog", so it can be a program name with args.</div><div class='del'>-set dummy $ac_prog; ac_word=$2</div><div class='del'>-echo $ac_n "checking for $ac_word""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:1099: checking for $ac_word" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  if test -n "$AR"; then</div><div class='del'>-  ac_cv_prog_AR="$AR" # Let the user override the test.</div><div class='del'>-else</div><div class='del'>-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"</div><div class='del'>-  ac_dummy="$PATH"</div><div class='del'>-  for ac_dir in $ac_dummy; do</div><div class='del'>-    test -z "$ac_dir" &amp;&amp; ac_dir=.</div><div class='del'>-    if test -f $ac_dir/$ac_word; then</div><div class='del'>-      ac_cv_prog_AR="$ac_prog"</div><div class='del'>-      break</div><div class='del'>-    fi</div><div class='del'>-  done</div><div class='del'>-  IFS="$ac_save_ifs"</div><div class='del'>-fi</div><div class='del'>-fi</div><div class='del'>-AR="$ac_cv_prog_AR"</div><div class='del'>-if test -n "$AR"; then</div><div class='del'>-  echo "$ac_t""$AR" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  echo "$ac_t""no" 1&gt;&amp;6</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-test -n "$AR" &amp;&amp; break</div><div class='del'>-done</div><div class='del'>-test -n "$AR" || AR="ar"</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-echo $ac_n "checking whether ln -s works""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:1131: checking whether ln -s works" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  rm -f conftestdata</div><div class='del'>-if ln -s X conftestdata 2&gt;/dev/null</div><div class='del'>-then</div><div class='del'>-  rm -f conftestdata</div><div class='del'>-  ac_cv_prog_LN_S="ln -s"</div><div class='del'>-else</div><div class='del'>-  ac_cv_prog_LN_S=ln</div><div class='del'>-fi</div><div class='del'>-fi</div><div class='del'>-LN_S="$ac_cv_prog_LN_S"</div><div class='del'>-if test "$ac_cv_prog_LN_S" = "ln -s"; then</div><div class='del'>-  echo "$ac_t""yes" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  echo "$ac_t""no" 1&gt;&amp;6</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:1152: checking whether ${MAKE-make} sets \${MAKE}" &gt;&amp;5</div><div class='del'>-set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftestmake &lt;&lt;\EOF</div><div class='del'>-all:</div><div class='del'>-	@echo 'ac_maketemp="${MAKE}"'</div><div class='del'>-EOF</div><div class='del'>-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.</div><div class='del'>-eval `${MAKE-make} -f conftestmake 2&gt;/dev/null | grep temp=`</div><div class='del'>-if test -n "$ac_maketemp"; then</div><div class='del'>-  eval ac_cv_prog_make_${ac_make}_set=yes</div><div class='del'>-else</div><div class='del'>-  eval ac_cv_prog_make_${ac_make}_set=no</div><div class='del'>-fi</div><div class='del'>-rm -f conftestmake</div><div class='del'>-fi</div><div class='del'>-if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then</div><div class='del'>-  echo "$ac_t""yes" 1&gt;&amp;6</div><div class='del'>-  SET_MAKE=</div><div class='del'>-else</div><div class='del'>-  echo "$ac_t""no" 1&gt;&amp;6</div><div class='del'>-  SET_MAKE="MAKE=${MAKE-make}"</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-echo $ac_n "checking for Cygwin environment""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:1180: checking for Cygwin environment" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 1185 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-</div><div class='del'>-int main() {</div><div class='del'>-</div><div class='del'>-#ifndef __CYGWIN__</div><div class='del'>-#define __CYGWIN__ __CYGWIN32__</div><div class='del'>-#endif</div><div class='del'>-return __CYGWIN__;</div><div class='del'>-; return 0; }</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:1196: \"$ac_compile\") 1&gt;&amp;5; (eval $ac_compile) 2&gt;&amp;5; }; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_cygwin=yes</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_cygwin=no</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-rm -f conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo "$ac_t""$ac_cv_cygwin" 1&gt;&amp;6</div><div class='del'>-CYGWIN=</div><div class='del'>-test "$ac_cv_cygwin" = yes &amp;&amp; CYGWIN=yes</div><div class='del'>-echo $ac_n "checking for mingw32 environment""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:1213: checking for mingw32 environment" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 1218 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-</div><div class='del'>-int main() {</div><div class='del'>-return __MINGW32__;</div><div class='del'>-; return 0; }</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:1225: \"$ac_compile\") 1&gt;&amp;5; (eval $ac_compile) 2&gt;&amp;5; }; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_mingw32=yes</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_mingw32=no</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-rm -f conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo "$ac_t""$ac_cv_mingw32" 1&gt;&amp;6</div><div class='del'>-MINGW32=</div><div class='del'>-test "$ac_cv_mingw32" = yes &amp;&amp; MINGW32=yes</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-echo $ac_n "checking for executable suffix""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:1244: checking for executable suffix" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  if test "$CYGWIN" = yes || test "$MINGW32" = yes; then</div><div class='del'>-  ac_cv_exeext=.exe</div><div class='del'>-else</div><div class='del'>-  rm -f conftest*</div><div class='del'>-  echo 'int main () { return 0; }' &gt; conftest.$ac_ext</div><div class='del'>-  ac_cv_exeext=</div><div class='del'>-  if { (eval echo configure:1254: \"$ac_link\") 1&gt;&amp;5; (eval $ac_link) 2&gt;&amp;5; }; then</div><div class='del'>-    for file in conftest.*; do</div><div class='del'>-      case $file in</div><div class='del'>-      *.c | *.o | *.obj) ;;</div><div class='del'>-      *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;</div><div class='del'>-      esac</div><div class='del'>-    done</div><div class='del'>-  else</div><div class='del'>-    { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1&gt;&amp;2; exit 1; }</div><div class='del'>-  fi</div><div class='del'>-  rm -f conftest*</div><div class='del'>-  test x"${ac_cv_exeext}" = x &amp;&amp; ac_cv_exeext=no</div><div class='del'>-fi</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-EXEEXT=""</div><div class='del'>-test x"${ac_cv_exeext}" != xno &amp;&amp; EXEEXT=${ac_cv_exeext}</div><div class='del'>-echo "$ac_t""${ac_cv_exeext}" 1&gt;&amp;6</div><div class='del'>-ac_exeext=$EXEEXT</div><div class='del'>-</div><div class='del'>-echo $ac_n "checking for object suffix""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:1275: checking for object suffix" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_objext'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  rm -f conftest*</div><div class='del'>-echo 'int i = 1;' &gt; conftest.$ac_ext</div><div class='del'>-if { (eval echo configure:1281: \"$ac_compile\") 1&gt;&amp;5; (eval $ac_compile) 2&gt;&amp;5; }; then</div><div class='del'>-  for ac_file in conftest.*; do</div><div class='del'>-    case $ac_file in</div><div class='del'>-    *.c) ;;</div><div class='del'>-    *) ac_cv_objext=`echo $ac_file | sed -e s/conftest.//` ;;</div><div class='del'>-    esac</div><div class='del'>-  done</div><div class='del'>-else</div><div class='del'>-  { echo "configure: error: installation or configuration problem; compiler does not work" 1&gt;&amp;2; exit 1; }</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo "$ac_t""$ac_cv_objext" 1&gt;&amp;6</div><div class='del'>-OBJEXT=$ac_cv_objext</div><div class='del'>-ac_objext=$ac_cv_objext</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-# checks for UNIX variants that set C preprocessor variables</div><div class='del'>-ac_safe=`echo "minix/config.h" | sed 'y%./+-%__p_%'`</div><div class='del'>-echo $ac_n "checking for minix/config.h""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:1302: checking for minix/config.h" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 1307 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-#include &lt;minix/config.h&gt;</div><div class='del'>-EOF</div><div class='del'>-ac_try="$ac_cpp conftest.$ac_ext &gt;/dev/null 2&gt;conftest.out"</div><div class='del'>-{ (eval echo configure:1312: \"$ac_try\") 1&gt;&amp;5; (eval $ac_try) 2&gt;&amp;5; }</div><div class='del'>-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`</div><div class='del'>-if test -z "$ac_err"; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  eval "ac_cv_header_$ac_safe=yes"</div><div class='del'>-else</div><div class='del'>-  echo "$ac_err" &gt;&amp;5</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  eval "ac_cv_header_$ac_safe=no"</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-fi</div><div class='del'>-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then</div><div class='del'>-  echo "$ac_t""yes" 1&gt;&amp;6</div><div class='del'>-  MINIX=yes</div><div class='del'>-else</div><div class='del'>-  echo "$ac_t""no" 1&gt;&amp;6</div><div class='del'>-MINIX=</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-if test "$MINIX" = yes; then</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define _POSIX_SOURCE 1</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define _POSIX_1_SOURCE 2</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define _MINIX 1</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-echo $ac_n "checking size of int""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:1351: checking size of int" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_sizeof_int'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  if test "$cross_compiling" = yes; then</div><div class='del'>-    { echo "configure: error: can not run test program while cross compiling" 1&gt;&amp;2; exit 1; }</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 1359 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-#include &lt;stdio.h&gt;</div><div class='del'>-main()</div><div class='del'>-{</div><div class='del'>-  FILE *f=fopen("conftestval", "w");</div><div class='del'>-  if (!f) exit(1);</div><div class='del'>-  fprintf(f, "%d\n", sizeof(int));</div><div class='del'>-  exit(0);</div><div class='del'>-}</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:1370: \"$ac_link\") 1&gt;&amp;5; (eval $ac_link) 2&gt;&amp;5; } &amp;&amp; test -s conftest${ac_exeext} &amp;&amp; (./conftest; exit) 2&gt;/dev/null</div><div class='del'>-then</div><div class='del'>-  ac_cv_sizeof_int=`cat conftestval`</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -fr conftest*</div><div class='del'>-  ac_cv_sizeof_int=0</div><div class='del'>-fi</div><div class='del'>-rm -fr conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-echo "$ac_t""$ac_cv_sizeof_int" 1&gt;&amp;6</div><div class='del'>-cat &gt;&gt; confdefs.h &lt;&lt;EOF</div><div class='del'>-#define SIZEOF_INT $ac_cv_sizeof_int</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-echo $ac_n "checking size of short""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:1390: checking size of short" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_sizeof_short'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  if test "$cross_compiling" = yes; then</div><div class='del'>-    { echo "configure: error: can not run test program while cross compiling" 1&gt;&amp;2; exit 1; }</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 1398 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-#include &lt;stdio.h&gt;</div><div class='del'>-main()</div><div class='del'>-{</div><div class='del'>-  FILE *f=fopen("conftestval", "w");</div><div class='del'>-  if (!f) exit(1);</div><div class='del'>-  fprintf(f, "%d\n", sizeof(short));</div><div class='del'>-  exit(0);</div><div class='del'>-}</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:1409: \"$ac_link\") 1&gt;&amp;5; (eval $ac_link) 2&gt;&amp;5; } &amp;&amp; test -s conftest${ac_exeext} &amp;&amp; (./conftest; exit) 2&gt;/dev/null</div><div class='del'>-then</div><div class='del'>-  ac_cv_sizeof_short=`cat conftestval`</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -fr conftest*</div><div class='del'>-  ac_cv_sizeof_short=0</div><div class='del'>-fi</div><div class='del'>-rm -fr conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-echo "$ac_t""$ac_cv_sizeof_short" 1&gt;&amp;6</div><div class='del'>-cat &gt;&gt; confdefs.h &lt;&lt;EOF</div><div class='del'>-#define SIZEOF_SHORT $ac_cv_sizeof_short</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-echo $ac_n "checking size of long""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:1429: checking size of long" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_sizeof_long'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  if test "$cross_compiling" = yes; then</div><div class='del'>-    { echo "configure: error: can not run test program while cross compiling" 1&gt;&amp;2; exit 1; }</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 1437 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-#include &lt;stdio.h&gt;</div><div class='del'>-main()</div><div class='del'>-{</div><div class='del'>-  FILE *f=fopen("conftestval", "w");</div><div class='del'>-  if (!f) exit(1);</div><div class='del'>-  fprintf(f, "%d\n", sizeof(long));</div><div class='del'>-  exit(0);</div><div class='del'>-}</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:1448: \"$ac_link\") 1&gt;&amp;5; (eval $ac_link) 2&gt;&amp;5; } &amp;&amp; test -s conftest${ac_exeext} &amp;&amp; (./conftest; exit) 2&gt;/dev/null</div><div class='del'>-then</div><div class='del'>-  ac_cv_sizeof_long=`cat conftestval`</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -fr conftest*</div><div class='del'>-  ac_cv_sizeof_long=0</div><div class='del'>-fi</div><div class='del'>-rm -fr conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-echo "$ac_t""$ac_cv_sizeof_long" 1&gt;&amp;6</div><div class='del'>-cat &gt;&gt; confdefs.h &lt;&lt;EOF</div><div class='del'>-#define SIZEOF_LONG $ac_cv_sizeof_long</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-echo $ac_n "checking size of void*""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:1468: checking size of void*" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_sizeof_voidp'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  if test "$cross_compiling" = yes; then</div><div class='del'>-    { echo "configure: error: can not run test program while cross compiling" 1&gt;&amp;2; exit 1; }</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 1476 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-#include &lt;stdio.h&gt;</div><div class='del'>-main()</div><div class='del'>-{</div><div class='del'>-  FILE *f=fopen("conftestval", "w");</div><div class='del'>-  if (!f) exit(1);</div><div class='del'>-  fprintf(f, "%d\n", sizeof(void*));</div><div class='del'>-  exit(0);</div><div class='del'>-}</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:1487: \"$ac_link\") 1&gt;&amp;5; (eval $ac_link) 2&gt;&amp;5; } &amp;&amp; test -s conftest${ac_exeext} &amp;&amp; (./conftest; exit) 2&gt;/dev/null</div><div class='del'>-then</div><div class='del'>-  ac_cv_sizeof_voidp=`cat conftestval`</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -fr conftest*</div><div class='del'>-  ac_cv_sizeof_voidp=0</div><div class='del'>-fi</div><div class='del'>-rm -fr conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-echo "$ac_t""$ac_cv_sizeof_voidp" 1&gt;&amp;6</div><div class='del'>-cat &gt;&gt; confdefs.h &lt;&lt;EOF</div><div class='del'>-#define SIZEOF_VOIDP $ac_cv_sizeof_voidp</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-echo $ac_n "checking size of float""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:1507: checking size of float" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_sizeof_float'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  if test "$cross_compiling" = yes; then</div><div class='del'>-    { echo "configure: error: can not run test program while cross compiling" 1&gt;&amp;2; exit 1; }</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 1515 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-#include &lt;stdio.h&gt;</div><div class='del'>-main()</div><div class='del'>-{</div><div class='del'>-  FILE *f=fopen("conftestval", "w");</div><div class='del'>-  if (!f) exit(1);</div><div class='del'>-  fprintf(f, "%d\n", sizeof(float));</div><div class='del'>-  exit(0);</div><div class='del'>-}</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:1526: \"$ac_link\") 1&gt;&amp;5; (eval $ac_link) 2&gt;&amp;5; } &amp;&amp; test -s conftest${ac_exeext} &amp;&amp; (./conftest; exit) 2&gt;/dev/null</div><div class='del'>-then</div><div class='del'>-  ac_cv_sizeof_float=`cat conftestval`</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -fr conftest*</div><div class='del'>-  ac_cv_sizeof_float=0</div><div class='del'>-fi</div><div class='del'>-rm -fr conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-echo "$ac_t""$ac_cv_sizeof_float" 1&gt;&amp;6</div><div class='del'>-cat &gt;&gt; confdefs.h &lt;&lt;EOF</div><div class='del'>-#define SIZEOF_FLOAT $ac_cv_sizeof_float</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-echo $ac_n "checking size of double""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:1546: checking size of double" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_sizeof_double'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  if test "$cross_compiling" = yes; then</div><div class='del'>-    { echo "configure: error: can not run test program while cross compiling" 1&gt;&amp;2; exit 1; }</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 1554 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-#include &lt;stdio.h&gt;</div><div class='del'>-main()</div><div class='del'>-{</div><div class='del'>-  FILE *f=fopen("conftestval", "w");</div><div class='del'>-  if (!f) exit(1);</div><div class='del'>-  fprintf(f, "%d\n", sizeof(double));</div><div class='del'>-  exit(0);</div><div class='del'>-}</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:1565: \"$ac_link\") 1&gt;&amp;5; (eval $ac_link) 2&gt;&amp;5; } &amp;&amp; test -s conftest${ac_exeext} &amp;&amp; (./conftest; exit) 2&gt;/dev/null</div><div class='del'>-then</div><div class='del'>-  ac_cv_sizeof_double=`cat conftestval`</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -fr conftest*</div><div class='del'>-  ac_cv_sizeof_double=0</div><div class='del'>-fi</div><div class='del'>-rm -fr conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-echo "$ac_t""$ac_cv_sizeof_double" 1&gt;&amp;6</div><div class='del'>-cat &gt;&gt; confdefs.h &lt;&lt;EOF</div><div class='del'>-#define SIZEOF_DOUBLE $ac_cv_sizeof_double</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-echo $ac_n "checking for prototypes""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:1586: checking for prototypes" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'rb_cv_have_prototypes'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 1591 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-int foo(int x) { return 0; }</div><div class='del'>-int main() {</div><div class='del'>-return foo(10);</div><div class='del'>-; return 0; }</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:1598: \"$ac_compile\") 1&gt;&amp;5; (eval $ac_compile) 2&gt;&amp;5; }; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  rb_cv_have_prototypes=yes</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  rb_cv_have_prototypes=no</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo "$ac_t""$rb_cv_have_prototypes" 1&gt;&amp;6</div><div class='del'>-if test "$rb_cv_have_prototypes" = yes; then</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define HAVE_PROTOTYPES 1</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo $ac_n "checking token paste string""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:1619: checking token paste string" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'rb_cv_tokenpaste'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 1624 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-#define paste(a,b) a##b</div><div class='del'>-int main() {</div><div class='del'>-int xy = 1; return paste(x,y);</div><div class='del'>-; return 0; }</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:1631: \"$ac_compile\") 1&gt;&amp;5; (eval $ac_compile) 2&gt;&amp;5; }; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  rb_cv_tokenpaste=ansi</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  rb_cv_tokenpaste=knr</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo "$ac_t""$rb_cv_tokenpaste" 1&gt;&amp;6</div><div class='del'>-if test "$rb_cv_tokenpaste" = ansi; then</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define TOKEN_PASTE(x,y) x##y</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-else</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define TOKEN_PASTE(x,y) x/**/y</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo $ac_n "checking for variable length prototypes and stdarg.h""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:1657: checking for variable length prototypes and stdarg.h" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'rb_cv_stdarg'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 1662 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-</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'>-</div><div class='del'>-int main() {</div><div class='del'>-return foo(10, "", 3.14);</div><div class='del'>-; return 0; }</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:1679: \"$ac_compile\") 1&gt;&amp;5; (eval $ac_compile) 2&gt;&amp;5; }; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  rb_cv_stdarg=yes</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  rb_cv_stdarg=no</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo "$ac_t""$rb_cv_stdarg" 1&gt;&amp;6</div><div class='del'>-if test "$rb_cv_stdarg" = yes; then</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define HAVE_STDARG_PROTOTYPES 1</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo $ac_n "checking for gcc attribute noreturn""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:1700: checking for gcc attribute noreturn" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'rb_cv_have_attr_noreturn'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 1705 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-void exit(int x) __attribute__ ((noreturn));</div><div class='del'>-int main() {</div><div class='del'>-</div><div class='del'>-; return 0; }</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:1712: \"$ac_compile\") 1&gt;&amp;5; (eval $ac_compile) 2&gt;&amp;5; }; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  rb_cv_have_attr_noreturn=yes</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  rb_cv_have_attr_noreturn=no</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo "$ac_t""$rb_cv_have_attr_noreturn" 1&gt;&amp;6</div><div class='del'>-if test "$rb_cv_have_attr_noreturn" = yes; then</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define HAVE_ATTR_NORETURN 1</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-case "$host_os" in</div><div class='del'>-nextstep*)	;;</div><div class='del'>-openstep*)	;;</div><div class='del'>-rhapsody*)	;;</div><div class='del'>-human*)		;;</div><div class='del'>-beos*)		;;</div><div class='del'>-cygwin*)	;;</div><div class='del'>-*) LIBS="-lm $LIBS";;</div><div class='del'>-esac</div><div class='del'>-echo $ac_n "checking for crypt in -lcrypt""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:1742: checking for crypt in -lcrypt" &gt;&amp;5</div><div class='del'>-ac_lib_var=`echo crypt'_'crypt | sed 'y%./+-%__p_%'`</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  ac_save_LIBS="$LIBS"</div><div class='del'>-LIBS="-lcrypt  $LIBS"</div><div class='del'>-cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 1750 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-/* Override any gcc2 internal prototype to avoid an error.  */</div><div class='del'>-/* We use char because int might match the return type of a gcc2</div><div class='del'>-    builtin and then its argument prototype would still apply.  */</div><div class='del'>-char crypt();</div><div class='del'>-</div><div class='del'>-int main() {</div><div class='del'>-crypt()</div><div class='del'>-; return 0; }</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:1761: \"$ac_link\") 1&gt;&amp;5; (eval $ac_link) 2&gt;&amp;5; } &amp;&amp; test -s conftest${ac_exeext}; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  eval "ac_cv_lib_$ac_lib_var=yes"</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  eval "ac_cv_lib_$ac_lib_var=no"</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-LIBS="$ac_save_LIBS"</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then</div><div class='del'>-  echo "$ac_t""yes" 1&gt;&amp;6</div><div class='del'>-    ac_tr_lib=HAVE_LIB`echo crypt | sed -e 's/[^a-zA-Z0-9_]/_/g' \</div><div class='del'>-    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;EOF</div><div class='del'>-#define $ac_tr_lib 1</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-  LIBS="-lcrypt $LIBS"</div><div class='del'>-</div><div class='del'>-else</div><div class='del'>-  echo "$ac_t""no" 1&gt;&amp;6</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:1789: checking for dlopen in -ldl" &gt;&amp;5</div><div class='del'>-ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  ac_save_LIBS="$LIBS"</div><div class='del'>-LIBS="-ldl  $LIBS"</div><div class='del'>-cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 1797 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-/* Override any gcc2 internal prototype to avoid an error.  */</div><div class='del'>-/* We use char because int might match the return type of a gcc2</div><div class='del'>-    builtin and then its argument prototype would still apply.  */</div><div class='del'>-char dlopen();</div><div class='del'>-</div><div class='del'>-int main() {</div><div class='del'>-dlopen()</div><div class='del'>-; return 0; }</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:1808: \"$ac_link\") 1&gt;&amp;5; (eval $ac_link) 2&gt;&amp;5; } &amp;&amp; test -s conftest${ac_exeext}; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  eval "ac_cv_lib_$ac_lib_var=yes"</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  eval "ac_cv_lib_$ac_lib_var=no"</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-LIBS="$ac_save_LIBS"</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then</div><div class='del'>-  echo "$ac_t""yes" 1&gt;&amp;6</div><div class='del'>-    ac_tr_lib=HAVE_LIB`echo dl | sed -e 's/[^a-zA-Z0-9_]/_/g' \</div><div class='del'>-    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;EOF</div><div class='del'>-#define $ac_tr_lib 1</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-  LIBS="-ldl $LIBS"</div><div class='del'>-</div><div class='del'>-else</div><div class='del'>-  echo "$ac_t""no" 1&gt;&amp;6</div><div class='del'>-fi</div><div class='del'>-	# Dynamic linking for SunOS/Solaris and SYSV</div><div class='del'>-echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:1836: checking for shl_load in -ldld" &gt;&amp;5</div><div class='del'>-ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'`</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  ac_save_LIBS="$LIBS"</div><div class='del'>-LIBS="-ldld  $LIBS"</div><div class='del'>-cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 1844 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-/* Override any gcc2 internal prototype to avoid an error.  */</div><div class='del'>-/* We use char because int might match the return type of a gcc2</div><div class='del'>-    builtin and then its argument prototype would still apply.  */</div><div class='del'>-char shl_load();</div><div class='del'>-</div><div class='del'>-int main() {</div><div class='del'>-shl_load()</div><div class='del'>-; return 0; }</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:1855: \"$ac_link\") 1&gt;&amp;5; (eval $ac_link) 2&gt;&amp;5; } &amp;&amp; test -s conftest${ac_exeext}; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  eval "ac_cv_lib_$ac_lib_var=yes"</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  eval "ac_cv_lib_$ac_lib_var=no"</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-LIBS="$ac_save_LIBS"</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then</div><div class='del'>-  echo "$ac_t""yes" 1&gt;&amp;6</div><div class='del'>-    ac_tr_lib=HAVE_LIB`echo dld | sed -e 's/[^a-zA-Z0-9_]/_/g' \</div><div class='del'>-    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;EOF</div><div class='del'>-#define $ac_tr_lib 1</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-  LIBS="-ldld $LIBS"</div><div class='del'>-</div><div class='del'>-else</div><div class='del'>-  echo "$ac_t""no" 1&gt;&amp;6</div><div class='del'>-fi</div><div class='del'>-	# Dynamic linking for HP-UX</div><div class='del'>-echo $ac_n "checking for setlocale in -lxpg4""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:1883: checking for setlocale in -lxpg4" &gt;&amp;5</div><div class='del'>-ac_lib_var=`echo xpg4'_'setlocale | sed 'y%./+-%__p_%'`</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  ac_save_LIBS="$LIBS"</div><div class='del'>-LIBS="-lxpg4  $LIBS"</div><div class='del'>-cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 1891 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-/* Override any gcc2 internal prototype to avoid an error.  */</div><div class='del'>-/* We use char because int might match the return type of a gcc2</div><div class='del'>-    builtin and then its argument prototype would still apply.  */</div><div class='del'>-char setlocale();</div><div class='del'>-</div><div class='del'>-int main() {</div><div class='del'>-setlocale()</div><div class='del'>-; return 0; }</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:1902: \"$ac_link\") 1&gt;&amp;5; (eval $ac_link) 2&gt;&amp;5; } &amp;&amp; test -s conftest${ac_exeext}; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  eval "ac_cv_lib_$ac_lib_var=yes"</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  eval "ac_cv_lib_$ac_lib_var=no"</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-LIBS="$ac_save_LIBS"</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then</div><div class='del'>-  echo "$ac_t""yes" 1&gt;&amp;6</div><div class='del'>-    ac_tr_lib=HAVE_LIB`echo xpg4 | sed -e 's/[^a-zA-Z0-9_]/_/g' \</div><div class='del'>-    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;EOF</div><div class='del'>-#define $ac_tr_lib 1</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-  LIBS="-lxpg4 $LIBS"</div><div class='del'>-</div><div class='del'>-else</div><div class='del'>-  echo "$ac_t""no" 1&gt;&amp;6</div><div class='del'>-fi</div><div class='del'>-	# FreeBSD needs this</div><div class='del'>-</div><div class='del'>-ac_header_dirent=no</div><div class='del'>-for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h</div><div class='del'>-do</div><div class='del'>-ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`</div><div class='del'>-echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:1935: checking for $ac_hdr that defines DIR" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 1940 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-#include &lt;sys/types.h&gt;</div><div class='del'>-#include &lt;$ac_hdr&gt;</div><div class='del'>-int main() {</div><div class='del'>-DIR *dirp = 0;</div><div class='del'>-; return 0; }</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:1948: \"$ac_compile\") 1&gt;&amp;5; (eval $ac_compile) 2&gt;&amp;5; }; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  eval "ac_cv_header_dirent_$ac_safe=yes"</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  eval "ac_cv_header_dirent_$ac_safe=no"</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-fi</div><div class='del'>-if eval "test \"`echo '$ac_cv_header_dirent_'$ac_safe`\" = yes"; then</div><div class='del'>-  echo "$ac_t""yes" 1&gt;&amp;6</div><div class='del'>-    ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;EOF</div><div class='del'>-#define $ac_tr_hdr 1</div><div class='del'>-EOF</div><div class='del'>- ac_header_dirent=$ac_hdr; break</div><div class='del'>-else</div><div class='del'>-  echo "$ac_t""no" 1&gt;&amp;6</div><div class='del'>-fi</div><div class='del'>-done</div><div class='del'>-# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.</div><div class='del'>-if test $ac_header_dirent = dirent.h; then</div><div class='del'>-echo $ac_n "checking for opendir in -ldir""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:1973: checking for opendir in -ldir" &gt;&amp;5</div><div class='del'>-ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'`</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  ac_save_LIBS="$LIBS"</div><div class='del'>-LIBS="-ldir  $LIBS"</div><div class='del'>-cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 1981 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-/* Override any gcc2 internal prototype to avoid an error.  */</div><div class='del'>-/* We use char because int might match the return type of a gcc2</div><div class='del'>-    builtin and then its argument prototype would still apply.  */</div><div class='del'>-char opendir();</div><div class='del'>-</div><div class='del'>-int main() {</div><div class='del'>-opendir()</div><div class='del'>-; return 0; }</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:1992: \"$ac_link\") 1&gt;&amp;5; (eval $ac_link) 2&gt;&amp;5; } &amp;&amp; test -s conftest${ac_exeext}; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  eval "ac_cv_lib_$ac_lib_var=yes"</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  eval "ac_cv_lib_$ac_lib_var=no"</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-LIBS="$ac_save_LIBS"</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then</div><div class='del'>-  echo "$ac_t""yes" 1&gt;&amp;6</div><div class='del'>-  LIBS="$LIBS -ldir"</div><div class='del'>-else</div><div class='del'>-  echo "$ac_t""no" 1&gt;&amp;6</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-else</div><div class='del'>-echo $ac_n "checking for opendir in -lx""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:2014: checking for opendir in -lx" &gt;&amp;5</div><div class='del'>-ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'`</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  ac_save_LIBS="$LIBS"</div><div class='del'>-LIBS="-lx  $LIBS"</div><div class='del'>-cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 2022 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-/* Override any gcc2 internal prototype to avoid an error.  */</div><div class='del'>-/* We use char because int might match the return type of a gcc2</div><div class='del'>-    builtin and then its argument prototype would still apply.  */</div><div class='del'>-char opendir();</div><div class='del'>-</div><div class='del'>-int main() {</div><div class='del'>-opendir()</div><div class='del'>-; return 0; }</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:2033: \"$ac_link\") 1&gt;&amp;5; (eval $ac_link) 2&gt;&amp;5; } &amp;&amp; test -s conftest${ac_exeext}; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  eval "ac_cv_lib_$ac_lib_var=yes"</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  eval "ac_cv_lib_$ac_lib_var=no"</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-LIBS="$ac_save_LIBS"</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then</div><div class='del'>-  echo "$ac_t""yes" 1&gt;&amp;6</div><div class='del'>-  LIBS="$LIBS -lx"</div><div class='del'>-else</div><div class='del'>-  echo "$ac_t""no" 1&gt;&amp;6</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo $ac_n "checking for ANSI C header files""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:2056: checking for ANSI C header files" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 2061 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-#include &lt;stdlib.h&gt;</div><div class='del'>-#include &lt;stdarg.h&gt;</div><div class='del'>-#include &lt;string.h&gt;</div><div class='del'>-#include &lt;float.h&gt;</div><div class='del'>-EOF</div><div class='del'>-ac_try="$ac_cpp conftest.$ac_ext &gt;/dev/null 2&gt;conftest.out"</div><div class='del'>-{ (eval echo configure:2069: \"$ac_try\") 1&gt;&amp;5; (eval $ac_try) 2&gt;&amp;5; }</div><div class='del'>-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`</div><div class='del'>-if test -z "$ac_err"; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_header_stdc=yes</div><div class='del'>-else</div><div class='del'>-  echo "$ac_err" &gt;&amp;5</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_header_stdc=no</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-</div><div class='del'>-if test $ac_cv_header_stdc = yes; then</div><div class='del'>-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.</div><div class='del'>-cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 2086 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-#include &lt;string.h&gt;</div><div class='del'>-EOF</div><div class='del'>-if (eval "$ac_cpp conftest.$ac_ext") 2&gt;&amp;5 |</div><div class='del'>-  egrep "memchr" &gt;/dev/null 2&gt;&amp;1; then</div><div class='del'>-  :</div><div class='del'>-else</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_header_stdc=no</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-if test $ac_cv_header_stdc = yes; then</div><div class='del'>-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.</div><div class='del'>-cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 2104 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-#include &lt;stdlib.h&gt;</div><div class='del'>-EOF</div><div class='del'>-if (eval "$ac_cpp conftest.$ac_ext") 2&gt;&amp;5 |</div><div class='del'>-  egrep "free" &gt;/dev/null 2&gt;&amp;1; then</div><div class='del'>-  :</div><div class='del'>-else</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_header_stdc=no</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-if test $ac_cv_header_stdc = yes; then</div><div class='del'>-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.</div><div class='del'>-if test "$cross_compiling" = yes; then</div><div class='del'>-  :</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 2125 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-#include &lt;ctype.h&gt;</div><div class='del'>-#define ISLOWER(c) ('a' &lt;= (c) &amp;&amp; (c) &lt;= 'z')</div><div class='del'>-#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))</div><div class='del'>-#define XOR(e, f) (((e) &amp;&amp; !(f)) || (!(e) &amp;&amp; (f)))</div><div class='del'>-int main () { int i; for (i = 0; i &lt; 256; i++)</div><div class='del'>-if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);</div><div class='del'>-exit (0); }</div><div class='del'>-</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:2136: \"$ac_link\") 1&gt;&amp;5; (eval $ac_link) 2&gt;&amp;5; } &amp;&amp; test -s conftest${ac_exeext} &amp;&amp; (./conftest; exit) 2&gt;/dev/null</div><div class='del'>-then</div><div class='del'>-  :</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -fr conftest*</div><div class='del'>-  ac_cv_header_stdc=no</div><div class='del'>-fi</div><div class='del'>-rm -fr conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo "$ac_t""$ac_cv_header_stdc" 1&gt;&amp;6</div><div class='del'>-if test $ac_cv_header_stdc = yes; then</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define STDC_HEADERS 1</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:2160: checking for sys/wait.h that is POSIX.1 compatible" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 2165 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-#include &lt;sys/types.h&gt;</div><div class='del'>-#include &lt;sys/wait.h&gt;</div><div class='del'>-#ifndef WEXITSTATUS</div><div class='del'>-#define WEXITSTATUS(stat_val) ((unsigned)(stat_val) &gt;&gt; 8)</div><div class='del'>-#endif</div><div class='del'>-#ifndef WIFEXITED</div><div class='del'>-#define WIFEXITED(stat_val) (((stat_val) &amp; 255) == 0)</div><div class='del'>-#endif</div><div class='del'>-int main() {</div><div class='del'>-int s;</div><div class='del'>-wait (&amp;s);</div><div class='del'>-s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;</div><div class='del'>-; return 0; }</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:2181: \"$ac_compile\") 1&gt;&amp;5; (eval $ac_compile) 2&gt;&amp;5; }; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_header_sys_wait_h=yes</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_header_sys_wait_h=no</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo "$ac_t""$ac_cv_header_sys_wait_h" 1&gt;&amp;6</div><div class='del'>-if test $ac_cv_header_sys_wait_h = yes; then</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define HAVE_SYS_WAIT_H 1</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-for ac_hdr in stdlib.h string.h unistd.h limits.h sys/file.h sys/ioctl.h\</div><div class='del'>-		 fcntl.h sys/fcntl.h sys/select.h sys/time.h sys/times.h sys/param.h\</div><div class='del'>-		 syscall.h pwd.h a.out.h utime.h memory.h direct.h fnmatch.h</div><div class='del'>-do</div><div class='del'>-ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`</div><div class='del'>-echo $ac_n "checking for $ac_hdr""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:2207: checking for $ac_hdr" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 2212 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-#include &lt;$ac_hdr&gt;</div><div class='del'>-EOF</div><div class='del'>-ac_try="$ac_cpp conftest.$ac_ext &gt;/dev/null 2&gt;conftest.out"</div><div class='del'>-{ (eval echo configure:2217: \"$ac_try\") 1&gt;&amp;5; (eval $ac_try) 2&gt;&amp;5; }</div><div class='del'>-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`</div><div class='del'>-if test -z "$ac_err"; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  eval "ac_cv_header_$ac_safe=yes"</div><div class='del'>-else</div><div class='del'>-  echo "$ac_err" &gt;&amp;5</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  eval "ac_cv_header_$ac_safe=no"</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-fi</div><div class='del'>-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then</div><div class='del'>-  echo "$ac_t""yes" 1&gt;&amp;6</div><div class='del'>-    ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;EOF</div><div class='del'>-#define $ac_tr_hdr 1</div><div class='del'>-EOF</div><div class='del'>- </div><div class='del'>-else</div><div class='del'>-  echo "$ac_t""no" 1&gt;&amp;6</div><div class='del'>-fi</div><div class='del'>-done</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:2245: checking for uid_t in sys/types.h" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_type_uid_t'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 2250 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-#include &lt;sys/types.h&gt;</div><div class='del'>-EOF</div><div class='del'>-if (eval "$ac_cpp conftest.$ac_ext") 2&gt;&amp;5 |</div><div class='del'>-  egrep "uid_t" &gt;/dev/null 2&gt;&amp;1; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_type_uid_t=yes</div><div class='del'>-else</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_type_uid_t=no</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo "$ac_t""$ac_cv_type_uid_t" 1&gt;&amp;6</div><div class='del'>-if test $ac_cv_type_uid_t = no; then</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define uid_t int</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define gid_t int</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo $ac_n "checking for size_t""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:2279: checking for size_t" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 2284 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-#include &lt;sys/types.h&gt;</div><div class='del'>-#if STDC_HEADERS</div><div class='del'>-#include &lt;stdlib.h&gt;</div><div class='del'>-#include &lt;stddef.h&gt;</div><div class='del'>-#endif</div><div class='del'>-EOF</div><div class='del'>-if (eval "$ac_cpp conftest.$ac_ext") 2&gt;&amp;5 |</div><div class='del'>-  egrep "(^|[^a-zA-Z_0-9])size_t[^a-zA-Z_0-9]" &gt;/dev/null 2&gt;&amp;1; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_type_size_t=yes</div><div class='del'>-else</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_type_size_t=no</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-echo "$ac_t""$ac_cv_type_size_t" 1&gt;&amp;6</div><div class='del'>-if test $ac_cv_type_size_t = no; then</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define size_t unsigned</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo $ac_n "checking for st_blksize in struct stat""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:2312: checking for st_blksize in struct stat" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_struct_st_blksize'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 2317 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-#include &lt;sys/types.h&gt;</div><div class='del'>-#include &lt;sys/stat.h&gt;</div><div class='del'>-int main() {</div><div class='del'>-struct stat s; s.st_blksize;</div><div class='del'>-; return 0; }</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:2325: \"$ac_compile\") 1&gt;&amp;5; (eval $ac_compile) 2&gt;&amp;5; }; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_struct_st_blksize=yes</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_struct_st_blksize=no</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo "$ac_t""$ac_cv_struct_st_blksize" 1&gt;&amp;6</div><div class='del'>-if test $ac_cv_struct_st_blksize = yes; then</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define HAVE_ST_BLKSIZE 1</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-save_LIBOJBS="$LIBOBJS"</div><div class='del'>-echo $ac_n "checking for st_blocks in struct stat""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:2347: checking for st_blocks in struct stat" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_struct_st_blocks'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 2352 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-#include &lt;sys/types.h&gt;</div><div class='del'>-#include &lt;sys/stat.h&gt;</div><div class='del'>-int main() {</div><div class='del'>-struct stat s; s.st_blocks;</div><div class='del'>-; return 0; }</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:2360: \"$ac_compile\") 1&gt;&amp;5; (eval $ac_compile) 2&gt;&amp;5; }; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_struct_st_blocks=yes</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_struct_st_blocks=no</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo "$ac_t""$ac_cv_struct_st_blocks" 1&gt;&amp;6</div><div class='del'>-if test $ac_cv_struct_st_blocks = yes; then</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define HAVE_ST_BLOCKS 1</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-else</div><div class='del'>-  LIBOBJS="$LIBOBJS fileblocks.${ac_objext}"</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-LIBOBJS="$save_LIBOBJS"</div><div class='del'>-echo $ac_n "checking for st_rdev in struct stat""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:2384: checking for st_rdev in struct stat" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_struct_st_rdev'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 2389 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-#include &lt;sys/types.h&gt;</div><div class='del'>-#include &lt;sys/stat.h&gt;</div><div class='del'>-int main() {</div><div class='del'>-struct stat s; s.st_rdev;</div><div class='del'>-; return 0; }</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:2397: \"$ac_compile\") 1&gt;&amp;5; (eval $ac_compile) 2&gt;&amp;5; }; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_struct_st_rdev=yes</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_struct_st_rdev=no</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo "$ac_t""$ac_cv_struct_st_rdev" 1&gt;&amp;6</div><div class='del'>-if test $ac_cv_struct_st_rdev = yes; then</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define HAVE_ST_RDEV 1</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-echo $ac_n "checking type of array argument to getgroups""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:2419: checking type of array argument to getgroups" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_type_getgroups'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  if test "$cross_compiling" = yes; then</div><div class='del'>-  ac_cv_type_getgroups=cross</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 2427 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-</div><div class='del'>-/* Thanks to Mike Rendell for this test.  */</div><div class='del'>-#include &lt;sys/types.h&gt;</div><div class='del'>-#define NGID 256</div><div class='del'>-#undef MAX</div><div class='del'>-#define MAX(x, y) ((x) &gt; (y) ? (x) : (y))</div><div class='del'>-main()</div><div class='del'>-{</div><div class='del'>-  gid_t gidset[NGID];</div><div class='del'>-  int i, n;</div><div class='del'>-  union { gid_t gval; long lval; }  val;</div><div class='del'>-</div><div class='del'>-  val.lval = -1;</div><div class='del'>-  for (i = 0; i &lt; NGID; i++)</div><div class='del'>-    gidset[i] = val.gval;</div><div class='del'>-  n = getgroups (sizeof (gidset) / MAX (sizeof (int), sizeof (gid_t)) - 1,</div><div class='del'>-                 gidset);</div><div class='del'>-  /* Exit non-zero if getgroups seems to require an array of ints.  This</div><div class='del'>-     happens when gid_t is short but getgroups modifies an array of ints.  */</div><div class='del'>-  exit ((n &gt; 0 &amp;&amp; gidset[n] != val.gval) ? 1 : 0);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:2452: \"$ac_link\") 1&gt;&amp;5; (eval $ac_link) 2&gt;&amp;5; } &amp;&amp; test -s conftest${ac_exeext} &amp;&amp; (./conftest; exit) 2&gt;/dev/null</div><div class='del'>-then</div><div class='del'>-    ac_cv_type_getgroups=gid_t</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -fr conftest*</div><div class='del'>-  ac_cv_type_getgroups=int</div><div class='del'>-fi</div><div class='del'>-rm -fr conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-if test $ac_cv_type_getgroups = cross; then</div><div class='del'>-        cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 2466 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-#include &lt;unistd.h&gt;</div><div class='del'>-EOF</div><div class='del'>-if (eval "$ac_cpp conftest.$ac_ext") 2&gt;&amp;5 |</div><div class='del'>-  egrep "getgroups.*int.*gid_t" &gt;/dev/null 2&gt;&amp;1; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_type_getgroups=gid_t</div><div class='del'>-else</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_type_getgroups=int</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo "$ac_t""$ac_cv_type_getgroups" 1&gt;&amp;6</div><div class='del'>-cat &gt;&gt; confdefs.h &lt;&lt;EOF</div><div class='del'>-#define GETGROUPS_T $ac_cv_type_getgroups</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-echo $ac_n "checking return type of signal handlers""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:2490: checking return type of signal handlers" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 2495 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-#include &lt;sys/types.h&gt;</div><div class='del'>-#include &lt;signal.h&gt;</div><div class='del'>-#ifdef signal</div><div class='del'>-#undef signal</div><div class='del'>-#endif</div><div class='del'>-#ifdef __cplusplus</div><div class='del'>-extern "C" void (*signal (int, void (*)(int)))(int);</div><div class='del'>-#else</div><div class='del'>-void (*signal ()) ();</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-int main() {</div><div class='del'>-int i;</div><div class='del'>-; return 0; }</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:2512: \"$ac_compile\") 1&gt;&amp;5; (eval $ac_compile) 2&gt;&amp;5; }; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_type_signal=void</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_type_signal=int</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo "$ac_t""$ac_cv_type_signal" 1&gt;&amp;6</div><div class='del'>-cat &gt;&gt; confdefs.h &lt;&lt;EOF</div><div class='del'>-#define RETSIGTYPE $ac_cv_type_signal</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works</div><div class='del'>-# for constant arguments.  Useless!</div><div class='del'>-echo $ac_n "checking for working alloca.h""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:2533: checking for working alloca.h" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 2538 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-#include &lt;alloca.h&gt;</div><div class='del'>-int main() {</div><div class='del'>-char *p = alloca(2 * sizeof(int));</div><div class='del'>-; return 0; }</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:2545: \"$ac_link\") 1&gt;&amp;5; (eval $ac_link) 2&gt;&amp;5; } &amp;&amp; test -s conftest${ac_exeext}; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_header_alloca_h=yes</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_header_alloca_h=no</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo "$ac_t""$ac_cv_header_alloca_h" 1&gt;&amp;6</div><div class='del'>-if test $ac_cv_header_alloca_h = yes; then</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define HAVE_ALLOCA_H 1</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo $ac_n "checking for alloca""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:2566: checking for alloca" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 2571 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-</div><div class='del'>-#ifdef __GNUC__</div><div class='del'>-# define alloca __builtin_alloca</div><div class='del'>-#else</div><div class='del'>-# ifdef _MSC_VER</div><div class='del'>-#  include &lt;malloc.h&gt;</div><div class='del'>-#  define alloca _alloca</div><div class='del'>-# else</div><div class='del'>-#  if 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'>-char *alloca ();</div><div class='del'>-#    endif</div><div class='del'>-#   endif</div><div class='del'>-#  endif</div><div class='del'>-# endif</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-int main() {</div><div class='del'>-char *p = (char *) alloca(1);</div><div class='del'>-; return 0; }</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:2599: \"$ac_link\") 1&gt;&amp;5; (eval $ac_link) 2&gt;&amp;5; } &amp;&amp; test -s conftest${ac_exeext}; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_func_alloca_works=yes</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_func_alloca_works=no</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo "$ac_t""$ac_cv_func_alloca_works" 1&gt;&amp;6</div><div class='del'>-if test $ac_cv_func_alloca_works = yes; then</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define HAVE_ALLOCA 1</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-if test $ac_cv_func_alloca_works = no; then</div><div class='del'>-  # The SVR3 libPW and SVR4 libucb both contain incompatible functions</div><div class='del'>-  # that cause trouble.  Some versions do not even contain alloca or</div><div class='del'>-  # contain a buggy version.  If you still want to use their alloca,</div><div class='del'>-  # use ar to extract alloca.o from them instead of compiling alloca.c.</div><div class='del'>-  ALLOCA=alloca.${ac_objext}</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define C_ALLOCA 1</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:2631: checking whether alloca needs Cray hooks" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 2636 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-#if defined(CRAY) &amp;&amp; ! defined(CRAY2)</div><div class='del'>-webecray</div><div class='del'>-#else</div><div class='del'>-wenotbecray</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-EOF</div><div class='del'>-if (eval "$ac_cpp conftest.$ac_ext") 2&gt;&amp;5 |</div><div class='del'>-  egrep "webecray" &gt;/dev/null 2&gt;&amp;1; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_os_cray=yes</div><div class='del'>-else</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_os_cray=no</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo "$ac_t""$ac_cv_os_cray" 1&gt;&amp;6</div><div class='del'>-if test $ac_cv_os_cray = yes; then</div><div class='del'>-for ac_func in _getb67 GETB67 getb67; do</div><div class='del'>-  echo $ac_n "checking for $ac_func""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:2661: checking for $ac_func" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 2666 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-/* System header to define __stub macros and hopefully few prototypes,</div><div class='del'>-    which can conflict with char $ac_func(); below.  */</div><div class='del'>-#include &lt;assert.h&gt;</div><div class='del'>-/* Override any gcc2 internal prototype to avoid an error.  */</div><div class='del'>-/* We use char because int might match the return type of a gcc2</div><div class='del'>-    builtin and then its argument prototype would still apply.  */</div><div class='del'>-char $ac_func();</div><div class='del'>-</div><div class='del'>-int main() {</div><div class='del'>-</div><div class='del'>-/* The GNU C library defines this for functions which it implements</div><div class='del'>-    to always fail with ENOSYS.  Some functions are actually named</div><div class='del'>-    something starting with __ and the normal name is an alias.  */</div><div class='del'>-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)</div><div class='del'>-choke me</div><div class='del'>-#else</div><div class='del'>-$ac_func();</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-; return 0; }</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:2689: \"$ac_link\") 1&gt;&amp;5; (eval $ac_link) 2&gt;&amp;5; } &amp;&amp; test -s conftest${ac_exeext}; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  eval "ac_cv_func_$ac_func=yes"</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  eval "ac_cv_func_$ac_func=no"</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then</div><div class='del'>-  echo "$ac_t""yes" 1&gt;&amp;6</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;EOF</div><div class='del'>-#define CRAY_STACKSEG_END $ac_func</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-  break</div><div class='del'>-else</div><div class='del'>-  echo "$ac_t""no" 1&gt;&amp;6</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-done</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo $ac_n "checking stack direction for C alloca""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:2716: checking stack direction for C alloca" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  if test "$cross_compiling" = yes; then</div><div class='del'>-  ac_cv_c_stack_direction=0</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 2724 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-find_stack_direction ()</div><div class='del'>-{</div><div class='del'>-  static char *addr = 0;</div><div class='del'>-  auto char dummy;</div><div class='del'>-  if (addr == 0)</div><div class='del'>-    {</div><div class='del'>-      addr = &amp;dummy;</div><div class='del'>-      return find_stack_direction ();</div><div class='del'>-    }</div><div class='del'>-  else</div><div class='del'>-    return (&amp;dummy &gt; addr) ? 1 : -1;</div><div class='del'>-}</div><div class='del'>-main ()</div><div class='del'>-{</div><div class='del'>-  exit (find_stack_direction() &lt; 0);</div><div class='del'>-}</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:2743: \"$ac_link\") 1&gt;&amp;5; (eval $ac_link) 2&gt;&amp;5; } &amp;&amp; test -s conftest${ac_exeext} &amp;&amp; (./conftest; exit) 2&gt;/dev/null</div><div class='del'>-then</div><div class='del'>-  ac_cv_c_stack_direction=1</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -fr conftest*</div><div class='del'>-  ac_cv_c_stack_direction=-1</div><div class='del'>-fi</div><div class='del'>-rm -fr conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo "$ac_t""$ac_cv_c_stack_direction" 1&gt;&amp;6</div><div class='del'>-cat &gt;&gt; confdefs.h &lt;&lt;EOF</div><div class='del'>-#define STACK_DIRECTION $ac_cv_c_stack_direction</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo $ac_n "checking for pid_t""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:2765: checking for pid_t" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 2770 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-#include &lt;sys/types.h&gt;</div><div class='del'>-#if STDC_HEADERS</div><div class='del'>-#include &lt;stdlib.h&gt;</div><div class='del'>-#include &lt;stddef.h&gt;</div><div class='del'>-#endif</div><div class='del'>-EOF</div><div class='del'>-if (eval "$ac_cpp conftest.$ac_ext") 2&gt;&amp;5 |</div><div class='del'>-  egrep "(^|[^a-zA-Z_0-9])pid_t[^a-zA-Z_0-9]" &gt;/dev/null 2&gt;&amp;1; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_type_pid_t=yes</div><div class='del'>-else</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_type_pid_t=no</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-echo "$ac_t""$ac_cv_type_pid_t" 1&gt;&amp;6</div><div class='del'>-if test $ac_cv_type_pid_t = no; then</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define pid_t int</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-ac_safe=`echo "vfork.h" | sed 'y%./+-%__p_%'`</div><div class='del'>-echo $ac_n "checking for vfork.h""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:2799: checking for vfork.h" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 2804 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-#include &lt;vfork.h&gt;</div><div class='del'>-EOF</div><div class='del'>-ac_try="$ac_cpp conftest.$ac_ext &gt;/dev/null 2&gt;conftest.out"</div><div class='del'>-{ (eval echo configure:2809: \"$ac_try\") 1&gt;&amp;5; (eval $ac_try) 2&gt;&amp;5; }</div><div class='del'>-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`</div><div class='del'>-if test -z "$ac_err"; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  eval "ac_cv_header_$ac_safe=yes"</div><div class='del'>-else</div><div class='del'>-  echo "$ac_err" &gt;&amp;5</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  eval "ac_cv_header_$ac_safe=no"</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-fi</div><div class='del'>-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then</div><div class='del'>-  echo "$ac_t""yes" 1&gt;&amp;6</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define HAVE_VFORK_H 1</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-else</div><div class='del'>-  echo "$ac_t""no" 1&gt;&amp;6</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo $ac_n "checking for working vfork""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:2834: checking for working vfork" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_func_vfork_works'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  if test "$cross_compiling" = yes; then</div><div class='del'>-  echo $ac_n "checking for vfork""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:2840: checking for vfork" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_func_vfork'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 2845 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-/* System header to define __stub macros and hopefully few prototypes,</div><div class='del'>-    which can conflict with char vfork(); below.  */</div><div class='del'>-#include &lt;assert.h&gt;</div><div class='del'>-/* Override any gcc2 internal prototype to avoid an error.  */</div><div class='del'>-/* We use char because int might match the return type of a gcc2</div><div class='del'>-    builtin and then its argument prototype would still apply.  */</div><div class='del'>-char vfork();</div><div class='del'>-</div><div class='del'>-int main() {</div><div class='del'>-</div><div class='del'>-/* The GNU C library defines this for functions which it implements</div><div class='del'>-    to always fail with ENOSYS.  Some functions are actually named</div><div class='del'>-    something starting with __ and the normal name is an alias.  */</div><div class='del'>-#if defined (__stub_vfork) || defined (__stub___vfork)</div><div class='del'>-choke me</div><div class='del'>-#else</div><div class='del'>-vfork();</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-; return 0; }</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:2868: \"$ac_link\") 1&gt;&amp;5; (eval $ac_link) 2&gt;&amp;5; } &amp;&amp; test -s conftest${ac_exeext}; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  eval "ac_cv_func_vfork=yes"</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  eval "ac_cv_func_vfork=no"</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-if eval "test \"`echo '$ac_cv_func_'vfork`\" = yes"; then</div><div class='del'>-  echo "$ac_t""yes" 1&gt;&amp;6</div><div class='del'>-  :</div><div class='del'>-else</div><div class='del'>-  echo "$ac_t""no" 1&gt;&amp;6</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-ac_cv_func_vfork_works=$ac_cv_func_vfork</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 2890 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-/* Thanks to Paul Eggert for this test.  */</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/stat.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'>-#ifdef HAVE_VFORK_H</div><div class='del'>-#include &lt;vfork.h&gt;</div><div class='del'>-#endif</div><div class='del'>-/* On some sparc systems, changes by the child to local and incoming</div><div class='del'>-   argument registers are propagated back to the parent.</div><div class='del'>-   The compiler is told about this with #include &lt;vfork.h&gt;,</div><div class='del'>-   but some compilers (e.g. gcc -O) don't grok &lt;vfork.h&gt;.</div><div class='del'>-   Test for this by using a static variable whose address</div><div class='del'>-   is put into a register that is clobbered by the vfork.  */</div><div class='del'>-static</div><div class='del'>-#ifdef __cplusplus</div><div class='del'>-sparc_address_test (int arg)</div><div class='del'>-#else</div><div class='del'>-sparc_address_test (arg) int arg;</div><div class='del'>-#endif</div><div class='del'>-{</div><div class='del'>-  static pid_t child;</div><div class='del'>-  if (!child) {</div><div class='del'>-    child = vfork ();</div><div class='del'>-    if (child &lt; 0) {</div><div class='del'>-      perror ("vfork");</div><div class='del'>-      _exit(2);</div><div class='del'>-    }</div><div class='del'>-    if (!child) {</div><div class='del'>-      arg = getpid();</div><div class='del'>-      write(-1, "", 0);</div><div class='del'>-      _exit (arg);</div><div class='del'>-    }</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-main() {</div><div class='del'>-  pid_t parent = getpid ();</div><div class='del'>-  pid_t child;</div><div class='del'>-</div><div class='del'>-  sparc_address_test ();</div><div class='del'>-</div><div class='del'>-  child = vfork ();</div><div class='del'>-</div><div class='del'>-  if (child == 0) {</div><div class='del'>-    /* Here is another test for sparc vfork register problems.</div><div class='del'>-       This test uses lots of local variables, at least</div><div class='del'>-       as many local variables as main has allocated so far</div><div class='del'>-       including compiler temporaries.  4 locals are enough for</div><div class='del'>-       gcc 1.40.3 on a Solaris 4.1.3 sparc, but we use 8 to be safe.</div><div class='del'>-       A buggy compiler should reuse the register of parent</div><div class='del'>-       for one of the local variables, since it will think that</div><div class='del'>-       parent can't possibly be used any more in this routine.</div><div class='del'>-       Assigning to the local variable will thus munge parent</div><div class='del'>-       in the parent process.  */</div><div class='del'>-    pid_t</div><div class='del'>-      p = getpid(), p1 = getpid(), p2 = getpid(), p3 = getpid(),</div><div class='del'>-      p4 = getpid(), p5 = getpid(), p6 = getpid(), p7 = getpid();</div><div class='del'>-    /* Convince the compiler that p..p7 are live; otherwise, it might</div><div class='del'>-       use the same hardware register for all 8 local variables.  */</div><div class='del'>-    if (p != p1 || p != p2 || p != p3 || p != p4</div><div class='del'>-	|| p != p5 || p != p6 || p != p7)</div><div class='del'>-      _exit(1);</div><div class='del'>-</div><div class='del'>-    /* On some systems (e.g. IRIX 3.3),</div><div class='del'>-       vfork doesn't separate parent from child file descriptors.</div><div class='del'>-       If the child closes a descriptor before it execs or exits,</div><div class='del'>-       this munges the parent's descriptor as well.</div><div class='del'>-       Test for this by closing stdout in the child.  */</div><div class='del'>-    _exit(close(fileno(stdout)) != 0);</div><div class='del'>-  } else {</div><div class='del'>-    int status;</div><div class='del'>-    struct stat st;</div><div class='del'>-</div><div class='del'>-    while (wait(&amp;status) != child)</div><div class='del'>-      ;</div><div class='del'>-    exit(</div><div class='del'>-	 /* Was there some problem with vforking?  */</div><div class='del'>-	 child &lt; 0</div><div class='del'>-</div><div class='del'>-	 /* Did the child fail?  (This shouldn't happen.)  */</div><div class='del'>-	 || status</div><div class='del'>-</div><div class='del'>-	 /* Did the vfork/compiler bug occur?  */</div><div class='del'>-	 || parent != getpid()</div><div class='del'>-</div><div class='del'>-	 /* Did the file descriptor bug occur?  */</div><div class='del'>-	 || fstat(fileno(stdout), &amp;st) != 0</div><div class='del'>-	 );</div><div class='del'>-  }</div><div class='del'>-}</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:2985: \"$ac_link\") 1&gt;&amp;5; (eval $ac_link) 2&gt;&amp;5; } &amp;&amp; test -s conftest${ac_exeext} &amp;&amp; (./conftest; exit) 2&gt;/dev/null</div><div class='del'>-then</div><div class='del'>-  ac_cv_func_vfork_works=yes</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -fr conftest*</div><div class='del'>-  ac_cv_func_vfork_works=no</div><div class='del'>-fi</div><div class='del'>-rm -fr conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo "$ac_t""$ac_cv_func_vfork_works" 1&gt;&amp;6</div><div class='del'>-if test $ac_cv_func_vfork_works = no; then</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define vfork fork</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:3008: checking for 8-bit clean memcmp" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_func_memcmp_clean'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  if test "$cross_compiling" = yes; then</div><div class='del'>-  ac_cv_func_memcmp_clean=no</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 3016 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-</div><div class='del'>-main()</div><div class='del'>-{</div><div class='del'>-  char c0 = 0x40, c1 = 0x80, c2 = 0x81;</div><div class='del'>-  exit(memcmp(&amp;c0, &amp;c2, 1) &lt; 0 &amp;&amp; memcmp(&amp;c1, &amp;c2, 1) &lt; 0 ? 0 : 1);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:3026: \"$ac_link\") 1&gt;&amp;5; (eval $ac_link) 2&gt;&amp;5; } &amp;&amp; test -s conftest${ac_exeext} &amp;&amp; (./conftest; exit) 2&gt;/dev/null</div><div class='del'>-then</div><div class='del'>-  ac_cv_func_memcmp_clean=yes</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -fr conftest*</div><div class='del'>-  ac_cv_func_memcmp_clean=no</div><div class='del'>-fi</div><div class='del'>-rm -fr conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo "$ac_t""$ac_cv_func_memcmp_clean" 1&gt;&amp;6</div><div class='del'>-test $ac_cv_func_memcmp_clean = no &amp;&amp; LIBOBJS="$LIBOBJS memcmp.${ac_objext}"</div><div class='del'>-</div><div class='del'>-for ac_func in dup2 memmove mkdir strcasecmp strncasecmp strerror strftime\</div><div class='del'>-		 strchr strstr strtoul strdup crypt flock vsnprintf\</div><div class='del'>-		 fnmatch isinf isnan finite</div><div class='del'>-do</div><div class='del'>-echo $ac_n "checking for $ac_func""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:3048: checking for $ac_func" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 3053 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-/* System header to define __stub macros and hopefully few prototypes,</div><div class='del'>-    which can conflict with char $ac_func(); below.  */</div><div class='del'>-#include &lt;assert.h&gt;</div><div class='del'>-/* Override any gcc2 internal prototype to avoid an error.  */</div><div class='del'>-/* We use char because int might match the return type of a gcc2</div><div class='del'>-    builtin and then its argument prototype would still apply.  */</div><div class='del'>-char $ac_func();</div><div class='del'>-</div><div class='del'>-int main() {</div><div class='del'>-</div><div class='del'>-/* The GNU C library defines this for functions which it implements</div><div class='del'>-    to always fail with ENOSYS.  Some functions are actually named</div><div class='del'>-    something starting with __ and the normal name is an alias.  */</div><div class='del'>-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)</div><div class='del'>-choke me</div><div class='del'>-#else</div><div class='del'>-$ac_func();</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-; return 0; }</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:3076: \"$ac_link\") 1&gt;&amp;5; (eval $ac_link) 2&gt;&amp;5; } &amp;&amp; test -s conftest${ac_exeext}; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  eval "ac_cv_func_$ac_func=yes"</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  eval "ac_cv_func_$ac_func=no"</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then</div><div class='del'>-  echo "$ac_t""yes" 1&gt;&amp;6</div><div class='del'>-    ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;EOF</div><div class='del'>-#define $ac_tr_func 1</div><div class='del'>-EOF</div><div class='del'>- </div><div class='del'>-else</div><div class='del'>-  echo "$ac_t""no" 1&gt;&amp;6</div><div class='del'>-LIBOBJS="$LIBOBJS ${ac_func}.${ac_objext}"</div><div class='del'>-fi</div><div class='del'>-done</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-for ac_func in fmod killpg drand48 random wait4 waitpid syscall getcwd\</div><div class='del'>-	      truncate chsize times utimes fcntl lockf setitimer\</div><div class='del'>-	      setruid seteuid setreuid setrgid setegid setregid\</div><div class='del'>-	      getpgrp setpgrp getpgid setpgid getgroups getpriority\</div><div class='del'>-	      dlopen sigprocmask sigaction _setjmp setsid</div><div class='del'>-do</div><div class='del'>-echo $ac_n "checking for $ac_func""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:3109: checking for $ac_func" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 3114 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-/* System header to define __stub macros and hopefully few prototypes,</div><div class='del'>-    which can conflict with char $ac_func(); below.  */</div><div class='del'>-#include &lt;assert.h&gt;</div><div class='del'>-/* Override any gcc2 internal prototype to avoid an error.  */</div><div class='del'>-/* We use char because int might match the return type of a gcc2</div><div class='del'>-    builtin and then its argument prototype would still apply.  */</div><div class='del'>-char $ac_func();</div><div class='del'>-</div><div class='del'>-int main() {</div><div class='del'>-</div><div class='del'>-/* The GNU C library defines this for functions which it implements</div><div class='del'>-    to always fail with ENOSYS.  Some functions are actually named</div><div class='del'>-    something starting with __ and the normal name is an alias.  */</div><div class='del'>-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)</div><div class='del'>-choke me</div><div class='del'>-#else</div><div class='del'>-$ac_func();</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-; return 0; }</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:3137: \"$ac_link\") 1&gt;&amp;5; (eval $ac_link) 2&gt;&amp;5; } &amp;&amp; test -s conftest${ac_exeext}; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  eval "ac_cv_func_$ac_func=yes"</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  eval "ac_cv_func_$ac_func=no"</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then</div><div class='del'>-  echo "$ac_t""yes" 1&gt;&amp;6</div><div class='del'>-    ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;EOF</div><div class='del'>-#define $ac_tr_func 1</div><div class='del'>-EOF</div><div class='del'>- </div><div class='del'>-else</div><div class='del'>-  echo "$ac_t""no" 1&gt;&amp;6</div><div class='del'>-fi</div><div class='del'>-done</div><div class='del'>-</div><div class='del'>-echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:3162: checking whether struct tm is in sys/time.h or time.h" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_struct_tm'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 3167 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-#include &lt;sys/types.h&gt;</div><div class='del'>-#include &lt;time.h&gt;</div><div class='del'>-int main() {</div><div class='del'>-struct tm *tp; tp-&gt;tm_sec;</div><div class='del'>-; return 0; }</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:3175: \"$ac_compile\") 1&gt;&amp;5; (eval $ac_compile) 2&gt;&amp;5; }; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_struct_tm=time.h</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_struct_tm=sys/time.h</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo "$ac_t""$ac_cv_struct_tm" 1&gt;&amp;6</div><div class='del'>-if test $ac_cv_struct_tm = sys/time.h; then</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define TM_IN_SYS_TIME 1</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo $ac_n "checking for tm_zone in struct tm""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:3196: checking for tm_zone in struct tm" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_struct_tm_zone'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 3201 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-#include &lt;sys/types.h&gt;</div><div class='del'>-#include &lt;$ac_cv_struct_tm&gt;</div><div class='del'>-int main() {</div><div class='del'>-struct tm tm; tm.tm_zone;</div><div class='del'>-; return 0; }</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:3209: \"$ac_compile\") 1&gt;&amp;5; (eval $ac_compile) 2&gt;&amp;5; }; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_struct_tm_zone=yes</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_struct_tm_zone=no</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo "$ac_t""$ac_cv_struct_tm_zone" 1&gt;&amp;6</div><div class='del'>-if test "$ac_cv_struct_tm_zone" = yes; then</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define HAVE_TM_ZONE 1</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-else</div><div class='del'>-  echo $ac_n "checking for tzname""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:3229: checking for tzname" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_var_tzname'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 3234 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-#include &lt;time.h&gt;</div><div class='del'>-#ifndef tzname /* For SGI.  */</div><div class='del'>-extern char *tzname[]; /* RS6000 and others reject char **tzname.  */</div><div class='del'>-#endif</div><div class='del'>-int main() {</div><div class='del'>-atoi(*tzname);</div><div class='del'>-; return 0; }</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:3244: \"$ac_link\") 1&gt;&amp;5; (eval $ac_link) 2&gt;&amp;5; } &amp;&amp; test -s conftest${ac_exeext}; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_var_tzname=yes</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_var_tzname=no</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo "$ac_t""$ac_cv_var_tzname" 1&gt;&amp;6</div><div class='del'>-  if test $ac_cv_var_tzname = yes; then</div><div class='del'>-    cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define HAVE_TZNAME 1</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-  fi</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-if test "$ac_cv_func_strftime" = no; then</div><div class='del'>-    cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 3267 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-</div><div class='del'>-int main() {</div><div class='del'>-extern int daylight; int i = daylight;</div><div class='del'>-; return 0; }</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:3274: \"$ac_link\") 1&gt;&amp;5; (eval $ac_link) 2&gt;&amp;5; } &amp;&amp; test -s conftest${ac_exeext}; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define HAVE_DAYLIGHT 1</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-if test "$ac_cv_func_sigprocmask" = yes &amp;&amp; test "$ac_cv_func_sigaction" = yes; then</div><div class='del'>-   cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define POSIX_SIGNAL 1</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-else</div><div class='del'>-  echo $ac_n "checking for BSD signal semantics""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:3294: checking for BSD signal semantics" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'rb_cv_bsd_signal'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  if test "$cross_compiling" = yes; then</div><div class='del'>-  rb_cv_bsd_signal=no</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 3302 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-</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'>-EOF</div><div class='del'>-if { (eval echo configure:3324: \"$ac_link\") 1&gt;&amp;5; (eval $ac_link) 2&gt;&amp;5; } &amp;&amp; test -s conftest${ac_exeext} &amp;&amp; (./conftest; exit) 2&gt;/dev/null</div><div class='del'>-then</div><div class='del'>-  rb_cv_bsd_signal=yes</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -fr conftest*</div><div class='del'>-  rb_cv_bsd_signal=no</div><div class='del'>-fi</div><div class='del'>-rm -fr conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo "$ac_t""$rb_cv_bsd_signal" 1&gt;&amp;6</div><div class='del'>-  if test "$rb_cv_bsd_signal" = yes; then</div><div class='del'>-    cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define BSD_SIGNAL 1</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-  fi</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo $ac_n "checking whether getpgrp takes no argument""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:3348: checking whether getpgrp takes no argument" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_func_getpgrp_void'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  if test "$cross_compiling" = yes; then</div><div class='del'>-  { echo "configure: error: cannot check getpgrp if cross compiling" 1&gt;&amp;2; exit 1; }</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 3356 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-</div><div class='del'>-/*</div><div class='del'>- * If this system has a BSD-style getpgrp(),</div><div class='del'>- * which takes a pid argument, exit unsuccessfully.</div><div class='del'>- *</div><div class='del'>- * Snarfed from Chet Ramey's bash pgrp.c test program</div><div class='del'>- */</div><div class='del'>-#include &lt;stdio.h&gt;</div><div class='del'>-#include &lt;sys/types.h&gt;</div><div class='del'>-</div><div class='del'>-int     pid;</div><div class='del'>-int     pg1, pg2, pg3, pg4;</div><div class='del'>-int     ng, np, s, child;</div><div class='del'>-</div><div class='del'>-main()</div><div class='del'>-{</div><div class='del'>-        pid = getpid();</div><div class='del'>-        pg1 = getpgrp(0);</div><div class='del'>-        pg2 = getpgrp();</div><div class='del'>-        pg3 = getpgrp(pid);</div><div class='del'>-        pg4 = getpgrp(1);</div><div class='del'>-</div><div class='del'>-        /*</div><div class='del'>-         * If all of these values are the same, it's pretty sure that</div><div class='del'>-         * we're on a system that ignores getpgrp's first argument.</div><div class='del'>-         */</div><div class='del'>-        if (pg2 == pg4 &amp;&amp; pg1 == pg3 &amp;&amp; pg2 == pg3)</div><div class='del'>-                exit(0);</div><div class='del'>-</div><div class='del'>-        child = fork();</div><div class='del'>-        if (child &lt; 0)</div><div class='del'>-                exit(1);</div><div class='del'>-        else if (child == 0) {</div><div class='del'>-                np = getpid();</div><div class='del'>-                /*</div><div class='del'>-                 * If this is Sys V, this will not work; pgrp will be</div><div class='del'>-                 * set to np because setpgrp just changes a pgrp to be</div><div class='del'>-                 * the same as the pid.</div><div class='del'>-                 */</div><div class='del'>-                setpgrp(np, pg1);</div><div class='del'>-                ng = getpgrp(0);        /* Same result for Sys V and BSD */</div><div class='del'>-                if (ng == pg1) {</div><div class='del'>-                        exit(1);</div><div class='del'>-                } else {</div><div class='del'>-                        exit(0);</div><div class='del'>-                }</div><div class='del'>-        } else {</div><div class='del'>-                wait(&amp;s);</div><div class='del'>-                exit(s&gt;&gt;8);</div><div class='del'>-        }</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:3411: \"$ac_link\") 1&gt;&amp;5; (eval $ac_link) 2&gt;&amp;5; } &amp;&amp; test -s conftest${ac_exeext} &amp;&amp; (./conftest; exit) 2&gt;/dev/null</div><div class='del'>-then</div><div class='del'>-  ac_cv_func_getpgrp_void=yes</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -fr conftest*</div><div class='del'>-  ac_cv_func_getpgrp_void=no</div><div class='del'>-fi</div><div class='del'>-rm -fr conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo "$ac_t""$ac_cv_func_getpgrp_void" 1&gt;&amp;6</div><div class='del'>-if test $ac_cv_func_getpgrp_void = yes; then</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define GETPGRP_VOID 1</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo $ac_n "checking whether setpgrp takes no argument""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:3435: checking whether setpgrp takes no argument" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_func_setpgrp_void'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  if test "$cross_compiling" = yes; then</div><div class='del'>-  { echo "configure: error: cannot check setpgrp if cross compiling" 1&gt;&amp;2; exit 1; }</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 3443 "configure"</div><div class='del'>-#include "confdefs.h"</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'>-/*</div><div class='del'>- * If this system has a BSD-style setpgrp, which takes arguments, exit</div><div class='del'>- * successfully.</div><div class='del'>- */</div><div class='del'>-main()</div><div class='del'>-{</div><div class='del'>-    if (setpgrp(1,1) == -1)</div><div class='del'>-	exit(0);</div><div class='del'>-    else</div><div class='del'>-	exit(1);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:3463: \"$ac_link\") 1&gt;&amp;5; (eval $ac_link) 2&gt;&amp;5; } &amp;&amp; test -s conftest${ac_exeext} &amp;&amp; (./conftest; exit) 2&gt;/dev/null</div><div class='del'>-then</div><div class='del'>-  ac_cv_func_setpgrp_void=no</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -fr conftest*</div><div class='del'>-  ac_cv_func_setpgrp_void=yes</div><div class='del'>-fi</div><div class='del'>-rm -fr conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo "$ac_t""$ac_cv_func_setpgrp_void" 1&gt;&amp;6</div><div class='del'>-if test $ac_cv_func_setpgrp_void = yes; then</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define SETPGRP_VOID 1</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-  </div><div class='del'>-</div><div class='del'>-echo $ac_n "checking for working strtod""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:3488: checking for working strtod" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'rb_cv_func_strtod'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  if test "$cross_compiling" = yes; then</div><div class='del'>-  rb_cv_func_strtod=no</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 3496 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-</div><div class='del'>-double strtod ();</div><div class='del'>-int</div><div class='del'>-main()</div><div class='del'>-{</div><div class='del'>-  {</div><div class='del'>-    /* Some versions of Linux strtod mis-parse strings with leading '+'.  */</div><div class='del'>-    char *string = " +69";</div><div class='del'>-    char *term;</div><div class='del'>-    double value;</div><div class='del'>-    value = strtod(string, &amp;term);</div><div class='del'>-    if (value != 69 || term != (string + 4))</div><div class='del'>-      exit(1);</div><div class='del'>-  }</div><div class='del'>-</div><div class='del'>-  {</div><div class='del'>-    /* Under Solaris 2.4, strtod returns the wrong value for the</div><div class='del'>-       terminating character under some conditions.  */</div><div class='del'>-    char *string = "NaN";</div><div class='del'>-    char *term;</div><div class='del'>-    strtod(string, &amp;term);</div><div class='del'>-    if (term != string &amp;&amp; *(term - 1) == 0)</div><div class='del'>-      exit(1);</div><div class='del'>-  }</div><div class='del'>-  exit(0);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:3526: \"$ac_link\") 1&gt;&amp;5; (eval $ac_link) 2&gt;&amp;5; } &amp;&amp; test -s conftest${ac_exeext} &amp;&amp; (./conftest; exit) 2&gt;/dev/null</div><div class='del'>-then</div><div class='del'>-  rb_cv_func_strtod=yes</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -fr conftest*</div><div class='del'>-  rb_cv_func_strtod=no</div><div class='del'>-fi</div><div class='del'>-rm -fr conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo "$ac_t""$rb_cv_func_strtod" 1&gt;&amp;6</div><div class='del'>-test $rb_cv_func_strtod = no &amp;&amp; LIBOBJS="$LIBOBJS strtod.o"</div><div class='del'>-</div><div class='del'>-echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:3544: checking whether byte ordering is bigendian" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_c_bigendian'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  ac_cv_c_bigendian=unknown</div><div class='del'>-# See if sys/param.h defines the BYTE_ORDER macro.</div><div class='del'>-cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 3551 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-#include &lt;sys/types.h&gt;</div><div class='del'>-#include &lt;sys/param.h&gt;</div><div class='del'>-int main() {</div><div class='del'>-</div><div class='del'>-#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN</div><div class='del'>- bogus endian macros</div><div class='del'>-#endif</div><div class='del'>-; return 0; }</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:3562: \"$ac_compile\") 1&gt;&amp;5; (eval $ac_compile) 2&gt;&amp;5; }; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  # It does; now see whether it defined to BIG_ENDIAN or not.</div><div class='del'>-cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 3566 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-#include &lt;sys/types.h&gt;</div><div class='del'>-#include &lt;sys/param.h&gt;</div><div class='del'>-int main() {</div><div class='del'>-</div><div class='del'>-#if BYTE_ORDER != BIG_ENDIAN</div><div class='del'>- not big endian</div><div class='del'>-#endif</div><div class='del'>-; return 0; }</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:3577: \"$ac_compile\") 1&gt;&amp;5; (eval $ac_compile) 2&gt;&amp;5; }; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_c_bigendian=yes</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_c_bigendian=no</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-if test $ac_cv_c_bigendian = unknown; then</div><div class='del'>-if test "$cross_compiling" = yes; then</div><div class='del'>-    { echo "configure: error: can not run test program while cross compiling" 1&gt;&amp;2; exit 1; }</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 3597 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-main () {</div><div class='del'>-  /* Are we little or big endian?  From Harbison&amp;Steele.  */</div><div class='del'>-  union</div><div class='del'>-  {</div><div class='del'>-    long l;</div><div class='del'>-    char c[sizeof (long)];</div><div class='del'>-  } u;</div><div class='del'>-  u.l = 1;</div><div class='del'>-  exit (u.c[sizeof (long) - 1] == 1);</div><div class='del'>-}</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:3610: \"$ac_link\") 1&gt;&amp;5; (eval $ac_link) 2&gt;&amp;5; } &amp;&amp; test -s conftest${ac_exeext} &amp;&amp; (./conftest; exit) 2&gt;/dev/null</div><div class='del'>-then</div><div class='del'>-  ac_cv_c_bigendian=no</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -fr conftest*</div><div class='del'>-  ac_cv_c_bigendian=yes</div><div class='del'>-fi</div><div class='del'>-rm -fr conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo "$ac_t""$ac_cv_c_bigendian" 1&gt;&amp;6</div><div class='del'>-if test $ac_cv_c_bigendian = yes; then</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define WORDS_BIGENDIAN 1</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo $ac_n "checking for working const""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:3634: checking for working const" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 3639 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-</div><div class='del'>-int main() {</div><div class='del'>-</div><div class='del'>-/* Ultrix mips cc rejects this.  */</div><div class='del'>-typedef int charset[2]; const charset x;</div><div class='del'>-/* SunOS 4.1.1 cc rejects this.  */</div><div class='del'>-char const *const *ccp;</div><div class='del'>-char **p;</div><div class='del'>-/* NEC SVR4.0.2 mips cc rejects this.  */</div><div class='del'>-struct point {int x, y;};</div><div class='del'>-static struct point const zero = {0,0};</div><div class='del'>-/* AIX XL C 1.02.0.0 rejects this.</div><div class='del'>-   It does not let you subtract one const X* pointer from another in an arm</div><div class='del'>-   of an if-expression whose if-part is not a constant expression */</div><div class='del'>-const char *g = "string";</div><div class='del'>-ccp = &amp;g + (g ? g-g : 0);</div><div class='del'>-/* HPUX 7.0 cc rejects these. */</div><div class='del'>-++ccp;</div><div class='del'>-p = (char**) ccp;</div><div class='del'>-ccp = (char const *const *) p;</div><div class='del'>-{ /* SCO 3.2v4 cc rejects this.  */</div><div class='del'>-  char *t;</div><div class='del'>-  char const *s = 0 ? (char *) 0 : (char const *) 0;</div><div class='del'>-</div><div class='del'>-  *t++ = 0;</div><div class='del'>-}</div><div class='del'>-{ /* Someone thinks the Sun supposedly-ANSI compiler will reject this.  */</div><div class='del'>-  int x[] = {25, 17};</div><div class='del'>-  const int *foo = &amp;x[0];</div><div class='del'>-  ++foo;</div><div class='del'>-}</div><div class='del'>-{ /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */</div><div class='del'>-  typedef const int *iptr;</div><div class='del'>-  iptr p = 0;</div><div class='del'>-  ++p;</div><div class='del'>-}</div><div class='del'>-{ /* AIX XL C 1.02.0.0 rejects this saying</div><div class='del'>-     "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */</div><div class='del'>-  struct s { int j; const int *ap[3]; };</div><div class='del'>-  struct s *b; b-&gt;j = 5;</div><div class='del'>-}</div><div class='del'>-{ /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */</div><div class='del'>-  const int foo = 10;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-; return 0; }</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:3688: \"$ac_compile\") 1&gt;&amp;5; (eval $ac_compile) 2&gt;&amp;5; }; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_c_const=yes</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_c_const=no</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo "$ac_t""$ac_cv_c_const" 1&gt;&amp;6</div><div class='del'>-if test $ac_cv_c_const = no; then</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define const </div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo $ac_n "checking whether char is unsigned""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:3709: checking whether char is unsigned" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_c_char_unsigned'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  if test "$GCC" = yes; then</div><div class='del'>-  # GCC predefines this symbol on systems where it applies.</div><div class='del'>-cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 3716 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-#ifdef __CHAR_UNSIGNED__</div><div class='del'>-  yes</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-EOF</div><div class='del'>-if (eval "$ac_cpp conftest.$ac_ext") 2&gt;&amp;5 |</div><div class='del'>-  egrep "yes" &gt;/dev/null 2&gt;&amp;1; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_c_char_unsigned=yes</div><div class='del'>-else</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  ac_cv_c_char_unsigned=no</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-</div><div class='del'>-else</div><div class='del'>-if test "$cross_compiling" = yes; then</div><div class='del'>-    { echo "configure: error: can not run test program while cross compiling" 1&gt;&amp;2; exit 1; }</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 3738 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-/* volatile prevents gcc2 from optimizing the test away on sparcs.  */</div><div class='del'>-#if !defined(__STDC__) || __STDC__ != 1</div><div class='del'>-#define volatile</div><div class='del'>-#endif</div><div class='del'>-main() {</div><div class='del'>-  volatile char c = 255; exit(c &lt; 0);</div><div class='del'>-}</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:3748: \"$ac_link\") 1&gt;&amp;5; (eval $ac_link) 2&gt;&amp;5; } &amp;&amp; test -s conftest${ac_exeext} &amp;&amp; (./conftest; exit) 2&gt;/dev/null</div><div class='del'>-then</div><div class='del'>-  ac_cv_c_char_unsigned=yes</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -fr conftest*</div><div class='del'>-  ac_cv_c_char_unsigned=no</div><div class='del'>-fi</div><div class='del'>-rm -fr conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo "$ac_t""$ac_cv_c_char_unsigned" 1&gt;&amp;6</div><div class='del'>-if test $ac_cv_c_char_unsigned = yes &amp;&amp; test "$GCC" != yes; then</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define __CHAR_UNSIGNED__ 1</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-echo $ac_n "checking whether right shift preserve sign bit""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:3773: checking whether right shift preserve sign bit" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'rb_cv_rshift_sign'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  if test "$cross_compiling" = yes; then</div><div class='del'>-  rb_cv_rshift_sign=yes</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 3781 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-</div><div class='del'>-int</div><div class='del'>-main()</div><div class='del'>-{</div><div class='del'>-  if (-1==(-1&gt;&gt;1))</div><div class='del'>-    return 0;</div><div class='del'>-  return 1;</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:3793: \"$ac_link\") 1&gt;&amp;5; (eval $ac_link) 2&gt;&amp;5; } &amp;&amp; test -s conftest${ac_exeext} &amp;&amp; (./conftest; exit) 2&gt;/dev/null</div><div class='del'>-then</div><div class='del'>-  rb_cv_rshift_sign=yes</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -fr conftest*</div><div class='del'>-  rb_cv_rshift_sign=no</div><div class='del'>-fi</div><div class='del'>-rm -fr conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo "$ac_t""$rb_cv_rshift_sign" 1&gt;&amp;6</div><div class='del'>-if test "$rb_cv_rshift_sign" = yes; then</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define RSHIFT(x,y) ((x)&gt;&gt;y)</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-else</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define RSHIFT(x,y) (((x)&lt;0) ? ~((~(x))&gt;&gt;y) : (x)&gt;&gt;y)</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo $ac_n "checking count field in FILE structures""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:3821: checking count field in FILE structures" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'rb_cv_fcnt'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 3826 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-#include &lt;stdio.h&gt;</div><div class='del'>-int main() {</div><div class='del'>-FILE *f = stdin; f-&gt;_cnt = 0;</div><div class='del'>-; return 0; }</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:3833: \"$ac_compile\") 1&gt;&amp;5; (eval $ac_compile) 2&gt;&amp;5; }; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  rb_cv_fcnt="_cnt"</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-if test "$rb_cv_fcnt" = ""; then</div><div class='del'>-    cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 3843 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-#include &lt;stdio.h&gt;</div><div class='del'>-int main() {</div><div class='del'>-FILE *f = stdin; f-&gt;__cnt = 0;</div><div class='del'>-; return 0; }</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:3850: \"$ac_compile\") 1&gt;&amp;5; (eval $ac_compile) 2&gt;&amp;5; }; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  rb_cv_fcnt="__cnt"</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-fi</div><div class='del'>-if test "$rb_cv_fcnt" = ""; then</div><div class='del'>-    cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 3861 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-#include &lt;stdio.h&gt;</div><div class='del'>-int main() {</div><div class='del'>-FILE *f = stdin; f-&gt;_r = 0;</div><div class='del'>-; return 0; }</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:3868: \"$ac_compile\") 1&gt;&amp;5; (eval $ac_compile) 2&gt;&amp;5; }; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  rb_cv_fcnt="_r"</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-fi</div><div class='del'>-if test "$rb_cv_fcnt" = ""; then</div><div class='del'>-    cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 3879 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-#include &lt;stdio.h&gt;</div><div class='del'>-int main() {</div><div class='del'>-FILE *f = stdin; f-&gt;readCount = 0;</div><div class='del'>-; return 0; }</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:3886: \"$ac_compile\") 1&gt;&amp;5; (eval $ac_compile) 2&gt;&amp;5; }; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  rb_cv_fcnt="readCount"</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-fi</div><div class='del'>-if test "$rb_cv_fcnt" = ""; then</div><div class='del'>-    cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 3897 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-#include &lt;stdio.h&gt;</div><div class='del'>-int main() {</div><div class='del'>-FILE *f = stdin; f-&gt;_rcount = 0;</div><div class='del'>-; return 0; }</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:3904: \"$ac_compile\") 1&gt;&amp;5; (eval $ac_compile) 2&gt;&amp;5; }; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  rb_cv_fcnt="_rcount"</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  rb_cv_fcnt="not found"</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-fi</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-if test "$rb_cv_fcnt" = "not found"; then</div><div class='del'>-  echo "$ac_t""not found(OK if using GNU libc)" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  echo "$ac_t""$rb_cv_fcnt" 1&gt;&amp;6</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;EOF</div><div class='del'>-#define FILE_COUNT $rb_cv_fcnt</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-# Check whether --with-default-kcode or --without-default-kcode was given.</div><div class='del'>-if test "${with_default_kcode+set}" = set; then</div><div class='del'>-  withval="$with_default_kcode"</div><div class='del'>-  case $withval in</div><div class='del'>-	utf8) cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define DEFAULT_KCODE KCODE_UTF8</div><div class='del'>-EOF</div><div class='del'>-;;</div><div class='del'>-	euc)  cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define DEFAULT_KCODE KCODE_EUC</div><div class='del'>-EOF</div><div class='del'>-;;</div><div class='del'>-	sjis) cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define DEFAULT_KCODE KCODE_SJIS</div><div class='del'>-EOF</div><div class='del'>-;;</div><div class='del'>-	none) cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define DEFAULT_KCODE KCODE_NONE</div><div class='del'>-EOF</div><div class='del'>-;;</div><div class='del'>-        *)    echo "configure: warning: $withval is not valid kcode; ignored" 1&gt;&amp;2;;</div><div class='del'>-	esac</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-# Check whether --with-dln-a-out or --without-dln-a-out was given.</div><div class='del'>-if test "${with_dln_a_out+set}" = set; then</div><div class='del'>-  withval="$with_dln_a_out"</div><div class='del'>-  </div><div class='del'>-	case $withval in</div><div class='del'>-	yes) with_dln_a_out=yes;;</div><div class='del'>-	*)   with_dln_a_out=no;;</div><div class='del'>-	esac</div><div class='del'>-else</div><div class='del'>-  with_dln_a_out=no</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-case "$host_os" in</div><div class='del'>-    linux*)</div><div class='del'>-  echo $ac_n "checking whether ELF binaries are produced""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:3970: checking whether ELF binaries are produced" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'rb_cv_binary_elf'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  if test "$cross_compiling" = yes; then</div><div class='del'>-  rb_cv_binary_elf=yes</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 3978 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-</div><div class='del'>-/* Test for whether ELF binaries are produced */</div><div class='del'>-#include &lt;fcntl.h&gt;</div><div class='del'>-#include &lt;stdlib.h&gt;</div><div class='del'>-main() {</div><div class='del'>-	char buffer[4];</div><div class='del'>-	int i=open("conftest",O_RDONLY);</div><div class='del'>-	if(i==-1)</div><div class='del'>-		exit(1); /* fail */</div><div class='del'>-	if(read(i,&amp;buffer[0],4)&lt;4)</div><div class='del'>-		exit(1); /* fail */</div><div class='del'>-	if(buffer[0] != 127 || buffer[1] != 'E' ||</div><div class='del'>-           buffer[2] != 'L' || buffer[3] != 'F')</div><div class='del'>-		exit(1); /* fail */</div><div class='del'>-	exit(0); /* succeed (yes, it's ELF) */</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:3998: \"$ac_link\") 1&gt;&amp;5; (eval $ac_link) 2&gt;&amp;5; } &amp;&amp; test -s conftest${ac_exeext} &amp;&amp; (./conftest; exit) 2&gt;/dev/null</div><div class='del'>-then</div><div class='del'>-  rb_cv_binary_elf=yes</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -fr conftest*</div><div class='del'>-  rb_cv_binary_elf=no</div><div class='del'>-fi</div><div class='del'>-rm -fr conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo "$ac_t""$rb_cv_binary_elf" 1&gt;&amp;6</div><div class='del'>-  if test "$rb_cv_binary_elf" = no; then</div><div class='del'>-    with_dln_a_out=yes</div><div class='del'>-    host_os=${host_os}-a_out</div><div class='del'>-  else</div><div class='del'>-    LDFLAGS="-rdynamic"</div><div class='del'>-  fi;;</div><div class='del'>-esac</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-STATIC=</div><div class='del'>-</div><div class='del'>-if test "$with_dln_a_out" != yes; then</div><div class='del'>-  rb_cv_dlopen=unknown</div><div class='del'>-  echo $ac_n "checking whether OS depend dynamic link works""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:4028: checking whether OS depend dynamic link works" &gt;&amp;5</div><div class='del'>-  if test "$GCC" = yes; then</div><div class='del'>-    case "$host_os" in</div><div class='del'>-    nextstep*)	;;</div><div class='del'>-    openstep*)	;;</div><div class='del'>-    rhapsody*)	;;</div><div class='del'>-    human*)	;;</div><div class='del'>-    bsdi*)	;;</div><div class='del'>-    cygwin*)	;;</div><div class='del'>-    netbsd*) CCDLFLAGS=-fpic</div><div class='del'>-     case "$host_cpu" in</div><div class='del'>-     mips*) CCDLFLAGS=-fPIC ;;</div><div class='del'>-     *) ;;</div><div class='del'>-     esac ;;</div><div class='del'>-    *) CCDLFLAGS=-fPIC;;</div><div class='del'>-    esac</div><div class='del'>-  else</div><div class='del'>-    case "$host_os" in</div><div class='del'>-	hpux*)		CCDLFLAGS='+z';;</div><div class='del'>-	solaris*|irix*)	CCDLFLAGS='-K PIC' ;;</div><div class='del'>-	sunos*)		CCDLFLAGS='-PIC' ;;</div><div class='del'>-	esix*|uxpds*)   CCDLFLAGS='-KPIC' ;;</div><div class='del'>-	*)		CCDLFLAGS='' ;;</div><div class='del'>-    esac</div><div class='del'>-  fi</div><div class='del'>-</div><div class='del'>-  case "$host_os" in</div><div class='del'>-	hpux*)		DLDFLAGS="-E"</div><div class='del'>-			LDSHARED='ld -b'</div><div class='del'>-			LDFLAGS="-Wl,-E"</div><div class='del'>-			rb_cv_dlopen=yes;;</div><div class='del'>-	solaris*) 	if test "$GCC" = yes; then</div><div class='del'>-			   LDSHARED='$(CC) -Wl,-G'</div><div class='del'>-			   `$CC --print-prog-name=ld` -v 2&gt;&amp;1 | grep "GNU ld" &gt; /dev/null &amp;&amp; LDFLAGS="-Wl,-E"</div><div class='del'>-			else</div><div class='del'>-			   LDSHARED='ld -G'</div><div class='del'>-			fi</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 -ignore_unresolved'</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'>-	esix*|uxpds*) 	LDSHARED="ld -G"</div><div class='del'>-			rb_cv_dlopen=yes ;;</div><div class='del'>-	osf*) 		LDSHARED="$CC -shared"</div><div class='del'>-			rb_cv_dlopen=yes ;;</div><div class='del'>-	linux*) 	LDSHARED="$CC -shared"</div><div class='del'>-			rb_cv_dlopen=yes ;;</div><div class='del'>-	freebsd*)       LDSHARED="$CC -shared"</div><div class='del'>-			if test -x /usr/bin/objformat &amp;&amp; \</div><div class='del'>-			   test `/usr/bin/objformat` = "elf" ; then</div><div class='del'>-			    LDFLAGS="-rdynamic"</div><div class='del'>-			    DLDFLAGS='-Wl,-soname,$(.TARGET)'</div><div class='del'>-			    rb_cv_freebsd_elf=yes</div><div class='del'>-			else</div><div class='del'>-			  test "$GCC" = yes &amp;&amp; `$CC --print-prog-name=ld` -v 2&gt;&amp;1 | grep "GNU ld" &gt; /dev/null || LDSHARED="ld -Bshareable"</div><div class='del'>-			fi</div><div class='del'>-			rb_cv_dlopen=yes ;;</div><div class='del'>-	netbsd*)  	LDSHARED="ld -shared"</div><div class='del'>-			rb_cv_dlopen=yes ;;</div><div class='del'>-	openbsd*) 	LDSHARED="ld -Bforcearchive -Bshareable"</div><div class='del'>-			rb_cv_dlopen=yes ;;</div><div class='del'>-	bsdi3*) 	case "$CC" in</div><div class='del'>-			*shlicc*)	LDSHARED="$CC -r"</div><div class='del'>-					rb_cv_dlopen=yes ;;</div><div class='del'>-			esac ;;</div><div class='del'>-	bsdi*)		LDSHARED="ld -shared"</div><div class='del'>-			LDFLAGS="-rdynamic -Wl,-rpath,/usr/local/lib/ruby/1.4/i386-bsdi4.0"</div><div class='del'>-			rb_cv_dlopen=yes ;;</div><div class='del'>-	nextstep*)	LDSHARED='cc -r -nostdlib'</div><div class='del'>-			LDFLAGS="-u libsys_s"</div><div class='del'>-			DLDFLAGS="$ARCH_FLAG" </div><div class='del'>-			rb_cv_dlopen=yes ;;</div><div class='del'>-	openstep*)	LDSHARED='cc -dynamic -bundle -undefined suppress'</div><div class='del'>-			LDFLAGS=""</div><div class='del'>-			DLDFLAGS="$ARCH_FLAG"</div><div class='del'>-			rb_cv_dlopen=yes ;;</div><div class='del'>-	rhapsody*)	LDSHARED='cc -dynamic -bundle -undefined suppress'</div><div class='del'>-			LDFLAGS=""</div><div class='del'>-			DLDFLAGS="$ARCH_FLAG"</div><div class='del'>-			rb_cv_dlopen=yes ;;</div><div class='del'>-	aix*)		LDSHARED='/usr/ccs/bin/ld'</div><div class='del'>-			XLDFLAGS='-Wl,-bE:ruby.imp'</div><div class='del'>-			DLDFLAGS='-eInit_$(TARGET) -bI:$(topdir)/ruby.imp -bM:SRE -T512 -H512 -lc'</div><div class='del'>-			rb_cv_dlopen=yes ;;</div><div class='del'>-</div><div class='del'>-	human*)		DLDFLAGS=''</div><div class='del'>-			LDSHARED=''</div><div class='del'>-			LDFLAGS=''</div><div class='del'>-			rb_cv_dlopen=yes ;;</div><div class='del'>-	beos*) 		case "$host_cpu" in</div><div class='del'>-			  powerpc*)</div><div class='del'>-			    LDSHARED="ld -xms"</div><div class='del'>-			    DLDFLAGS="-f ruby.exp -lbe -lroot glue-noinit.a init_term_dyn.o start_dyn.o"</div><div class='del'>-                            ;;</div><div class='del'>-			  i586*)</div><div class='del'>-			    LDSHARED="ld -shared"</div><div class='del'>-			    DLDFLAGS="-L/boot/develop/lib/x86 -lbe -lroot"</div><div class='del'>-			    ;;</div><div class='del'>-			  *)</div><div class='del'>-			    DLDFLAGS="ruby.def -lbe -lroot glue-noinit.a init_term_dyn.o start_dyn.o"</div><div class='del'>-			esac</div><div class='del'>-			rb_cv_dlopen=yes ;;</div><div class='del'>-	cygwin*)	LDSHARED='dllwrap --export-all -s'</div><div class='del'>-			rb_cv_dlopen=yes ;;</div><div class='del'>-	*) 		LDSHARED='ld' ;;</div><div class='del'>-  esac</div><div class='del'>-  echo "$ac_t""$rb_cv_dlopen" 1&gt;&amp;6</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-dln_a_out_works=no</div><div class='del'>-if test "$ac_cv_header_a_out_h" = yes; then</div><div class='del'>-  if test "$with_dln_a_out" = yes || test "$rb_cv_dlopen" = unknown; then</div><div class='del'>-    cat confdefs.h &gt; config.h</div><div class='del'>-    echo $ac_n "checking whether matz's dln works""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:4145: checking whether matz's dln works" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'rb_cv_dln_a_out'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 4150 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-</div><div class='del'>-#define USE_DLN_A_OUT</div><div class='del'>-#include "dln.c"</div><div class='del'>-</div><div class='del'>-int main() {</div><div class='del'>-</div><div class='del'>-; return 0; }</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:4160: \"$ac_compile\") 1&gt;&amp;5; (eval $ac_compile) 2&gt;&amp;5; }; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  rb_cv_dln_a_out=yes</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  rb_cv_dln_a_out=no</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo "$ac_t""$rb_cv_dln_a_out" 1&gt;&amp;6</div><div class='del'>-    if test "$rb_cv_dln_a_out" = yes; then</div><div class='del'>-      dln_a_out_works=yes</div><div class='del'>-      cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define USE_DLN_A_OUT 1</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-    fi</div><div class='del'>-  fi</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-if test "$dln_a_out_works" = yes; then</div><div class='del'>-  if test "$GCC" = yes; then</div><div class='del'>-    STATIC=-static</div><div class='del'>-  else</div><div class='del'>-    STATIC=-Bstatic</div><div class='del'>-  fi</div><div class='del'>-  DLEXT=so</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define DLEXT ".so"</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-  CCDLFLAGS=</div><div class='del'>-else</div><div class='del'>-  case "$host_os" in</div><div class='del'>-    hpux*)	DLEXT=sl</div><div class='del'>-	 	cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define DLEXT ".sl"</div><div class='del'>-EOF</div><div class='del'>-;;</div><div class='del'>-    nextstep*)	DLEXT=bundle</div><div class='del'>-	 	cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define DLEXT ".bundle"</div><div class='del'>-EOF</div><div class='del'>-;;</div><div class='del'>-    openstep*)	DLEXT=bundle</div><div class='del'>-	 	cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define DLEXT ".bundle"</div><div class='del'>-EOF</div><div class='del'>-;;</div><div class='del'>-    rhapsody*)	DLEXT=bundle</div><div class='del'>-	 	cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define DLEXT ".bundle"</div><div class='del'>-EOF</div><div class='del'>-;;</div><div class='del'>-    cygwin*)	DLEXT=dll</div><div class='del'>-	 	cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define DLEXT ".dll"</div><div class='del'>-EOF</div><div class='del'>-;;</div><div class='del'>-    os2_emx)	DLEXT=o</div><div class='del'>-	 	cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define DLEXT ".so"</div><div class='del'>-EOF</div><div class='del'>-;;</div><div class='del'>-    *)		DLEXT=so</div><div class='del'>-    		cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define DLEXT ".so"</div><div class='del'>-EOF</div><div class='del'>-;;</div><div class='del'>-  esac</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-if test "$with_dln_a_out" = yes; then</div><div class='del'>-  STRIP=true</div><div class='del'>-else</div><div class='del'>-  STRIP=strip</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-case "$host_os" in</div><div class='del'>-  linux*)</div><div class='del'>-	STRIP='strip -S -x';;</div><div class='del'>-  nextstep*)</div><div class='del'>-	STRIP='strip -A -n';;</div><div class='del'>-  openstep*)</div><div class='del'>-	STRIP='strip -A -n';;</div><div class='del'>-  rhapsody*)</div><div class='del'>-	STRIP='strip -A -n';;</div><div class='del'>-esac</div><div class='del'>-</div><div class='del'>-EXTSTATIC=</div><div class='del'>-# Check whether --with-static-linked-ext or --without-static-linked-ext was given.</div><div class='del'>-if test "${with_static_linked_ext+set}" = set; then</div><div class='del'>-  withval="$with_static_linked_ext"</div><div class='del'>-  case $withval in</div><div class='del'>-	     yes) STATIC=</div><div class='del'>-		  EXTSTATIC=static;;</div><div class='del'>-	     *)	;;</div><div class='del'>-	     esac</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-case "$host_os" in</div><div class='del'>-  human*)</div><div class='del'>-    echo $ac_n "checking for _harderr in -lsignal""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:4267: checking for _harderr in -lsignal" &gt;&amp;5</div><div class='del'>-ac_lib_var=`echo signal'_'_harderr | sed 'y%./+-%__p_%'`</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  ac_save_LIBS="$LIBS"</div><div class='del'>-LIBS="-lsignal  $LIBS"</div><div class='del'>-cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 4275 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-/* Override any gcc2 internal prototype to avoid an error.  */</div><div class='del'>-/* We use char because int might match the return type of a gcc2</div><div class='del'>-    builtin and then its argument prototype would still apply.  */</div><div class='del'>-char _harderr();</div><div class='del'>-</div><div class='del'>-int main() {</div><div class='del'>-_harderr()</div><div class='del'>-; return 0; }</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:4286: \"$ac_link\") 1&gt;&amp;5; (eval $ac_link) 2&gt;&amp;5; } &amp;&amp; test -s conftest${ac_exeext}; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  eval "ac_cv_lib_$ac_lib_var=yes"</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  eval "ac_cv_lib_$ac_lib_var=no"</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-LIBS="$ac_save_LIBS"</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then</div><div class='del'>-  echo "$ac_t""yes" 1&gt;&amp;6</div><div class='del'>-    ac_tr_lib=HAVE_LIB`echo signal | sed -e 's/[^a-zA-Z0-9_]/_/g' \</div><div class='del'>-    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;EOF</div><div class='del'>-#define $ac_tr_lib 1</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-  LIBS="-lsignal $LIBS"</div><div class='del'>-</div><div class='del'>-else</div><div class='del'>-  echo "$ac_t""no" 1&gt;&amp;6</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-    echo $ac_n "checking for hmemset in -lhmem""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:4314: checking for hmemset in -lhmem" &gt;&amp;5</div><div class='del'>-ac_lib_var=`echo hmem'_'hmemset | sed 'y%./+-%__p_%'`</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  ac_save_LIBS="$LIBS"</div><div class='del'>-LIBS="-lhmem  $LIBS"</div><div class='del'>-cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 4322 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-/* Override any gcc2 internal prototype to avoid an error.  */</div><div class='del'>-/* We use char because int might match the return type of a gcc2</div><div class='del'>-    builtin and then its argument prototype would still apply.  */</div><div class='del'>-char hmemset();</div><div class='del'>-</div><div class='del'>-int main() {</div><div class='del'>-hmemset()</div><div class='del'>-; return 0; }</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:4333: \"$ac_link\") 1&gt;&amp;5; (eval $ac_link) 2&gt;&amp;5; } &amp;&amp; test -s conftest${ac_exeext}; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  eval "ac_cv_lib_$ac_lib_var=yes"</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  eval "ac_cv_lib_$ac_lib_var=no"</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-LIBS="$ac_save_LIBS"</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then</div><div class='del'>-  echo "$ac_t""yes" 1&gt;&amp;6</div><div class='del'>-    ac_tr_lib=HAVE_LIB`echo hmem | sed -e 's/[^a-zA-Z0-9_]/_/g' \</div><div class='del'>-    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;EOF</div><div class='del'>-#define $ac_tr_lib 1</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-  LIBS="-lhmem $LIBS"</div><div class='del'>-</div><div class='del'>-else</div><div class='del'>-  echo "$ac_t""no" 1&gt;&amp;6</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-    for ac_func in select</div><div class='del'>-do</div><div class='del'>-echo $ac_n "checking for $ac_func""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:4363: checking for $ac_func" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 4368 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-/* System header to define __stub macros and hopefully few prototypes,</div><div class='del'>-    which can conflict with char $ac_func(); below.  */</div><div class='del'>-#include &lt;assert.h&gt;</div><div class='del'>-/* Override any gcc2 internal prototype to avoid an error.  */</div><div class='del'>-/* We use char because int might match the return type of a gcc2</div><div class='del'>-    builtin and then its argument prototype would still apply.  */</div><div class='del'>-char $ac_func();</div><div class='del'>-</div><div class='del'>-int main() {</div><div class='del'>-</div><div class='del'>-/* The GNU C library defines this for functions which it implements</div><div class='del'>-    to always fail with ENOSYS.  Some functions are actually named</div><div class='del'>-    something starting with __ and the normal name is an alias.  */</div><div class='del'>-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)</div><div class='del'>-choke me</div><div class='del'>-#else</div><div class='del'>-$ac_func();</div><div class='del'>-#endif</div><div class='del'>-</div><div class='del'>-; return 0; }</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:4391: \"$ac_link\") 1&gt;&amp;5; (eval $ac_link) 2&gt;&amp;5; } &amp;&amp; test -s conftest${ac_exeext}; then</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  eval "ac_cv_func_$ac_func=yes"</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -rf conftest*</div><div class='del'>-  eval "ac_cv_func_$ac_func=no"</div><div class='del'>-fi</div><div class='del'>-rm -f conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then</div><div class='del'>-  echo "$ac_t""yes" 1&gt;&amp;6</div><div class='del'>-    ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`</div><div class='del'>-  cat &gt;&gt; confdefs.h &lt;&lt;EOF</div><div class='del'>-#define $ac_tr_func 1</div><div class='del'>-EOF</div><div class='del'>- </div><div class='del'>-else</div><div class='del'>-  echo "$ac_t""no" 1&gt;&amp;6</div><div class='del'>-fi</div><div class='del'>-done</div><div class='del'>-</div><div class='del'>-    echo $ac_n "checking whether PD libc _dtos18 fail to convert big number""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:4416: checking whether PD libc _dtos18 fail to convert big number" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'rb_cv_missing__dtos18'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  if test "$cross_compiling" = yes; then</div><div class='del'>-  rb_cv_missing__dtos18=no</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 4424 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-</div><div class='del'>-#include &lt;stdio.h&gt;</div><div class='del'>-main ()</div><div class='del'>-{</div><div class='del'>-   char buf[256];</div><div class='del'>-   sprintf (buf, "%g", 1e+300);</div><div class='del'>-   exit (strcmp (buf, "1e+300") ? 0 : 1);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:4436: \"$ac_link\") 1&gt;&amp;5; (eval $ac_link) 2&gt;&amp;5; } &amp;&amp; test -s conftest${ac_exeext} &amp;&amp; (./conftest; exit) 2&gt;/dev/null</div><div class='del'>-then</div><div class='del'>-  rb_cv_missing__dtos18=yes</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -fr conftest*</div><div class='del'>-  rb_cv_missing__dtos18=no</div><div class='del'>-fi</div><div class='del'>-rm -fr conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo "$ac_t""$rb_cv_missing__dtos18" 1&gt;&amp;6</div><div class='del'>-    if test "$rb_cv_missing__dtos18" = yes; then</div><div class='del'>-      cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define MISSING__DTOS18 1</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-    fi</div><div class='del'>-    echo $ac_n "checking whether PD libc fconvert fail to round""... $ac_c" 1&gt;&amp;6</div><div class='del'>-echo "configure:4458: checking whether PD libc fconvert fail to round" &gt;&amp;5</div><div class='del'>-if eval "test \"`echo '$''{'rb_cv_missing_fconvert'+set}'`\" = set"; then</div><div class='del'>-  echo $ac_n "(cached) $ac_c" 1&gt;&amp;6</div><div class='del'>-else</div><div class='del'>-  if test "$cross_compiling" = yes; then</div><div class='del'>-  rb_cv_missing_fconvert=no</div><div class='del'>-else</div><div class='del'>-  cat &gt; conftest.$ac_ext &lt;&lt;EOF</div><div class='del'>-#line 4466 "configure"</div><div class='del'>-#include "confdefs.h"</div><div class='del'>-</div><div class='del'>-#include &lt;stdio.h&gt;</div><div class='del'>-#include &lt;math.h&gt;</div><div class='del'>-main ()</div><div class='del'>-{</div><div class='del'>-  char buf[256];</div><div class='del'>-  sprintf (buf, "%f", log(exp(1.0)));</div><div class='del'>-  exit (strcmp (buf, "1.000000") ? 0 : 1);</div><div class='del'>-}</div><div class='del'>-</div><div class='del'>-EOF</div><div class='del'>-if { (eval echo configure:4479: \"$ac_link\") 1&gt;&amp;5; (eval $ac_link) 2&gt;&amp;5; } &amp;&amp; test -s conftest${ac_exeext} &amp;&amp; (./conftest; exit) 2&gt;/dev/null</div><div class='del'>-then</div><div class='del'>-  rb_cv_missing_fconvert=yes</div><div class='del'>-else</div><div class='del'>-  echo "configure: failed program was:" &gt;&amp;5</div><div class='del'>-  cat conftest.$ac_ext &gt;&amp;5</div><div class='del'>-  rm -fr conftest*</div><div class='del'>-  rb_cv_missing_fconvert=no</div><div class='del'>-fi</div><div class='del'>-rm -fr conftest*</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo "$ac_t""$rb_cv_missing_fconvert" 1&gt;&amp;6</div><div class='del'>-    if test "$rb_cv_missing_fconvert" = yes; then</div><div class='del'>-      cat &gt;&gt; confdefs.h &lt;&lt;\EOF</div><div class='del'>-#define MISSING_FCONVERT 1</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-    fi</div><div class='del'>-    LIBOBJS="$LIBOBJS x68.o"</div><div class='del'>-    CFLAGS="$CFLAGS -fansi-only -cc1-stack=196608 -cpp-stack=2694144"</div><div class='del'>-    EXEEXT=.x</div><div class='del'>-    OBJEXT=o</div><div class='del'>-    setup=Setup.x68</div><div class='del'>-    ;;</div><div class='del'>-    os2_emx)</div><div class='del'>-    LIBOBJS="$LIBOBJS os2.o"</div><div class='del'>-    setup=Setup.emx</div><div class='del'>-    ;;</div><div class='del'>-  cygwin*)</div><div class='del'>-    setup=Setup</div><div class='del'>-    ;;</div><div class='del'>-  *)</div><div class='del'>-    setup=Setup</div><div class='del'>-    ;;</div><div class='del'>-esac</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-if test "$prefix" = NONE; then</div><div class='del'>-  prefix=$ac_default_prefix</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-if test "$fat_binary" = yes ; then</div><div class='del'>-  CFLAGS="$CFLAGS $ARCH_FLAG"</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-LIBRUBY_A='lib$(RUBY_INSTALL_NAME).a'</div><div class='del'>-LIBRUBY='$(LIBRUBY_A)'</div><div class='del'>-LIBRUBYARG='$(LIBRUBY_A)'</div><div class='del'>-SOLIBS=</div><div class='del'>-if test "$host_os" = "beos"; then</div><div class='del'>-  LIBRUBY='$(LIBRUBY_SO)'</div><div class='del'>-  LIBRUBYARG='-l$(RUBY_INSTALL_NAME)'</div><div class='del'>-  SOLIBS='-lnet'</div><div class='del'>-  echo creating ruby.def</div><div class='del'>-  case "$host_cpu" in</div><div class='del'>-    powerpc*)</div><div class='del'>-      cp beos/ruby.def.in ruby.exp</div><div class='del'>-      CFLAGS="$CFLAGS -relax_pointers"</div><div class='del'>-      ;;</div><div class='del'>-    i586*)</div><div class='del'>-      LDFLAGS="$LDFLAGS -L."</div><div class='del'>-      ;;</div><div class='del'>-    *)</div><div class='del'>-      echo EXPORTS &gt; ruby.def</div><div class='del'>-      cat beos/ruby.def.in &gt;&gt; ruby.def</div><div class='del'>-      ;;</div><div class='del'>-  esac</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-FIRSTMAKEFILE=""</div><div class='del'>-LIBRUBY_LDSHARED=$LDSHARED</div><div class='del'>-LIBRUBY_DLDFLAGS=$DLDFLAGS</div><div class='del'>-LIBRUBY_SO='lib$(RUBY_INSTALL_NAME).so.$(MAJOR).$(MINOR).$(TEENY)'</div><div class='del'>-LIBRUBY_ALIASES='lib$(RUBY_INSTALL_NAME).so'</div><div class='del'>-# Check whether --enable-enable-shared or --disable-enable-shared was given.</div><div class='del'>-if test "${enable_enable_shared+set}" = set; then</div><div class='del'>-  enableval="$enable_enable_shared"</div><div class='del'>-  enable_shared=$enableval</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-if test "$enable_shared" = 'yes'; then</div><div class='del'>-  LIBRUBY='$(LIBRUBY_SO)'</div><div class='del'>-  LIBRUBYARG='-L. -l$(RUBY_INSTALL_NAME)'</div><div class='del'>-  CFLAGS="$CFLAGS $CCDLFLAGS"</div><div class='del'>-  case "$host_os" in</div><div class='del'>-    sunos4*)</div><div class='del'>-	LIBRUBY_ALIASES='lib$(RUBY_INSTALL_NAME).so.$(MAJOR).$(MINOR) lib$(RUBY_INSTALL_NAME).so'</div><div class='del'>-	;;</div><div class='del'>-    linux*)</div><div class='del'>-	XLDFLAGS='-Wl,-rpath,${prefix}/lib':/usr/lib:/lib</div><div class='del'>-	LIBRUBY_ALIASES='lib$(RUBY_INSTALL_NAME).so.$(MAJOR).$(MINOR) lib$(RUBY_INSTALL_NAME).so'</div><div class='del'>-	;;</div><div class='del'>-    freebsd*)</div><div class='del'>-	LIBRUBY_SO='lib$(RUBY_INSTALL_NAME).so.$(MAJOR)$(MINOR)'</div><div class='del'>-	if test "$rb_cv_freebsd_elf" != "yes" ; then</div><div class='del'>-	    LIBRUBY_SO="$LIBRUBY_SO.\$(TEENY)"</div><div class='del'>-	    LIBRUBY_ALIASES=''</div><div class='del'>-	fi</div><div class='del'>-	;;</div><div class='del'>-    netbsd*)</div><div class='del'>-	LIBRUBY_SO='lib$(RUBY_INSTALL_NAME).so.$(MAJOR).$(MINOR)'</div><div class='del'>- 	case "$host_cpu" in</div><div class='del'>-	alpha|mipsel|mipseb|powerpc|sparc64)  # ELF platforms</div><div class='del'>-	   LIBRUBY_ALIASES='lib$(RUBY_INSTALL_NAME).so.$(MAJOR) lib$(RUBY_INSTALL_NAME).so' ;;</div><div class='del'>- 	*) LIBRUBY_ALIASES= ;;  # a.out platforms</div><div class='del'>-	esac</div><div class='del'>- 	;;</div><div class='del'>-    solaris*)</div><div class='del'>-	XLDFLAGS='-R${prefix}/lib'</div><div class='del'>- 	;;</div><div class='del'>-    hpux*)</div><div class='del'>-	XLDFLAGS='-Wl,+s,+b,$(prefix)/lib'</div><div class='del'>-	LIBRUBY_SO='lib$(RUBY_INSTALL_NAME).sl.$(MAJOR).$(MINOR).$(TEENY)'</div><div class='del'>-	LIBRUBY_ALIASES='lib$(RUBY_INSTALL_NAME).sl.$(MAJOR).$(MINOR) lib$(RUBY_INSTALL_NAME).sl'</div><div class='del'>-	;;</div><div class='del'>-    aix*)</div><div class='del'>-	if test "$GCC" = yes; then</div><div class='del'>-	    LIBRUBY_LDSHARED='$(CC) -shared'</div><div class='del'>-	    LIBRUBY_DLDFLAGS='-Wl,-bE:ruby.imp'</div><div class='del'>-	else</div><div class='del'>-	    LIBRUBY_LDSHARED='/usr/ccs/bin/ld'</div><div class='del'>-	    LIBRUBY_DLDFLAGS='-bE:ruby.imp -bM:SRE -bnoentry'</div><div class='del'>-	fi</div><div class='del'>-	LIBRUBYARG='-L${prefix}/lib -Wl,lib$(RUBY_INSTALL_NAME).so'</div><div class='del'>-	SOLIBS='-lm -lc'</div><div class='del'>-	;;</div><div class='del'>-    cygwin*)</div><div class='del'>-	LIBRUBY_SO='lib$(RUBY_INSTALL_NAME).a'</div><div class='del'>-	LIBRUBY_ALIASES=''</div><div class='del'>-	LIBRUBY_A='lib$(RUBY_INSTALL_NAME)s.a'</div><div class='del'>-	LIBRUBYARG='-L. -l$(RUBY_INSTALL_NAME)'</div><div class='del'>-	FIRSTMAKEFILE=GNUmakefile:cygwin/GNUmakefile.in</div><div class='del'>-	LIBOBJS="$LIBOBJS strftime.o"</div><div class='del'>-	CCDLFLAGS=-DUSEIMPORTLIB</div><div class='del'>-	    ;;</div><div class='del'>-    *)</div><div class='del'>-	;;</div><div class='del'>-  esac</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-case "$host_os" in</div><div class='del'>-	nextstep*)</div><div class='del'>-    	CFLAGS="$CFLAGS -pipe"</div><div class='del'>-		;;</div><div class='del'>-	openstep*)</div><div class='del'>-    	CFLAGS="$CFLAGS -pipe"</div><div class='del'>-		;;</div><div class='del'>-	rhasody*)</div><div class='del'>-    	CFLAGS="$CFLAGS -pipe -no-precomp"</div><div class='del'>-		;;</div><div class='del'>-	*)</div><div class='del'>-		;;	</div><div class='del'>-esac</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'>-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${ri_suffix}"</div><div class='del'>-RUBY_LIB_PATH="${prefix}/lib/ruby/${MAJOR}.${MINOR}"</div><div class='del'>-cat &gt;&gt; confdefs.h &lt;&lt;EOF</div><div class='del'>-#define RUBY_LIB "${RUBY_LIB_PATH}"</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-RUBY_SITE_LIB_PATH="${RUBY_LIB_PATH}/site_ruby"</div><div class='del'>-cat &gt;&gt; confdefs.h &lt;&lt;EOF</div><div class='del'>-#define RUBY_SITE_LIB "${RUBY_SITE_LIB_PATH}"</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-configure_args=$ac_configure_args</div><div class='del'>-</div><div class='del'>-if test "$fat_binary" = yes ; then</div><div class='del'>-    arch="fat-${host_os}"</div><div class='del'>-</div><div class='del'>-    cat &gt;&gt; confdefs.h &lt;&lt;EOF</div><div class='del'>-#define RUBY_THIN_ARCHLIB "${RUBY_LIB_PATH}/" __ARCHITECTURE__ "-${host_os}"</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-    cat &gt;&gt; confdefs.h &lt;&lt;EOF</div><div class='del'>-#define RUBY_SITE_THIN_ARCHLIB "${RUBY_SITE_LIB_PATH}/" __ARCHITECTURE__ "-${host_os}"</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-    cat &gt;&gt; confdefs.h &lt;&lt;EOF</div><div class='del'>-#define RUBY_PLATFORM __ARCHITECTURE__ "-${host_os}"</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-else</div><div class='del'>-    arch="${host_cpu}-${host_os}"</div><div class='del'>-    cat &gt;&gt; confdefs.h &lt;&lt;EOF</div><div class='del'>-#define RUBY_PLATFORM "${arch}"</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-cat &gt;&gt; confdefs.h &lt;&lt;EOF</div><div class='del'>-#define RUBY_ARCHLIB "${RUBY_LIB_PATH}/${arch}"</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-cat &gt;&gt; confdefs.h &lt;&lt;EOF</div><div class='del'>-#define RUBY_SITE_ARCHLIB "${RUBY_SITE_LIB_PATH}/${arch}"</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-# Check whether --with-search-path or --without-search-path was given.</div><div class='del'>-if test "${with_search_path+set}" = set; then</div><div class='del'>-  withval="$with_search_path"</div><div class='del'>-  search_path=$withval</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-if test "$search_path" != ""; then</div><div class='del'>-    cat &gt;&gt; confdefs.h &lt;&lt;EOF</div><div class='del'>-#define RUBY_SEARCH_PATH "$search_path"</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo "creating config.h"</div><div class='del'>-cat confdefs.h &gt; config.h</div><div class='del'>-</div><div class='del'>-trap '' 1 2 15</div><div class='del'>-cat &gt; confcache &lt;&lt;\EOF</div><div class='del'>-# This file is a shell script that caches the results of configure</div><div class='del'>-# tests run on this system so they can be shared between configure</div><div class='del'>-# scripts and configure runs.  It is not useful on other systems.</div><div class='del'>-# If it contains results you don't want to keep, you may remove or edit it.</div><div class='del'>-#</div><div class='del'>-# By default, configure uses ./config.cache as the cache file,</div><div class='del'>-# creating it if it does not exist already.  You can give configure</div><div class='del'>-# the --cache-file=FILE option to use a different cache file; that is</div><div class='del'>-# what configure does when it calls configure scripts in</div><div class='del'>-# subdirectories, so they share the cache.</div><div class='del'>-# Giving --cache-file=/dev/null disables caching, for debugging configure.</div><div class='del'>-# config.status only pays attention to the cache file if you give it the</div><div class='del'>-# --recheck option to rerun configure.</div><div class='del'>-#</div><div class='del'>-EOF</div><div class='del'>-# The following way of writing the cache mishandles newlines in values,</div><div class='del'>-# but we know of no workaround that is simple, portable, and efficient.</div><div class='del'>-# So, don't put newlines in cache variables' values.</div><div class='del'>-# Ultrix sh set writes to stderr and can't be redirected directly,</div><div class='del'>-# and sets the high bit in the cache file unless we assign to the vars.</div><div class='del'>-(set) 2&gt;&amp;1 |</div><div class='del'>-  case `(ac_space=' '; set | grep ac_space) 2&gt;&amp;1` in</div><div class='del'>-  *ac_space=\ *)</div><div class='del'>-    # `set' does not quote correctly, so add quotes (double-quote substitution</div><div class='del'>-    # turns \\\\ into \\, and sed turns \\ into \).</div><div class='del'>-    sed -n \</div><div class='del'>-      -e "s/'/'\\\\''/g" \</div><div class='del'>-      -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"</div><div class='del'>-    ;;</div><div class='del'>-  *)</div><div class='del'>-    # `set' quotes correctly as required by POSIX, so do not add quotes.</div><div class='del'>-    sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'</div><div class='del'>-    ;;</div><div class='del'>-  esac &gt;&gt; confcache</div><div class='del'>-if cmp -s $cache_file confcache; then</div><div class='del'>-  :</div><div class='del'>-else</div><div class='del'>-  if test -w $cache_file; then</div><div class='del'>-    echo "updating cache $cache_file"</div><div class='del'>-    cat confcache &gt; $cache_file</div><div class='del'>-  else</div><div class='del'>-    echo "not updating unwritable cache $cache_file"</div><div class='del'>-  fi</div><div class='del'>-fi</div><div class='del'>-rm -f confcache</div><div class='del'>-</div><div class='del'>-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15</div><div class='del'>-</div><div class='del'>-test "x$prefix" = xNONE &amp;&amp; prefix=$ac_default_prefix</div><div class='del'>-# Let make expand exec_prefix.</div><div class='del'>-test "x$exec_prefix" = xNONE &amp;&amp; exec_prefix='${prefix}'</div><div class='del'>-</div><div class='del'>-# Any assignment to VPATH causes Sun make to only execute</div><div class='del'>-# the first set of double-colon rules, so remove it if not needed.</div><div class='del'>-# If there is a colon in the path, we need to keep it.</div><div class='del'>-if test "x$srcdir" = x.; then</div><div class='del'>-  ac_vpsub='/^[ 	]*VPATH[ 	]*=[^:]*$/d'</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15</div><div class='del'>-</div><div class='del'>-# Transform confdefs.h into DEFS.</div><div class='del'>-# Protect against shell expansion while executing Makefile rules.</div><div class='del'>-# Protect against Makefile macro expansion.</div><div class='del'>-cat &gt; conftest.defs &lt;&lt;\EOF</div><div class='del'>-s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g</div><div class='del'>-s%[ 	`~#$^&amp;*(){}\\|;'"&lt;&gt;?]%\\&amp;%g</div><div class='del'>-s%\[%\\&amp;%g</div><div class='del'>-s%\]%\\&amp;%g</div><div class='del'>-s%\$%$$%g</div><div class='del'>-EOF</div><div class='del'>-DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`</div><div class='del'>-rm -f conftest.defs</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-# Without the "./", some shells look in PATH for config.status.</div><div class='del'>-: ${CONFIG_STATUS=./config.status}</div><div class='del'>-</div><div class='del'>-echo creating $CONFIG_STATUS</div><div class='del'>-rm -f $CONFIG_STATUS</div><div class='del'>-cat &gt; $CONFIG_STATUS &lt;&lt;EOF</div><div class='del'>-#! /bin/sh</div><div class='del'>-# Generated automatically by configure.</div><div class='del'>-# Run this file to recreate the current configuration.</div><div class='del'>-# This directory was configured as follows,</div><div class='del'>-# on host `(hostname || uname -n) 2&gt;/dev/null | sed 1q`:</div><div class='del'>-#</div><div class='del'>-# $0 $ac_configure_args</div><div class='del'>-#</div><div class='del'>-# Compiler output produced by configure, useful for debugging</div><div class='del'>-# configure, is in ./config.log if it exists.</div><div class='del'>-</div><div class='del'>-ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"</div><div class='del'>-for ac_option</div><div class='del'>-do</div><div class='del'>-  case "\$ac_option" in</div><div class='del'>-  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)</div><div class='del'>-    echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"</div><div class='del'>-    exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;</div><div class='del'>-  -version | --version | --versio | --versi | --vers | --ver | --ve | --v)</div><div class='del'>-    echo "$CONFIG_STATUS generated by autoconf version 2.13"</div><div class='del'>-    exit 0 ;;</div><div class='del'>-  -help | --help | --hel | --he | --h)</div><div class='del'>-    echo "\$ac_cs_usage"; exit 0 ;;</div><div class='del'>-  *) echo "\$ac_cs_usage"; exit 1 ;;</div><div class='del'>-  esac</div><div class='del'>-done</div><div class='del'>-</div><div class='del'>-ac_given_srcdir=$srcdir</div><div class='del'>-</div><div class='del'>-trap 'rm -fr `echo "$FIRSTMAKEFILE Makefile ext/extmk.rb" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15</div><div class='del'>-EOF</div><div class='del'>-cat &gt;&gt; $CONFIG_STATUS &lt;&lt;EOF</div><div class='del'>-</div><div class='del'>-# Protect against being on the right side of a sed subst in config.status.</div><div class='del'>-sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&amp;%]/\\\\&amp;/g;</div><div class='del'>- s/@@/%@/; s/@@/@%/; s/@g\$/%g/' &gt; conftest.subs &lt;&lt;\\CEOF</div><div class='del'>-$ac_vpsub</div><div class='del'>-$extrasub</div><div class='del'>-s%@SHELL@%$SHELL%g</div><div class='del'>-s%@CFLAGS@%$CFLAGS%g</div><div class='del'>-s%@CPPFLAGS@%$CPPFLAGS%g</div><div class='del'>-s%@CXXFLAGS@%$CXXFLAGS%g</div><div class='del'>-s%@FFLAGS@%$FFLAGS%g</div><div class='del'>-s%@DEFS@%$DEFS%g</div><div class='del'>-s%@LDFLAGS@%$LDFLAGS%g</div><div class='del'>-s%@LIBS@%$LIBS%g</div><div class='del'>-s%@exec_prefix@%$exec_prefix%g</div><div class='del'>-s%@prefix@%$prefix%g</div><div class='del'>-s%@program_transform_name@%$program_transform_name%g</div><div class='del'>-s%@bindir@%$bindir%g</div><div class='del'>-s%@sbindir@%$sbindir%g</div><div class='del'>-s%@libexecdir@%$libexecdir%g</div><div class='del'>-s%@datadir@%$datadir%g</div><div class='del'>-s%@sysconfdir@%$sysconfdir%g</div><div class='del'>-s%@sharedstatedir@%$sharedstatedir%g</div><div class='del'>-s%@localstatedir@%$localstatedir%g</div><div class='del'>-s%@libdir@%$libdir%g</div><div class='del'>-s%@includedir@%$includedir%g</div><div class='del'>-s%@oldincludedir@%$oldincludedir%g</div><div class='del'>-s%@infodir@%$infodir%g</div><div class='del'>-s%@mandir@%$mandir%g</div><div class='del'>-s%@MAJOR@%$MAJOR%g</div><div class='del'>-s%@MINOR@%$MINOR%g</div><div class='del'>-s%@TEENY@%$TEENY%g</div><div class='del'>-s%@host@%$host%g</div><div class='del'>-s%@host_alias@%$host_alias%g</div><div class='del'>-s%@host_cpu@%$host_cpu%g</div><div class='del'>-s%@host_vendor@%$host_vendor%g</div><div class='del'>-s%@host_os@%$host_os%g</div><div class='del'>-s%@CC@%$CC%g</div><div class='del'>-s%@CPP@%$CPP%g</div><div class='del'>-s%@YACC@%$YACC%g</div><div class='del'>-s%@RANLIB@%$RANLIB%g</div><div class='del'>-s%@AR@%$AR%g</div><div class='del'>-s%@LN_S@%$LN_S%g</div><div class='del'>-s%@SET_MAKE@%$SET_MAKE%g</div><div class='del'>-s%@EXEEXT@%$EXEEXT%g</div><div class='del'>-s%@OBJEXT@%$OBJEXT%g</div><div class='del'>-s%@LIBOBJS@%$LIBOBJS%g</div><div class='del'>-s%@ALLOCA@%$ALLOCA%g</div><div class='del'>-s%@DEFAULT_KCODE@%$DEFAULT_KCODE%g</div><div class='del'>-s%@XLDFLAGS@%$XLDFLAGS%g</div><div class='del'>-s%@DLDFLAGS@%$DLDFLAGS%g</div><div class='del'>-s%@STATIC@%$STATIC%g</div><div class='del'>-s%@CCDLFLAGS@%$CCDLFLAGS%g</div><div class='del'>-s%@LDSHARED@%$LDSHARED%g</div><div class='del'>-s%@DLEXT@%$DLEXT%g</div><div class='del'>-s%@STRIP@%$STRIP%g</div><div class='del'>-s%@EXTSTATIC@%$EXTSTATIC%g</div><div class='del'>-s%@setup@%$setup%g</div><div class='del'>-s%@LIBRUBY_LDSHARED@%$LIBRUBY_LDSHARED%g</div><div class='del'>-s%@LIBRUBY_DLDFLAGS@%$LIBRUBY_DLDFLAGS%g</div><div class='del'>-s%@RUBY_INSTALL_NAME@%$RUBY_INSTALL_NAME%g</div><div class='del'>-s%@LIBRUBY_A@%$LIBRUBY_A%g</div><div class='del'>-s%@LIBRUBY_SO@%$LIBRUBY_SO%g</div><div class='del'>-s%@LIBRUBY_ALIASES@%$LIBRUBY_ALIASES%g</div><div class='del'>-s%@LIBRUBY@%$LIBRUBY%g</div><div class='del'>-s%@LIBRUBYARG@%$LIBRUBYARG%g</div><div class='del'>-s%@SOLIBS@%$SOLIBS%g</div><div class='del'>-s%@arch@%$arch%g</div><div class='del'>-s%@configure_args@%$configure_args%g</div><div class='del'>-</div><div class='del'>-CEOF</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-cat &gt;&gt; $CONFIG_STATUS &lt;&lt;\EOF</div><div class='del'>-</div><div class='del'>-# Split the substitutions into bite-sized pieces for seds with</div><div class='del'>-# small command number limits, like on Digital OSF/1 and HP-UX.</div><div class='del'>-ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.</div><div class='del'>-ac_file=1 # Number of current file.</div><div class='del'>-ac_beg=1 # First line for current file.</div><div class='del'>-ac_end=$ac_max_sed_cmds # Line after last line for current file.</div><div class='del'>-ac_more_lines=:</div><div class='del'>-ac_sed_cmds=""</div><div class='del'>-while $ac_more_lines; do</div><div class='del'>-  if test $ac_beg -gt 1; then</div><div class='del'>-    sed "1,${ac_beg}d; ${ac_end}q" conftest.subs &gt; conftest.s$ac_file</div><div class='del'>-  else</div><div class='del'>-    sed "${ac_end}q" conftest.subs &gt; conftest.s$ac_file</div><div class='del'>-  fi</div><div class='del'>-  if test ! -s conftest.s$ac_file; then</div><div class='del'>-    ac_more_lines=false</div><div class='del'>-    rm -f conftest.s$ac_file</div><div class='del'>-  else</div><div class='del'>-    if test -z "$ac_sed_cmds"; then</div><div class='del'>-      ac_sed_cmds="sed -f conftest.s$ac_file"</div><div class='del'>-    else</div><div class='del'>-      ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"</div><div class='del'>-    fi</div><div class='del'>-    ac_file=`expr $ac_file + 1`</div><div class='del'>-    ac_beg=$ac_end</div><div class='del'>-    ac_end=`expr $ac_end + $ac_max_sed_cmds`</div><div class='del'>-  fi</div><div class='del'>-done</div><div class='del'>-if test -z "$ac_sed_cmds"; then</div><div class='del'>-  ac_sed_cmds=cat</div><div class='del'>-fi</div><div class='del'>-EOF</div><div class='del'>-</div><div class='del'>-cat &gt;&gt; $CONFIG_STATUS &lt;&lt;EOF</div><div class='del'>-</div><div class='del'>-CONFIG_FILES=\${CONFIG_FILES-"$FIRSTMAKEFILE Makefile ext/extmk.rb"}</div><div class='del'>-EOF</div><div class='del'>-cat &gt;&gt; $CONFIG_STATUS &lt;&lt;\EOF</div><div class='del'>-for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then</div><div class='del'>-  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".</div><div class='del'>-  case "$ac_file" in</div><div class='del'>-  *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`</div><div class='del'>-       ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;</div><div class='del'>-  *) ac_file_in="${ac_file}.in" ;;</div><div class='del'>-  esac</div><div class='del'>-</div><div class='del'>-  # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.</div><div class='del'>-</div><div class='del'>-  # Remove last slash and all that follows it.  Not all systems have dirname.</div><div class='del'>-  ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`</div><div class='del'>-  if test "$ac_dir" != "$ac_file" &amp;&amp; test "$ac_dir" != .; then</div><div class='del'>-    # The file is in a subdirectory.</div><div class='del'>-    test ! -d "$ac_dir" &amp;&amp; mkdir "$ac_dir"</div><div class='del'>-    ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"</div><div class='del'>-    # A "../" for each directory in $ac_dir_suffix.</div><div class='del'>-    ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`</div><div class='del'>-  else</div><div class='del'>-    ac_dir_suffix= ac_dots=</div><div class='del'>-  fi</div><div class='del'>-</div><div class='del'>-  case "$ac_given_srcdir" in</div><div class='del'>-  .)  srcdir=.</div><div class='del'>-      if test -z "$ac_dots"; then top_srcdir=.</div><div class='del'>-      else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;</div><div class='del'>-  /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;</div><div class='del'>-  *) # Relative path.</div><div class='del'>-    srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"</div><div class='del'>-    top_srcdir="$ac_dots$ac_given_srcdir" ;;</div><div class='del'>-  esac</div><div class='del'>-</div><div class='del'>-</div><div class='del'>-  echo creating "$ac_file"</div><div class='del'>-  rm -f "$ac_file"</div><div class='del'>-  configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."</div><div class='del'>-  case "$ac_file" in</div><div class='del'>-  *Makefile*) ac_comsub="1i\\</div><div class='del'>-# $configure_input" ;;</div><div class='del'>-  *) ac_comsub= ;;</div><div class='del'>-  esac</div><div class='del'>-</div><div class='del'>-  ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`</div><div class='del'>-  sed -e "$ac_comsub</div><div class='del'>-s%@configure_input@%$configure_input%g</div><div class='del'>-s%@srcdir@%$srcdir%g</div><div class='del'>-s%@top_srcdir@%$top_srcdir%g</div><div class='del'>-" $ac_file_inputs | (eval "$ac_sed_cmds") &gt; $ac_file</div><div class='del'>-fi; done</div><div class='del'>-rm -f conftest.s*</div><div class='del'>-</div><div class='del'>-EOF</div><div class='del'>-cat &gt;&gt; $CONFIG_STATUS &lt;&lt;EOF</div><div class='del'>-</div><div class='del'>-EOF</div><div class='del'>-cat &gt;&gt; $CONFIG_STATUS &lt;&lt;\EOF</div><div class='del'>-</div><div class='del'>-exit 0</div><div class='del'>-EOF</div><div class='del'>-chmod +x $CONFIG_STATUS</div><div class='del'>-rm -fr confdefs* $ac_clean_files</div><div class='del'>-test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1</div><div class='del'>-</div><div class='head'>diff --git a/configure.ac b/configure.ac<br/>new file mode 100644<br/>index 0000000000..c143c23d3a<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/configure.ac?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>configure.ac</a></div><div class='hunk'>@@ -0,0 +1,4201 @@</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_CONFIG_AUX_DIR(tool)</div><div class='add'>+AC_CONFIG_MACRO_DIRS(tool/m4)</div><div class='add'>+</div><div class='add'>+AC_PREREQ(2.67)</div><div class='add'>+</div><div class='add'>+tooldir="$srcdir/tool"</div><div class='add'>+</div><div class='add'>+dnl   override AC_CHECKING</div><div class='add'>+dnl   placed here due to aclocal(1)'s</div><div class='add'>+dnl   ignoring this definition in separate files</div><div class='add'>+AC_DEFUN([AC_CHECKING],[dnl</div><div class='add'>+AC_REQUIRE([_COLORIZE_RESULT_PREPARE])dnl</div><div class='add'>+AS_MESSAGE([checking ${msg_checking}$1${msg_reset}...])])dnl</div><div class='add'>+</div><div class='add'>+AC_DISABLE_OPTION_CHECKING</div><div class='add'>+</div><div class='add'>+AC_ARG_VAR([cflags], [additional CFLAGS (ignored when CFLAGS is given)])</div><div class='add'>+AC_ARG_VAR([cppflags], [additional CPPFLAGS (ignored when CPPFLAGS is given)])</div><div class='add'>+AC_ARG_VAR([cxxflags], [additional CXXFLAGS (ignored when CXXFLAGS is given)])</div><div class='add'>+</div><div class='add'>+: "environment section" &amp;&amp; {</div><div class='add'>+HAVE_BASERUBY=yes</div><div class='add'>+BASERUBY_VERSION=</div><div class='add'>+AC_ARG_WITH(baseruby,</div><div class='add'>+	AS_HELP_STRING([--with-baseruby=RUBY], [use RUBY as baseruby; RUBY is the pathname of ruby]),</div><div class='add'>+	[AS_CASE(["$withval"],</div><div class='add'>+	    [*ruby*],[BASERUBY=$withval],</div><div class='add'>+	    [no],[HAVE_BASERUBY=no],</div><div class='add'>+	    [AC_MSG_ERROR(need ruby)])</div><div class='add'>+	],</div><div class='add'>+	[</div><div class='add'>+		AC_PATH_PROG([BASERUBY], [ruby], [false])</div><div class='add'>+	])</div><div class='add'>+AS_IF([test "$HAVE_BASERUBY" != no -a "`RUBYOPT=- $BASERUBY --disable=gems -e 'print 42 if RUBY_VERSION &gt; "2.2"' 2&gt;/dev/null`" = 42], [</div><div class='add'>+    BASERUBY="$BASERUBY --disable=gems"</div><div class='add'>+    BASERUBY_VERSION=`$BASERUBY -v`</div><div class='add'>+    $BASERUBY -C "$srcdir" tool/downloader.rb -d tool -e gnu config.guess config.sub &gt;&amp;AS_MESSAGE_FD</div><div class='add'>+], [</div><div class='add'>+    BASERUBY="echo executable host ruby is required.  use --with-baseruby option.; false"</div><div class='add'>+    HAVE_BASERUBY=no</div><div class='add'>+])</div><div class='add'>+AC_SUBST(BASERUBY)</div><div class='add'>+AC_SUBST(HAVE_BASERUBY)</div><div class='add'>+</div><div class='add'>+: ${GIT=git}</div><div class='add'>+HAVE_GIT=yes</div><div class='add'>+AC_ARG_WITH(git,</div><div class='add'>+	AS_HELP_STRING([--without-git], [never use git]),</div><div class='add'>+	[AS_CASE([$withval],</div><div class='add'>+	    [no],  [GIT=never-use HAVE_GIT=no],</div><div class='add'>+	    [yes], [],</div><div class='add'>+	    [GIT=$withval])])</div><div class='add'>+AS_IF([test x"$HAVE_GIT" = xyes], [command -v "$GIT" &gt; /dev/null || HAVE_GIT=no])</div><div class='add'>+AC_SUBST(GIT)</div><div class='add'>+AC_SUBST(HAVE_GIT)</div><div class='add'>+</div><div class='add'>+eval `sed -n -e ['s/^@%:@define RUBY_[A-Z_]*VERSION_\([A-Z][A-Z][A-Z_0-9]*\) \([0-9][0-9]*\)$/\1=\2/p'] \</div><div class='add'>+      -e ['s/^@%:@define \(RUBY_PATCHLEVEL\) \(.*\)/\1=\2/p'] \</div><div class='add'>+     $srcdir/include/ruby/version.h $srcdir/version.h`</div><div class='add'>+for v in MAJOR MINOR TEENY; do</div><div class='add'>+    AS_IF([eval "test \"\$$v\" = ''"], [</div><div class='add'>+	AC_MSG_ERROR(could not determine $v number from version.h)</div><div class='add'>+    ])</div><div class='add'>+done</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'>+AC_SUBST(RUBY_API_VERSION, '$(MAJOR).$(MINOR)')</div><div class='add'>+AC_SUBST(RUBY_PROGRAM_VERSION, '$(MAJOR).$(MINOR).$(TEENY)')</div><div class='add'>+</div><div class='add'>+AS_IF([test "$program_prefix" = NONE], [</div><div class='add'>+  program_prefix=</div><div class='add'>+])</div><div class='add'>+AS_IF([test "$prefix" -ef .], [</div><div class='add'>+  AC_MSG_ERROR(--prefix cannot be the current working directory.)</div><div class='add'>+])</div><div class='add'>+RUBY_BASE_NAME=`echo ruby | sed "$program_transform_name"`</div><div class='add'>+RUBYW_BASE_NAME=`echo rubyw | sed "$program_transform_name"`</div><div class='add'>+AC_SUBST(RUBY_BASE_NAME)</div><div class='add'>+AC_SUBST(RUBYW_BASE_NAME)</div><div class='add'>+AC_SUBST(RUBY_VERSION_NAME, '${RUBY_BASE_NAME}-${ruby_version}')</div><div class='add'>+</div><div class='add'>+dnl checks for alternative programs</div><div class='add'>+AC_CANONICAL_BUILD</div><div class='add'>+AC_CANONICAL_HOST</div><div class='add'>+AC_CANONICAL_TARGET</div><div class='add'>+AC_ARG_PROGRAM</div><div class='add'>+RUBY_RM_RECURSIVE</div><div class='add'>+AC_ARG_WITH(gcc,</div><div class='add'>+	AS_HELP_STRING([--without-gcc], [never use gcc]),</div><div class='add'>+	[</div><div class='add'>+	AS_CASE([$withval],</div><div class='add'>+	    [no],  [: ${CC=cc}],</div><div class='add'>+	    [yes], [: ${CC=gcc}],</div><div class='add'>+	           [CC=$withval])])</div><div class='add'>+dnl If the user switches compilers, we can't believe the cache</div><div class='add'>+AS_IF([test ! -z "$ac_cv_prog_CC" -a ! -z "$CC" -a "$CC" != "$ac_cv_prog_CC"], [</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'>+])</div><div class='add'>+AS_CASE(["${build_os}"], [linux*|cygwin*], [</div><div class='add'>+    AC_CHECK_TOOLS([CC], [gcc clang cc])</div><div class='add'>+], [</div><div class='add'>+    # OpenBSD wants to prefer cc over gcc.</div><div class='add'>+    # See https://github.com/ruby/ruby/pull/2443</div><div class='add'>+    AC_CHECK_TOOLS([CC], [cl.exe clang cc gcc c99 /usr/ucb/cc])</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+AC_ARG_VAR([AR],       [Archiver command])</div><div class='add'>+AC_ARG_VAR([AS],       [Assembler command])</div><div class='add'>+AC_ARG_VAR([CC],       [C compiler command])</div><div class='add'>+AC_ARG_VAR([CXX],      [C++ compiler command])</div><div class='add'>+AC_ARG_VAR([LD],       [Linker command])</div><div class='add'>+AC_ARG_VAR([NM],       [Symbol list command])</div><div class='add'>+AC_ARG_VAR([OBJCOPY],  [Objcopy command])</div><div class='add'>+AC_ARG_VAR([OBJDUMP],  [Objdump command])</div><div class='add'>+AC_ARG_VAR([RANLIB],   [Ranlib command])</div><div class='add'>+AC_ARG_VAR([STRIP],    [Strip command])</div><div class='add'>+</div><div class='add'>+# We don't want to bother things like `ccache gcc`, `clang -shared-libgcc`, ...</div><div class='add'>+set rb_dummy ${CC}</div><div class='add'>+rb_CC=$2</div><div class='add'>+AS_CASE(["/${rb_CC} "],</div><div class='add'>+[*@&lt;:@\ /@:&gt;@"cc "*], [</div><div class='add'>+    # Don't try g++/clang++ when CC=cc</div><div class='add'>+    AC_CHECK_TOOLS([CXX],    [cl.exe CC c++])</div><div class='add'>+],</div><div class='add'>+[*icc*],              [</div><div class='add'>+    # Intel C++ has interprocedural optimizations.  It tends to come with its</div><div class='add'>+    # own linker etc.</div><div class='add'>+    AC_CHECK_TOOL([AR],      [`echo "${rb_CC}" | sed s/icc/xiar/`])</div><div class='add'>+    AC_CHECK_TOOL([CXX],     [`echo "${rb_CC}" | sed s/icc/icpc/`])</div><div class='add'>+    AC_CHECK_TOOL([LD],      [`echo "${rb_CC}" | sed s/icc/xild/`])</div><div class='add'>+],</div><div class='add'>+[*gcc*],              [</div><div class='add'>+    # Dito for GCC.</div><div class='add'>+    AC_CHECK_TOOL([LD],      [`echo "${rb_CC}" | sed s/gcc/ld/`])</div><div class='add'>+    AC_CHECK_TOOL([AR],      [`echo "${rb_CC}" | sed s/gcc/gcc-ar/`])</div><div class='add'>+    AC_CHECK_TOOL([CXX],     [`echo "${rb_CC}" | sed s/gcc/g++/`])</div><div class='add'>+    AC_CHECK_TOOL([NM],      [`echo "${rb_CC}" | sed s/gcc/gcc-nm/`])</div><div class='add'>+    AC_CHECK_TOOL([RANLIB],  [`echo "${rb_CC}" | sed s/gcc/gcc-ranlib/`])</div><div class='add'>+],</div><div class='add'>+[*clang*],            [</div><div class='add'>+    # Dito for LLVM.  Note however that llvm-as is a LLVM-IR to LLVM bitcode</div><div class='add'>+    # assembler that does not target your machine native binary.</div><div class='add'>+    : ${LD:="${CC}"}         # ... try -fuse-ld=lld ?</div><div class='add'>+    AC_CHECK_TOOL([AR],      [`echo "${rb_CC}" | sed s/clang/llvm-ar/`])</div><div class='add'>+#   AC_CHECK_TOOL([AS],      [`echo "${rb_CC}" | sed s/clang/llvm-as/`])</div><div class='add'>+    AC_CHECK_TOOL([CXX],     [`echo "${rb_CC}" | sed s/clang/clang++/`])</div><div class='add'>+    AC_CHECK_TOOL([NM],      [`echo "${rb_CC}" | sed s/clang/llvm-nm/`])</div><div class='add'>+    AC_CHECK_TOOL([OBJCOPY], [`echo "${rb_CC}" | sed s/clang/llvm-objcopy/`])</div><div class='add'>+    AC_CHECK_TOOL([OBJDUMP], [`echo "${rb_CC}" | sed s/clang/llvm-objdump/`])</div><div class='add'>+    AC_CHECK_TOOL([RANLIB],  [`echo "${rb_CC}" | sed s/clang/llvm-ranlib/`])</div><div class='add'>+    AC_CHECK_TOOL([STRIP],   [`echo "${rb_CC}" | sed s/clang/llvm-strip/`])</div><div class='add'>+])</div><div class='add'>+AS_UNSET(rb_CC)</div><div class='add'>+AS_UNSET(rb_dummy)</div><div class='add'>+</div><div class='add'>+AS_CASE(["${build_os}"],</div><div class='add'>+[solaris*], [</div><div class='add'>+    AC_PATH_TOOL([LD], [ld], [/usr/ccs/bin/ld], [/usr/ccs/bin:$PATH])</div><div class='add'>+],</div><div class='add'>+[aix*], [</div><div class='add'>+    AC_PATH_TOOL([NM], [nm], [/usr/ccs/bin/nm], [/usr/ccs/bin:$PATH])</div><div class='add'>+])</div><div class='add'>+AS_CASE(["${target_os}"],</div><div class='add'>+[cygwin*|mingw*], [</div><div class='add'>+    ac_cv_prog_ac_ct_OBJCOPY=":"</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+rb_test_CFLAGS=${CFLAGS+yes}</div><div class='add'>+rb_test_CXXFLAGS=${CXXFLAGS+yes}</div><div class='add'>+</div><div class='add'>+# BSD's ports and MacPorts prefix GNU binutils with 'g'</div><div class='add'>+AC_PROG_CC_C99</div><div class='add'>+AC_PROG_CXX</div><div class='add'>+AC_PROG_CPP</div><div class='add'>+AC_PROG_RANLIB</div><div class='add'>+AC_CHECK_TOOLS([AR],      [gar ar])</div><div class='add'>+AC_CHECK_TOOLS([AS],      [gas as])</div><div class='add'>+AC_CHECK_TOOLS([LD],      [gld ld]) # ... try gold ?</div><div class='add'>+AC_CHECK_TOOLS([NM],      [gnm nm])</div><div class='add'>+AC_CHECK_TOOLS([OBJCOPY], [gobjcopy objcopy])</div><div class='add'>+AC_CHECK_TOOLS([OBJDUMP], [gobjdump objdump])</div><div class='add'>+AC_CHECK_TOOLS([STRIP],   [gstrip strip], [:])</div><div class='add'>+</div><div class='add'>+AS_IF([test ! $rb_test_CFLAGS], [AS_UNSET(CFLAGS)]); AS_UNSET(rb_test_CFLAGS)</div><div class='add'>+AS_IF([test ! $rb_test_CXXFLAGS], [AS_UNSET(CXXFLAGS)]); AS_UNSET(rb_save_CXXFLAGS)</div><div class='add'>+</div><div class='add'>+AS_IF([test "${CXX}" = "g++" -a -z "${GXX}"], [</div><div class='add'>+    # AC_PROG_CXX sets $CXX to "g++" when it purposefully finds that there is</div><div class='add'>+    # _no_ g++.  This brain-damaged design must be worked around.  Thankfully,</div><div class='add'>+    # similar thing doesn't happen for AC_PROG_CC.</div><div class='add'>+    rb_there_is_in_fact_no_gplusplus_but_autoconf_is_cheating_us=true</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+test x"$target_alias" = x &amp;&amp;</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'>+AC_ARG_WITH(os-version-style,</div><div class='add'>+	AS_HELP_STRING([--with-os-version-style=TYPE],</div><div class='add'>+		       [OS version number for target and target_os [[full]]]</div><div class='add'>+		       [(full|teeny|minor+0|minor|major+0|major|none)]),</div><div class='add'>+	[os_version_style=$withval],</div><div class='add'>+	[os_version_style=full</div><div class='add'>+	    AS_CASE($target_os, [[*[0-9].*]],</div><div class='add'>+		[AS_CASE([`/usr/bin/ruby -e 'puts RUBY_PLATFORM' 2&gt;/dev/null`],</div><div class='add'>+		    [[*-*[0-9].*.0]], [os_version_style=minor+0],</div><div class='add'>+		    [[*-*[0-9].*.*]], [os_version_style=full],</div><div class='add'>+		    [[*-*[0-9].0]  ], [os_version_style=major+0],</div><div class='add'>+		    [[*-*[0-9].*]  ], [os_version_style=minor],</div><div class='add'>+		    [[*-*[0-9]]    ], [os_version_style=major],</div><div class='add'>+		)])</div><div class='add'>+	])</div><div class='add'>+os_version_style_transform=</div><div class='add'>+AS_CASE("${os_version_style}",</div><div class='add'>+	[full|teeny], [],</div><div class='add'>+	[minor+0], [os_version_style_transform=['s/\([0-9]\.[0-9][0-9]*\)\.[0-9][.0-9]*$/\1.0/']],</div><div class='add'>+	[minor],   [os_version_style_transform=['s/\([0-9]\.[0-9][0-9]*\)\.[0-9][.0-9]*$/\1/']],</div><div class='add'>+	[major+0], [os_version_style_transform=['s/\([0-9]\)\.[0-9][.0-9]*$/\1.0/']],</div><div class='add'>+	[major],   [os_version_style_transform=['s/\([0-9]\)\.[0-9][.0-9]*$/\1/']],</div><div class='add'>+	[none],    [os_version_style_transform=['s/[0-9]*\.[0-9][.0-9]*$//']],</div><div class='add'>+	[AC_MSG_ERROR(unknown --with-os-version-style: $withval)])</div><div class='add'>+AS_IF([test -z "$target_alias" -a -n "$os_version_style_transform"],</div><div class='add'>+	[</div><div class='add'>+	target=`echo ${target} | sed "$os_version_style_transform"`</div><div class='add'>+	target_os=`echo ${target_os} | sed "$os_version_style_transform"`</div><div class='add'>+	])</div><div class='add'>+</div><div class='add'>+AC_ARG_WITH(arch,</div><div class='add'>+	AS_HELP_STRING([--with-arch=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 this option is disabled or omitted</div><div class='add'>+			  entirely, then the package will be built only for the</div><div class='add'>+			  target platform]),</div><div class='add'>+       [target_archs="$withval"], [unset target_archs])</div><div class='add'>+</div><div class='add'>+AC_ARG_ENABLE(load-relative,</div><div class='add'>+       AS_HELP_STRING([--enable-load-relative], [resolve load paths at run time]),</div><div class='add'>+       [load_relative=$enableval])</div><div class='add'>+</div><div class='add'>+dnl Checks for programs.</div><div class='add'>+</div><div class='add'>+cflagspat=</div><div class='add'>+test -z "$optflags" ||</div><div class='add'>+    cflagspat="$cflagspat;s|"`eval echo '"'"${optflags}"'"' | sed 's/[[][|.*]]/\\&amp;/g;s/^ */ /;s/ *$/ /'`'| |g'</div><div class='add'>+test -z "$debugflags" ||</div><div class='add'>+    cflagspat="$cflagspat;s|"`eval echo '"'"${debugflags}"'"' | sed 's/[[][|.*]]/\\&amp;/g;s/^ */ /;s/ *$/ /'`'| |g'</div><div class='add'>+test -z "$warnflags" ||</div><div class='add'>+    cflagspat="$cflagspat;s|"`eval echo '"'"${warnflags}"'"' | sed 's/[[][|.*]]/\\&amp;/g;s/^ */ /;s/ *$/ /'`'| |g'</div><div class='add'>+AS_IF([test -z "${CFLAGS+set}"], [</div><div class='add'>+    cflags=`echo " $cflags " | sed "$cflagspat;s/^ *//;s/ *$//"`</div><div class='add'>+    orig_cflags="$cflags"</div><div class='add'>+    cflags="$cflags "'${optflags} ${debugflags} ${warnflags}'</div><div class='add'>+])</div><div class='add'>+dnl AS_IF([test -z "${CXXFLAGS+set}"], [</div><div class='add'>+dnl     cxxflags=`echo " $cxxflags " | sed "$cflagspat;s/^ *//;s/ *$//"`</div><div class='add'>+dnl     orig_cxxflags="$cxxflags"</div><div class='add'>+dnl     cxxflags="$cxxflags "'${optflags} ${debugflags} ${warnflags}'</div><div class='add'>+dnl ])</div><div class='add'>+</div><div class='add'>+AS_CASE(["$host_os:$build_os"],</div><div class='add'>+[darwin*:darwin*], [</div><div class='add'>+    # Following Apple deployed clang are broken</div><div class='add'>+    # clang version 1.0 (http://llvm.org/svn/llvm-project/cfe/tags/Apple/clang-23 exported)</div><div class='add'>+    # Apple clang version 2.0 (tags/Apple/clang-137) (based on LLVM 2.9svn)</div><div class='add'>+    # Apple clang version 2.1 (tags/Apple/clang-163.7.1) (based on LLVM 3.0svn)</div><div class='add'>+    AC_PREPROC_IFELSE(</div><div class='add'>+	[AC_LANG_PROGRAM([</div><div class='add'>+	    @%:@if defined __APPLE_CC__ &amp;&amp; defined __clang_major__ &amp;&amp; __clang_major__ &lt; 3</div><div class='add'>+	    @%:@error premature clang</div><div class='add'>+	    @%:@endif</div><div class='add'>+	])],</div><div class='add'>+	[],</div><div class='add'>+	[AC_MSG_ERROR([clang version 3.0 or later is required])])</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+AS_CASE(["$target_os"],</div><div class='add'>+[darwin*], [</div><div class='add'>+    AC_MSG_CHECKING(if minimum required OS X version is supported)</div><div class='add'>+    AC_TRY_CPP([@%:@include &lt;AvailabilityMacros.h&gt;</div><div class='add'>+	@%:@if MAC_OS_X_VERSION_MIN_REQUIRED &lt; __MAC_10_5</div><div class='add'>+	@%:@error pre OS X 10.5</div><div class='add'>+	[!&lt;===== pre OS X 10.5 =====&gt;]</div><div class='add'>+	@%:@endif</div><div class='add'>+	],</div><div class='add'>+	[macosx_min_required=yes],</div><div class='add'>+	[AC_MSG_RESULT(no)</div><div class='add'>+	AC_MSG_ERROR([Unsupported OS X version is required])])</div><div class='add'>+    AC_MSG_RESULT(${macosx_min_required})</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+RUBY_MINGW32</div><div class='add'>+AC_SUBST(GCC)</div><div class='add'>+AC_SUBST(LD)</div><div class='add'>+AS_IF([test "$GCC" = yes], [</div><div class='add'>+    linker_flag=-Wl,</div><div class='add'>+    : ${optflags=-O3}</div><div class='add'>+    gcc_major=`echo =__GNUC__ | $CC -E -xc - | sed '/^=/!d;s///'`</div><div class='add'>+    gcc_minor=`echo =__GNUC_MINOR__ | $CC -E -xc - | sed '/^=/!d;s///'`</div><div class='add'>+    test -n "$gcc_major" || gcc_major=0</div><div class='add'>+    test -n "$gcc_minor" || gcc_minor=0</div><div class='add'>+    icc_version=`echo =__ICC | $CC -E -xc - | sed '/^=/!d;s///;/^__ICC/d'`</div><div class='add'>+    test -n "$icc_version" || icc_version=0</div><div class='add'>+    # RUBY_APPEND_OPTIONS(XCFLAGS, ["-include ruby/config.h" "-include ruby/missing.h"])</div><div class='add'>+], [</div><div class='add'>+    linker_flag=</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+AS_IF([test "$GCC" = yes -a "$gcc_major" -lt 3 ], [</div><div class='add'>+    AC_MSG_ERROR([too old GCC])</div><div class='add'>+])</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'>+: ${COUTFLAG=${OUTFLAG}}</div><div class='add'>+: ${CSRCFLAG=''}</div><div class='add'>+AC_SUBST(OUTFLAG)</div><div class='add'>+AC_SUBST(COUTFLAG)</div><div class='add'>+AC_SUBST(CSRCFLAG)</div><div class='add'>+</div><div class='add'>+: ${MJIT_CC=$CC}</div><div class='add'>+AS_IF([test "x$cross_compiling" = xno], [</div><div class='add'>+    AC_PATH_PROG([MJIT_CC], ${MJIT_CC})</div><div class='add'>+</div><div class='add'>+    # if $CC is in /usr/lib/ccache/$CC, search original $CC (disable ccache)</div><div class='add'>+    AS_IF([echo $RUBY_DEBUG | grep ci &gt; /dev/null &amp;&amp;</div><div class='add'>+           echo $MJIT_CC | grep ^/usr/lib/ccache &gt; /dev/null], [</div><div class='add'>+           PATH=`echo $PATH | sed "s/\/usr\/lib\/ccache://"` MJIT_CC=`which $CC`])</div><div class='add'>+</div><div class='add'>+    AS_CASE([$target_os],</div><div class='add'>+	[*mingw*], [command -v cygpath &gt; /dev/null &amp;&amp; MJIT_CC=`cygpath -ma $MJIT_CC`])</div><div class='add'>+    shift 2</div><div class='add'>+    MJIT_CC="$MJIT_CC${1+ }$*"</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+AS_CASE(["$build_os"],</div><div class='add'>+  [darwin1*.*], [</div><div class='add'>+    # Xcode linker warns for deprecated architecture and wrongly</div><div class='add'>+    # installed TBD files.</div><div class='add'>+    CC_WRAPPER=""</div><div class='add'>+    echo 'int main(void) {return 0;}' &gt; conftest.c</div><div class='add'>+    AS_IF([$CC -framework Foundation -o conftest conftest.c 2&gt;&amp;1 |</div><div class='add'>+	   grep '^ld: warning: text-based stub file' &gt;/dev/null], [</div><div class='add'>+	CC_WRAPPER=`cd -P "${tooldir}" &amp;&amp; pwd`/darwin-cc</div><div class='add'>+	CC="$CC_WRAPPER $CC"</div><div class='add'>+    ])</div><div class='add'>+    rm -fr conftest*</div><div class='add'>+  ])</div><div class='add'>+</div><div class='add'>+cc_version=</div><div class='add'>+for option in --version -v -V -qversion; do</div><div class='add'>+    cc_version_message=`$CC $option 2&gt;&amp;1`</div><div class='add'>+    cc_version_status=$?</div><div class='add'>+    AS_CASE($cc_version_status, [0], [:], [continue])</div><div class='add'>+    AS_CASE($cc_version_message, [*Warning*], [continue])</div><div class='add'>+    cc_version='$(CC) '$option</div><div class='add'>+    break</div><div class='add'>+done</div><div class='add'>+AC_SUBST(CC_VERSION, $cc_version)</div><div class='add'>+AC_SUBST(CC_VERSION_MESSAGE, $cc_version_message)</div><div class='add'>+</div><div class='add'>+: ${DLDFLAGS="$LDFLAGS"}</div><div class='add'>+</div><div class='add'>+RUBY_UNIVERSAL_ARCH</div><div class='add'>+AS_IF([test "$target_cpu" != "$host_cpu" -a "$GCC" = yes -a "$cross_compiling" = no -a "${universal_binary:-no}" = no], [</div><div class='add'>+    RUBY_DEFAULT_ARCH("$target_cpu")</div><div class='add'>+])</div><div class='add'>+host_os=$target_os</div><div class='add'>+host_vendor=$target_vendor</div><div class='add'>+host_cpu=$target_cpu</div><div class='add'>+host=$target</div><div class='add'>+host_alias=$target_alias</div><div class='add'>+</div><div class='add'>+AC_CACHE_CHECK([for $AR flags], [rb_cv_arflags], [</div><div class='add'>+    AS_IF([$AR rcD conftest.a &gt; /dev/null 2&gt;&amp;1 &amp;&amp; rm conftest.a],</div><div class='add'>+	[rb_cv_arflags=rcD], [rb_cv_arflags=rcu])</div><div class='add'>+])</div><div class='add'>+AC_SUBST(ARFLAGS, ["$rb_cv_arflags "])</div><div class='add'>+AC_SUBST(ASFLAGS)</div><div class='add'>+</div><div class='add'>+AS_CASE(["$target_os"],</div><div class='add'>+[cygwin*|mingw*], [</div><div class='add'>+    AC_CHECK_TOOL(WINDRES, windres)</div><div class='add'>+    AC_CHECK_TOOL(DLLWRAP, dllwrap)</div><div class='add'>+    target=`echo $target | sed "s/^$target_cpu-/-/"`</div><div class='add'>+    target_alias=`echo $target_alias | sed "s/^$target_cpu-/-/"`</div><div class='add'>+    target_cpu=`echo $target_cpu | sed s/i.86/i386/`</div><div class='add'>+    AS_CASE(["$target"], [-*], [ target="$target_cpu${target}"])</div><div class='add'>+    AS_CASE(["$target_alias"], [-*], [ target_alias="$target_cpu${target_alias}"])</div><div class='add'>+    AS_CASE(["$target_os"],</div><div class='add'>+    [mingw*], [</div><div class='add'>+	test "$rb_cv_msvcrt" = "" &amp;&amp; unset rb_cv_msvcrt</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'>+	RT_VER=`echo "$rb_cv_msvcrt" | tr -cd [0-9]`</div><div class='add'>+	test "$RT_VER" = "" &amp;&amp; RT_VER=60</div><div class='add'>+	AC_DEFINE_UNQUOTED(RUBY_MSVCRT_VERSION, $RT_VER)</div><div class='add'>+	sysconfdir=</div><div class='add'>+    ])</div><div class='add'>+    : ${enable_shared=yes}</div><div class='add'>+    ],</div><div class='add'>+[hiuxmpp*], [AC_DEFINE(__HIUX_MPP__)])    # by TOYODA Eizi &lt;toyoda@npd.kishou.go.jp&gt;</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'>+AC_PROG_MKDIR_P</div><div class='add'>+AS_IF([test "x$MKDIR_P" = "x -d"], [</div><div class='add'>+  AS_IF([test x"$as_mkdir_p" != xfalse], [</div><div class='add'>+    MKDIR_P='mkdir -p'</div><div class='add'>+    echo "use 'mkdir -p' as MKDIR_P"</div><div class='add'>+  ], [</div><div class='add'>+    AC_MSG_ERROR([mkdir -p is required])</div><div class='add'>+  ])</div><div class='add'>+])</div><div class='add'>+MAKEDIRS="$MKDIR_P"</div><div class='add'>+AC_SUBST(MAKEDIRS)</div><div class='add'>+</div><div class='add'>+AC_CHECK_PROG([DTRACE], [${ac_tool_prefix}dtrace], [${ac_tool_prefix}dtrace])</div><div class='add'>+AS_IF([test "$cross_compiling:$ac_cv_prog_DTRACE" = no: -a -n "$ac_tool_prefix"], [</div><div class='add'>+    AC_CHECK_PROG([DTRACE], [dtrace], [dtrace])</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+AC_CHECK_PROGS(DOT, dot)</div><div class='add'>+AC_CHECK_PROGS(DOXYGEN, doxygen)</div><div class='add'>+</div><div class='add'>+for prog in ${ac_tool_prefix:+${ac_tool_prefix}pkg-config} pkg-config; do</div><div class='add'>+    AC_CHECK_PROG(PKG_CONFIG, $prog, [$prog], [], [],</div><div class='add'>+        [`"$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='add'>+    test -z "${PKG_CONFIG}" || break</div><div class='add'>+done</div><div class='add'>+</div><div class='add'>+# checks for UNIX variants that set C preprocessor variables</div><div class='add'>+AC_USE_SYSTEM_EXTENSIONS</div><div class='add'>+</div><div class='add'>+AC_MSG_CHECKING([whether it is Android])</div><div class='add'>+AC_TRY_COMPILE([</div><div class='add'>+	@%:@ifdef __ANDROID__</div><div class='add'>+	@%:@error android</div><div class='add'>+	@%:@endif</div><div class='add'>+], [],</div><div class='add'>+[AC_MSG_RESULT(no)],</div><div class='add'>+[</div><div class='add'>+	AC_MSG_RESULT(yes)</div><div class='add'>+	target_os=${target_os}-android</div><div class='add'>+	AC_MSG_CHECKING([for Android API version])</div><div class='add'>+        # hacky workaround: https://github.com/termux/termux-packages/issues/6176</div><div class='add'>+        rb_android_api=`getprop ro.build.version.sdk`</div><div class='add'>+        AC_MSG_RESULT($rb_android_api)</div><div class='add'>+        RUBY_APPEND_OPTIONS(CPPFLAGS, -D__ANDROID_API__=$rb_android_api -Wno-macro-redefined)</div><div class='add'>+])</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'>+RMDIRS='$(top_srcdir)/tool/rmdirs'</div><div class='add'>+RMDIR=rmdir</div><div class='add'>+mkdir "rmdirs_$$_test" "rmdirs_$$_test/a"</div><div class='add'>+rmdir --ignore-fail-on-non-empty "rmdirs_$$_test" 2&gt;/dev/null &amp;&amp;</div><div class='add'>+RMDIR='rmdir --ignore-fail-on-non-empty'</div><div class='add'>+$RMDIR -p "rmdirs_$$_test/a" 2&gt;/dev/null &amp;&amp;</div><div class='add'>+{ test -d "rmdirs_$$_test" || RMDIRS="$RMDIR -p"; }</div><div class='add'>+rmdir "rmdirs_$$_test/a" "rmdirs_$$_test" 2&gt;/dev/null</div><div class='add'>+AC_SUBST(RMDIR)</div><div class='add'>+AC_SUBST(RMDIRS)</div><div class='add'>+AC_SUBST(RMALL, ['rm -fr'])</div><div class='add'>+</div><div class='add'>+AC_MSG_CHECKING([for cd using physical directory])</div><div class='add'>+rm -fr conf$$.dir</div><div class='add'>+mkdir conf$$.dir &amp;&amp;</div><div class='add'>+(cd conf$$.dir &amp;&amp; mkdir src build &amp;&amp; cd src &amp;&amp;</div><div class='add'>+$as_ln_s ../build . &gt; /dev/null 2&gt;&amp;1 &amp;&amp; cd build &amp;&amp;</div><div class='add'>+for chdir in 'cd -P' 'PWD= cd'; do</div><div class='add'>+    /bin/sh -c "$chdir ../src &amp;&amp; echo '$chdir' &gt; cdcmd" 2&gt; /dev/null &amp;&amp; break</div><div class='add'>+done)</div><div class='add'>+AS_IF([test -f conf$$.dir/src/cdcmd], [</div><div class='add'>+    read CHDIR &lt; conf$$.dir/src/cdcmd 2&gt; /dev/null</div><div class='add'>+], [</div><div class='add'>+    CHDIR=cd</div><div class='add'>+])</div><div class='add'>+rm -fr conf$$.dir</div><div class='add'>+AC_MSG_RESULT([$CHDIR])</div><div class='add'>+AC_SUBST(CHDIR)</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+: "compiler section" &amp;&amp; {</div><div class='add'>+RUBY_WERROR_FLAG([</div><div class='add'>+    AC_MSG_CHECKING([whether CFLAGS is valid])</div><div class='add'>+    AC_TRY_COMPILE([], [],</div><div class='add'>+	[AC_MSG_RESULT(yes)],</div><div class='add'>+	[</div><div class='add'>+	AC_MSG_RESULT(no)</div><div class='add'>+	AC_MSG_ERROR([something wrong with CFLAGS="$CFLAGS"])</div><div class='add'>+	]</div><div class='add'>+    )</div><div class='add'>+</div><div class='add'>+    AC_MSG_CHECKING([whether LDFLAGS is valid])</div><div class='add'>+    {</div><div class='add'>+	mkdir tmp.$$.try_link &amp;&amp;</div><div class='add'>+	cd tmp.$$.try_link &amp;&amp;</div><div class='add'>+	cp ../confdefs.h . &amp;&amp;</div><div class='add'>+	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='add'>+	:</div><div class='add'>+    } || AC_MSG_ERROR([failed to make temporary directory])</div><div class='add'>+    AC_TRY_LINK([], [],</div><div class='add'>+	[AC_MSG_RESULT(yes)],</div><div class='add'>+	[</div><div class='add'>+	cd .. &amp;&amp; rm -fr tmp.$$.try_link</div><div class='add'>+	AC_MSG_RESULT(no)</div><div class='add'>+	AC_MSG_ERROR([something wrong with LDFLAGS="$LDFLAGS"])</div><div class='add'>+	]</div><div class='add'>+    )</div><div class='add'>+    cd .. &amp;&amp; rm -fr tmp.$$.try_link</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+: ${RPATHFLAG=''}</div><div class='add'>+rpathflag=''</div><div class='add'>+AS_IF([test x"${RPATHFLAG}" = x], [</div><div class='add'>+    AS_CASE(["$target_os"],</div><div class='add'>+	[hpux*], [AS_IF([test "$rb_cv_prog_gnu_ld" = no], [rpathflag='+b '])],</div><div class='add'>+	[aix*], [rpathflag='-blibpath:'],</div><div class='add'>+	[for rpathflag in -R "-rpath "; do</div><div class='add'>+	    AS_CASE("$rpathflag",</div><div class='add'>+		    [*" "], [AS_CASE(["${linker_flag}"],</div><div class='add'>+				     [*,], [rpathflag=`echo "$rpathflag" | tr ' ' ,`])])</div><div class='add'>+	    rpathflag="${linker_flag}${rpathflag}"</div><div class='add'>+	    RUBY_TRY_LDFLAGS([${rpathflag}.], [], [rpathflag=])</div><div class='add'>+	    AS_IF([test "x${rpathflag}" != x], [])</div><div class='add'>+        done])</div><div class='add'>+], [</div><div class='add'>+    rpathflag=`echo "$RPATHFLAG" | sed 's/%.*//'`</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+RUBY_TRY_CFLAGS(-fdeclspec, [</div><div class='add'>+  RUBY_APPEND_OPTIONS(CC, -fdeclspec)</div><div class='add'>+  RUBY_APPEND_OPTIONS(MJIT_CC, -fdeclspec)</div><div class='add'>+])</div><div class='add'>+RUBY_TRY_CXXFLAGS(-fdeclspec, [RUBY_APPEND_OPTIONS(CXX, -fdeclspec)])</div><div class='add'>+</div><div class='add'>+AS_CASE([$RUBY_PATCHLEVEL], [-*],</div><div class='add'>+	[RUBY_DEVEL=yes], [RUBY_DEVEL=no])</div><div class='add'>+particular_werror_flags=$RUBY_DEVEL</div><div class='add'>+AC_ARG_ENABLE(werror,</div><div class='add'>+	AS_HELP_STRING([--disable-werror],</div><div class='add'>+		       [don't make warnings into errors</div><div class='add'>+		       even if a compiler support -Werror feature</div><div class='add'>+		       [[disabled by default unless development version]]]),</div><div class='add'>+	[particular_werror_flags=$enableval])</div><div class='add'>+</div><div class='add'>+rb_cv_warnflags="$warnflags"</div><div class='add'>+AS_CASE(["$GCC:${warnflags+set}:${extra_warnflags:+set}:"],</div><div class='add'>+[yes::*|yes:*:set:], [# GCC &amp;&amp; (!warnflags || extra_warnflags)</div><div class='add'>+    AS_IF([test $gcc_major -ge 4], [</div><div class='add'>+	extra_warnflags="$extra_warnflags -Werror=extra-tokens"</div><div class='add'>+    ])</div><div class='add'>+    AS_IF([test $gcc_major -ge 5 -a $gcc_major -le 6], [</div><div class='add'>+	extra_warnflags="$extra_warnflags -Wno-maybe-uninitialized"</div><div class='add'>+    ])</div><div class='add'>+    # ICC doesn't support -Werror=</div><div class='add'>+    AS_IF([test $icc_version -gt 0], [</div><div class='add'>+	particular_werror_flags=no</div><div class='add'>+    ])</div><div class='add'>+    for wflag in \</div><div class='add'>+		 -Werror=deprecated-declarations \</div><div class='add'>+		 -Werror=division-by-zero \</div><div class='add'>+		 -Werror=duplicated-cond \</div><div class='add'>+		 -Werror=implicit-function-declaration \</div><div class='add'>+		 -Werror=implicit-int \</div><div class='add'>+		 -Werror=misleading-indentation \</div><div class='add'>+		 -Werror=pointer-arith \</div><div class='add'>+		 -Werror=shorten-64-to-32 \</div><div class='add'>+		 -Werror=write-strings \</div><div class='add'>+		 -Wimplicit-fallthrough=0 \</div><div class='add'>+		 -Wmissing-noreturn \</div><div class='add'>+		 -Wno-cast-function-type \</div><div class='add'>+		 -Wno-constant-logical-operand \</div><div class='add'>+		 -Wno-long-long \</div><div class='add'>+		 -Wno-missing-field-initializers \</div><div class='add'>+		 -Wno-overlength-strings \</div><div class='add'>+		 -Wno-packed-bitfield-compat \</div><div class='add'>+		 -Wno-parentheses-equality \</div><div class='add'>+		 -Wno-self-assign \</div><div class='add'>+		 -Wno-tautological-compare \</div><div class='add'>+		 -Wno-unused-parameter \</div><div class='add'>+		 -Wno-unused-value \</div><div class='add'>+		 -Wsuggest-attribute=format \</div><div class='add'>+		 -Wsuggest-attribute=noreturn \</div><div class='add'>+		 -Wunused-variable \</div><div class='add'>+		 -diag-disable=175,188,1684,2259,2312 \</div><div class='add'>+		 $extra_warnflags \</div><div class='add'>+		 ; do</div><div class='add'>+	AS_IF([test "$particular_werror_flags" != yes], [</div><div class='add'>+	    wflag=`echo x$wflag | sed 's/^x-Werror=/-W/;s/^x//'`</div><div class='add'>+	])</div><div class='add'>+	ok=no</div><div class='add'>+	RUBY_TRY_CFLAGS($wflag, [</div><div class='add'>+	    RUBY_APPEND_OPTIONS(warnflags, $wflag)</div><div class='add'>+	    ok=yes</div><div class='add'>+	])</div><div class='add'>+	AS_CASE([$ok:$wflag], [no:-Werror=*], [</div><div class='add'>+	    wflag=`echo x$wflag | sed 's/^x-Werror=/-W/'`</div><div class='add'>+	    RUBY_TRY_CFLAGS($wflag, [</div><div class='add'>+		RUBY_APPEND_OPTIONS(warnflags, $wflag)</div><div class='add'>+		particular_werror_flags=no</div><div class='add'>+	    ])</div><div class='add'>+	])</div><div class='add'>+    done</div><div class='add'>+    AS_CASE([" $warnflags "],[*" -Wno-missing-field-initializers "*], [wflag="-Wall -Wextra"],</div><div class='add'>+                             [wflag=-Wall])</div><div class='add'>+    RUBY_TRY_CFLAGS($wflag, [warnflags="$wflag${warnflags+ $warnflags}"])</div><div class='add'>+    # Disable warnflags while conftest. -Werror=* flags might make bad OS capability guess.</div><div class='add'>+    rb_cv_warnflags="$warnflags"</div><div class='add'>+    warnflags=</div><div class='add'>+])</div><div class='add'>+RUBY_TRY_CFLAGS(-Qunused-arguments, [RUBY_APPEND_OPTIONS(rb_cv_wsuppress_flags, -Qunused-arguments)])</div><div class='add'>+AC_COMPILE_IFELSE([</div><div class='add'>+    AC_LANG_PROGRAM([</div><div class='add'>+@%:@if !(defined(__SUNPRO_C)||defined(__SUNPRO_CC))</div><div class='add'>+@%:@error not sunpro</div><div class='add'>+@%:@endif],[])], [</div><div class='add'>+    for e in \</div><div class='add'>+        E_STATEMENT_NOT_REACHED \</div><div class='add'>+        E_INIT_SIGN_EXTEND \</div><div class='add'>+        E_INIT_DOES_NOT_FIT \</div><div class='add'>+        E_INITIALIZATION_TYPE_MISMATCH</div><div class='add'>+    do</div><div class='add'>+        RUBY_TRY_CFLAGS([-erroff=${e}], [</div><div class='add'>+            RUBY_APPEND_OPTIONS(rb_cv_warnflags, [-erroff=${e}])</div><div class='add'>+        ])</div><div class='add'>+    done</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+AC_ARG_WITH(compress-debug-sections,</div><div class='add'>+	AS_HELP_STRING([--with-compress-debug-sections=type],</div><div class='add'>+	    [enable debug section compression]),</div><div class='add'>+	[compress_debug_sections=$withval], [compress_debug_sections=])</div><div class='add'>+</div><div class='add'>+AS_IF([test "$GCC" = yes], [</div><div class='add'>+    # -D_FORTIFY_SOURCE</div><div class='add'>+    # When defined _FORTIFY_SOURCE, glibc enables some additional sanity</div><div class='add'>+    # argument check. The performance drop is very little and Ubuntu enables</div><div class='add'>+    # _FORTIFY_SOURCE=2 by default. So, let's support it for protecting us from</div><div class='add'>+    # a mistake of silly C extensions.</div><div class='add'>+</div><div class='add'>+    # TODO: check if link succeeds with _FORTIFY_SOURCE=2.</div><div class='add'>+    AS_CASE(["$target_os"],</div><div class='add'>+    [mingw*], [</div><div class='add'>+	fortify_source=no</div><div class='add'>+    ])</div><div class='add'>+    AC_ARG_ENABLE(fortify_source,</div><div class='add'>+		  AS_HELP_STRING([--disable-fortify-source],</div><div class='add'>+				 [disable -D_FORTIFY_SOURCE=2 option, which causes link error on mingw]),</div><div class='add'>+		  [fortify_source=$enableval])</div><div class='add'>+    AS_IF([test "x$fortify_source" != xno], [</div><div class='add'>+        RUBY_TRY_CFLAGS([$optflags -D_FORTIFY_SOURCE=2], [RUBY_APPEND_OPTION(XCFLAGS, -D_FORTIFY_SOURCE=2)], [],</div><div class='add'>+                        [@%:@include &lt;stdio.h&gt;])</div><div class='add'>+    ])</div><div class='add'>+</div><div class='add'>+    : ${MJIT_HEADER_FLAGS='-P -dD'}</div><div class='add'>+</div><div class='add'>+    # -fstack-protector</div><div class='add'>+    AS_CASE(["$target_os"],</div><div class='add'>+    [mingw*|haiku*], [</div><div class='add'>+	stack_protector=no</div><div class='add'>+    ])</div><div class='add'>+    AS_IF([test -z "${stack_protector+set}"], [</div><div class='add'>+	AS_FOR(option, opt, [-fstack-protector-strong -fstack-protector], [</div><div class='add'>+	    RUBY_TRY_CFLAGS(option, [stack_protector=yes])</div><div class='add'>+	    AS_IF([test "x$stack_protector" = xyes], [</div><div class='add'>+		RUBY_TRY_LDFLAGS(option, [], [stack_protector=])</div><div class='add'>+	    ])</div><div class='add'>+	    AS_IF([test "x$stack_protector" = xyes], [stack_protector=option; break])</div><div class='add'>+	])</div><div class='add'>+    ])</div><div class='add'>+    AS_CASE(["$stack_protector"], [-*], [</div><div class='add'>+	RUBY_APPEND_OPTION(XCFLAGS, $stack_protector)</div><div class='add'>+	RUBY_APPEND_OPTION(XLDFLAGS, $stack_protector)</div><div class='add'>+	RUBY_APPEND_OPTION(LDFLAGS, $stack_protector)</div><div class='add'>+    ])</div><div class='add'>+</div><div class='add'>+    AS_CASE("${compress_debug_sections:-zlib}",</div><div class='add'>+    [none|no], [], [</div><div class='add'>+    RUBY_TRY_LDFLAGS(${linker_flag}--compress-debug-sections=${compress_debug_sections:-zlib},</div><div class='add'>+		     [compress_debug_sections=${compress_debug_sections:-zlib}],</div><div class='add'>+		     [compress_debug_sections=no])</div><div class='add'>+    ])</div><div class='add'>+    AS_IF([test "x$compress_debug_sections" != xno], [</div><div class='add'>+	RUBY_APPEND_OPTION(DLDFLAGS, ${linker_flag}--compress-debug-sections=$compress_debug_sections)</div><div class='add'>+    ])</div><div class='add'>+</div><div class='add'>+    AS_CASE(["$target_os"],[mingw*], [</div><div class='add'>+      # On  Windows  platforms,   system  provided  headers  are  VC++</div><div class='add'>+      # optimized.  That  is, C++  habits are often  contaminated into</div><div class='add'>+      # various  headers.  Most frequent  situation is  the use  of //</div><div class='add'>+      # comments.   We  bypass  ANSI   C  mode  for  them.   Otherwise</div><div class='add'>+      # extension libs cannot include those headers.</div><div class='add'>+</div><div class='add'>+      # Since math.h in some mingw64 wrongly declares frexp and modf</div><div class='add'>+      # to be pure, the variables pointed by the second arguments are</div><div class='add'>+      # considered uninitialized unexpectedly.</div><div class='add'>+      AC_CACHE_CHECK([whether frexp and modf are broken],</div><div class='add'>+	rb_cv_mingw64_broken_frexp_modf,</div><div class='add'>+	[</div><div class='add'>+	  save_CFLAGS="$CFLAGS"</div><div class='add'>+	  AS_IF([test "$particular_werror_flags" = "yes"], [</div><div class='add'>+	    CFLAGS="$CFLAGS -Werror=uninitialized"</div><div class='add'>+	  ], [</div><div class='add'>+	    CFLAGS="$CFLAGS -Werror -Wuninitialized"</div><div class='add'>+	  ])</div><div class='add'>+	  AC_TRY_COMPILE([@%:@include &lt;math.h&gt;</div><div class='add'>+	    int foo(double x)</div><div class='add'>+	    {</div><div class='add'>+	      int exp;</div><div class='add'>+	      frexp(x, &amp;exp);</div><div class='add'>+	      return exp;</div><div class='add'>+	    }], [if (foo(0.0)) return 1;],</div><div class='add'>+	    [rb_cv_mingw64_broken_frexp_modf=no],</div><div class='add'>+	    [rb_cv_mingw64_broken_frexp_modf=yes])</div><div class='add'>+	  CFLAGS="$save_CFLAGS"</div><div class='add'>+	])</div><div class='add'>+      AS_IF([test "$rb_cv_mingw64_broken_frexp_modf" = yes], [</div><div class='add'>+	AC_DEFINE(RUBY_MINGW64_BROKEN_FREXP_MODF)</div><div class='add'>+      ])</div><div class='add'>+    ],</div><div class='add'>+    [cygwin*|darwin*|netbsd*], [</div><div class='add'>+      # need lgamma_r(), finite()</div><div class='add'>+    ])</div><div class='add'>+</div><div class='add'>+    # ANSI (no XCFLAGS because this is C only)</div><div class='add'>+    AS_CASE(["$target_os"],</div><div class='add'>+    [solaris*], [</div><div class='add'>+      # Because "-std=gnu99" affects existence of functions on Solaris,</div><div class='add'>+      # "-std=gnu99" will be appended to CPPFLAGS.</div><div class='add'>+	for ansi_options in -std=gnu99; do</div><div class='add'>+	    RUBY_TRY_CFLAGS(${ansi_options}, [</div><div class='add'>+		RUBY_APPEND_OPTIONS(CPPFLAGS, ${ansi_options})</div><div class='add'>+	    ], [ansi_options=])</div><div class='add'>+	    test "x${ansi_options}" = x || break</div><div class='add'>+	done</div><div class='add'>+    ],</div><div class='add'>+    [</div><div class='add'>+      # ANSI (no XCFLAGS because this is C only)</div><div class='add'>+      rb_tmp_std_check=`echo $CC $CFLAGS $optflags $warnflags $debugflags | fgrep std= | tr -d  '\015'`</div><div class='add'>+      AS_IF([test "x$rb_tmp_std_check" = "x"],</div><div class='add'>+      [</div><div class='add'>+	for ansi_options in -std=gnu99; do</div><div class='add'>+	    RUBY_TRY_CFLAGS(${ansi_options}, [</div><div class='add'>+		RUBY_APPEND_OPTIONS(warnflags, ${ansi_options})</div><div class='add'>+		RUBY_APPEND_OPTIONS(strict_warnflags, ${ansi_options})</div><div class='add'>+	    ], [ansi_options=])</div><div class='add'>+	    test "x${ansi_options}" = x || break</div><div class='add'>+	done</div><div class='add'>+      ])</div><div class='add'>+    ])</div><div class='add'>+</div><div class='add'>+    # suppress annoying -Wstrict-overflow warnings</div><div class='add'>+    RUBY_TRY_CFLAGS(-fno-strict-overflow, [RUBY_APPEND_OPTION(XCFLAGS, -fno-strict-overflow)])</div><div class='add'>+</div><div class='add'>+    test "${debugflags+set}" || {RUBY_TRY_CFLAGS(-ggdb3, [debugflags=-ggdb3])}</div><div class='add'>+    test "${debugflags+set}" || {RUBY_TRY_CFLAGS(-ggdb, [debugflags=-ggdb])}</div><div class='add'>+    test "${debugflags+set}" || {RUBY_TRY_CFLAGS(-g3, [debugflags=-g3])}</div><div class='add'>+])</div><div class='add'>+test $ac_cv_prog_cc_g = yes &amp;&amp; : ${debugflags=-g}</div><div class='add'>+AS_IF([test "x$RUBY_DEVEL" = xyes], [RUBY_APPEND_OPTION(XCFLAGS, -DRUBY_DEVEL=1)])</div><div class='add'>+</div><div class='add'>+AS_IF([test "$GCC" = ""], [</div><div class='add'>+    AS_CASE(["$target_os"],[aix*],[warnflags="$warnflags -qinfo=por" rb_cv_warnflags="$rb_cv_warnflags -qinfo=por"])</div><div class='add'>+])</div><div class='add'>+AS_IF([test "$GCC" = yes], [</div><div class='add'>+    AS_IF([test "$gcc_major" -ge 4], [</div><div class='add'>+	RUBY_TRY_CFLAGS(-fvisibility=hidden, [visibility_option=yes], [visibility_option=no])</div><div class='add'>+    ])</div><div class='add'>+    AC_SUBST(WERRORFLAG, "-Werror")</div><div class='add'>+    AS_IF([test "$visibility_option" = yes], [</div><div class='add'>+	RUBY_APPEND_OPTION(XCFLAGS, -fvisibility=hidden)</div><div class='add'>+	AC_DEFINE(RUBY_SYMBOL_EXPORT_BEGIN, [_Pragma("GCC visibility push(default)")])</div><div class='add'>+	AC_DEFINE(RUBY_SYMBOL_EXPORT_END,   [_Pragma("GCC visibility pop")])</div><div class='add'>+    ], [</div><div class='add'>+	RUBY_TRY_LDFLAGS([-Wl,-unexported_symbol,_Init_*], [visibility_option=ld], [visibility_option=no])</div><div class='add'>+    ])</div><div class='add'>+    test "$visibility_option" = no || OBJCOPY=:</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+AS_IF([test "$GCC" = yes], [</div><div class='add'>+    # optflags</div><div class='add'>+</div><div class='add'>+    AS_CASE(["$target_os"], [mingw*], [</div><div class='add'>+	RUBY_TRY_CFLAGS(-fno-omit-frame-pointer, [optflags="${optflags+$optflags }-fno-omit-frame-pointer"])</div><div class='add'>+	RUBY_TRY_CFLAGS(-static-libgcc, [static_libgcc=yes], [static_libgcc=no])</div><div class='add'>+	AS_IF([test "$static_libgcc" = yes], [</div><div class='add'>+	    RUBY_APPEND_OPTION(EXTLDFLAGS, -static-libgcc)</div><div class='add'>+	])</div><div class='add'>+    ])</div><div class='add'>+</div><div class='add'>+    # disable fast-math</div><div class='add'>+    for oflag in -fno-fast-math; do</div><div class='add'>+	RUBY_TRY_CFLAGS($oflag, [RUBY_APPEND_OPTION(CFLAGS, $oflag)])</div><div class='add'>+    done</div><div class='add'>+    for oflag in -fexcess-precision=standard -fp-model\ precise; do</div><div class='add'>+	RUBY_TRY_CFLAGS($oflag, [RUBY_APPEND_OPTION(XCFLAGS, $oflag)])</div><div class='add'>+    done</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+AS_CASE(["$target_cpu"], [[i[3-6]86*]], [</div><div class='add'>+    AC_CACHE_CHECK([for __sync_val_compare_and_swap], [rb_cv_gcc_compiler_cas], [</div><div class='add'>+	AC_TRY_LINK([unsigned long atomic_var;],</div><div class='add'>+	    [__sync_val_compare_and_swap(&amp;atomic_var, 0, 1);],</div><div class='add'>+	    [rb_cv_gcc_compiler_cas=yes],</div><div class='add'>+	    [</div><div class='add'>+	    save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -march=i486"</div><div class='add'>+	    AC_TRY_LINK([unsigned long atomic_var;],</div><div class='add'>+		[__sync_val_compare_and_swap(&amp;atomic_var, 0, 1);],</div><div class='add'>+		[rb_cv_gcc_compiler_cas=i486],</div><div class='add'>+		[rb_cv_gcc_compiler_cas=no])</div><div class='add'>+	    CFLAGS="$save_CFLAGS"</div><div class='add'>+	    ])</div><div class='add'>+    ])</div><div class='add'>+    AS_IF([test "$rb_cv_gcc_compiler_cas" = i486], [ARCH_FLAG="-march=i486"])</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+AC_ARG_WITH(opt-dir,</div><div class='add'>+	AS_HELP_STRING([--with-opt-dir=DIR-LIST],</div><div class='add'>+		       [add optional headers and libraries directories separated by $PATH_SEPARATOR]),</div><div class='add'>+	[</div><div class='add'>+		val=`echo "$PATH_SEPARATOR$withval" | sed "s|$PATH_SEPARATOR\([[^$PATH_SEPARATOR]*]\)| -I\1/include|g;s/^ //"`</div><div class='add'>+		CPPFLAGS="$CPPFLAGS $val"</div><div class='add'>+		val=`echo "$PATH_SEPARATOR$withval" | sed "s|$PATH_SEPARATOR\([[^$PATH_SEPARATOR]*]\)| -L\1/lib${rpathflag:+ $rpathflag\\\\1/lib}|g;s/^ //"`</div><div class='add'>+		LDFLAGS="$LDFLAGS $val"</div><div class='add'>+		LDFLAGS_OPTDIR="$val"</div><div class='add'>+		OPT_DIR="$withval"</div><div class='add'>+	], [OPT_DIR=])</div><div class='add'>+</div><div class='add'>+test -z "${ac_env_CFLAGS_set}" -a -n "${cflags+set}" &amp;&amp; eval CFLAGS="\"$cflags $ARCH_FLAG\""</div><div class='add'>+test -z "${ac_env_CXXFLAGS_set}" -a -n "${cxxflags+set}" &amp;&amp; eval CXXFLAGS="\"$cxxflags $ARCH_FLAG\""</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+AC_CACHE_CHECK([whether compiler has statement and declarations in expressions],</div><div class='add'>+  rb_cv_have_stmt_and_decl_in_expr,</div><div class='add'>+  [AC_TRY_COMPILE([],[ __extension__ ({ int a = 0; a; }); ],</div><div class='add'>+  [rb_cv_have_stmt_and_decl_in_expr=yes],</div><div class='add'>+  [rb_cv_have_stmt_and_decl_in_expr=no])])</div><div class='add'>+AS_IF([test "$rb_cv_have_stmt_and_decl_in_expr" = yes], [</div><div class='add'>+  AC_DEFINE(HAVE_STMT_AND_DECL_IN_EXPR)</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+: "header and library section" &amp;&amp; {</div><div class='add'>+AC_ARG_WITH(winnt-ver,</div><div class='add'>+  AS_HELP_STRING([--with-winnt-ver=0xXXXX], [target Windows NT version (default to 0x0600)]),</div><div class='add'>+  [with_winnt_ver="$withval"], [with_winnt_ver="0x0600"])</div><div class='add'>+AS_CASE(["$target_os"],</div><div class='add'>+[mingw*], [</div><div class='add'>+  RUBY_APPEND_OPTION(CPPFLAGS, -D_WIN32_WINNT=$with_winnt_ver)</div><div class='add'>+  RUBY_APPEND_OPTION(CPPFLAGS, -D__MINGW_USE_VC2005_COMPAT)</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+AS_CASE(["$target_os"],</div><div class='add'>+[freebsd*], [</div><div class='add'>+  AC_CACHE_CHECK([whether pthread should be enabled by default],</div><div class='add'>+    rb_cv_enable_pthread_default,</div><div class='add'>+    [AC_TRY_CPP([</div><div class='add'>+#include &lt;osreldate.h&gt;</div><div class='add'>+#if __FreeBSD_version &lt; 502102</div><div class='add'>+#error pthread should be disabled on this platform</div><div class='add'>+#endif</div><div class='add'>+      ],</div><div class='add'>+      rb_cv_enable_pthread_default=yes,</div><div class='add'>+      rb_cv_enable_pthread_default=no)])</div><div class='add'>+  enable_pthread=$rb_cv_enable_pthread_default</div><div class='add'>+  ],</div><div class='add'>+[mingw*], [</div><div class='add'>+  enable_pthread=no</div><div class='add'>+  ],</div><div class='add'>+[</div><div class='add'>+  enable_pthread=yes</div><div class='add'>+  ])</div><div class='add'>+</div><div class='add'>+dnl Checks for libraries.</div><div class='add'>+AS_CASE(["$target_os"],[*bsd*|dragonfly*],[],[ac_cv_func_daemon=no])</div><div class='add'>+</div><div class='add'>+AS_UNSET(ORIG_LIBS)</div><div class='add'>+POSTLINK=:</div><div class='add'>+AC_SUBST(POSTLINK)</div><div class='add'>+AS_CASE(["$target_os"],</div><div class='add'>+[nextstep*], [	],</div><div class='add'>+[openstep*], [	],</div><div class='add'>+[rhapsody*], [	],</div><div class='add'>+[darwin*], [</div><div class='add'>+		ORIG_LIBS="$LIBS"</div><div class='add'>+		RUBY_PREPEND_OPTION(LIBS, -lobjc)</div><div class='add'>+		RUBY_APPEND_OPTIONS(CPPFLAGS, -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT)</div><div class='add'>+		AC_CACHE_CHECK([whether syscall(2) is deprecated], rb_cv_syscall_deprecated,</div><div class='add'>+		    [RUBY_WERROR_FLAG([</div><div class='add'>+			AC_TRY_COMPILE([@%:@include &lt;unistd.h&gt;],</div><div class='add'>+				       [if (syscall(0)) return 1;],</div><div class='add'>+			    [rb_cv_syscall_deprecated=no],</div><div class='add'>+			    [rb_cv_syscall_deprecated=yes])])])</div><div class='add'>+		AS_IF([test $rb_cv_syscall_deprecated = yes], [</div><div class='add'>+		    ac_cv_func___syscall=no</div><div class='add'>+		    ac_cv_func_syscall=no</div><div class='add'>+		    ac_cv_header_sys_syscall_h=no</div><div class='add'>+		    ac_cv_header_syscall_h=no</div><div class='add'>+		])</div><div class='add'>+		ac_cv_func_getcontext=no</div><div class='add'>+		ac_cv_func_setcontext=no</div><div class='add'>+		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='add'>+		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='add'>+		    incs=`echo "$incs" | fgrep -v "$d"`</div><div class='add'>+		done</div><div class='add'>+		for d in $incs; do</div><div class='add'>+		    test -d "$d" &amp;&amp; RUBY_APPEND_OPTIONS(LDFLAGS, "-L$d")</div><div class='add'>+		done</div><div class='add'>+		ac_cv_type_getgroups=gid_t # getgroups() on Rosetta fills garbage</div><div class='add'>+		ac_cv_lib_crypt_crypt=no</div><div class='add'>+		ac_cv_func_fdatasync=no # Mac OS X wrongly reports it has fdatasync()</div><div class='add'>+		ac_cv_func_vfork=no</div><div class='add'>+		AS_IF([test $gcc_major -lt 4 -o \( $gcc_major -eq 4 -a $gcc_minor -lt 3 \)], [</div><div class='add'>+		    ac_cv_func___builtin_setjmp=no</div><div class='add'>+		])</div><div class='add'>+		with_setjmp_type=sigsetjmp # to hijack SIGCHLD handler</div><div class='add'>+		AC_CACHE_CHECK(for broken crypt with 8bit chars, rb_cv_broken_crypt,</div><div class='add'>+		    [AC_TRY_RUN([</div><div class='add'>+#include &lt;stdio.h&gt;</div><div class='add'>+#include &lt;unistd.h&gt;</div><div class='add'>+#include &lt;string.h&gt;</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+broken_crypt(const char *salt, const char *buf1, const char *buf2)</div><div class='add'>+{</div><div class='add'>+#if 0</div><div class='add'>+    printf("%.2x%.2x: %s -&gt; %s\n", (unsigned char)salt[0], (unsigned char)salt[1],</div><div class='add'>+	   buf1+2, buf2+2);</div><div class='add'>+#endif</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'>+    int i;</div><div class='add'>+    char salt[2], buf[256], *s;</div><div class='add'>+    for (i = 0; i &lt; 128*128; i++) {</div><div class='add'>+	salt[0] = 0x80 | (i &amp; 0x7f);</div><div class='add'>+	salt[1] = 0x80 | (i &gt;&gt; 7);</div><div class='add'>+	strcpy(buf, crypt("", salt));</div><div class='add'>+	if (strcmp(buf, s = crypt("", salt))) {</div><div class='add'>+	    broken_crypt(salt, buf, s);</div><div class='add'>+	    return 1;</div><div class='add'>+	}</div><div class='add'>+    }</div><div class='add'>+    salt[0] = salt[1] = ' ';</div><div class='add'>+    strcpy(buf, crypt("", salt));</div><div class='add'>+    salt[0] = salt[1] = 0x80 | ' ';</div><div class='add'>+    if (strcmp(buf, s = crypt("", salt))) {</div><div class='add'>+	broken_crypt(salt, buf, s);</div><div class='add'>+	return 1;</div><div class='add'>+    }</div><div class='add'>+    return 0;</div><div class='add'>+}</div><div class='add'>+],</div><div class='add'>+		    rb_cv_broken_crypt=no,</div><div class='add'>+		    rb_cv_broken_crypt=yes,</div><div class='add'>+		    rb_cv_broken_crypt=yes)])</div><div class='add'>+		AS_IF([test "$rb_cv_broken_crypt" = yes], [</div><div class='add'>+		   AC_DEFINE(BROKEN_CRYPT, 1)</div><div class='add'>+		])</div><div class='add'>+		POSTLINK=""</div><div class='add'>+		AC_CHECK_PROGS(codesign, codesign)</div><div class='add'>+		AC_CHECK_PROGS(dsymutil, dsymutil)</div><div class='add'>+		AS_IF([test -n "$codesign"], [</div><div class='add'>+		    POSTLINK="{ test -z '\$(RUBY_CODESIGN)' || $codesign -s '\$(RUBY_CODESIGN)' -f \$@; }${POSTLINK:+; $POSTLINK}"</div><div class='add'>+		])</div><div class='add'>+		AS_IF([test -n "$dsymutil"], [</div><div class='add'>+		    POSTLINK="$dsymutil \$@${POSTLINK:+; $POSTLINK}"</div><div class='add'>+		])</div><div class='add'>+		AS_IF([test -n "${POSTLINK}"], [</div><div class='add'>+		    LINK_SO="$LINK_SO</div><div class='add'>+\$(POSTLINK)"</div><div class='add'>+		])</div><div class='add'>+		AC_CHECK_HEADERS(crt_externs.h, [], [], [</div><div class='add'>+		    #include &lt;crt_externs.h&gt;</div><div class='add'>+		])</div><div class='add'>+		],</div><div class='add'>+[hpux*], [	LIBS="-lm $LIBS"</div><div class='add'>+		ac_cv_c_inline=no],</div><div class='add'>+[solaris*], [	LIBS="-lm $LIBS"</div><div class='add'>+		ac_cv_func_vfork=no</div><div class='add'>+		AC_MSG_CHECKING(whether _XOPEN_SOURCE is already given)</div><div class='add'>+		AC_TRY_COMPILE([#include &lt;unistd.h&gt;</div><div class='add'>+			#ifndef _XOPEN_SOURCE</div><div class='add'>+			#error _XOPEN_SOURCE is not defined</div><div class='add'>+			#endif</div><div class='add'>+			], [],</div><div class='add'>+		        [given_xopen_source=yes], [given_xopen_source=no])</div><div class='add'>+		AC_MSG_RESULT($given_xopen_source)</div><div class='add'>+		AS_IF([test $given_xopen_source = no], [</div><div class='add'>+		  AC_MSG_CHECKING(appropriate _XOPEN_SOURCE value to define)</div><div class='add'>+		  define_xopen_source=""</div><div class='add'>+		  for tmp_xpg in 7 6 5; do</div><div class='add'>+		    AS_IF([test x"$define_xopen_source" != x], [</div><div class='add'>+		      break</div><div class='add'>+		    ])</div><div class='add'>+		    RUBY_WERROR_FLAG([AC_TRY_COMPILE([</div><div class='add'>+			#define _XOPEN_SOURCE ${tmp_xpg}00</div><div class='add'>+			#include &lt;unistd.h&gt;</div><div class='add'>+			#ifndef _XPG${tmp_xpg}</div><div class='add'>+			#error _XPG${tmp_xpg} should be defined by _XOPEN_SOURCE=${tmp_xpg}00</div><div class='add'>+			#endif</div><div class='add'>+			], [],</div><div class='add'>+			[define_xopen_source=${tmp_xpg}00], [])</div><div class='add'>+			])</div><div class='add'>+		  done</div><div class='add'>+		  AS_IF([test x"$define_xopen_source" = x], [</div><div class='add'>+		    define_xopen_source=no</div><div class='add'>+		  ])</div><div class='add'>+		  AC_MSG_RESULT($define_xopen_source)</div><div class='add'>+		  AS_IF([test x"$define_xopen_source" != xno], [</div><div class='add'>+		    RUBY_APPEND_OPTIONS(CPPFLAGS, -D_XOPEN_SOURCE=$define_xopen_source)</div><div class='add'>+		    # _XOPEN_SOURCE should not be defined for C++ on Solaris.</div><div class='add'>+		    RUBY_APPEND_OPTIONS(CXXFLAGS, -U_XOPEN_SOURCE)</div><div class='add'>+		  ])</div><div class='add'>+		])</div><div class='add'>+		],</div><div class='add'>+[haiku*], [</div><div class='add'>+		LIBS="$LIBS" # m lib is include in root</div><div class='add'>+		],</div><div class='add'>+[cygwin*], [	ac_cv_header_langinfo_h=yes</div><div class='add'>+		RUBY_APPEND_OPTIONS(CPPFLAGS, -D_XOPEN_SOURCE -D_GNU_SOURCE)</div><div class='add'>+		AC_CHECK_FUNCS(cygwin_conv_path)</div><div class='add'>+		AC_LIBOBJ([langinfo])</div><div class='add'>+		],</div><div class='add'>+[mingw*], [	LIBS="-lshell32 -lws2_32 -liphlpapi -limagehlp -lshlwapi $LIBS"</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_header_sys_socket_h=no</div><div class='add'>+		ac_cv_func_lstat=yes</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_seekdir=yes</div><div class='add'>+		ac_cv_func_telldir=yes</div><div class='add'>+		ac_cv_func_lchown=yes</div><div class='add'>+		ac_cv_func_link=yes</div><div class='add'>+		ac_cv_func_readlink=yes</div><div class='add'>+		ac_cv_func_symlink=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_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'>+		ac_cv_func_fcntl=yes</div><div class='add'>+		ac_cv_func_flock=yes</div><div class='add'>+		ac_cv_func_gmtime_r=yes</div><div class='add'>+		rb_cv_large_fd_select=yes</div><div class='add'>+		ac_cv_type_struct_timeval=yes</div><div class='add'>+                ac_cv_func_clock_gettime=yes</div><div class='add'>+                ac_cv_func_clock_getres=yes</div><div class='add'>+		ac_cv_func_malloc_usable_size=no</div><div class='add'>+		ac_cv_type_off_t=yes</div><div class='add'>+		ac_cv_sizeof_off_t=8</div><div class='add'>+		AS_IF([test "$target_cpu" = x64], [</div><div class='add'>+		    ac_cv_func___builtin_setjmp=yes</div><div class='add'>+		    ac_cv_func_round=no</div><div class='add'>+		    rb_cv_coroutine=yes</div><div class='add'>+		])</div><div class='add'>+		ac_cv_func_tgamma=no</div><div class='add'>+		rb_cv_negative_time_t=yes</div><div class='add'>+		AC_CHECK_TYPE([NET_LUID], [], [],</div><div class='add'>+			      [@%:@include &lt;winsock2.h&gt;</div><div class='add'>+			      @%:@include &lt;iphlpapi.h&gt;])</div><div class='add'>+		AS_IF([test x"$ac_cv_type_NET_LUID" = xyes], [</div><div class='add'>+		    AC_DEFINE(HAVE_TYPE_NET_LUID, 1)</div><div class='add'>+		])</div><div class='add'>+		AC_CHECK_FUNCS(_gmtime64_s)</div><div class='add'>+		AC_CHECK_FUNCS(_wfreopen_s)</div><div class='add'>+		AC_LIBOBJ([langinfo])</div><div class='add'>+		],</div><div class='add'>+[bsdi*], [	LIBS="-lm $LIBS"</div><div class='add'>+		AC_DEFINE(BROKEN_SETREUID, 1)</div><div class='add'>+		AC_DEFINE(BROKEN_SETREGID, 1)</div><div class='add'>+                ac_cv_sizeof_rlim_t=8],</div><div class='add'>+[freebsd*], [	LIBS="-lm $LIBS"</div><div class='add'>+		ac_cv_func_getpeername=no</div><div class='add'>+		ac_cv_func_getsockname=no</div><div class='add'>+		ac_cv_func_shutdown=no</div><div class='add'>+		ac_cv_func_close=no</div><div class='add'>+		],</div><div class='add'>+[netbsd*], [	LIBS="-lm $LIBS"</div><div class='add'>+		],</div><div class='add'>+[dragonfly*], [	LIBS="-lm $LIBS"</div><div class='add'>+		],</div><div class='add'>+[aix*],[	LIBS="-lm $LIBS"</div><div class='add'>+		ac_cv_func_round=no</div><div class='add'>+		ac_cv_func___builtin_setjmp=no</div><div class='add'>+		],</div><div class='add'>+[linux*],[	LIBS="-lm $LIBS"</div><div class='add'>+		# __builtin_longjmp in ppc64* Linux does not restore</div><div class='add'>+		# the TOC register (r2), which is problematic</div><div class='add'>+		# when a global exit happens from JITted .so code.</div><div class='add'>+		AS_CASE(["$target_cpu"], [powerpc64*], [</div><div class='add'>+			ac_cv_func___builtin_setjmp=no</div><div class='add'>+		])</div><div class='add'>+		# With gcc-8's -fcf-protection, MJIT's __builtin_longjmp fails.</div><div class='add'>+		AS_CASE(["$CC $CFLAGS "], [*" -fcf-protection "*], [cf_protection=yes], [cf_protection=no])</div><div class='add'>+		AS_IF([test "$cf_protection" = yes], [</div><div class='add'>+			ac_cv_func___builtin_setjmp=no</div><div class='add'>+		])</div><div class='add'>+		],</div><div class='add'>+[	LIBS="-lm $LIBS"])</div><div class='add'>+: ${ORIG_LIBS=$LIBS}</div><div class='add'>+</div><div class='add'>+AS_IF([test -n "${rb_there_is_in_fact_no_gplusplus_but_autoconf_is_cheating_us}"], [</div><div class='add'>+    AC_MSG_NOTICE([Test skipped due to lack of a C++ compiler.])</div><div class='add'>+],</div><div class='add'>+[test -n "${CXX}"], [</div><div class='add'>+    RUBY_WERROR_FLAG([</div><div class='add'>+        AC_MSG_CHECKING([whether CXXFLAGS is valid])</div><div class='add'>+        AC_LANG_PUSH(C++)</div><div class='add'>+        AC_TRY_COMPILE([@%:@include &lt;cstdio&gt;], [], [AC_MSG_RESULT(yes)], [</div><div class='add'>+            AC_MSG_RESULT(no)</div><div class='add'>+            # The message mentions CXXFLAGS, but CPPFLAGS might also affects.</div><div class='add'>+            AC_MSG_WARN([something wrong with CXXFLAGS="$CXXFLAGS"])</div><div class='add'>+            CXX=false</div><div class='add'>+        ])</div><div class='add'>+        AC_LANG_POP(C++)</div><div class='add'>+    ])</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+AC_CHECK_LIB(crypt, crypt)      # glibc (GNU/Linux, GNU/Hurd, GNU/kFreeBSD)</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'>+AC_CHECK_LIB(socket, shutdown)  # SunOS/Solaris</div><div class='add'>+</div><div class='add'>+dnl Checks for header files.</div><div class='add'>+AC_HEADER_DIRENT</div><div class='add'>+dnl AC_HEADER_STDC has been checked in AC_USE_SYSTEM_EXTENSIONS</div><div class='add'>+AC_HEADER_STDBOOL</div><div class='add'>+AC_HEADER_SYS_WAIT</div><div class='add'>+</div><div class='add'>+AC_CHECK_HEADERS(a.out.h)</div><div class='add'>+AC_CHECK_HEADERS(atomic.h)</div><div class='add'>+AC_CHECK_HEADERS(copyfile.h)</div><div class='add'>+AC_CHECK_HEADERS(direct.h)</div><div class='add'>+AC_CHECK_HEADERS(grp.h)</div><div class='add'>+AC_CHECK_HEADERS(fcntl.h)</div><div class='add'>+AC_CHECK_HEADERS(float.h)</div><div class='add'>+AC_CHECK_HEADERS(ieeefp.h)</div><div class='add'>+AC_CHECK_HEADERS(intrinsics.h)</div><div class='add'>+AC_CHECK_HEADERS(langinfo.h)</div><div class='add'>+AC_CHECK_HEADERS(limits.h)</div><div class='add'>+AC_CHECK_HEADERS(locale.h)</div><div class='add'>+AC_CHECK_HEADERS(malloc.h)</div><div class='add'>+AC_CHECK_HEADERS(malloc/malloc.h)</div><div class='add'>+AC_CHECK_HEADERS(malloc_np.h)</div><div class='add'>+AC_CHECK_HEADERS(net/socket.h)</div><div class='add'>+AC_CHECK_HEADERS(process.h)</div><div class='add'>+AC_CHECK_HEADERS(pwd.h)</div><div class='add'>+AC_CHECK_HEADERS(sanitizer/asan_interface.h)</div><div class='add'>+AC_CHECK_HEADERS(sanitizer/msan_interface.h)</div><div class='add'>+AC_CHECK_HEADERS(setjmpex.h)</div><div class='add'>+AC_CHECK_HEADERS(stdalign.h)</div><div class='add'>+AC_CHECK_HEADERS(sys/attr.h)</div><div class='add'>+AC_CHECK_HEADERS(sys/eventfd.h)</div><div class='add'>+AC_CHECK_HEADERS(sys/fcntl.h)</div><div class='add'>+AC_CHECK_HEADERS(sys/file.h)</div><div class='add'>+AC_CHECK_HEADERS(sys/id.h)</div><div class='add'>+AC_CHECK_HEADERS(sys/ioctl.h)</div><div class='add'>+AC_CHECK_HEADERS(sys/mkdev.h)</div><div class='add'>+AC_CHECK_HEADERS(sys/param.h)</div><div class='add'>+AC_CHECK_HEADERS(sys/prctl.h)</div><div class='add'>+AC_CHECK_HEADERS(sys/resource.h)</div><div class='add'>+AC_CHECK_HEADERS(sys/select.h)</div><div class='add'>+AC_CHECK_HEADERS(sys/sendfile.h)</div><div class='add'>+AC_CHECK_HEADERS(sys/socket.h)</div><div class='add'>+AC_CHECK_HEADERS(sys/syscall.h)</div><div class='add'>+AC_CHECK_HEADERS(sys/sysmacros.h)</div><div class='add'>+AC_CHECK_HEADERS(sys/time.h)</div><div class='add'>+AC_CHECK_HEADERS(sys/times.h)</div><div class='add'>+AC_CHECK_HEADERS(sys/uio.h)</div><div class='add'>+AC_CHECK_HEADERS(sys/utime.h)</div><div class='add'>+AC_CHECK_HEADERS(syscall.h)</div><div class='add'>+AC_CHECK_HEADERS(time.h)</div><div class='add'>+AC_CHECK_HEADERS(ucontext.h)</div><div class='add'>+AC_CHECK_HEADERS(utime.h)</div><div class='add'>+AS_CASE("$target_cpu", [x64|x86_64|i[3-6]86*], [</div><div class='add'>+  AC_CHECK_HEADERS(x86intrin.h)</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+AC_ARG_WITH([gmp],</div><div class='add'>+  [AS_HELP_STRING([--without-gmp],</div><div class='add'>+    [disable GNU GMP to accelerate Bignum operations])],</div><div class='add'>+  [],</div><div class='add'>+  [with_gmp=yes])</div><div class='add'>+AS_IF([test "x$with_gmp" != xno],</div><div class='add'>+  [AC_CHECK_HEADERS(gmp.h)</div><div class='add'>+   AS_IF([test "x$ac_cv_header_gmp_h" != xno],</div><div class='add'>+     AC_SEARCH_LIBS([__gmpz_init], [gmp],</div><div class='add'>+       [AC_DEFINE(HAVE_LIBGMP, 1)]))])</div><div class='add'>+</div><div class='add'>+AC_ARG_WITH([jemalloc],</div><div class='add'>+  [AS_HELP_STRING([--with-jemalloc],[use jemalloc allocator])],</div><div class='add'>+  [with_jemalloc=$withval], [with_jemalloc=no])</div><div class='add'>+AS_IF([test "x$with_jemalloc" != xno],[</div><div class='add'>+  AC_SEARCH_LIBS([malloc_conf], [jemalloc],</div><div class='add'>+    [</div><div class='add'>+      AC_DEFINE(HAVE_LIBJEMALLOC, 1)</div><div class='add'>+      with_jemalloc=yes</div><div class='add'>+    ],</div><div class='add'>+    [test x$with_jemalloc = xyes &amp;&amp; with_jemalloc=no])</div><div class='add'>+  AC_CHECK_HEADER(jemalloc/jemalloc.h, [</div><div class='add'>+    AC_DEFINE(RUBY_ALTERNATIVE_MALLOC_HEADER, [&lt;jemalloc/jemalloc.h&gt;])</div><div class='add'>+  ],</div><div class='add'>+  [test x$with_jemalloc = xyes &amp;&amp; with_jemalloc=no])</div><div class='add'>+  AS_IF([test "x$with_jemalloc" != xyes], [</div><div class='add'>+    AC_CACHE_CHECK([for jemalloc with JEMALLOC_MANGLE], rb_cv_jemalloc_demangle,</div><div class='add'>+      [AC_LINK_IFELSE([AC_LANG_PROGRAM([@%:@define JEMALLOC_MANGLE 1</div><div class='add'>+      @%:@ifdef RUBY_ALTERNATIVE_MALLOC_HEADER</div><div class='add'>+      @%:@include RUBY_ALTERNATIVE_MALLOC_HEADER</div><div class='add'>+      @%:@else</div><div class='add'>+      @%:@include &lt;jemalloc.h&gt;</div><div class='add'>+      @%:@endif], [return !&amp;malloc_conf])],</div><div class='add'>+      [rb_cv_jemalloc_demangle=yes],</div><div class='add'>+      [rb_cv_jemalloc_demangle=no])</div><div class='add'>+    ])</div><div class='add'>+  ])</div><div class='add'>+  AS_IF([test "x$rb_cv_jemalloc_demangle" = xyes], [</div><div class='add'>+    AC_DEFINE(JEMALLOC_MANGLE)</div><div class='add'>+    with_jemalloc=yes</div><div class='add'>+  ])</div><div class='add'>+  AS_CASE(["$with_jemalloc"],</div><div class='add'>+    [yes],</div><div class='add'>+    [</div><div class='add'>+      AC_DEFINE(HAVE_MALLOC_CONF)</div><div class='add'>+      ac_cv_func_malloc_usable_size=yes</div><div class='add'>+    ],</div><div class='add'>+    [no],</div><div class='add'>+    [AC_MSG_ERROR([jemalloc requested but not found])</div><div class='add'>+  ])</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+dnl check for large file stuff</div><div class='add'>+mv confdefs.h confdefs1.h</div><div class='add'>+: &gt; confdefs.h</div><div class='add'>+AC_SYS_LARGEFILE</div><div class='add'>+# On 32-bit Solaris, it is safe to define _LARGEFILE_SOURCE</div><div class='add'>+# which is not added by AC_SYS_LARGEFILE.</div><div class='add'>+AS_IF([test x"$enable_largefile" != xno], [</div><div class='add'>+  AS_CASE(["$target_os"], [solaris*], [</div><div class='add'>+    AC_MSG_CHECKING([wheather _LARGEFILE_SOURCE should be defined])</div><div class='add'>+    AS_CASE(["${ac_cv_sys_file_offset_bits}:${ac_cv_sys_large_files}"],</div><div class='add'>+      ["64:"|"64:no"|"64:unknown"], [</div><div class='add'>+	# insert _LARGEFILE_SOURCE before _FILE_OFFSET_BITS line</div><div class='add'>+	# that is the same order as "getconf LFS_CFLAGS" output</div><div class='add'>+	mv confdefs.h largefile0.h</div><div class='add'>+	: &gt; confdefs.h</div><div class='add'>+	AC_DEFINE(_LARGEFILE_SOURCE)</div><div class='add'>+	cat largefile0.h &gt;&gt; confdefs.h</div><div class='add'>+	rm largefile0.h</div><div class='add'>+	AC_MSG_RESULT([yes])</div><div class='add'>+      ], [AC_MSG_RESULT([no])])</div><div class='add'>+  ])</div><div class='add'>+])</div><div class='add'>+mv confdefs.h largefile.h</div><div class='add'>+mv confdefs1.h confdefs.h</div><div class='add'>+cat largefile.h &gt;&gt; confdefs.h</div><div class='add'>+</div><div class='add'>+AS_CASE(["$target_os"],</div><div class='add'>+    [aix*], [</div><div class='add'>+    AS_CASE(["$target_cpu:$ac_cv_sys_large_files"],</div><div class='add'>+	[ppc64:*|powerpc64:*], [],</div><div class='add'>+	[*:no|*:unknown], [],</div><div class='add'>+	[</div><div class='add'>+	    # AIX currently does not support a 32-bit call to posix_fadvise()</div><div class='add'>+	    # if _LARGE_FILES is defined.</div><div class='add'>+	    ac_cv_func_posix_fadvise=no</div><div class='add'>+	])</div><div class='add'>+    ])</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'>+AC_C_TYPEOF</div><div class='add'>+AC_C_RESTRICT</div><div class='add'>+</div><div class='add'>+AS_CASE(":$ac_cv_c_const:$ac_cv_c_volatile:",</div><div class='add'>+    [*:no:*], [AC_MSG_ERROR(ANSI C-conforming const and volatile are mandatory)])</div><div class='add'>+</div><div class='add'>+AC_CHECK_TYPES([long long, off_t])</div><div class='add'>+</div><div class='add'>+AC_CACHE_CHECK([char bit], [rb_cv_char_bit],</div><div class='add'>+    [test "$universal_binary" = yes &amp;&amp; cross_compiling=yes</div><div class='add'>+    AC_COMPUTE_INT([rb_cv_char_bit], [CHAR_BIT],</div><div class='add'>+	[AC_INCLUDES_DEFAULT([@%:@include &lt;limits.h&gt;])], [rb_cv_char_bit=8])</div><div class='add'>+    test "$universal_binary" = yes &amp;&amp; cross_compiling=$real_cross_compiling])</div><div class='add'>+</div><div class='add'>+RUBY_CHECK_SIZEOF(int, [], [ILP])</div><div class='add'>+RUBY_CHECK_SIZEOF(short)</div><div class='add'>+RUBY_CHECK_SIZEOF(long, [int], [ILP LP])</div><div class='add'>+RUBY_CHECK_SIZEOF(long long)</div><div class='add'>+RUBY_CHECK_SIZEOF(__int64, [8], [ILP LP])</div><div class='add'>+RUBY_CHECK_SIZEOF(__int128, [16], [ILP LP])</div><div class='add'>+RUBY_CHECK_SIZEOF(off_t)</div><div class='add'>+RUBY_CHECK_SIZEOF(void*, [int long "long long"], [ILP LP LLP])</div><div class='add'>+RUBY_CHECK_SIZEOF(float)</div><div class='add'>+RUBY_CHECK_SIZEOF(double)</div><div class='add'>+RUBY_CHECK_SIZEOF(time_t, [long "long long"], [], [@%:@include &lt;time.h&gt;])</div><div class='add'>+RUBY_CHECK_SIZEOF(clock_t, [], [], [@%:@include &lt;time.h&gt;])</div><div class='add'>+</div><div class='add'>+AC_CACHE_CHECK(packed struct attribute, rb_cv_packed_struct,</div><div class='add'>+    [rb_cv_packed_struct=no</div><div class='add'>+    for mac in \</div><div class='add'>+	"__pragma(pack(push, 1)) x __pragma(pack(pop))" \</div><div class='add'>+	"x __attribute__((packed))" \</div><div class='add'>+	; do</div><div class='add'>+	AC_TRY_COMPILE([@%:@define PACKED_STRUCT(x) $mac</div><div class='add'>+			PACKED_STRUCT(struct { int a; });], [],</div><div class='add'>+		[rb_cv_packed_struct=$mac; break])</div><div class='add'>+    done])</div><div class='add'>+AS_IF([test "$rb_cv_packed_struct" != no], [</div><div class='add'>+    AC_DEFINE_UNQUOTED([PACKED_STRUCT(x)], [$rb_cv_packed_struct])</div><div class='add'>+    RUBY_TRY_CFLAGS(-Wno-address-of-packed-member, [AC_DEFINE(USE_UNALIGNED_MEMBER_ACCESS)])</div><div class='add'>+], [</div><div class='add'>+    AC_DEFINE_UNQUOTED([PACKED_STRUCT(x)], x)</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+AS_IF([test "x$ac_cv_type_long_long" = xyes], [</div><div class='add'>+    RUBY_CHECK_PRINTF_PREFIX(long long, ll I64, LL)</div><div class='add'>+], [test "x$ac_cv_type___int64" = xyes], [</div><div class='add'>+    RUBY_CHECK_PRINTF_PREFIX(__int64, ll I64, LL)</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+RUBY_REPLACE_TYPE(pid_t, int, PIDT)</div><div class='add'>+RUBY_REPLACE_TYPE(uid_t, int, UIDT)</div><div class='add'>+RUBY_REPLACE_TYPE(gid_t, int, GIDT)</div><div class='add'>+RUBY_REPLACE_TYPE(time_t, [], TIMET, [@%:@include &lt;time.h&gt;])</div><div class='add'>+RUBY_REPLACE_TYPE(dev_t, [int long "long long"], DEVT)</div><div class='add'>+RUBY_REPLACE_TYPE(mode_t, ["unsigned short" "unsigned int" long], MODET, [@%:@include &lt;sys/stat.h&gt;])</div><div class='add'>+RUBY_REPLACE_TYPE(rlim_t, [int long "long long"], RLIM, [</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_TYPES_H</div><div class='add'>+@%:@include &lt;sys/time.h&gt;</div><div class='add'>+@%:@endif</div><div class='add'>+@%:@include &lt;sys/resource.h&gt;</div><div class='add'>+])</div><div class='add'>+RUBY_REPLACE_TYPE(off_t, [], OFFT)</div><div class='add'>+RUBY_REPLACE_TYPE(clockid_t, [], CLOCKID, [@%:@ifdef HAVE_TIME_H</div><div class='add'>+@%:@ include &lt;time.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'>+</div><div class='add'>+# __VA_ARGS__ is also tested in AC_PROG_CC_C99 since autoconf 2.60a (around</div><div class='add'>+# 2006). The check below is redundant and should always success.  Remain not</div><div class='add'>+# deleted for backward compat.</div><div class='add'>+AC_CACHE_CHECK(for variable length macro, rb_cv_va_args_macro,</div><div class='add'>+  [AC_TRY_COMPILE([</div><div class='add'>+int foo(const char*);</div><div class='add'>+@%:@define FOO(...) foo(@%:@__VA_ARGS__)</div><div class='add'>+], [FOO(1);FOO(1,2);FOO(1,2,3);],</div><div class='add'>+  rb_cv_va_args_macro=yes,</div><div class='add'>+  rb_cv_va_args_macro=no)])</div><div class='add'>+AS_IF([test "$rb_cv_va_args_macro" = yes], [</div><div class='add'>+  AC_DEFINE(HAVE_VA_ARGS_MACRO)</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+# We want C11's  `_Alignof`.  GCC (and alike) have  `__alignof__`, which behave</div><div class='add'>+# slightly differently  than the  C11's.  We cannot  use `__alignof__`  for our</div><div class='add'>+# purpose.   The problem  is, however,  that  old gcc  and old  clang had  both</div><div class='add'>+# implemented `_Alignof` as  a synonym of `__alignof__`.  They are  not what we</div><div class='add'>+# want.  We have to check sanity.</div><div class='add'>+#</div><div class='add'>+# See also: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023</div><div class='add'>+# See also: https://bugs.llvm.org/show_bug.cgi?id=26547</div><div class='add'>+AC_CACHE_CHECK([if _Alignof() works], rb_cv_have__alignof,[</div><div class='add'>+    rb_cv_have__alignof=no</div><div class='add'>+    RUBY_WERROR_FLAG([</div><div class='add'>+        AC_TRY_COMPILE([</div><div class='add'>+            @%:@ifdef HAVE_STDALIGN_H</div><div class='add'>+            @%:@include &lt;stdalign.h&gt;</div><div class='add'>+            @%:@endif</div><div class='add'>+            @%:@ifdef STDC_HEADERS</div><div class='add'>+            @%:@include &lt;stddef.h&gt;</div><div class='add'>+            @%:@endif</div><div class='add'>+            @%:@ifndef __GNUC__</div><div class='add'>+            @%:@define __extension__</div><div class='add'>+            @%:@endif</div><div class='add'>+        ], [</div><div class='add'>+            typedef struct conftest_tag {</div><div class='add'>+                char _;</div><div class='add'>+                double d;</div><div class='add'>+            } T;</div><div class='add'>+            static int conftest_ary@&lt;:@</div><div class='add'>+                offsetof(T, d) == __extension__ _Alignof(double)</div><div class='add'>+                ? 1 : -1</div><div class='add'>+            @:&gt;@;</div><div class='add'>+            return conftest_ary@&lt;:@0@:&gt;@;</div><div class='add'>+        ], [</div><div class='add'>+            rb_cv_have__alignof=yes</div><div class='add'>+        ])</div><div class='add'>+    ])</div><div class='add'>+])</div><div class='add'>+AS_IF([test "$rb_cv_have__alignof" != no], [</div><div class='add'>+    AC_DEFINE(HAVE__ALIGNOF)</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+RUBY_FUNC_ATTRIBUTE(__const__, CONSTFUNC)</div><div class='add'>+RUBY_FUNC_ATTRIBUTE(__pure__, PUREFUNC)</div><div class='add'>+RUBY_FUNC_ATTRIBUTE(__noreturn__, NORETURN)</div><div class='add'>+RUBY_FUNC_ATTRIBUTE(__deprecated__, DEPRECATED)</div><div class='add'>+RUBY_FUNC_ATTRIBUTE(__deprecated__("by "@%:@n), DEPRECATED_BY(n,x), rb_cv_func_deprecated_by)</div><div class='add'>+RUBY_FUNC_ATTRIBUTE(__noinline__, NOINLINE)</div><div class='add'>+RUBY_FUNC_ATTRIBUTE(__always_inline__, ALWAYS_INLINE)</div><div class='add'>+RUBY_FUNC_ATTRIBUTE(__no_sanitize__(san), NO_SANITIZE(san, x), rb_cv_func_no_sanitize)</div><div class='add'>+RUBY_FUNC_ATTRIBUTE(__no_sanitize_address__, NO_SANITIZE_ADDRESS)</div><div class='add'>+RUBY_FUNC_ATTRIBUTE(__no_address_safety_analysis__, NO_ADDRESS_SAFETY_ANALYSIS)</div><div class='add'>+RUBY_FUNC_ATTRIBUTE(__warn_unused_result__, WARN_UNUSED_RESULT)</div><div class='add'>+RUBY_FUNC_ATTRIBUTE(__unused__, MAYBE_UNUSED)</div><div class='add'>+RUBY_FUNC_ATTRIBUTE(__error__ mesg, ERRORFUNC(mesg,x), rb_cv_func___error__)</div><div class='add'>+RUBY_FUNC_ATTRIBUTE(__warning__ mesg, WARNINGFUNC(mesg,x), rb_cv_func___warning__)</div><div class='add'>+RUBY_FUNC_ATTRIBUTE(__weak__, WEAK, rb_cv_func_weak)</div><div class='add'>+AS_IF([test "$rb_cv_func_weak" != x], [</div><div class='add'>+   AC_DEFINE(HAVE_FUNC_WEAK)</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+AC_CACHE_CHECK([for __attribute__((__depreacted__(msg))) in C++],</div><div class='add'>+  rb_cv_CentOS6_CXX_workaround,</div><div class='add'>+  RUBY_WERROR_FLAG([</div><div class='add'>+    AC_LANG_PUSH([C++])</div><div class='add'>+    AC_COMPILE_IFELSE(</div><div class='add'>+      [AC_LANG_PROGRAM(</div><div class='add'>+        [],</div><div class='add'>+        [__attribute__((__deprecated__("message"))) int conftest(...);])],</div><div class='add'>+      [rb_cv_CentOS6_CXX_workaround=yes],</div><div class='add'>+      [rb_cv_CentOS6_CXX_workaround=no])</div><div class='add'>+    AC_LANG_POP()]))</div><div class='add'>+AS_IF([test "$rb_cv_CentOS6_CXX_workaround" != no],[</div><div class='add'>+  AC_DEFINE([RUBY_CXX_DEPRECATED(msg)],</div><div class='add'>+    [__attribute__((__deprecated__(msg)))])])</div><div class='add'>+</div><div class='add'>+AC_CACHE_CHECK([for std::nullptr_t], rb_cv_CXX_nullptr, [</div><div class='add'>+  AC_LANG_PUSH([C++])</div><div class='add'>+  AC_COMPILE_IFELSE(</div><div class='add'>+    [AC_LANG_PROGRAM(</div><div class='add'>+      [@%:@include &lt;cstddef&gt;],</div><div class='add'>+      [static std::nullptr_t const *const conftest = nullptr;])],</div><div class='add'>+    [rb_cv_CXX_nullptr=yes],</div><div class='add'>+    [rb_cv_CXX_nullptr=no])</div><div class='add'>+  AC_LANG_POP()])</div><div class='add'>+AS_IF([test "$rb_cv_CXX_nullptr" != no],[AC_DEFINE(HAVE_NULLPTR)])</div><div class='add'>+</div><div class='add'>+if_i386=${universal_binary+[defined __i386__]}</div><div class='add'>+RUBY_FUNC_ATTRIBUTE(__stdcall__,  FUNC_STDCALL,  rb_cv_func_stdcall,  ${if_i386})</div><div class='add'>+RUBY_FUNC_ATTRIBUTE(__cdecl__,    FUNC_CDECL,    rb_cv_func_cdecl,    ${if_i386})</div><div class='add'>+RUBY_FUNC_ATTRIBUTE(__fastcall__, FUNC_FASTCALL, rb_cv_func_fastcall, ${if_i386})</div><div class='add'>+RUBY_FUNC_ATTRIBUTE(__optimize__("O0"), FUNC_UNOPTIMIZED, rb_cv_func_unoptimized)</div><div class='add'>+RUBY_FUNC_ATTRIBUTE(__optimize__("-Os","-fomit-frame-pointer"), FUNC_MINIMIZED, rb_cv_func_minimized)</div><div class='add'>+</div><div class='add'>+AS_IF([test "$GCC" = yes], [</div><div class='add'>+    AC_CACHE_CHECK([for function alias], [rb_cv_gcc_function_alias],</div><div class='add'>+	[rb_cv_gcc_function_alias=no</div><div class='add'>+	for a in alias weak,alias; do</div><div class='add'>+	    AC_TRY_LINK([void foo(void) {}</div><div class='add'>+		void bar(void) __attribute__(($a("foo")));], [bar()],</div><div class='add'>+		[rb_cv_gcc_function_alias=$a; break])</div><div class='add'>+	done])</div><div class='add'>+    AS_IF([test "$rb_cv_gcc_function_alias" != no], [</div><div class='add'>+	AC_DEFINE(HAVE_ATTRIBUTE_FUNCTION_ALIAS)</div><div class='add'>+	AC_DEFINE_UNQUOTED([RUBY_ALIAS_FUNCTION_TYPE(type, prot, name, args)],</div><div class='add'>+			   [type prot __attribute__(($rb_cv_gcc_function_alias(@%:@name)));])</div><div class='add'>+	AC_DEFINE_UNQUOTED([RUBY_ALIAS_FUNCTION_VOID(prot, name, args)],</div><div class='add'>+			   [RUBY_ALIAS_FUNCTION_TYPE(void, prot, name, args)])</div><div class='add'>+    ])</div><div class='add'>+</div><div class='add'>+    AC_CACHE_CHECK([for __atomic builtins], [rb_cv_gcc_atomic_builtins], [</div><div class='add'>+	AC_TRY_LINK([unsigned int atomic_var;],</div><div class='add'>+		    [</div><div class='add'>+			__atomic_exchange_n(&amp;atomic_var, 0, __ATOMIC_SEQ_CST);</div><div class='add'>+			__atomic_exchange_n(&amp;atomic_var, 1, __ATOMIC_SEQ_CST);</div><div class='add'>+			__atomic_fetch_add(&amp;atomic_var, 1, __ATOMIC_SEQ_CST);</div><div class='add'>+			__atomic_fetch_sub(&amp;atomic_var, 1, __ATOMIC_SEQ_CST);</div><div class='add'>+			__atomic_or_fetch(&amp;atomic_var, 1, __ATOMIC_SEQ_CST);</div><div class='add'>+		    ],</div><div class='add'>+		    [rb_cv_gcc_atomic_builtins=yes],</div><div class='add'>+		    [rb_cv_gcc_atomic_builtins=no])])</div><div class='add'>+    AS_IF([test "$rb_cv_gcc_atomic_builtins" = yes], [</div><div class='add'>+	AC_DEFINE(HAVE_GCC_ATOMIC_BUILTINS)</div><div class='add'>+    ])</div><div class='add'>+</div><div class='add'>+    AC_CACHE_CHECK([for __sync builtins], [rb_cv_gcc_sync_builtins], [</div><div class='add'>+	AC_TRY_LINK([unsigned int atomic_var;],</div><div class='add'>+		    [</div><div class='add'>+			__sync_lock_test_and_set(&amp;atomic_var, 0);</div><div class='add'>+			__sync_lock_test_and_set(&amp;atomic_var, 1);</div><div class='add'>+			__sync_fetch_and_add(&amp;atomic_var, 1);</div><div class='add'>+			__sync_fetch_and_sub(&amp;atomic_var, 1);</div><div class='add'>+			__sync_or_and_fetch(&amp;atomic_var, 1);</div><div class='add'>+			__sync_val_compare_and_swap(&amp;atomic_var, 0, 1);</div><div class='add'>+		    ],</div><div class='add'>+		    [rb_cv_gcc_sync_builtins=yes],</div><div class='add'>+		    [rb_cv_gcc_sync_builtins=no])])</div><div class='add'>+    AS_IF([test "$rb_cv_gcc_sync_builtins" = yes], [</div><div class='add'>+	AC_DEFINE(HAVE_GCC_SYNC_BUILTINS)</div><div class='add'>+    ])</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+    AC_CACHE_CHECK(for __builtin_unreachable, rb_cv_func___builtin_unreachable,</div><div class='add'>+    [RUBY_WERROR_FLAG(</div><div class='add'>+    [AC_TRY_LINK([volatile int zero;],</div><div class='add'>+	[if (zero) __builtin_unreachable();],</div><div class='add'>+	[rb_cv_func___builtin_unreachable=yes],</div><div class='add'>+	[rb_cv_func___builtin_unreachable=no])</div><div class='add'>+    ])</div><div class='add'>+    ])</div><div class='add'>+    AS_IF([test "$rb_cv_func___builtin_unreachable" = yes], [</div><div class='add'>+	AC_DEFINE_UNQUOTED(UNREACHABLE, [__builtin_unreachable()])</div><div class='add'>+    ])</div><div class='add'>+</div><div class='add'>+AC_CACHE_CHECK(for exported function attribute, rb_cv_func_exported, [</div><div class='add'>+rb_cv_func_exported=no</div><div class='add'>+RUBY_WERROR_FLAG([</div><div class='add'>+for mac in '__attribute__ ((__visibility__("default")))' '__declspec(dllexport)'; do</div><div class='add'>+  AC_TRY_COMPILE([@%:@define RUBY_FUNC_EXPORTED $mac extern</div><div class='add'>+    RUBY_FUNC_EXPORTED void conftest_attribute_check(void);], [],</div><div class='add'>+    [rb_cv_func_exported="$mac"; break])</div><div class='add'>+done</div><div class='add'>+])])</div><div class='add'>+AS_IF([test "$rb_cv_func_exported" != no], [</div><div class='add'>+    AC_DEFINE_UNQUOTED(RUBY_FUNC_EXPORTED, [$rb_cv_func_exported extern])</div><div class='add'>+])</div><div class='add'>+RUBY_DECL_ATTRIBUTE([__nonnull__(n)], [RUBY_FUNC_NONNULL(n,x)], [rb_cv_func_nonnull],</div><div class='add'>+                    [], [function], [</div><div class='add'>+@%:@define x int conftest_attribute_check(void *p)</div><div class='add'>+@%:@define n 1</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+RUBY_APPEND_OPTION(XCFLAGS, -DRUBY_EXPORT)</div><div class='add'>+</div><div class='add'>+AC_ARG_ENABLE(mathn,</div><div class='add'>+    AS_HELP_STRING([--enable-mathn], [enable canonicalization for mathn]),</div><div class='add'>+    [AC_MSG_ERROR([mathn support has been dropped])])</div><div class='add'>+</div><div class='add'>+AC_CACHE_CHECK(for function name string predefined identifier,</div><div class='add'>+    rb_cv_function_name_string,</div><div class='add'>+    [AS_CASE(["$target_os"],[openbsd*],[</div><div class='add'>+      rb_cv_function_name_string=__func__</div><div class='add'>+     ],[</div><div class='add'>+     rb_cv_function_name_string=no</div><div class='add'>+      RUBY_WERROR_FLAG([</div><div class='add'>+        for func in __func__ __FUNCTION__; do</div><div class='add'>+            AC_TRY_LINK([@%:@include &lt;stdio.h&gt;],</div><div class='add'>+            [puts($func);],</div><div class='add'>+            [rb_cv_function_name_string=$func</div><div class='add'>+            break])</div><div class='add'>+        done</div><div class='add'>+      ])])]</div><div class='add'>+)</div><div class='add'>+AS_IF([test "$rb_cv_function_name_string" != no], [</div><div class='add'>+    AC_DEFINE_UNQUOTED(RUBY_FUNCTION_NAME_STRING, [$rb_cv_function_name_string])</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+AC_CACHE_CHECK(if enum over int is allowed, rb_cv_enum_over_int, [</div><div class='add'>+    rb_cv_enum_over_int=no</div><div class='add'>+    AS_IF([test "x$ac_cv_type_long_long" = xyes], [</div><div class='add'>+	type="unsigned long long" max="ULLONG_MAX"</div><div class='add'>+    ], [</div><div class='add'>+	type="unsigned long" max="ULONG_MAX"</div><div class='add'>+    ])</div><div class='add'>+    RUBY_WERROR_FLAG([</div><div class='add'>+        AC_COMPILE_IFELSE([</div><div class='add'>+            AC_LANG_BOOL_COMPILE_TRY([</div><div class='add'>+                    @%:@include &lt;limits.h&gt;</div><div class='add'>+                    enum {conftest_max = $max};</div><div class='add'>+                ], [</div><div class='add'>+                    (conftest_max == $max) &amp;&amp;</div><div class='add'>+                    (sizeof(conftest_max) == sizeof($type))</div><div class='add'>+                ]</div><div class='add'>+	    )],</div><div class='add'>+	    [rb_cv_enum_over_int=yes],</div><div class='add'>+	    [rb_cv_enum_over_int=no]</div><div class='add'>+	)</div><div class='add'>+    ])</div><div class='add'>+])</div><div class='add'>+AS_IF([test $rb_cv_enum_over_int = yes], [</div><div class='add'>+    AC_DEFINE(ENUM_OVER_INT, 1)</div><div class='add'>+])</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'>+AC_CHECK_DECLS([getenv])</div><div class='add'>+</div><div class='add'>+AS_CASE(["$target_cpu"],</div><div class='add'>+[alpha*|sh4|sh4el|sh4eb], [AS_CASE(["$target_os"::"$GCC"],</div><div class='add'>+		[*::yes],  # gcc</div><div class='add'>+			[CFLAGS="-mieee $CFLAGS"],</div><div class='add'>+		[osf*],    # ccc</div><div class='add'>+			[CFLAGS="-ieee $CFLAGS"],</div><div class='add'>+		)],</div><div class='add'>+[sparc*], [AC_LIBOBJ([sparc])])</div><div class='add'>+</div><div class='add'>+ac_cv_header_net_socket_h=${ac_cv_header_net_socket_h=no}</div><div class='add'>+AS_IF([test "$ac_cv_header_net_socket_h" = yes], [</div><div class='add'>+    ac_cv_header_sys_socket_h=${ac_cv_header_sys_socket_h=no}</div><div class='add'>+], [</div><div class='add'>+    ac_cv_header_sys_socket_h=${ac_cv_header_sys_socket_h=yes}</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+AC_TYPE_SIZE_T</div><div class='add'>+RUBY_CHECK_SIGNEDNESS(size_t, [AC_MSG_ERROR(size_t is signed)], [],</div><div class='add'>+		      [@%:@include &lt;sys/types.h&gt;])</div><div class='add'>+RUBY_CHECK_SIZEOF(size_t, [int long void*], [], [@%:@include &lt;sys/types.h&gt;])</div><div class='add'>+RUBY_CHECK_SIZEOF(ptrdiff_t, size_t, [], [@%:@include &lt;stddef.h&gt;])</div><div class='add'>+RUBY_CHECK_PRINTF_PREFIX(size_t, z)</div><div class='add'>+RUBY_CHECK_PRINTF_PREFIX(ptrdiff_t, t)</div><div class='add'>+AC_CHECK_MEMBERS([struct stat.st_blksize])</div><div class='add'>+AC_CHECK_MEMBERS([struct stat.st_blocks])</div><div class='add'>+AC_CHECK_MEMBERS([struct stat.st_rdev])</div><div class='add'>+RUBY_CHECK_SIZEOF([struct stat.st_size], [off_t int long "long long"], [], [@%:@include &lt;sys/stat.h&gt;])</div><div class='add'>+AS_IF([test "$ac_cv_member_struct_stat_st_blocks" = yes], [</div><div class='add'>+    RUBY_CHECK_SIZEOF([struct stat.st_blocks], [off_t int long "long long"], [], [@%:@include &lt;sys/stat.h&gt;])</div><div class='add'>+])</div><div class='add'>+RUBY_CHECK_SIZEOF([struct stat.st_ino], [long "long long"], [], [@%:@include &lt;sys/stat.h&gt;])</div><div class='add'>+AC_CHECK_MEMBERS([struct stat.st_atim])</div><div class='add'>+AC_CHECK_MEMBERS([struct stat.st_atimespec])</div><div class='add'>+AC_CHECK_MEMBERS([struct stat.st_atimensec])</div><div class='add'>+AC_CHECK_MEMBERS([struct stat.st_mtim])</div><div class='add'>+AC_CHECK_MEMBERS([struct stat.st_mtimespec])</div><div class='add'>+AC_CHECK_MEMBERS([struct stat.st_mtimensec])</div><div class='add'>+AC_CHECK_MEMBERS([struct stat.st_ctim])</div><div class='add'>+AC_CHECK_MEMBERS([struct stat.st_ctimespec])</div><div class='add'>+AC_CHECK_MEMBERS([struct stat.st_ctimensec])</div><div class='add'>+AC_CHECK_MEMBERS([struct stat.st_birthtimespec])</div><div class='add'>+AS_IF([test "x$ac_cv_member_struct_stat_st_birthtimespec" != xyes],</div><div class='add'>+    [AC_CHECK_MEMBERS([struct statx.stx_btime])])</div><div class='add'>+</div><div class='add'>+AC_CHECK_TYPES([struct timeval], [], [], [@%:@ifdef HAVE_TIME_H</div><div class='add'>+@%:@include &lt;time.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'>+</div><div class='add'>+AS_IF([test "${ac_cv_type_struct_timeval}" = yes], [</div><div class='add'>+    RUBY_CHECK_SIZEOF([struct timeval.tv_sec], [time_t long "long long"], [],</div><div class='add'>+		      [@%:@ifdef HAVE_TIME_H</div><div class='add'>+@%:@include &lt;time.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'>+    AS_CASE(${ac_cv_sizeof_struct_timeval_tv_sec},</div><div class='add'>+	    [SIZEOF_INT], [t=int],</div><div class='add'>+	    [SIZEOF_LONG], [t=long],</div><div class='add'>+	    [SIZEOF_LONG_LONG], [t=LONG_LONG],</div><div class='add'>+	    [t=])</div><div class='add'>+    AS_IF([test "${t}" != ""], [</div><div class='add'>+	AC_DEFINE_UNQUOTED(TYPEOF_TIMEVAL_TV_SEC, [$t])</div><div class='add'>+    ])</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+AC_CHECK_TYPES([struct timespec], [], [], [@%:@ifdef HAVE_TIME_H</div><div class='add'>+@%:@include &lt;time.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'>+</div><div class='add'>+AC_CHECK_TYPES([struct timezone], [], [], [@%:@ifdef HAVE_TIME_H</div><div class='add'>+@%:@ include &lt;time.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'>+</div><div class='add'>+AC_CACHE_VAL([rb_cv_large_fd_select],</div><div class='add'>+    [AC_CHECK_TYPE(fd_mask, [rb_cv_large_fd_select=yes], [rb_cv_large_fd_select=no], [AC_INCLUDES_DEFAULT([])</div><div class='add'>+@%:@ifdef HAVE_SYS_SELECT_H</div><div class='add'>+@%:@ include &lt;sys/select.h&gt;</div><div class='add'>+@%:@endif])])</div><div class='add'>+AS_IF([test "$rb_cv_large_fd_select" = yes], [</div><div class='add'>+    AC_DEFINE(HAVE_RB_FD_INIT, 1)</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+RUBY_DEFINT(int8_t, 1)</div><div class='add'>+RUBY_DEFINT(uint8_t, 1, unsigned)</div><div class='add'>+RUBY_DEFINT(int16_t, 2)</div><div class='add'>+RUBY_DEFINT(uint16_t, 2, unsigned)</div><div class='add'>+RUBY_DEFINT(int32_t, 4)</div><div class='add'>+RUBY_DEFINT(uint32_t, 4, unsigned)</div><div class='add'>+RUBY_DEFINT(int64_t, 8)</div><div class='add'>+RUBY_DEFINT(uint64_t, 8, unsigned)</div><div class='add'>+RUBY_DEFINT(int128_t, 16)</div><div class='add'>+RUBY_DEFINT(uint128_t, 16, unsigned)</div><div class='add'>+RUBY_DEFINT(intptr_t, void*)</div><div class='add'>+RUBY_DEFINT(uintptr_t, void*, unsigned)</div><div class='add'>+AS_IF([test "x$rb_cv_type_intptr_t" != xno], [</div><div class='add'>+    RUBY_CHECK_PRINTF_PREFIX(intptr_t, '' ll I64 l, PTR)</div><div class='add'>+])</div><div class='add'>+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='add'>+AS_IF([test "x$rb_cv_type_int64_t" != xno], [</div><div class='add'>+    RUBY_CHECK_PRINTF_PREFIX(int64_t, ll I64 l, 64)</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+AC_CACHE_CHECK(for stack end address, rb_cv_stack_end_address,</div><div class='add'>+[rb_cv_stack_end_address=no</div><div class='add'>+  AC_TRY_LINK(</div><div class='add'>+    [extern void *__libc_stack_end;],</div><div class='add'>+    [if (!__libc_stack_end) return 1;],</div><div class='add'>+    [rb_cv_stack_end_address="__libc_stack_end"])</div><div class='add'>+])</div><div class='add'>+AS_IF([test $rb_cv_stack_end_address != no], [</div><div class='add'>+  AC_DEFINE_UNQUOTED(STACK_END_ADDRESS, $rb_cv_stack_end_address)</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+dnl Checks for library functions.</div><div class='add'>+AC_TYPE_GETGROUPS</div><div class='add'>+AS_CASE(["${target_cpu}-${target_os}:${target_archs}"],</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'>+[universal-darwin*:*ppc*], [</div><div class='add'>+  AC_LIBSOURCES(alloca.c)</div><div class='add'>+  AC_SUBST([ALLOCA], [\${LIBOBJDIR}alloca.${ac_objext}])</div><div class='add'>+  RUBY_DEFINE_IF([defined __powerpc__], C_ALLOCA, 1)</div><div class='add'>+  RUBY_DEFINE_IF([defined __powerpc__], 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'>+AS_IF([test "x$ALLOCA" = "x"], [</div><div class='add'>+    AC_CACHE_CHECK([for dynamic size alloca], rb_cv_dynamic_alloca, [</div><div class='add'>+    for chk in ok __chkstk; do</div><div class='add'>+	AC_TRY_LINK([</div><div class='add'>+	    @%:@ifdef HAVE_ALLOCA_H</div><div class='add'>+	    @%:@include &lt;alloca.h&gt;</div><div class='add'>+	    @%:@endif</div><div class='add'>+	    void $chk() {}</div><div class='add'>+	    int dynamic_alloca_test;</div><div class='add'>+	    int dynamic_alloca_result;],</div><div class='add'>+	    [dynamic_alloca_result = alloca(dynamic_alloca_test) != 0;],</div><div class='add'>+	    [rb_cv_dynamic_alloca=$chk; break])</div><div class='add'>+    done])</div><div class='add'>+    AS_IF([test "x$rb_cv_dynamic_alloca" = "x__chkstk"], [</div><div class='add'>+	AC_DEFINE_UNQUOTED(RUBY_ALLOCA_CHKSTK, _$rb_cv_dynamic_alloca)</div><div class='add'>+	AS_CASE("$target_cpu",</div><div class='add'>+	[x64|x86_64], [</div><div class='add'>+	    AC_SUBST([ALLOCA], [\${LIBOBJDIR}x86_64-chkstk.${ac_objext}])</div><div class='add'>+	],)</div><div class='add'>+    ])</div><div class='add'>+])</div><div class='add'>+AC_FUNC_MEMCMP</div><div class='add'>+</div><div class='add'>+AS_CASE(["$target_os"],[freebsd*],[</div><div class='add'>+	 AC_DEFINE(BROKEN_CLOSE)</div><div class='add'>+	 AC_REPLACE_FUNCS(close)</div><div class='add'>+	 ])</div><div class='add'>+</div><div class='add'>+AC_REPLACE_FUNCS(acosh)</div><div class='add'>+AC_REPLACE_FUNCS(cbrt)</div><div class='add'>+AC_REPLACE_FUNCS(crypt)</div><div class='add'>+AC_REPLACE_FUNCS(dup2)</div><div class='add'>+AC_REPLACE_FUNCS(erf)</div><div class='add'>+AC_REPLACE_FUNCS(explicit_bzero)</div><div class='add'>+AC_REPLACE_FUNCS(ffs)</div><div class='add'>+AC_REPLACE_FUNCS(flock)</div><div class='add'>+AC_REPLACE_FUNCS(hypot)</div><div class='add'>+AC_REPLACE_FUNCS(lgamma_r)</div><div class='add'>+AC_REPLACE_FUNCS(memmove)</div><div class='add'>+AC_REPLACE_FUNCS(nan)</div><div class='add'>+AC_REPLACE_FUNCS(nextafter)</div><div class='add'>+AC_REPLACE_FUNCS(setproctitle)</div><div class='add'>+AC_REPLACE_FUNCS(strchr)</div><div class='add'>+AC_REPLACE_FUNCS(strerror)</div><div class='add'>+AC_REPLACE_FUNCS(strlcat)</div><div class='add'>+AC_REPLACE_FUNCS(strlcpy)</div><div class='add'>+AC_REPLACE_FUNCS(strstr)</div><div class='add'>+AC_REPLACE_FUNCS(tgamma)</div><div class='add'>+</div><div class='add'>+RUBY_REPLACE_FUNC([finite], [@%:@include &lt;math.h&gt;])</div><div class='add'>+RUBY_REPLACE_FUNC([isinf], [@%:@include &lt;math.h&gt;])</div><div class='add'>+RUBY_REPLACE_FUNC([isnan], [@%:@include &lt;math.h&gt;])</div><div class='add'>+</div><div class='add'>+# for missing/setproctitle.c</div><div class='add'>+AS_CASE(["$target_os"],</div><div class='add'>+[aix* | k*bsd*-gnu | kopensolaris*-gnu | linux* | darwin*], [AC_DEFINE(SPT_TYPE,SPT_REUSEARGV)],</div><div class='add'>+[hpux*], [AC_DEFINE(SPT_TYPE,SPT_PSTAT) ],</div><div class='add'>+[])</div><div class='add'>+AC_CHECK_HEADERS(sys/pstat.h)</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+AC_CACHE_CHECK(for signbit, rb_cv_have_signbit,</div><div class='add'>+  [AC_TRY_LINK([</div><div class='add'>+#include &lt;math.h&gt;</div><div class='add'>+], [int v = signbit(-0.0);],</div><div class='add'>+	rb_cv_have_signbit=yes,</div><div class='add'>+	rb_cv_have_signbit=no)])</div><div class='add'>+AS_IF([test "$rb_cv_have_signbit" = yes], [</div><div class='add'>+  AC_DEFINE(HAVE_SIGNBIT)</div><div class='add'>+], [</div><div class='add'>+  AC_LIBOBJ([signbit])</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+AC_FUNC_FORK</div><div class='add'>+</div><div class='add'>+AC_CHECK_FUNCS(__syscall)</div><div class='add'>+AC_CHECK_FUNCS(_longjmp)		# used for AC_ARG_WITH(setjmp-type)</div><div class='add'>+# we don't use _setjmp if _longjmp doesn't exist.</div><div class='add'>+test x$ac_cv_func__longjmp = xno &amp;&amp; ac_cv_func__setjmp=no</div><div class='add'>+AC_CHECK_FUNCS(arc4random_buf)</div><div class='add'>+AC_CHECK_FUNCS(atan2l atan2f)</div><div class='add'>+AC_CHECK_FUNCS(chroot)</div><div class='add'>+AC_CHECK_FUNCS(chsize)</div><div class='add'>+AC_CHECK_FUNCS(clock_gettime)</div><div class='add'>+AC_CHECK_FUNCS(copy_file_range)</div><div class='add'>+AC_CHECK_FUNCS(cosh)</div><div class='add'>+AC_CHECK_FUNCS(crypt_r)</div><div class='add'>+AC_CHECK_FUNCS(daemon)</div><div class='add'>+AC_CHECK_FUNCS(dirfd)</div><div class='add'>+AC_CHECK_FUNCS(dl_iterate_phdr)</div><div class='add'>+AC_CHECK_FUNCS(dlopen)</div><div class='add'>+AC_CHECK_FUNCS(dladdr)</div><div class='add'>+AC_CHECK_FUNCS(dup)</div><div class='add'>+AC_CHECK_FUNCS(dup3)</div><div class='add'>+AC_CHECK_FUNCS(eaccess)</div><div class='add'>+AC_CHECK_FUNCS(endgrent)</div><div class='add'>+AC_CHECK_FUNCS(eventfd)</div><div class='add'>+AC_CHECK_FUNCS(explicit_memset)</div><div class='add'>+AC_CHECK_FUNCS(fcopyfile)</div><div class='add'>+AC_CHECK_FUNCS(fchmod)</div><div class='add'>+AC_CHECK_FUNCS(fchown)</div><div class='add'>+AC_CHECK_FUNCS(fcntl)</div><div class='add'>+AC_CHECK_FUNCS(fdatasync)</div><div class='add'>+AC_CHECK_FUNCS(fdopendir)</div><div class='add'>+AC_CHECK_FUNCS(fgetattrlist)</div><div class='add'>+AC_CHECK_FUNCS(fmod)</div><div class='add'>+AC_CHECK_FUNCS(fstatat)</div><div class='add'>+AC_CHECK_FUNCS(fsync)</div><div class='add'>+AC_CHECK_FUNCS(ftruncate)</div><div class='add'>+AC_CHECK_FUNCS(ftruncate64)		# used for Win32 platform</div><div class='add'>+AC_CHECK_FUNCS(getattrlist)</div><div class='add'>+AC_CHECK_FUNCS(getcwd)</div><div class='add'>+AC_CHECK_FUNCS(getgidx)</div><div class='add'>+AC_CHECK_FUNCS(getgrnam)</div><div class='add'>+AC_CHECK_FUNCS(getgrnam_r)</div><div class='add'>+AC_CHECK_FUNCS(getgroups)</div><div class='add'>+AC_CHECK_FUNCS(getlogin)</div><div class='add'>+AC_CHECK_FUNCS(getlogin_r)</div><div class='add'>+AC_CHECK_FUNCS(getpgid)</div><div class='add'>+AC_CHECK_FUNCS(getpgrp)</div><div class='add'>+AC_CHECK_FUNCS(getpriority)</div><div class='add'>+AC_CHECK_FUNCS(getpwnam)</div><div class='add'>+AC_CHECK_FUNCS(getpwnam_r)</div><div class='add'>+AC_CHECK_FUNCS(getpwuid)</div><div class='add'>+AC_CHECK_FUNCS(getpwuid_r)</div><div class='add'>+AC_CHECK_FUNCS(getrandom)</div><div class='add'>+AC_CHECK_FUNCS(getresgid)</div><div class='add'>+AC_CHECK_FUNCS(getresuid)</div><div class='add'>+AC_CHECK_FUNCS(getrlimit)</div><div class='add'>+AC_CHECK_FUNCS(getsid)</div><div class='add'>+AC_CHECK_FUNCS(gettimeofday)		# for making ac_cv_func_gettimeofday</div><div class='add'>+AC_CHECK_FUNCS(getuidx)</div><div class='add'>+AC_CHECK_FUNCS(gmtime_r)</div><div class='add'>+AC_CHECK_FUNCS(grantpt)</div><div class='add'>+AC_CHECK_FUNCS(initgroups)</div><div class='add'>+AC_CHECK_FUNCS(ioctl)</div><div class='add'>+AC_CHECK_FUNCS(isfinite)</div><div class='add'>+AC_CHECK_FUNCS(issetugid)</div><div class='add'>+AC_CHECK_FUNCS(killpg)</div><div class='add'>+AC_CHECK_FUNCS(lchmod)</div><div class='add'>+AC_CHECK_FUNCS(lchown)</div><div class='add'>+AC_CHECK_FUNCS(link)</div><div class='add'>+AC_CHECK_FUNCS(llabs)</div><div class='add'>+AC_CHECK_FUNCS(lockf)</div><div class='add'>+AC_CHECK_FUNCS(log2)</div><div class='add'>+AC_CHECK_FUNCS(lstat)</div><div class='add'>+AC_CHECK_FUNCS(lutimes)</div><div class='add'>+AC_CHECK_FUNCS(malloc_usable_size)</div><div class='add'>+AC_CHECK_FUNCS(malloc_size)</div><div class='add'>+AC_CHECK_FUNCS(mblen)</div><div class='add'>+AC_CHECK_FUNCS(memalign)</div><div class='add'>+AC_CHECK_FUNCS(memset_s)</div><div class='add'>+AC_CHECK_FUNCS(writev)</div><div class='add'>+AC_CHECK_FUNCS(memrchr)</div><div class='add'>+AC_CHECK_FUNCS(memmem)</div><div class='add'>+AC_CHECK_FUNCS(mkfifo)</div><div class='add'>+AC_CHECK_FUNCS(mknod)</div><div class='add'>+AC_CHECK_FUNCS(mktime)</div><div class='add'>+AC_CHECK_FUNCS(openat)</div><div class='add'>+AC_CHECK_FUNCS(pipe2)</div><div class='add'>+AC_CHECK_FUNCS(poll)</div><div class='add'>+AC_CHECK_FUNCS(posix_fadvise)</div><div class='add'>+AC_CHECK_FUNCS(posix_memalign)</div><div class='add'>+AC_CHECK_FUNCS(ppoll)</div><div class='add'>+AC_CHECK_FUNCS(pread)</div><div class='add'>+AC_CHECK_FUNCS(pwrite)</div><div class='add'>+AC_CHECK_FUNCS(qsort_r)</div><div class='add'>+AC_CHECK_FUNCS(qsort_s)</div><div class='add'>+AC_CHECK_FUNCS(readlink)</div><div class='add'>+AC_CHECK_FUNCS(realpath)</div><div class='add'>+AC_CHECK_FUNCS(round)</div><div class='add'>+AC_CHECK_FUNCS(sched_getaffinity)</div><div class='add'>+AC_CHECK_FUNCS(seekdir)</div><div class='add'>+AC_CHECK_FUNCS(select_large_fdset)</div><div class='add'>+AC_CHECK_FUNCS(sendfile)</div><div class='add'>+AC_CHECK_FUNCS(setegid)</div><div class='add'>+AC_CHECK_FUNCS(setenv)</div><div class='add'>+AC_CHECK_FUNCS(seteuid)</div><div class='add'>+AC_CHECK_FUNCS(setgid)</div><div class='add'>+AC_CHECK_FUNCS(setgroups)</div><div class='add'>+AC_CHECK_FUNCS(setpgid)</div><div class='add'>+AC_CHECK_FUNCS(setpgrp)</div><div class='add'>+AC_CHECK_FUNCS(setregid)</div><div class='add'>+AC_CHECK_FUNCS(setresgid)</div><div class='add'>+AC_CHECK_FUNCS(setresuid)</div><div class='add'>+AC_CHECK_FUNCS(setreuid)</div><div class='add'>+AC_CHECK_FUNCS(setrgid)</div><div class='add'>+AC_CHECK_FUNCS(setrlimit)</div><div class='add'>+AC_CHECK_FUNCS(setruid)</div><div class='add'>+AC_CHECK_FUNCS(setsid)</div><div class='add'>+AC_CHECK_FUNCS(setuid)</div><div class='add'>+AC_CHECK_FUNCS(shutdown)</div><div class='add'>+AC_CHECK_FUNCS(sigaction)</div><div class='add'>+AC_CHECK_FUNCS(sigaltstack)</div><div class='add'>+AC_CHECK_FUNCS(sigprocmask)</div><div class='add'>+AC_CHECK_FUNCS(sinh)</div><div class='add'>+AC_CHECK_FUNCS(spawnv)</div><div class='add'>+AC_CHECK_FUNCS(symlink)</div><div class='add'>+AC_CHECK_FUNCS(syscall)</div><div class='add'>+AC_CHECK_FUNCS(sysconf)</div><div class='add'>+AC_CHECK_FUNCS(tanh)</div><div class='add'>+AC_CHECK_FUNCS(telldir)</div><div class='add'>+AC_CHECK_FUNCS(timegm)</div><div class='add'>+AC_CHECK_FUNCS(times)</div><div class='add'>+AC_CHECK_FUNCS(truncate)</div><div class='add'>+AC_CHECK_FUNCS(truncate64)		# used for Win32</div><div class='add'>+AC_CHECK_FUNCS(unsetenv)</div><div class='add'>+AC_CHECK_FUNCS(utimensat)</div><div class='add'>+AC_CHECK_FUNCS(utimes)</div><div class='add'>+AC_CHECK_FUNCS(wait4)</div><div class='add'>+AC_CHECK_FUNCS(waitpid)</div><div class='add'>+AC_CHECK_FUNCS(__cospi)</div><div class='add'>+AC_CHECK_FUNCS(__sinpi)</div><div class='add'>+</div><div class='add'>+AS_IF([test "x$ac_cv_member_struct_statx_stx_btime" = xyes],</div><div class='add'>+    [AC_CHECK_FUNCS(statx)])</div><div class='add'>+</div><div class='add'>+AS_CASE(["$ac_cv_func_memset_s:$ac_cv_func_qsort_s"], [*yes*],</div><div class='add'>+    [RUBY_DEFINE_IF([!defined __STDC_WANT_LIB_EXT1__], [__STDC_WANT_LIB_EXT1__], 1)])</div><div class='add'>+</div><div class='add'>+AS_IF([test "$ac_cv_func_getcwd" = yes], [</div><div class='add'>+    AC_CACHE_CHECK(if getcwd allocates buffer if NULL is given, [rb_cv_getcwd_malloc],</div><div class='add'>+	[AC_TRY_RUN([</div><div class='add'>+@%:@include &lt;stddef.h&gt;</div><div class='add'>+@%:@include &lt;stdio.h&gt;</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'>+@%:@ifndef EXIT_SUCCESS</div><div class='add'>+@%:@define EXIT_SUCCESS 0</div><div class='add'>+@%:@endif</div><div class='add'>+@%:@ifndef EXIT_FAILURE</div><div class='add'>+@%:@define EXIT_FAILURE 1</div><div class='add'>+@%:@endif</div><div class='add'>+</div><div class='add'>+int</div><div class='add'>+main(int argc, char **argv)</div><div class='add'>+{</div><div class='add'>+    if (!getcwd(NULL, 0)) return EXIT_FAILURE;</div><div class='add'>+    return EXIT_SUCCESS;</div><div class='add'>+}</div><div class='add'>+],</div><div class='add'>+	    rb_cv_getcwd_malloc=yes,</div><div class='add'>+	    rb_cv_getcwd_malloc=no,</div><div class='add'>+	    AS_CASE($target_os,</div><div class='add'>+		[linux*|darwin*|*bsd|cygwin*|mingw*|mswin*],</div><div class='add'>+		[rb_cv_getcwd_malloc=yes],</div><div class='add'>+		[rb_cv_getcwd_malloc=no]))])</div><div class='add'>+    AS_IF([test "$rb_cv_getcwd_malloc" = no], [AC_DEFINE(NO_GETCWD_MALLOC, 1)])</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+AS_IF([test "$ac_cv_func_crypt_r" = yes],</div><div class='add'>+    [AC_CHECK_HEADERS(crypt.h)])</div><div class='add'>+AS_IF([test "$ac_cv_func_crypt_r:$ac_cv_header_crypt_h" = yes:yes],</div><div class='add'>+    [AC_CHECK_MEMBERS([struct crypt_data.initialized], [], [],</div><div class='add'>+		      [AC_INCLUDES_DEFAULT([@%:@include &lt;crypt.h&gt;])])])</div><div class='add'>+</div><div class='add'>+RUBY_CHECK_BUILTIN_FUNC(__builtin_alloca_with_align, [__builtin_alloca_with_align(1, 4096)])</div><div class='add'>+RUBY_CHECK_BUILTIN_FUNC(__builtin_assume_aligned, [__builtin_assume_aligned((void*)32, 32)])</div><div class='add'>+RUBY_CHECK_BUILTIN_FUNC(__builtin_bswap16, [__builtin_bswap16(0)])</div><div class='add'>+RUBY_CHECK_BUILTIN_FUNC(__builtin_bswap32, [__builtin_bswap32(0)])</div><div class='add'>+RUBY_CHECK_BUILTIN_FUNC(__builtin_bswap64, [__builtin_bswap64(0)])</div><div class='add'>+RUBY_CHECK_BUILTIN_FUNC(__builtin_popcount, [__builtin_popcount(0)])</div><div class='add'>+RUBY_CHECK_BUILTIN_FUNC(__builtin_popcountll, [__builtin_popcountll(0)])</div><div class='add'>+RUBY_CHECK_BUILTIN_FUNC(__builtin_clz, [__builtin_clz(0)])</div><div class='add'>+RUBY_CHECK_BUILTIN_FUNC(__builtin_clzl, [__builtin_clzl(0)])</div><div class='add'>+RUBY_CHECK_BUILTIN_FUNC(__builtin_clzll, [__builtin_clzll(0)])</div><div class='add'>+RUBY_CHECK_BUILTIN_FUNC(__builtin_ctz, [__builtin_ctz(0)])</div><div class='add'>+RUBY_CHECK_BUILTIN_FUNC(__builtin_ctzll, [__builtin_ctzll(0)])</div><div class='add'>+RUBY_CHECK_BUILTIN_FUNC(__builtin_add_overflow, [int x;__builtin_add_overflow(0,0,&amp;x)])</div><div class='add'>+RUBY_CHECK_BUILTIN_FUNC(__builtin_sub_overflow, [int x;__builtin_sub_overflow(0,0,&amp;x)])</div><div class='add'>+RUBY_CHECK_BUILTIN_FUNC(__builtin_mul_overflow, [int x;__builtin_mul_overflow(0,0,&amp;x)])</div><div class='add'>+RUBY_CHECK_BUILTIN_FUNC(__builtin_mul_overflow_p, [__builtin_mul_overflow_p(0,0,(int)0)])</div><div class='add'>+RUBY_CHECK_BUILTIN_FUNC(__builtin_constant_p, [__builtin_constant_p(0)])</div><div class='add'>+RUBY_CHECK_BUILTIN_FUNC(__builtin_choose_expr, [</div><div class='add'>+    [int x[__extension__(__builtin_choose_expr(1, 1, -1))]];</div><div class='add'>+    [int y[__extension__(__builtin_choose_expr(0, -1, 1))]];</div><div class='add'>+    ])</div><div class='add'>+AS_IF([test x$rb_cv_builtin___builtin_choose_expr = xyes], [</div><div class='add'>+    RUBY_CHECK_BUILTIN_FUNC(__builtin_choose_expr_constant_p, [</div><div class='add'>+    [int x[__extension__(__builtin_choose_expr(__builtin_constant_p(1), 1, -1))]];</div><div class='add'>+    [int y[__extension__(__builtin_choose_expr(__builtin_constant_p(foo), -1, 1))]];</div><div class='add'>+    ])</div><div class='add'>+])</div><div class='add'>+RUBY_CHECK_BUILTIN_FUNC(__builtin_types_compatible_p, [__builtin_types_compatible_p(int, int)])</div><div class='add'>+RUBY_CHECK_BUILTIN_FUNC(__builtin_trap, [__builtin_trap()])</div><div class='add'>+</div><div class='add'>+AS_IF([test "$ac_cv_func_qsort_r" != no], [</div><div class='add'>+  AC_CACHE_CHECK(whether qsort_r is GNU version, rb_cv_gnu_qsort_r,</div><div class='add'>+    [AC_TRY_COMPILE([</div><div class='add'>+@%:@include &lt;stdlib.h&gt;</div><div class='add'>+void (qsort_r)(void *base, size_t nmemb, size_t size,</div><div class='add'>+	    int (*compar)(const void *, const void *, void *),</div><div class='add'>+	    void *arg);</div><div class='add'>+],[ ],</div><div class='add'>+      [rb_cv_gnu_qsort_r=yes],</div><div class='add'>+      [rb_cv_gnu_qsort_r=no])</div><div class='add'>+  ])</div><div class='add'>+  AC_CACHE_CHECK(whether qsort_r is BSD version, rb_cv_bsd_qsort_r,</div><div class='add'>+    [AC_TRY_COMPILE([</div><div class='add'>+@%:@include &lt;stdlib.h&gt;</div><div class='add'>+void (qsort_r)(void *base, size_t nmemb, size_t size,</div><div class='add'>+	     void *arg, int (*compar)(void *, const void *, const void *));</div><div class='add'>+],[ ],</div><div class='add'>+      [rb_cv_bsd_qsort_r=yes],</div><div class='add'>+      [rb_cv_bsd_qsort_r=no])</div><div class='add'>+  ])</div><div class='add'>+  AS_CASE("$rb_cv_gnu_qsort_r:$rb_cv_bsd_qsort_r",</div><div class='add'>+  [yes:no], [</div><div class='add'>+    AC_DEFINE(HAVE_GNU_QSORT_R, 1)</div><div class='add'>+  ],</div><div class='add'>+  [no:yes], [</div><div class='add'>+    AC_DEFINE(HAVE_BSD_QSORT_R, 1)</div><div class='add'>+  ])</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+AC_CACHE_CHECK(whether atan2 handles Inf as C99, rb_cv_atan2_inf_c99, [</div><div class='add'>+    AS_IF([test $ac_cv_func_atan2f:$ac_cv_func_atan2l = yes:yes], [</div><div class='add'>+	AC_TRY_RUN([</div><div class='add'>+@%:@include &lt;math.h&gt;</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'>+@%:@ifndef EXIT_SUCCESS</div><div class='add'>+@%:@define EXIT_SUCCESS 0</div><div class='add'>+@%:@endif</div><div class='add'>+@%:@ifndef EXIT_FAILURE</div><div class='add'>+@%:@define EXIT_FAILURE 1</div><div class='add'>+@%:@endif</div><div class='add'>+</div><div class='add'>+int</div><div class='add'>+main(int argc, char **argv)</div><div class='add'>+{</div><div class='add'>+    if (fabs(atan2(INFINITY, INFINITY) - M_PI_4) &lt;= 0.01) return EXIT_SUCCESS;</div><div class='add'>+    return EXIT_FAILURE;</div><div class='add'>+}</div><div class='add'>+],</div><div class='add'>+	[rb_cv_atan2_inf_c99=yes],</div><div class='add'>+	[rb_cv_atan2_inf_c99=no],</div><div class='add'>+	[AS_CASE($target_os, [mingw*|mswin*], [rb_cv_atan2_inf_c99=no], [rb_cv_atan2_inf_c99=yes])]</div><div class='add'>+	)</div><div class='add'>+    ], [rb_cv_atan2_inf_c99=no])</div><div class='add'>+])</div><div class='add'>+AS_IF([test "x$rb_cv_atan2_inf_c99" = xyes], [AC_DEFINE(ATAN2_INF_C99)])</div><div class='add'>+</div><div class='add'>+# Some platform need -lrt for clock_gettime, but the other don't.</div><div class='add'>+AS_IF([test x"$ac_cv_func_clock_gettime" != xyes], [</div><div class='add'>+    # glibc 2.17 moves clock_* functions from librt to the main C library.</div><div class='add'>+    # http://sourceware.org/ml/libc-announce/2012/msg00001.html</div><div class='add'>+    AC_CHECK_LIB(rt, clock_gettime)</div><div class='add'>+    AS_IF([test x"$ac_cv_lib_rt_clock_gettime" = xyes], [</div><div class='add'>+	AC_DEFINE(HAVE_CLOCK_GETTIME, 1)</div><div class='add'>+    ])</div><div class='add'>+])</div><div class='add'>+AC_CHECK_FUNCS(clock_getres) # clock_getres should be tested after clock_gettime test including librt test.</div><div class='add'>+AC_CHECK_LIB([rt], [timer_create])</div><div class='add'>+AC_CHECK_LIB([rt], [timer_settime])</div><div class='add'>+AS_IF([test x"$ac_cv_lib_rt_timer_create" = xyes], [</div><div class='add'>+    AC_DEFINE(HAVE_TIMER_CREATE, 1)</div><div class='add'>+])</div><div class='add'>+AS_IF([test x"$ac_cv_lib_rt_timer_settime" = xyes], [</div><div class='add'>+    AC_DEFINE(HAVE_TIMER_SETTIME, 1)</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+AC_CACHE_CHECK(for unsetenv returns a value, rb_cv_unsetenv_return_value,</div><div class='add'>+  [AC_TRY_COMPILE([</div><div class='add'>+#include &lt;stdlib.h&gt;</div><div class='add'>+], [int v = unsetenv("foo");],</div><div class='add'>+	rb_cv_unsetenv_return_value=yes,</div><div class='add'>+	rb_cv_unsetenv_return_value=no)])</div><div class='add'>+AS_IF([test "$rb_cv_unsetenv_return_value" = no], [</div><div class='add'>+  AC_DEFINE(VOID_UNSETENV)</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+# End of setjmp check.</div><div class='add'>+</div><div class='add'>+AC_ARG_ENABLE(setreuid,</div><div class='add'>+       AS_HELP_STRING([--enable-setreuid], [use setreuid()/setregid() according to need even if obsolete]),</div><div class='add'>+       [use_setreuid=$enableval])</div><div class='add'>+AS_IF([test "$use_setreuid" = yes], [</div><div class='add'>+    AC_DEFINE(USE_SETREUID)</div><div class='add'>+    AC_DEFINE(USE_SETREGID)</div><div class='add'>+])</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([</div><div class='add'>+@%:@define _BSD_SOURCE</div><div class='add'>+@%:@define _DEFAULT_SOURCE</div><div class='add'>+@%:@include &lt;time.h&gt;</div><div class='add'>+   ],</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'>+AS_IF([test "$rb_cv_member_struct_tm_tm_gmtoff" = yes], [</div><div class='add'>+  AC_DEFINE(HAVE_STRUCT_TM_TM_GMTOFF)</div><div class='add'>+])</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'>+AS_IF([test "$rb_cv_have_daylight" = yes], [</div><div class='add'>+  AC_DEFINE(HAVE_DAYLIGHT)</div><div class='add'>+])</div><div class='add'>+</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;stdlib.h&gt;</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'>+AS_IF([test "$rb_cv_negative_time_t" = yes], [</div><div class='add'>+  AC_DEFINE(NEGATIVE_TIME_T)</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+# [ruby-dev:40910] overflow of time on FreeBSD</div><div class='add'>+# http://www.freebsd.org/cgi/query-pr.cgi?pr=145341</div><div class='add'>+AC_CACHE_CHECK(for localtime(3) overflow correctly, rb_cv_localtime_overflow,</div><div class='add'>+  [AC_TRY_RUN([</div><div class='add'>+#include &lt;stdlib.h&gt;</div><div class='add'>+#include &lt;time.h&gt;</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+check(time_t t1)</div><div class='add'>+{</div><div class='add'>+    struct tm *tm;</div><div class='add'>+    time_t t2;</div><div class='add'>+    tm = localtime(&amp;t1);</div><div class='add'>+    if (!tm)</div><div class='add'>+	return; /* overflow detected.  ok. */</div><div class='add'>+    t2 = mktime(tm);</div><div class='add'>+    if (t1 == t2)</div><div class='add'>+        return; /* round-trip.  ok. */</div><div class='add'>+    exit(1);</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;</div><div class='add'>+    if (~(time_t)0 &lt;= 0) {</div><div class='add'>+        t = (((time_t)1) &lt;&lt; (sizeof(time_t) * 8 - 2));</div><div class='add'>+        t |= t - 1;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        t = ~(time_t)0;</div><div class='add'>+    }</div><div class='add'>+    check(t);</div><div class='add'>+    return 0;</div><div class='add'>+}</div><div class='add'>+],</div><div class='add'>+	rb_cv_localtime_overflow=yes,</div><div class='add'>+	rb_cv_localtime_overflow=no,</div><div class='add'>+	rb_cv_localtime_overflow=no)])</div><div class='add'>+AS_IF([test "$rb_cv_localtime_overflow" = no], [</div><div class='add'>+  AC_DEFINE(LOCALTIME_OVERFLOW_PROBLEM)</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+AS_IF([test "$ac_cv_func_sigprocmask" = yes &amp;&amp; test "$ac_cv_func_sigaction" = yes], [</div><div class='add'>+   AC_DEFINE(POSIX_SIGNAL)</div><div class='add'>+], [</div><div class='add'>+  AC_CHECK_FUNCS(sigsetmask)</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=$ac_cv_func_sigsetmask)])</div><div class='add'>+  AS_IF([test "$rb_cv_bsd_signal" = yes], [</div><div class='add'>+    AC_DEFINE(BSD_SIGNAL)</div><div class='add'>+  ])</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+AC_CHECK_TYPES([sig_t],[],[],[@%:@include &lt;signal.h&gt;])</div><div class='add'>+</div><div class='add'>+AS_IF([test "$ac_cv_func_getpgid" = no], [</div><div class='add'>+  # AC_FUNC_GETPGRP fails when cross-compiling with old autoconf.</div><div class='add'>+  # autoconf is changed between 2.52d and 2.52f?</div><div class='add'>+  # http://lists.gnu.org/archive/html/bug-gnu-utils/2001-09/msg00181.html</div><div class='add'>+  # "autoconf cleanup for AC_FUNC_GETPGRP and GETPGRP_VOID"</div><div class='add'>+AC_FUNC_GETPGRP</div><div class='add'>+])</div><div class='add'>+AS_IF([test "$ac_cv_func_setpgid:$ac_cv_func_setpgrp" = no:yes], [</div><div class='add'>+  # AC_FUNC_SETPGRP fails when cross-compiling.  (until autoconf 2.69?)</div><div class='add'>+  # https://lists.gnu.org/archive/html/bug-autoconf/2013-02/msg00002.html</div><div class='add'>+  # "AC_FUNC_SETPGRP fails to work properly when cross-compiling"</div><div class='add'>+AC_FUNC_SETPGRP</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+AS_IF([test x"$ac_cv_func_dirfd" = xno], [</div><div class='add'>+  AS_CASE(["$target_os"],[solaris*],</div><div class='add'>+          [AC_CHECK_MEMBERS([DIR.d_fd, DIR.dd_fd],,,[</div><div class='add'>+#include &lt;sys/types.h&gt;</div><div class='add'>+#include &lt;dirent.h&gt;</div><div class='add'>+])])</div><div class='add'>+])</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_COMPILE_IFELSE([AC_LANG_BOOL_COMPILE_TRY([], [(-1==(-1&gt;&gt;1))])],</div><div class='add'>+	rb_cv_rshift_sign=yes,</div><div class='add'>+	rb_cv_rshift_sign=no)])</div><div class='add'>+AS_IF([test "$rb_cv_rshift_sign" = yes], [</div><div class='add'>+  AC_DEFINE(RSHIFT(x,y), ((x)&gt;&gt;(int)(y)))</div><div class='add'>+], [</div><div class='add'>+  AC_DEFINE(RSHIFT(x,y), (((x)&lt;0) ? ~((~(x))&gt;&gt;(int)(y)) : (x)&gt;&gt;(int)(y)))</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+AS_IF([test "$ac_cv_func_copy_file_range" = no], [</div><div class='add'>+  AC_CACHE_CHECK([for copy_file_range],</div><div class='add'>+    rb_cv_use_copy_file_range,</div><div class='add'>+    [AC_TRY_RUN([</div><div class='add'>+#include &lt;sys/types.h&gt;</div><div class='add'>+#include &lt;sys/stat.h&gt;</div><div class='add'>+#include &lt;sys/syscall.h&gt;</div><div class='add'>+#include &lt;fcntl.h&gt;</div><div class='add'>+#include &lt;unistd.h&gt;</div><div class='add'>+</div><div class='add'>+#ifndef O_TMPFILE</div><div class='add'>+  #define O_TMPFILE __O_TMPFILE</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+int</div><div class='add'>+main()</div><div class='add'>+{</div><div class='add'>+#ifdef __NR_copy_file_range</div><div class='add'>+   int ret, fd_in, fd_out;</div><div class='add'>+   fd_in = open("/tmp", O_TMPFILE|O_RDWR, S_IRUSR);</div><div class='add'>+   fd_out = open("/tmp", O_TMPFILE|O_WRONLY, S_IWUSR);</div><div class='add'>+   ret = syscall(__NR_copy_file_range, fd_in, NULL, fd_out, NULL, 0, 0);</div><div class='add'>+   close(fd_in);</div><div class='add'>+   close(fd_out);</div><div class='add'>+   if (ret == -1) { return 1; }</div><div class='add'>+   return 0;</div><div class='add'>+#else</div><div class='add'>+   return 1;</div><div class='add'>+#endif</div><div class='add'>+}</div><div class='add'>+  ],</div><div class='add'>+    [rb_cv_use_copy_file_range=yes],</div><div class='add'>+    [rb_cv_use_copy_file_range=no],</div><div class='add'>+    [rb_cv_use_copy_file_range=no])])</div><div class='add'>+])</div><div class='add'>+AS_CASE(["$ac_cv_func_copy_file_range:$rb_cv_use_copy_file_range"], [*yes*], [</div><div class='add'>+  AC_DEFINE(USE_COPY_FILE_RANGE)</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+AS_CASE(["$ac_cv_func_gettimeofday:$ac_cv_func_clock_gettime"],</div><div class='add'>+[*yes*], [],</div><div class='add'>+[</div><div class='add'>+    AC_MSG_ERROR(clock_gettime() or gettimeofday() must exist)</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+AS_IF([test "$ac_cv_func_sysconf" = yes], [</div><div class='add'>+  RUBY_CHECK_SYSCONF(CLK_TCK)</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+AS_IF([test "${universal_binary-no}" = yes ], [</div><div class='add'>+    archflagpat=`eval echo '"'"${ARCH_FLAG}"'"' | sed 's/[[][|.*]]/\\&amp;/g'`</div><div class='add'>+    save_CFLAGS="$CFLAGS" new_cflags=`echo "$CFLAGS" | sed "s|$archflagpat"'||'`</div><div class='add'>+    save_LDFLAGS="$LDFLAGS" new_ldflags=`echo "$LDFLAGS" | sed "s|$archflagpat"'||'`</div><div class='add'>+    stack_dir=</div><div class='add'>+    for archs in ${universal_archnames}; do</div><div class='add'>+	archs=`echo $archs | sed 's/=.*//'`</div><div class='add'>+	CFLAGS="$new_cflags -arch $archs"</div><div class='add'>+	LDFLAGS="$new_ldflags -arch $archs"</div><div class='add'>+	RUBY_STACK_GROW_DIRECTION($archs, dir)</div><div class='add'>+	AS_IF([test x$stack_dir = x], [</div><div class='add'>+	    stack_dir=$dir</div><div class='add'>+	], [test x$stack_dir != x$dir], [</div><div class='add'>+	    stack_dir=no</div><div class='add'>+	])</div><div class='add'>+    done</div><div class='add'>+    CFLAGS="$save_CFLAGS" LDFLAGS="$save_LDFLAGS"</div><div class='add'>+    AS_IF([test x$stack_dir = xno], [</div><div class='add'>+	for archs in ${universal_archnames}; do</div><div class='add'>+	    archs=`echo $archs | sed 's/=.*//'`</div><div class='add'>+	    eval dir=\$[rb_cv_stack_grow_dir_]AS_TR_SH([$archs])</div><div class='add'>+	    RUBY_DEFINE_IF([defined __${archs}__], STACK_GROW_DIRECTION, $dir)</div><div class='add'>+	done</div><div class='add'>+    ], [</div><div class='add'>+	AC_DEFINE_UNQUOTED(STACK_GROW_DIRECTION, $stack_dir)</div><div class='add'>+    ])</div><div class='add'>+], [</div><div class='add'>+    RUBY_STACK_GROW_DIRECTION($target_cpu, dir)</div><div class='add'>+    AC_DEFINE_UNQUOTED(STACK_GROW_DIRECTION, $dir)</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+AC_ARG_WITH(coroutine,</div><div class='add'>+    AS_HELP_STRING([--with-coroutine=IMPLEMENTATION], [specify the coroutine implementation to use]),</div><div class='add'>+    [rb_cv_coroutine=$withval])</div><div class='add'>+AS_CASE([$rb_cv_coroutine], [yes|''], [</div><div class='add'>+    AC_MSG_CHECKING(native coroutine implementation for ${target_cpu}-${target_os})</div><div class='add'>+    rb_cv_coroutine=</div><div class='add'>+    AS_CASE(["$target_cpu-$target_os"],</div><div class='add'>+        [x*64-darwin*], [</div><div class='add'>+            rb_cv_coroutine=amd64</div><div class='add'>+        ],</div><div class='add'>+        [arm64-darwin*], [</div><div class='add'>+            rb_cv_coroutine=arm64</div><div class='add'>+        ],</div><div class='add'>+        [x*64-linux*], [</div><div class='add'>+            AS_CASE(["$ac_cv_sizeof_voidp"],</div><div class='add'>+                [8], [ rb_cv_coroutine=amd64 ],</div><div class='add'>+                [4], [ rb_cv_coroutine=x86 ],</div><div class='add'>+                dnl unknown pointer size, bail out as no Context.h soon.</div><div class='add'>+            )</div><div class='add'>+        ],</div><div class='add'>+        [*86-linux*], [</div><div class='add'>+            rb_cv_coroutine=x86</div><div class='add'>+        ],</div><div class='add'>+        [x64-mingw32], [</div><div class='add'>+            rb_cv_coroutine=win64</div><div class='add'>+        ],</div><div class='add'>+        [*86-mingw32], [</div><div class='add'>+            rb_cv_coroutine=win32</div><div class='add'>+        ],</div><div class='add'>+        [arm*-linux*], [</div><div class='add'>+            rb_cv_coroutine=arm32</div><div class='add'>+        ],</div><div class='add'>+        [aarch64-linux*], [</div><div class='add'>+            rb_cv_coroutine=arm64</div><div class='add'>+        ],</div><div class='add'>+        [powerpc64le-linux*], [</div><div class='add'>+            rb_cv_coroutine=ppc64le</div><div class='add'>+        ],</div><div class='add'>+        [x86_64-openbsd*], [</div><div class='add'>+            rb_cv_coroutine=amd64</div><div class='add'>+        ],</div><div class='add'>+        [i386-openbsd*], [</div><div class='add'>+            rb_cv_coroutine=x86</div><div class='add'>+        ],</div><div class='add'>+        [*-openbsd*], [</div><div class='add'>+            rb_cv_coroutine=copy</div><div class='add'>+        ],</div><div class='add'>+        [*-haiku*], [</div><div class='add'>+            rb_cv_coroutine=copy</div><div class='add'>+        ],</div><div class='add'>+        [</div><div class='add'>+            rb_cv_coroutine=ucontext</div><div class='add'>+        ]</div><div class='add'>+    )</div><div class='add'>+    AC_MSG_RESULT(${rb_cv_coroutine})</div><div class='add'>+])</div><div class='add'>+COROUTINE_H=coroutine/$rb_cv_coroutine/Context.h</div><div class='add'>+AS_IF([test ! -f "$srcdir/$COROUTINE_H"],</div><div class='add'>+      [AC_MSG_ERROR('$rb_cv_coroutine' is not supported as coroutine)])</div><div class='add'>+AS_CASE([$rb_cv_coroutine],</div><div class='add'>+    [copy|ucontext], [</div><div class='add'>+        COROUTINE_SRC=coroutine/$rb_cv_coroutine/Context.c</div><div class='add'>+    ],</div><div class='add'>+    [</div><div class='add'>+        COROUTINE_SRC=coroutine/$rb_cv_coroutine/Context.'$(ASMEXT)'</div><div class='add'>+    ]</div><div class='add'>+)</div><div class='add'>+AC_DEFINE_UNQUOTED(COROUTINE_H, ["$COROUTINE_H"])</div><div class='add'>+AC_SUBST(X_COROUTINE_H, [$COROUTINE_H])</div><div class='add'>+AC_SUBST(X_COROUTINE_SRC, [$COROUTINE_SRC])</div><div class='add'>+</div><div class='add'>+AS_IF([test x"$enable_pthread" = xyes], [</div><div class='add'>+    for pthread_lib in thr pthread pthreads c c_r root; do</div><div class='add'>+	AC_CHECK_LIB($pthread_lib, pthread_create,</div><div class='add'>+		     rb_with_pthread=yes, rb_with_pthread=no)</div><div class='add'>+	AS_IF([test "$rb_with_pthread" = "yes"], [break])</div><div class='add'>+    done</div><div class='add'>+    AS_IF([test x"$rb_with_pthread" = xyes], [</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'>+	AC_CHECK_HEADERS(pthread_np.h, [], [], [@%:@include &lt;pthread.h&gt;])</div><div class='add'>+	AS_CASE(["$pthread_lib:$target_os"],</div><div class='add'>+		[c:*], [],</div><div class='add'>+		[root:*], [],</div><div class='add'>+		[c_r:*|*:openbsd*|*:mirbsd*],  [LIBS="-pthread $LIBS"],</div><div class='add'>+		[LIBS="-l$pthread_lib $LIBS"])</div><div class='add'>+    ], [</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'>+    ])</div><div class='add'>+    AC_CACHE_CHECK([whether pthread_t is scalar type], [rb_cv_scalar_pthread_t], [</div><div class='add'>+	AC_TRY_COMPILE([</div><div class='add'>+	    @%:@include &lt;pthread.h&gt;</div><div class='add'>+	    ], [</div><div class='add'>+	    pthread_t thread_id;</div><div class='add'>+	    thread_id = 0;</div><div class='add'>+	    if (!thread_id) return 0;</div><div class='add'>+	    ], [rb_cv_scalar_pthread_t=yes], [rb_cv_scalar_pthread_t=no])</div><div class='add'>+    ])</div><div class='add'>+    AS_IF([test x"$rb_cv_scalar_pthread_t" = xyes], [</div><div class='add'>+	: # RUBY_CHECK_SIZEOF(pthread_t, [void* int long], [], [@%:@include &lt;pthread.h&gt;])</div><div class='add'>+    ], [</div><div class='add'>+	AC_DEFINE(NON_SCALAR_THREAD_ID)</div><div class='add'>+    ])</div><div class='add'>+    AC_CHECK_FUNCS(sched_yield pthread_attr_setinheritsched \</div><div class='add'>+	pthread_attr_get_np pthread_attr_getstack pthread_attr_getguardsize \</div><div class='add'>+	pthread_get_stackaddr_np pthread_get_stacksize_np \</div><div class='add'>+	thr_stksegment pthread_stackseg_np pthread_getthrds_np \</div><div class='add'>+	pthread_condattr_setclock \</div><div class='add'>+	pthread_sigmask pthread_setname_np pthread_set_name_np)</div><div class='add'>+    AS_CASE(["$target_os"],[aix*],[ac_cv_func_pthread_getattr_np=no],[AC_CHECK_FUNCS(pthread_getattr_np)])</div><div class='add'>+    set_current_thread_name=</div><div class='add'>+    AS_IF([test "$ac_cv_func_pthread_setname_np" = yes], [</div><div class='add'>+	AC_CACHE_CHECK([arguments of pthread_setname_np], [rb_cv_func_pthread_setname_np_arguments],</div><div class='add'>+	    [rb_cv_func_pthread_setname_np_arguments=</div><div class='add'>+	    # Linux,AIX,  (pthread_self(), name)</div><div class='add'>+	    # NetBSD (pthread_self(), \"%s\", name)</div><div class='add'>+	    # Darwin (name)</div><div class='add'>+	    for mac in \</div><div class='add'>+		"(pthread_self(), name)" \</div><div class='add'>+		"(pthread_self(), \"%s\", name)" \</div><div class='add'>+		"(name)" \</div><div class='add'>+		; do</div><div class='add'>+		AC_TRY_COMPILE([</div><div class='add'>+		    @%:@include &lt;pthread.h&gt;</div><div class='add'>+		    @%:@ifdef HAVE_PTHREAD_NP_H</div><div class='add'>+		    @%:@include &lt;pthread_np.h&gt;</div><div class='add'>+		    @%:@endif</div><div class='add'>+		    @%:@define SET_THREAD_NAME(name) pthread_setname_np${mac}</div><div class='add'>+		    ],</div><div class='add'>+		    [if (SET_THREAD_NAME("conftest")) return 1;],</div><div class='add'>+		    [rb_cv_func_pthread_setname_np_arguments="${mac}"</div><div class='add'>+		    break])</div><div class='add'>+	    done</div><div class='add'>+	    ]</div><div class='add'>+	)</div><div class='add'>+	AS_IF([test -n "${rb_cv_func_pthread_setname_np_arguments}"], [</div><div class='add'>+	    set_current_thread_name="pthread_setname_np${rb_cv_func_pthread_setname_np_arguments}"</div><div class='add'>+	])</div><div class='add'>+    ], [test "$ac_cv_func_pthread_set_name_np" = yes], [</div><div class='add'>+	set_current_thread_name="pthread_set_name_np(pthread_self(), name)"</div><div class='add'>+    ])</div><div class='add'>+    AS_IF([test -n "$set_current_thread_name"], [</div><div class='add'>+	AC_DEFINE_UNQUOTED(SET_CURRENT_THREAD_NAME(name), $set_current_thread_name)</div><div class='add'>+	AS_CASE([$set_current_thread_name],</div><div class='add'>+	    [*'pthread_self()'*], [</div><div class='add'>+		set_another_thread_name=`echo "$set_current_thread_name" | sed 's/pthread_self()/thid/'`</div><div class='add'>+		AC_DEFINE_UNQUOTED(SET_ANOTHER_THREAD_NAME(thid,name), $set_another_thread_name)</div><div class='add'>+	    ])</div><div class='add'>+    ])</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+AS_IF([test x"$ac_cv_header_ucontext_h" = xno], [</div><div class='add'>+    AC_CACHE_CHECK([if signal.h defines ucontext_t], [rb_cv_ucontext_in_signal_h],</div><div class='add'>+	[AC_TRY_COMPILE([@%:@include &lt;signal.h&gt;],</div><div class='add'>+	[size_t size = sizeof(ucontext_t);],</div><div class='add'>+	[rb_cv_ucontext_in_signal_h=yes], [rb_cv_ucontext_in_signal_h=no])])</div><div class='add'>+    AS_IF([test x"$rb_cv_ucontext_in_signal_h" = xyes], [</div><div class='add'>+	    AC_DEFINE_UNQUOTED(UCONTEXT_IN_SIGNAL_H, 1)</div><div class='add'>+    ])</div><div class='add'>+])</div><div class='add'>+AS_IF([test x"$ac_cv_header_ucontext_h" = xyes -o x"$rb_cv_ucontext_in_signal_h" = xyes], [</div><div class='add'>+    AC_CACHE_CHECK([if mcontext_t is a pointer], [rb_cv_mcontext_t_ptr],</div><div class='add'>+	[AC_TRY_COMPILE([</div><div class='add'>+	    @%:@include &lt;signal.h&gt;</div><div class='add'>+	    @%:@ifdef HAVE_UCONTEXT_H</div><div class='add'>+	    @%:@include &lt;ucontext.h&gt;</div><div class='add'>+	    @%:@endif</div><div class='add'>+        mcontext_t test(mcontext_t mc) {return mc+1;}</div><div class='add'>+	],</div><div class='add'>+	[test(0);],</div><div class='add'>+	[rb_cv_mcontext_t_ptr=yes], [rb_cv_mcontext_t_ptr=no])])</div><div class='add'>+    AS_IF([test x"$rb_cv_mcontext_t_ptr" = xyes], [</div><div class='add'>+	AC_DEFINE_UNQUOTED(DEFINE_MCONTEXT_PTR(mc, uc), mcontext_t mc = (uc)-&gt;uc_mcontext)</div><div class='add'>+    ], [</div><div class='add'>+	AC_DEFINE_UNQUOTED(DEFINE_MCONTEXT_PTR(mc, uc), mcontext_t *mc = &amp;(uc)-&gt;uc_mcontext)</div><div class='add'>+    ])</div><div class='add'>+    AS_IF([test x"$rb_with_pthread" = xyes], [</div><div class='add'>+	AC_CHECK_FUNCS(getcontext setcontext)</div><div class='add'>+    ])</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+AS_IF([test "$ac_cv_func_fork_works" = "yes" -a "$rb_with_pthread" = "yes"], [</div><div class='add'>+    AC_CACHE_CHECK([if fork works with pthread], rb_cv_fork_with_pthread,</div><div class='add'>+	[AC_TRY_RUN([</div><div class='add'>+#include &lt;stdlib.h&gt;</div><div class='add'>+#include &lt;unistd.h&gt;</div><div class='add'>+#include &lt;pthread.h&gt;</div><div class='add'>+#include &lt;stdio.h&gt;</div><div class='add'>+#include &lt;sys/types.h&gt;</div><div class='add'>+#include &lt;sys/wait.h&gt;</div><div class='add'>+#include &lt;signal.h&gt;</div><div class='add'>+#ifndef EXIT_SUCCESS</div><div class='add'>+#define EXIT_SUCCESS 0</div><div class='add'>+#endif</div><div class='add'>+#ifndef EXIT_FAILURE</div><div class='add'>+#define EXIT_FAILURE 1</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+void *</div><div class='add'>+thread_func(void *dmy)</div><div class='add'>+{</div><div class='add'>+    return dmy;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+int</div><div class='add'>+use_threads(void)</div><div class='add'>+{</div><div class='add'>+    pthread_t tid;</div><div class='add'>+    if (pthread_create(&amp;tid, 0, thread_func, 0) != 0) {</div><div class='add'>+	return -1;</div><div class='add'>+    }</div><div class='add'>+    if (pthread_join(tid, 0) != 0) {</div><div class='add'>+	return -1;</div><div class='add'>+    }</div><div class='add'>+    return 0;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+int</div><div class='add'>+main(int argc, char *argv[])</div><div class='add'>+{</div><div class='add'>+    pid_t pid;</div><div class='add'>+    if (use_threads()) return EXIT_FAILURE;</div><div class='add'>+    pid = fork();</div><div class='add'>+</div><div class='add'>+    if (pid) {</div><div class='add'>+	int loc;</div><div class='add'>+	sleep(1);</div><div class='add'>+	if (waitpid(pid, &amp;loc, WNOHANG) == 0) {</div><div class='add'>+	    kill(pid, SIGKILL);</div><div class='add'>+	    return EXIT_FAILURE;</div><div class='add'>+	}</div><div class='add'>+        if (!WIFEXITED(loc) || WEXITSTATUS(loc) != EXIT_SUCCESS)</div><div class='add'>+           return EXIT_FAILURE;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+	if (use_threads()) return EXIT_FAILURE;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return EXIT_SUCCESS;</div><div class='add'>+}],</div><div class='add'>+	rb_cv_fork_with_pthread=yes,</div><div class='add'>+	rb_cv_fork_with_pthread=no,</div><div class='add'>+	rb_cv_fork_with_pthread=yes)])</div><div class='add'>+    test x$rb_cv_fork_with_pthread = xyes || AC_DEFINE(CANNOT_FORK_WITH_PTHREAD)</div><div class='add'>+])</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+: "runtime section" &amp;&amp; {</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'>+	AS_HELP_STRING([--with-dln-a-out], [use dln_a_out if possible]),</div><div class='add'>+	[</div><div class='add'>+	AS_CASE([$withval],</div><div class='add'>+	[yes], [</div><div class='add'>+	    AS_IF([test "$enable_shared" = yes], [</div><div class='add'>+		AC_MSG_ERROR(dln_a_out can not make shared library)</div><div class='add'>+	    ])</div><div class='add'>+	    with_dln_a_out=yes],</div><div class='add'>+	[</div><div class='add'>+	    with_dln_a_out=no])], [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_LINK([],[], [</div><div class='add'>+AS_CASE(["`head -1 conftest$EXEEXT | tr -dc '\177ELF' | tr '\177' .`"],</div><div class='add'>+[.ELF*], [rb_cv_binary_elf=yes], [rb_cv_binary_elf=no])],</div><div class='add'>+rb_cv_binary_elf=no)])</div><div class='add'>+</div><div class='add'>+AS_IF([test "$rb_cv_binary_elf" = yes], [</div><div class='add'>+  AC_DEFINE(USE_ELF)</div><div class='add'>+  AS_IF([test "$with_dln_a_out" = yes], [</div><div class='add'>+    AC_MSG_ERROR(dln_a_out does not work with ELF)</div><div class='add'>+  ])</div><div class='add'>+  AC_CHECK_HEADERS([elf.h elf_abi.h])</div><div class='add'>+  AS_IF([test $ac_cv_header_elf_h = yes -o $ac_cv_header_elf_abi_h = yes], [</div><div class='add'>+    AC_LIBOBJ([addr2line])</div><div class='add'>+    AC_CHECK_LIB([z], [uncompress])</div><div class='add'>+  ])</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+AC_CHECK_HEADERS([mach-o/loader.h])</div><div class='add'>+AS_IF([test "$ac_cv_header_mach_o_loader_h" = yes], [</div><div class='add'>+  AC_LIBOBJ([addr2line])</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+AS_CASE(["$target_os"],</div><div class='add'>+[linux* | gnu* | k*bsd*-gnu | bsdi* | kopensolaris*-gnu], [</div><div class='add'>+    AS_IF([test "$rb_cv_binary_elf" = no], [</div><div class='add'>+	with_dln_a_out=yes</div><div class='add'>+    ], [</div><div class='add'>+	LDFLAGS="$LDFLAGS -rdynamic"</div><div class='add'>+    ])])</div><div class='add'>+LIBEXT=a</div><div class='add'>+</div><div class='add'>+AC_ARG_WITH(mjit-tabs,</div><div class='add'>+    AS_HELP_STRING([--without-mjit-tabs], [expand tabs in mjit header]),</div><div class='add'>+    [AS_IF([test $withval = no], [MJIT_TABS=false])])</div><div class='add'>+AC_SUBST(MJIT_TABS)dnl</div><div class='add'>+AC_SUBST(DLDFLAGS)dnl</div><div class='add'>+AC_SUBST(ARCH_FLAG)dnl</div><div class='add'>+AC_SUBST(MJIT_HEADER_FLAGS)dnl</div><div class='add'>+AC_SUBST(MJIT_HEADER_INSTALL_DIR)dnl</div><div class='add'>+AC_SUBST(MJIT_CC)dnl</div><div class='add'>+AS_IF([test "$GCC" = "yes"], [</div><div class='add'>+    AS_CASE(["$target_os"],[aix*],[mjit_std_cflag="-std=gnu99"])</div><div class='add'>+])</div><div class='add'>+AC_SUBST(MJIT_CFLAGS, [${MJIT_CFLAGS-"-w ${mjit_std_cflag} ${orig_cflags}"}])dnl</div><div class='add'>+AC_SUBST(MJIT_OPTFLAGS, [${MJIT_OPTFLAGS-'$(optflags)'}])dnl</div><div class='add'>+AC_SUBST(MJIT_DEBUGFLAGS, [${MJIT_DEBUGFLAGS-'$(debugflags)'}])dnl</div><div class='add'>+AC_SUBST(MJIT_LDSHARED)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(LDSHAREDXX)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'>+AC_SUBST(ASMEXT, S)dnl</div><div class='add'>+</div><div class='add'>+STATIC=</div><div class='add'>+</div><div class='add'>+AS_IF([test "$with_dln_a_out" != yes], [</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'>+  AS_IF([test "$GCC" = yes], [</div><div class='add'>+    AS_CASE(["$target_os"],</div><div class='add'>+    [darwin*], [</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'>+      RUBY_APPEND_OPTION(CCDLFLAGS, -fno-common)],</div><div class='add'>+    [bsdi*|cygwin*|mingw*|aix*|interix*], [ ],</div><div class='add'>+    [</div><div class='add'>+      RUBY_APPEND_OPTION(CCDLFLAGS, -fPIC)])</div><div class='add'>+  ], [</div><div class='add'>+    AS_CASE(["$target_os"],</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'>+  ])</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+  AC_ARG_ENABLE(rpath,</div><div class='add'>+       AS_HELP_STRING([--enable-rpath], [embed run path into extension libraries.</div><div class='add'>+       enabled by default on ELF platforms]),</div><div class='add'>+       [enable_rpath=$enableval], [enable_rpath="$rb_cv_binary_elf"])</div><div class='add'>+</div><div class='add'>+  AS_CASE(["$target_os"],</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*], [	AS_IF([test "$GCC" = yes], [</div><div class='add'>+			    : ${LDSHARED='$(CC) -shared'}</div><div class='add'>+			    AS_IF([test "$rb_cv_prog_gnu_ld" = yes], [</div><div class='add'>+				LDFLAGS="$LDFLAGS -Wl,-E"</div><div class='add'>+			    ])</div><div class='add'>+			], [</div><div class='add'>+			    : ${LDSHARED='$(CC) -G'}</div><div class='add'>+			])</div><div class='add'>+			AS_IF([test "$ac_cv_sizeof_voidp" = 8], [</div><div class='add'>+			    : ${LIBPATHENV=LD_LIBRARY_PATH_64}</div><div class='add'>+			    : ${PRELOADENV=LD_PRELOAD_64}</div><div class='add'>+			], [</div><div class='add'>+			    : ${LIBPATHENV=LD_LIBRARY_PATH_32}</div><div class='add'>+			    : ${PRELOADENV=LD_PRELOAD_32}</div><div class='add'>+			])</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='$(CC) -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*], [	AS_CASE(["$CC"],</div><div class='add'>+			[*shlicc*], [	: ${LDSHARED='$(CC) -r'}</div><div class='add'>+					rb_cv_dlopen=yes])],</div><div class='add'>+	[linux* | gnu* | k*bsd*-gnu | netbsd* | bsdi* | kopensolaris*-gnu | haiku*], [</div><div class='add'>+			: ${LDSHARED='$(CC) -shared'}</div><div class='add'>+			AS_IF([test "$rb_cv_binary_elf" = yes], [</div><div class='add'>+			    LDFLAGS="$LDFLAGS -Wl,-export-dynamic"</div><div class='add'>+			])</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*], [</div><div class='add'>+			: ${LDSHARED='$(CC) -shared'}</div><div class='add'>+			AS_IF([test "$rb_cv_binary_elf" = yes], [</div><div class='add'>+			    LDFLAGS="$LDFLAGS -rdynamic"</div><div class='add'>+			    DLDFLAGS="$DLDFLAGS "'-Wl,-soname,$@'</div><div class='add'>+			], [</div><div class='add'>+			  test "$GCC" = yes &amp;&amp; test "$rb_cv_prog_gnu_ld" = yes || LDSHARED='$(LD) -Bshareable'</div><div class='add'>+			])</div><div class='add'>+			rb_cv_dlopen=yes],</div><div class='add'>+	[openbsd*|mirbsd*], [	: ${LDSHARED='$(CC) -shared ${CCDLFLAGS}'}</div><div class='add'>+			AS_IF([test "$rb_cv_binary_elf" = yes], [</div><div class='add'>+			    LDFLAGS="$LDFLAGS -Wl,-E"</div><div class='add'>+			])</div><div class='add'>+			rb_cv_dlopen=yes],</div><div class='add'>+	[darwin*], [	: ${LDSHARED='$(CC) -dynamic -bundle'}</div><div class='add'>+			: ${DLDSHARED='$(CC) -dynamiclib'}</div><div class='add'>+			: ${LDFLAGS=""}</div><div class='add'>+			: ${LIBPATHENV=DYLD_FALLBACK_LIBRARY_PATH}</div><div class='add'>+			: ${PRELOADENV=DYLD_INSERT_LIBRARIES}</div><div class='add'>+			rb_cv_dlopen=yes],</div><div class='add'>+        [aix*], [	: ${LDSHARED='$(CC)'}</div><div class='add'>+			AS_IF([test "$GCC" = yes], [</div><div class='add'>+			    LDSHARED="$LDSHARED ${linker_flag}-G -shared"</div><div class='add'>+			], [</div><div class='add'>+			    LDSHARED="$LDSHARED ${linker_flag}-G"</div><div class='add'>+			])</div><div class='add'>+			EXTDLDFLAGS='-e$(TARGET_ENTRY)'</div><div class='add'>+			XLDFLAGS="${linker_flag}"'-bE:$(ARCHFILE)'" ${linker_flag}-brtl"</div><div class='add'>+			XLDFLAGS="$XLDFLAGS ${linker_flag}-blibpath:${prefix}/lib:${LIBPATH:-/usr/lib:/lib}"</div><div class='add'>+			: ${ARCHFILE="ruby.imp"}</div><div class='add'>+                        TRY_LINK='$(CC) -oconftest $(INCFLAGS) -I$(hdrdir) $(CPPFLAGS)'</div><div class='add'>+                        TRY_LINK="$TRY_LINK"' $(CFLAGS) $(src) $(LIBPATH) $(LDFLAGS) $(LOCAL_LIBS) $(LIBS)'</div><div class='add'>+			: ${LIBPATHENV=LIBPATH}</div><div class='add'>+			: ${PRELOADENV=LDR_PRELOAD}</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*], [</div><div class='add'>+			: ${LDSHARED='$(CC) -shared'}</div><div class='add'>+			XLDFLAGS="$XLDFLAGS -Wl,--stack,0x00200000,--enable-auto-import"</div><div class='add'>+			DLDFLAGS="${DLDFLAGS} -Wl,--enable-auto-image-base,--enable-auto-import"</div><div class='add'>+			: ${LIBPATHENV=PATH}</div><div class='add'>+			: ${PRELOADENV=""}</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'>+	[	: ${LDSHARED='$(LD)'}])</div><div class='add'>+  AC_MSG_RESULT($rb_cv_dlopen)</div><div class='add'>+</div><div class='add'>+  AS_IF([test "$rb_cv_dlopen" = yes], [</div><div class='add'>+    AS_CASE(["$target_os"],</div><div class='add'>+      [darwin*], [</div><div class='add'>+	for flag in \</div><div class='add'>+	  "-undefined dynamic_lookup" \</div><div class='add'>+	  "-multiply_defined suppress" \</div><div class='add'>+	  ; do</div><div class='add'>+	  test "x${linker_flag}" = x || flag="${linker_flag}`echo ${flag} | tr ' ' ,`"</div><div class='add'>+	  RUBY_TRY_LDFLAGS([$flag], [], [flag=])</div><div class='add'>+	  AS_IF([test "x$flag" != x], [</div><div class='add'>+	    RUBY_APPEND_OPTIONS(DLDFLAGS, [$flag])</div><div class='add'>+	  ])</div><div class='add'>+	done</div><div class='add'>+      ])</div><div class='add'>+  ])</div><div class='add'>+</div><div class='add'>+  AS_IF([test "$enable_rpath:${RPATHFLAG}" = yes:], [</div><div class='add'>+      AS_IF([test "x$rpathflag" != x], [</div><div class='add'>+	  RPATHFLAG=" ${rpathflag}%1\$-s"</div><div class='add'>+      ])</div><div class='add'>+  ])</div><div class='add'>+])</div><div class='add'>+AS_IF([test "${LDSHAREDXX}" = ""], [</div><div class='add'>+    AS_CASE(["${LDSHARED}"],</div><div class='add'>+	[*'$(CC)'*], [</div><div class='add'>+	    LDSHAREDXX=`echo "${LDSHARED}" | sed 's/\$(CC)/$(CXX)/'`</div><div class='add'>+	    ],</div><div class='add'>+	[*'${CC}'*], [</div><div class='add'>+	    LDSHAREDXX=`echo "${LDSHARED}" | sed 's/\${CC}/${CXX}/'`</div><div class='add'>+	    ],</div><div class='add'>+	[*$CC*], [</div><div class='add'>+	    LDSHAREDXX=`echo "${LDSHARED}" | sed "s|$CC|$CXX|"`</div><div class='add'>+	    ],</div><div class='add'>+	[ld" "*], [</div><div class='add'>+	    ])</div><div class='add'>+])</div><div class='add'>+AS_CASE([${RPATHFLAG}],[*'%1$'*],[: ${LIBPATHFLAG=' -L%1$-s'}],[: ${LIBPATHFLAG=' -L%s'}])</div><div class='add'>+</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(PRELOADENV, "${PRELOADENV-LD_PRELOAD}")</div><div class='add'>+AC_SUBST(TRY_LINK)</div><div class='add'>+</div><div class='add'>+AS_IF([test "x$OPT_DIR" != x], [</div><div class='add'>+    pat=`echo "${LDFLAGS_OPTDIR}" | sed ['s/[][\\.*|]/\\\\&amp;/']`</div><div class='add'>+    LDFLAGS=`echo "${LDFLAGS}" | sed "s| ${pat}||"`</div><div class='add'>+    val=`IFS="$PATH_SEPARATOR"</div><div class='add'>+        for dir in $OPT_DIR; do</div><div class='add'>+            echo x ${LIBPATHFLAG} ${RPATHFLAG} |</div><div class='add'>+            sed "s/^x *//;s${IFS}"'%1\\$-s'"${IFS}${dir}/lib${IFS}g;s${IFS}%s${IFS}${dir}/lib${IFS}g"</div><div class='add'>+        done | tr '\012' ' ' | sed 's/ *$//'`</div><div class='add'>+    AS_IF([test x"$val" != x], [</div><div class='add'>+	test x"${LDFLAGS}" = x || LDFLAGS="$LDFLAGS "</div><div class='add'>+	LDFLAGS="$LDFLAGS$val"</div><div class='add'>+	test x"${DLDFLAGS}" = x || DLDFLAGS="$DLDFLAGS "</div><div class='add'>+	DLDFLAGS="$DLDFLAGS$val"</div><div class='add'>+    ])</div><div class='add'>+    LDFLAGS_OPTDIR="$val"</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+AS_CASE(["$target_os"],</div><div class='add'>+[freebsd*], [</div><div class='add'>+    AC_CHECK_LIB([procstat], [procstat_open_sysctl])</div><div class='add'>+    AS_IF([test "x$ac_cv_lib_procstat_procstat_open_sysctl" = xyes], [</div><div class='add'>+	AC_CHECK_FUNCS(procstat_getvmmap)</div><div class='add'>+    ])</div><div class='add'>+    ])</div><div class='add'>+AS_CASE(["$target_cpu-$target_os"],</div><div class='add'>+[*-darwin*], [</div><div class='add'>+    AC_CHECK_HEADERS([libproc.h])</div><div class='add'>+    AC_CHECK_HEADERS([execinfo.h])</div><div class='add'>+    AS_IF([test "x$ac_cv_header_execinfo_h" = xyes], [</div><div class='add'>+	AC_CHECK_LIB([execinfo], [backtrace])</div><div class='add'>+	AC_CHECK_HEADERS([libunwind.h])</div><div class='add'>+    ])],</div><div class='add'>+[*-freebsd*|x86_64-netbsd*], [</div><div class='add'>+    AC_CHECK_HEADERS([execinfo.h])</div><div class='add'>+    AS_IF([test "x$ac_cv_header_execinfo_h" = xyes], [</div><div class='add'>+	AC_CHECK_LIB([execinfo], [backtrace])</div><div class='add'>+	AC_CHECK_LIB([unwind], [unw_backtrace])</div><div class='add'>+    ])])</div><div class='add'>+AC_CHECK_FUNCS(backtrace)</div><div class='add'>+</div><div class='add'>+AS_IF([test "x$ac_cv_func_backtrace" = xyes], [</div><div class='add'>+  AC_CACHE_CHECK(for broken backtrace, rb_cv_broken_backtrace,</div><div class='add'>+    [AC_TRY_RUN([</div><div class='add'>+#include &lt;unistd.h&gt;</div><div class='add'>+#include &lt;stdio.h&gt;</div><div class='add'>+#include &lt;stdlib.h&gt;</div><div class='add'>+#include &lt;stdint.h&gt;</div><div class='add'>+#include &lt;string.h&gt;</div><div class='add'>+#include &lt;signal.h&gt;</div><div class='add'>+#include &lt;execinfo.h&gt;</div><div class='add'>+</div><div class='add'>+]`grep '^@%:@ *define  *RUBY_SIGALTSTACK_SIZE' ${srcdir}/signal.c`[</div><div class='add'>+#define TRACE_SIZE 256</div><div class='add'>+</div><div class='add'>+void sigsegv(int signum, siginfo_t *info, void *ctx){</div><div class='add'>+    void *trace[TRACE_SIZE];</div><div class='add'>+    int n = backtrace(trace, TRACE_SIZE);</div><div class='add'>+    if (n &gt; 0) {</div><div class='add'>+	/*fprintf(stdout, "backtrace:%d\n",n);*/</div><div class='add'>+    } else {</div><div class='add'>+	_exit(EXIT_FAILURE);</div><div class='add'>+    }</div><div class='add'>+    _exit(EXIT_SUCCESS);</div><div class='add'>+}</div><div class='add'>+int</div><div class='add'>+main(void)</div><div class='add'>+{</div><div class='add'>+    volatile int *a = NULL;</div><div class='add'>+    stack_t ss;</div><div class='add'>+    struct sigaction sa;</div><div class='add'>+</div><div class='add'>+    ss.ss_sp = malloc(RUBY_SIGALTSTACK_SIZE);</div><div class='add'>+    if (ss.ss_sp == NULL) {</div><div class='add'>+	fprintf(stderr, "cannot allocate memory for sigaltstack\n");</div><div class='add'>+	return EXIT_FAILURE;</div><div class='add'>+    }</div><div class='add'>+    ss.ss_size = RUBY_SIGALTSTACK_SIZE;</div><div class='add'>+    ss.ss_flags = 0;</div><div class='add'>+    if (sigaltstack(&amp;ss, NULL) == -1) {</div><div class='add'>+	fprintf(stderr, "sigaltstack failed\n");</div><div class='add'>+	return EXIT_FAILURE;</div><div class='add'>+    }</div><div class='add'>+    memset(&amp;sa, 0, sizeof(struct sigaction));</div><div class='add'>+    sigemptyset(&amp;sa.sa_mask);</div><div class='add'>+    sa.sa_sigaction = sigsegv;</div><div class='add'>+    sa.sa_flags |= SA_SIGINFO;</div><div class='add'>+    sa.sa_flags |= SA_ONSTACK;</div><div class='add'>+    sigaction(SIGSEGV, &amp;sa, NULL);</div><div class='add'>+    a[0] = 1;</div><div class='add'>+    return EXIT_SUCCESS;</div><div class='add'>+}</div><div class='add'>+],</div><div class='add'>+	rb_cv_broken_backtrace=no,</div><div class='add'>+	rb_cv_broken_backtrace=yes,</div><div class='add'>+	rb_cv_broken_backtrace=no)])</div><div class='add'>+  AS_IF([test "$rb_cv_broken_backtrace" = yes], [</div><div class='add'>+    AC_DEFINE(BROKEN_BACKTRACE, 1)</div><div class='add'>+  ])</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+AC_ARG_WITH(valgrind,</div><div class='add'>+        AS_HELP_STRING([--without-valgrind],[disable valgrind memcheck support]),</div><div class='add'>+        [], with_valgrind=yes)</div><div class='add'>+AS_IF([test x$with_valgrind != xno],</div><div class='add'>+        [AC_CHECK_HEADERS(valgrind/memcheck.h)])</div><div class='add'>+</div><div class='add'>+dln_a_out_works=no</div><div class='add'>+AS_IF([test "$ac_cv_header_a_out_h" = yes], [</div><div class='add'>+  AS_IF([test "$with_dln_a_out" = yes || test "$rb_cv_dlopen" = unknown], [</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'>+    AS_IF([test "$rb_cv_dln_a_out" = yes], [</div><div class='add'>+      dln_a_out_works=yes</div><div class='add'>+      AC_DEFINE(USE_DLN_A_OUT)</div><div class='add'>+    ])</div><div class='add'>+  ])</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+AS_IF([test "$dln_a_out_works" = yes], [</div><div class='add'>+  AS_IF([test "$GCC" = yes], [</div><div class='add'>+    STATIC=-static</div><div class='add'>+  ], [</div><div class='add'>+    STATIC=-Bstatic</div><div class='add'>+  ])</div><div class='add'>+  DLEXT=so</div><div class='add'>+  CCDLFLAGS=</div><div class='add'>+], [</div><div class='add'>+  AS_CASE(["$target_os"],</div><div class='add'>+    [hpux*], [</div><div class='add'>+	DLEXT=sl],</div><div class='add'>+    [darwin*], [</div><div class='add'>+	SOEXT=dylib</div><div class='add'>+	DLEXT=bundle],</div><div class='add'>+    [cygwin*|mingw*|*djgpp*], [</div><div class='add'>+	LOAD_RELATIVE=1</div><div class='add'>+	SOEXT=dll</div><div class='add'>+	DLEXT=so],</div><div class='add'>+    [</div><div class='add'>+	DLEXT=so])</div><div class='add'>+])</div><div class='add'>+: ${SOEXT="${DLEXT}"}</div><div class='add'>+AC_SUBST(SOEXT)</div><div class='add'>+AS_IF([test "$rb_cv_dlopen:$load_relative" = yes:yes], [</div><div class='add'>+    AS_IF([test "$ac_cv_func_dladdr" = yes], [</div><div class='add'>+	LOAD_RELATIVE=1</div><div class='add'>+    ])</div><div class='add'>+])</div><div class='add'>+AS_IF([test x"$LOAD_RELATIVE" = x1], [</div><div class='add'>+    load_relative=yes</div><div class='add'>+], [</div><div class='add'>+    unset load_relative</div><div class='add'>+])</div><div class='add'>+</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'>+AC_SUBST(DLEXT)</div><div class='add'>+</div><div class='add'>+AS_IF([test "$with_dln_a_out" = yes], [</div><div class='add'>+  STRIP=true</div><div class='add'>+], [</div><div class='add'>+    AC_MSG_CHECKING([for $STRIP flags])</div><div class='add'>+    AC_LINK_IFELSE([AC_LANG_PROGRAM], [AS_IF(</div><div class='add'>+        ["${STRIP}" -A -n conftest$ac_exeext 2&gt;/dev/null], [</div><div class='add'>+            AC_MSG_RESULT([-A -n])</div><div class='add'>+            STRIP="${STRIP} -A -n"</div><div class='add'>+        ],</div><div class='add'>+        ["${STRIP}" -S -x conftest$ac_exeext 2&gt;/dev/null], [</div><div class='add'>+            AC_MSG_RESULT([-S -x])</div><div class='add'>+            STRIP="${STRIP} -S -x"</div><div class='add'>+        ], [</div><div class='add'>+            AC_MSG_RESULT([none needed])</div><div class='add'>+        ])</div><div class='add'>+    ])</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+AC_ARG_WITH(ext,</div><div class='add'>+            AC_HELP_STRING([--with-ext=EXTS],</div><div class='add'>+                           [pass to --with-ext option of extmk.rb]))</div><div class='add'>+AC_ARG_WITH(out-ext,</div><div class='add'>+            AC_HELP_STRING([--with-out-ext=EXTS],</div><div class='add'>+                           [pass to --without-ext option of extmk.rb]))</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'>+	    AS_HELP_STRING([--with-static-linked-ext], [link external modules statically]),</div><div class='add'>+            [AS_CASE([$withval],[yes],[STATIC=;EXTSTATIC=static],[no],[],[EXTSTATIC="$withval"])])</div><div class='add'>+AS_CASE([",$EXTSTATIC,"], [,static,|*,enc,*], [</div><div class='add'>+  ENCOBJS='enc/encinit.$(OBJEXT) enc/libenc.$(LIBEXT) enc/libtrans.$(LIBEXT)'</div><div class='add'>+  EXTOBJS='ext/extinit.$(OBJEXT)'</div><div class='add'>+  AC_DEFINE_UNQUOTED(EXTSTATIC, 1)</div><div class='add'>+  AC_SUBST(ENCSTATIC, static)</div><div class='add'>+], [</div><div class='add'>+  ENCOBJS='dmyenc.$(OBJEXT)'</div><div class='add'>+  EXTOBJS='dmyext.$(OBJEXT)'</div><div class='add'>+])</div><div class='add'>+AC_SUBST(ENCOBJS)</div><div class='add'>+AC_SUBST(EXTOBJS)</div><div class='add'>+</div><div class='add'>+AC_ARG_WITH(setup,</div><div class='add'>+	    AS_HELP_STRING([--with-setup=SETUP], [use extension libraries setup]),</div><div class='add'>+	    [setup=$withval])</div><div class='add'>+AS_IF([test -n "$setup"], [</div><div class='add'>+    AS_IF([! test -f "ext/$setup" -o -f "$srcdir/ext/$setup"], [</div><div class='add'>+	AC_MSG_ERROR(Setup file $setup not found under ext or $srcdir/ext)</div><div class='add'>+    ])</div><div class='add'>+], [test -f "$srcdir/ext/Setup.$target_os"], [</div><div class='add'>+    setup="Setup.$target_os"</div><div class='add'>+], [</div><div class='add'>+    setup=</div><div class='add'>+    for file in "$srcdir"/ext/Setup.*; do</div><div class='add'>+	AS_CASE(["$file"], [*~|*.bak|*.orig|*.rej|*.tmp], [continue])</div><div class='add'>+	setup=`basename "$file"`</div><div class='add'>+	AS_CASE(["$target_os"], [`expr "$setup" : 'Setup.\(.*\)'`*], [break])</div><div class='add'>+	platform=`sed '/^option  *platform  */!d;s///;s/|/*|/g;q' "$file"`</div><div class='add'>+	AS_IF([test "x$platform" != x], [</div><div class='add'>+	    eval "AS_CASE([\"\$target_os\"], [$platform*], [break])"</div><div class='add'>+	])</div><div class='add'>+	setup=</div><div class='add'>+    done</div><div class='add'>+    : ${setup:=Setup}</div><div class='add'>+])</div><div class='add'>+AC_SUBST(setup)</div><div class='add'>+</div><div class='add'>+rubylibprefix='${libdir}/${RUBY_BASE_NAME}'</div><div class='add'>+AC_ARG_WITH(rubylibprefix,</div><div class='add'>+	    AS_HELP_STRING([--with-rubylibprefix=DIR], [prefix for ruby libraries [[LIBDIR/RUBY_BASE_NAME]]]),</div><div class='add'>+	    [AS_IF([test "x$withval" = xno], [</div><div class='add'>+		AC_MSG_ERROR([No ruby, No libprefix])</div><div class='add'>+	    ])</div><div class='add'>+	    rubylibprefix="$withval"])</div><div class='add'>+AC_SUBST(rubylibprefix)</div><div class='add'>+</div><div class='add'>+AS_IF([test x"${exec_prefix}" != xNONE], [</div><div class='add'>+    RUBY_EXEC_PREFIX="$exec_prefix"</div><div class='add'>+], [test x"$prefix" != xNONE], [</div><div class='add'>+    RUBY_EXEC_PREFIX="$prefix"</div><div class='add'>+], [</div><div class='add'>+    RUBY_EXEC_PREFIX=$ac_default_prefix</div><div class='add'>+])</div><div class='add'>+pat=`echo "${RUBY_EXEC_PREFIX}" | tr -c '\012' .`'\(.*\)'</div><div class='add'>+for var in bindir libdir rubylibprefix; do</div><div class='add'>+    eval val='"$'$var'"'</div><div class='add'>+    AS_CASE(["$val"], ["${RUBY_EXEC_PREFIX}"*], [val='${exec_prefix}'"`expr \"$val\" : \"$pat\"`"])</div><div class='add'>+    eval $var='"$val"'</div><div class='add'>+done</div><div class='add'>+</div><div class='add'>+BTESTRUBY='$(MINIRUBY)'</div><div class='add'>+BOOTSTRAPRUBY='$(BASERUBY)'</div><div class='add'>+AS_IF([test x"$cross_compiling" = xyes], [</div><div class='add'>+  test x"$MINIRUBY" = x &amp;&amp; MINIRUBY="${RUBY-$BASERUBY} -I`$CHDIR .; pwd` "-r'$(arch)-fake'</div><div class='add'>+  XRUBY_LIBDIR=`${RUBY-$BASERUBY} -rrbconfig -e ['puts RbConfig::CONFIG["libdir"]']`</div><div class='add'>+  XRUBY_RUBYLIBDIR=`${RUBY-$BASERUBY} -rrbconfig -e ['puts RbConfig::CONFIG["rubylibdir"]']`</div><div class='add'>+  XRUBY_RUBYHDRDIR=`${RUBY-$BASERUBY} -rrbconfig -e ['puts RbConfig::CONFIG["rubyhdrdir"]']`</div><div class='add'>+  AC_SUBST(XRUBY_LIBDIR)</div><div class='add'>+  AC_SUBST(XRUBY_RUBYLIBDIR)</div><div class='add'>+  AC_SUBST(XRUBY_RUBYHDRDIR)</div><div class='add'>+  PREP='$(arch)-fake.rb'</div><div class='add'>+  RUNRUBY_COMMAND='$(MINIRUBY) -I`cd $(srcdir)/lib; pwd`'</div><div class='add'>+  RUNRUBY='$(RUNRUBY_COMMAND)'</div><div class='add'>+  XRUBY='$(MINIRUBY)'</div><div class='add'>+  TEST_RUNNABLE=no</div><div class='add'>+  CROSS_COMPILING=yes</div><div class='add'>+  AC_DEFINE(CROSS_COMPILING, 1)</div><div class='add'>+], [</div><div class='add'>+  MINIRUBY='./miniruby$(EXEEXT) -I$(srcdir)/lib -I.'</div><div class='add'>+  MINIRUBY="$MINIRUBY"' -I$(EXTOUT)/common'</div><div class='add'>+  PREP='miniruby$(EXEEXT)'</div><div class='add'>+  RUNRUBY_COMMAND='$(MINIRUBY) $(tooldir)/runruby.rb --extout=$(EXTOUT) $(RUNRUBYOPT)'</div><div class='add'>+  RUNRUBY='$(RUNRUBY_COMMAND) --'</div><div class='add'>+  XRUBY='$(RUNRUBY)'</div><div class='add'>+  AS_CASE(["$HAVE_BASERUBY:$build_os"], [no:*|*:mingw*], [BOOTSTRAPRUBY='$(MINIRUBY)'])</div><div class='add'>+  TEST_RUNNABLE=yes</div><div class='add'>+  CROSS_COMPILING=no</div><div class='add'>+])</div><div class='add'>+AC_SUBST(TEST_RUNNABLE)</div><div class='add'>+AC_SUBST(CROSS_COMPILING)</div><div class='add'>+AC_SUBST(MINIRUBY)</div><div class='add'>+AC_SUBST(BTESTRUBY)</div><div class='add'>+AC_SUBST(PREP)</div><div class='add'>+AC_SUBST(RUNRUBY_COMMAND)</div><div class='add'>+AC_SUBST(RUNRUBY)</div><div class='add'>+AC_SUBST(XRUBY)</div><div class='add'>+AC_SUBST(BOOTSTRAPRUBY)</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='$(MAINLIBS)'</div><div class='add'>+</div><div class='add'>+AS_CASE(["$target_os"],</div><div class='add'>+  [cygwin*|mingw*|haiku*|darwin*], [</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'>+</div><div class='add'>+AC_ARG_ENABLE(multiarch,</div><div class='add'>+	      AS_HELP_STRING([--enable-multiarch], [enable multiarch compatible directories]),</div><div class='add'>+	      [multiarch=], [unset multiarch])</div><div class='add'>+AS_IF([test ${multiarch+set}], [</div><div class='add'>+   AC_DEFINE(ENABLE_MULTIARCH)</div><div class='add'>+   MJIT_HEADER_INSTALL_DIR=include/'${arch}/${RUBY_VERSION_NAME}'</div><div class='add'>+], [</div><div class='add'>+   MJIT_HEADER_INSTALL_DIR=include/'${RUBY_VERSION_NAME}/${arch}'</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+archlibdir='${libdir}/${arch}'</div><div class='add'>+sitearchlibdir='${libdir}/${sitearch}'</div><div class='add'>+archincludedir='${includedir}/${arch}'</div><div class='add'>+sitearchincludedir='${includedir}/${sitearch}'</div><div class='add'>+</div><div class='add'>+AC_ARG_WITH(soname,</div><div class='add'>+	AS_HELP_STRING([--with-soname=SONAME], [base name of shared library]),</div><div class='add'>+	[RUBY_SO_NAME=$withval],</div><div class='add'>+	[</div><div class='add'>+	    AS_CASE(["$target_os"],</div><div class='add'>+	    [darwin*], [</div><div class='add'>+	        RUBY_SO_NAME='$(RUBY_BASE_NAME).$(RUBY_API_VERSION)'</div><div class='add'>+	    ],</div><div class='add'>+	    [cygwin*], [</div><div class='add'>+	        RUBY_SO_NAME='$(RUBY_BASE_NAME)$(MAJOR)$(MINOR)0'</div><div class='add'>+	    ],</div><div class='add'>+	    [mingw*], [</div><div class='add'>+		RUBY_SO_NAME="${rb_cv_msvcrt}"'-$(RUBY_BASE_NAME)$(MAJOR)$(MINOR)0'</div><div class='add'>+		AS_IF([test x"${target_cpu}" != xi386], [</div><div class='add'>+		    RUBY_SO_NAME="${target_cpu}-${RUBY_SO_NAME}"</div><div class='add'>+		])</div><div class='add'>+	    ],</div><div class='add'>+	    [RUBY_SO_NAME='$(RUBY_BASE_NAME)'])</div><div class='add'>+	])</div><div class='add'>+</div><div class='add'>+LIBRUBY_LDSHARED=${DLDSHARED=${LDSHARED}}</div><div class='add'>+LIBRUBY_DLDFLAGS=$DLDFLAGS</div><div class='add'>+LIBRUBY_SO='lib$(RUBY_SO_NAME).$(SOEXT).$(RUBY_PROGRAM_VERSION)'</div><div class='add'>+LIBRUBY_SONAME='lib$(RUBY_SO_NAME).$(SOEXT).$(RUBY_API_VERSION)'</div><div class='add'>+LIBRUBY_ALIASES='lib$(RUBY_SO_NAME).$(SOEXT)'</div><div class='add'>+ENABLE_SHARED=no</div><div class='add'>+</div><div class='add'>+AC_ARG_ENABLE(shared,</div><div class='add'>+       AS_HELP_STRING([--enable-shared], [build a shared library for Ruby]),</div><div class='add'>+       [enable_shared=$enableval])</div><div class='add'>+libprefix=${multiarch+'$(archlibdir)'}${multiarch-'$(libdir)'}</div><div class='add'>+LIBRUBY_RELATIVE=${load_relative-no}</div><div class='add'>+AS_CASE("$enable_shared", [yes], [</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'>+  LIBRUBY_RELATIVE=no</div><div class='add'>+  test -z "$CCDLFLAGS" || CFLAGS="$CFLAGS $CCDLFLAGS"</div><div class='add'>+  ENABLE_SHARED=yes</div><div class='add'>+</div><div class='add'>+  # libdir can be overridden in config.site file (on OpenSUSE at least).</div><div class='add'>+  libdir_basename=lib</div><div class='add'>+  AS_IF([test "$bindir" = '${exec_prefix}/bin'], [</div><div class='add'>+    AS_CASE(["$libdir"], ['${exec_prefix}/'*], [libdir_basename=`basename "$libdir"`])</div><div class='add'>+  ])</div><div class='add'>+  AC_DEFINE_UNQUOTED(LIBDIR_BASENAME, ["${libdir_basename}"])</div><div class='add'>+  libdir_basename="${libdir_basename}"${multiarch+'/${arch}'}</div><div class='add'>+</div><div class='add'>+  AS_CASE(["$target_os"],</div><div class='add'>+    [freebsd*|dragonfly*], [],</div><div class='add'>+    [</div><div class='add'>+     AS_IF([test "$GCC" = yes], [</div><div class='add'>+       RUBY_TRY_LDFLAGS([${linker_flag}--no-undefined], [no_undefined=yes], [no_undefined=no])</div><div class='add'>+       AS_IF([test "no_undefined" = yes], [</div><div class='add'>+	  RUBY_APPEND_OPTION(EXTLDFLAGS, [${linker_flag}--no-undefined])</div><div class='add'>+       ])</div><div class='add'>+     ])</div><div class='add'>+    ])</div><div class='add'>+</div><div class='add'>+  AS_CASE(["$target_os"],</div><div class='add'>+    [sunos4*], [</div><div class='add'>+	LIBRUBY_ALIASES='$(LIBRUBY_SONAME) lib$(RUBY_SO_NAME).$(SOEXT)'</div><div class='add'>+	],</div><div class='add'>+    [linux* | gnu* | k*bsd*-gnu | atheos* | kopensolaris*-gnu | haiku*], [</div><div class='add'>+	RUBY_APPEND_OPTIONS(LIBRUBY_DLDFLAGS, ['-Wl,-soname,$(LIBRUBY_SONAME)' "$LDFLAGS_OPTDIR"])</div><div class='add'>+	LIBRUBY_ALIASES='$(LIBRUBY_SONAME) lib$(RUBY_SO_NAME).$(SOEXT)'</div><div class='add'>+	AS_IF([test "$load_relative" = yes], [</div><div class='add'>+	    libprefix="'\$\${ORIGIN}/../${libdir_basename}'"</div><div class='add'>+	    LIBRUBY_RPATHFLAGS="-Wl,-rpath,${libprefix}"</div><div class='add'>+	    LIBRUBY_RELATIVE=yes</div><div class='add'>+	])</div><div class='add'>+	],</div><div class='add'>+    [freebsd*|dragonfly*], [</div><div class='add'>+	LIBRUBY_SO='lib$(RUBY_SO_NAME).$(SOEXT).$(MAJOR)$(MINOR)'</div><div class='add'>+	LIBRUBY_SONAME='$(LIBRUBY_SO)'</div><div class='add'>+	AS_IF([test "$rb_cv_binary_elf" != "yes" ], [</div><div class='add'>+	    LIBRUBY_SO="$LIBRUBY_SO.\$(TEENY)"</div><div class='add'>+	    LIBRUBY_ALIASES=''</div><div class='add'>+	])</div><div class='add'>+	],</div><div class='add'>+    [netbsd*], [</div><div class='add'>+	LIBRUBY_SONAME='lib$(RUBY_SO_NAME).$(SOEXT).$(MAJOR)$(MINOR)'</div><div class='add'>+	LIBRUBY_SO="${LIBRUBY_SONAME}"'.$(TEENY)'</div><div class='add'>+	RUBY_APPEND_OPTIONS(LIBRUBY_DLDFLAGS, ['-Wl,-soname,$(LIBRUBY_SONAME)' "$LDFLAGS_OPTDIR"])</div><div class='add'>+	AS_IF([test "$rb_cv_binary_elf" = yes], [ # ELF platforms</div><div class='add'>+	   LIBRUBY_ALIASES='$(LIBRUBY_SONAME) lib$(RUBY_SO_NAME).$(SOEXT)'</div><div class='add'>+	], [	# a.out platforms</div><div class='add'>+	   LIBRUBY_ALIASES=""</div><div class='add'>+	])</div><div class='add'>+	],</div><div class='add'>+    [openbsd*|mirbsd*], [</div><div class='add'>+	LIBRUBY_SO='lib$(RUBY_SO_NAME).$(SOEXT).$(MAJOR).'`expr ${MINOR} \* 10 + ${TEENY}`</div><div class='add'>+	],</div><div class='add'>+    [solaris*], [</div><div class='add'>+	LIBRUBY_SO='lib$(RUBY_SO_NAME).$(SOEXT).$(MAJOR)'</div><div class='add'>+	LIBRUBY_SONAME='lib$(RUBY_SO_NAME).$(SOEXT).$(RUBY_PROGRAM_VERSION)'</div><div class='add'>+	LIBRUBY_ALIASES='$(LIBRUBY_SONAME) lib$(RUBY_SO_NAME).$(SOEXT)'</div><div class='add'>+	RUBY_APPEND_OPTIONS(LIBRUBY_DLDFLAGS, ["${linker_flag}-h${linker_flag:+,}"'$(@F)'])</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_ALIASES='$(LIBRUBY_SONAME) lib$(RUBY_SO_NAME).$(SOEXT)'</div><div class='add'>+	],</div><div class='add'>+    [aix*], [</div><div class='add'>+	RUBY_APPEND_OPTIONS(LIBRUBY_DLDFLAGS, ["${linker_flag}-bnoentry" "$XLDFLAGS" "$LDFLAGS_OPTDIR"])</div><div class='add'>+	LIBRUBYARG_SHARED='-L${libdir} -l${RUBY_SO_NAME}'</div><div class='add'>+	LIBS="$LIBS -lm -lc"</div><div class='add'>+	],</div><div class='add'>+    [darwin*], [</div><div class='add'>+	LIBRUBY_SO='lib$(RUBY_SO_NAME).$(SOEXT)'</div><div class='add'>+	LIBRUBY_SONAME='$(LIBRUBY_SO)'</div><div class='add'>+	LIBRUBY_ALIASES='lib$(RUBY_INSTALL_NAME).$(SOEXT)'</div><div class='add'>+	AS_IF([test "$load_relative" = yes], [</div><div class='add'>+	    libprefix="@executable_path/../${libdir_basename}"</div><div class='add'>+	    LIBRUBY_RELATIVE=yes</div><div class='add'>+	])</div><div class='add'>+	LIBRUBY_DLDFLAGS="$LIBRUBY_DLDFLAGS -install_name ${libprefix}"'/$(LIBRUBY_SONAME)'</div><div class='add'>+	LIBRUBY_DLDFLAGS="$LIBRUBY_DLDFLAGS "'-compatibility_version $(RUBY_API_VERSION)'</div><div class='add'>+	LIBRUBY_DLDFLAGS="$LIBRUBY_DLDFLAGS "'-current_version $(RUBY_PROGRAM_VERSION)'</div><div class='add'>+	AS_IF([test "$visibility_option" = ld], [</div><div class='add'>+	    LIBRUBY_DLDFLAGS="$LIBRUBY_DLDFLAGS "'-Wl,-unexported_symbol,_Init_*'</div><div class='add'>+	    LIBRUBY_DLDFLAGS="$LIBRUBY_DLDFLAGS "'-Wl,-unexported_symbol,_ruby_static_id_*'</div><div class='add'>+	    LIBRUBY_DLDFLAGS="$LIBRUBY_DLDFLAGS "'-Wl,-unexported_symbol,*_threadptr_*'</div><div class='add'>+	])</div><div class='add'>+	LIBRUBY_DLDFLAGS="$LIBRUBY_DLDFLAGS "' $(XLDFLAGS)'</div><div class='add'>+	],</div><div class='add'>+    [interix*], [</div><div class='add'>+	LIBRUBYARG_SHARED='-L. -L${libdir} -l$(RUBY_SO_NAME)'</div><div class='add'>+	],</div><div class='add'>+    [mingw*|cygwin*|mswin*], [</div><div class='add'>+	LIBRUBY_RELATIVE=yes</div><div class='add'>+	])</div><div class='add'>+], [</div><div class='add'>+  LIBRUBYARG_SHARED=</div><div class='add'>+</div><div class='add'>+  # enable PIE if possible</div><div class='add'>+  AC_ARG_ENABLE(pie,</div><div class='add'>+          AS_HELP_STRING([--disable-pie], [disable PIE feature]),</div><div class='add'>+          [pie=$enableval], [pie=])</div><div class='add'>+  AS_IF([test "$GCC" = yes -a -z "$EXTSTATIC" -a "x$pie" != xno], [</div><div class='add'>+    RUBY_TRY_CFLAGS(-fPIE, [pie=yes], [pie=no])</div><div class='add'>+    AS_IF([test "$pie" = yes], [</div><div class='add'>+      # Use -fPIE when testing -pie.  RUBY_TRY_LDFLAGS sets</div><div class='add'>+      # $save_CFLAGS internally, so set other name here.</div><div class='add'>+      save_CFLAGS_before_pie="$CFLAGS"</div><div class='add'>+      CFLAGS="$CFLAGS -fPIE"</div><div class='add'>+</div><div class='add'>+      # gcc need -pie but clang need -Wl,-pie.</div><div class='add'>+      for pie in -pie -Wl,-pie; do</div><div class='add'>+	RUBY_TRY_LDFLAGS([$pie], [], [pie=])</div><div class='add'>+	AS_IF([test "x$pie" != x], [</div><div class='add'>+	  RUBY_APPEND_OPTION(XCFLAGS, -fPIE)</div><div class='add'>+	  RUBY_APPEND_OPTION(XLDFLAGS, $pie)</div><div class='add'>+	  break</div><div class='add'>+	])</div><div class='add'>+      done</div><div class='add'>+      CFLAGS="$save_CFLAGS_before_pie"</div><div class='add'>+    ])</div><div class='add'>+  ])</div><div class='add'>+])</div><div class='add'>+AS_IF([test "$enable_rpath" = yes], [</div><div class='add'>+    test -z "$LIBRUBY_RPATHFLAGS" || LIBRUBY_RPATHFLAGS="$LIBRUBY_RPATHFLAGS "</div><div class='add'>+    rpathflag="${RPATHFLAG}"</div><div class='add'>+    AS_CASE(["${cross_compiling}${load_relative}"], [*yes*], [], [rpathflag="$RPATHFLAG$LIBPATHFLAG"])</div><div class='add'>+    rpathflag=`IFS="$PATH_SEPARATOR"</div><div class='add'>+        echo x "$rpathflag" |</div><div class='add'>+        sed "s/^x *//;s${IFS}"'%1\\$-s'"${IFS}${libprefix}${IFS}g;s${IFS}%s${IFS}${libprefix}${IFS}g"</div><div class='add'>+    `</div><div class='add'>+    LIBRUBY_RPATHFLAGS="$LIBRUBY_RPATHFLAGS${rpathflag}"</div><div class='add'>+    LIBRUBYARG_SHARED="$LIBRUBY_RPATHFLAGS $LIBRUBYARG_SHARED"</div><div class='add'>+    LIBRUBYARG_STATIC="$LIBRUBY_RPATHFLAGS $LIBRUBYARG_STATIC"</div><div class='add'>+])</div><div class='add'>+AC_SUBST(LIBRUBY_RELATIVE)</div><div class='add'>+</div><div class='add'>+LDFLAGS="-L. $LDFLAGS"</div><div class='add'>+AC_SUBST(ARCHFILE)</div><div class='add'>+</div><div class='add'>+AS_IF([test "$EXEEXT" = .exe], [</div><div class='add'>+    EXECUTABLE_EXTS='".exe",".com",".cmd",".bat"'</div><div class='add'>+    AC_DEFINE_UNQUOTED(EXECUTABLE_EXTS, $EXECUTABLE_EXTS)</div><div class='add'>+    EXECUTABLE_EXTS=`echo $EXECUTABLE_EXTS | tr -d '"' | tr , ' '`</div><div class='add'>+    AC_SUBST(EXECUTABLE_EXTS)</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+AS_CASE("$cross_compiling:${LIBPATHENV}", [yes:* | no:], [], [</div><div class='add'>+    AC_MSG_CHECKING(whether wrapper for $LIBPATHENV is needed)</div><div class='add'>+    AS_IF([env ${LIBPATHENV}=/lib /bin/sh -c ': ${'${LIBPATHENV}'?}' 2&gt;/dev/null],</div><div class='add'>+	[AC_MSG_RESULT(no)],</div><div class='add'>+	[PREP="$PREP"' exe/$(PROGRAM)'</div><div class='add'>+	AC_MSG_RESULT(yes)]</div><div class='add'>+    )</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+AC_ARG_ENABLE(dtrace,</div><div class='add'>+        AS_HELP_STRING([--enable-dtrace],</div><div class='add'>+        [enable DTrace for tracing inside ruby. enabled by default on systems having dtrace]),</div><div class='add'>+        [enable_dtrace=$enableval], [enable_dtrace=auto])</div><div class='add'>+</div><div class='add'>+LIBRUBY_A_OBJS='$(OBJS)'</div><div class='add'>+DTRACE_REBUILD=</div><div class='add'>+AS_CASE(["${enable_dtrace}"],</div><div class='add'>+[yes|auto], [</div><div class='add'>+    RUBY_DTRACE_AVAILABLE()</div><div class='add'>+], [</div><div class='add'>+    rb_cv_dtrace_available=no</div><div class='add'>+])</div><div class='add'>+AS_CASE(["$target_os"],[freebsd*],[</div><div class='add'>+         rb_cv_dtrace_available=no</div><div class='add'>+	 ])</div><div class='add'>+AS_IF([test "${enable_dtrace}" = yes], [dnl</div><div class='add'>+    AS_IF([test -z "$DTRACE"], [dnl</div><div class='add'>+	AC_MSG_ERROR([dtrace(1) is missing])</div><div class='add'>+    ], [test "$cross_compiling" = yes], [dnl</div><div class='add'>+	AC_MSG_ERROR([--enable-dtrace, however, cross compiling])</div><div class='add'>+    ], [test "${rb_cv_dtrace_available}" = "no"], [dnl</div><div class='add'>+       AC_MSG_ERROR([--enable-dtrace, however, USDT is not available])</div><div class='add'>+    ])</div><div class='add'>+])</div><div class='add'>+AS_CASE([$rb_cv_dtrace_available],</div><div class='add'>+[yes*], [dnl</div><div class='add'>+    RUBY_DTRACE_POSTPROCESS()</div><div class='add'>+    AS_IF([test "$rb_cv_prog_dtrace_g" != no], [dnl</div><div class='add'>+	DTRACE_OBJ='probes.$(OBJEXT)'</div><div class='add'>+    ])</div><div class='add'>+    AS_IF([test "$rb_cv_prog_dtrace_g" = rebuild], [dnl</div><div class='add'>+	DTRACE_REBUILD=yes</div><div class='add'>+	LIBRUBY_A_OBJS='$(DTRACE_GLOMMED_OBJ)'</div><div class='add'>+    ])</div><div class='add'>+    AS_CASE("${target_os}", [freebsd*], [dnl</div><div class='add'>+        # FreeBSD's dtrace requires libelf</div><div class='add'>+        LIBS="-lelf $LIBS"</div><div class='add'>+    ])</div><div class='add'>+    DTRACE_EXT=d</div><div class='add'>+], [dnl</div><div class='add'>+    enable_dtrace=no</div><div class='add'>+    DTRACE_EXT=dmyh</div><div class='add'>+])</div><div class='add'>+AC_SUBST(DTRACE_EXT)</div><div class='add'>+AC_SUBST(DTRACE_OBJ)</div><div class='add'>+AC_SUBST(DTRACE_REBUILD)</div><div class='add'>+AC_SUBST(DTRACE_OPT)</div><div class='add'>+AC_SUBST(LIBRUBY_A_OBJS)</div><div class='add'>+</div><div class='add'>+AC_ARG_ENABLE(gcov,</div><div class='add'>+       AS_HELP_STRING([--enable-gcov], [enable coverage measurement by gcov]),</div><div class='add'>+       [gcov=yes])</div><div class='add'>+AS_IF([test x"$gcov" = xyes], [</div><div class='add'>+    CFLAGS="$CFLAGS -coverage"</div><div class='add'>+    LDFLAGS="$LDFLAGS -coverage"</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+RUBY_SETJMP_TYPE</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+: "build section" &amp;&amp; {</div><div class='add'>+dnl build rdoc index if requested</div><div class='add'>+RDOCTARGET=""</div><div class='add'>+CAPITARGET=""</div><div class='add'>+AC_ARG_ENABLE(install-doc,</div><div class='add'>+       AS_HELP_STRING([--disable-install-doc], [do not install either rdoc indexes or C API documents during install]),</div><div class='add'>+       [install_doc=$enableval], [install_doc=yes])</div><div class='add'>+AC_ARG_WITH(rdoc,</div><div class='add'>+      AS_HELP_STRING([--with-rdoc=ri,html], [comma/space separated list of RDoc formats to install]),</div><div class='add'>+      [install_rdoc=`echo ,$withval, | sed 'y/,/ /;s/ ri / rdoc /;s/^ *//;s/ *$//'`], [</div><div class='add'>+AC_ARG_ENABLE(install-rdoc,</div><div class='add'>+      AS_HELP_STRING([--disable-install-rdoc], [do not install rdoc indexes during install]),</div><div class='add'>+      [install_rdoc=$enableval], [install_rdoc=yes])</div><div class='add'>+])</div><div class='add'>+AC_ARG_ENABLE(install-capi,</div><div class='add'>+      AS_HELP_STRING([--disable-install-capi], [do not install C API documents during install]),</div><div class='add'>+      [install_capi=$enableval], [install_capi=no])</div><div class='add'>+</div><div class='add'>+AS_IF([test "$install_doc" != no], [</div><div class='add'>+    AS_CASE(["$install_rdoc"],</div><div class='add'>+    [yes], [</div><div class='add'>+	RDOCTARGET="rdoc"</div><div class='add'>+    ],</div><div class='add'>+    [all], [</div><div class='add'>+	RDOCTARGET="rdoc html"</div><div class='add'>+    ],</div><div class='add'>+    [no|''], [</div><div class='add'>+	RDOCTARGET="nodoc"</div><div class='add'>+    ],</div><div class='add'>+    [</div><div class='add'>+	RDOCTARGET="$install_rdoc"</div><div class='add'>+    ])</div><div class='add'>+    AS_IF([test "$install_capi" != no -a -n "$DOXYGEN"], [</div><div class='add'>+	CAPITARGET="capi"</div><div class='add'>+    ], [</div><div class='add'>+	CAPITARGET="nodoc"</div><div class='add'>+    ])</div><div class='add'>+], [</div><div class='add'>+    RDOCTARGET="nodoc"</div><div class='add'>+    CAPITARGET="nodoc"</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+AC_SUBST(RDOCTARGET)</div><div class='add'>+AC_SUBST(CAPITARGET)</div><div class='add'>+</div><div class='add'>+AS_CASE(["$RDOCTARGET:$CAPITARGET"],[nodoc:nodoc],[INSTALLDOC=nodoc],[INSTALLDOC=all])</div><div class='add'>+AC_SUBST(INSTALLDOC)</div><div class='add'>+</div><div class='add'>+AC_ARG_ENABLE(jit-support,</div><div class='add'>+        AS_HELP_STRING([--disable-jit-support], [disable JIT features]),</div><div class='add'>+        [MJIT_SUPPORT=$enableval</div><div class='add'>+         AS_IF([test x"$enable_jit_support" = "xyes"],</div><div class='add'>+                 [AC_DEFINE(USE_MJIT, 1)],</div><div class='add'>+                 [AC_DEFINE(USE_MJIT, 0)])],</div><div class='add'>+        [MJIT_SUPPORT=yes</div><div class='add'>+         AC_DEFINE(USE_MJIT, 1)])</div><div class='add'>+</div><div class='add'>+AC_SUBST(MJIT_SUPPORT)</div><div class='add'>+</div><div class='add'>+AC_ARG_ENABLE(install-static-library,</div><div class='add'>+	AS_HELP_STRING([--disable-install-static-library], [do not install static ruby library]),</div><div class='add'>+	[INSTALL_STATIC_LIBRARY=$enableval],</div><div class='add'>+	AS_IF([test x"$enable_shared" = xyes],</div><div class='add'>+	    [INSTALL_STATIC_LIBRARY=no],</div><div class='add'>+	    [INSTALL_STATIC_LIBRARY=yes]))</div><div class='add'>+AC_SUBST(INSTALL_STATIC_LIBRARY)</div><div class='add'>+</div><div class='add'>+AS_IF([test "$rb_with_pthread" = "yes"], [</div><div class='add'>+    THREAD_MODEL=pthread</div><div class='add'>+])</div><div class='add'>+AC_CACHE_CHECK([for prefix of external symbols], rb_cv_symbol_prefix, [</div><div class='add'>+    AC_TRY_COMPILE([extern void conftest_external(void) {}], [], [</div><div class='add'>+	rb_cv_symbol_prefix=`$NM conftest.$ac_objext |</div><div class='add'>+			     sed -n ['/.*T[ 	]\([^ 	]*\)conftest_external.*/!d;s//\1/p;q']`</div><div class='add'>+	],</div><div class='add'>+	[rb_cv_symbol_prefix=''])</div><div class='add'>+    test -n "$rb_cv_symbol_prefix" || rb_cv_symbol_prefix=NONE</div><div class='add'>+])</div><div class='add'>+SYMBOL_PREFIX="$rb_cv_symbol_prefix"</div><div class='add'>+test "x$SYMBOL_PREFIX" = xNONE &amp;&amp; SYMBOL_PREFIX=''</div><div class='add'>+DLNOBJ=dln.o</div><div class='add'>+AC_ARG_ENABLE(dln,</div><div class='add'>+	      AC_HELP_STRING([--disable-dln], [disable dynamic link feature]),</div><div class='add'>+	      [test "$enableval" = yes || DLNOBJ=dmydln.o])</div><div class='add'>+AC_SUBST(DLNOBJ)</div><div class='add'>+MINIDLNOBJ=dmydln.o</div><div class='add'>+</div><div class='add'>+AS_CASE(["$target_os"],</div><div class='add'>+    [linux*], [</div><div class='add'>+	],</div><div class='add'>+    [netbsd*], [</div><div class='add'>+	RUBY_APPEND_OPTION(CFLAGS, -pipe)</div><div class='add'>+	],</div><div class='add'>+    [darwin*], [</div><div class='add'>+	RUBY_APPEND_OPTION(CFLAGS, -pipe)</div><div class='add'>+	AC_COMPILE_IFELSE([</div><div class='add'>+	    AC_LANG_BOOL_COMPILE_TRY([@%:@include &lt;AvailabilityMacros.h&gt;],</div><div class='add'>+		[MAC_OS_X_VERSION_MIN_REQUIRED &gt;= MAC_OS_X_VERSION_10_7])],</div><div class='add'>+	    [dnl</div><div class='add'>+		RUBY_APPEND_OPTION(XLDFLAGS, [-framework Security])</div><div class='add'>+		RUBY_APPEND_OPTION(LIBRUBYARG_STATIC, [-framework Security])</div><div class='add'>+	    ]dnl</div><div class='add'>+	)</div><div class='add'>+	RUBY_APPEND_OPTION(XLDFLAGS, [-framework Foundation])</div><div class='add'>+	RUBY_APPEND_OPTION(LIBRUBYARG_STATIC, [-framework Foundation])</div><div class='add'>+	],</div><div class='add'>+    [osf*], [</div><div class='add'>+	AS_IF([test "$GCC" != "yes" ], [</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'>+	  AS_CASE(["`cc -v -I. -c main.c -o /tmp/main.o 2&gt;&amp;1`"],</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'>+	  # cleanup</div><div class='add'>+	  rm -f /tmp/main.o</div><div class='add'>+	  CFLAGS="$CFLAGS -std"</div><div class='add'>+	])</div><div class='add'>+	],</div><div class='add'>+    [cygwin*|mingw*], [</div><div class='add'>+	LIBRUBY_DLDFLAGS="${LIBRUBY_DLDFLAGS}"' -Wl,--out-implib=$(LIBRUBY)'</div><div class='add'>+	AS_CASE(["$target_os"],</div><div class='add'>+	[cygwin*], [</div><div class='add'>+	    AS_IF([test x"$enable_shared" = xyes], [</div><div class='add'>+		LIBRUBY_SO='cyg$(RUBY_SO_NAME)'.dll</div><div class='add'>+		LIBRUBY_DLDFLAGS="${LIBRUBY_DLDFLAGS}"' $(RUBYDEF)'</div><div class='add'>+	    ])</div><div class='add'>+	    ],</div><div class='add'>+	[mingw*], [</div><div class='add'>+	    AS_IF([test x"$enable_shared" = xyes], [</div><div class='add'>+		LIBRUBY_SO='$(RUBY_SO_NAME)'.dll</div><div class='add'>+		LIBRUBY_DLDFLAGS="${LIBRUBY_DLDFLAGS}"' $(RUBYDEF)'</div><div class='add'>+	    ])</div><div class='add'>+	    EXPORT_PREFIX=' '</div><div class='add'>+	    DLDFLAGS="${DLDFLAGS}"' $(DEFFILE)'</div><div class='add'>+	    AC_LIBOBJ([win32/win32])</div><div class='add'>+	    AC_LIBOBJ([win32/file])</div><div class='add'>+	    COMMON_LIBS=m</div><div class='add'>+#	    COMMON_MACROS="WIN32_LEAN_AND_MEAN="</div><div class='add'>+	    COMMON_HEADERS="winsock2.h windows.h"</div><div class='add'>+	    THREAD_MODEL=win32</div><div class='add'>+	    PLATFORM_DIR=win32</div><div class='add'>+	    ])</div><div class='add'>+	LIBRUBY_ALIASES=''</div><div class='add'>+	FIRSTMAKEFILE=GNUmakefile:cygwin/GNUmakefile.in</div><div class='add'>+	AS_IF([test x"$enable_shared" = xyes], [</div><div class='add'>+	    LIBRUBY='lib$(RUBY_SO_NAME).dll.a'</div><div class='add'>+	], [</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'>+	])</div><div class='add'>+	],</div><div class='add'>+    [hpux*], [</div><div class='add'>+	AS_CASE(["$YACC"],[*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'>+])</div><div class='add'>+</div><div class='add'>+MINIOBJS="$MINIDLNOBJ"</div><div class='add'>+</div><div class='add'>+AS_CASE(["$THREAD_MODEL"],</div><div class='add'>+[pthread], [AC_CHECK_HEADERS(pthread.h)],</div><div class='add'>+[win32],   [],</div><div class='add'>+[""],      [AC_MSG_ERROR(thread model is missing)],</div><div class='add'>+           [AC_MSG_ERROR(unknown thread model $THREAD_MODEL)])</div><div class='add'>+</div><div class='add'>+AC_ARG_ENABLE(debug-env,</div><div class='add'>+       AS_HELP_STRING([--enable-debug-env], [enable RUBY_DEBUG environment variable]),</div><div class='add'>+       [AC_SUBST(ENABLE_DEBUG_ENV, yes)])</div><div class='add'>+</div><div class='add'>+AS_CASE(["$FIRSTMAKEFILE"], [*GNUmakefile:*], [gnumake=yes], [</div><div class='add'>+    AC_MSG_CHECKING([if ${MAKE-make} is GNU make])</div><div class='add'>+    mkdir conftest.dir</div><div class='add'>+    echo "all:; @echo yes" &gt; conftest.dir/GNUmakefile</div><div class='add'>+    echo "all:; @echo no" &gt; conftest.dir/Makefile</div><div class='add'>+    gnumake=`(cd conftest.dir; ${MAKE-make})`</div><div class='add'>+    rm -fr conftest.dir</div><div class='add'>+    AS_CASE(["$gnumake"],</div><div class='add'>+    [*yes*], [</div><div class='add'>+	FIRSTMAKEFILE=GNUmakefile:template/GNUmakefile.in</div><div class='add'>+	gnumake=yes],</div><div class='add'>+    [</div><div class='add'>+	gnumake=no])</div><div class='add'>+    AC_MSG_RESULT($gnumake)</div><div class='add'>+])</div><div class='add'>+AS_IF([test "$gnumake" = yes], [ NULLCMD=: ], [</div><div class='add'>+    AC_MSG_CHECKING([for safe null command for ${MAKE-make}])</div><div class='add'>+    mkdir conftest.dir</div><div class='add'>+    NULLCMD=</div><div class='add'>+    for cmd in : true; do</div><div class='add'>+	echo 'A=1' &gt; conftest.dir/Makefile</div><div class='add'>+	echo 'B=$(A:1=@'$cmd')' &gt;&gt; conftest.dir/Makefile</div><div class='add'>+	echo 'all:; $B 1 2 3 4 5 6 7 8 9' &gt;&gt; conftest.dir/Makefile</div><div class='add'>+	AS_IF([(cd conftest.dir; ${MAKE-make} &gt;/dev/null 2&gt;/dev/null)], [</div><div class='add'>+	    NULLCMD=$cmd</div><div class='add'>+	    break</div><div class='add'>+	])</div><div class='add'>+    done</div><div class='add'>+    rm -fr conftest.dir</div><div class='add'>+    AS_IF([test -z "$NULLCMD"], [</div><div class='add'>+	AC_MSG_ERROR(no candidate for safe null command)</div><div class='add'>+    ])</div><div class='add'>+    AC_MSG_RESULT($NULLCMD)</div><div class='add'>+])</div><div class='add'>+AC_SUBST(NULLCMD)</div><div class='add'>+</div><div class='add'>+AS_IF([test "${universal_binary-no}" = yes ], [</div><div class='add'>+    AC_CACHE_CHECK([for architecture macros], rb_cv_architecture_macros, [</div><div class='add'>+    mv confdefs.h confdefs1.h</div><div class='add'>+    : &gt; confdefs.h</div><div class='add'>+    AC_TRY_COMPILE([@%:@if defined __`echo ${universal_archnames} |</div><div class='add'>+    sed 's/=[^ ]*//g;s/ /__ || defined __/g'`__</div><div class='add'>+@%:@else</div><div class='add'>+@%:@error</div><div class='add'>+&gt;&gt;&gt;&gt;&gt;&gt;&lt;&lt;&lt;&lt;&lt;&lt;</div><div class='add'>+@%:@endif], [],</div><div class='add'>+[</div><div class='add'>+    rb_cv_architecture_macros=yes</div><div class='add'>+    mv -f confdefs1.h confdefs.h</div><div class='add'>+], [</div><div class='add'>+    rb_cv_architecture_macros=no</div><div class='add'>+    archflagpat=`eval echo '"'"${ARCH_FLAG}"'"' | sed 's/[[][|.*]]/\\&amp;/g'`</div><div class='add'>+    new_cflags=`echo "$CFLAGS" | sed "s|$archflagpat"'||'`</div><div class='add'>+    for archs in ${universal_archnames}; do</div><div class='add'>+	cpu=${archs@%:@*=}</div><div class='add'>+	archs=${archs%=*}</div><div class='add'>+	CFLAGS="$new_cflags -arch $archs"</div><div class='add'>+	archs="__${archs}__"</div><div class='add'>+	AC_MSG_CHECKING([for macro ${archs} on ${cpu}])</div><div class='add'>+	AC_TRY_COMPILE([@%:@ifndef ${archs}</div><div class='add'>+@%:@error</div><div class='add'>+@%:@endif], [], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no])])</div><div class='add'>+    done</div><div class='add'>+    mv -f confdefs1.h confdefs.h</div><div class='add'>+    AC_MSG_ERROR([failed])</div><div class='add'>+    ])])</div><div class='add'>+    AC_CACHE_CHECK(whether __ARCHITECTURE__ is available, rb_cv_architecture_available,</div><div class='add'>+	AC_TRY_COMPILE([@%:@include &lt;stdio.h&gt;</div><div class='add'>+		const char arch[[]] = __ARCHITECTURE__;], [puts(arch);],</div><div class='add'>+		[rb_cv_architecture_available=yes], [rb_cv_architecture_available=no]))</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+: ${MJIT_LDSHARED=`echo "$LDSHARED" | sed ['s|\$(LD)|'"${LD}"'|g;s|\$(CC)|$(MJIT_CC)|g']`}</div><div class='add'>+</div><div class='add'>+MAINLIBS="$LIBS"</div><div class='add'>+LIBS=$ORIG_LIBS</div><div class='add'>+AS_IF([test -n "${LIBS}"], [</div><div class='add'>+    libspat=`echo "${LIBS}" | sed 's/[[][|.*$^]]/\\&amp;/g;s/^  */ /;s/^  *$/ /'`</div><div class='add'>+    MAINFLAGS=`echo " $MAINLIBS " | sed "s|$libspat"'||;s/^ *//;s/ *$//'`</div><div class='add'>+])</div><div class='add'>+LIBRUBYARG_STATIC="${LIBRUBYARG_STATIC} \$(MAINLIBS)"</div><div class='add'>+CPPFLAGS="$CPPFLAGS "'$(DEFS)'</div><div class='add'>+test -z "$CPPFLAGS" || CPPFLAGS="$CPPFLAGS "; CPPFLAGS="$CPPFLAGS"'${cppflags}'</div><div class='add'>+AS_IF([test -n "${cflags+set}"], [</div><div class='add'>+    cflagspat=`eval echo '"'"${cflags}"'"' | sed 's/[[][|.*]]/\\&amp;/g;s/^  */ /;s/^  *$/ /'`</div><div class='add'>+    CFLAGS=`echo " $CFLAGS " | sed "s|$cflagspat"'|${cflags}|;s/^ *//;s/ *$//'`</div><div class='add'>+])</div><div class='add'>+AS_IF([test -n "${cxxflags+set}"], [</div><div class='add'>+    cxxflagspat=`eval echo '"'"${cxxflags}"'"' | sed 's/[[][|.*]]/\\&amp;/g;s/^  */ /;s/^  *$/ /'`</div><div class='add'>+    CXXFLAGS=`echo " $CXXFLAGS " | sed "s|$cxxflagspat"'|${cxxflags}|;s/^ *//;s/ *$//'`</div><div class='add'>+])</div><div class='add'>+AS_IF([test "${ARCH_FLAG}"], [</div><div class='add'>+    archflagpat=`eval echo '"'"${ARCH_FLAG}"'"' | sed 's/[[][|.*]]/\\&amp;/g'`</div><div class='add'>+    CFLAGS=`echo "$CFLAGS" | sed "s| *$archflagpat"'||'`</div><div class='add'>+    CXXFLAGS=`echo "$CXXFLAGS" | sed "s| *$archflagpat"'||'`</div><div class='add'>+    LDFLAGS=`echo "$LDFLAGS" | sed "s| *$archflagpat"'||'`</div><div class='add'>+])</div><div class='add'>+rb_cv_warnflags=`echo "$rb_cv_warnflags" | sed 's/^ *//;s/ *$//'`</div><div class='add'>+warnflags="$rb_cv_warnflags"</div><div class='add'>+AC_SUBST(cppflags)dnl</div><div class='add'>+AC_SUBST(cflags, ["${orig_cflags:+$orig_cflags }"'${optflags} ${debugflags} ${warnflags}'])dnl</div><div class='add'>+AC_SUBST(cxxflags)dnl</div><div class='add'>+AC_SUBST(optflags)dnl</div><div class='add'>+AC_SUBST(debugflags)dnl</div><div class='add'>+AC_SUBST(warnflags)dnl</div><div class='add'>+AC_SUBST(strict_warnflags)dnl</div><div class='add'>+AC_SUBST(XCFLAGS)dnl</div><div class='add'>+AC_SUBST(XLDFLAGS)dnl</div><div class='add'>+AC_SUBST(EXTLDFLAGS)dnl</div><div class='add'>+AC_SUBST(EXTDLDFLAGS)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_SONAME)</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(DLDSHARED)</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(SYMBOL_PREFIX)</div><div class='add'>+AC_SUBST(MINIOBJS)</div><div class='add'>+AC_SUBST(THREAD_MODEL)</div><div class='add'>+AC_SUBST(PLATFORM_DIR)</div><div class='add'>+</div><div class='add'>+firstmf=`echo $FIRSTMAKEFILE | sed 's/:.*//'`</div><div class='add'>+firsttmpl=`echo $FIRSTMAKEFILE | sed 's/.*://'`</div><div class='add'>+MAKEFILES="Makefile $firstmf"</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_BASE_NAME)'"${ri_suffix}"</div><div class='add'>+AS_CASE(["$target_os"],</div><div class='add'>+  [cygwin*|mingw*], [</div><div class='add'>+    RUBYW_INSTALL_NAME="${ri_prefix}"'$(RUBYW_BASE_NAME)'"${ri_suffix}"</div><div class='add'>+    rubyw_install_name='$(RUBYW_INSTALL_NAME)'</div><div class='add'>+    ])</div><div class='add'>+</div><div class='add'>+rubylibdir='${rubylibprefix}/${ruby_version}'</div><div class='add'>+rubyarchdir=${multiarch+'${rubyarchprefix}/${ruby_version}'}${multiarch-'${rubylibdir}/${arch}'}</div><div class='add'>+</div><div class='add'>+rubyarchprefix=${multiarch+'${archlibdir}/${RUBY_BASE_NAME}'}${multiarch-'${rubylibprefix}/${arch}'}</div><div class='add'>+AC_ARG_WITH(rubyarchprefix,</div><div class='add'>+	    AS_HELP_STRING([--with-rubyarchprefix=DIR],</div><div class='add'>+			   [prefix for architecture dependent ruby libraries [[RUBYLIBPREFIX/ARCH]]]),</div><div class='add'>+	    [rubyarchprefix="$withval"])</div><div class='add'>+AC_SUBST(rubyarchprefix)</div><div class='add'>+</div><div class='add'>+rubysitearchprefix=${multiarch+'${sitearchlibdir}/${RUBY_BASE_NAME}'}${multiarch-'${rubylibprefix}/${sitearch}'}</div><div class='add'>+AC_ARG_WITH(rubysitearchprefix,</div><div class='add'>+	    AS_HELP_STRING([--with-rubysitearchprefix=DIR],</div><div class='add'>+			   [prefix for architecture dependent site libraries [[RUBYLIBPREFIX/SITEARCH]]]),</div><div class='add'>+	    [rubysitearchprefix="$withval"])</div><div class='add'>+AC_SUBST(rubysitearchprefix)</div><div class='add'>+</div><div class='add'>+RI_BASE_NAME=`echo ${RUBY_BASE_NAME} | sed 's/ruby/ri/'`</div><div class='add'>+ridir='${datarootdir}/${RI_BASE_NAME}'</div><div class='add'>+AC_ARG_WITH(ridir,</div><div class='add'>+	    AS_HELP_STRING([--with-ridir=DIR], [ri documentation [[DATAROOTDIR/ri]]]),</div><div class='add'>+	    [ridir=$withval])</div><div class='add'>+AC_SUBST(ridir)</div><div class='add'>+AC_SUBST(RI_BASE_NAME)</div><div class='add'>+</div><div class='add'>+AC_ARG_WITH(ruby-version,</div><div class='add'>+	    AS_HELP_STRING([--with-ruby-version=STR], [ruby version string for version specific directories [[full]] (full|minor|STR)]),</div><div class='add'>+            [ruby_version=$withval],</div><div class='add'>+            [ruby_version=full])</div><div class='add'>+unset RUBY_LIB_VERSION</div><div class='add'>+unset RUBY_LIB_VERSION_STYLE</div><div class='add'>+AS_CASE(["$ruby_version"],</div><div class='add'>+  [full],  [RUBY_LIB_VERSION_STYLE='3	/* full */'],</div><div class='add'>+  [minor], [RUBY_LIB_VERSION_STYLE='2	/* minor */'])</div><div class='add'>+AS_IF([test ${RUBY_LIB_VERSION_STYLE+set}], [</div><div class='add'>+    {</div><div class='add'>+    echo "#define RUBY_LIB_VERSION_STYLE $RUBY_LIB_VERSION_STYLE"</div><div class='add'>+    echo '#define STRINGIZE(x) x'</div><div class='add'>+    test -f revision.h -o -f "${srcdir}/revision.h" || echo '#define RUBY_REVISION 0'</div><div class='add'>+    echo '#include "version.h"'</div><div class='add'>+    echo 'ruby_version=RUBY_LIB_VERSION'</div><div class='add'>+    } &gt; conftest.c</div><div class='add'>+    ruby_version="`$CPP -I. -I"${srcdir}" -I"${srcdir}/include" conftest.c | sed '/^ruby_version=/!d;s/ //g'`"</div><div class='add'>+    eval $ruby_version</div><div class='add'>+], [test -z "${ruby_version}"], [</div><div class='add'>+    AC_MSG_ERROR([No ruby version, No place for bundled libraries])</div><div class='add'>+], [</div><div class='add'>+    RUBY_LIB_VERSION="${ruby_version}"</div><div class='add'>+])</div><div class='add'>+AC_SUBST(RUBY_LIB_VERSION_STYLE)</div><div class='add'>+AC_SUBST(RUBY_LIB_VERSION)</div><div class='add'>+</div><div class='add'>+AC_ARG_WITH(sitedir,</div><div class='add'>+	    AS_HELP_STRING([--with-sitedir=DIR], [site libraries in DIR [[RUBY_LIB_PREFIX/site_ruby]], "no" to disable site directory]),</div><div class='add'>+            [sitedir=$withval],</div><div class='add'>+            [sitedir='${rubylibprefix}/site_ruby'])</div><div class='add'>+sitelibdir='${sitedir}/${ruby_version}'</div><div class='add'>+</div><div class='add'>+AC_ARG_WITH(sitearchdir,</div><div class='add'>+	    AS_HELP_STRING([--with-sitearchdir=DIR],</div><div class='add'>+			   [architecture dependent site libraries in DIR [[SITEDIR/SITEARCH]], "no" to disable site directory]),</div><div class='add'>+            [sitearchdir=$withval],</div><div class='add'>+            [sitearchdir=${multiarch+'${rubysitearchprefix}/site_ruby/${ruby_version}'}${multiarch-'${sitelibdir}/${sitearch}'}])</div><div class='add'>+</div><div class='add'>+AC_ARG_WITH(vendordir,</div><div class='add'>+	    AS_HELP_STRING([--with-vendordir=DIR], [vendor libraries in DIR [[RUBY_LIB_PREFIX/vendor_ruby]], "no" to disable vendor directory]),</div><div class='add'>+            [vendordir=$withval],</div><div class='add'>+            [vendordir='${rubylibprefix}/vendor_ruby'])</div><div class='add'>+vendorlibdir='${vendordir}/${ruby_version}'</div><div class='add'>+</div><div class='add'>+AC_ARG_WITH(vendorarchdir,</div><div class='add'>+	    AS_HELP_STRING([--with-vendorarchdir=DIR],</div><div class='add'>+			   [architecture dependent vendor libraries in DIR [[VENDORDIR/SITEARCH]], "no" to disable vendor directory]),</div><div class='add'>+            [vendorarchdir=$withval],</div><div class='add'>+            [vendorarchdir=${multiarch+'${rubysitearchprefix}/vendor_ruby/${ruby_version}'}${multiarch-'${vendorlibdir}/${sitearch}'}])</div><div class='add'>+</div><div class='add'>+AS_IF([test "${LOAD_RELATIVE+set}"], [</div><div class='add'>+    AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE)</div><div class='add'>+    RUBY_EXEC_PREFIX=''</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+AC_SUBST(RUBY_EXEC_PREFIX)</div><div class='add'>+</div><div class='add'>+AC_SUBST(libdirname, ${multiarch+arch}libdir)</div><div class='add'>+AC_SUBST(archlibdir)dnl</div><div class='add'>+AC_SUBST(sitearchlibdir)dnl</div><div class='add'>+AC_SUBST(archincludedir)dnl</div><div class='add'>+AC_SUBST(sitearchincludedir)dnl</div><div class='add'>+AC_SUBST(arch)dnl</div><div class='add'>+AC_SUBST(sitearch)dnl</div><div class='add'>+AC_SUBST(ruby_version)dnl</div><div class='add'>+AC_SUBST(rubylibdir)dnl</div><div class='add'>+AC_SUBST(rubyarchdir)dnl</div><div class='add'>+AC_SUBST(sitedir)dnl</div><div class='add'>+AC_SUBST(sitelibdir)dnl</div><div class='add'>+AC_SUBST(sitearchdir)dnl</div><div class='add'>+AC_SUBST(vendordir)dnl</div><div class='add'>+AC_SUBST(vendorlibdir)dnl</div><div class='add'>+AC_SUBST(vendorarchdir)dnl</div><div class='add'>+</div><div class='add'>+AC_SUBST(CONFIGURE, "`echo $0 | sed 's|.*/||'`")dnl</div><div class='add'>+AC_SUBST(configure_args, "`echo "${ac_configure_args}" | sed 's/\\$/$$/g'`")dnl</div><div class='add'>+</div><div class='add'>+AS_IF([test "${universal_binary-no}" = yes ], [</div><div class='add'>+    arch="universal-${target_os}"</div><div class='add'>+    AS_IF([test "${rb_cv_architecture_available}" = yes], [</div><div class='add'>+	AC_DEFINE_UNQUOTED(RUBY_PLATFORM_CPU, __ARCHITECTURE__)</div><div class='add'>+    ], [</div><div class='add'>+	for archs in ${universal_archnames}; do</div><div class='add'>+	    cpu=`echo $archs | sed 's/.*=//'`</div><div class='add'>+	    archs=`echo $archs | sed 's/=.*//'`</div><div class='add'>+	    RUBY_DEFINE_IF([defined __${archs}__ &amp;&amp;! defined RUBY_PLATFORM_CPU], RUBY_PLATFORM_CPU, ["${cpu}"])</div><div class='add'>+	done</div><div class='add'>+    ])</div><div class='add'>+    ints='long int short'</div><div class='add'>+    test "$ac_cv_type_long_long" = yes &amp;&amp; ints="'long long' $ints"</div><div class='add'>+    AC_SUBST(UNIVERSAL_ARCHNAMES, "${universal_archnames}")</div><div class='add'>+    AC_SUBST(UNIVERSAL_INTS, "${ints}")</div><div class='add'>+    AC_DEFINE_UNQUOTED(RUBY_PLATFORM_OS, "${target_os}")</div><div class='add'>+    AC_DEFINE_UNQUOTED(RUBY_ARCH, "universal-" RUBY_PLATFORM_OS)</div><div class='add'>+    AC_DEFINE_UNQUOTED(RUBY_PLATFORM, "universal." RUBY_PLATFORM_CPU "-" RUBY_PLATFORM_OS)</div><div class='add'>+], [</div><div class='add'>+    arch="${target_cpu}-${target_os}"</div><div class='add'>+    AC_DEFINE_UNQUOTED(RUBY_PLATFORM, "$arch")</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+unset sitearch</div><div class='add'>+AS_CASE(["$target_os"],[mingw*],[sitearch="$target_cpu-$rb_cv_msvcrt"])</div><div class='add'>+: ${sitearch='${arch}'}</div><div class='add'>+</div><div class='add'>+AC_ARG_WITH(search-path,</div><div class='add'>+		AS_HELP_STRING([--with-search-path=DIR], [specify the additional search path]),</div><div class='add'>+		[search_path=$withval])</div><div class='add'>+AS_IF([test "$search_path" != ""], [</div><div class='add'>+    AC_SUBST(RUBY_SEARCH_PATH, $search_path)</div><div class='add'>+])</div><div class='add'>+</div><div class='add'>+AC_ARG_WITH(rubyhdrdir,</div><div class='add'>+	    AS_HELP_STRING([--with-rubyhdrdir=DIR], [core headers in DIR [[INCLUDEDIR/RUBY_BASE_NAME-RUBY_VERSION]]]),</div><div class='add'>+	    [rubyhdrdir=$withval],</div><div class='add'>+	    [rubyhdrdir='${includedir}/${RUBY_VERSION_NAME}'])</div><div class='add'>+</div><div class='add'>+AC_ARG_WITH(rubyarchhdrdir,</div><div class='add'>+	    AS_HELP_STRING([--with-rubyarchhdrdir=DIR],</div><div class='add'>+			   [architecture dependent core headers in DIR [[$(rubyhdrdir)/$(arch)]]]),</div><div class='add'>+	    [rubyarchhdrdir=$withval],</div><div class='add'>+	    [rubyarchhdrdir=${multiarch+'${archincludedir}/${RUBY_VERSION_NAME}'}${multiarch-'${rubyhdrdir}/${arch}'}])</div><div class='add'>+</div><div class='add'>+AC_ARG_WITH(sitehdrdir,</div><div class='add'>+	    AS_HELP_STRING([--with-sitehdrdir=DIR], [core site headers in DIR [[RUBYHDRDIR/site_ruby]]]),</div><div class='add'>+	    [sitehdrdir=$withval],</div><div class='add'>+	    [sitehdrdir='${rubyhdrdir}/site_ruby'])</div><div class='add'>+</div><div class='add'>+AC_ARG_WITH(sitearchhdrdir,</div><div class='add'>+	    AS_HELP_STRING([--with-sitearchhdrdir=DIR],</div><div class='add'>+			   [architecture dependent core site headers in DIR [[RUBYHDRDIR/site_ruby]]]),</div><div class='add'>+	    [sitearchhdrdir=$withval],</div><div class='add'>+	    [sitearchhdrdir=${multiarch+'${sitearchincludedir}/${RUBY_VERSION_NAME}/site_ruby'}${multiarch-'${sitehdrdir}/${sitearch}'}])</div><div class='add'>+</div><div class='add'>+AC_ARG_WITH(vendorhdrdir,</div><div class='add'>+	    AS_HELP_STRING([--with-vendorhdrdir=DIR], [core vendor headers in DIR [[RUBYHDRDIR/vendor_ruby]]]),</div><div class='add'>+	    [vendorhdrdir=$withval],</div><div class='add'>+	    [vendorhdrdir='${rubyhdrdir}/vendor_ruby'])</div><div class='add'>+</div><div class='add'>+AC_ARG_WITH(vendorarchhdrdir,</div><div class='add'>+	    AS_HELP_STRING([--with-vendorarchhdrdir=DIR],</div><div class='add'>+			   [architecture dependent core vendor headers in DIR [[RUBYHDRDIR/vendor_ruby]]]),</div><div class='add'>+	    [vendorarchhdrdir=$withval],</div><div class='add'>+	    [vendorarchhdrdir=${multiarch+'${sitearchincludedir}/${RUBY_VERSION_NAME}/vendor_ruby'}${multiarch-'${vendorhdrdir}/${sitearch}'}])</div><div class='add'>+</div><div class='add'>+AC_SUBST(rubyhdrdir)dnl</div><div class='add'>+AC_SUBST(sitehdrdir)dnl</div><div class='add'>+AC_SUBST(vendorhdrdir)dnl</div><div class='add'>+AC_SUBST(rubyarchhdrdir)dnl</div><div class='add'>+AC_SUBST(sitearchhdrdir)dnl</div><div class='add'>+AC_SUBST(vendorarchhdrdir)dnl</div><div class='add'>+</div><div class='add'>+AC_ARG_WITH(mantype,</div><div class='add'>+	AS_HELP_STRING([--with-mantype=TYPE], [specify man page type; TYPE is one of man and doc]),</div><div class='add'>+		[</div><div class='add'>+			AS_CASE(["$withval"],</div><div class='add'>+			[man|man.gz|man.bz2|doc|doc.gz|doc.bz2], [MANTYPE=$withval],</div><div class='add'>+			[AC_MSG_ERROR(invalid man type: $withval)])</div><div class='add'>+		])</div><div class='add'>+AS_IF([test -z "$MANTYPE"], [</div><div class='add'>+	dnl Looks for nroff with -mdoc support.</div><div class='add'>+	AC_CACHE_VAL([ac_cv_path_NROFF], [</div><div class='add'>+		AC_PATH_PROGS_FEATURE_CHECK([NROFF],</div><div class='add'>+			[nroff awf mandoc],</div><div class='add'>+			[$ac_path_NROFF -mdoc ${srcdir}/man/ruby.1 \</div><div class='add'>+				&gt;/dev/null 2&gt;&amp;1 &amp;&amp;</div><div class='add'>+				ac_cv_path_NROFF=$ac_path_NROFF \</div><div class='add'>+				ac_path_NROFF_found=:],</div><div class='add'>+			[], ["/usr/bin:/usr/ucb"]</div><div class='add'>+		)</div><div class='add'>+	])</div><div class='add'>+	AS_IF([test -n "$ac_cv_path_NROFF"], [</div><div class='add'>+		MANTYPE=doc</div><div class='add'>+	], [</div><div class='add'>+		MANTYPE=man</div><div class='add'>+	])</div><div class='add'>+])</div><div class='add'>+AC_SUBST(MANTYPE)</div><div class='add'>+</div><div class='add'>+AC_ARG_ENABLE(rubygems,</div><div class='add'>+	AS_HELP_STRING([--disable-rubygems], [disable rubygems by default]),</div><div class='add'>+	[enable_rubygems="$enableval"], [enable_rubygems=yes])</div><div class='add'>+AS_IF([test x"$enable_rubygems" = xno], [</div><div class='add'>+    USE_RUBYGEMS=no</div><div class='add'>+], [</div><div class='add'>+    USE_RUBYGEMS=yes</div><div class='add'>+])</div><div class='add'>+AC_SUBST(USE_RUBYGEMS)</div><div class='add'>+</div><div class='add'>+arch_hdrdir="${EXTOUT}/include/${arch}/ruby"</div><div class='add'>+AS_MKDIR_P("${arch_hdrdir}")</div><div class='add'>+config_h="${arch_hdrdir}/config.h"</div><div class='add'>+guard=INCLUDE_RUBY_CONFIG_H</div><div class='add'>+{</div><div class='add'>+  echo "#ifndef $guard"</div><div class='add'>+  echo "#define $guard 1"</div><div class='add'>+  grep -v "^#define PACKAGE_" confdefs.h</div><div class='add'>+  echo "#endif /* $guard */"</div><div class='add'>+} | tr -d '\015' |</div><div class='add'>+(</div><div class='add'>+  AS_IF([test "x$CONFIGURE_TTY" = xyes], [color=--color], [color=])</div><div class='add'>+  exec ${tooldir}/ifchange $color "${config_h}" -</div><div class='add'>+) &gt;&amp;AS_MESSAGE_FD || AC_MSG_ERROR([failed to create ${config_h}])</div><div class='add'>+tr -d '\015' &lt; largefile.h &gt; confdefs.h</div><div class='add'>+rm largefile.h</div><div class='add'>+</div><div class='add'>+BUILTIN_ENCS=["`sed -n -e '/^BUILTIN_ENCS[ 	]*=/{' \</div><div class='add'>+	-e s/// -e :l -e '/\\\\$/N' -e 's/\\\\\\n/ /' -e 't l' -e p \</div><div class='add'>+	-e '}' "${srcdir}/enc/Makefile.in"`"]</div><div class='add'>+BUILTIN_ENCOBJS=</div><div class='add'>+for e in $BUILTIN_ENCS; do BUILTIN_ENCOBJS="$BUILTIN_ENCOBJS "`echo $e | sed 's/\.c$/.$(OBJEXT)/'`; done</div><div class='add'>+AC_SUBST(BUILTIN_ENCOBJS)</div><div class='add'>+</div><div class='add'>+BUILTIN_TRANSES=["`sed -n -e '/^BUILTIN_TRANSES[ 	]*=/{' \</div><div class='add'>+	-e s/// -e :l -e '/\\\\$/N' -e 's/\\\\\\n/ /' -e 't l' -e p \</div><div class='add'>+	-e '}' "${srcdir}/enc/Makefile.in"`"]</div><div class='add'>+BUILTIN_TRANSSRCS=</div><div class='add'>+BUILTIN_TRANSOBJS=</div><div class='add'>+for e in $BUILTIN_TRANSES; do</div><div class='add'>+  BUILTIN_TRANSSRCS="$BUILTIN_TRANSSRCS "`echo $e | sed 's/\.trans$/.c/'`</div><div class='add'>+  BUILTIN_TRANSOBJS="$BUILTIN_TRANSOBJS "`echo $e | sed 's/\.trans$/.$(OBJEXT)/'`</div><div class='add'>+done</div><div class='add'>+AC_SUBST(BUILTIN_TRANSSRCS)</div><div class='add'>+AC_SUBST(BUILTIN_TRANSOBJS)</div><div class='add'>+</div><div class='add'>+PACKAGE=$RUBY_BASE_NAME</div><div class='add'>+AC_SUBST(PACKAGE)</div><div class='add'>+AS_MESSAGE([$PACKAGE library version = $ruby_version])</div><div class='add'>+</div><div class='add'>+AS_IF([test x"$CC_WRAPPER" != x], [</div><div class='add'>+    CC='$(CC_WRAPPER) '"${CC@%:@$CC_WRAPPER }"</div><div class='add'>+    CPP='$(CC_WRAPPER) '"${CPP@%:@$CC_WRAPPER }"</div><div class='add'>+    CC_WRAPPER='$(rubyarchdir)/darwin-cc'</div><div class='add'>+    XCC_WRAPPER='$(top_srcdir)/tool/darwin-cc'</div><div class='add'>+])</div><div class='add'>+AC_SUBST(CC_WRAPPER, '')</div><div class='add'>+AC_SUBST(XCC_WRAPPER)</div><div class='add'>+</div><div class='add'>+AS_CASE([" $CPP "], [*" $CC "*], [CPP=`echo " $CPP " | sed "s| $CC |"' $(CC) |;s/^ *//;s/  *$//'`])</div><div class='add'>+</div><div class='add'>+AS_IF([test x"$firstmf" != x], [</div><div class='add'>+    AC_CONFIG_FILES($firstmf:$firsttmpl, [], [firstmf="$firstmf" firsttmpl="$firsttmpl"])</div><div class='add'>+])</div><div class='add'>+AC_CONFIG_FILES(Makefile:template/Makefile.in, [</div><div class='add'>+    tmpmk=confmk$$.tmp</div><div class='add'>+    {</div><div class='add'>+	AS_IF([test ${VCS+set}], [</div><div class='add'>+	    :</div><div class='add'>+	], [git_dir=`$GIT --work-tree="$srcdir" --git-dir="$srcdir/.git" rev-parse --git-dir 2&gt;/dev/null`], [</div><div class='add'>+	    VCS='$(GIT)'</div><div class='add'>+	], [</div><div class='add'>+	    VCS='echo cannot'</div><div class='add'>+	])</div><div class='add'>+	AS_CASE("$VCS",</div><div class='add'>+		['$(GIT)'|git], [VCSUP='$(VCS) pull --rebase $(GITPULLOPTIONS)'],</div><div class='add'>+		[VCSUP='$(VCS)'])</div><div class='add'>+	sed -n \</div><div class='add'>+	    -e '[/^@%:@define \(RUBY_RELEASE_[A-Z]*\) \([0-9][0-9]*\)/]{' \</div><div class='add'>+	    -e   's//\1 = \2/' \</div><div class='add'>+	    -e   '[s/ \([0-9]\)$/ 0\1/]' \</div><div class='add'>+	    -e   p \</div><div class='add'>+	    -e '}' "$srcdir/version.h"</div><div class='add'>+	sed '/^MISSING/s/\$U\././g;/^VCS *=/s#@VCS@#'"$VCS"'#;/^VCSUP *=/s#@VCSUP@#'"$VCSUP"'#' Makefile</div><div class='add'>+	echo; test x"$EXEEXT" = x || echo 'miniruby: miniruby$(EXEEXT)'</div><div class='add'>+	AS_IF([test "$gnumake" != yes], [</div><div class='add'>+	    echo ['$(MKFILES): $(srcdir)/common.mk']</div><div class='add'>+	    sed ['s/{\$([^(){}]*)[^{}]*}//g'] ${srcdir}/common.mk</div><div class='add'>+	], [</div><div class='add'>+	    echo 'distclean-local::; @$(RM) GNUmakefile uncommon.mk'</div><div class='add'>+	])</div><div class='add'>+    } &gt; $tmpmk &amp;&amp; AS_IF([! grep '^ruby:' $tmpmk &gt; /dev/null], [</div><div class='add'>+	AS_IF([test "${gnumake}" = yes], [</div><div class='add'>+	    tmpgmk=confgmk$$.tmp</div><div class='add'>+	    {</div><div class='add'>+		echo "include $tmpmk"</div><div class='add'>+		echo "-include uncommon.mk"</div><div class='add'>+	    } &gt; $tmpgmk</div><div class='add'>+	], [</div><div class='add'>+	    tmpgmk=$tmpmk</div><div class='add'>+	]) &amp;&amp;</div><div class='add'>+	test -z "`${MAKE-make} -f $tmpgmk info-program | grep '^PROGRAM=ruby$'`" &amp;&amp;</div><div class='add'>+	echo 'ruby: $(PROGRAM);' &gt;&gt; $tmpmk</div><div class='add'>+	test "$tmpmk" = "$tmpgmk" || rm -f "$tmpgmk"</div><div class='add'>+    ]) &amp;&amp; mv -f $tmpmk Makefile],</div><div class='add'>+[EXEEXT='$EXEEXT' MAKE='${MAKE-make}' gnumake='$gnumake' GIT='$GIT'])</div><div class='add'>+</div><div class='add'>+AC_ARG_WITH([ruby-pc],</div><div class='add'>+	    AC_HELP_STRING([--with-ruby-pc=FILENAME], [pc file basename]),</div><div class='add'>+	    [ruby_pc="$withval"],</div><div class='add'>+	    [ruby_pc="${RUBY_BASE_NAME}-${MAJOR}.${MINOR}.pc"])</div><div class='add'>+AC_SUBST(ruby_pc)</div><div class='add'>+AC_SUBST(exec, [exec])</div><div class='add'>+</div><div class='add'>+AC_ARG_WITH(destdir,</div><div class='add'>+	    AS_HELP_STRING([--with-destdir=DESTDIR], [specify default directory to install]),</div><div class='add'>+	    [DESTDIR="$withval"])</div><div class='add'>+AC_SUBST(DESTDIR)</div><div class='add'>+</div><div class='add'>+AC_CONFIG_FILES($ruby_pc:template/ruby.pc.in,</div><div class='add'>+    [</div><div class='add'>+    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='add'>+	{</div><div class='add'>+	    test -z "$PKG_CONFIG" ||</div><div class='add'>+	    PKG_CONFIG_PATH=. $PKG_CONFIG --print-errors ruby.tmp</div><div class='add'>+	}],</div><div class='add'>+    [</div><div class='add'>+	mv -f ruby.tmp.pc $ruby_pc</div><div class='add'>+    ], [</div><div class='add'>+	exit 1</div><div class='add'>+    ])</div><div class='add'>+    ],</div><div class='add'>+    [ruby_pc='$ruby_pc' PKG_CONFIG='$PKG_CONFIG'])</div><div class='add'>+</div><div class='add'>+AC_OUTPUT</div><div class='add'>+}</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+AS_IF([test "$silent" = yes], [], [</div><div class='add'>+AS_IF([${FOLD+:} false], [], [</div><div class='add'>+AS_IF([test "`echo abcdefg hijklmno | fold -s -w10 | sed 1d`" = hijklmno], [FOLD="fold"], [FOLD=])</div><div class='add'>+])</div><div class='add'>+fold_width=`expr $COLUMNS - 30 2&gt;/dev/null` || fold_width=50</div><div class='add'>+AS_REQUIRE_SHELL_FN([config_summary],</div><div class='add'>+    [AS_FUNCTION_DESCRIBE([config_summary], [NAME, VAL], [configuration summary])],</div><div class='add'>+    [AS_IF([test -z "$2"], [], [</div><div class='add'>+	AS_ECHO_N(["   * $1:                     "]) | dd bs=1 count=26 2&gt;/dev/null</div><div class='add'>+	AS_IF([test "$FOLD"], [</div><div class='add'>+	    echo "$2" | fold -s -w$fold_width |</div><div class='add'>+	    sed '1!s/^/                          /;$!s/$/\\/'</div><div class='add'>+	], [echo "$2"])</div><div class='add'>+    ])]</div><div class='add'>+)</div><div class='add'>+</div><div class='add'>+AS_IF([test $install_doc = yes],</div><div class='add'>+    [DOCTARGETS=`echo " $RDOCTARGET $CAPITARGET " | sed 's/ nodoc //g;s/^ *//;s/ *$//'`],</div><div class='add'>+    [DOCTARGETS=no])</div><div class='add'>+echo "---"</div><div class='add'>+echo "Configuration summary for $RUBY_BASE_NAME version $MAJOR.$MINOR.$TEENY"</div><div class='add'>+echo ""</div><div class='add'>+config_summary "Installation prefix" "$prefix"</div><div class='add'>+config_summary "exec prefix"         "$exec_prefix"</div><div class='add'>+config_summary "arch"                "$arch"</div><div class='add'>+config_summary "site arch"           "$sitearch"</div><div class='add'>+config_summary "RUBY_BASE_NAME"      "$RUBY_BASE_NAME"</div><div class='add'>+config_summary "enable shared"       "$enable_shared"</div><div class='add'>+config_summary "ruby lib prefix"     "$rubylibprefix"</div><div class='add'>+config_summary "site libraries path" "$rubysitearchprefix"</div><div class='add'>+config_summary "vendor path"         "$vendordir"</div><div class='add'>+config_summary "target OS"           "$target_os"</div><div class='add'>+config_summary "compiler"            "$CC"</div><div class='add'>+config_summary "with pthread"        "$enable_pthread"</div><div class='add'>+config_summary "with coroutine"      "$rb_cv_coroutine"</div><div class='add'>+config_summary "enable shared libs"  "$ENABLE_SHARED"</div><div class='add'>+config_summary "dynamic library ext" "$DLEXT"</div><div class='add'>+config_summary "CFLAGS"              "$cflags"</div><div class='add'>+config_summary "CPPFLAGS"            "$cppflags"</div><div class='add'>+config_summary "LDFLAGS"             "$LDFLAGS"</div><div class='add'>+config_summary "DLDFLAGS"            "$DLDFLAGS"</div><div class='add'>+config_summary "optflags"            "$optflags"</div><div class='add'>+config_summary "debugflags"          "$debugflags"</div><div class='add'>+config_summary "warnflags"           "$warnflags"</div><div class='add'>+config_summary "strip command"       "$STRIP"</div><div class='add'>+config_summary "install doc"         "$DOCTARGETS"</div><div class='add'>+config_summary "JIT support"         "$MJIT_SUPPORT"</div><div class='add'>+config_summary "man page type"       "$MANTYPE"</div><div class='add'>+config_summary "search path"         "$search_path"</div><div class='add'>+config_summary "static-linked-ext"   ${EXTSTATIC:+"yes"}</div><div class='add'>+config_summary "BASERUBY -v"         "$BASERUBY_VERSION"</div><div class='add'>+echo ""</div><div class='add'>+echo "---"</div><div class='add'>+])</div><div class='head'>diff --git a/configure.bat b/configure.bat<br/>deleted file mode 100644<br/>index ce0aa8bd9f..0000000000<br/>--- a/<a href='/ruby.git/tree/configure.bat?h=v3_0_0&amp;id=cfb52c86678519810cfa84b564a3d32a9200139d'>configure.bat</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,24 +0,0 @@</div><div class='del'>-@echo off</div><div class='del'>-grep -qs MAJOR top.sed</div><div class='del'>-if errorlevel 1 goto seen</div><div class='del'>-if errorlevel 0 goto not_seen</div><div class='del'>-:seen</div><div class='del'>-  sed -n "/VERSION /s/[^0-9.]//gp" &lt; version.h &gt; version.out</div><div class='del'>-  cut -d. -f1 version.out &gt; major.out</div><div class='del'>-  cut -d. -f2 version.out &gt; minor.out</div><div class='del'>-  cut -d. -f3 version.out &gt; teeny.out</div><div class='del'>-  sed "s/^/s,@MAJOR@,/;s/$/,/g" major.out &gt;&gt; top.sed</div><div class='del'>-  sed "s/^/s,@MINOR@,/;s/$/,/g" minor.out &gt;&gt; top.sed</div><div class='del'>-  sed "s/^/s,@TEENY@,/;s/$/,/g" teeny.out &gt;&gt; top.sed</div><div class='del'>-  rm version.out major.out minor.out teeny.out</div><div class='del'>-:not_seen</div><div class='del'>-sed -f top.sed &lt; Makefile.in &gt; Makefile</div><div class='del'>-sed -f top.sed &lt; ext\extmk.rb.in &gt; ext\extmk.rb</div><div class='del'>-copy config_h.dj config.h</div><div class='del'>-if not (%OS%) == (Windows_NT) goto LFN</div><div class='del'>-    copy missing\vsnprintf.c missing\vsnprint.c</div><div class='del'>-    copy config_s.dj config.sta</div><div class='del'>-goto end</div><div class='del'>-:LFN</div><div class='del'>-    copy config_s.dj config.status</div><div class='del'>-:end</div><div class='head'>diff --git a/configure.in b/configure.in<br/>deleted file mode 100644<br/>index 00b6ff12ce..0000000000<br/>--- a/<a href='/ruby.git/tree/configure.in?h=v3_0_0&amp;id=cfb52c86678519810cfa84b564a3d32a9200139d'>configure.in</a><br/>+++ /dev/null</div><div class='hunk'>@@ -1,789 +0,0 @@</div><div class='del'>-dnl Process this file with autoconf to produce a configure script.</div><div class='del'>-AC_INIT(ruby.h)</div><div class='del'>-</div><div class='del'>-rb_version=`grep RUBY_VERSION $srcdir/version.h`</div><div class='del'>-MAJOR=`expr "$rb_version" : '#define RUBY_VERSION "\([0-9][0-9]*\)\.[0-9][0-9]*\.[0-9][0-9]*"'`</div><div class='del'>-MINOR=`expr "$rb_version" : '#define RUBY_VERSION "[0-9][0-9]*\.\([0-9][0-9]*\)\.[0-9][0-9]*"'`</div><div class='del'>-TEENY=`expr "$rb_version" : '#define RUBY_VERSION "[0-9][0-9]*\.[0-9][0-9]*\.\([0-9][0-9]*\)"'`</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'>-dnl checks for alternative programs</div><div class='del'>-AC_ARG_WITH(gcc, [--without-gcc             never use gcc], [</div><div class='del'>-	case $withval in</div><div class='del'>-	no)	CC=cc</div><div class='del'>-		without_gcc=yes;;</div><div class='del'>-	yes)	CC=gcc</div><div class='del'>-		without_gcc=no;;</div><div class='del'>-	*)	CC=$withval</div><div class='del'>-		without_gcc=$withval;;</div><div class='del'>-	esac], [without_gcc=no])</div><div class='del'>-dnl If the user switches compilers, we can't believe the cache</div><div class='del'>-if test ! -z "$ac_cv_prog_CC" -a ! -z "$CC" -a "$CC" != "$ac_cv_prog_CC"</div><div class='del'>-then</div><div class='del'>-  AC_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'>-fi</div><div class='del'>-</div><div class='del'>-AC_CANONICAL_HOST</div><div class='del'>-</div><div class='del'>-dnl checks for fat-binary</div><div class='del'>-fat_binary=no</div><div class='del'>-AC_ARG_ENABLE(fat-binary,</div><div class='del'>-       [--enable-fat-binary       build a NeXT/Apple Multi Architecture Binary. ],</div><div class='del'>-       [fat_binary=$enableval])</div><div class='del'>- if test "$fat_binary" = yes ; then</div><div class='del'>-</div><div class='del'>-    AC_MSG_CHECKING(target architecture)</div><div class='del'>-</div><div class='del'>-    case "$host_os" in</div><div class='del'>-    rhapsody*)</div><div class='del'>-        echo -n "MacOS X Server: "</div><div class='del'>-	  	if test "$TARGET_ARCHS" = "" ; then</div><div class='del'>-   	        TARGET_ARCHS="ppc i386"</div><div class='del'>-  		fi</div><div class='del'>-	;;</div><div class='del'>-    nextstep*|openstep*)</div><div class='del'>-  	    echo -n "NeXTSTEP/OPENSTEP: "</div><div class='del'>-	    if test "$TARGET_ARCHS" = "" ; then</div><div class='del'>-	       if test `/usr/bin/arch` = "m68k" ; then</div><div class='del'>-		   TARGET_ARCHS="m68k i486"</div><div class='del'>-	       else # Black and Native one</div><div class='del'>-		   TARGET_ARCHS="m68k `/usr/bin/arch`"</div><div class='del'>-	       fi</div><div class='del'>-	    fi</div><div class='del'>-        ;;</div><div class='del'>-    esac</div><div class='del'>-    # /usr/lib/arch_tool -archify_list $TARGET_ARCHS</div><div class='del'>-    for archs in $TARGET_ARCHS </div><div class='del'>-    do</div><div class='del'>-        ARCH_FLAG="$ARCH_FLAG -arch $archs "</div><div class='del'>-        echo -n " $archs"</div><div class='del'>-    done</div><div class='del'>-    AC_DEFINE(NEXT_FAT_BINARY)</div><div class='del'>-    echo "."</div><div class='del'>-fi </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'>-AC_PROG_CC</div><div class='del'>-AC_PROG_GCC_TRADITIONAL</div><div class='del'>-AC_PROG_YACC</div><div class='del'>-AC_PROG_RANLIB</div><div class='del'>-AC_SUBST(AR)</div><div class='del'>-AC_CHECK_PROGS(AR, ar aal, ar)</div><div class='del'>-</div><div class='del'>-AC_PROG_LN_S</div><div class='del'>-AC_PROG_MAKE_SET</div><div class='del'>-</div><div class='del'>-AC_EXEEXT</div><div class='del'>-AC_OBJEXT</div><div class='del'>-</div><div class='del'>-# checks for UNIX variants that set C preprocessor variables</div><div class='del'>-AC_MINIX</div><div class='del'>-</div><div class='del'>-AC_CHECK_SIZEOF(int)</div><div class='del'>-AC_CHECK_SIZEOF(short)</div><div class='del'>-AC_CHECK_SIZEOF(long)</div><div class='del'>-AC_CHECK_SIZEOF(void*)</div><div class='del'>-AC_CHECK_SIZEOF(float)</div><div class='del'>-AC_CHECK_SIZEOF(double)</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'>-if test "$rb_cv_have_prototypes" = yes; then</div><div class='del'>-  AC_DEFINE(HAVE_PROTOTYPES)</div><div class='del'>-fi</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'>-if test "$rb_cv_tokenpaste" = ansi; then</div><div class='del'>-  AC_DEFINE(TOKEN_PASTE(x,y),[x##y])</div><div class='del'>-else</div><div class='del'>-  AC_DEFINE(TOKEN_PASTE(x,y),[x/**/y])</div><div class='del'>-fi</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'>-if test "$rb_cv_stdarg" = yes; then</div><div class='del'>-  AC_DEFINE(HAVE_STDARG_PROTOTYPES)</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-AC_CACHE_CHECK(for gcc attribute noreturn, rb_cv_have_attr_noreturn,</div><div class='del'>-  [AC_TRY_COMPILE([void exit(int x) __attribute__ ((noreturn));], [],</div><div class='del'>-	rb_cv_have_attr_noreturn=yes,</div><div class='del'>-	rb_cv_have_attr_noreturn=no)])</div><div class='del'>-if test "$rb_cv_have_attr_noreturn" = yes; then</div><div class='del'>-  AC_DEFINE(HAVE_ATTR_NORETURN)</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-dnl Checks for libraries.</div><div class='del'>-case "$host_os" in</div><div class='del'>-nextstep*)	;;</div><div class='del'>-openstep*)	;;</div><div class='del'>-rhapsody*)	;;</div><div class='del'>-human*)		;;</div><div class='del'>-beos*)		;;</div><div class='del'>-cygwin*)	;;</div><div class='del'>-*) LIBS="-lm $LIBS";;</div><div class='del'>-esac</div><div class='del'>-AC_CHECK_LIB(crypt, crypt)</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(xpg4, setlocale)	# FreeBSD needs this</div><div class='del'>-</div><div class='del'>-dnl Checks for header files.</div><div class='del'>-AC_HEADER_DIRENT</div><div class='del'>-AC_HEADER_STDC</div><div class='del'>-AC_HEADER_SYS_WAIT</div><div class='del'>-AC_CHECK_HEADERS(stdlib.h string.h unistd.h limits.h sys/file.h sys/ioctl.h\</div><div class='del'>-		 fcntl.h sys/fcntl.h sys/select.h sys/time.h sys/times.h sys/param.h\</div><div class='del'>-		 syscall.h pwd.h a.out.h utime.h memory.h direct.h fnmatch.h)</div><div class='del'>-</div><div class='del'>-dnl Checks for typedefs, structures, and compiler characteristics.</div><div class='del'>-AC_TYPE_UID_T</div><div class='del'>-AC_TYPE_SIZE_T</div><div class='del'>-AC_STRUCT_ST_BLKSIZE</div><div class='del'>-save_LIBOJBS="$LIBOBJS"</div><div class='del'>-AC_STRUCT_ST_BLOCKS</div><div class='del'>-LIBOBJS="$save_LIBOBJS"</div><div class='del'>-AC_STRUCT_ST_RDEV</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'>-AC_FUNC_ALLOCA</div><div class='del'>-AC_FUNC_VFORK</div><div class='del'>-AC_FUNC_MEMCMP</div><div class='del'>-AC_REPLACE_FUNCS(dup2 memmove mkdir strcasecmp strncasecmp strerror strftime\</div><div class='del'>-		 strchr strstr strtoul strdup crypt flock vsnprintf\</div><div class='del'>-		 fnmatch isinf isnan finite)</div><div class='del'>-AC_CHECK_FUNCS(fmod killpg drand48 random wait4 waitpid syscall getcwd\</div><div class='del'>-	      truncate chsize times utimes fcntl lockf setitimer\</div><div class='del'>-	      setruid seteuid setreuid setrgid setegid setregid\</div><div class='del'>-	      getpgrp setpgrp getpgid setpgid getgroups getpriority\</div><div class='del'>-	      dlopen sigprocmask sigaction _setjmp setsid)</div><div class='del'>-AC_STRUCT_TIMEZONE</div><div class='del'>-if test "$ac_cv_func_strftime" = no; then</div><div class='del'>-    AC_TRY_LINK([],</div><div class='del'>-	 [extern int daylight; int i = daylight;], AC_DEFINE(HAVE_DAYLIGHT))</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-if test "$ac_cv_func_sigprocmask" = yes &amp;&amp; test "$ac_cv_func_sigaction" = yes; then</div><div class='del'>-   AC_DEFINE(POSIX_SIGNAL)</div><div class='del'>-else</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=no)])</div><div class='del'>-  if test "$rb_cv_bsd_signal" = yes; then</div><div class='del'>-    AC_DEFINE(BSD_SIGNAL)</div><div class='del'>-  fi</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-AC_FUNC_GETPGRP</div><div class='del'>-AC_FUNC_SETPGRP  </div><div class='del'>-</div><div class='del'>-AC_CACHE_CHECK(for working strtod, rb_cv_func_strtod,</div><div class='del'>-[AC_TRY_RUN([</div><div class='del'>-double strtod ();</div><div class='del'>-int</div><div class='del'>-main()</div><div class='del'>-{</div><div class='del'>-  {</div><div class='del'>-    /* Some versions of Linux strtod mis-parse strings with leading '+'.  */</div><div class='del'>-    char *string = " +69";</div><div class='del'>-    char *term;</div><div class='del'>-    double value;</div><div class='del'>-    value = strtod(string, &amp;term);</div><div class='del'>-    if (value != 69 || term != (string + 4))</div><div class='del'>-      exit(1);</div><div class='del'>-  }</div><div class='del'>-</div><div class='del'>-  {</div><div class='del'>-    /* Under Solaris 2.4, strtod returns the wrong value for the</div><div class='del'>-       terminating character under some conditions.  */</div><div class='del'>-    char *string = "NaN";</div><div class='del'>-    char *term;</div><div class='del'>-    strtod(string, &amp;term);</div><div class='del'>-    if (term != string &amp;&amp; *(term - 1) == 0)</div><div class='del'>-      exit(1);</div><div class='del'>-  }</div><div class='del'>-  exit(0);</div><div class='del'>-}</div><div class='del'>-], rb_cv_func_strtod=yes, rb_cv_func_strtod=no, rb_cv_func_strtod=no)])</div><div class='del'>-test $rb_cv_func_strtod = no &amp;&amp; LIBOBJS="$LIBOBJS strtod.o"</div><div class='del'>-</div><div class='del'>-AC_C_BIGENDIAN</div><div class='del'>-AC_C_CONST</div><div class='del'>-AC_CHAR_UNSIGNED</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_TRY_RUN([</div><div class='del'>-int</div><div class='del'>-main()</div><div class='del'>-{</div><div class='del'>-  if (-1==(-1&gt;&gt;1))</div><div class='del'>-    return 0;</div><div class='del'>-  return 1;</div><div class='del'>-}</div><div class='del'>-],</div><div class='del'>-	rb_cv_rshift_sign=yes,</div><div class='del'>-	rb_cv_rshift_sign=no,</div><div class='del'>-	rb_cv_rshift_sign=yes)])</div><div class='del'>-if test "$rb_cv_rshift_sign" = yes; then</div><div class='del'>-  AC_DEFINE(RSHIFT(x,y), ((x)&gt;&gt;y))</div><div class='del'>-else</div><div class='del'>-  AC_DEFINE(RSHIFT(x,y), (((x)&lt;0) ? ~((~(x))&gt;&gt;y) : (x)&gt;&gt;y))</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-AC_MSG_CHECKING(count field in FILE structures)</div><div class='del'>-AC_CACHE_VAL(rb_cv_fcnt,</div><div class='del'>-[AC_TRY_COMPILE([#include &lt;stdio.h&gt;],</div><div class='del'>-	[FILE *f = stdin; f-&gt;_cnt = 0;], rb_cv_fcnt="_cnt", )</div><div class='del'>-if test "$rb_cv_fcnt" = ""; then</div><div class='del'>-    AC_TRY_COMPILE([#include &lt;stdio.h&gt;],</div><div class='del'>-	[FILE *f = stdin; f-&gt;__cnt = 0;], rb_cv_fcnt="__cnt", )</div><div class='del'>-fi</div><div class='del'>-if test "$rb_cv_fcnt" = ""; then</div><div class='del'>-    AC_TRY_COMPILE([#include &lt;stdio.h&gt;],</div><div class='del'>-	[FILE *f = stdin; f-&gt;_r = 0;], rb_cv_fcnt="_r", )</div><div class='del'>-fi</div><div class='del'>-if test "$rb_cv_fcnt" = ""; then</div><div class='del'>-    AC_TRY_COMPILE([#include &lt;stdio.h&gt;],</div><div class='del'>-	[FILE *f = stdin; f-&gt;readCount = 0;],</div><div class='del'>-	rb_cv_fcnt="readCount", )</div><div class='del'>-fi</div><div class='del'>-dnl for emx0.9c</div><div class='del'>-if test "$rb_cv_fcnt" = ""; then</div><div class='del'>-    AC_TRY_COMPILE([#include &lt;stdio.h&gt;],</div><div class='del'>-	[FILE *f = stdin; f-&gt;_rcount = 0;],</div><div class='del'>-	rb_cv_fcnt="_rcount", rb_cv_fcnt="not found")</div><div class='del'>-fi])</div><div class='del'>-if test "$rb_cv_fcnt" = "not found"; then</div><div class='del'>-  AC_MSG_RESULT([not found(OK if using GNU libc)])</div><div class='del'>-else</div><div class='del'>-  AC_MSG_RESULT($rb_cv_fcnt)</div><div class='del'>-  AC_DEFINE_UNQUOTED(FILE_COUNT, $rb_cv_fcnt)</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-dnl default value for $KANJI</div><div class='del'>-AC_SUBST(DEFAULT_KCODE)</div><div class='del'>-AC_ARG_WITH(default-kcode, </div><div class='del'>-	[--with-default-kcode=CODE specify default value for \$KCODE (utf8|euc|sjis|none)], </div><div class='del'>-	[case $withval in</div><div class='del'>-	utf8) AC_DEFINE(DEFAULT_KCODE, KCODE_UTF8);;</div><div class='del'>-	euc)  AC_DEFINE(DEFAULT_KCODE, KCODE_EUC);;</div><div class='del'>-	sjis) AC_DEFINE(DEFAULT_KCODE, KCODE_SJIS);;</div><div class='del'>-	none) AC_DEFINE(DEFAULT_KCODE, KCODE_NONE);;</div><div class='del'>-        *)    AC_MSG_WARN($withval is not valid kcode; ignored);;</div><div class='del'>-	esac])</div><div class='del'>-</div><div class='del'>-dnl wheather use dln_a_out ot not</div><div class='del'>-AC_ARG_WITH(dln-a-out, </div><div class='del'>-	[--with-dln-a-out          use dln_a_out if possible], [</div><div class='del'>-	case $withval in</div><div class='del'>-	yes) with_dln_a_out=yes;;</div><div class='del'>-	*)   with_dln_a_out=no;;</div><div class='del'>-	esac], [with_dln_a_out=no])</div><div class='del'>-</div><div class='del'>-AC_SUBST(XLDFLAGS)dnl</div><div class='del'>-</div><div class='del'>-case "$host_os" in</div><div class='del'>-    linux*)</div><div class='del'>-  AC_CACHE_CHECK(whether ELF binaries are produced, rb_cv_binary_elf,</div><div class='del'>-  [AC_TRY_RUN([</div><div class='del'>-/* Test for whether ELF binaries are produced */</div><div class='del'>-#include &lt;fcntl.h&gt;</div><div class='del'>-#include &lt;stdlib.h&gt;</div><div class='del'>-main() {</div><div class='del'>-	char buffer[4];</div><div class='del'>-	int i=open("conftest",O_RDONLY);</div><div class='del'>-	if(i==-1)</div><div class='del'>-		exit(1); /* fail */</div><div class='del'>-	if(read(i,&amp;buffer[0],4)&lt;4)</div><div class='del'>-		exit(1); /* fail */</div><div class='del'>-	if(buffer[0] != 127 || buffer[1] != 'E' ||</div><div class='del'>-           buffer[2] != 'L' || buffer[3] != 'F')</div><div class='del'>-		exit(1); /* fail */</div><div class='del'>-	exit(0); /* succeed (yes, it's ELF) */</div><div class='del'>-}</div><div class='del'>-],</div><div class='del'>-	rb_cv_binary_elf=yes,</div><div class='del'>-	rb_cv_binary_elf=no,</div><div class='del'>-	rb_cv_binary_elf=yes)])</div><div class='del'>-  if test "$rb_cv_binary_elf" = no; then</div><div class='del'>-    with_dln_a_out=yes</div><div class='del'>-    host_os=${host_os}-a_out</div><div class='del'>-  else</div><div class='del'>-    LDFLAGS="-rdynamic"</div><div class='del'>-  fi;;</div><div class='del'>-esac</div><div class='del'>-</div><div class='del'>-AC_SUBST(DLDFLAGS)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(DLEXT)dnl</div><div class='del'>-</div><div class='del'>-STATIC=</div><div class='del'>-</div><div class='del'>-if test "$with_dln_a_out" != yes; then</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'>-  if test "$GCC" = yes; then</div><div class='del'>-    case "$host_os" in</div><div class='del'>-    nextstep*)	;;</div><div class='del'>-    openstep*)	;;</div><div class='del'>-    rhapsody*)	;;</div><div class='del'>-    human*)	;;</div><div class='del'>-    bsdi*)	;;</div><div class='del'>-    cygwin*)	;;</div><div class='del'>-    netbsd*) CCDLFLAGS=-fpic</div><div class='del'>-     case "$host_cpu" in</div><div class='del'>-     mips*) CCDLFLAGS=-fPIC ;;</div><div class='del'>-     *) ;;</div><div class='del'>-     esac ;;</div><div class='del'>-    *) CCDLFLAGS=-fPIC;;</div><div class='del'>-    esac</div><div class='del'>-  else</div><div class='del'>-    case "$host_os" in</div><div class='del'>-	hpux*)		CCDLFLAGS='+z';;</div><div class='del'>-	solaris*|irix*)	CCDLFLAGS='-K PIC' ;;</div><div class='del'>-	sunos*)		CCDLFLAGS='-PIC' ;;</div><div class='del'>-	esix*|uxpds*)   CCDLFLAGS='-KPIC' ;;</div><div class='del'>-	*)		CCDLFLAGS='' ;;</div><div class='del'>-    esac</div><div class='del'>-  fi</div><div class='del'>-</div><div class='del'>-  case "$host_os" in</div><div class='del'>-	hpux*)		DLDFLAGS="-E"</div><div class='del'>-			LDSHARED='ld -b'</div><div class='del'>-			LDFLAGS="-Wl,-E"</div><div class='del'>-			rb_cv_dlopen=yes;;</div><div class='del'>-	solaris*) 	if test "$GCC" = yes; then</div><div class='del'>-			   LDSHARED='$(CC) -Wl,-G'</div><div class='del'>-			   `$CC --print-prog-name=ld` -v 2&gt;&amp;1 | grep "GNU ld" &gt; /dev/null &amp;&amp; LDFLAGS="-Wl,-E"</div><div class='del'>-			else</div><div class='del'>-			   LDSHARED='ld -G'</div><div class='del'>-			fi</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 -ignore_unresolved'</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'>-	esix*|uxpds*) 	LDSHARED="ld -G"</div><div class='del'>-			rb_cv_dlopen=yes ;;</div><div class='del'>-	osf*) 		LDSHARED="$CC -shared"</div><div class='del'>-			rb_cv_dlopen=yes ;;</div><div class='del'>-	linux*) 	LDSHARED="$CC -shared"</div><div class='del'>-			rb_cv_dlopen=yes ;;</div><div class='del'>-	freebsd*)       LDSHARED="$CC -shared"</div><div class='del'>-			if test -x /usr/bin/objformat &amp;&amp; \</div><div class='del'>-			   test `/usr/bin/objformat` = "elf" ; then</div><div class='del'>-			    LDFLAGS="-rdynamic"</div><div class='del'>-			    DLDFLAGS='-Wl,-soname,$(.TARGET)'</div><div class='del'>-			    rb_cv_freebsd_elf=yes</div><div class='del'>-			else</div><div class='del'>-			  test "$GCC" = yes &amp;&amp; `$CC --print-prog-name=ld` -v 2&gt;&amp;1 | grep "GNU ld" &gt; /dev/null || LDSHARED="ld -Bshareable"</div><div class='del'>-			fi</div><div class='del'>-			rb_cv_dlopen=yes ;;</div><div class='del'>-	netbsd*)  	LDSHARED="ld -shared"</div><div class='del'>-			rb_cv_dlopen=yes ;;</div><div class='del'>-	openbsd*) 	LDSHARED="ld -Bforcearchive -Bshareable"</div><div class='del'>-			rb_cv_dlopen=yes ;;</div><div class='del'>-	bsdi3*) 	case "$CC" in</div><div class='del'>-			*shlicc*)	LDSHARED="$CC -r"</div><div class='del'>-					rb_cv_dlopen=yes ;;</div><div class='del'>-			esac ;;</div><div class='del'>-	bsdi*)		LDSHARED="ld -shared"</div><div class='del'>-			LDFLAGS="-rdynamic -Wl,-rpath,/usr/local/lib/ruby/1.4/i386-bsdi4.0"</div><div class='del'>-			rb_cv_dlopen=yes ;;</div><div class='del'>-	nextstep*)	LDSHARED='cc -r -nostdlib'</div><div class='del'>-			LDFLAGS="-u libsys_s"</div><div class='del'>-			DLDFLAGS="$ARCH_FLAG" </div><div class='del'>-			rb_cv_dlopen=yes ;;</div><div class='del'>-	openstep*)	LDSHARED='cc -dynamic -bundle -undefined suppress'</div><div class='del'>-			LDFLAGS=""</div><div class='del'>-			DLDFLAGS="$ARCH_FLAG"</div><div class='del'>-			rb_cv_dlopen=yes ;;</div><div class='del'>-	rhapsody*)	LDSHARED='cc -dynamic -bundle -undefined suppress'</div><div class='del'>-			LDFLAGS=""</div><div class='del'>-			DLDFLAGS="$ARCH_FLAG"</div><div class='del'>-			rb_cv_dlopen=yes ;;</div><div class='del'>-	aix*)		LDSHARED='/usr/ccs/bin/ld'</div><div class='del'>-			XLDFLAGS='-Wl,-bE:ruby.imp'</div><div class='del'>-			DLDFLAGS='-eInit_$(TARGET) -bI:$(topdir)/ruby.imp -bM:SRE -T512 -H512 -lc'</div><div class='del'>-			rb_cv_dlopen=yes ;;</div><div class='del'>-</div><div class='del'>-	human*)		DLDFLAGS=''</div><div class='del'>-			LDSHARED=''</div><div class='del'>-			LDFLAGS=''</div><div class='del'>-			rb_cv_dlopen=yes ;;</div><div class='del'>-	beos*) 		case "$host_cpu" in</div><div class='del'>-			  powerpc*)</div><div class='del'>-			    LDSHARED="ld -xms"</div><div class='del'>-			    DLDFLAGS="-f ruby.exp -lbe -lroot glue-noinit.a init_term_dyn.o start_dyn.o"</div><div class='del'>-                            ;;</div><div class='del'>-			  i586*)</div><div class='del'>-			    LDSHARED="ld -shared"</div><div class='del'>-			    DLDFLAGS="-L/boot/develop/lib/x86 -lbe -lroot"</div><div class='del'>-			    ;;</div><div class='del'>-			  *)</div><div class='del'>-			    DLDFLAGS="ruby.def -lbe -lroot glue-noinit.a init_term_dyn.o start_dyn.o"</div><div class='del'>-			esac</div><div class='del'>-			rb_cv_dlopen=yes ;;</div><div class='del'>-	cygwin*)	LDSHARED='dllwrap --export-all -s'</div><div class='del'>-			rb_cv_dlopen=yes ;;</div><div class='del'>-	*) 		LDSHARED='ld' ;;</div><div class='del'>-  esac</div><div class='del'>-  AC_MSG_RESULT($rb_cv_dlopen)</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-dln_a_out_works=no</div><div class='del'>-if test "$ac_cv_header_a_out_h" = yes; then</div><div class='del'>-  if test "$with_dln_a_out" = yes || test "$rb_cv_dlopen" = unknown; then</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'>-    if test "$rb_cv_dln_a_out" = yes; then</div><div class='del'>-      dln_a_out_works=yes</div><div class='del'>-      AC_DEFINE(USE_DLN_A_OUT)</div><div class='del'>-    fi</div><div class='del'>-  fi</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-if test "$dln_a_out_works" = yes; then</div><div class='del'>-  if test "$GCC" = yes; then</div><div class='del'>-    STATIC=-static</div><div class='del'>-  else</div><div class='del'>-    STATIC=-Bstatic</div><div class='del'>-  fi</div><div class='del'>-  DLEXT=so</div><div class='del'>-  AC_DEFINE(DLEXT, ".so")</div><div class='del'>-  CCDLFLAGS=</div><div class='del'>-else</div><div class='del'>-  case "$host_os" in</div><div class='del'>-    hpux*)	DLEXT=sl</div><div class='del'>-	 	AC_DEFINE(DLEXT, ".sl");;</div><div class='del'>-    nextstep*)	DLEXT=bundle</div><div class='del'>-	 	AC_DEFINE(DLEXT, ".bundle");;</div><div class='del'>-    openstep*)	DLEXT=bundle</div><div class='del'>-	 	AC_DEFINE(DLEXT, ".bundle");;</div><div class='del'>-    rhapsody*)	DLEXT=bundle</div><div class='del'>-	 	AC_DEFINE(DLEXT, ".bundle");;</div><div class='del'>-    cygwin*)	DLEXT=dll</div><div class='del'>-	 	AC_DEFINE(DLEXT, ".dll");;</div><div class='del'>-    os2_emx)	DLEXT=o</div><div class='del'>-	 	AC_DEFINE(DLEXT, ".so");;</div><div class='del'>-    *)		DLEXT=so</div><div class='del'>-    		AC_DEFINE(DLEXT, ".so");;</div><div class='del'>-  esac</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-AC_SUBST(STRIP)dnl</div><div class='del'>-if test "$with_dln_a_out" = yes; then</div><div class='del'>-  STRIP=true</div><div class='del'>-else</div><div class='del'>-  STRIP=strip</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-case "$host_os" in</div><div class='del'>-  linux*)</div><div class='del'>-	STRIP='strip -S -x';;</div><div class='del'>-  nextstep*)</div><div class='del'>-	STRIP='strip -A -n';;</div><div class='del'>-  openstep*)</div><div class='del'>-	STRIP='strip -A -n';;</div><div class='del'>-  rhapsody*)</div><div class='del'>-	STRIP='strip -A -n';;</div><div class='del'>-esac</div><div class='del'>-</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'>-	    [--with-static-linked-ext  link external modules statically],</div><div class='del'>-            [case $withval in</div><div class='del'>-	     yes) STATIC=</div><div class='del'>-		  EXTSTATIC=static;;</div><div class='del'>-	     *)	;;</div><div class='del'>-	     esac])</div><div class='del'>-</div><div class='del'>-case "$host_os" in</div><div class='del'>-  human*)</div><div class='del'>-    AC_CHECK_LIB(signal, _harderr)</div><div class='del'>-    AC_CHECK_LIB(hmem, hmemset)</div><div class='del'>-    AC_CHECK_FUNCS(select)</div><div class='del'>-    AC_CACHE_CHECK(whether PD libc _dtos18 fail to convert big number,</div><div class='del'>-		   rb_cv_missing__dtos18,</div><div class='del'>-    [AC_TRY_RUN(</div><div class='del'>-changequote(&lt;&lt;, &gt;&gt;)dnl</div><div class='del'>-&lt;&lt;</div><div class='del'>-#include &lt;stdio.h&gt;</div><div class='del'>-main ()</div><div class='del'>-{</div><div class='del'>-   char buf[256];</div><div class='del'>-   sprintf (buf, "%g", 1e+300);</div><div class='del'>-   exit (strcmp (buf, "1e+300") ? 0 : 1);</div><div class='del'>-}</div><div class='del'>-&gt;&gt;,</div><div class='del'>-changequote([, ])dnl</div><div class='del'>-rb_cv_missing__dtos18=yes, rb_cv_missing__dtos18=no, rb_cv_missing__dtos18=no)])</div><div class='del'>-    if test "$rb_cv_missing__dtos18" = yes; then</div><div class='del'>-      AC_DEFINE(MISSING__DTOS18)</div><div class='del'>-    fi</div><div class='del'>-    AC_CACHE_CHECK(whether PD libc fconvert fail to round,</div><div class='del'>-		   rb_cv_missing_fconvert,</div><div class='del'>-    [AC_TRY_RUN(</div><div class='del'>-changequote(&lt;&lt;, &gt;&gt;)dnl</div><div class='del'>-&lt;&lt;</div><div class='del'>-#include &lt;stdio.h&gt;</div><div class='del'>-#include &lt;math.h&gt;</div><div class='del'>-main ()</div><div class='del'>-{</div><div class='del'>-  char buf[256];</div><div class='del'>-  sprintf (buf, "%f", log(exp(1.0)));</div><div class='del'>-  exit (strcmp (buf, "1.000000") ? 0 : 1);</div><div class='del'>-}</div><div class='del'>-&gt;&gt;,</div><div class='del'>-changequote([, ])dnl</div><div class='del'>-rb_cv_missing_fconvert=yes, rb_cv_missing_fconvert=no, rb_cv_missing_fconvert=no)])</div><div class='del'>-    if test "$rb_cv_missing_fconvert" = yes; then</div><div class='del'>-      AC_DEFINE(MISSING_FCONVERT)</div><div class='del'>-    fi</div><div class='del'>-    LIBOBJS="$LIBOBJS x68.o"</div><div class='del'>-    CFLAGS="$CFLAGS -fansi-only -cc1-stack=196608 -cpp-stack=2694144"</div><div class='del'>-    EXEEXT=.x</div><div class='del'>-    OBJEXT=o</div><div class='del'>-    setup=Setup.x68</div><div class='del'>-    ;;</div><div class='del'>-  dnl OS/2 environment w/ Autoconf 2.1x for EMX</div><div class='del'>-  os2_emx)</div><div class='del'>-    LIBOBJS="$LIBOBJS os2.o"</div><div class='del'>-    setup=Setup.emx</div><div class='del'>-    ;;</div><div class='del'>-  cygwin*)</div><div class='del'>-    setup=Setup</div><div class='del'>-    ;;</div><div class='del'>-  *)</div><div class='del'>-    setup=Setup</div><div class='del'>-    ;;</div><div class='del'>-esac</div><div class='del'>-</div><div class='del'>-AC_SUBST(setup)</div><div class='del'>-</div><div class='del'>-if test "$prefix" = NONE; then</div><div class='del'>-  prefix=$ac_default_prefix</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-if test "$fat_binary" = yes ; then</div><div class='del'>-  CFLAGS="$CFLAGS $ARCH_FLAG"</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-LIBRUBY_A='lib$(RUBY_INSTALL_NAME).a'</div><div class='del'>-LIBRUBY='$(LIBRUBY_A)'</div><div class='del'>-LIBRUBYARG='$(LIBRUBY_A)'</div><div class='del'>-SOLIBS=</div><div class='del'>-if test "$host_os" = "beos"; then</div><div class='del'>-  LIBRUBY='$(LIBRUBY_SO)'</div><div class='del'>-  LIBRUBYARG='-l$(RUBY_INSTALL_NAME)'</div><div class='del'>-  SOLIBS='-lnet'</div><div class='del'>-  echo creating ruby.def</div><div class='del'>-  case "$host_cpu" in</div><div class='del'>-    powerpc*)</div><div class='del'>-      cp beos/ruby.def.in ruby.exp</div><div class='del'>-      CFLAGS="$CFLAGS -relax_pointers"</div><div class='del'>-      ;;</div><div class='del'>-    i586*)</div><div class='del'>-      LDFLAGS="$LDFLAGS -L."</div><div class='del'>-      ;;</div><div class='del'>-    *)</div><div class='del'>-      echo EXPORTS &gt; ruby.def</div><div class='del'>-      cat beos/ruby.def.in &gt;&gt; ruby.def</div><div class='del'>-      ;;</div><div class='del'>-  esac</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-FIRSTMAKEFILE=""</div><div class='del'>-LIBRUBY_LDSHARED=$LDSHARED</div><div class='del'>-LIBRUBY_DLDFLAGS=$DLDFLAGS</div><div class='del'>-LIBRUBY_SO='lib$(RUBY_INSTALL_NAME).so.$(MAJOR).$(MINOR).$(TEENY)'</div><div class='del'>-LIBRUBY_ALIASES='lib$(RUBY_INSTALL_NAME).so'</div><div class='del'>-AC_ARG_ENABLE(enable-shared,</div><div class='del'>-       [--enable-shared           build a shared library for Ruby. ],</div><div class='del'>-       [enable_shared=$enableval])</div><div class='del'>-if test "$enable_shared" = 'yes'; then</div><div class='del'>-  LIBRUBY='$(LIBRUBY_SO)'</div><div class='del'>-  LIBRUBYARG='-L. -l$(RUBY_INSTALL_NAME)'</div><div class='del'>-  CFLAGS="$CFLAGS $CCDLFLAGS"</div><div class='del'>-  case "$host_os" in</div><div class='del'>-    sunos4*)</div><div class='del'>-	LIBRUBY_ALIASES='lib$(RUBY_INSTALL_NAME).so.$(MAJOR).$(MINOR) lib$(RUBY_INSTALL_NAME).so'</div><div class='del'>-	;;</div><div class='del'>-    linux*)</div><div class='del'>-	XLDFLAGS='-Wl,-rpath,${prefix}/lib':/usr/lib:/lib</div><div class='del'>-	LIBRUBY_ALIASES='lib$(RUBY_INSTALL_NAME).so.$(MAJOR).$(MINOR) lib$(RUBY_INSTALL_NAME).so'</div><div class='del'>-	;;</div><div class='del'>-    freebsd*)</div><div class='del'>-	LIBRUBY_SO='lib$(RUBY_INSTALL_NAME).so.$(MAJOR)$(MINOR)'</div><div class='del'>-	if test "$rb_cv_freebsd_elf" != "yes" ; then</div><div class='del'>-	    LIBRUBY_SO="$LIBRUBY_SO.\$(TEENY)"</div><div class='del'>-	    LIBRUBY_ALIASES=''</div><div class='del'>-	fi</div><div class='del'>-	;;</div><div class='del'>-    netbsd*)</div><div class='del'>-	LIBRUBY_SO='lib$(RUBY_INSTALL_NAME).so.$(MAJOR).$(MINOR)'</div><div class='del'>- 	case "$host_cpu" in</div><div class='del'>-	alpha|mipsel|mipseb|powerpc|sparc64)  # ELF platforms</div><div class='del'>-	   LIBRUBY_ALIASES='lib$(RUBY_INSTALL_NAME).so.$(MAJOR) lib$(RUBY_INSTALL_NAME).so' ;;</div><div class='del'>- 	*) LIBRUBY_ALIASES= ;;  # a.out platforms</div><div class='del'>-	esac</div><div class='del'>- 	;;</div><div class='del'>-    solaris*)</div><div class='del'>-	XLDFLAGS='-R${prefix}/lib'</div><div class='del'>- 	;;</div><div class='del'>-    hpux*)</div><div class='del'>-	XLDFLAGS='-Wl,+s,+b,$(prefix)/lib'</div><div class='del'>-	LIBRUBY_SO='lib$(RUBY_INSTALL_NAME).sl.$(MAJOR).$(MINOR).$(TEENY)'</div><div class='del'>-	LIBRUBY_ALIASES='lib$(RUBY_INSTALL_NAME).sl.$(MAJOR).$(MINOR) lib$(RUBY_INSTALL_NAME).sl'</div><div class='del'>-	;;</div><div class='del'>-    aix*)</div><div class='del'>-	if test "$GCC" = yes; then</div><div class='del'>-	    LIBRUBY_LDSHARED='$(CC) -shared'</div><div class='del'>-	    LIBRUBY_DLDFLAGS='-Wl,-bE:ruby.imp'</div><div class='del'>-	else</div><div class='del'>-	    LIBRUBY_LDSHARED='/usr/ccs/bin/ld'</div><div class='del'>-	    LIBRUBY_DLDFLAGS='-bE:ruby.imp -bM:SRE -bnoentry'</div><div class='del'>-	fi</div><div class='del'>-	LIBRUBYARG='-L${prefix}/lib -Wl,lib$(RUBY_INSTALL_NAME).so'</div><div class='del'>-	SOLIBS='-lm -lc'</div><div class='del'>-	;;</div><div class='del'>-    cygwin*)</div><div class='del'>-	LIBRUBY_SO='lib$(RUBY_INSTALL_NAME).a'</div><div class='del'>-	LIBRUBY_ALIASES=''</div><div class='del'>-	LIBRUBY_A='lib$(RUBY_INSTALL_NAME)s.a'</div><div class='del'>-	LIBRUBYARG='-L. -l$(RUBY_INSTALL_NAME)'</div><div class='del'>-	FIRSTMAKEFILE=GNUmakefile:cygwin/GNUmakefile.in</div><div class='del'>-	LIBOBJS="$LIBOBJS strftime.o"</div><div class='del'>-	CCDLFLAGS=-DUSEIMPORTLIB</div><div class='del'>-	    ;;</div><div class='del'>-    *)</div><div class='del'>-	;;</div><div class='del'>-  esac</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-case "$host_os" in</div><div class='del'>-	nextstep*)</div><div class='del'>-    	CFLAGS="$CFLAGS -pipe"</div><div class='del'>-		;;</div><div class='del'>-	openstep*)</div><div class='del'>-    	CFLAGS="$CFLAGS -pipe"</div><div class='del'>-		;;</div><div class='del'>-	rhasody*)</div><div class='del'>-    	CFLAGS="$CFLAGS -pipe -no-precomp"</div><div class='del'>-		;;</div><div class='del'>-	*)</div><div class='del'>-		;;	</div><div class='del'>-esac</div><div class='del'>-</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(LIBRUBY_A)</div><div class='del'>-AC_SUBST(LIBRUBY_SO)</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(SOLIBS)</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${ri_suffix}"</div><div class='del'>-RUBY_LIB_PATH="${prefix}/lib/ruby/${MAJOR}.${MINOR}"</div><div class='del'>-AC_DEFINE_UNQUOTED(RUBY_LIB, "${RUBY_LIB_PATH}")</div><div class='del'>-RUBY_SITE_LIB_PATH="${RUBY_LIB_PATH}/site_ruby"</div><div class='del'>-AC_DEFINE_UNQUOTED(RUBY_SITE_LIB, "${RUBY_SITE_LIB_PATH}")</div><div class='del'>-AC_SUBST(arch)dnl</div><div class='del'>-</div><div class='del'>-configure_args=$ac_configure_args</div><div class='del'>-AC_SUBST(configure_args)dnl</div><div class='del'>-</div><div class='del'>-if test "$fat_binary" = yes ; then</div><div class='del'>-    arch="fat-${host_os}"</div><div class='del'>-</div><div class='del'>-    AC_DEFINE_UNQUOTED(RUBY_THIN_ARCHLIB,</div><div class='del'>-                 "${RUBY_LIB_PATH}/" __ARCHITECTURE__ "-${host_os}")</div><div class='del'>-</div><div class='del'>-    AC_DEFINE_UNQUOTED(RUBY_SITE_THIN_ARCHLIB,</div><div class='del'>-                 "${RUBY_SITE_LIB_PATH}/" __ARCHITECTURE__ "-${host_os}")</div><div class='del'>-    AC_DEFINE_UNQUOTED(RUBY_PLATFORM, __ARCHITECTURE__ "-${host_os}")</div><div class='del'>-else</div><div class='del'>-    arch="${host_cpu}-${host_os}"</div><div class='del'>-    AC_DEFINE_UNQUOTED(RUBY_PLATFORM, "${arch}")</div><div class='del'>-fi</div><div class='del'>-AC_DEFINE_UNQUOTED(RUBY_ARCHLIB, "${RUBY_LIB_PATH}/${arch}")</div><div class='del'>-AC_DEFINE_UNQUOTED(RUBY_SITE_ARCHLIB, "${RUBY_SITE_LIB_PATH}/${arch}")</div><div class='del'>-</div><div class='del'>-AC_ARG_WITH(search-path,</div><div class='del'>-		[--with-search-path	  specify the additional search path],</div><div class='del'>-		[search_path=$withval])</div><div class='del'>-if test "$search_path" != ""; then</div><div class='del'>-    AC_DEFINE_UNQUOTED(RUBY_SEARCH_PATH,"$search_path")</div><div class='del'>-fi</div><div class='del'>-</div><div class='del'>-echo "creating config.h"</div><div class='del'>-cat confdefs.h &gt; config.h</div><div class='del'>-</div><div class='del'>-AC_OUTPUT($FIRSTMAKEFILE Makefile ext/extmk.rb)</div><div class='head'>diff --git a/constant.h b/constant.h<br/>new file mode 100644<br/>index 0000000000..e0d36909e1<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/constant.h?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>constant.h</a></div><div class='hunk'>@@ -0,0 +1,55 @@</div><div class='add'>+#ifndef CONSTANT_H</div><div class='add'>+#define CONSTANT_H</div><div class='add'>+/**********************************************************************</div><div class='add'>+</div><div class='add'>+  constant.h -</div><div class='add'>+</div><div class='add'>+  $Author$</div><div class='add'>+  created at: Sun Nov 15 00:09:33 2009</div><div class='add'>+</div><div class='add'>+  Copyright (C) 2009 Yusuke Endoh</div><div class='add'>+</div><div class='add'>+**********************************************************************/</div><div class='add'>+#include "ruby/ruby.h"</div><div class='add'>+#include "id_table.h"</div><div class='add'>+</div><div class='add'>+typedef enum {</div><div class='add'>+    CONST_DEPRECATED = 0x100,</div><div class='add'>+</div><div class='add'>+    CONST_VISIBILITY_MASK = 0xff,</div><div class='add'>+    CONST_PUBLIC    = 0x00,</div><div class='add'>+    CONST_PRIVATE,</div><div class='add'>+    CONST_VISIBILITY_MAX</div><div class='add'>+} rb_const_flag_t;</div><div class='add'>+</div><div class='add'>+#define RB_CONST_PRIVATE_P(ce) \</div><div class='add'>+    (((ce)-&gt;flag &amp; CONST_VISIBILITY_MASK) == CONST_PRIVATE)</div><div class='add'>+#define RB_CONST_PUBLIC_P(ce) \</div><div class='add'>+    (((ce)-&gt;flag &amp; CONST_VISIBILITY_MASK) == CONST_PUBLIC)</div><div class='add'>+</div><div class='add'>+#define RB_CONST_DEPRECATED_P(ce) \</div><div class='add'>+    ((ce)-&gt;flag &amp; CONST_DEPRECATED)</div><div class='add'>+</div><div class='add'>+typedef struct rb_const_entry_struct {</div><div class='add'>+    rb_const_flag_t flag;</div><div class='add'>+    int line;</div><div class='add'>+    VALUE value;            /* should be mark */</div><div class='add'>+    VALUE file;             /* should be mark */</div><div class='add'>+} rb_const_entry_t;</div><div class='add'>+</div><div class='add'>+VALUE rb_mod_private_constant(int argc, const VALUE *argv, VALUE obj);</div><div class='add'>+VALUE rb_mod_public_constant(int argc, const VALUE *argv, VALUE obj);</div><div class='add'>+VALUE rb_mod_deprecate_constant(int argc, const VALUE *argv, VALUE obj);</div><div class='add'>+void rb_free_const_table(struct rb_id_table *tbl);</div><div class='add'>+VALUE rb_const_source_location(VALUE, ID);</div><div class='add'>+</div><div class='add'>+MJIT_SYMBOL_EXPORT_BEGIN</div><div class='add'>+int rb_autoloading_value(VALUE mod, ID id, VALUE *value, rb_const_flag_t *flag);</div><div class='add'>+rb_const_entry_t *rb_const_lookup(VALUE klass, ID id);</div><div class='add'>+VALUE rb_public_const_get_at(VALUE klass, ID id);</div><div class='add'>+VALUE rb_public_const_get_from(VALUE klass, ID id);</div><div class='add'>+int rb_public_const_defined_from(VALUE klass, ID id);</div><div class='add'>+VALUE rb_const_source_location_at(VALUE, ID);</div><div class='add'>+MJIT_SYMBOL_EXPORT_END</div><div class='add'>+</div><div class='add'>+#endif /* CONSTANT_H */</div><div class='head'>diff --git a/cont.c b/cont.c<br/>new file mode 100644<br/>index 0000000000..a8250c3273<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/cont.c?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>cont.c</a></div><div class='hunk'>@@ -0,0 +1,3126 @@</div><div class='add'>+/**********************************************************************</div><div class='add'>+</div><div class='add'>+  cont.c -</div><div class='add'>+</div><div class='add'>+  $Author$</div><div class='add'>+  created at: Thu May 23 09:03:43 2007</div><div class='add'>+</div><div class='add'>+  Copyright (C) 2007 Koichi Sasada</div><div class='add'>+</div><div class='add'>+**********************************************************************/</div><div class='add'>+</div><div class='add'>+#include "ruby/internal/config.h"</div><div class='add'>+</div><div class='add'>+#ifndef _WIN32</div><div class='add'>+#include &lt;unistd.h&gt;</div><div class='add'>+#include &lt;sys/mman.h&gt;</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#include COROUTINE_H</div><div class='add'>+</div><div class='add'>+#include "eval_intern.h"</div><div class='add'>+#include "gc.h"</div><div class='add'>+#include "internal.h"</div><div class='add'>+#include "internal/cont.h"</div><div class='add'>+#include "internal/proc.h"</div><div class='add'>+#include "internal/warnings.h"</div><div class='add'>+#include "internal/scheduler.h"</div><div class='add'>+#include "mjit.h"</div><div class='add'>+#include "vm_core.h"</div><div class='add'>+#include "id_table.h"</div><div class='add'>+#include "ractor_core.h"</div><div class='add'>+</div><div class='add'>+static const int DEBUG = 0;</div><div class='add'>+</div><div class='add'>+#define RB_PAGE_SIZE (pagesize)</div><div class='add'>+#define RB_PAGE_MASK (~(RB_PAGE_SIZE - 1))</div><div class='add'>+static long pagesize;</div><div class='add'>+</div><div class='add'>+static const rb_data_type_t cont_data_type, fiber_data_type;</div><div class='add'>+static VALUE rb_cContinuation;</div><div class='add'>+static VALUE rb_cFiber;</div><div class='add'>+static VALUE rb_eFiberError;</div><div class='add'>+#ifdef RB_EXPERIMENTAL_FIBER_POOL</div><div class='add'>+static VALUE rb_cFiberPool;</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#define CAPTURE_JUST_VALID_VM_STACK 1</div><div class='add'>+</div><div class='add'>+// Defined in `coroutine/$arch/Context.h`:</div><div class='add'>+#ifdef COROUTINE_LIMITED_ADDRESS_SPACE</div><div class='add'>+#define FIBER_POOL_ALLOCATION_FREE</div><div class='add'>+#define FIBER_POOL_INITIAL_SIZE 8</div><div class='add'>+#define FIBER_POOL_ALLOCATION_MAXIMUM_SIZE 32</div><div class='add'>+#else</div><div class='add'>+#define FIBER_POOL_INITIAL_SIZE 32</div><div class='add'>+#define FIBER_POOL_ALLOCATION_MAXIMUM_SIZE 1024</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+enum context_type {</div><div class='add'>+    CONTINUATION_CONTEXT = 0,</div><div class='add'>+    FIBER_CONTEXT = 1</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+struct cont_saved_vm_stack {</div><div class='add'>+    VALUE *ptr;</div><div class='add'>+#ifdef CAPTURE_JUST_VALID_VM_STACK</div><div class='add'>+    size_t slen;  /* length of stack (head of ec-&gt;vm_stack) */</div><div class='add'>+    size_t clen;  /* length of control frames (tail of ec-&gt;vm_stack) */</div><div class='add'>+#endif</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+struct fiber_pool;</div><div class='add'>+</div><div class='add'>+// Represents a single stack.</div><div class='add'>+struct fiber_pool_stack {</div><div class='add'>+    // A pointer to the memory allocation (lowest address) for the stack.</div><div class='add'>+    void * base;</div><div class='add'>+</div><div class='add'>+    // The current stack pointer, taking into account the direction of the stack.</div><div class='add'>+    void * current;</div><div class='add'>+</div><div class='add'>+    // The size of the stack excluding any guard pages.</div><div class='add'>+    size_t size;</div><div class='add'>+</div><div class='add'>+    // The available stack capacity w.r.t. the current stack offset.</div><div class='add'>+    size_t available;</div><div class='add'>+</div><div class='add'>+    // The pool this stack should be allocated from.</div><div class='add'>+    struct fiber_pool * pool;</div><div class='add'>+</div><div class='add'>+    // If the stack is allocated, the allocation it came from.</div><div class='add'>+    struct fiber_pool_allocation * allocation;</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+// A linked list of vacant (unused) stacks.</div><div class='add'>+// This structure is stored in the first page of a stack if it is not in use.</div><div class='add'>+// @sa fiber_pool_vacancy_pointer</div><div class='add'>+struct fiber_pool_vacancy {</div><div class='add'>+    // Details about the vacant stack:</div><div class='add'>+    struct fiber_pool_stack stack;</div><div class='add'>+</div><div class='add'>+    // The vacancy linked list.</div><div class='add'>+#ifdef FIBER_POOL_ALLOCATION_FREE</div><div class='add'>+    struct fiber_pool_vacancy * previous;</div><div class='add'>+#endif</div><div class='add'>+    struct fiber_pool_vacancy * next;</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+// Manages singly linked list of mapped regions of memory which contains 1 more more stack:</div><div class='add'>+//</div><div class='add'>+// base = +-------------------------------+-----------------------+  +</div><div class='add'>+//        |VM Stack       |VM Stack       |                       |  |</div><div class='add'>+//        |               |               |                       |  |</div><div class='add'>+//        |               |               |                       |  |</div><div class='add'>+//        +-------------------------------+                       |  |</div><div class='add'>+//        |Machine Stack  |Machine Stack  |                       |  |</div><div class='add'>+//        |               |               |                       |  |</div><div class='add'>+//        |               |               |                       |  |</div><div class='add'>+//        |               |               | .  .  .  .            |  |  size</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'>+//        |Guard Page     |Guard Page     |                       |  |</div><div class='add'>+//        +-------------------------------+-----------------------+  v</div><div class='add'>+//</div><div class='add'>+//        +-------------------------------------------------------&gt;</div><div class='add'>+//</div><div class='add'>+//                                  count</div><div class='add'>+//</div><div class='add'>+struct fiber_pool_allocation {</div><div class='add'>+    // A pointer to the memory mapped region.</div><div class='add'>+    void * base;</div><div class='add'>+</div><div class='add'>+    // The size of the individual stacks.</div><div class='add'>+    size_t size;</div><div class='add'>+</div><div class='add'>+    // The stride of individual stacks (including any guard pages or other accounting details).</div><div class='add'>+    size_t stride;</div><div class='add'>+</div><div class='add'>+    // The number of stacks that were allocated.</div><div class='add'>+    size_t count;</div><div class='add'>+</div><div class='add'>+#ifdef FIBER_POOL_ALLOCATION_FREE</div><div class='add'>+    // The number of stacks used in this allocation.</div><div class='add'>+    size_t used;</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+    struct fiber_pool * pool;</div><div class='add'>+</div><div class='add'>+    // The allocation linked list.</div><div class='add'>+#ifdef FIBER_POOL_ALLOCATION_FREE</div><div class='add'>+    struct fiber_pool_allocation * previous;</div><div class='add'>+#endif</div><div class='add'>+    struct fiber_pool_allocation * next;</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+// A fiber pool manages vacant stacks to reduce the overhead of creating fibers.</div><div class='add'>+struct fiber_pool {</div><div class='add'>+    // A singly-linked list of allocations which contain 1 or more stacks each.</div><div class='add'>+    struct fiber_pool_allocation * allocations;</div><div class='add'>+</div><div class='add'>+    // Provides O(1) stack "allocation":</div><div class='add'>+    struct fiber_pool_vacancy * vacancies;</div><div class='add'>+</div><div class='add'>+    // The size of the stack allocations (excluding any guard page).</div><div class='add'>+    size_t size;</div><div class='add'>+</div><div class='add'>+    // The total number of stacks that have been allocated in this pool.</div><div class='add'>+    size_t count;</div><div class='add'>+</div><div class='add'>+    // The initial number of stacks to allocate.</div><div class='add'>+    size_t initial_count;</div><div class='add'>+</div><div class='add'>+    // Whether to madvise(free) the stack or not:</div><div class='add'>+    int free_stacks;</div><div class='add'>+</div><div class='add'>+    // The number of stacks that have been used in this pool.</div><div class='add'>+    size_t used;</div><div class='add'>+</div><div class='add'>+    // The amount to allocate for the vm_stack:</div><div class='add'>+    size_t vm_stack_size;</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+typedef struct rb_context_struct {</div><div class='add'>+    enum context_type type;</div><div class='add'>+    int argc;</div><div class='add'>+    int kw_splat;</div><div class='add'>+    VALUE self;</div><div class='add'>+    VALUE value;</div><div class='add'>+</div><div class='add'>+    struct cont_saved_vm_stack saved_vm_stack;</div><div class='add'>+</div><div class='add'>+    struct {</div><div class='add'>+        VALUE *stack;</div><div class='add'>+        VALUE *stack_src;</div><div class='add'>+        size_t stack_size;</div><div class='add'>+    } machine;</div><div class='add'>+    rb_execution_context_t saved_ec;</div><div class='add'>+    rb_jmpbuf_t jmpbuf;</div><div class='add'>+    rb_ensure_entry_t *ensure_array;</div><div class='add'>+    /* Pointer to MJIT info about the continuation.  */</div><div class='add'>+    struct mjit_cont *mjit_cont;</div><div class='add'>+} rb_context_t;</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * Fiber status:</div><div class='add'>+ *    [Fiber.new] ------&gt; FIBER_CREATED</div><div class='add'>+ *                        | [Fiber#resume]</div><div class='add'>+ *                        v</div><div class='add'>+ *                   +--&gt; FIBER_RESUMED ----+</div><div class='add'>+ *    [Fiber#resume] |    | [Fiber.yield]   |</div><div class='add'>+ *                   |    v                 |</div><div class='add'>+ *                   +-- FIBER_SUSPENDED    | [Terminate]</div><div class='add'>+ *                                          |</div><div class='add'>+ *                       FIBER_TERMINATED &lt;-+</div><div class='add'>+ */</div><div class='add'>+enum fiber_status {</div><div class='add'>+    FIBER_CREATED,</div><div class='add'>+    FIBER_RESUMED,</div><div class='add'>+    FIBER_SUSPENDED,</div><div class='add'>+    FIBER_TERMINATED</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+#define FIBER_CREATED_P(fiber)    ((fiber)-&gt;status == FIBER_CREATED)</div><div class='add'>+#define FIBER_RESUMED_P(fiber)    ((fiber)-&gt;status == FIBER_RESUMED)</div><div class='add'>+#define FIBER_SUSPENDED_P(fiber)  ((fiber)-&gt;status == FIBER_SUSPENDED)</div><div class='add'>+#define FIBER_TERMINATED_P(fiber) ((fiber)-&gt;status == FIBER_TERMINATED)</div><div class='add'>+#define FIBER_RUNNABLE_P(fiber)   (FIBER_CREATED_P(fiber) || FIBER_SUSPENDED_P(fiber))</div><div class='add'>+</div><div class='add'>+struct rb_fiber_struct {</div><div class='add'>+    rb_context_t cont;</div><div class='add'>+    VALUE first_proc;</div><div class='add'>+    struct rb_fiber_struct *prev;</div><div class='add'>+    VALUE resuming_fiber;</div><div class='add'>+</div><div class='add'>+    BITFIELD(enum fiber_status, status, 2);</div><div class='add'>+    /* Whether the fiber is allowed to implicitly yield. */</div><div class='add'>+    unsigned int yielding : 1;</div><div class='add'>+    unsigned int blocking : 1;</div><div class='add'>+</div><div class='add'>+    struct coroutine_context context;</div><div class='add'>+    struct fiber_pool_stack stack;</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+static struct fiber_pool shared_fiber_pool = {NULL, NULL, 0, 0, 0, 0};</div><div class='add'>+</div><div class='add'>+static ID fiber_initialize_keywords[2] = {0};</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * FreeBSD require a first (i.e. addr) argument of mmap(2) is not NULL</div><div class='add'>+ * if MAP_STACK is passed.</div><div class='add'>+ * http://www.FreeBSD.org/cgi/query-pr.cgi?pr=158755</div><div class='add'>+ */</div><div class='add'>+#if defined(MAP_STACK) &amp;&amp; !defined(__FreeBSD__) &amp;&amp; !defined(__FreeBSD_kernel__)</div><div class='add'>+#define FIBER_STACK_FLAGS (MAP_PRIVATE | MAP_ANON | MAP_STACK)</div><div class='add'>+#else</div><div class='add'>+#define FIBER_STACK_FLAGS (MAP_PRIVATE | MAP_ANON)</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#define ERRNOMSG strerror(errno)</div><div class='add'>+</div><div class='add'>+// Locates the stack vacancy details for the given stack.</div><div class='add'>+// Requires that fiber_pool_vacancy fits within one page.</div><div class='add'>+inline static struct fiber_pool_vacancy *</div><div class='add'>+fiber_pool_vacancy_pointer(void * base, size_t size)</div><div class='add'>+{</div><div class='add'>+    STACK_GROW_DIR_DETECTION;</div><div class='add'>+</div><div class='add'>+    return (struct fiber_pool_vacancy *)(</div><div class='add'>+        (char*)base + STACK_DIR_UPPER(0, size - RB_PAGE_SIZE)</div><div class='add'>+    );</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+// Reset the current stack pointer and available size of the given stack.</div><div class='add'>+inline static void</div><div class='add'>+fiber_pool_stack_reset(struct fiber_pool_stack * stack)</div><div class='add'>+{</div><div class='add'>+    STACK_GROW_DIR_DETECTION;</div><div class='add'>+</div><div class='add'>+    stack-&gt;current = (char*)stack-&gt;base + STACK_DIR_UPPER(0, stack-&gt;size);</div><div class='add'>+    stack-&gt;available = stack-&gt;size;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+// A pointer to the base of the current unused portion of the stack.</div><div class='add'>+inline static void *</div><div class='add'>+fiber_pool_stack_base(struct fiber_pool_stack * stack)</div><div class='add'>+{</div><div class='add'>+    STACK_GROW_DIR_DETECTION;</div><div class='add'>+</div><div class='add'>+    VM_ASSERT(stack-&gt;current);</div><div class='add'>+</div><div class='add'>+    return STACK_DIR_UPPER(stack-&gt;current, (char*)stack-&gt;current - stack-&gt;available);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+// Allocate some memory from the stack. Used to allocate vm_stack inline with machine stack.</div><div class='add'>+// @sa fiber_initialize_coroutine</div><div class='add'>+inline static void *</div><div class='add'>+fiber_pool_stack_alloca(struct fiber_pool_stack * stack, size_t offset)</div><div class='add'>+{</div><div class='add'>+    STACK_GROW_DIR_DETECTION;</div><div class='add'>+</div><div class='add'>+    if (DEBUG) fprintf(stderr, "fiber_pool_stack_alloca(%p): %"PRIuSIZE"/%"PRIuSIZE"\n", (void*)stack, offset, stack-&gt;available);</div><div class='add'>+    VM_ASSERT(stack-&gt;available &gt;= offset);</div><div class='add'>+</div><div class='add'>+    // The pointer to the memory being allocated:</div><div class='add'>+    void * pointer = STACK_DIR_UPPER(stack-&gt;current, (char*)stack-&gt;current - offset);</div><div class='add'>+</div><div class='add'>+    // Move the stack pointer:</div><div class='add'>+    stack-&gt;current = STACK_DIR_UPPER((char*)stack-&gt;current + offset, (char*)stack-&gt;current - offset);</div><div class='add'>+    stack-&gt;available -= offset;</div><div class='add'>+</div><div class='add'>+    return pointer;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+// Reset the current stack pointer and available size of the given stack.</div><div class='add'>+inline static void</div><div class='add'>+fiber_pool_vacancy_reset(struct fiber_pool_vacancy * vacancy)</div><div class='add'>+{</div><div class='add'>+    fiber_pool_stack_reset(&amp;vacancy-&gt;stack);</div><div class='add'>+</div><div class='add'>+    // Consume one page of the stack because it's used for the vacancy list:</div><div class='add'>+    fiber_pool_stack_alloca(&amp;vacancy-&gt;stack, RB_PAGE_SIZE);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+inline static struct fiber_pool_vacancy *</div><div class='add'>+fiber_pool_vacancy_push(struct fiber_pool_vacancy * vacancy, struct fiber_pool_vacancy * head)</div><div class='add'>+{</div><div class='add'>+    vacancy-&gt;next = head;</div><div class='add'>+</div><div class='add'>+#ifdef FIBER_POOL_ALLOCATION_FREE</div><div class='add'>+    if (head) {</div><div class='add'>+        head-&gt;previous = vacancy;</div><div class='add'>+        vacancy-&gt;previous = NULL;</div><div class='add'>+    }</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+    return vacancy;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#ifdef FIBER_POOL_ALLOCATION_FREE</div><div class='add'>+static void</div><div class='add'>+fiber_pool_vacancy_remove(struct fiber_pool_vacancy * vacancy)</div><div class='add'>+{</div><div class='add'>+    if (vacancy-&gt;next) {</div><div class='add'>+        vacancy-&gt;next-&gt;previous = vacancy-&gt;previous;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (vacancy-&gt;previous) {</div><div class='add'>+        vacancy-&gt;previous-&gt;next = vacancy-&gt;next;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        // It's the head of the list:</div><div class='add'>+        vacancy-&gt;stack.pool-&gt;vacancies = vacancy-&gt;next;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+inline static struct fiber_pool_vacancy *</div><div class='add'>+fiber_pool_vacancy_pop(struct fiber_pool * pool)</div><div class='add'>+{</div><div class='add'>+    struct fiber_pool_vacancy * vacancy = pool-&gt;vacancies;</div><div class='add'>+</div><div class='add'>+    if (vacancy) {</div><div class='add'>+        fiber_pool_vacancy_remove(vacancy);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return vacancy;</div><div class='add'>+}</div><div class='add'>+#else</div><div class='add'>+inline static struct fiber_pool_vacancy *</div><div class='add'>+fiber_pool_vacancy_pop(struct fiber_pool * pool)</div><div class='add'>+{</div><div class='add'>+    struct fiber_pool_vacancy * vacancy = pool-&gt;vacancies;</div><div class='add'>+</div><div class='add'>+    if (vacancy) {</div><div class='add'>+        pool-&gt;vacancies = vacancy-&gt;next;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return vacancy;</div><div class='add'>+}</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+// Initialize the vacant stack. The [base, size] allocation should not include the guard page.</div><div class='add'>+// @param base The pointer to the lowest address of the allocated memory.</div><div class='add'>+// @param size The size of the allocated memory.</div><div class='add'>+inline static struct fiber_pool_vacancy *</div><div class='add'>+fiber_pool_vacancy_initialize(struct fiber_pool * fiber_pool, struct fiber_pool_vacancy * vacancies, void * base, size_t size)</div><div class='add'>+{</div><div class='add'>+    struct fiber_pool_vacancy * vacancy = fiber_pool_vacancy_pointer(base, size);</div><div class='add'>+</div><div class='add'>+    vacancy-&gt;stack.base = base;</div><div class='add'>+    vacancy-&gt;stack.size = size;</div><div class='add'>+</div><div class='add'>+    fiber_pool_vacancy_reset(vacancy);</div><div class='add'>+</div><div class='add'>+    vacancy-&gt;stack.pool = fiber_pool;</div><div class='add'>+</div><div class='add'>+    return fiber_pool_vacancy_push(vacancy, vacancies);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+// Allocate a maximum of count stacks, size given by stride.</div><div class='add'>+// @param count the number of stacks to allocate / were allocated.</div><div class='add'>+// @param stride the size of the individual stacks.</div><div class='add'>+// @return [void *] the allocated memory or NULL if allocation failed.</div><div class='add'>+inline static void *</div><div class='add'>+fiber_pool_allocate_memory(size_t * count, size_t stride)</div><div class='add'>+{</div><div class='add'>+    // We use a divide-by-2 strategy to try and allocate memory. We are trying</div><div class='add'>+    // to allocate `count` stacks. In normal situation, this won't fail. But</div><div class='add'>+    // if we ran out of address space, or we are allocating more memory than</div><div class='add'>+    // the system would allow (e.g. overcommit * physical memory + swap), we</div><div class='add'>+    // divide count by two and try again. This condition should only be</div><div class='add'>+    // encountered in edge cases, but we handle it here gracefully.</div><div class='add'>+    while (*count &gt; 1) {</div><div class='add'>+#if defined(_WIN32)</div><div class='add'>+        void * base = VirtualAlloc(0, (*count)*stride, MEM_COMMIT, PAGE_READWRITE);</div><div class='add'>+</div><div class='add'>+        if (!base) {</div><div class='add'>+            *count = (*count) &gt;&gt; 1;</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            return base;</div><div class='add'>+        }</div><div class='add'>+#else</div><div class='add'>+        errno = 0;</div><div class='add'>+        void * base = mmap(NULL, (*count)*stride, PROT_READ | PROT_WRITE, FIBER_STACK_FLAGS, -1, 0);</div><div class='add'>+</div><div class='add'>+        if (base == MAP_FAILED) {</div><div class='add'>+            // If the allocation fails, count = count / 2, and try again.</div><div class='add'>+            *count = (*count) &gt;&gt; 1;</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            return base;</div><div class='add'>+        }</div><div class='add'>+#endif</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return NULL;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+// Given an existing fiber pool, expand it by the specified number of stacks.</div><div class='add'>+// @param count the maximum number of stacks to allocate.</div><div class='add'>+// @return the allocated fiber pool.</div><div class='add'>+// @sa fiber_pool_allocation_free</div><div class='add'>+static struct fiber_pool_allocation *</div><div class='add'>+fiber_pool_expand(struct fiber_pool * fiber_pool, size_t count)</div><div class='add'>+{</div><div class='add'>+    STACK_GROW_DIR_DETECTION;</div><div class='add'>+</div><div class='add'>+    size_t size = fiber_pool-&gt;size;</div><div class='add'>+    size_t stride = size + RB_PAGE_SIZE;</div><div class='add'>+</div><div class='add'>+    // Allocate the memory required for the stacks:</div><div class='add'>+    void * base = fiber_pool_allocate_memory(&amp;count, stride);</div><div class='add'>+</div><div class='add'>+    if (base == NULL) {</div><div class='add'>+        rb_raise(rb_eFiberError, "can't alloc machine stack to fiber (%"PRIuSIZE" x %"PRIuSIZE" bytes): %s", count, size, ERRNOMSG);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    struct fiber_pool_vacancy * vacancies = fiber_pool-&gt;vacancies;</div><div class='add'>+    struct fiber_pool_allocation * allocation = RB_ALLOC(struct fiber_pool_allocation);</div><div class='add'>+</div><div class='add'>+    // Initialize fiber pool allocation:</div><div class='add'>+    allocation-&gt;base = base;</div><div class='add'>+    allocation-&gt;size = size;</div><div class='add'>+    allocation-&gt;stride = stride;</div><div class='add'>+    allocation-&gt;count = count;</div><div class='add'>+#ifdef FIBER_POOL_ALLOCATION_FREE</div><div class='add'>+    allocation-&gt;used = 0;</div><div class='add'>+#endif</div><div class='add'>+    allocation-&gt;pool = fiber_pool;</div><div class='add'>+</div><div class='add'>+    if (DEBUG) {</div><div class='add'>+        fprintf(stderr, "fiber_pool_expand(%"PRIuSIZE"): %p, %"PRIuSIZE"/%"PRIuSIZE" x [%"PRIuSIZE":%"PRIuSIZE"]\n",</div><div class='add'>+                count, (void*)fiber_pool, fiber_pool-&gt;used, fiber_pool-&gt;count, size, fiber_pool-&gt;vm_stack_size);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    // Iterate over all stacks, initializing the vacancy list:</div><div class='add'>+    for (size_t i = 0; i &lt; count; i += 1) {</div><div class='add'>+        void * base = (char*)allocation-&gt;base + (stride * i);</div><div class='add'>+        void * page = (char*)base + STACK_DIR_UPPER(size, 0);</div><div class='add'>+</div><div class='add'>+#if defined(_WIN32)</div><div class='add'>+        DWORD old_protect;</div><div class='add'>+</div><div class='add'>+        if (!VirtualProtect(page, RB_PAGE_SIZE, PAGE_READWRITE | PAGE_GUARD, &amp;old_protect)) {</div><div class='add'>+            VirtualFree(allocation-&gt;base, 0, MEM_RELEASE);</div><div class='add'>+            rb_raise(rb_eFiberError, "can't set a guard page: %s", ERRNOMSG);</div><div class='add'>+        }</div><div class='add'>+#else</div><div class='add'>+        if (mprotect(page, RB_PAGE_SIZE, PROT_NONE) &lt; 0) {</div><div class='add'>+            munmap(allocation-&gt;base, count*stride);</div><div class='add'>+            rb_raise(rb_eFiberError, "can't set a guard page: %s", ERRNOMSG);</div><div class='add'>+        }</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+        vacancies = fiber_pool_vacancy_initialize(</div><div class='add'>+            fiber_pool, vacancies,</div><div class='add'>+            (char*)base + STACK_DIR_UPPER(0, RB_PAGE_SIZE),</div><div class='add'>+            size</div><div class='add'>+        );</div><div class='add'>+</div><div class='add'>+#ifdef FIBER_POOL_ALLOCATION_FREE</div><div class='add'>+        vacancies-&gt;stack.allocation = allocation;</div><div class='add'>+#endif</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    // Insert the allocation into the head of the pool:</div><div class='add'>+    allocation-&gt;next = fiber_pool-&gt;allocations;</div><div class='add'>+</div><div class='add'>+#ifdef FIBER_POOL_ALLOCATION_FREE</div><div class='add'>+    if (allocation-&gt;next) {</div><div class='add'>+        allocation-&gt;next-&gt;previous = allocation;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    allocation-&gt;previous = NULL;</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+    fiber_pool-&gt;allocations = allocation;</div><div class='add'>+    fiber_pool-&gt;vacancies = vacancies;</div><div class='add'>+    fiber_pool-&gt;count += count;</div><div class='add'>+</div><div class='add'>+    return allocation;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+// Initialize the specified fiber pool with the given number of stacks.</div><div class='add'>+// @param vm_stack_size The size of the vm stack to allocate.</div><div class='add'>+static void</div><div class='add'>+fiber_pool_initialize(struct fiber_pool * fiber_pool, size_t size, size_t count, size_t vm_stack_size)</div><div class='add'>+{</div><div class='add'>+    VM_ASSERT(vm_stack_size &lt; size);</div><div class='add'>+</div><div class='add'>+    fiber_pool-&gt;allocations = NULL;</div><div class='add'>+    fiber_pool-&gt;vacancies = NULL;</div><div class='add'>+    fiber_pool-&gt;size = ((size / RB_PAGE_SIZE) + 1) * RB_PAGE_SIZE;</div><div class='add'>+    fiber_pool-&gt;count = 0;</div><div class='add'>+    fiber_pool-&gt;initial_count = count;</div><div class='add'>+    fiber_pool-&gt;free_stacks = 1;</div><div class='add'>+    fiber_pool-&gt;used = 0;</div><div class='add'>+</div><div class='add'>+    fiber_pool-&gt;vm_stack_size = vm_stack_size;</div><div class='add'>+</div><div class='add'>+    fiber_pool_expand(fiber_pool, count);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#ifdef FIBER_POOL_ALLOCATION_FREE</div><div class='add'>+// Free the list of fiber pool allocations.</div><div class='add'>+static void</div><div class='add'>+fiber_pool_allocation_free(struct fiber_pool_allocation * allocation)</div><div class='add'>+{</div><div class='add'>+    STACK_GROW_DIR_DETECTION;</div><div class='add'>+</div><div class='add'>+    VM_ASSERT(allocation-&gt;used == 0);</div><div class='add'>+</div><div class='add'>+    if (DEBUG) fprintf(stderr, "fiber_pool_allocation_free: %p base=%p count=%"PRIuSIZE"\n", allocation, allocation-&gt;base, allocation-&gt;count);</div><div class='add'>+</div><div class='add'>+    size_t i;</div><div class='add'>+    for (i = 0; i &lt; allocation-&gt;count; i += 1) {</div><div class='add'>+        void * base = (char*)allocation-&gt;base + (allocation-&gt;stride * i) + STACK_DIR_UPPER(0, RB_PAGE_SIZE);</div><div class='add'>+</div><div class='add'>+        struct fiber_pool_vacancy * vacancy = fiber_pool_vacancy_pointer(base, allocation-&gt;size);</div><div class='add'>+</div><div class='add'>+        // Pop the vacant stack off the free list:</div><div class='add'>+        fiber_pool_vacancy_remove(vacancy);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+#ifdef _WIN32</div><div class='add'>+    VirtualFree(allocation-&gt;base, 0, MEM_RELEASE);</div><div class='add'>+#else</div><div class='add'>+    munmap(allocation-&gt;base, allocation-&gt;stride * allocation-&gt;count);</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+    if (allocation-&gt;previous) {</div><div class='add'>+        allocation-&gt;previous-&gt;next = allocation-&gt;next;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        // We are the head of the list, so update the pool:</div><div class='add'>+        allocation-&gt;pool-&gt;allocations = allocation-&gt;next;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (allocation-&gt;next) {</div><div class='add'>+        allocation-&gt;next-&gt;previous = allocation-&gt;previous;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    allocation-&gt;pool-&gt;count -= allocation-&gt;count;</div><div class='add'>+</div><div class='add'>+    ruby_xfree(allocation);</div><div class='add'>+}</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+// Acquire a stack from the given fiber pool. If none are available, allocate more.</div><div class='add'>+static struct fiber_pool_stack</div><div class='add'>+fiber_pool_stack_acquire(struct fiber_pool * fiber_pool) {</div><div class='add'>+    struct fiber_pool_vacancy * vacancy = fiber_pool_vacancy_pop(fiber_pool);</div><div class='add'>+</div><div class='add'>+    if (DEBUG) fprintf(stderr, "fiber_pool_stack_acquire: %p used=%"PRIuSIZE"\n", (void*)fiber_pool-&gt;vacancies, fiber_pool-&gt;used);</div><div class='add'>+</div><div class='add'>+    if (!vacancy) {</div><div class='add'>+        const size_t maximum = FIBER_POOL_ALLOCATION_MAXIMUM_SIZE;</div><div class='add'>+        const size_t minimum = fiber_pool-&gt;initial_count;</div><div class='add'>+</div><div class='add'>+        size_t count = fiber_pool-&gt;count;</div><div class='add'>+        if (count &gt; maximum) count = maximum;</div><div class='add'>+        if (count &lt; minimum) count = minimum;</div><div class='add'>+</div><div class='add'>+        fiber_pool_expand(fiber_pool, count);</div><div class='add'>+</div><div class='add'>+        // The free list should now contain some stacks:</div><div class='add'>+        VM_ASSERT(fiber_pool-&gt;vacancies);</div><div class='add'>+</div><div class='add'>+        vacancy = fiber_pool_vacancy_pop(fiber_pool);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    VM_ASSERT(vacancy);</div><div class='add'>+    VM_ASSERT(vacancy-&gt;stack.base);</div><div class='add'>+</div><div class='add'>+    // Take the top item from the free list:</div><div class='add'>+    fiber_pool-&gt;used += 1;</div><div class='add'>+</div><div class='add'>+#ifdef FIBER_POOL_ALLOCATION_FREE</div><div class='add'>+    vacancy-&gt;stack.allocation-&gt;used += 1;</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+    fiber_pool_stack_reset(&amp;vacancy-&gt;stack);</div><div class='add'>+</div><div class='add'>+    return vacancy-&gt;stack;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+// We advise the operating system that the stack memory pages are no longer being used.</div><div class='add'>+// This introduce some performance overhead but allows system to relaim memory when there is pressure.</div><div class='add'>+static inline void</div><div class='add'>+fiber_pool_stack_free(struct fiber_pool_stack * stack)</div><div class='add'>+{</div><div class='add'>+    void * base = fiber_pool_stack_base(stack);</div><div class='add'>+    size_t size = stack-&gt;available;</div><div class='add'>+</div><div class='add'>+    // If this is not true, the vacancy information will almost certainly be destroyed:</div><div class='add'>+    VM_ASSERT(size &lt;= (stack-&gt;size - RB_PAGE_SIZE));</div><div class='add'>+</div><div class='add'>+    if (DEBUG) fprintf(stderr, "fiber_pool_stack_free: %p+%"PRIuSIZE" [base=%p, size=%"PRIuSIZE"]\n", base, size, stack-&gt;base, stack-&gt;size);</div><div class='add'>+</div><div class='add'>+#if VM_CHECK_MODE &gt; 0 &amp;&amp; defined(MADV_DONTNEED)</div><div class='add'>+    // This immediately discards the pages and the memory is reset to zero.</div><div class='add'>+    madvise(base, size, MADV_DONTNEED);</div><div class='add'>+#elif defined(MADV_FREE_REUSABLE)</div><div class='add'>+    madvise(base, size, MADV_FREE_REUSABLE);</div><div class='add'>+#elif defined(MADV_FREE)</div><div class='add'>+    madvise(base, size, MADV_FREE);</div><div class='add'>+#elif defined(MADV_DONTNEED)</div><div class='add'>+    madvise(base, size, MADV_DONTNEED);</div><div class='add'>+#elif defined(_WIN32)</div><div class='add'>+    VirtualAlloc(base, size, MEM_RESET, PAGE_READWRITE);</div><div class='add'>+    // Not available in all versions of Windows.</div><div class='add'>+    //DiscardVirtualMemory(base, size);</div><div class='add'>+#endif</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+// Release and return a stack to the vacancy list.</div><div class='add'>+static void</div><div class='add'>+fiber_pool_stack_release(struct fiber_pool_stack * stack)</div><div class='add'>+{</div><div class='add'>+    struct fiber_pool * pool = stack-&gt;pool;</div><div class='add'>+    struct fiber_pool_vacancy * vacancy = fiber_pool_vacancy_pointer(stack-&gt;base, stack-&gt;size);</div><div class='add'>+</div><div class='add'>+    if (DEBUG) fprintf(stderr, "fiber_pool_stack_release: %p used=%"PRIuSIZE"\n", stack-&gt;base, stack-&gt;pool-&gt;used);</div><div class='add'>+</div><div class='add'>+    // Copy the stack details into the vacancy area:</div><div class='add'>+    vacancy-&gt;stack = *stack;</div><div class='add'>+    // After this point, be careful about updating/using state in stack, since it's copied to the vacancy area.</div><div class='add'>+</div><div class='add'>+    // Reset the stack pointers and reserve space for the vacancy data:</div><div class='add'>+    fiber_pool_vacancy_reset(vacancy);</div><div class='add'>+</div><div class='add'>+    // Push the vacancy into the vancancies list:</div><div class='add'>+    pool-&gt;vacancies = fiber_pool_vacancy_push(vacancy, stack-&gt;pool-&gt;vacancies);</div><div class='add'>+    pool-&gt;used -= 1;</div><div class='add'>+</div><div class='add'>+#ifdef FIBER_POOL_ALLOCATION_FREE</div><div class='add'>+    struct fiber_pool_allocation * allocation = stack-&gt;allocation;</div><div class='add'>+</div><div class='add'>+    allocation-&gt;used -= 1;</div><div class='add'>+</div><div class='add'>+    // Release address space and/or dirty memory:</div><div class='add'>+    if (allocation-&gt;used == 0) {</div><div class='add'>+        fiber_pool_allocation_free(allocation);</div><div class='add'>+    }</div><div class='add'>+    else if (stack-&gt;pool-&gt;free_stacks) {</div><div class='add'>+        fiber_pool_stack_free(&amp;vacancy-&gt;stack);</div><div class='add'>+    }</div><div class='add'>+#else</div><div class='add'>+    // This is entirely optional, but clears the dirty flag from the stack memory, so it won't get swapped to disk when there is memory pressure:</div><div class='add'>+    if (stack-&gt;pool-&gt;free_stacks) {</div><div class='add'>+        fiber_pool_stack_free(&amp;vacancy-&gt;stack);</div><div class='add'>+    }</div><div class='add'>+#endif</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static COROUTINE</div><div class='add'>+fiber_entry(struct coroutine_context * from, struct coroutine_context * to)</div><div class='add'>+{</div><div class='add'>+    rb_fiber_start();</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+// Initialize a fiber's coroutine's machine stack and vm stack.</div><div class='add'>+static VALUE *</div><div class='add'>+fiber_initialize_coroutine(rb_fiber_t *fiber, size_t * vm_stack_size)</div><div class='add'>+{</div><div class='add'>+    struct fiber_pool * fiber_pool = fiber-&gt;stack.pool;</div><div class='add'>+    rb_execution_context_t *sec = &amp;fiber-&gt;cont.saved_ec;</div><div class='add'>+    void * vm_stack = NULL;</div><div class='add'>+</div><div class='add'>+    VM_ASSERT(fiber_pool != NULL);</div><div class='add'>+</div><div class='add'>+    fiber-&gt;stack = fiber_pool_stack_acquire(fiber_pool);</div><div class='add'>+    vm_stack = fiber_pool_stack_alloca(&amp;fiber-&gt;stack, fiber_pool-&gt;vm_stack_size);</div><div class='add'>+    *vm_stack_size = fiber_pool-&gt;vm_stack_size;</div><div class='add'>+</div><div class='add'>+#ifdef COROUTINE_PRIVATE_STACK</div><div class='add'>+    coroutine_initialize(&amp;fiber-&gt;context, fiber_entry, fiber_pool_stack_base(&amp;fiber-&gt;stack), fiber-&gt;stack.available, sec-&gt;machine.stack_start);</div><div class='add'>+    // The stack for this execution context is still the main machine stack, so don't adjust it.</div><div class='add'>+    // If this is not managed correctly, you will fail in `rb_ec_stack_check`.</div><div class='add'>+</div><div class='add'>+    // We limit the machine stack usage to the fiber stack size.</div><div class='add'>+    if (sec-&gt;machine.stack_maxsize &gt; fiber-&gt;stack.available) {</div><div class='add'>+        sec-&gt;machine.stack_maxsize = fiber-&gt;stack.available;</div><div class='add'>+    }</div><div class='add'>+#else</div><div class='add'>+    coroutine_initialize(&amp;fiber-&gt;context, fiber_entry, fiber_pool_stack_base(&amp;fiber-&gt;stack), fiber-&gt;stack.available);</div><div class='add'>+</div><div class='add'>+    // The stack for this execution context is the one we allocated:</div><div class='add'>+    sec-&gt;machine.stack_start = fiber-&gt;stack.current;</div><div class='add'>+    sec-&gt;machine.stack_maxsize = fiber-&gt;stack.available;</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+    return vm_stack;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+// Release the stack from the fiber, it's execution context, and return it to the fiber pool.</div><div class='add'>+static void</div><div class='add'>+fiber_stack_release(rb_fiber_t * fiber)</div><div class='add'>+{</div><div class='add'>+    rb_execution_context_t *ec = &amp;fiber-&gt;cont.saved_ec;</div><div class='add'>+</div><div class='add'>+    if (DEBUG) fprintf(stderr, "fiber_stack_release: %p, stack.base=%p\n", (void*)fiber, fiber-&gt;stack.base);</div><div class='add'>+</div><div class='add'>+    // Return the stack back to the fiber pool if it wasn't already:</div><div class='add'>+    if (fiber-&gt;stack.base) {</div><div class='add'>+        fiber_pool_stack_release(&amp;fiber-&gt;stack);</div><div class='add'>+        fiber-&gt;stack.base = NULL;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    // The stack is no longer associated with this execution context:</div><div class='add'>+    rb_ec_clear_vm_stack(ec);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static const char *</div><div class='add'>+fiber_status_name(enum fiber_status s)</div><div class='add'>+{</div><div class='add'>+    switch (s) {</div><div class='add'>+      case FIBER_CREATED: return "created";</div><div class='add'>+      case FIBER_RESUMED: return "resumed";</div><div class='add'>+      case FIBER_SUSPENDED: return "suspended";</div><div class='add'>+      case FIBER_TERMINATED: return "terminated";</div><div class='add'>+    }</div><div class='add'>+    VM_UNREACHABLE(fiber_status_name);</div><div class='add'>+    return NULL;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+fiber_verify(const rb_fiber_t *fiber)</div><div class='add'>+{</div><div class='add'>+#if VM_CHECK_MODE &gt; 0</div><div class='add'>+    VM_ASSERT(fiber-&gt;cont.saved_ec.fiber_ptr == fiber);</div><div class='add'>+</div><div class='add'>+    switch (fiber-&gt;status) {</div><div class='add'>+      case FIBER_RESUMED:</div><div class='add'>+        VM_ASSERT(fiber-&gt;cont.saved_ec.vm_stack != NULL);</div><div class='add'>+        break;</div><div class='add'>+      case FIBER_SUSPENDED:</div><div class='add'>+        VM_ASSERT(fiber-&gt;cont.saved_ec.vm_stack != NULL);</div><div class='add'>+        break;</div><div class='add'>+      case FIBER_CREATED:</div><div class='add'>+      case FIBER_TERMINATED:</div><div class='add'>+        /* TODO */</div><div class='add'>+        break;</div><div class='add'>+      default:</div><div class='add'>+        VM_UNREACHABLE(fiber_verify);</div><div class='add'>+    }</div><div class='add'>+#endif</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+inline static void</div><div class='add'>+fiber_status_set(rb_fiber_t *fiber, enum fiber_status s)</div><div class='add'>+{</div><div class='add'>+    // if (DEBUG) fprintf(stderr, "fiber: %p, status: %s -&gt; %s\n", (void *)fiber, fiber_status_name(fiber-&gt;status), fiber_status_name(s));</div><div class='add'>+    VM_ASSERT(!FIBER_TERMINATED_P(fiber));</div><div class='add'>+    VM_ASSERT(fiber-&gt;status != s);</div><div class='add'>+    fiber_verify(fiber);</div><div class='add'>+    fiber-&gt;status = s;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static inline void</div><div class='add'>+ec_switch(rb_thread_t *th, rb_fiber_t *fiber)</div><div class='add'>+{</div><div class='add'>+    rb_execution_context_t *ec = &amp;fiber-&gt;cont.saved_ec;</div><div class='add'>+    rb_ractor_set_current_ec(th-&gt;ractor, th-&gt;ec = ec);</div><div class='add'>+    // ruby_current_execution_context_ptr = th-&gt;ec = ec;</div><div class='add'>+</div><div class='add'>+    /*</div><div class='add'>+     * timer-thread may set trap interrupt on previous th-&gt;ec at any time;</div><div class='add'>+     * ensure we do not delay (or lose) the trap interrupt handling.</div><div class='add'>+     */</div><div class='add'>+    if (th-&gt;vm-&gt;ractor.main_thread == th &amp;&amp;</div><div class='add'>+        rb_signal_buff_size() &gt; 0) {</div><div class='add'>+        RUBY_VM_SET_TRAP_INTERRUPT(ec);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    VM_ASSERT(ec-&gt;fiber_ptr-&gt;cont.self == 0 || ec-&gt;vm_stack != NULL);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static rb_context_t *</div><div class='add'>+cont_ptr(VALUE obj)</div><div class='add'>+{</div><div class='add'>+    rb_context_t *cont;</div><div class='add'>+</div><div class='add'>+    TypedData_Get_Struct(obj, rb_context_t, &amp;cont_data_type, cont);</div><div class='add'>+</div><div class='add'>+    return cont;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static rb_fiber_t *</div><div class='add'>+fiber_ptr(VALUE obj)</div><div class='add'>+{</div><div class='add'>+    rb_fiber_t *fiber;</div><div class='add'>+</div><div class='add'>+    TypedData_Get_Struct(obj, rb_fiber_t, &amp;fiber_data_type, fiber);</div><div class='add'>+    if (!fiber) rb_raise(rb_eFiberError, "uninitialized fiber");</div><div class='add'>+</div><div class='add'>+    return fiber;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+NOINLINE(static VALUE cont_capture(volatile int *volatile stat));</div><div class='add'>+</div><div class='add'>+#define THREAD_MUST_BE_RUNNING(th) do { \</div><div class='add'>+        if (!(th)-&gt;ec-&gt;tag) rb_raise(rb_eThreadError, "not running thread"); \</div><div class='add'>+    } while (0)</div><div class='add'>+</div><div class='add'>+rb_thread_t*</div><div class='add'>+rb_fiber_threadptr(const rb_fiber_t *fiber)</div><div class='add'>+{</div><div class='add'>+    return fiber-&gt;cont.saved_ec.thread_ptr;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+cont_thread_value(const rb_context_t *cont)</div><div class='add'>+{</div><div class='add'>+    return cont-&gt;saved_ec.thread_ptr-&gt;self;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+cont_compact(void *ptr)</div><div class='add'>+{</div><div class='add'>+    rb_context_t *cont = ptr;</div><div class='add'>+</div><div class='add'>+    if (cont-&gt;self) {</div><div class='add'>+        cont-&gt;self = rb_gc_location(cont-&gt;self);</div><div class='add'>+    }</div><div class='add'>+    cont-&gt;value = rb_gc_location(cont-&gt;value);</div><div class='add'>+    rb_execution_context_update(&amp;cont-&gt;saved_ec);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+cont_mark(void *ptr)</div><div class='add'>+{</div><div class='add'>+    rb_context_t *cont = ptr;</div><div class='add'>+</div><div class='add'>+    RUBY_MARK_ENTER("cont");</div><div class='add'>+    if (cont-&gt;self) {</div><div class='add'>+        rb_gc_mark_movable(cont-&gt;self);</div><div class='add'>+    }</div><div class='add'>+    rb_gc_mark_movable(cont-&gt;value);</div><div class='add'>+</div><div class='add'>+    rb_execution_context_mark(&amp;cont-&gt;saved_ec);</div><div class='add'>+    rb_gc_mark(cont_thread_value(cont));</div><div class='add'>+</div><div class='add'>+    if (cont-&gt;saved_vm_stack.ptr) {</div><div class='add'>+#ifdef CAPTURE_JUST_VALID_VM_STACK</div><div class='add'>+        rb_gc_mark_locations(cont-&gt;saved_vm_stack.ptr,</div><div class='add'>+                             cont-&gt;saved_vm_stack.ptr + cont-&gt;saved_vm_stack.slen + cont-&gt;saved_vm_stack.clen);</div><div class='add'>+#else</div><div class='add'>+        rb_gc_mark_locations(cont-&gt;saved_vm_stack.ptr,</div><div class='add'>+                             cont-&gt;saved_vm_stack.ptr, cont-&gt;saved_ec.stack_size);</div><div class='add'>+#endif</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (cont-&gt;machine.stack) {</div><div class='add'>+        if (cont-&gt;type == CONTINUATION_CONTEXT) {</div><div class='add'>+            /* cont */</div><div class='add'>+            rb_gc_mark_locations(cont-&gt;machine.stack,</div><div class='add'>+                                 cont-&gt;machine.stack + cont-&gt;machine.stack_size);</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            /* fiber */</div><div class='add'>+            const rb_fiber_t *fiber = (rb_fiber_t*)cont;</div><div class='add'>+</div><div class='add'>+            if (!FIBER_TERMINATED_P(fiber)) {</div><div class='add'>+                rb_gc_mark_locations(cont-&gt;machine.stack,</div><div class='add'>+                                     cont-&gt;machine.stack + cont-&gt;machine.stack_size);</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    RUBY_MARK_LEAVE("cont");</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#if 0</div><div class='add'>+static int</div><div class='add'>+fiber_is_root_p(const rb_fiber_t *fiber)</div><div class='add'>+{</div><div class='add'>+    return fiber == fiber-&gt;cont.saved_ec.thread_ptr-&gt;root_fiber;</div><div class='add'>+}</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+cont_free(void *ptr)</div><div class='add'>+{</div><div class='add'>+    rb_context_t *cont = ptr;</div><div class='add'>+</div><div class='add'>+    RUBY_FREE_ENTER("cont");</div><div class='add'>+</div><div class='add'>+    if (cont-&gt;type == CONTINUATION_CONTEXT) {</div><div class='add'>+        ruby_xfree(cont-&gt;saved_ec.vm_stack);</div><div class='add'>+        ruby_xfree(cont-&gt;ensure_array);</div><div class='add'>+        RUBY_FREE_UNLESS_NULL(cont-&gt;machine.stack);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        rb_fiber_t *fiber = (rb_fiber_t*)cont;</div><div class='add'>+        coroutine_destroy(&amp;fiber-&gt;context);</div><div class='add'>+        fiber_stack_release(fiber);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    RUBY_FREE_UNLESS_NULL(cont-&gt;saved_vm_stack.ptr);</div><div class='add'>+</div><div class='add'>+    if (mjit_enabled) {</div><div class='add'>+        VM_ASSERT(cont-&gt;mjit_cont != NULL);</div><div class='add'>+        mjit_cont_free(cont-&gt;mjit_cont);</div><div class='add'>+    }</div><div class='add'>+    /* free rb_cont_t or rb_fiber_t */</div><div class='add'>+    ruby_xfree(ptr);</div><div class='add'>+    RUBY_FREE_LEAVE("cont");</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static size_t</div><div class='add'>+cont_memsize(const void *ptr)</div><div class='add'>+{</div><div class='add'>+    const rb_context_t *cont = ptr;</div><div class='add'>+    size_t size = 0;</div><div class='add'>+</div><div class='add'>+    size = sizeof(*cont);</div><div class='add'>+    if (cont-&gt;saved_vm_stack.ptr) {</div><div class='add'>+#ifdef CAPTURE_JUST_VALID_VM_STACK</div><div class='add'>+        size_t n = (cont-&gt;saved_vm_stack.slen + cont-&gt;saved_vm_stack.clen);</div><div class='add'>+#else</div><div class='add'>+        size_t n = cont-&gt;saved_ec.vm_stack_size;</div><div class='add'>+#endif</div><div class='add'>+        size += n * sizeof(*cont-&gt;saved_vm_stack.ptr);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (cont-&gt;machine.stack) {</div><div class='add'>+        size += cont-&gt;machine.stack_size * sizeof(*cont-&gt;machine.stack);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return size;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+rb_fiber_update_self(rb_fiber_t *fiber)</div><div class='add'>+{</div><div class='add'>+    if (fiber-&gt;cont.self) {</div><div class='add'>+        fiber-&gt;cont.self = rb_gc_location(fiber-&gt;cont.self);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        rb_execution_context_update(&amp;fiber-&gt;cont.saved_ec);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+rb_fiber_mark_self(const rb_fiber_t *fiber)</div><div class='add'>+{</div><div class='add'>+    if (fiber-&gt;cont.self) {</div><div class='add'>+        rb_gc_mark_movable(fiber-&gt;cont.self);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        rb_execution_context_mark(&amp;fiber-&gt;cont.saved_ec);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+fiber_compact(void *ptr)</div><div class='add'>+{</div><div class='add'>+    rb_fiber_t *fiber = ptr;</div><div class='add'>+    fiber-&gt;first_proc = rb_gc_location(fiber-&gt;first_proc);</div><div class='add'>+</div><div class='add'>+    if (fiber-&gt;prev) rb_fiber_update_self(fiber-&gt;prev);</div><div class='add'>+</div><div class='add'>+    cont_compact(&amp;fiber-&gt;cont);</div><div class='add'>+    fiber_verify(fiber);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+fiber_mark(void *ptr)</div><div class='add'>+{</div><div class='add'>+    rb_fiber_t *fiber = ptr;</div><div class='add'>+    RUBY_MARK_ENTER("cont");</div><div class='add'>+    fiber_verify(fiber);</div><div class='add'>+    rb_gc_mark_movable(fiber-&gt;first_proc);</div><div class='add'>+    if (fiber-&gt;prev) rb_fiber_mark_self(fiber-&gt;prev);</div><div class='add'>+    cont_mark(&amp;fiber-&gt;cont);</div><div class='add'>+    RUBY_MARK_LEAVE("cont");</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+fiber_free(void *ptr)</div><div class='add'>+{</div><div class='add'>+    rb_fiber_t *fiber = ptr;</div><div class='add'>+    RUBY_FREE_ENTER("fiber");</div><div class='add'>+</div><div class='add'>+    //if (DEBUG) fprintf(stderr, "fiber_free: %p[%p]\n", fiber, fiber-&gt;stack.base);</div><div class='add'>+</div><div class='add'>+    if (fiber-&gt;cont.saved_ec.local_storage) {</div><div class='add'>+        rb_id_table_free(fiber-&gt;cont.saved_ec.local_storage);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    cont_free(&amp;fiber-&gt;cont);</div><div class='add'>+    RUBY_FREE_LEAVE("fiber");</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static size_t</div><div class='add'>+fiber_memsize(const void *ptr)</div><div class='add'>+{</div><div class='add'>+    const rb_fiber_t *fiber = ptr;</div><div class='add'>+    size_t size = sizeof(*fiber);</div><div class='add'>+    const rb_execution_context_t *saved_ec = &amp;fiber-&gt;cont.saved_ec;</div><div class='add'>+    const rb_thread_t *th = rb_ec_thread_ptr(saved_ec);</div><div class='add'>+</div><div class='add'>+    /*</div><div class='add'>+     * vm.c::thread_memsize already counts th-&gt;ec-&gt;local_storage</div><div class='add'>+     */</div><div class='add'>+    if (saved_ec-&gt;local_storage &amp;&amp; fiber != th-&gt;root_fiber) {</div><div class='add'>+        size += rb_id_table_memsize(saved_ec-&gt;local_storage);</div><div class='add'>+    }</div><div class='add'>+    size += cont_memsize(&amp;fiber-&gt;cont);</div><div class='add'>+    return size;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_obj_is_fiber(VALUE obj)</div><div class='add'>+{</div><div class='add'>+    if (rb_typeddata_is_kind_of(obj, &amp;fiber_data_type)) {</div><div class='add'>+        return Qtrue;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        return Qfalse;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+cont_save_machine_stack(rb_thread_t *th, rb_context_t *cont)</div><div class='add'>+{</div><div class='add'>+    size_t size;</div><div class='add'>+</div><div class='add'>+    SET_MACHINE_STACK_END(&amp;th-&gt;ec-&gt;machine.stack_end);</div><div class='add'>+</div><div class='add'>+    if (th-&gt;ec-&gt;machine.stack_start &gt; th-&gt;ec-&gt;machine.stack_end) {</div><div class='add'>+        size = cont-&gt;machine.stack_size = th-&gt;ec-&gt;machine.stack_start - th-&gt;ec-&gt;machine.stack_end;</div><div class='add'>+        cont-&gt;machine.stack_src = th-&gt;ec-&gt;machine.stack_end;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        size = cont-&gt;machine.stack_size = th-&gt;ec-&gt;machine.stack_end - th-&gt;ec-&gt;machine.stack_start;</div><div class='add'>+        cont-&gt;machine.stack_src = th-&gt;ec-&gt;machine.stack_start;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (cont-&gt;machine.stack) {</div><div class='add'>+        REALLOC_N(cont-&gt;machine.stack, VALUE, size);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        cont-&gt;machine.stack = ALLOC_N(VALUE, size);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    FLUSH_REGISTER_WINDOWS;</div><div class='add'>+    MEMCPY(cont-&gt;machine.stack, cont-&gt;machine.stack_src, VALUE, size);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static const rb_data_type_t cont_data_type = {</div><div class='add'>+    "continuation",</div><div class='add'>+    {cont_mark, cont_free, cont_memsize, cont_compact},</div><div class='add'>+    0, 0, RUBY_TYPED_FREE_IMMEDIATELY</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+static inline void</div><div class='add'>+cont_save_thread(rb_context_t *cont, rb_thread_t *th)</div><div class='add'>+{</div><div class='add'>+    rb_execution_context_t *sec = &amp;cont-&gt;saved_ec;</div><div class='add'>+</div><div class='add'>+    VM_ASSERT(th-&gt;status == THREAD_RUNNABLE);</div><div class='add'>+</div><div class='add'>+    /* save thread context */</div><div class='add'>+    *sec = *th-&gt;ec;</div><div class='add'>+</div><div class='add'>+    /* saved_ec-&gt;machine.stack_end should be NULL */</div><div class='add'>+    /* because it may happen GC afterward */</div><div class='add'>+    sec-&gt;machine.stack_end = NULL;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+cont_init_mjit_cont(rb_context_t *cont)</div><div class='add'>+{</div><div class='add'>+    VM_ASSERT(cont-&gt;mjit_cont == NULL);</div><div class='add'>+    if (mjit_enabled) {</div><div class='add'>+        cont-&gt;mjit_cont = mjit_cont_new(&amp;(cont-&gt;saved_ec));</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+cont_init(rb_context_t *cont, rb_thread_t *th)</div><div class='add'>+{</div><div class='add'>+    /* save thread context */</div><div class='add'>+    cont_save_thread(cont, th);</div><div class='add'>+    cont-&gt;saved_ec.thread_ptr = th;</div><div class='add'>+    cont-&gt;saved_ec.local_storage = NULL;</div><div class='add'>+    cont-&gt;saved_ec.local_storage_recursive_hash = Qnil;</div><div class='add'>+    cont-&gt;saved_ec.local_storage_recursive_hash_for_trace = Qnil;</div><div class='add'>+    cont_init_mjit_cont(cont);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static rb_context_t *</div><div class='add'>+cont_new(VALUE klass)</div><div class='add'>+{</div><div class='add'>+    rb_context_t *cont;</div><div class='add'>+    volatile VALUE contval;</div><div class='add'>+    rb_thread_t *th = GET_THREAD();</div><div class='add'>+</div><div class='add'>+    THREAD_MUST_BE_RUNNING(th);</div><div class='add'>+    contval = TypedData_Make_Struct(klass, rb_context_t, &amp;cont_data_type, cont);</div><div class='add'>+    cont-&gt;self = contval;</div><div class='add'>+    cont_init(cont, th);</div><div class='add'>+    return cont;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE rb_fiberptr_self(struct rb_fiber_struct *fiber)</div><div class='add'>+{</div><div class='add'>+    return fiber-&gt;cont.self;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+// This is used for root_fiber because other fibers call cont_init_mjit_cont through cont_new.</div><div class='add'>+void</div><div class='add'>+rb_fiber_init_mjit_cont(struct rb_fiber_struct *fiber)</div><div class='add'>+{</div><div class='add'>+    cont_init_mjit_cont(&amp;fiber-&gt;cont);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#if 0</div><div class='add'>+void</div><div class='add'>+show_vm_stack(const rb_execution_context_t *ec)</div><div class='add'>+{</div><div class='add'>+    VALUE *p = ec-&gt;vm_stack;</div><div class='add'>+    while (p &lt; ec-&gt;cfp-&gt;sp) {</div><div class='add'>+        fprintf(stderr, "%3d ", (int)(p - ec-&gt;vm_stack));</div><div class='add'>+        rb_obj_info_dump(*p);</div><div class='add'>+        p++;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+show_vm_pcs(const rb_control_frame_t *cfp,</div><div class='add'>+            const rb_control_frame_t *end_of_cfp)</div><div class='add'>+{</div><div class='add'>+    int i=0;</div><div class='add'>+    while (cfp != end_of_cfp) {</div><div class='add'>+        int pc = 0;</div><div class='add'>+        if (cfp-&gt;iseq) {</div><div class='add'>+            pc = cfp-&gt;pc - cfp-&gt;iseq-&gt;body-&gt;iseq_encoded;</div><div class='add'>+        }</div><div class='add'>+        fprintf(stderr, "%2d pc: %d\n", i++, pc);</div><div class='add'>+        cfp = RUBY_VM_PREVIOUS_CONTROL_FRAME(cfp);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+#endif</div><div class='add'>+COMPILER_WARNING_PUSH</div><div class='add'>+#ifdef __clang__</div><div class='add'>+COMPILER_WARNING_IGNORED(-Wduplicate-decl-specifier)</div><div class='add'>+#endif</div><div class='add'>+static VALUE</div><div class='add'>+cont_capture(volatile int *volatile stat)</div><div class='add'>+{</div><div class='add'>+    rb_context_t *volatile cont;</div><div class='add'>+    rb_thread_t *th = GET_THREAD();</div><div class='add'>+    volatile VALUE contval;</div><div class='add'>+    const rb_execution_context_t *ec = th-&gt;ec;</div><div class='add'>+</div><div class='add'>+    THREAD_MUST_BE_RUNNING(th);</div><div class='add'>+    rb_vm_stack_to_heap(th-&gt;ec);</div><div class='add'>+    cont = cont_new(rb_cContinuation);</div><div class='add'>+    contval = cont-&gt;self;</div><div class='add'>+</div><div class='add'>+#ifdef CAPTURE_JUST_VALID_VM_STACK</div><div class='add'>+    cont-&gt;saved_vm_stack.slen = ec-&gt;cfp-&gt;sp - ec-&gt;vm_stack;</div><div class='add'>+    cont-&gt;saved_vm_stack.clen = ec-&gt;vm_stack + ec-&gt;vm_stack_size - (VALUE*)ec-&gt;cfp;</div><div class='add'>+    cont-&gt;saved_vm_stack.ptr = ALLOC_N(VALUE, cont-&gt;saved_vm_stack.slen + cont-&gt;saved_vm_stack.clen);</div><div class='add'>+    MEMCPY(cont-&gt;saved_vm_stack.ptr,</div><div class='add'>+           ec-&gt;vm_stack,</div><div class='add'>+           VALUE, cont-&gt;saved_vm_stack.slen);</div><div class='add'>+    MEMCPY(cont-&gt;saved_vm_stack.ptr + cont-&gt;saved_vm_stack.slen,</div><div class='add'>+           (VALUE*)ec-&gt;cfp,</div><div class='add'>+           VALUE,</div><div class='add'>+           cont-&gt;saved_vm_stack.clen);</div><div class='add'>+#else</div><div class='add'>+    cont-&gt;saved_vm_stack.ptr = ALLOC_N(VALUE, ec-&gt;vm_stack_size);</div><div class='add'>+    MEMCPY(cont-&gt;saved_vm_stack.ptr, ec-&gt;vm_stack, VALUE, ec-&gt;vm_stack_size);</div><div class='add'>+#endif</div><div class='add'>+    // At this point, `cfp` is valid but `vm_stack` should be cleared:</div><div class='add'>+    rb_ec_set_vm_stack(&amp;cont-&gt;saved_ec, NULL, 0);</div><div class='add'>+    VM_ASSERT(cont-&gt;saved_ec.cfp != NULL);</div><div class='add'>+    cont_save_machine_stack(th, cont);</div><div class='add'>+</div><div class='add'>+    /* backup ensure_list to array for search in another context */</div><div class='add'>+    {</div><div class='add'>+        rb_ensure_list_t *p;</div><div class='add'>+        int size = 0;</div><div class='add'>+        rb_ensure_entry_t *entry;</div><div class='add'>+        for (p=th-&gt;ec-&gt;ensure_list; p; p=p-&gt;next)</div><div class='add'>+            size++;</div><div class='add'>+        entry = cont-&gt;ensure_array = ALLOC_N(rb_ensure_entry_t,size+1);</div><div class='add'>+        for (p=th-&gt;ec-&gt;ensure_list; p; p=p-&gt;next) {</div><div class='add'>+            if (!p-&gt;entry.marker)</div><div class='add'>+                p-&gt;entry.marker = rb_ary_tmp_new(0); /* dummy object */</div><div class='add'>+            *entry++ = p-&gt;entry;</div><div class='add'>+        }</div><div class='add'>+        entry-&gt;marker = 0;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (ruby_setjmp(cont-&gt;jmpbuf)) {</div><div class='add'>+        VALUE value;</div><div class='add'>+</div><div class='add'>+        VAR_INITIALIZED(cont);</div><div class='add'>+        value = cont-&gt;value;</div><div class='add'>+        if (cont-&gt;argc == -1) rb_exc_raise(value);</div><div class='add'>+        cont-&gt;value = Qnil;</div><div class='add'>+        *stat = 1;</div><div class='add'>+        return value;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        *stat = 0;</div><div class='add'>+        return contval;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+COMPILER_WARNING_POP</div><div class='add'>+</div><div class='add'>+static inline void</div><div class='add'>+fiber_restore_thread(rb_thread_t *th, rb_fiber_t *fiber)</div><div class='add'>+{</div><div class='add'>+    ec_switch(th, fiber);</div><div class='add'>+    VM_ASSERT(th-&gt;ec-&gt;fiber_ptr == fiber);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static inline void</div><div class='add'>+cont_restore_thread(rb_context_t *cont)</div><div class='add'>+{</div><div class='add'>+    rb_thread_t *th = GET_THREAD();</div><div class='add'>+</div><div class='add'>+    /* restore thread context */</div><div class='add'>+    if (cont-&gt;type == CONTINUATION_CONTEXT) {</div><div class='add'>+        /* continuation */</div><div class='add'>+        rb_execution_context_t *sec = &amp;cont-&gt;saved_ec;</div><div class='add'>+        rb_fiber_t *fiber = NULL;</div><div class='add'>+</div><div class='add'>+        if (sec-&gt;fiber_ptr != NULL) {</div><div class='add'>+            fiber = sec-&gt;fiber_ptr;</div><div class='add'>+        }</div><div class='add'>+        else if (th-&gt;root_fiber) {</div><div class='add'>+            fiber = th-&gt;root_fiber;</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        if (fiber &amp;&amp; th-&gt;ec != &amp;fiber-&gt;cont.saved_ec) {</div><div class='add'>+            ec_switch(th, fiber);</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        if (th-&gt;ec-&gt;trace_arg != sec-&gt;trace_arg) {</div><div class='add'>+            rb_raise(rb_eRuntimeError, "can't call across trace_func");</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        /* copy vm stack */</div><div class='add'>+#ifdef CAPTURE_JUST_VALID_VM_STACK</div><div class='add'>+        MEMCPY(th-&gt;ec-&gt;vm_stack,</div><div class='add'>+               cont-&gt;saved_vm_stack.ptr,</div><div class='add'>+               VALUE, cont-&gt;saved_vm_stack.slen);</div><div class='add'>+        MEMCPY(th-&gt;ec-&gt;vm_stack + th-&gt;ec-&gt;vm_stack_size - cont-&gt;saved_vm_stack.clen,</div><div class='add'>+               cont-&gt;saved_vm_stack.ptr + cont-&gt;saved_vm_stack.slen,</div><div class='add'>+               VALUE, cont-&gt;saved_vm_stack.clen);</div><div class='add'>+#else</div><div class='add'>+        MEMCPY(th-&gt;ec-&gt;vm_stack, cont-&gt;saved_vm_stack.ptr, VALUE, sec-&gt;vm_stack_size);</div><div class='add'>+#endif</div><div class='add'>+        /* other members of ec */</div><div class='add'>+</div><div class='add'>+        th-&gt;ec-&gt;cfp = sec-&gt;cfp;</div><div class='add'>+        th-&gt;ec-&gt;raised_flag = sec-&gt;raised_flag;</div><div class='add'>+        th-&gt;ec-&gt;tag = sec-&gt;tag;</div><div class='add'>+        th-&gt;ec-&gt;protect_tag = sec-&gt;protect_tag;</div><div class='add'>+        th-&gt;ec-&gt;root_lep = sec-&gt;root_lep;</div><div class='add'>+        th-&gt;ec-&gt;root_svar = sec-&gt;root_svar;</div><div class='add'>+        th-&gt;ec-&gt;ensure_list = sec-&gt;ensure_list;</div><div class='add'>+        th-&gt;ec-&gt;errinfo = sec-&gt;errinfo;</div><div class='add'>+</div><div class='add'>+        VM_ASSERT(th-&gt;ec-&gt;vm_stack != NULL);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        /* fiber */</div><div class='add'>+        fiber_restore_thread(th, (rb_fiber_t*)cont);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+NOINLINE(static void fiber_setcontext(rb_fiber_t *new_fiber, rb_fiber_t *old_fiber));</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+fiber_setcontext(rb_fiber_t *new_fiber, rb_fiber_t *old_fiber)</div><div class='add'>+{</div><div class='add'>+    rb_thread_t *th = GET_THREAD();</div><div class='add'>+</div><div class='add'>+    /* save old_fiber's machine stack - to ensure efficient garbage collection */</div><div class='add'>+    if (!FIBER_TERMINATED_P(old_fiber)) {</div><div class='add'>+        STACK_GROW_DIR_DETECTION;</div><div class='add'>+        SET_MACHINE_STACK_END(&amp;th-&gt;ec-&gt;machine.stack_end);</div><div class='add'>+        if (STACK_DIR_UPPER(0, 1)) {</div><div class='add'>+            old_fiber-&gt;cont.machine.stack_size = th-&gt;ec-&gt;machine.stack_start - th-&gt;ec-&gt;machine.stack_end;</div><div class='add'>+            old_fiber-&gt;cont.machine.stack = th-&gt;ec-&gt;machine.stack_end;</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            old_fiber-&gt;cont.machine.stack_size = th-&gt;ec-&gt;machine.stack_end - th-&gt;ec-&gt;machine.stack_start;</div><div class='add'>+            old_fiber-&gt;cont.machine.stack = th-&gt;ec-&gt;machine.stack_start;</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    /* exchange machine_stack_start between old_fiber and new_fiber */</div><div class='add'>+    old_fiber-&gt;cont.saved_ec.machine.stack_start = th-&gt;ec-&gt;machine.stack_start;</div><div class='add'>+</div><div class='add'>+    /* old_fiber-&gt;machine.stack_end should be NULL */</div><div class='add'>+    old_fiber-&gt;cont.saved_ec.machine.stack_end = NULL;</div><div class='add'>+</div><div class='add'>+    /* restore thread context */</div><div class='add'>+    fiber_restore_thread(th, new_fiber);</div><div class='add'>+</div><div class='add'>+    // if (DEBUG) fprintf(stderr, "fiber_setcontext: %p[%p] -&gt; %p[%p]\n", old_fiber, old_fiber-&gt;stack.base, new_fiber, new_fiber-&gt;stack.base);</div><div class='add'>+</div><div class='add'>+    /* swap machine context */</div><div class='add'>+    coroutine_transfer(&amp;old_fiber-&gt;context, &amp;new_fiber-&gt;context);</div><div class='add'>+</div><div class='add'>+    // It's possible to get here, and new_fiber is already freed.</div><div class='add'>+    // if (DEBUG) fprintf(stderr, "fiber_setcontext: %p[%p] &lt;- %p[%p]\n", old_fiber, old_fiber-&gt;stack.base, new_fiber, new_fiber-&gt;stack.base);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+NOINLINE(NORETURN(static void cont_restore_1(rb_context_t *)));</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+cont_restore_1(rb_context_t *cont)</div><div class='add'>+{</div><div class='add'>+    cont_restore_thread(cont);</div><div class='add'>+</div><div class='add'>+    /* restore machine stack */</div><div class='add'>+#ifdef _M_AMD64</div><div class='add'>+    {</div><div class='add'>+        /* workaround for x64 SEH */</div><div class='add'>+        jmp_buf buf;</div><div class='add'>+        setjmp(buf);</div><div class='add'>+        _JUMP_BUFFER *bp = (void*)&amp;cont-&gt;jmpbuf;</div><div class='add'>+        bp-&gt;Frame = ((_JUMP_BUFFER*)((void*)&amp;buf))-&gt;Frame;</div><div class='add'>+    }</div><div class='add'>+#endif</div><div class='add'>+    if (cont-&gt;machine.stack_src) {</div><div class='add'>+        FLUSH_REGISTER_WINDOWS;</div><div class='add'>+        MEMCPY(cont-&gt;machine.stack_src, cont-&gt;machine.stack,</div><div class='add'>+               VALUE, cont-&gt;machine.stack_size);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    ruby_longjmp(cont-&gt;jmpbuf, 1);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+NORETURN(NOINLINE(static void cont_restore_0(rb_context_t *, VALUE *)));</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+cont_restore_0(rb_context_t *cont, VALUE *addr_in_prev_frame)</div><div class='add'>+{</div><div class='add'>+    if (cont-&gt;machine.stack_src) {</div><div class='add'>+#ifdef HAVE_ALLOCA</div><div class='add'>+#define STACK_PAD_SIZE 1</div><div class='add'>+#else</div><div class='add'>+#define STACK_PAD_SIZE 1024</div><div class='add'>+#endif</div><div class='add'>+        VALUE space[STACK_PAD_SIZE];</div><div class='add'>+</div><div class='add'>+#if !STACK_GROW_DIRECTION</div><div class='add'>+        if (addr_in_prev_frame &gt; &amp;space[0]) {</div><div class='add'>+            /* Stack grows downward */</div><div class='add'>+#endif</div><div class='add'>+#if STACK_GROW_DIRECTION &lt;= 0</div><div class='add'>+            volatile VALUE *const end = cont-&gt;machine.stack_src;</div><div class='add'>+            if (&amp;space[0] &gt; end) {</div><div class='add'>+# ifdef HAVE_ALLOCA</div><div class='add'>+                volatile VALUE *sp = ALLOCA_N(VALUE, &amp;space[0] - end);</div><div class='add'>+                space[0] = *sp;</div><div class='add'>+# else</div><div class='add'>+                cont_restore_0(cont, &amp;space[0]);</div><div class='add'>+# endif</div><div class='add'>+            }</div><div class='add'>+#endif</div><div class='add'>+#if !STACK_GROW_DIRECTION</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            /* Stack grows upward */</div><div class='add'>+#endif</div><div class='add'>+#if STACK_GROW_DIRECTION &gt;= 0</div><div class='add'>+            volatile VALUE *const end = cont-&gt;machine.stack_src + cont-&gt;machine.stack_size;</div><div class='add'>+            if (&amp;space[STACK_PAD_SIZE] &lt; end) {</div><div class='add'>+# ifdef HAVE_ALLOCA</div><div class='add'>+                volatile VALUE *sp = ALLOCA_N(VALUE, end - &amp;space[STACK_PAD_SIZE]);</div><div class='add'>+                space[0] = *sp;</div><div class='add'>+# else</div><div class='add'>+                cont_restore_0(cont, &amp;space[STACK_PAD_SIZE-1]);</div><div class='add'>+# endif</div><div class='add'>+            }</div><div class='add'>+#endif</div><div class='add'>+#if !STACK_GROW_DIRECTION</div><div class='add'>+        }</div><div class='add'>+#endif</div><div class='add'>+    }</div><div class='add'>+    cont_restore_1(cont);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  Document-class: Continuation</div><div class='add'>+ *</div><div class='add'>+ *  Continuation objects are generated by Kernel#callcc,</div><div class='add'>+ *  after having +require+d &lt;i&gt;continuation&lt;/i&gt;. They hold</div><div class='add'>+ *  a return address and execution context, allowing a nonlocal return</div><div class='add'>+ *  to the end of the #callcc block from anywhere within a</div><div class='add'>+ *  program. Continuations are somewhat analogous to a structured</div><div class='add'>+ *  version of C's &lt;code&gt;setjmp/longjmp&lt;/code&gt; (although they contain</div><div class='add'>+ *  more state, so you might consider them closer to threads).</div><div class='add'>+ *</div><div class='add'>+ *  For instance:</div><div class='add'>+ *</div><div class='add'>+ *     require "continuation"</div><div class='add'>+ *     arr = [ "Freddie", "Herbie", "Ron", "Max", "Ringo" ]</div><div class='add'>+ *     callcc{|cc| $cc = cc}</div><div class='add'>+ *     puts(message = arr.shift)</div><div class='add'>+ *     $cc.call unless message =~ /Max/</div><div class='add'>+ *</div><div class='add'>+ *  &lt;em&gt;produces:&lt;/em&gt;</div><div class='add'>+ *</div><div class='add'>+ *     Freddie</div><div class='add'>+ *     Herbie</div><div class='add'>+ *     Ron</div><div class='add'>+ *     Max</div><div class='add'>+ *</div><div class='add'>+ *  Also you can call callcc in other methods:</div><div class='add'>+ *</div><div class='add'>+ *     require "continuation"</div><div class='add'>+ *</div><div class='add'>+ *     def g</div><div class='add'>+ *       arr = [ "Freddie", "Herbie", "Ron", "Max", "Ringo" ]</div><div class='add'>+ *       cc = callcc { |cc| cc }</div><div class='add'>+ *       puts arr.shift</div><div class='add'>+ *       return cc, arr.size</div><div class='add'>+ *     end</div><div class='add'>+ *</div><div class='add'>+ *     def f</div><div class='add'>+ *       c, size = g</div><div class='add'>+ *       c.call(c) if size &gt; 1</div><div class='add'>+ *     end</div><div class='add'>+ *</div><div class='add'>+ *     f</div><div class='add'>+ *</div><div class='add'>+ *  This (somewhat contrived) example allows the inner loop to abandon</div><div class='add'>+ *  processing early:</div><div class='add'>+ *</div><div class='add'>+ *     require "continuation"</div><div class='add'>+ *     callcc {|cont|</div><div class='add'>+ *       for i in 0..4</div><div class='add'>+ *         print "#{i}: "</div><div class='add'>+ *         for j in i*5...(i+1)*5</div><div class='add'>+ *           cont.call() if j == 17</div><div class='add'>+ *           printf "%3d", j</div><div class='add'>+ *         end</div><div class='add'>+ *       end</div><div class='add'>+ *     }</div><div class='add'>+ *     puts</div><div class='add'>+ *</div><div class='add'>+ *  &lt;em&gt;produces:&lt;/em&gt;</div><div class='add'>+ *</div><div class='add'>+ *     0:   0  1  2  3  4</div><div class='add'>+ *     1:   5  6  7  8  9</div><div class='add'>+ *     2:  10 11 12 13 14</div><div class='add'>+ *     3:  15 16</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     callcc {|cont| block }   -&gt;  obj</div><div class='add'>+ *</div><div class='add'>+ *  Generates a Continuation object, which it passes to</div><div class='add'>+ *  the associated block. You need to &lt;code&gt;require</div><div class='add'>+ *  'continuation'&lt;/code&gt; before using this method. Performing a</div><div class='add'>+ *  &lt;em&gt;cont&lt;/em&gt;&lt;code&gt;.call&lt;/code&gt; will cause the #callcc</div><div class='add'>+ *  to return (as will falling through the end of the block). The</div><div class='add'>+ *  value returned by the #callcc is the value of the</div><div class='add'>+ *  block, or the value passed to &lt;em&gt;cont&lt;/em&gt;&lt;code&gt;.call&lt;/code&gt;. See</div><div class='add'>+ *  class Continuation for more details. Also see</div><div class='add'>+ *  Kernel#throw for an alternative mechanism for</div><div class='add'>+ *  unwinding a call stack.</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_callcc(VALUE self)</div><div class='add'>+{</div><div class='add'>+    volatile int called;</div><div class='add'>+    volatile VALUE val = cont_capture(&amp;called);</div><div class='add'>+</div><div class='add'>+    if (called) {</div><div class='add'>+        return val;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        return rb_yield(val);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+make_passing_arg(int argc, const VALUE *argv)</div><div class='add'>+{</div><div class='add'>+    switch (argc) {</div><div class='add'>+      case -1:</div><div class='add'>+        return argv[0];</div><div class='add'>+      case 0:</div><div class='add'>+        return Qnil;</div><div class='add'>+      case 1:</div><div class='add'>+        return argv[0];</div><div class='add'>+      default:</div><div class='add'>+        return rb_ary_new4(argc, argv);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+typedef VALUE e_proc(VALUE);</div><div class='add'>+</div><div class='add'>+/* CAUTION!! : Currently, error in rollback_func is not supported  */</div><div class='add'>+/* same as rb_protect if set rollback_func to NULL */</div><div class='add'>+void</div><div class='add'>+ruby_register_rollback_func_for_ensure(e_proc *ensure_func, e_proc *rollback_func)</div><div class='add'>+{</div><div class='add'>+    st_table **table_p = &amp;GET_VM()-&gt;ensure_rollback_table;</div><div class='add'>+    if (UNLIKELY(*table_p == NULL)) {</div><div class='add'>+        *table_p = st_init_numtable();</div><div class='add'>+    }</div><div class='add'>+    st_insert(*table_p, (st_data_t)ensure_func, (st_data_t)rollback_func);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static inline e_proc *</div><div class='add'>+lookup_rollback_func(e_proc *ensure_func)</div><div class='add'>+{</div><div class='add'>+    st_table *table = GET_VM()-&gt;ensure_rollback_table;</div><div class='add'>+    st_data_t val;</div><div class='add'>+    if (table &amp;&amp; st_lookup(table, (st_data_t)ensure_func, &amp;val))</div><div class='add'>+        return (e_proc *) val;</div><div class='add'>+    return (e_proc *) Qundef;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+</div><div class='add'>+static inline void</div><div class='add'>+rollback_ensure_stack(VALUE self,rb_ensure_list_t *current,rb_ensure_entry_t *target)</div><div class='add'>+{</div><div class='add'>+    rb_ensure_list_t *p;</div><div class='add'>+    rb_ensure_entry_t *entry;</div><div class='add'>+    size_t i, j;</div><div class='add'>+    size_t cur_size;</div><div class='add'>+    size_t target_size;</div><div class='add'>+    size_t base_point;</div><div class='add'>+    e_proc *func;</div><div class='add'>+</div><div class='add'>+    cur_size = 0;</div><div class='add'>+    for (p=current; p; p=p-&gt;next)</div><div class='add'>+        cur_size++;</div><div class='add'>+    target_size = 0;</div><div class='add'>+    for (entry=target; entry-&gt;marker; entry++)</div><div class='add'>+        target_size++;</div><div class='add'>+</div><div class='add'>+    /* search common stack point */</div><div class='add'>+    p = current;</div><div class='add'>+    base_point = cur_size;</div><div class='add'>+    while (base_point) {</div><div class='add'>+        if (target_size &gt;= base_point &amp;&amp;</div><div class='add'>+            p-&gt;entry.marker == target[target_size - base_point].marker)</div><div class='add'>+            break;</div><div class='add'>+        base_point --;</div><div class='add'>+        p = p-&gt;next;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    /* rollback function check */</div><div class='add'>+    for (i=0; i &lt; target_size - base_point; i++) {</div><div class='add'>+        if (!lookup_rollback_func(target[i].e_proc)) {</div><div class='add'>+            rb_raise(rb_eRuntimeError, "continuation called from out of critical rb_ensure scope");</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    /* pop ensure stack */</div><div class='add'>+    while (cur_size &gt; base_point) {</div><div class='add'>+        /* escape from ensure block */</div><div class='add'>+        (*current-&gt;entry.e_proc)(current-&gt;entry.data2);</div><div class='add'>+        current = current-&gt;next;</div><div class='add'>+        cur_size--;</div><div class='add'>+    }</div><div class='add'>+    /* push ensure stack */</div><div class='add'>+    for (j = 0; j &lt; i; j++) {</div><div class='add'>+        func = lookup_rollback_func(target[i - j - 1].e_proc);</div><div class='add'>+        if ((VALUE)func != Qundef) {</div><div class='add'>+            (*func)(target[i - j - 1].data2);</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+NORETURN(static VALUE rb_cont_call(int argc, VALUE *argv, VALUE contval));</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     cont.call(args, ...)</div><div class='add'>+ *     cont[args, ...]</div><div class='add'>+ *</div><div class='add'>+ *  Invokes the continuation. The program continues from the end of</div><div class='add'>+ *  the #callcc block. If no arguments are given, the original #callcc</div><div class='add'>+ *  returns +nil+. If one argument is given, #callcc returns</div><div class='add'>+ *  it. Otherwise, an array containing &lt;i&gt;args&lt;/i&gt; is returned.</div><div class='add'>+ *</div><div class='add'>+ *     callcc {|cont|  cont.call }           #=&gt; nil</div><div class='add'>+ *     callcc {|cont|  cont.call 1 }         #=&gt; 1</div><div class='add'>+ *     callcc {|cont|  cont.call 1, 2, 3 }   #=&gt; [1, 2, 3]</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_cont_call(int argc, VALUE *argv, VALUE contval)</div><div class='add'>+{</div><div class='add'>+    rb_context_t *cont = cont_ptr(contval);</div><div class='add'>+    rb_thread_t *th = GET_THREAD();</div><div class='add'>+</div><div class='add'>+    if (cont_thread_value(cont) != th-&gt;self) {</div><div class='add'>+        rb_raise(rb_eRuntimeError, "continuation called across threads");</div><div class='add'>+    }</div><div class='add'>+    if (cont-&gt;saved_ec.protect_tag != th-&gt;ec-&gt;protect_tag) {</div><div class='add'>+        rb_raise(rb_eRuntimeError, "continuation called across stack rewinding barrier");</div><div class='add'>+    }</div><div class='add'>+    if (cont-&gt;saved_ec.fiber_ptr) {</div><div class='add'>+        if (th-&gt;ec-&gt;fiber_ptr != cont-&gt;saved_ec.fiber_ptr) {</div><div class='add'>+            rb_raise(rb_eRuntimeError, "continuation called across fiber");</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+    rollback_ensure_stack(contval, th-&gt;ec-&gt;ensure_list, cont-&gt;ensure_array);</div><div class='add'>+</div><div class='add'>+    cont-&gt;argc = argc;</div><div class='add'>+    cont-&gt;value = make_passing_arg(argc, argv);</div><div class='add'>+</div><div class='add'>+    cont_restore_0(cont, &amp;contval);</div><div class='add'>+    UNREACHABLE_RETURN(Qnil);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*********/</div><div class='add'>+/* fiber */</div><div class='add'>+/*********/</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  Document-class: Fiber</div><div class='add'>+ *</div><div class='add'>+ *  Fibers are primitives for implementing light weight cooperative</div><div class='add'>+ *  concurrency in Ruby. Basically they are a means of creating code blocks</div><div class='add'>+ *  that can be paused and resumed, much like threads. The main difference</div><div class='add'>+ *  is that they are never preempted and that the scheduling must be done by</div><div class='add'>+ *  the programmer and not the VM.</div><div class='add'>+ *</div><div class='add'>+ *  As opposed to other stackless light weight concurrency models, each fiber</div><div class='add'>+ *  comes with a stack.  This enables the fiber to be paused from deeply</div><div class='add'>+ *  nested function calls within the fiber block.  See the ruby(1)</div><div class='add'>+ *  manpage to configure the size of the fiber stack(s).</div><div class='add'>+ *</div><div class='add'>+ *  When a fiber is created it will not run automatically. Rather it must</div><div class='add'>+ *  be explicitly asked to run using the Fiber#resume method.</div><div class='add'>+ *  The code running inside the fiber can give up control by calling</div><div class='add'>+ *  Fiber.yield in which case it yields control back to caller (the</div><div class='add'>+ *  caller of the Fiber#resume).</div><div class='add'>+ *</div><div class='add'>+ *  Upon yielding or termination the Fiber returns the value of the last</div><div class='add'>+ *  executed expression</div><div class='add'>+ *</div><div class='add'>+ *  For instance:</div><div class='add'>+ *</div><div class='add'>+ *    fiber = Fiber.new do</div><div class='add'>+ *      Fiber.yield 1</div><div class='add'>+ *      2</div><div class='add'>+ *    end</div><div class='add'>+ *</div><div class='add'>+ *    puts fiber.resume</div><div class='add'>+ *    puts fiber.resume</div><div class='add'>+ *    puts fiber.resume</div><div class='add'>+ *</div><div class='add'>+ *  &lt;em&gt;produces&lt;/em&gt;</div><div class='add'>+ *</div><div class='add'>+ *    1</div><div class='add'>+ *    2</div><div class='add'>+ *    FiberError: dead fiber called</div><div class='add'>+ *</div><div class='add'>+ *  The Fiber#resume method accepts an arbitrary number of parameters,</div><div class='add'>+ *  if it is the first call to #resume then they will be passed as</div><div class='add'>+ *  block arguments. Otherwise they will be the return value of the</div><div class='add'>+ *  call to Fiber.yield</div><div class='add'>+ *</div><div class='add'>+ *  Example:</div><div class='add'>+ *</div><div class='add'>+ *    fiber = Fiber.new do |first|</div><div class='add'>+ *      second = Fiber.yield first + 2</div><div class='add'>+ *    end</div><div class='add'>+ *</div><div class='add'>+ *    puts fiber.resume 10</div><div class='add'>+ *    puts fiber.resume 1_000_000</div><div class='add'>+ *    puts fiber.resume "The fiber will be dead before I can cause trouble"</div><div class='add'>+ *</div><div class='add'>+ *  &lt;em&gt;produces&lt;/em&gt;</div><div class='add'>+ *</div><div class='add'>+ *    12</div><div class='add'>+ *    1000000</div><div class='add'>+ *    FiberError: dead fiber called</div><div class='add'>+ *</div><div class='add'>+ *  == Non-blocking Fibers</div><div class='add'>+ *</div><div class='add'>+ *  Since Ruby 3.0, the concept of &lt;em&gt;non-blocking fiber&lt;/em&gt; was introduced.</div><div class='add'>+ *  Non-blocking fiber, when reaching any potentially blocking operation (like</div><div class='add'>+ *  sleep, wait for another process, wait for I/O data to be ready), instead</div><div class='add'>+ *  of just freezing itself and all execution in the thread, yields control</div><div class='add'>+ *  to other fibers, and allows the &lt;em&gt;scheduler&lt;/em&gt; to handle waiting and waking</div><div class='add'>+ *  (resuming) the fiber when it can proceed.</div><div class='add'>+ *</div><div class='add'>+ *  For Fiber to behave as non-blocking, it should be created in Fiber.new with</div><div class='add'>+ *  &lt;tt&gt;blocking: false&lt;/tt&gt; (which is the default now), and Fiber.scheduler</div><div class='add'>+ *  should be set with Fiber.set_scheduler. If Fiber.scheduler is not set in</div><div class='add'>+ *  the current thread, blocking and non-blocking fiber's behavior is identical.</div><div class='add'>+ *</div><div class='add'>+ *  Ruby doesn't provide a scheduler class: it is expected to be implemented by</div><div class='add'>+ *  the user and correspond to Fiber::SchedulerInterface.</div><div class='add'>+ *</div><div class='add'>+ *  There is also Fiber.schedule method, which is expected to immediately perform</div><div class='add'>+ *  passed block in a non-blocking manner (but its actual implementation is up to</div><div class='add'>+ *  the scheduler).</div><div class='add'>+ *</div><div class='add'>+ *</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static const rb_data_type_t fiber_data_type = {</div><div class='add'>+    "fiber",</div><div class='add'>+    {fiber_mark, fiber_free, fiber_memsize, fiber_compact,},</div><div class='add'>+    0, 0, RUBY_TYPED_FREE_IMMEDIATELY</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+fiber_alloc(VALUE klass)</div><div class='add'>+{</div><div class='add'>+    return TypedData_Wrap_Struct(klass, &amp;fiber_data_type, 0);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static rb_fiber_t*</div><div class='add'>+fiber_t_alloc(VALUE fiber_value, unsigned int blocking)</div><div class='add'>+{</div><div class='add'>+    rb_fiber_t *fiber;</div><div class='add'>+    rb_thread_t *th = GET_THREAD();</div><div class='add'>+</div><div class='add'>+    if (DATA_PTR(fiber_value) != 0) {</div><div class='add'>+        rb_raise(rb_eRuntimeError, "cannot initialize twice");</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    THREAD_MUST_BE_RUNNING(th);</div><div class='add'>+    fiber = ZALLOC(rb_fiber_t);</div><div class='add'>+    fiber-&gt;cont.self = fiber_value;</div><div class='add'>+    fiber-&gt;cont.type = FIBER_CONTEXT;</div><div class='add'>+    fiber-&gt;blocking = blocking;</div><div class='add'>+    cont_init(&amp;fiber-&gt;cont, th);</div><div class='add'>+</div><div class='add'>+    fiber-&gt;cont.saved_ec.fiber_ptr = fiber;</div><div class='add'>+    rb_ec_clear_vm_stack(&amp;fiber-&gt;cont.saved_ec);</div><div class='add'>+</div><div class='add'>+    fiber-&gt;prev = NULL;</div><div class='add'>+</div><div class='add'>+    /* fiber-&gt;status == 0 == CREATED</div><div class='add'>+     * So that we don't need to set status: fiber_status_set(fiber, FIBER_CREATED); */</div><div class='add'>+    VM_ASSERT(FIBER_CREATED_P(fiber));</div><div class='add'>+</div><div class='add'>+    DATA_PTR(fiber_value) = fiber;</div><div class='add'>+</div><div class='add'>+    return fiber;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+fiber_initialize(VALUE self, VALUE proc, struct fiber_pool * fiber_pool, unsigned int blocking)</div><div class='add'>+{</div><div class='add'>+    rb_fiber_t *fiber = fiber_t_alloc(self, blocking);</div><div class='add'>+</div><div class='add'>+    fiber-&gt;first_proc = proc;</div><div class='add'>+    fiber-&gt;stack.base = NULL;</div><div class='add'>+    fiber-&gt;stack.pool = fiber_pool;</div><div class='add'>+</div><div class='add'>+    return self;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+fiber_prepare_stack(rb_fiber_t *fiber)</div><div class='add'>+{</div><div class='add'>+    rb_context_t *cont = &amp;fiber-&gt;cont;</div><div class='add'>+    rb_execution_context_t *sec = &amp;cont-&gt;saved_ec;</div><div class='add'>+</div><div class='add'>+    size_t vm_stack_size = 0;</div><div class='add'>+    VALUE *vm_stack = fiber_initialize_coroutine(fiber, &amp;vm_stack_size);</div><div class='add'>+</div><div class='add'>+    /* initialize cont */</div><div class='add'>+    cont-&gt;saved_vm_stack.ptr = NULL;</div><div class='add'>+    rb_ec_initialize_vm_stack(sec, vm_stack, vm_stack_size / sizeof(VALUE));</div><div class='add'>+</div><div class='add'>+    sec-&gt;tag = NULL;</div><div class='add'>+    sec-&gt;local_storage = NULL;</div><div class='add'>+    sec-&gt;local_storage_recursive_hash = Qnil;</div><div class='add'>+    sec-&gt;local_storage_recursive_hash_for_trace = Qnil;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static struct fiber_pool *</div><div class='add'>+rb_fiber_pool_default(VALUE pool)</div><div class='add'>+{</div><div class='add'>+    return &amp;shared_fiber_pool;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/* :nodoc: */</div><div class='add'>+static VALUE</div><div class='add'>+rb_fiber_initialize_kw(int argc, VALUE* argv, VALUE self, int kw_splat)</div><div class='add'>+{</div><div class='add'>+    VALUE pool = Qnil;</div><div class='add'>+    VALUE blocking = Qfalse;</div><div class='add'>+</div><div class='add'>+    if (kw_splat != RB_NO_KEYWORDS) {</div><div class='add'>+        VALUE options = Qnil;</div><div class='add'>+        VALUE arguments[2] = {Qundef};</div><div class='add'>+</div><div class='add'>+        argc = rb_scan_args_kw(kw_splat, argc, argv, ":", &amp;options);</div><div class='add'>+        rb_get_kwargs(options, fiber_initialize_keywords, 0, 2, arguments);</div><div class='add'>+</div><div class='add'>+        if (arguments[0] != Qundef) {</div><div class='add'>+            blocking = arguments[0];</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        if (arguments[1] != Qundef) {</div><div class='add'>+            pool = arguments[1];</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return fiber_initialize(self, rb_block_proc(), rb_fiber_pool_default(pool), RTEST(blocking));</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     Fiber.new(blocking: false) { |*args| ... } -&gt; fiber</div><div class='add'>+ *</div><div class='add'>+ *  Creates new Fiber. Initially, fiber is not running, but can be resumed with</div><div class='add'>+ *  #resume. Arguments to the first #resume call would be passed to the block:</div><div class='add'>+ *</div><div class='add'>+ *      f = Fiber.new do |initial|</div><div class='add'>+ *         current = initial</div><div class='add'>+ *         loop do</div><div class='add'>+ *           puts "current: #{current.inspect}"</div><div class='add'>+ *           current = Fiber.yield</div><div class='add'>+ *         end</div><div class='add'>+ *      end</div><div class='add'>+ *      f.resume(100)     # prints: current: 100</div><div class='add'>+ *      f.resume(1, 2, 3) # prints: current: [1, 2, 3]</div><div class='add'>+ *      f.resume          # prints: current: nil</div><div class='add'>+ *      # ... and so on ...</div><div class='add'>+ *</div><div class='add'>+ *  if &lt;tt&gt;blocking: false&lt;/tt&gt; is passed to the &lt;tt&gt;Fiber.new&lt;/tt&gt;, _and_ current thread</div><div class='add'>+ *  has Fiber.scheduler defined, the Fiber becomes non-blocking (see "Non-blocking</div><div class='add'>+ *  fibers" section in class docs).</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+rb_fiber_initialize(int argc, VALUE* argv, VALUE self)</div><div class='add'>+{</div><div class='add'>+    return rb_fiber_initialize_kw(argc, argv, self, rb_keyword_given_p());</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_fiber_new(rb_block_call_func_t func, VALUE obj)</div><div class='add'>+{</div><div class='add'>+    return fiber_initialize(fiber_alloc(rb_cFiber), rb_proc_new(func, obj), rb_fiber_pool_default(Qnil), 1);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_f_fiber_kw(int argc, VALUE* argv, int kw_splat)</div><div class='add'>+{</div><div class='add'>+    rb_thread_t * th = GET_THREAD();</div><div class='add'>+    VALUE scheduler = th-&gt;scheduler;</div><div class='add'>+    VALUE fiber = Qnil;</div><div class='add'>+</div><div class='add'>+    if (scheduler != Qnil) {</div><div class='add'>+        fiber = rb_funcall_passing_block_kw(scheduler, rb_intern("fiber"), argc, argv, kw_splat);</div><div class='add'>+    } else {</div><div class='add'>+        rb_raise(rb_eRuntimeError, "No scheduler is available!");</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return fiber;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     Fiber.schedule { |*args| ... } -&gt; fiber</div><div class='add'>+ *</div><div class='add'>+ *  The method is &lt;em&gt;expected&lt;/em&gt; to immediately run the provided block of code in a</div><div class='add'>+ *  separate non-blocking fiber.</div><div class='add'>+ *</div><div class='add'>+ *     puts "Go to sleep!"</div><div class='add'>+ *</div><div class='add'>+ *     Fiber.set_scheduler(MyScheduler.new)</div><div class='add'>+ *</div><div class='add'>+ *     Fiber.schedule do</div><div class='add'>+ *       puts "Going to sleep"</div><div class='add'>+ *       sleep(1)</div><div class='add'>+ *       puts "I slept well"</div><div class='add'>+ *     end</div><div class='add'>+ *</div><div class='add'>+ *     puts "Wakey-wakey, sleepyhead"</div><div class='add'>+ *</div><div class='add'>+ *  Assuming MyScheduler is properly implemented, this program will produce:</div><div class='add'>+ *</div><div class='add'>+ *     Go to sleep!</div><div class='add'>+ *     Going to sleep</div><div class='add'>+ *     Wakey-wakey, sleepyhead</div><div class='add'>+ *     ...1 sec pause here...</div><div class='add'>+ *     I slept well</div><div class='add'>+ *</div><div class='add'>+ *  ...e.g. on the first blocking operation inside the Fiber (&lt;tt&gt;sleep(1)&lt;/tt&gt;),</div><div class='add'>+ *  the control is yielded at the outside code (main fiber), and &lt;em&gt;at the end</div><div class='add'>+ *  of the execution&lt;/em&gt;, the scheduler takes care of properly resuming all the</div><div class='add'>+ *  blocked fibers.</div><div class='add'>+ *</div><div class='add'>+ *  Note that the behavior described above is how the method is &lt;em&gt;expected&lt;/em&gt;</div><div class='add'>+ *  to behave, actual behavior is up to the current scheduler's implementation of</div><div class='add'>+ *  Fiber::SchedulerInterface#fiber method. Ruby doesn't enforce this method to</div><div class='add'>+ *  behave in any particular way.</div><div class='add'>+ *</div><div class='add'>+ *  If the scheduler is not set, the method raises</div><div class='add'>+ *  &lt;tt&gt;RuntimeError (No scheduler is available!)&lt;/tt&gt;.</div><div class='add'>+ *</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+rb_f_fiber(int argc, VALUE *argv, VALUE obj)</div><div class='add'>+{</div><div class='add'>+    return rb_f_fiber_kw(argc, argv, rb_keyword_given_p());</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     Fiber.scheduler -&gt; obj or nil</div><div class='add'>+ *</div><div class='add'>+ *  Fiber scheduler, set in the current thread with Fiber.set_scheduler. If the scheduler</div><div class='add'>+ *  is +nil+ (which is the default), non-blocking fibers behavior is the same as blocking.</div><div class='add'>+ *  (see "Non-blocking fibers" section in class docs for details about the scheduler concept).</div><div class='add'>+ *</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+rb_fiber_scheduler(VALUE klass)</div><div class='add'>+{</div><div class='add'>+    return rb_scheduler_get();</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     Fiber.set_scheduler(scheduler) -&gt; scheduler</div><div class='add'>+ *</div><div class='add'>+ *  Sets Fiber scheduler for the current thread. If the scheduler is set, non-blocking</div><div class='add'>+ *  fibers (created by Fiber.new with &lt;tt&gt;blocking: false&lt;/tt&gt;, or by Fiber.schedule)</div><div class='add'>+ *  call that scheduler's hook methods on potentially blocking operations, and the current</div><div class='add'>+ *  thread will call scheduler's +close+ method on finalization (allowing the scheduler to</div><div class='add'>+ *  properly manage all non-finished fibers).</div><div class='add'>+ *</div><div class='add'>+ *  +scheduler+ can be an object of any class corresponding to Fiber::SchedulerInterface. Its</div><div class='add'>+ *  implementation is up to the user.</div><div class='add'>+ *</div><div class='add'>+ *  See also the "Non-blocking fibers" section in class docs.</div><div class='add'>+ *</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+rb_fiber_set_scheduler(VALUE klass, VALUE scheduler)</div><div class='add'>+{</div><div class='add'>+    // if (rb_scheduler_get() != Qnil) {</div><div class='add'>+    //     rb_raise(rb_eFiberError, "Scheduler is already defined!");</div><div class='add'>+    // }</div><div class='add'>+</div><div class='add'>+    return rb_scheduler_set(scheduler);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void rb_fiber_terminate(rb_fiber_t *fiber, int need_interrupt);</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+rb_fiber_start(void)</div><div class='add'>+{</div><div class='add'>+    rb_thread_t * volatile th = GET_THREAD();</div><div class='add'>+    rb_fiber_t *fiber = th-&gt;ec-&gt;fiber_ptr;</div><div class='add'>+    rb_proc_t *proc;</div><div class='add'>+    enum ruby_tag_type state;</div><div class='add'>+    int need_interrupt = TRUE;</div><div class='add'>+</div><div class='add'>+    VM_ASSERT(th-&gt;ec == GET_EC());</div><div class='add'>+    VM_ASSERT(FIBER_RESUMED_P(fiber));</div><div class='add'>+</div><div class='add'>+    if (fiber-&gt;blocking) {</div><div class='add'>+        th-&gt;blocking += 1;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    EC_PUSH_TAG(th-&gt;ec);</div><div class='add'>+    if ((state = EC_EXEC_TAG()) == TAG_NONE) {</div><div class='add'>+        rb_context_t *cont = &amp;VAR_FROM_MEMORY(fiber)-&gt;cont;</div><div class='add'>+        int argc;</div><div class='add'>+        const VALUE *argv, args = cont-&gt;value;</div><div class='add'>+        GetProcPtr(fiber-&gt;first_proc, proc);</div><div class='add'>+        argv = (argc = cont-&gt;argc) &gt; 1 ? RARRAY_CONST_PTR(args) : &amp;args;</div><div class='add'>+        cont-&gt;value = Qnil;</div><div class='add'>+        th-&gt;ec-&gt;errinfo = Qnil;</div><div class='add'>+        th-&gt;ec-&gt;root_lep = rb_vm_proc_local_ep(fiber-&gt;first_proc);</div><div class='add'>+        th-&gt;ec-&gt;root_svar = Qfalse;</div><div class='add'>+</div><div class='add'>+        EXEC_EVENT_HOOK(th-&gt;ec, RUBY_EVENT_FIBER_SWITCH, th-&gt;self, 0, 0, 0, Qnil);</div><div class='add'>+        cont-&gt;value = rb_vm_invoke_proc(th-&gt;ec, proc, argc, argv, cont-&gt;kw_splat, VM_BLOCK_HANDLER_NONE);</div><div class='add'>+    }</div><div class='add'>+    EC_POP_TAG();</div><div class='add'>+</div><div class='add'>+    if (state) {</div><div class='add'>+        VALUE err = th-&gt;ec-&gt;errinfo;</div><div class='add'>+        VM_ASSERT(FIBER_RESUMED_P(fiber));</div><div class='add'>+</div><div class='add'>+        if (state == TAG_RAISE || state == TAG_FATAL) {</div><div class='add'>+            rb_threadptr_pending_interrupt_enque(th, err);</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            err = rb_vm_make_jump_tag_but_local_jump(state, err);</div><div class='add'>+            if (!NIL_P(err)) {</div><div class='add'>+                rb_threadptr_pending_interrupt_enque(th, err);</div><div class='add'>+            }</div><div class='add'>+        }</div><div class='add'>+        need_interrupt = TRUE;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    rb_fiber_terminate(fiber, need_interrupt);</div><div class='add'>+    VM_UNREACHABLE(rb_fiber_start);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static rb_fiber_t *</div><div class='add'>+root_fiber_alloc(rb_thread_t *th)</div><div class='add'>+{</div><div class='add'>+    VALUE fiber_value = fiber_alloc(rb_cFiber);</div><div class='add'>+    rb_fiber_t *fiber = th-&gt;ec-&gt;fiber_ptr;</div><div class='add'>+</div><div class='add'>+    VM_ASSERT(DATA_PTR(fiber_value) == NULL);</div><div class='add'>+    VM_ASSERT(fiber-&gt;cont.type == FIBER_CONTEXT);</div><div class='add'>+    VM_ASSERT(fiber-&gt;status == FIBER_RESUMED);</div><div class='add'>+</div><div class='add'>+    th-&gt;root_fiber = fiber;</div><div class='add'>+    DATA_PTR(fiber_value) = fiber;</div><div class='add'>+    fiber-&gt;cont.self = fiber_value;</div><div class='add'>+</div><div class='add'>+#ifdef COROUTINE_PRIVATE_STACK</div><div class='add'>+    fiber-&gt;stack = fiber_pool_stack_acquire(&amp;shared_fiber_pool);</div><div class='add'>+    coroutine_initialize_main(&amp;fiber-&gt;context, fiber_pool_stack_base(&amp;fiber-&gt;stack), fiber-&gt;stack.available, th-&gt;ec-&gt;machine.stack_start);</div><div class='add'>+#else</div><div class='add'>+    coroutine_initialize_main(&amp;fiber-&gt;context);</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+    return fiber;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+rb_threadptr_root_fiber_setup(rb_thread_t *th)</div><div class='add'>+{</div><div class='add'>+    rb_fiber_t *fiber = ruby_mimmalloc(sizeof(rb_fiber_t));</div><div class='add'>+    if (!fiber) {</div><div class='add'>+        rb_bug("%s", strerror(errno)); /* ... is it possible to call rb_bug here? */</div><div class='add'>+    }</div><div class='add'>+    MEMZERO(fiber, rb_fiber_t, 1);</div><div class='add'>+    fiber-&gt;cont.type = FIBER_CONTEXT;</div><div class='add'>+    fiber-&gt;cont.saved_ec.fiber_ptr = fiber;</div><div class='add'>+    fiber-&gt;cont.saved_ec.thread_ptr = th;</div><div class='add'>+    fiber-&gt;blocking = 1;</div><div class='add'>+    fiber_status_set(fiber, FIBER_RESUMED); /* skip CREATED */</div><div class='add'>+    th-&gt;ec = &amp;fiber-&gt;cont.saved_ec;</div><div class='add'>+    // This skips mjit_cont_new for the initial thread because mjit_enabled is always false</div><div class='add'>+    // at this point. mjit_init calls rb_fiber_init_mjit_cont again for this root_fiber.</div><div class='add'>+    rb_fiber_init_mjit_cont(fiber);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+rb_threadptr_root_fiber_release(rb_thread_t *th)</div><div class='add'>+{</div><div class='add'>+    if (th-&gt;root_fiber) {</div><div class='add'>+        /* ignore. A root fiber object will free th-&gt;ec */</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        rb_execution_context_t *ec = GET_EC();</div><div class='add'>+</div><div class='add'>+        VM_ASSERT(th-&gt;ec-&gt;fiber_ptr-&gt;cont.type == FIBER_CONTEXT);</div><div class='add'>+        VM_ASSERT(th-&gt;ec-&gt;fiber_ptr-&gt;cont.self == 0);</div><div class='add'>+</div><div class='add'>+        if (th-&gt;ec == ec) {</div><div class='add'>+            rb_ractor_set_current_ec(th-&gt;ractor, NULL);</div><div class='add'>+        }</div><div class='add'>+        fiber_free(th-&gt;ec-&gt;fiber_ptr);</div><div class='add'>+        th-&gt;ec = NULL;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+rb_threadptr_root_fiber_terminate(rb_thread_t *th)</div><div class='add'>+{</div><div class='add'>+    rb_fiber_t *fiber = th-&gt;ec-&gt;fiber_ptr;</div><div class='add'>+</div><div class='add'>+    fiber-&gt;status = FIBER_TERMINATED;</div><div class='add'>+</div><div class='add'>+    // The vm_stack is `alloca`ed on the thread stack, so it's gone too:</div><div class='add'>+    rb_ec_clear_vm_stack(th-&gt;ec);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static inline rb_fiber_t*</div><div class='add'>+fiber_current(void)</div><div class='add'>+{</div><div class='add'>+    rb_execution_context_t *ec = GET_EC();</div><div class='add'>+    if (ec-&gt;fiber_ptr-&gt;cont.self == 0) {</div><div class='add'>+        root_fiber_alloc(rb_ec_thread_ptr(ec));</div><div class='add'>+    }</div><div class='add'>+    return ec-&gt;fiber_ptr;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static inline rb_fiber_t*</div><div class='add'>+return_fiber(bool terminate)</div><div class='add'>+{</div><div class='add'>+    rb_fiber_t *fiber = fiber_current();</div><div class='add'>+    rb_fiber_t *prev = fiber-&gt;prev;</div><div class='add'>+</div><div class='add'>+    if (prev) {</div><div class='add'>+        fiber-&gt;prev = NULL;</div><div class='add'>+        prev-&gt;resuming_fiber = Qnil;</div><div class='add'>+        return prev;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        if (!terminate) {</div><div class='add'>+            rb_raise(rb_eFiberError, "attempt to yield on a not resumed fiber");</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        rb_thread_t *th = GET_THREAD();</div><div class='add'>+        rb_fiber_t *root_fiber = th-&gt;root_fiber;</div><div class='add'>+</div><div class='add'>+        VM_ASSERT(root_fiber != NULL);</div><div class='add'>+</div><div class='add'>+        // search resuming fiber</div><div class='add'>+        for (fiber = root_fiber;</div><div class='add'>+             RTEST(fiber-&gt;resuming_fiber);</div><div class='add'>+             fiber = fiber_ptr(fiber-&gt;resuming_fiber)) {</div><div class='add'>+        }</div><div class='add'>+</div><div class='add'>+        return fiber;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_fiber_current(void)</div><div class='add'>+{</div><div class='add'>+    return fiber_current()-&gt;cont.self;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+// Prepare to execute next_fiber on the given thread.</div><div class='add'>+static inline VALUE</div><div class='add'>+fiber_store(rb_fiber_t *next_fiber, rb_thread_t *th)</div><div class='add'>+{</div><div class='add'>+    rb_fiber_t *fiber;</div><div class='add'>+</div><div class='add'>+    if (th-&gt;ec-&gt;fiber_ptr != NULL) {</div><div class='add'>+        fiber = th-&gt;ec-&gt;fiber_ptr;</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        /* create root fiber */</div><div class='add'>+        fiber = root_fiber_alloc(th);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (FIBER_CREATED_P(next_fiber)) {</div><div class='add'>+        fiber_prepare_stack(next_fiber);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    VM_ASSERT(FIBER_RESUMED_P(fiber) || FIBER_TERMINATED_P(fiber));</div><div class='add'>+    VM_ASSERT(FIBER_RUNNABLE_P(next_fiber));</div><div class='add'>+</div><div class='add'>+    if (FIBER_RESUMED_P(fiber)) fiber_status_set(fiber, FIBER_SUSPENDED);</div><div class='add'>+</div><div class='add'>+    fiber_status_set(next_fiber, FIBER_RESUMED);</div><div class='add'>+    fiber_setcontext(next_fiber, fiber);</div><div class='add'>+</div><div class='add'>+    fiber = th-&gt;ec-&gt;fiber_ptr;</div><div class='add'>+</div><div class='add'>+    /* Raise an exception if that was the result of executing the fiber */</div><div class='add'>+    if (fiber-&gt;cont.argc == -1) rb_exc_raise(fiber-&gt;cont.value);</div><div class='add'>+</div><div class='add'>+    return fiber-&gt;cont.value;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static inline VALUE</div><div class='add'>+fiber_switch(rb_fiber_t *fiber, int argc, const VALUE *argv, int kw_splat, VALUE resuming_fiber, bool yielding)</div><div class='add'>+{</div><div class='add'>+    VALUE value;</div><div class='add'>+    rb_context_t *cont = &amp;fiber-&gt;cont;</div><div class='add'>+    rb_thread_t *th = GET_THREAD();</div><div class='add'>+</div><div class='add'>+    /* make sure the root_fiber object is available */</div><div class='add'>+    if (th-&gt;root_fiber == NULL) root_fiber_alloc(th);</div><div class='add'>+</div><div class='add'>+    if (th-&gt;ec-&gt;fiber_ptr == fiber) {</div><div class='add'>+        /* ignore fiber context switch</div><div class='add'>+         * because destination fiber is same as current fiber</div><div class='add'>+         */</div><div class='add'>+        return make_passing_arg(argc, argv);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (cont_thread_value(cont) != th-&gt;self) {</div><div class='add'>+        rb_raise(rb_eFiberError, "fiber called across threads");</div><div class='add'>+    }</div><div class='add'>+    else if (cont-&gt;saved_ec.protect_tag != th-&gt;ec-&gt;protect_tag) {</div><div class='add'>+        rb_raise(rb_eFiberError, "fiber called across stack rewinding barrier");</div><div class='add'>+    }</div><div class='add'>+    else if (FIBER_TERMINATED_P(fiber)) {</div><div class='add'>+        value = rb_exc_new2(rb_eFiberError, "dead fiber called");</div><div class='add'>+</div><div class='add'>+        if (!FIBER_TERMINATED_P(th-&gt;ec-&gt;fiber_ptr)) {</div><div class='add'>+            rb_exc_raise(value);</div><div class='add'>+            VM_UNREACHABLE(fiber_switch);</div><div class='add'>+        }</div><div class='add'>+        else {</div><div class='add'>+            /* th-&gt;ec-&gt;fiber_ptr is also dead =&gt; switch to root fiber */</div><div class='add'>+            /* (this means we're being called from rb_fiber_terminate, */</div><div class='add'>+            /* and the terminated fiber's return_fiber() is already dead) */</div><div class='add'>+            VM_ASSERT(FIBER_SUSPENDED_P(th-&gt;root_fiber));</div><div class='add'>+</div><div class='add'>+            cont = &amp;th-&gt;root_fiber-&gt;cont;</div><div class='add'>+            cont-&gt;argc = -1;</div><div class='add'>+            cont-&gt;value = value;</div><div class='add'>+</div><div class='add'>+            fiber_setcontext(th-&gt;root_fiber, th-&gt;ec-&gt;fiber_ptr);</div><div class='add'>+</div><div class='add'>+            VM_UNREACHABLE(fiber_switch);</div><div class='add'>+        }</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    VM_ASSERT(FIBER_RUNNABLE_P(fiber));</div><div class='add'>+</div><div class='add'>+    rb_fiber_t *current_fiber = fiber_current();</div><div class='add'>+</div><div class='add'>+    VM_ASSERT(!RTEST(current_fiber-&gt;resuming_fiber));</div><div class='add'>+    if (RTEST(resuming_fiber)) {</div><div class='add'>+        current_fiber-&gt;resuming_fiber = resuming_fiber;</div><div class='add'>+        fiber-&gt;prev = fiber_current();</div><div class='add'>+        fiber-&gt;yielding = 0;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    VM_ASSERT(!current_fiber-&gt;yielding);</div><div class='add'>+    if (yielding) {</div><div class='add'>+        current_fiber-&gt;yielding = 1;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (current_fiber-&gt;blocking) {</div><div class='add'>+        th-&gt;blocking -= 1;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    cont-&gt;argc = argc;</div><div class='add'>+    cont-&gt;kw_splat = kw_splat;</div><div class='add'>+    cont-&gt;value = make_passing_arg(argc, argv);</div><div class='add'>+</div><div class='add'>+    value = fiber_store(fiber, th);</div><div class='add'>+</div><div class='add'>+    if (RTEST(resuming_fiber) &amp;&amp; FIBER_TERMINATED_P(fiber)) {</div><div class='add'>+        fiber_stack_release(fiber);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (fiber_current()-&gt;blocking) {</div><div class='add'>+        th-&gt;blocking += 1;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    RUBY_VM_CHECK_INTS(th-&gt;ec);</div><div class='add'>+</div><div class='add'>+    EXEC_EVENT_HOOK(th-&gt;ec, RUBY_EVENT_FIBER_SWITCH, th-&gt;self, 0, 0, 0, Qnil);</div><div class='add'>+</div><div class='add'>+    return value;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_fiber_transfer(VALUE fiber_value, int argc, const VALUE *argv)</div><div class='add'>+{</div><div class='add'>+    return fiber_switch(fiber_ptr(fiber_value), argc, argv, RB_NO_KEYWORDS, Qfalse, false);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     fiber.blocking? -&gt; true or false</div><div class='add'>+ *</div><div class='add'>+ *  Returns +true+ if +fiber+ is blocking and +false+ otherwise.</div><div class='add'>+ *  Fiber is non-blocking if it was created via passing &lt;tt&gt;blocking: false&lt;/tt&gt;</div><div class='add'>+ *  to Fiber.new, or via Fiber.schedule.</div><div class='add'>+ *</div><div class='add'>+ *  Note, that even if the method returns +false+, Fiber behaves differently</div><div class='add'>+ *  only if Fiber.scheduler is set in the current thread.</div><div class='add'>+ *</div><div class='add'>+ *  See the "Non-blocking fibers" section in class docs for details.</div><div class='add'>+ *</div><div class='add'>+ */</div><div class='add'>+VALUE</div><div class='add'>+rb_fiber_blocking_p(VALUE fiber)</div><div class='add'>+{</div><div class='add'>+    return (fiber_ptr(fiber)-&gt;blocking == 0) ? Qfalse : Qtrue;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     Fiber.blocking? -&gt; false or number</div><div class='add'>+ *</div><div class='add'>+ *  Returns +false+ if the current fiber is non-blocking.</div><div class='add'>+ *  Fiber is non-blocking if it was created via passing &lt;tt&gt;blocking: false&lt;/tt&gt;</div><div class='add'>+ *  to Fiber.new, or via Fiber.schedule.</div><div class='add'>+ *</div><div class='add'>+ *  If the current Fiber is blocking, the method, unlike usual</div><div class='add'>+ *  predicate methods, returns a *number* of blocking fibers currently</div><div class='add'>+ *  running (TBD: always 1?).</div><div class='add'>+ *</div><div class='add'>+ *  Note, that even if the method returns +false+, Fiber behaves differently</div><div class='add'>+ *  only if Fiber.scheduler is set in the current thread.</div><div class='add'>+ *</div><div class='add'>+ *  See the "Non-blocking fibers" section in class docs for details.</div><div class='add'>+ *</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+rb_f_fiber_blocking_p(VALUE klass)</div><div class='add'>+{</div><div class='add'>+    rb_thread_t *thread = GET_THREAD();</div><div class='add'>+    unsigned blocking = thread-&gt;blocking;</div><div class='add'>+</div><div class='add'>+    if (blocking == 0)</div><div class='add'>+        return Qfalse;</div><div class='add'>+</div><div class='add'>+    return INT2NUM(blocking);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+rb_fiber_close(rb_fiber_t *fiber)</div><div class='add'>+{</div><div class='add'>+    fiber_status_set(fiber, FIBER_TERMINATED);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static void</div><div class='add'>+rb_fiber_terminate(rb_fiber_t *fiber, int need_interrupt)</div><div class='add'>+{</div><div class='add'>+    VALUE value = fiber-&gt;cont.value;</div><div class='add'>+    rb_fiber_t *next_fiber;</div><div class='add'>+</div><div class='add'>+    VM_ASSERT(FIBER_RESUMED_P(fiber));</div><div class='add'>+    rb_fiber_close(fiber);</div><div class='add'>+</div><div class='add'>+    coroutine_destroy(&amp;fiber-&gt;context);</div><div class='add'>+</div><div class='add'>+    fiber-&gt;cont.machine.stack = NULL;</div><div class='add'>+    fiber-&gt;cont.machine.stack_size = 0;</div><div class='add'>+</div><div class='add'>+    next_fiber = return_fiber(true);</div><div class='add'>+    if (need_interrupt) RUBY_VM_SET_INTERRUPT(&amp;next_fiber-&gt;cont.saved_ec);</div><div class='add'>+    fiber_switch(next_fiber, 1, &amp;value, RB_NO_KEYWORDS, Qfalse, false);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_fiber_resume_kw(VALUE fiber_value, int argc, const VALUE *argv, int kw_splat)</div><div class='add'>+{</div><div class='add'>+    rb_fiber_t *fiber = fiber_ptr(fiber_value);</div><div class='add'>+    rb_fiber_t *current_fiber = fiber_current();</div><div class='add'>+</div><div class='add'>+    if (argc == -1 &amp;&amp; FIBER_CREATED_P(fiber)) {</div><div class='add'>+        rb_raise(rb_eFiberError, "cannot raise exception on unborn fiber");</div><div class='add'>+    }</div><div class='add'>+    else if (FIBER_TERMINATED_P(fiber)) {</div><div class='add'>+        rb_raise(rb_eFiberError, "attempt to resume a terminated fiber");</div><div class='add'>+    }</div><div class='add'>+    else if (fiber == current_fiber) {</div><div class='add'>+        rb_raise(rb_eFiberError, "attempt to resume the current fiber");</div><div class='add'>+    }</div><div class='add'>+    else if (fiber-&gt;prev != NULL) {</div><div class='add'>+        rb_raise(rb_eFiberError, "attempt to resume a resumed fiber (double resume)");</div><div class='add'>+    }</div><div class='add'>+    else if (RTEST(fiber-&gt;resuming_fiber)) {</div><div class='add'>+        rb_raise(rb_eFiberError, "attempt to resume a resuming fiber");</div><div class='add'>+    }</div><div class='add'>+    else if (fiber-&gt;prev == NULL &amp;&amp;</div><div class='add'>+             (!fiber-&gt;yielding &amp;&amp; fiber-&gt;status != FIBER_CREATED)) {</div><div class='add'>+        rb_raise(rb_eFiberError, "attempt to resume a transferring fiber");</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    return fiber_switch(fiber, argc, argv, kw_splat, fiber_value, false);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_fiber_resume(VALUE fiber_value, int argc, const VALUE *argv)</div><div class='add'>+{</div><div class='add'>+    return rb_fiber_resume_kw(fiber_value, argc, argv, RB_NO_KEYWORDS);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_fiber_yield_kw(int argc, const VALUE *argv, int kw_splat)</div><div class='add'>+{</div><div class='add'>+    return fiber_switch(return_fiber(false), argc, argv, kw_splat, Qfalse, true);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+VALUE</div><div class='add'>+rb_fiber_yield(int argc, const VALUE *argv)</div><div class='add'>+{</div><div class='add'>+    return fiber_switch(return_fiber(false), argc, argv, RB_NO_KEYWORDS, Qfalse, true);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+rb_fiber_reset_root_local_storage(rb_thread_t *th)</div><div class='add'>+{</div><div class='add'>+    if (th-&gt;root_fiber &amp;&amp; th-&gt;root_fiber != th-&gt;ec-&gt;fiber_ptr) {</div><div class='add'>+        th-&gt;ec-&gt;local_storage = th-&gt;root_fiber-&gt;cont.saved_ec.local_storage;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     fiber.alive? -&gt; true or false</div><div class='add'>+ *</div><div class='add'>+ *  Returns true if the fiber can still be resumed (or transferred</div><div class='add'>+ *  to). After finishing execution of the fiber block this method will</div><div class='add'>+ *  always return false. You need to &lt;code&gt;require 'fiber'&lt;/code&gt;</div><div class='add'>+ *  before using this method.</div><div class='add'>+ */</div><div class='add'>+VALUE</div><div class='add'>+rb_fiber_alive_p(VALUE fiber_value)</div><div class='add'>+{</div><div class='add'>+    return FIBER_TERMINATED_P(fiber_ptr(fiber_value)) ? Qfalse : Qtrue;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     fiber.resume(args, ...) -&gt; obj</div><div class='add'>+ *</div><div class='add'>+ *  Resumes the fiber from the point at which the last Fiber.yield was</div><div class='add'>+ *  called, or starts running it if it is the first call to</div><div class='add'>+ *  #resume. Arguments passed to resume will be the value of the</div><div class='add'>+ *  Fiber.yield expression or will be passed as block parameters to</div><div class='add'>+ *  the fiber's block if this is the first #resume.</div><div class='add'>+ *</div><div class='add'>+ *  Alternatively, when resume is called it evaluates to the arguments passed</div><div class='add'>+ *  to the next Fiber.yield statement inside the fiber's block</div><div class='add'>+ *  or to the block value if it runs to completion without any</div><div class='add'>+ *  Fiber.yield</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+rb_fiber_m_resume(int argc, VALUE *argv, VALUE fiber)</div><div class='add'>+{</div><div class='add'>+    return rb_fiber_resume_kw(fiber, argc, argv, rb_keyword_given_p());</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE rb_fiber_transfer_kw(VALUE fiber_value, int argc, VALUE *argv, int kw_splat);</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     fiber.raise                                 -&gt; obj</div><div class='add'>+ *     fiber.raise(string)                         -&gt; obj</div><div class='add'>+ *     fiber.raise(exception [, string [, array]]) -&gt; obj</div><div class='add'>+ *</div><div class='add'>+ *  Raises an exception in the fiber at the point at which the last</div><div class='add'>+ *  +Fiber.yield+ was called. If the fiber has not been started or has</div><div class='add'>+ *  already run to completion, raises +FiberError+. If the fiber is</div><div class='add'>+ *  yielding, it is resumed. If it is transferring, it is transferred into.</div><div class='add'>+ *  But if it is resuming, raises +FiberError+.</div><div class='add'>+ *</div><div class='add'>+ *  With no arguments, raises a +RuntimeError+. With a single +String+</div><div class='add'>+ *  argument, raises a +RuntimeError+ with the string as a message.  Otherwise,</div><div class='add'>+ *  the first parameter should be the name of an +Exception+ class (or an</div><div class='add'>+ *  object that returns an +Exception+ object when sent an +exception+</div><div class='add'>+ *  message). The optional second parameter sets the message associated with</div><div class='add'>+ *  the exception, and the third parameter is an array of callback information.</div><div class='add'>+ *  Exceptions are caught by the +rescue+ clause of &lt;code&gt;begin...end&lt;/code&gt;</div><div class='add'>+ *  blocks.</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+rb_fiber_raise(int argc, VALUE *argv, VALUE fiber_value)</div><div class='add'>+{</div><div class='add'>+    rb_fiber_t *fiber = fiber_ptr(fiber_value);</div><div class='add'>+    VALUE exc = rb_make_exception(argc, argv);</div><div class='add'>+    if (RTEST(fiber-&gt;resuming_fiber)) {</div><div class='add'>+        rb_raise(rb_eFiberError, "attempt to raise a resuming fiber");</div><div class='add'>+    }</div><div class='add'>+    else if (FIBER_SUSPENDED_P(fiber) &amp;&amp; !fiber-&gt;yielding) {</div><div class='add'>+        return rb_fiber_transfer_kw(fiber_value, -1, &amp;exc, RB_NO_KEYWORDS);</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        return rb_fiber_resume_kw(fiber_value, -1, &amp;exc, RB_NO_KEYWORDS);</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     fiber.backtrace -&gt; array</div><div class='add'>+ *     fiber.backtrace(start) -&gt; array</div><div class='add'>+ *     fiber.backtrace(start, count) -&gt; array</div><div class='add'>+ *     fiber.backtrace(start..end) -&gt; array</div><div class='add'>+ *</div><div class='add'>+ *  Returns the current execution stack of the fiber. +start+, +count+ and +end+ allow</div><div class='add'>+ *  to select only parts of the backtrace.</div><div class='add'>+ *</div><div class='add'>+ *     def level3</div><div class='add'>+ *       Fiber.yield</div><div class='add'>+ *     end</div><div class='add'>+ *</div><div class='add'>+ *     def level2</div><div class='add'>+ *       level3</div><div class='add'>+ *     end</div><div class='add'>+ *</div><div class='add'>+ *     def level1</div><div class='add'>+ *       level2</div><div class='add'>+ *     end</div><div class='add'>+ *</div><div class='add'>+ *     f = Fiber.new { level1 }</div><div class='add'>+ *</div><div class='add'>+ *     # It is empty before the fiber started</div><div class='add'>+ *     f.backtrace</div><div class='add'>+ *     #=&gt; []</div><div class='add'>+ *</div><div class='add'>+ *     f.resume</div><div class='add'>+ *</div><div class='add'>+ *     f.backtrace</div><div class='add'>+ *     #=&gt; ["test.rb:2:in `yield'", "test.rb:2:in `level3'", "test.rb:6:in `level2'", "test.rb:10:in `level1'", "test.rb:13:in `block in &lt;main&gt;'"]</div><div class='add'>+ *     p f.backtrace(1) # start from the item 1</div><div class='add'>+ *     #=&gt; ["test.rb:2:in `level3'", "test.rb:6:in `level2'", "test.rb:10:in `level1'", "test.rb:13:in `block in &lt;main&gt;'"]</div><div class='add'>+ *     p f.backtrace(2, 2) # start from item 2, take 2</div><div class='add'>+ *     #=&gt; ["test.rb:6:in `level2'", "test.rb:10:in `level1'"]</div><div class='add'>+ *     p f.backtrace(1..3) # take items from 1 to 3</div><div class='add'>+ *     #=&gt; ["test.rb:2:in `level3'", "test.rb:6:in `level2'", "test.rb:10:in `level1'"]</div><div class='add'>+ *</div><div class='add'>+ *     f.resume</div><div class='add'>+ *</div><div class='add'>+ *     # It is nil after the fiber is finished</div><div class='add'>+ *     f.backtrace</div><div class='add'>+ *     #=&gt; nil</div><div class='add'>+ *</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+rb_fiber_backtrace(int argc, VALUE *argv, VALUE fiber)</div><div class='add'>+{</div><div class='add'>+    return rb_vm_backtrace(argc, argv, &amp;fiber_ptr(fiber)-&gt;cont.saved_ec);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     fiber.backtrace_locations -&gt; array</div><div class='add'>+ *     fiber.backtrace_locations(start) -&gt; array</div><div class='add'>+ *     fiber.backtrace_locations(start, count) -&gt; array</div><div class='add'>+ *     fiber.backtrace_locations(start..end) -&gt; array</div><div class='add'>+ *</div><div class='add'>+ *  Like #backtrace, but returns each line of the execution stack as a</div><div class='add'>+ *  Thread::Backtrace::Location. Accepts the same arguments as #backtrace.</div><div class='add'>+ *</div><div class='add'>+ *    f = Fiber.new { Fiber.yield }</div><div class='add'>+ *    f.resume</div><div class='add'>+ *    loc = f.backtrace_locations.first</div><div class='add'>+ *    loc.label  #=&gt; "yield"</div><div class='add'>+ *    loc.path   #=&gt; "test.rb"</div><div class='add'>+ *    loc.lineno #=&gt; 1</div><div class='add'>+ *</div><div class='add'>+ *</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+rb_fiber_backtrace_locations(int argc, VALUE *argv, VALUE fiber)</div><div class='add'>+{</div><div class='add'>+    return rb_vm_backtrace_locations(argc, argv, &amp;fiber_ptr(fiber)-&gt;cont.saved_ec);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     fiber.transfer(args, ...) -&gt; obj</div><div class='add'>+ *</div><div class='add'>+ *  Transfer control to another fiber, resuming it from where it last</div><div class='add'>+ *  stopped or starting it if it was not resumed before. The calling</div><div class='add'>+ *  fiber will be suspended much like in a call to</div><div class='add'>+ *  Fiber.yield. You need to &lt;code&gt;require 'fiber'&lt;/code&gt;</div><div class='add'>+ *  before using this method.</div><div class='add'>+ *</div><div class='add'>+ *  The fiber which receives the transfer call is treats it much like</div><div class='add'>+ *  a resume call. Arguments passed to transfer are treated like those</div><div class='add'>+ *  passed to resume.</div><div class='add'>+ *</div><div class='add'>+ *  The two style of control passing to and from fiber (one is #resume and</div><div class='add'>+ *  Fiber::yield, another is #transfer to and from fiber) can't be freely</div><div class='add'>+ *  mixed.</div><div class='add'>+ *</div><div class='add'>+ *  * If the Fiber's lifecycle had started with transfer, it will never</div><div class='add'>+ *    be able to yield or be resumed control passing, only</div><div class='add'>+ *    finish or transfer back. (It still can resume other fibers that</div><div class='add'>+ *    are allowed to be resumed.)</div><div class='add'>+ *  * If the Fiber's lifecycle had started with resume, it can yield</div><div class='add'>+ *    or transfer to another Fiber, but can receive control back only</div><div class='add'>+ *    the way compatible with the way it was given away: if it had</div><div class='add'>+ *    transferred, it only can be transferred back, and if it had</div><div class='add'>+ *    yielded, it only can be resumed back. After that, it again can</div><div class='add'>+ *    transfer or yield.</div><div class='add'>+ *</div><div class='add'>+ *  If those rules are broken FiberError is raised.</div><div class='add'>+ *</div><div class='add'>+ *  For an individual Fiber design, yield/resume is more easy to use</div><div class='add'>+ *  style (the Fiber just gives away control, it doesn't need to think</div><div class='add'>+ *  about who the control is given to), while transfer is more flexible</div><div class='add'>+ *  for complex cases, allowing to build arbitrary graphs of Fibers</div><div class='add'>+ *  dependent on each other.</div><div class='add'>+ *</div><div class='add'>+ *</div><div class='add'>+ *  Example:</div><div class='add'>+ *</div><div class='add'>+ *     require 'fiber'</div><div class='add'>+ *</div><div class='add'>+ *     manager = nil # For local var to be visible inside worker block</div><div class='add'>+ *</div><div class='add'>+ *     # This fiber would be started with transfer</div><div class='add'>+ *     # It can't yield, and can't be resumed</div><div class='add'>+ *     worker = Fiber.new { |work|</div><div class='add'>+ *       puts "Worker: starts"</div><div class='add'>+ *       puts "Worker: Performed #{work.inspect}, transferring back"</div><div class='add'>+ *       # Fiber.yield     # this would raise FiberError: attempt to yield on a not resumed fiber</div><div class='add'>+ *       # manager.resume  # this would raise FiberError: attempt to resume a resumed fiber (double resume)</div><div class='add'>+ *       manager.transfer(work.capitalize)</div><div class='add'>+ *     }</div><div class='add'>+ *</div><div class='add'>+ *     # This fiber would be started with resume</div><div class='add'>+ *     # It can yield or transfer, and can be transferred</div><div class='add'>+ *     # back or resumed</div><div class='add'>+ *     manager = Fiber.new {</div><div class='add'>+ *       puts "Manager: starts"</div><div class='add'>+ *       puts "Manager: transferring 'something' to worker"</div><div class='add'>+ *       result = worker.transfer('something')</div><div class='add'>+ *       puts "Manager: worker returned #{result.inspect}"</div><div class='add'>+ *       # worker.resume    # this would raise FiberError: attempt to resume a transferring fiber</div><div class='add'>+ *       Fiber.yield        # this is OK, the fiber transferred from and to, now it can yield</div><div class='add'>+ *       puts "Manager: finished"</div><div class='add'>+ *     }</div><div class='add'>+ *</div><div class='add'>+ *     puts "Starting the manager"</div><div class='add'>+ *     manager.resume</div><div class='add'>+ *     puts "Resuming the manager"</div><div class='add'>+ *     # manager.transfer  # this would raise FiberError: attempt to transfer to a yielding fiber</div><div class='add'>+ *     manager.resume</div><div class='add'>+ *</div><div class='add'>+ *  &lt;em&gt;produces&lt;/em&gt;</div><div class='add'>+ *</div><div class='add'>+ *     Starting the manager</div><div class='add'>+ *     Manager: starts</div><div class='add'>+ *     Manager: transferring 'something' to worker</div><div class='add'>+ *     Worker: starts</div><div class='add'>+ *     Worker: Performed "something", transferring back</div><div class='add'>+ *     Manager: worker returned "Something"</div><div class='add'>+ *     Resuming the manager</div><div class='add'>+ *     Manager: finished</div><div class='add'>+ *</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+rb_fiber_m_transfer(int argc, VALUE *argv, VALUE fiber_value)</div><div class='add'>+{</div><div class='add'>+    return rb_fiber_transfer_kw(fiber_value, argc, argv, rb_keyword_given_p());</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_fiber_transfer_kw(VALUE fiber_value, int argc, VALUE *argv, int kw_splat)</div><div class='add'>+{</div><div class='add'>+    rb_fiber_t *fiber = fiber_ptr(fiber_value);</div><div class='add'>+    if (RTEST(fiber-&gt;resuming_fiber)) {</div><div class='add'>+        rb_raise(rb_eFiberError, "attempt to transfer to a resuming fiber");</div><div class='add'>+    }</div><div class='add'>+    if (fiber-&gt;yielding) {</div><div class='add'>+        rb_raise(rb_eFiberError, "attempt to transfer to a yielding fiber");</div><div class='add'>+    }</div><div class='add'>+    return fiber_switch(fiber, argc, argv, kw_splat, Qfalse, false);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     Fiber.yield(args, ...) -&gt; obj</div><div class='add'>+ *</div><div class='add'>+ *  Yields control back to the context that resumed the fiber, passing</div><div class='add'>+ *  along any arguments that were passed to it. The fiber will resume</div><div class='add'>+ *  processing at this point when #resume is called next.</div><div class='add'>+ *  Any arguments passed to the next #resume will be the value that</div><div class='add'>+ *  this Fiber.yield expression evaluates to.</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+rb_fiber_s_yield(int argc, VALUE *argv, VALUE klass)</div><div class='add'>+{</div><div class='add'>+    return rb_fiber_yield_kw(argc, argv, rb_keyword_given_p());</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  call-seq:</div><div class='add'>+ *     Fiber.current() -&gt; fiber</div><div class='add'>+ *</div><div class='add'>+ *  Returns the current fiber. You need to &lt;code&gt;require 'fiber'&lt;/code&gt;</div><div class='add'>+ *  before using this method. If you are not running in the context of</div><div class='add'>+ *  a fiber this method will return the root fiber.</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+rb_fiber_s_current(VALUE klass)</div><div class='add'>+{</div><div class='add'>+    return rb_fiber_current();</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ * call-seq:</div><div class='add'>+ *   fiber.to_s   -&gt; string</div><div class='add'>+ *</div><div class='add'>+ * Returns fiber information string.</div><div class='add'>+ *</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+fiber_to_s(VALUE fiber_value)</div><div class='add'>+{</div><div class='add'>+    const rb_fiber_t *fiber = fiber_ptr(fiber_value);</div><div class='add'>+    const rb_proc_t *proc;</div><div class='add'>+    char status_info[0x20];</div><div class='add'>+</div><div class='add'>+    if (RTEST(fiber-&gt;resuming_fiber)) {</div><div class='add'>+        snprintf(status_info, 0x20, " (%s by resuming)", fiber_status_name(fiber-&gt;status));</div><div class='add'>+    }</div><div class='add'>+    else {</div><div class='add'>+        snprintf(status_info, 0x20, " (%s)", fiber_status_name(fiber-&gt;status));</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (!rb_obj_is_proc(fiber-&gt;first_proc)) {</div><div class='add'>+        VALUE str = rb_any_to_s(fiber_value);</div><div class='add'>+        strlcat(status_info, "&gt;", sizeof(status_info));</div><div class='add'>+        rb_str_set_len(str, RSTRING_LEN(str)-1);</div><div class='add'>+        rb_str_cat_cstr(str, status_info);</div><div class='add'>+        return str;</div><div class='add'>+    }</div><div class='add'>+    GetProcPtr(fiber-&gt;first_proc, proc);</div><div class='add'>+    return rb_block_to_s(fiber_value, &amp;proc-&gt;block, status_info);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+#ifdef HAVE_WORKING_FORK</div><div class='add'>+void</div><div class='add'>+rb_fiber_atfork(rb_thread_t *th)</div><div class='add'>+{</div><div class='add'>+    if (th-&gt;root_fiber) {</div><div class='add'>+        if (&amp;th-&gt;root_fiber-&gt;cont.saved_ec != th-&gt;ec) {</div><div class='add'>+            th-&gt;root_fiber = th-&gt;ec-&gt;fiber_ptr;</div><div class='add'>+        }</div><div class='add'>+        th-&gt;root_fiber-&gt;prev = 0;</div><div class='add'>+    }</div><div class='add'>+}</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#ifdef RB_EXPERIMENTAL_FIBER_POOL</div><div class='add'>+static void</div><div class='add'>+fiber_pool_free(void *ptr)</div><div class='add'>+{</div><div class='add'>+    struct fiber_pool * fiber_pool = ptr;</div><div class='add'>+    RUBY_FREE_ENTER("fiber_pool");</div><div class='add'>+</div><div class='add'>+    fiber_pool_free_allocations(fiber_pool-&gt;allocations);</div><div class='add'>+    ruby_xfree(fiber_pool);</div><div class='add'>+</div><div class='add'>+    RUBY_FREE_LEAVE("fiber_pool");</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static size_t</div><div class='add'>+fiber_pool_memsize(const void *ptr)</div><div class='add'>+{</div><div class='add'>+    const struct fiber_pool * fiber_pool = ptr;</div><div class='add'>+    size_t size = sizeof(*fiber_pool);</div><div class='add'>+</div><div class='add'>+    size += fiber_pool-&gt;count * fiber_pool-&gt;size;</div><div class='add'>+</div><div class='add'>+    return size;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static const rb_data_type_t FiberPoolDataType = {</div><div class='add'>+    "fiber_pool",</div><div class='add'>+    {NULL, fiber_pool_free, fiber_pool_memsize,},</div><div class='add'>+    0, 0, RUBY_TYPED_FREE_IMMEDIATELY</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+fiber_pool_alloc(VALUE klass)</div><div class='add'>+{</div><div class='add'>+    struct fiber_pool * fiber_pool = RB_ALLOC(struct fiber_pool);</div><div class='add'>+</div><div class='add'>+    return TypedData_Wrap_Struct(klass, &amp;FiberPoolDataType, fiber_pool);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static VALUE</div><div class='add'>+rb_fiber_pool_initialize(int argc, VALUE* argv, VALUE self)</div><div class='add'>+{</div><div class='add'>+    rb_thread_t *th = GET_THREAD();</div><div class='add'>+    VALUE size = Qnil, count = Qnil, vm_stack_size = Qnil;</div><div class='add'>+    struct fiber_pool * fiber_pool = NULL;</div><div class='add'>+</div><div class='add'>+    // Maybe these should be keyword arguments.</div><div class='add'>+    rb_scan_args(argc, argv, "03", &amp;size, &amp;count, &amp;vm_stack_size);</div><div class='add'>+</div><div class='add'>+    if (NIL_P(size)) {</div><div class='add'>+        size = INT2NUM(th-&gt;vm-&gt;default_params.fiber_machine_stack_size);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (NIL_P(count)) {</div><div class='add'>+        count = INT2NUM(128);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    if (NIL_P(vm_stack_size)) {</div><div class='add'>+        vm_stack_size = INT2NUM(th-&gt;vm-&gt;default_params.fiber_vm_stack_size);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    TypedData_Get_Struct(self, struct fiber_pool, &amp;FiberPoolDataType, fiber_pool);</div><div class='add'>+</div><div class='add'>+    fiber_pool_initialize(fiber_pool, NUM2SIZET(size), NUM2SIZET(count), NUM2SIZET(vm_stack_size));</div><div class='add'>+</div><div class='add'>+    return self;</div><div class='add'>+}</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  Document-class: FiberError</div><div class='add'>+ *</div><div class='add'>+ *  Raised when an invalid operation is attempted on a Fiber, in</div><div class='add'>+ *  particular when attempting to call/resume a dead fiber,</div><div class='add'>+ *  attempting to yield from the root fiber, or calling a fiber across</div><div class='add'>+ *  threads.</div><div class='add'>+ *</div><div class='add'>+ *     fiber = Fiber.new{}</div><div class='add'>+ *     fiber.resume #=&gt; nil</div><div class='add'>+ *     fiber.resume #=&gt; FiberError: dead fiber called</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  Document-class: Fiber::SchedulerInterface</div><div class='add'>+ *</div><div class='add'>+ *  This is not an existing class, but documentation of the interface that Scheduler</div><div class='add'>+ *  object should comply in order to be used as Fiber.scheduler and handle non-blocking</div><div class='add'>+ *  fibers. See also the "Non-blocking fibers" section in Fiber class docs for explanations</div><div class='add'>+ *  of some concepts.</div><div class='add'>+ *</div><div class='add'>+ *  Scheduler's behavior and usage are expected to be as follows:</div><div class='add'>+ *</div><div class='add'>+ *  * When the execution in the non-blocking Fiber reaches some blocking operation (like</div><div class='add'>+ *    sleep, wait for a process, or a non-ready I/O), it calls some of the scheduler's</div><div class='add'>+ *    hook methods, listed below.</div><div class='add'>+ *  * Scheduler somehow registers what the current fiber is waited for, and yields control</div><div class='add'>+ *    to other fibers with Fiber.yield (so the fiber would be suspended while expecting its</div><div class='add'>+ *    wait to end, and other fibers in the same thread can perform)</div><div class='add'>+ *  * At the end of the current thread execution, the scheduler's method #close is called</div><div class='add'>+ *  * The scheduler runs into a wait loop, checking all the blocked fibers (which it has</div><div class='add'>+ *    registered on hook calls) and resuming them when the awaited resource is ready (I/O</div><div class='add'>+ *    ready, sleep time passed).</div><div class='add'>+ *</div><div class='add'>+ *  A typical implementation would probably rely for this closing loop on a gem like</div><div class='add'>+ *  EventMachine[https://github.com/eventmachine/eventmachine] or</div><div class='add'>+ *  Async[https://github.com/socketry/async].</div><div class='add'>+ *</div><div class='add'>+ *  This way concurrent execution will be achieved in a way that is transparent for every</div><div class='add'>+ *  individual Fiber's code.</div><div class='add'>+ *</div><div class='add'>+ *  Hook methods are:</div><div class='add'>+ *</div><div class='add'>+ *  * #io_wait</div><div class='add'>+ *  * #process_wait</div><div class='add'>+ *  * #kernel_sleep</div><div class='add'>+ *  * #block and #unblock</div><div class='add'>+ *  * (the list is expanded as Ruby developers make more methods having non-blocking calls)</div><div class='add'>+ *</div><div class='add'>+ *  When not specified otherwise, the hook implementations are mandatory: if they are not</div><div class='add'>+ *  implemented, the methods trying to call hook will fail. To provide backward compatibility,</div><div class='add'>+ *  in the future hooks will be optional (if they are not implemented, due to the scheduler</div><div class='add'>+ *  being created for the older Ruby version, the code which needs this hook will not fail,</div><div class='add'>+ *  and will just behave in a blocking fashion).</div><div class='add'>+ *</div><div class='add'>+ *  It is also strongly suggested that the scheduler implement the #fiber method, which is</div><div class='add'>+ *  delegated to by Fiber.schedule.</div><div class='add'>+ *</div><div class='add'>+ *  Sample _toy_ implementation of the scheduler can be found in Ruby's code, in</div><div class='add'>+ *  &lt;tt&gt;test/fiber/scheduler.rb&lt;/tt&gt;</div><div class='add'>+ *</div><div class='add'>+ */</div><div class='add'>+</div><div class='add'>+#if 0 /* for RDoc */</div><div class='add'>+/*</div><div class='add'>+ *</div><div class='add'>+ *  Document-method: Fiber::SchedulerInterface#close</div><div class='add'>+ *</div><div class='add'>+ *  Called when the current thread exits. The scheduler is expected to implement this</div><div class='add'>+ *  method in order to allow all waiting fibers to finalize their execution.</div><div class='add'>+ *</div><div class='add'>+ *  The suggested pattern is to implement the main event loop in the #close method.</div><div class='add'>+ *</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+rb_fiber_scheduler_interface_close(VALUE self)</div><div class='add'>+{</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  Document-method: SchedulerInterface#process_wait</div><div class='add'>+ *  call-seq: process_wait(pid, flags)</div><div class='add'>+ *</div><div class='add'>+ *  Invoked by Process::Status.wait in order to wait for a specified process.</div><div class='add'>+ *  See that method description for arguments description.</div><div class='add'>+ *</div><div class='add'>+ *  Suggested minimal implementation:</div><div class='add'>+ *</div><div class='add'>+ *      Thread.new do</div><div class='add'>+ *        Process::Status.wait(pid, flags)</div><div class='add'>+ *      end.value</div><div class='add'>+ *</div><div class='add'>+ *  This hook is optional: if it is not present in the current scheduler,</div><div class='add'>+ *  Process::Status.wait will behave as a blocking method.</div><div class='add'>+ *</div><div class='add'>+ *  Expected to returns a Process::Status instance.</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+rb_fiber_scheduler_interface_process_wait(VALUE self)</div><div class='add'>+{</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  Document-method: SchedulerInterface#io_wait</div><div class='add'>+ *  call-seq: io_wait(io, events, timeout)</div><div class='add'>+ *</div><div class='add'>+ *  Invoked by IO#wait, IO#wait_readable, IO#wait_writable to ask whether the</div><div class='add'>+ *  specified descriptor is ready for specified events within</div><div class='add'>+ *  the specified +timeout+.</div><div class='add'>+ *</div><div class='add'>+ *  +events+ is a bit mask of &lt;tt&gt;IO::READABLE&lt;/tt&gt;, &lt;tt&gt;IO::WRITABLE&lt;/tt&gt;, and</div><div class='add'>+ *  &lt;tt&gt;IO::PRIORITY&lt;/tt&gt;.</div><div class='add'>+ *</div><div class='add'>+ *  Suggested implementation should register which Fiber is waiting for which</div><div class='add'>+ *  resources and immediately calling Fiber.yield to pass control to other</div><div class='add'>+ *  fibers. Then, in the #close method, the scheduler might dispatch all the</div><div class='add'>+ *  I/O resources to fibers waiting for it.</div><div class='add'>+ *</div><div class='add'>+ *  Expected to return the subset of events that are ready immediately.</div><div class='add'>+ *</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+rb_fiber_scheduler_interface_io_wait(VALUE self)</div><div class='add'>+{</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  Document-method: SchedulerInterface#kernel_sleep</div><div class='add'>+ *  call-seq: kernel_sleep(duration = nil)</div><div class='add'>+ *</div><div class='add'>+ *  Invoked by Kernel#sleep and Mutex#sleep and is expected to provide</div><div class='add'>+ *  an implementation of sleeping in a non-blocking way. Implementation might</div><div class='add'>+ *  register the current fiber in some list of "what fiber waits till what</div><div class='add'>+ *  moment", call Fiber.yield to pass control, and then in #close resume</div><div class='add'>+ *  the fibers whose wait period have ended.</div><div class='add'>+ *</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+rb_fiber_scheduler_interface_kernel_sleep(VALUE self)</div><div class='add'>+{</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  Document-method: SchedulerInterface#block</div><div class='add'>+ *  call-seq: block(blocker, timeout = nil)</div><div class='add'>+ *</div><div class='add'>+ *  Invoked by methods like Thread.join, and by Mutex, to signify that current</div><div class='add'>+ *  Fiber is blocked till further notice (e.g. #unblock) or till +timeout+ will</div><div class='add'>+ *  pass.</div><div class='add'>+ *</div><div class='add'>+ *  +blocker+ is what we are waiting on, informational only (for debugging and</div><div class='add'>+ *  logging). There are no guarantees about its value.</div><div class='add'>+ *</div><div class='add'>+ *  Expected to return boolean, specifying whether the blocking operation was</div><div class='add'>+ *  successful or not.</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+rb_fiber_scheduler_interface_block(VALUE self)</div><div class='add'>+{</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  Document-method: SchedulerInterface#unblock</div><div class='add'>+ *  call-seq: unblock(blocker, fiber)</div><div class='add'>+ *</div><div class='add'>+ *  Invoked to wake up Fiber previously blocked with #block (for example, Mutex#lock</div><div class='add'>+ *  calls #block and Mutex#unlock calls #unblock). The scheduler should use</div><div class='add'>+ *  the +fiber+ parameter to understand which fiber is unblocked.</div><div class='add'>+ *</div><div class='add'>+ *  +blocker+ is what was awaited for, but it is informational only (for debugging</div><div class='add'>+ *  and logging), and it is not guaranteed to be the same value as the +blocker+ for</div><div class='add'>+ *  #block.</div><div class='add'>+ *</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+rb_fiber_scheduler_interface_unblock(VALUE self)</div><div class='add'>+{</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+/*</div><div class='add'>+ *  Document-method: SchedulerInterface#fiber</div><div class='add'>+ *  call-seq: fiber(&amp;block)</div><div class='add'>+ *</div><div class='add'>+ *  Implementation of the Fiber.schedule. The method is &lt;em&gt;expected&lt;/em&gt; to immediately</div><div class='add'>+ *  run passed block of code in a separate non-blocking fiber, and to return that Fiber.</div><div class='add'>+ *</div><div class='add'>+ *  Minimal suggested implementation is:</div><div class='add'>+ *</div><div class='add'>+ *     def fiber(&amp;block)</div><div class='add'>+ *       Fiber.new(blocking: false, &amp;block).tap(&amp;:resume)</div><div class='add'>+ *     end</div><div class='add'>+ */</div><div class='add'>+static VALUE</div><div class='add'>+rb_fiber_scheduler_interface_fiber(VALUE self)</div><div class='add'>+{</div><div class='add'>+}</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+Init_Cont(void)</div><div class='add'>+{</div><div class='add'>+    rb_thread_t *th = GET_THREAD();</div><div class='add'>+    size_t vm_stack_size = th-&gt;vm-&gt;default_params.fiber_vm_stack_size;</div><div class='add'>+    size_t machine_stack_size = th-&gt;vm-&gt;default_params.fiber_machine_stack_size;</div><div class='add'>+    size_t stack_size = machine_stack_size + vm_stack_size;</div><div class='add'>+</div><div class='add'>+#ifdef _WIN32</div><div class='add'>+    SYSTEM_INFO info;</div><div class='add'>+    GetSystemInfo(&amp;info);</div><div class='add'>+    pagesize = info.dwPageSize;</div><div class='add'>+#else /* not WIN32 */</div><div class='add'>+    pagesize = sysconf(_SC_PAGESIZE);</div><div class='add'>+#endif</div><div class='add'>+    SET_MACHINE_STACK_END(&amp;th-&gt;ec-&gt;machine.stack_end);</div><div class='add'>+</div><div class='add'>+    fiber_pool_initialize(&amp;shared_fiber_pool, stack_size, FIBER_POOL_INITIAL_SIZE, vm_stack_size);</div><div class='add'>+</div><div class='add'>+    fiber_initialize_keywords[0] = rb_intern_const("blocking");</div><div class='add'>+    fiber_initialize_keywords[1] = rb_intern_const("pool");</div><div class='add'>+</div><div class='add'>+    char * fiber_shared_fiber_pool_free_stacks = getenv("RUBY_SHARED_FIBER_POOL_FREE_STACKS");</div><div class='add'>+    if (fiber_shared_fiber_pool_free_stacks) {</div><div class='add'>+        shared_fiber_pool.free_stacks = atoi(fiber_shared_fiber_pool_free_stacks);</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    rb_cFiber = rb_define_class("Fiber", rb_cObject);</div><div class='add'>+    rb_define_alloc_func(rb_cFiber, fiber_alloc);</div><div class='add'>+    rb_eFiberError = rb_define_class("FiberError", rb_eStandardError);</div><div class='add'>+    rb_define_singleton_method(rb_cFiber, "yield", rb_fiber_s_yield, -1);</div><div class='add'>+    rb_define_method(rb_cFiber, "initialize", rb_fiber_initialize, -1);</div><div class='add'>+    rb_define_method(rb_cFiber, "blocking?", rb_fiber_blocking_p, 0);</div><div class='add'>+    rb_define_method(rb_cFiber, "resume", rb_fiber_m_resume, -1);</div><div class='add'>+    rb_define_method(rb_cFiber, "raise", rb_fiber_raise, -1);</div><div class='add'>+    rb_define_method(rb_cFiber, "backtrace", rb_fiber_backtrace, -1);</div><div class='add'>+    rb_define_method(rb_cFiber, "backtrace_locations", rb_fiber_backtrace_locations, -1);</div><div class='add'>+    rb_define_method(rb_cFiber, "to_s", fiber_to_s, 0);</div><div class='add'>+    rb_define_alias(rb_cFiber, "inspect", "to_s");</div><div class='add'>+</div><div class='add'>+    rb_define_singleton_method(rb_cFiber, "blocking?", rb_f_fiber_blocking_p, 0);</div><div class='add'>+    rb_define_singleton_method(rb_cFiber, "scheduler", rb_fiber_scheduler, 0);</div><div class='add'>+    rb_define_singleton_method(rb_cFiber, "set_scheduler", rb_fiber_set_scheduler, 1);</div><div class='add'>+</div><div class='add'>+    rb_define_singleton_method(rb_cFiber, "schedule", rb_f_fiber, -1);</div><div class='add'>+    //rb_define_global_function("Fiber", rb_f_fiber, -1);</div><div class='add'>+</div><div class='add'>+#if 0 /* for RDoc */</div><div class='add'>+    rb_cFiberScheduler = rb_define_class_under(rb_cFiber, "SchedulerInterface", rb_cObject);</div><div class='add'>+    rb_define_method(rb_cFiberScheduler, "close", rb_fiber_scheduler_interface_close, 0);</div><div class='add'>+    rb_define_method(rb_cFiberScheduler, "process_wait", rb_fiber_scheduler_interface_process_wait, 0);</div><div class='add'>+    rb_define_method(rb_cFiberScheduler, "io_wait", rb_fiber_scheduler_interface_io_wait, 0);</div><div class='add'>+    rb_define_method(rb_cFiberScheduler, "kernel_sleep", rb_fiber_scheduler_interface_kernel_sleep, 0);</div><div class='add'>+    rb_define_method(rb_cFiberScheduler, "block", rb_fiber_scheduler_interface_block, 0);</div><div class='add'>+    rb_define_method(rb_cFiberScheduler, "unblock", rb_fiber_scheduler_interface_unblock, 0);</div><div class='add'>+    rb_define_method(rb_cFiberScheduler, "fiber", rb_fiber_scheduler_interface_fiber, 0);</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#ifdef RB_EXPERIMENTAL_FIBER_POOL</div><div class='add'>+    rb_cFiberPool = rb_define_class("Pool", rb_cFiber);</div><div class='add'>+    rb_define_alloc_func(rb_cFiberPool, fiber_pool_alloc);</div><div class='add'>+    rb_define_method(rb_cFiberPool, "initialize", rb_fiber_pool_initialize, -1);</div><div class='add'>+#endif</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+RUBY_SYMBOL_EXPORT_BEGIN</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+ruby_Init_Continuation_body(void)</div><div class='add'>+{</div><div class='add'>+    rb_cContinuation = rb_define_class("Continuation", rb_cObject);</div><div class='add'>+    rb_undef_alloc_func(rb_cContinuation);</div><div class='add'>+    rb_undef_method(CLASS_OF(rb_cContinuation), "new");</div><div class='add'>+    rb_define_method(rb_cContinuation, "call", rb_cont_call, -1);</div><div class='add'>+    rb_define_method(rb_cContinuation, "[]", rb_cont_call, -1);</div><div class='add'>+    rb_define_global_function("callcc", rb_callcc, 0);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+void</div><div class='add'>+ruby_Init_Fiber_as_Coroutine(void)</div><div class='add'>+{</div><div class='add'>+#ifdef HAVE_RB_EXT_RACTOR_SAFE</div><div class='add'>+    rb_ext_ractor_safe(true);</div><div class='add'>+#endif</div><div class='add'>+    rb_define_method(rb_cFiber, "transfer", rb_fiber_m_transfer, -1);</div><div class='add'>+    rb_define_method(rb_cFiber, "alive?", rb_fiber_alive_p, 0);</div><div class='add'>+    rb_define_singleton_method(rb_cFiber, "current", rb_fiber_s_current, 0);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+RUBY_SYMBOL_EXPORT_END</div><div class='head'>diff --git a/coroutine/Stack.h b/coroutine/Stack.h<br/>new file mode 100644<br/>index 0000000000..f0fc703622<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/coroutine/Stack.h?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>coroutine/Stack.h</a></div><div class='hunk'>@@ -0,0 +1,16 @@</div><div class='add'>+/*</div><div class='add'>+ *  This file is part of the "Coroutine" project and released under the MIT License.</div><div class='add'>+ *</div><div class='add'>+ *  Created by Samuel Williams on 10/11/2020.</div><div class='add'>+ *  Copyright, 2020, by Samuel Williams.</div><div class='add'>+*/</div><div class='add'>+</div><div class='add'>+#include COROUTINE_H</div><div class='add'>+</div><div class='add'>+#ifdef COROUTINE_PRIVATE_STACK</div><div class='add'>+#define COROUTINE_STACK_LOCAL(type, name) type *name = ruby_xmalloc(sizeof(type))</div><div class='add'>+#define COROUTINE_STACK_FREE(name) ruby_xfree(name)</div><div class='add'>+#else</div><div class='add'>+#define COROUTINE_STACK_LOCAL(type, name) type name##_local; type * name = &amp;name##_local</div><div class='add'>+#define COROUTINE_STACK_FREE(name)</div><div class='add'>+#endif</div><div class='head'>diff --git a/coroutine/amd64/Context.S b/coroutine/amd64/Context.S<br/>new file mode 100644<br/>index 0000000000..051db1c5e8<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/coroutine/amd64/Context.S?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>coroutine/amd64/Context.S</a></div><div class='hunk'>@@ -0,0 +1,46 @@</div><div class='add'>+##</div><div class='add'>+##  This file is part of the "Coroutine" project and released under the MIT License.</div><div class='add'>+##</div><div class='add'>+##  Created by Samuel Williams on 10/5/2018.</div><div class='add'>+##  Copyright, 2018, by Samuel Williams.</div><div class='add'>+##</div><div class='add'>+</div><div class='add'>+#define TOKEN_PASTE(x,y) x##y</div><div class='add'>+#define PREFIXED_SYMBOL(prefix,name) TOKEN_PASTE(prefix,name)</div><div class='add'>+</div><div class='add'>+.text</div><div class='add'>+</div><div class='add'>+.globl PREFIXED_SYMBOL(SYMBOL_PREFIX,coroutine_transfer)</div><div class='add'>+PREFIXED_SYMBOL(SYMBOL_PREFIX,coroutine_transfer):</div><div class='add'>+</div><div class='add'>+	# Save caller state</div><div class='add'>+	pushq %rbp</div><div class='add'>+	pushq %rbx</div><div class='add'>+	pushq %r12</div><div class='add'>+	pushq %r13</div><div class='add'>+	pushq %r14</div><div class='add'>+	pushq %r15</div><div class='add'>+</div><div class='add'>+	# Save caller stack pointer</div><div class='add'>+	movq %rsp, (%rdi)</div><div class='add'>+</div><div class='add'>+	# Restore callee stack pointer</div><div class='add'>+	movq (%rsi), %rsp</div><div class='add'>+</div><div class='add'>+	# Restore callee state</div><div class='add'>+	popq %r15</div><div class='add'>+	popq %r14</div><div class='add'>+	popq %r13</div><div class='add'>+	popq %r12</div><div class='add'>+	popq %rbx</div><div class='add'>+	popq %rbp</div><div class='add'>+</div><div class='add'>+	# Put the first argument into the return value</div><div class='add'>+	movq %rdi, %rax</div><div class='add'>+</div><div class='add'>+	# We pop the return address and jump to it</div><div class='add'>+	ret</div><div class='add'>+</div><div class='add'>+#if defined(__linux__) &amp;&amp; defined(__ELF__)</div><div class='add'>+.section .note.GNU-stack,"",%progbits</div><div class='add'>+#endif</div><div class='head'>diff --git a/coroutine/amd64/Context.h b/coroutine/amd64/Context.h<br/>new file mode 100644<br/>index 0000000000..581525b67e<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/coroutine/amd64/Context.h?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>coroutine/amd64/Context.h</a></div><div class='hunk'>@@ -0,0 +1,54 @@</div><div class='add'>+/*</div><div class='add'>+ *  This file is part of the "Coroutine" project and released under the MIT License.</div><div class='add'>+ *</div><div class='add'>+ *  Created by Samuel Williams on 10/5/2018.</div><div class='add'>+ *  Copyright, 2018, by Samuel Williams.</div><div class='add'>+*/</div><div class='add'>+</div><div class='add'>+#pragma once</div><div class='add'>+</div><div class='add'>+#include &lt;assert.h&gt;</div><div class='add'>+#include &lt;stddef.h&gt;</div><div class='add'>+#include &lt;stdint.h&gt;</div><div class='add'>+#include &lt;string.h&gt;</div><div class='add'>+</div><div class='add'>+#define COROUTINE __attribute__((noreturn)) void</div><div class='add'>+</div><div class='add'>+enum {COROUTINE_REGISTERS = 6};</div><div class='add'>+</div><div class='add'>+struct coroutine_context</div><div class='add'>+{</div><div class='add'>+    void **stack_pointer;</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+typedef COROUTINE(* coroutine_start)(struct coroutine_context *from, struct coroutine_context *self);</div><div class='add'>+</div><div class='add'>+static inline void coroutine_initialize_main(struct coroutine_context * context) {</div><div class='add'>+    context-&gt;stack_pointer = NULL;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static inline void coroutine_initialize(</div><div class='add'>+    struct coroutine_context *context,</div><div class='add'>+    coroutine_start start,</div><div class='add'>+    void *stack,</div><div class='add'>+    size_t size</div><div class='add'>+) {</div><div class='add'>+    assert(start &amp;&amp; stack &amp;&amp; size &gt;= 1024);</div><div class='add'>+</div><div class='add'>+    // Stack grows down. Force 16-byte alignment.</div><div class='add'>+    char * top = (char*)stack + size;</div><div class='add'>+    context-&gt;stack_pointer = (void**)((uintptr_t)top &amp; ~0xF);</div><div class='add'>+</div><div class='add'>+    *--context-&gt;stack_pointer = NULL;</div><div class='add'>+    *--context-&gt;stack_pointer = (void*)start;</div><div class='add'>+</div><div class='add'>+    context-&gt;stack_pointer -= COROUTINE_REGISTERS;</div><div class='add'>+    memset(context-&gt;stack_pointer, 0, sizeof(void*) * COROUTINE_REGISTERS);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+struct coroutine_context * coroutine_transfer(struct coroutine_context * current, struct coroutine_context * target);</div><div class='add'>+</div><div class='add'>+static inline void coroutine_destroy(struct coroutine_context * context)</div><div class='add'>+{</div><div class='add'>+    context-&gt;stack_pointer = NULL;</div><div class='add'>+}</div><div class='head'>diff --git a/coroutine/arm32/Context.S b/coroutine/arm32/Context.S<br/>new file mode 100644<br/>index 0000000000..1850c4c408<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/coroutine/arm32/Context.S?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>coroutine/arm32/Context.S</a></div><div class='hunk'>@@ -0,0 +1,33 @@</div><div class='add'>+##</div><div class='add'>+##  This file is part of the "Coroutine" project and released under the MIT License.</div><div class='add'>+##</div><div class='add'>+##  Created by Samuel Williams on 10/5/2018.</div><div class='add'>+##  Copyright, 2018, by Samuel Williams.</div><div class='add'>+##</div><div class='add'>+</div><div class='add'>+#define TOKEN_PASTE(x,y) x##y</div><div class='add'>+#define PREFIXED_SYMBOL(prefix,name) TOKEN_PASTE(prefix,name)</div><div class='add'>+</div><div class='add'>+.file "Context.S"</div><div class='add'>+.text</div><div class='add'>+.globl PREFIXED_SYMBOL(SYMBOL_PREFIX,coroutine_transfer)</div><div class='add'>+.align 2</div><div class='add'>+.type PREFIXED_SYMBOL(SYMBOL_PREFIX,coroutine_transfer),%function</div><div class='add'>+.syntax unified</div><div class='add'>+</div><div class='add'>+PREFIXED_SYMBOL(SYMBOL_PREFIX,coroutine_transfer):</div><div class='add'>+	# Save caller state (8 registers + return address)</div><div class='add'>+	push {r4-r11,lr}</div><div class='add'>+</div><div class='add'>+	# Save caller stack pointer</div><div class='add'>+	str sp, [r0]</div><div class='add'>+</div><div class='add'>+	# Restore callee stack pointer</div><div class='add'>+	ldr sp, [r1]</div><div class='add'>+</div><div class='add'>+	# Restore callee state (8 registers program counter)</div><div class='add'>+	pop {r4-r11,pc}</div><div class='add'>+</div><div class='add'>+#if defined(__linux__) &amp;&amp; defined(__ELF__)</div><div class='add'>+.section .note.GNU-stack,"",%progbits</div><div class='add'>+#endif</div><div class='head'>diff --git a/coroutine/arm32/Context.h b/coroutine/arm32/Context.h<br/>new file mode 100644<br/>index 0000000000..e69f4b2eeb<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/coroutine/arm32/Context.h?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>coroutine/arm32/Context.h</a></div><div class='hunk'>@@ -0,0 +1,53 @@</div><div class='add'>+/*</div><div class='add'>+ *  This file is part of the "Coroutine" project and released under the MIT License.</div><div class='add'>+ *</div><div class='add'>+ *  Created by Samuel Williams on 10/5/2018.</div><div class='add'>+ *  Copyright, 2018, by Samuel Williams.</div><div class='add'>+*/</div><div class='add'>+</div><div class='add'>+#pragma once</div><div class='add'>+</div><div class='add'>+#include &lt;assert.h&gt;</div><div class='add'>+#include &lt;stddef.h&gt;</div><div class='add'>+#include &lt;stdint.h&gt;</div><div class='add'>+#include &lt;string.h&gt;</div><div class='add'>+</div><div class='add'>+#define COROUTINE __attribute__((noreturn)) void</div><div class='add'>+#define COROUTINE_LIMITED_ADDRESS_SPACE</div><div class='add'>+</div><div class='add'>+enum {COROUTINE_REGISTERS = 8};</div><div class='add'>+</div><div class='add'>+struct coroutine_context</div><div class='add'>+{</div><div class='add'>+    void **stack_pointer;</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+typedef COROUTINE(* coroutine_start)(struct coroutine_context *from, struct coroutine_context *self);</div><div class='add'>+</div><div class='add'>+static inline void coroutine_initialize_main(struct coroutine_context * context) {</div><div class='add'>+    context-&gt;stack_pointer = NULL;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static inline void coroutine_initialize(</div><div class='add'>+    struct coroutine_context *context,</div><div class='add'>+    coroutine_start start,</div><div class='add'>+    void *stack,</div><div class='add'>+    size_t size</div><div class='add'>+) {</div><div class='add'>+    assert(start &amp;&amp; stack &amp;&amp; size &gt;= 1024);</div><div class='add'>+</div><div class='add'>+    // Stack grows down. Force 16-byte alignment.</div><div class='add'>+    char * top = (char*)stack + size;</div><div class='add'>+    context-&gt;stack_pointer = (void**)((uintptr_t)top &amp; ~0xF);</div><div class='add'>+</div><div class='add'>+    *--context-&gt;stack_pointer = (void*)start;</div><div class='add'>+</div><div class='add'>+    context-&gt;stack_pointer -= COROUTINE_REGISTERS;</div><div class='add'>+    memset(context-&gt;stack_pointer, 0, sizeof(void*) * COROUTINE_REGISTERS);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+struct coroutine_context * coroutine_transfer(struct coroutine_context * current, struct coroutine_context * target);</div><div class='add'>+</div><div class='add'>+static inline void coroutine_destroy(struct coroutine_context * context)</div><div class='add'>+{</div><div class='add'>+}</div><div class='head'>diff --git a/coroutine/arm64/Context.S b/coroutine/arm64/Context.S<br/>new file mode 100644<br/>index 0000000000..04e3f6d1ef<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/coroutine/arm64/Context.S?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>coroutine/arm64/Context.S</a></div><div class='hunk'>@@ -0,0 +1,62 @@</div><div class='add'>+##</div><div class='add'>+##  This file is part of the "Coroutine" project and released under the MIT License.</div><div class='add'>+##</div><div class='add'>+##  Created by Samuel Williams on 10/5/2018.</div><div class='add'>+##  Copyright, 2018, by Samuel Williams.</div><div class='add'>+##</div><div class='add'>+</div><div class='add'>+#define TOKEN_PASTE(x,y) x##y</div><div class='add'>+#define PREFIXED_SYMBOL(prefix,name) TOKEN_PASTE(prefix,name)</div><div class='add'>+</div><div class='add'>+.text</div><div class='add'>+.align 2</div><div class='add'>+</div><div class='add'>+.global PREFIXED_SYMBOL(SYMBOL_PREFIX,coroutine_transfer)</div><div class='add'>+PREFIXED_SYMBOL(SYMBOL_PREFIX,coroutine_transfer):</div><div class='add'>+</div><div class='add'>+	# Make space on the stack for caller registers</div><div class='add'>+	sub sp, sp, 0xb0</div><div class='add'>+</div><div class='add'>+	# Save caller registers</div><div class='add'>+	stp d8, d9, [sp, 0x00]</div><div class='add'>+	stp d10, d11, [sp, 0x10]</div><div class='add'>+	stp d12, d13, [sp, 0x20]</div><div class='add'>+	stp d14, d15, [sp, 0x30]</div><div class='add'>+	stp x19, x20, [sp, 0x40]</div><div class='add'>+	stp x21, x22, [sp, 0x50]</div><div class='add'>+	stp x23, x24, [sp, 0x60]</div><div class='add'>+	stp x25, x26, [sp, 0x70]</div><div class='add'>+	stp x27, x28, [sp, 0x80]</div><div class='add'>+	stp x29, x30, [sp, 0x90]</div><div class='add'>+</div><div class='add'>+	# Save return address</div><div class='add'>+	str x30, [sp, 0xa0]</div><div class='add'>+</div><div class='add'>+	# Save stack pointer to x0 (first argument)</div><div class='add'>+	mov x2, sp</div><div class='add'>+	str x2, [x0, 0]</div><div class='add'>+</div><div class='add'>+	# Load stack pointer from x1 (second argument)</div><div class='add'>+	ldr x3, [x1, 0]</div><div class='add'>+	mov sp, x3</div><div class='add'>+</div><div class='add'>+	# Restore caller registers</div><div class='add'>+	ldp d8, d9, [sp, 0x00]</div><div class='add'>+	ldp d10, d11, [sp, 0x10]</div><div class='add'>+	ldp d12, d13, [sp, 0x20]</div><div class='add'>+	ldp d14, d15, [sp, 0x30]</div><div class='add'>+	ldp x19, x20, [sp, 0x40]</div><div class='add'>+	ldp x21, x22, [sp, 0x50]</div><div class='add'>+	ldp x23, x24, [sp, 0x60]</div><div class='add'>+	ldp x25, x26, [sp, 0x70]</div><div class='add'>+	ldp x27, x28, [sp, 0x80]</div><div class='add'>+	ldp x29, x30, [sp, 0x90]</div><div class='add'>+</div><div class='add'>+	# Load return address into x4</div><div class='add'>+	ldr x4, [sp, 0xa0]</div><div class='add'>+</div><div class='add'>+	# Pop stack frame</div><div class='add'>+	add sp, sp, 0xb0</div><div class='add'>+</div><div class='add'>+	# Jump to return address (in x4)</div><div class='add'>+	ret x4</div><div class='head'>diff --git a/coroutine/arm64/Context.h b/coroutine/arm64/Context.h<br/>new file mode 100644<br/>index 0000000000..34be995a4f<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/coroutine/arm64/Context.h?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>coroutine/arm64/Context.h</a></div><div class='hunk'>@@ -0,0 +1,52 @@</div><div class='add'>+/*</div><div class='add'>+ *  This file is part of the "Coroutine" project and released under the MIT License.</div><div class='add'>+ *</div><div class='add'>+ *  Created by Samuel Williams on 10/5/2018.</div><div class='add'>+ *  Copyright, 2018, by Samuel Williams.</div><div class='add'>+*/</div><div class='add'>+</div><div class='add'>+#pragma once</div><div class='add'>+</div><div class='add'>+#include &lt;assert.h&gt;</div><div class='add'>+#include &lt;stddef.h&gt;</div><div class='add'>+#include &lt;stdint.h&gt;</div><div class='add'>+#include &lt;string.h&gt;</div><div class='add'>+</div><div class='add'>+#define COROUTINE __attribute__((noreturn)) void</div><div class='add'>+</div><div class='add'>+enum {COROUTINE_REGISTERS = 0xb0 / 8};</div><div class='add'>+</div><div class='add'>+struct coroutine_context</div><div class='add'>+{</div><div class='add'>+    void **stack_pointer;</div><div class='add'>+};</div><div class='add'>+</div><div class='add'>+typedef COROUTINE(* coroutine_start)(struct coroutine_context *from, struct coroutine_context *self);</div><div class='add'>+</div><div class='add'>+static inline void coroutine_initialize_main(struct coroutine_context * context) {</div><div class='add'>+    context-&gt;stack_pointer = NULL;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+static inline void coroutine_initialize(</div><div class='add'>+    struct coroutine_context *context,</div><div class='add'>+    coroutine_start start,</div><div class='add'>+    void *stack,</div><div class='add'>+    size_t size</div><div class='add'>+) {</div><div class='add'>+    assert(start &amp;&amp; stack &amp;&amp; size &gt;= 1024);</div><div class='add'>+</div><div class='add'>+    // Stack grows down. Force 16-byte alignment.</div><div class='add'>+    char * top = (char*)stack + size;</div><div class='add'>+    context-&gt;stack_pointer = (void**)((uintptr_t)top &amp; ~0xF);</div><div class='add'>+</div><div class='add'>+    context-&gt;stack_pointer -= COROUTINE_REGISTERS;</div><div class='add'>+    memset(context-&gt;stack_pointer, 0, sizeof(void*) * COROUTINE_REGISTERS);</div><div class='add'>+</div><div class='add'>+    context-&gt;stack_pointer[0xa0 / 8] = (void*)start;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+struct coroutine_context * coroutine_transfer(struct coroutine_context * current, struct coroutine_context * target);</div><div class='add'>+</div><div class='add'>+static inline void coroutine_destroy(struct coroutine_context * context)</div><div class='add'>+{</div><div class='add'>+}</div><div class='head'>diff --git a/coroutine/copy/Context.c b/coroutine/copy/Context.c<br/>new file mode 100644<br/>index 0000000000..aa8bb2ff05<br/>--- /dev/null<br/>+++ b/<a href='/ruby.git/tree/coroutine/copy/Context.c?h=v3_0_0&amp;id=95aff214687a5e12c3eb57d056665741e734c188'>coroutine/copy/Context.c</a></div><div class='hunk'>@@ -0,0 +1,162 @@</div><div class='add'>+/*</div><div class='add'>+ *  This file is part of the "Coroutine" project and released under the MIT License.</div><div class='add'>+ *</div><div class='add'>+ *  Created by Samuel Williams on 24/6/2019.</div><div class='add'>+ *  Copyright, 2019, by Samuel Williams.</div><div class='add'>+*/</div><div class='add'>+</div><div class='add'>+#include "Context.h"</div><div class='add'>+</div><div class='add'>+#include &lt;stdint.h&gt;</div><div class='add'>+</div><div class='add'>+// http://gcc.gnu.org/onlinedocs/gcc/Alternate-Keywords.html</div><div class='add'>+#ifndef __GNUC__</div><div class='add'>+#define __asm__ asm</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+#if defined(__sparc)</div><div class='add'>+__attribute__((noinline))</div><div class='add'>+// https://marc.info/?l=linux-sparc&amp;m=131914569320660&amp;w=2</div><div class='add'>+static void coroutine_flush_register_windows(void) {</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(__sparcv9) || defined(__sparc_v9__) || defined(__arch64__)</div><div class='add'>+#ifdef __GNUC__</div><div class='add'>+    ("flushw" : : : "%o7")</div><div class='add'>+#else</div><div class='add'>+    ("flushw")</div><div class='add'>+#endif</div><div class='add'>+#else</div><div class='add'>+    ("ta 0x03")</div><div class='add'>+#endif</div><div class='add'>+    ;</div><div class='add'>+}</div><div class='add'>+#else</div><div class='add'>+static void coroutine_flush_register_windows(void) {}</div><div class='add'>+#endif</div><div class='add'>+</div><div class='add'>+__attribute__((noinline))</div><div class='add'>+void *coroutine_stack_pointer(void) {</div><div class='add'>+    return (void*)(</div><div class='add'>+        (char*)__builtin_frame_address(0)</div><div class='add'>+    );</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+// Save the current stack to a private area. It is likely that when restoring the stack, this stack frame will be incomplete. But that is acceptable since the previous stack frame which called `setjmp` should be correctly restored.</div><div class='add'>+__attribute__((noinline))</div><div class='add'>+int coroutine_save_stack_1(struct coroutine_context * context) {</div><div class='add'>+    assert(context-&gt;stack);</div><div class='add'>+    assert(context-&gt;base);</div><div class='add'>+</div><div class='add'>+    void *stack_pointer = coroutine_stack_pointer();</div><div class='add'>+</div><div class='add'>+    // At this point, you may need to ensure on architectures that use register windows, that all registers are flushed to the stack, otherwise the copy of the stack will not contain the valid registers:</div><div class='add'>+    coroutine_flush_register_windows();</div><div class='add'>+</div><div class='add'>+    // Save stack to private area:</div><div class='add'>+    if (stack_pointer &lt; context-&gt;base) {</div><div class='add'>+        size_t size = (char*)context-&gt;base - (char*)stack_pointer;</div><div class='add'>+        assert(size &lt;= context-&gt;size);</div><div class='add'>+</div><div class='add'>+        memcpy(context-&gt;stack, stack_pointer, size);</div><div class='add'>+        context-&gt;used = size;</div><div class='add'>+    } else {</div><div class='add'>+        size_t size = (char*)stack_pointer - (char*)context-&gt;base;</div><div class='add'>+        assert(size &lt;= context-&gt;size);</div><div class='add'>+</div><div class='add'>+        memcpy(context-&gt;stack, context-&gt;base, size);</div><div class='add'>+        context-&gt;used = size;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    // Initialized:</div><div class='add'>+    return 0;</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+// Copy the current stack to a private memory buffer.</div><div class='add'>+int coroutine_save_stack(struct coroutine_context * context) {</div><div class='add'>+    if (_setjmp(context-&gt;state)) {</div><div class='add'>+        // Restored.</div><div class='add'>+        return 1;</div><div class='add'>+    }</div><div class='add'>+</div><div class='add'>+    // We need to invoke the memory copy from one stack frame deeper than the one that calls setjmp. That is because if you don't do this, the setjmp might be restored into an invalid stack frame (truncated, etc):</div><div class='add'>+    return coroutine_save_stack_1(context);</div><div class='add'>+}</div><div class='add'>+</div><div class='add'>+__attribute__((noreturn, noinline))</div><div class='add'>+void coroutine_restore_stack_padded(struct coroutine_context *context, void * buffer) {</div><div class='add'>+    void *stack_pointer = coroutine_stack_pointer();</div><div class='add'>+</div><div class='add'>+    assert(context-&gt;base);</div><div class='add'>+</div><div class='add'>+    // At this point, you may need to ensure on architectures that use register windows, that all registers are flushed to the stack, otherwise when we copy in the new stack, the registers would not be updated:</div><div class='add'>+    coroutine_flush_register_windows();</div><div class='add'>+</div><div class='add'>+    // Restore stack from private area:</div><div class='add'>+    if (stack_pointer &lt; context-&gt;base) {