[#43610] Re: [ruby-list:48149] Re: requireが配列を取れたら便利だと思うんだけど.. — Hiroshi Nakamura <nakahiro@...>

cnVieS1saXN0GyRCJCskaTt9JEMkRk1oJF4kNyQ/ISMkRyRiQjMkKyRKJD0kJiEjGyhCCgoyMDEx

12 messages 2011/06/02

[#43643] DateTime.new! and DateTime.jd — Aaron Patterson <aaron.patterson@...>

こんにちは、アーロンです。

25 messages 2011/06/07
[#43647] Re: DateTime.new! and DateTime.jd — Tadayoshi Funaba <tadf@...> 2011/06/07

blocker はお前だろ。

[#43648] Re: DateTime.new! and DateTime.jd — Yukihiro Matsumoto <matz@...> 2011/06/07

まつもと ゆきひろです

[#43651] Re: DateTime.new! and DateTime.jd — Tadayoshi Funaba <tadf@...> 2011/06/07

> うーん、ただでさえ日英のコミュニケーション障壁があるのに、よ

[#43653] Re: DateTime.new! and DateTime.jd — Aaron Patterson <aaron.patterson@...> 2011/06/07

2011/6/7 Tadayoshi Funaba <tadf@dotrb.org>:

[#43657] Re: DateTime.new! and DateTime.jd — Tadayoshi Funaba <tadf@...> 2011/06/07

皆さんってのに俺は入ってないみたいだな。

[#43661] Re: DateTime.new! and DateTime.jd — Yukihiro Matsumoto <matz@...> 2011/06/07

まつもと ゆきひろです

[#43662] Re: DateTime.new! and DateTime.jd — Tadayoshi Funaba <tadf@...> 2011/06/07

> Aaronが言ってる「リリース」は1.9.3のことだと思いますよ。

[#43645] Re: [ruby-core:36778] Re: 1.8.7 release next month — Urabe Shyouhei <shyouhei@...>

Moving to ruby-dev to understand strategies of backporting the Tk

13 messages 2011/06/07

[#43787] [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Kenta Murata <muraken@...>

24 messages 2011/06/13
[#43788] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Yukihiro Matsumoto <matz@...> 2011/06/13

まつもと ゆきひろです

[#43789] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Tadayoshi Funaba <tadf@...> 2011/06/13

もう結論が出てしまったようですが、これは、元々 lib/complex.rb にあった

[#43794] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Kenta Murata <muraken@...> 2011/06/13

=E3=82=80=E3=82=89=E3=81=9F=E3=81=A7=E3=81=99=E3=80=82

[#43795] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Tadayoshi Funaba <tadf@...> 2011/06/13

> complex.rb をロードすると Math が CMath 相当に置き換わりますから、

[#43797] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Kenta Murata <muraken@...> 2011/06/14

=E3=82=80=E3=82=89=E3=81=9F=E3=81=A7=E3=81=99=E3=80=82

[#43799] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Yukihiro Matsumoto <matz@...> 2011/06/14

まつもと ゆきひろです

[#43800] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Kenta Murata <muraken@...> 2011/06/14

=E3=82=80=E3=82=89=E3=81=9F=E3=81=A7=E3=81=99=E3=80=82

[#43803] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Tadayoshi Funaba <tadf@...> 2011/06/14

> これに相当する事をやっているのが complex.rb なので、

[#43806] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Yusuke ENDOH <mame@...> 2011/06/14

遠藤です。

[#43807] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Tadayoshi Funaba <tadf@...> 2011/06/14

> 定義域を増やすだけにしよう、ということですよね。賛成です。

[#43809] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Yusuke ENDOH <mame@...> 2011/06/14

2011年6月14日22:17 Tadayoshi Funaba <tadf@dotrb.org>:

[#43810] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Tadayoshi Funaba <tadf@...> 2011/06/14

> 互換性がないという点では同じ話だと思うのですが……。

[#43811] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Yusuke ENDOH <mame@...> 2011/06/14

2011年6月14日23:02 Tadayoshi Funaba <tadf@dotrb.org>:

[#43812] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Tadayoshi Funaba <tadf@...> 2011/06/14

> いやあ、5 月末の feature freeze 時点では -2 を返していたはずなんですが、

[#43852] [Ruby 1.9 - Bug #4909][Open] trapハンドラは再入されてはいけないのではないか? — Motohiro KOSAKI <kosaki.motohiro@...>

11 messages 2011/06/20

[ruby-dev:43705] [Ruby 1.9 - Feature #1269] warning when Kernel#p is used

From: Koichi Sasada <redmine@...>
Date: 2011-06-11 05:21:18 UTC
List: ruby-dev #43705
Issue #1269 has been updated by Koichi Sasada.


これ,どうしましょう.
----------------------------------------
Feature #1269: warning when Kernel#p is used
http://redmine.ruby-lang.org/issues/1269

Author: Yusuke Endoh
Status: Assigned
Priority: Low
Assignee: Yukihiro Matsumoto
Category: core
Target version: 1.9.x


=begin
 遠藤です。
 
 Kernel#p は非常に便利ですが、デバッグ後に p の呼び出しをすべて消せたか
 不安になることがあります。
 p という名前は使うときは非常に便利ですが、残念ながら検索するには非常に
 不便です。単語区切りで検索できないエディタだと検索は限りなく困難ですし、
 単語区切りで検索できるエディタであっても、
 
   - p という変数や attr を使っている場合
   - rdoc 中のサンプルコードとして p を使っている場合
   - html 断片の <p> や sprint の %p などが文字列リテラル中にある場合
 
 など、false positive がとても多いです。
 p を再定義して出力を止めれば p の呼び出しが残っても実害はなくせますが、
 余計なコードが残るのは気持ち悪いですし、後でほかのデバッグをするときに
 邪魔になる恐れもあります。
 
 
 そこで、$DEBUG = true の場合に p を関数呼び出ししている箇所があったら
 警告することを提案します。
 
 # 通常時は何も言わない
 $ ruby19 -e 'p :debug'
 :debug
 
 # -d をつけると警告する
 $ ruby19 -d -e 'p :debug'
 -e:1: warning: Kernel#p is used
 :debug
 
 # パーサでチェックするので実行されない場合でも検出できる
 $ ruby19 -d -e 'p :debug if rand > 0.999'
 -e:1: warning: Kernel#p is used
 
 # 関数呼び出しでなければ警告しない
 $ ruby19 -d -e 's = Struct.new(:p); p = s.new; p.p = "<p>"; puts p.p'
 <p>
 
 もちろん、eval される文字列中の p の呼び出しは実行しないと検出できない
 ので完璧ではないですが、それでも多くの場合はカバーできると思います。
 
 
 問題点は
 
   - p という名前のメソッドだけ特別扱いで警告されるのが気持ち悪い
   - 互換性
 
 くらいかと思いますが、$DEBUG = true なら本番環境でないので、個人的には
 許容範囲かなと思いました。どうでしょうか。
 
 
 Index: id.c
 ===================================================================
 --- id.c	(revision 22892)
 +++ id.c	(working copy)
 @@ -47,4 +47,5 @@
      REGISTER_SYMID(idSend, "send");
      REGISTER_SYMID(id__send__, "__send__");
      REGISTER_SYMID(idInitialize, "initialize");
 +    REGISTER_SYMID(idP, "p");
  }
 Index: parse.y
 ===================================================================
 --- parse.y	(revision 22892)
 +++ parse.y	(working copy)
 @@ -1257,6 +1257,9 @@
  command		: operation command_args       %prec tLOWEST
  		    {
  		    /*%%%*/
 +			if ($1 == idP && RTEST(ruby_debug)) {
 +			    rb_warning0("Kernel#p is used");
 +			}
  			$$ = NEW_FCALL($1, $2);
  			fixpos($$, $2);
  		    /*%
 @@ -3525,6 +3528,9 @@
  method_call	: operation paren_args
  		    {
  		    /*%%%*/
 +			if ($1 == idP && RTEST(ruby_debug)) {
 +			    rb_warning0("Kernel#p is used");
 +			}
  			$$ = NEW_FCALL($1, $2);
  			fixpos($$, $2);
  		    /*%
 Index: id.h
 ===================================================================
 --- id.h	(revision 22892)
 +++ id.h	(working copy)
 @@ -99,6 +99,7 @@
      tSend,
      t__send__,
      tInitialize,
 +    tP,
  #if SUPPORT_JOKE
      tBitblt,
      tAnswer,
 @@ -118,7 +119,8 @@
      TOKEN2ID(Lambda),
      TOKEN2ID(Send),
      TOKEN2ID(__send__),
 -    TOKEN2ID(Initialize)
 +    TOKEN2ID(Initialize),
 +    TOKEN2ID(P)
  };
 
  #ifdef tLAST_TOKEN
 Index: template/id.h.tmpl
 ===================================================================
 --- template/id.h.tmpl	(revision 22892)
 +++ template/id.h.tmpl	(working copy)
 @@ -92,6 +92,7 @@
      tSend,
      t__send__,
      tInitialize,
 +    tP,
  #if SUPPORT_JOKE
      tBitblt,
      tAnswer,
 @@ -111,7 +112,8 @@
      TOKEN2ID(Lambda),
      TOKEN2ID(Send),
      TOKEN2ID(__send__),
 -    TOKEN2ID(Initialize)
 +    TOKEN2ID(Initialize),
 +    TOKEN2ID(P)
  };
 
  #ifdef tLAST_TOKEN
 
 -- 
 Yusuke ENDOH <mame@tsg.ne.jp>
=end



-- 
http://redmine.ruby-lang.org

In This Thread

Prev Next