https://bugs.ruby-lang.org/
https://bugs.ruby-lang.org/favicon.ico?1711330511
2012-09-25T16:59:15Z
Ruby Issue Tracking System
Ruby master - Feature #7047: Add new C API: rb_newobj_with
https://bugs.ruby-lang.org/issues/7047?journal_id=29732
2012-09-25T16:59:15Z
ko1 (Koichi Sasada)
<ul><li><strong>Description</strong> updated (<a title="View differences" href="/journals/29732/diff?detail_id=21791">diff</a>)</li></ul><p>ささだです.</p>
<p>1点気になるのが, rb_newobj_with(VALUE, enum ruby_value_type) が flag 取らなくてもいいんかな,という点でして.いや,NEWOBJ_WITH() だと,問答無用で enum ruby_value_type じゃなくて,flag を渡しているようなんですが.その辺が整理出来ていない気がしています.</p>
<p>rb_newobj_with(klass, enum ruby_value_type type, VALUE flag) なんてのもアリなのかとか,<br>
rb_newobj_with(klass, VALUE flag) もアリかもとか.</p>
<p>_with という名前は,私もあまり妙案が無い感じです.with 何? という気もします.rb_typed_newobj だと誤解を生みそうですね.なんか無いかな.</p>
Ruby master - Feature #7047: Add new C API: rb_newobj_with
https://bugs.ruby-lang.org/issues/7047?journal_id=29755
2012-09-26T22:22:52Z
authorNari (Narihiro Nakamura)
authorNari@gmail.com
<ul></ul><p>レビューありがとうございます。<br>
rb_newobj_with(klass, VALUE flags) でパッチを修正しました。</p>
<p><a href="https://github.com/authorNari/ruby/compare/trunk...rb_newobj2" class="external">https://github.com/authorNari/ruby/compare/trunk...rb_newobj2</a></p>
<p>flagsさえ引数にとればenum ruby_value_type相当の情報は取れるはずなので問<br>
題ないのかなと思います。</p>
<p>また名前の候補を考えたり、教えていただいたりしていました。</p>
<ul>
<li>rb_type_new (青木さん案)</li>
<li>rb_typed_newobj (ささださん案)</li>
<li>rb_newobj_with_setup</li>
<li>rb_new_segregated_obj</li>
<li>rb_new_distinct_obj</li>
<li>rb_new_typed_obj</li>
<li>rb_gc_newobj</li>
</ul>
<p>いまいちこれといった名前が思いつかないですね。<br>
(rb_newobjがやっぱり適切な名前なんですよねぇ…)</p>
<p>私は rb_new_typed_obj あたりが好きです。</p>
Ruby master - Feature #7047: Add new C API: rb_newobj_with
https://bugs.ruby-lang.org/issues/7047?journal_id=29814
2012-10-01T07:59:13Z
ko1 (Koichi Sasada)
<ul></ul><p>(2012/09/26 22:22), authorNari (Narihiro Nakamura) wrote:</p>
<blockquote>
<p>rb_newobj_with(klass, VALUE flags) でパッチを修正しました。</p>
</blockquote>
<p>flags を取るようにしたので,rb_newobj_with_flags でどうでしょうか.<br>
何かしら,マクロで隠蔽して,実質こいつは呼ばない,となると,長い名前でも<br>
良いのではないか,と思うのですが(別に長くてもいいか?).</p>
<p>--<br>
// SASADA Koichi at atdot dot net</p>
Ruby master - Feature #7047: Add new C API: rb_newobj_with
https://bugs.ruby-lang.org/issues/7047?journal_id=29816
2012-10-01T13:15:48Z
authorNari (Narihiro Nakamura)
authorNari@gmail.com
<ul></ul><p>ko1 (Koichi Sasada) wrote:</p>
<blockquote>
<p>(2012/09/26 22:22), authorNari (Narihiro Nakamura) wrote:</p>
<blockquote>
<p>rb_newobj_with(klass, VALUE flags) でパッチを修正しました。</p>
</blockquote>
<p>flags を取るようにしたので,rb_newobj_with_flags でどうでしょうか.<br>
何かしら,マクロで隠蔽して,実質こいつは呼ばない,となると,長い名前でも<br>
良いのではないか,と思うのですが(別に長くてもいいか?).</p>
</blockquote>
<p>まつもとさんに直接意見を聞いてみました。<br>
with_flagsでもいいと思うんだけど、引数としてはflagsもklassも、どちらも<br>
何かしらのタイプを受け取るので、 rb_newobj_of(xxx) がいいのじゃないか、<br>
とおっしゃってました。new obj of class みたいな意味で。</p>
<ul>
<li>rb_newobj_of(klass, VALUE flags)</li>
<li>NEWOBJ_OF(obj,type,klass,flags)</li>
</ul>
<p>反対意見がでなければこれで進めようかと思うのですが、いかがでしょうか?</p>
<a name="あとでruby-coreの方にも聞いてみます"></a>
<h1 >あとでruby-coreの方にも聞いてみます。<a href="#あとでruby-coreの方にも聞いてみます" class="wiki-anchor">¶</a></h1>
Ruby master - Feature #7047: Add new C API: rb_newobj_with
https://bugs.ruby-lang.org/issues/7047?journal_id=29817
2012-10-01T13:29:13Z
ko1 (Koichi Sasada)
<ul></ul><p>(2012/10/01 13:15), authorNari (Narihiro Nakamura) wrote:</p>
<blockquote>
<p>with_flagsでもいいと思うんだけど、引数としてはflagsもklassも、どちらも<br>
何かしらのタイプを受け取るので、 rb_newobj_of(xxx) がいいのじゃないか、<br>
とおっしゃってました。new obj of class みたいな意味で。</p>
<ul>
<li>rb_newobj_of(klass, VALUE flags)</li>
<li>NEWOBJ_OF(obj,type,klass,flags)</li>
</ul>
</blockquote>
<p>+1</p>
<p>短くて判りやすいですね.<br>
今後は ..._of パターンが増えるんでしょうか.<br>
しかし,やはりバリエーションを増やそうとすると困るな.</p>
<p>--<br>
// SASADA Koichi at atdot dot net</p>
Ruby master - Feature #7047: Add new C API: rb_newobj_with
https://bugs.ruby-lang.org/issues/7047?journal_id=29943
2012-10-02T22:29:36Z
kou (Kouhei Sutou)
kou@cozmixng.org
<ul></ul><p>rb_obj_new()はどうでしょうか。<br>
rb_obj_がprefixのみなさんとまぎらわしいかしら。</p>
Ruby master - Feature #7047: Add new C API: rb_newobj_with
https://bugs.ruby-lang.org/issues/7047?journal_id=29961
2012-10-03T12:18:17Z
authorNari (Narihiro Nakamura)
authorNari@gmail.com
<ul></ul><p>kou (Kouhei Sutou) wrote:</p>
<blockquote>
<p>rb_obj_new()はどうでしょうか。<br>
rb_obj_がprefixのみなさんとまぎらわしいかしら。</p>
</blockquote>
<p>ありがとうございます。<br>
でも、おっしゃる通りすこし紛らわしい気がしますねぇ。</p>
Ruby master - Feature #7047: Add new C API: rb_newobj_with
https://bugs.ruby-lang.org/issues/7047?journal_id=30834
2012-10-16T15:58:07Z
authorNari (Narihiro Nakamura)
authorNari@gmail.com
<ul><li><strong>Category</strong> set to <i>core</i></li><li><strong>Assignee</strong> set to <i>authorNari (Narihiro Nakamura)</i></li></ul>
Ruby master - Feature #7047: Add new C API: rb_newobj_with
https://bugs.ruby-lang.org/issues/7047?journal_id=31110
2012-10-20T15:57:56Z
authorNari (Narihiro Nakamura)
authorNari@gmail.com
<ul><li><strong>Status</strong> changed from <i>Open</i> to <i>Closed</i></li><li><strong>% Done</strong> changed from <i>0</i> to <i>100</i></li></ul><p>This issue was solved with changeset r37275.<br>
Narihiro, thank you for reporting this issue.<br>
Your contribution to Ruby is greatly appreciated.<br>
May Ruby be with you.</p>
<hr>
<ul>
<li>
<p>include/ruby/ruby.h: add C APIs.<br>
VALUE rb_newobj_of(VALUE klass, VALUE flags)<br>
#define NEWOBJ_OF(obj,type,klass,flags)<br>
These allow to change a allocation strategy depending on klass<br>
or flags.</p>
</li>
<li>
<p>gc.c: ditto</p>
</li>
<li>
<p>array.c: use new C API.</p>
</li>
<li>
<p>bignum.c: ditto</p>
</li>
<li>
<p>class.c: ditto</p>
</li>
<li>
<p>complex.c: ditto</p>
</li>
<li>
<p>ext/socket/ancdata.c: ditto</p>
</li>
<li>
<p>ext/socket/option.c: ditto</p>
</li>
<li>
<p>hash.c: ditto</p>
</li>
<li>
<p>io.c: ditto</p>
</li>
<li>
<p>marshal.c: ditto</p>
</li>
<li>
<p>numeric.c: ditto</p>
</li>
<li>
<p>object.c: ditto</p>
</li>
<li>
<p>random.c: ditto</p>
</li>
<li>
<p>range.c: ditto</p>
</li>
<li>
<p>rational.c: ditto</p>
</li>
<li>
<p>re.c: ditto</p>
</li>
<li>
<p>string.c: ditto</p>
</li>
<li>
<p>struct.c: ditto<br>
[Feature <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: Proposal of a new C API (Closed)" href="https://bugs.ruby-lang.org/issues/7177">#7177</a>][Feature <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: Add new C API: rb_newobj_with (Closed)" href="https://bugs.ruby-lang.org/issues/7047">#7047</a>]</p>
</li>
</ul>