[#37959] [Bug:trunk] I can modify literals — Yusuke ENDOH <mame@...>

遠藤です。

13 messages 2009/02/10

[#38005] Is URI.decode() broken? — MOROHASHI Kyosuke <moronatural@...>

もろはしです。いつもお世話になっております。

39 messages 2009/02/14
[#38006] Re: Is URI.decode() broken? — Nobuyoshi Nakada <nobu@...> 2009/02/14

なかだです。

[#38009] Re: Is URI.decode() broken? — "NARUSE, Yui" <naruse@...> 2009/02/14

成瀬です、

[#38016] Re: Is URI.decode() broken? — Fujioka <fuj@...> 2009/02/15

xibbarこと藤岡です。

[#38017] Re: Is URI.decode() broken? — "NARUSE, Yui" <naruse@...> 2009/02/15

成瀬です。

[#38040] Re: Is URI.decode() broken? — akira yamada / やまだあきら <akira@...> 2009/02/17

NARUSE, Yui さんは書きました:

[#38124] Re: Is URI.decode() broken? — "NARUSE, Yui" <naruse@...> 2009/03/03

成瀬です。

[#39214] Re: Is URI.decode() broken? — akira yamada / やまだあきら <akira@...> 2009/09/02

(2009年03月03日 22:45), NARUSE, Yui さんは書きました:

[#39218] Re: Is URI.decode() broken? — "NARUSE, Yui" <naruse@...> 2009/09/02

成瀬です。

[#39236] Re: Is URI.decode() broken? — Tanaka Akira <akr@...> 2009/09/05

In article <4A9E44DD.6050706@airemix.jp>,

[#39242] Re: Is URI.decode() broken? — KOSAKI Motohiro <kosaki.motohiro@...> 2009/09/07

小崎@思いつきを適当に書いてみるテスト

[#39246] Re: Is URI.decode() broken? — Tanaka Akira <akr@...> 2009/09/07

In article <20090907091830.2C7A.A69D9226@jp.fujitsu.com>,

[#38096] 多重代入やメソッド引数の展開でto_aが呼ばれます — nagachika <nagachika00@...>

nagachika と申します。

10 messages 2009/02/26

[#38098] ブロック引数と括弧・引数なしsuper — Shugo Maeda <shugo@...>

前田です。

12 messages 2009/02/27

[ruby-dev:37880] [FEATURE:trunk] Readline.completion_proc = nil を許可する。

From: Takao Kouji <kouji@...7.net>
Date: 2009-02-03 05:57:10 UTC
List: ruby-dev #37880
高尾宏治です。

Readline.readlineの補完候補を取得する Proc を Readline.completion_proc= で指定できます。
しかし、補完候補を取得する処理をデフォルトのものに戻す方法がありません。
Readline.completion_proc に nil をセットできればデフォルトの挙動になるので、
それを許可しようと思います。以下のような記述ができるようになります。

begin
  Readline.completion_proc = Proc.new { |s|
    ...
  }
  s = Readline.readline
ensure
  Readline.completion_proc = nil
end

現在は、Readline.completion_proc= メソッドの中で、
引き数で指定されたオブジェクトが call メソッドをもっているかどうかチェックしているので、

  Readline.completion_proc = nil

で ArgumentError 例外が発生します。
nilの場合は特別扱いして、completion_proc に代入できるようにしようと思います。
いかがでしょうか。

Index: readline.c
===================================================================
--- readline.c	(revision 21997)
+++ readline.c	(working copy)
@@ -304,6 +304,8 @@
  * should take input-string, and return an array of completion
  * candidates.
  *
+ * Set default if +proc+ is nil.
+ *
  * Raises ArgumentError exception if +proc+ does not respond to call method.
  *
  * Raises SecurityError exception if $SAFE is 4.
@@ -312,7 +314,7 @@
 readline_s_set_completion_proc(VALUE self, VALUE proc)
 {
     rb_secure(4);
-    if (!rb_respond_to(proc, rb_intern("call")))
+    if (!NIL_P(proc) && !rb_respond_to(proc, rb_intern("call")))
 	rb_raise(rb_eArgError, "argument must respond to `call'");
     return rb_ivar_set(mReadline, completion_proc, proc);
 }


In This Thread

Prev Next