[#34011] Should --verbose be equal to -v ? — Yugui <yugui@...>

Yuguiです。

15 messages 2008/03/10
[#34012] Re: Should --verbose be equal to -v ? — Yukihiro Matsumoto <matz@...> 2008/03/10

まつもと ゆきひろです

[#34105] rational.rb, complex.rb and mathn.rb — Tadayoshi Funaba <tadf@...>

rational と complex が組み込みになったことで、lib/mathn.rb の意義は薄

29 messages 2008/03/22
[#34106] Re: rational.rb, complex.rb and mathn.rb — Tadayoshi Funaba <tadf@...> 2008/03/22

現時点で rational.rb と complex.rb を残しているのは、それが無難だから

[#34107] Re: rational.rb, complex.rb and mathn.rb — Tadayoshi Funaba <tadf@...> 2008/03/22

で、かなり選択肢を絞った叩き台です。

[#34120] Re: rational.rb, complex.rb and mathn.rb — keiju@... (石塚圭樹) 2008/03/24

けいじゅ@いしつかです.

[#34125] Re: rational.rb, complex.rb and mathn.rb — Shin-ichiro HARA <sinara@...> 2008/03/25

原です。

[#34130] Re: rational.rb, complex.rb and mathn.rb — Tadayoshi Funaba <tadf@...> 2008/03/25

> 私も Complex の組み込みは Rational とは比較にならないくらい、仕様が決め

[#34158] Complex組み込み — Masahiro TANAKA <masa16.tanaka@...>

Complexが組み込みになるそうですが、これはcomplex.rbを踏襲して、

49 messages 2008/03/27
[#34161] Re: Complex組み込み — Shin-ichiro HARA <sinara@...> 2008/03/28

原です。

[#34168] Re: Complex組み込み — Tadayoshi Funaba <tadf@...> 2008/03/28

> 今までの Complex は、complex.rb にほぼ残して、たとえば Rational 成分

[#34186] Re: Complex組み込み — Shin-ichiro HARA <sinara@...> 2008/03/31

原です。

[#34187] Re: Complex組み込み — Tadayoshi Funaba <tadf@...> 2008/03/31

> そうです。Complex が難しい、という話を書いておくと、

[#34193] Re: Complex組み込み — Yukihiro Matsumoto <matz@...> 2008/03/31

まつもと ゆきひろです

[#34203] Re: Complex組み込み — Tadayoshi Funaba <tadf@...> 2008/04/01

> |僕としては、/ 演算子の振舞いについて前向きに検討してほしいです。

[#34215] Re: Complex組み込み — Yukihiro Matsumoto <matz@...> 2008/04/02

まつもと ゆきひろです

[#34166] Re: Complex組み込み — Tadayoshi Funaba <tadf@...> 2008/03/28

> となるようですが、別の実装として、

[ruby-dev:34104] Re: 拡張ライブラリ初期化中でのmodule_eval

From: Kouhei Sutou <kou@...>
Date: 2008-03-21 15:11:16 UTC
List: ruby-dev #34104
須藤です。

In <20080319.234924.545103554540142144.kou@cozmixng.org>
  "[ruby-dev:34093] 拡張ライブラリ初期化中でのmodule_eval" on Wed, 19 Mar 2008 23:49:19 +0900,
  Kouhei Sutou <kou@cozmixng.org> wrote:

> 拡張ライブラリを初期化しているとき(Init_XXXを呼んでいるとき)
> にmodule_evalを呼ぶとトップレベルで評価されている気がします。
> 
> a.c:
>   #include <ruby.h>
> 
>   void
>   Init_a(void)
>   {
>       rb_funcall(rb_cArray, rb_intern("module_eval"),
>                  1, rb_str_new2("def xxx; yyy; end"));
>   }
> 
> extconf.rb:
>   require 'mkmf'
> 
>   create_makefile("a")
> 
> 実行例:
>   % ruby19 extconf.rb
>   % make
>   % ruby19 -v -r a -e 'xxx'
>   ruby 1.9.0 (2008-03-19 revision 0) [x86_64-linux]
>   (eval):1:in `xxx': undefined local variable or method `yyy' for main:Object (NameError)
>           from -e:1:in `<main>'
> 

これで動くようにはなります。


Index: eval.c
===================================================================
--- eval.c	(revision 15824)
+++ eval.c	(working copy)
@@ -1855,8 +1855,8 @@
 	cfp = RUBY_VM_PREVIOUS_CONTROL_FRAME(cfp);
     }
 
-    stored_cref = (NODE *)vm_cfp_svar_get(th, cfp, 2);
-    vm_cfp_svar_set(th, cfp, 2, (VALUE)vm_cref_push(th, under, NOEX_PUBLIC));
+    stored_cref = vm_set_special_cref(th, cfp->lfp,
+                                      vm_cref_push(th, under, NOEX_PUBLIC));
 
     PUSH_TAG();
     if ((state = EXEC_TAG()) == 0) {
@@ -1865,7 +1865,7 @@
     POP_TAG();
 
     /* restore environment */
-    vm_cfp_svar_set(th, cfp, 2, (VALUE)stored_cref);
+    vm_set_special_cref(th, cfp->lfp, stored_cref);
     pcfp->self = stored_self;
 
     if (state) {


In This Thread