<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.comp.lang.ruby.devel">
    <title>gmane.comp.lang.ruby.devel</title>
    <link>http://blog.gmane.org/gmane.comp.lang.ruby.devel</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.ruby.devel/19708"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.ruby.devel/19705"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.ruby.devel/19694"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.ruby.devel/19691"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.ruby.devel/19690"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.ruby.devel/19689"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.ruby.devel/19687"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.ruby.devel/19685"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.ruby.devel/19675"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.ruby.devel/19672"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.ruby.devel/19671"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.ruby.devel/19669"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.ruby.devel/19666"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.ruby.devel/19664"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.ruby.devel/19662"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.ruby.devel/19661"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.ruby.devel/19651"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.ruby.devel/19646"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.ruby.devel/19640"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.comp.lang.ruby.devel/19639"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.ruby.devel/19708">
    <title>[ruby-dev:45673] Bug?: level argument of caller</title>
    <link>http://comments.gmane.org/gmane.comp.lang.ruby.devel/19708</link>
    <description>&lt;pre&gt;　ささだです．

　caller(level) のように，caller メソッドでは何段上からバックトレースを
持ってくるか，というのを level という引数で指定できます．

　なんとなく，level 分だけバックトレースの情報が減るように思えるのです
が，つまり

    caller(0).size - level == caller(level).size

となりそうなもんですが，実際はそうなりません．


例：

a = [1]
a.map{
  a.map{
    a.map{
      10.times{|i|
        p [i, caller(i).size]
      }
    }
  }
}
#=&amp;gt;
ruby 2.0.0dev (2012-05-04 trunk 35535) [i386-mswin32_100]
[0, 9]
[1, 8]
[2, 8] # 上と変わらない
[3, 7]
[4, 6]
[5, 6] # 上と変わらない
[6, 5]
[7, 4]
[8, 4] # 上と変わらない
[9, 3]

　理由は，level を，VM のスタックフレームを level 個スキップする，と扱っ
ているのですが，スタックフレームの種類によってはバックトレースに出てこな
い場合もあるので，そのスキップされた分を level でスキップする数にいれて
いるから，という理由です．

　1.8 だと期待通り（？）動きます．

#=&amp;gt; ruby 1.8.7 (2012-02-08 patchlevel 358) [i386-cygwin]
[0, 9]
[1, 8]
[2, 7]
[3, 6]
[4, 5]
[5, 4]
[6, 3]
[7, 2]
[8, 1]
[9, 0]


　というわけで，バグな気もするんですが，どうしたもんでしょう．これまで苦
情も来てないから，どうでもいいような気もするんですが．2.0 から直します？

&lt;/pre&gt;</description>
    <dc:creator>SASADA Koichi</dc:creator>
    <dc:date>2012-05-23T15:54:02</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.ruby.devel/19705">
    <title>[ruby-dev:45670] [ruby-trunk - Bug #6479][Open] ipaddr.rbの受け付ける書式が、プラットフォームによって異なる</title>
    <link>http://comments.gmane.org/gmane.comp.lang.ruby.devel/19705</link>
    <description>&lt;pre&gt;
Issue #6479 has been reported by kachick (Kenichi Kamiya).

----------------------------------------
Bug #6479: ipaddr.rbの受け付ける書式が、プラットフォームによって異なる
https://bugs.ruby-lang.org/issues/6479

Author: kachick (Kenichi Kamiya)
Status: Open
Priority: Normal
Assignee: 
Category: lib
Target version: 1.9.3
ruby -v: ruby 1.9.3p194 (2012-04-20 revision 35410) [i686-linux]


# 状況

標準添付ライブラリの ipaddr.rb に於いて、アドレス書式チェック時の厳しさがプラットフォームによって異なるよう感じました。
IPv4で気がついた限りですが、次の2点でWindowsだと常に例外を吐き、Linuxだと書式によっては(自分にとって)想定し難い値を返します。

* 0埋めを含んだ場合
* 改行文字を含んだ場合

動作例を載せます。

## 共通

    require 'ipaddr'

    p IPAddr.new("11.22.33.45") #=&amp;gt; #&amp;lt;IPAddr: IPv4:11.22.33.45/255.255.255.255&amp;gt;


## Windows(7) / ruby 1.9.3p194 (2012-04-20) [i386-mingw32]

    # 以下全てで、同じ例外を吐きます。
    p IPAddr.new("011.22.33.45")
    p IPAddr.new("011.0022.00033.000045")
    p IPAddr.new("011.0022.00033.000045\n")
    p IPAddr.new("011.0022.00033.000045\nfoo32/0024/bar \n/foobar  ")
    p IPAddr.new("011.0022.00033.000045\n056.0067.00078.00089\nfoo32/0024/bar \n/foobar  ")
    
    # 例外
    ArgumentError: invalid address
    from C:/Ruby193/lib/ruby/1.9.1/ipaddr.rb:496:in `rescue in initialize'

## Linux(Mint12) / ruby 1.9.3p194 (2012-04-20 revision 35410) [i686-linux]

    # Windowsの際と同じ引数に対して、一つも例外を吐きません
    p IPAddr.new("011.22.33.45")                                                            #=&amp;gt; #&amp;lt;IPAddr: IPv4:11.22.33.45/255.255.255.255&amp;gt;
    p IPAddr.new("011.0022.00033.000045")                                                   #=&amp;gt; #&amp;lt;IPAddr: IPv4:11.22.33.45/255.255.255.255&amp;gt;
    p IPAddr.new("011.0022.00033.000045\n")                                                 #=&amp;gt; #&amp;lt;IPAddr: IPv4:11.22.33.45/255.255.255.255&amp;gt;
    p IPAddr.new("011.0022.00033.000045\nfoo32/0024/bar \n/foobar  ")                       #=&amp;gt; #&amp;lt;IPAddr: IPv4:11.22.33.0/255.255.255.0&amp;gt;
    p IPAddr.new("011.0022.00033.000045\n056.0067.00078.00089\nfoo32/0024/bar \n/foobar  ") #=&amp;gt; #&amp;lt;IPAddr: IPv4:45.67.78.0/255.255.255.0&amp;gt;

# 希望

Windows環境下の例にみるよう、上記全てのパターンで例外を吐いてくれる方が自然に感じました。
特にLinux上での0埋めに関しては、桁数に制限が見られ無い点と、IPSocket.getaddress(8進数?)と返す値の異なってしまう点が気になります。

## Linux(Mint12) / ruby 1.9.3p194 (2012-04-20 revision 35410) [i686-linux]

    require 'socket'
    
    p IPSocket.getaddress("011.0022.00033.000045") #=&amp;gt; "9.18.27.37"
    

# 参考

ipaddr.rbを自分なりに読んでみた限り、次の要素に起因するのではないかとあたりをつけてみましたが・・・確信はありません。

* 全体的に、チェック用正規表現のメタ文字へ \A\z を使わず、 \A\Z や ^$ で括っていること
* #initialize で、 IPSocket.getaddress が例外を返すかどうかに、正常異常の判断を大きく委ねていること
* #in_addr で、1つのオクテットを \d+ のみでキャプチャしていること

とりあえず、#in_addrのみを次のように上書きした際、Windowsと同様に動作することまでは確認できました。

    require 'ipaddr'

    class IPAddr

      private

      remove_method :in_addr

      def in_addr(addr)
        if addr =~ /\A(?:(?:0|[1-9]\d{0,2})\.){3}(?:0|[1-9]\d{0,2})\z/  
          return addr.split('.').inject(0) { |i, s|
            n = s.to_i
            raise ArgumentError, 'invalid address' unless n &amp;lt;= 255

            i &amp;lt;&amp;lt; 8 | n
          }
        end
        return nil
      end

    end


&lt;/pre&gt;</description>
    <dc:creator>kachick (Kenichi Kamiya</dc:creator>
    <dc:date>2012-05-22T17:49:37</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.ruby.devel/19694">
    <title>[ruby-dev:45659] [ruby-trunk - Bug #6473][Open] Enumerable#count</title>
    <link>http://comments.gmane.org/gmane.comp.lang.ruby.devel/19694</link>
    <description>&lt;pre&gt;
Issue #6473 has been reported by no6v (Nobuhiro IMAI).

----------------------------------------
Bug #6473: Enumerable#count
https://bugs.ruby-lang.org/issues/6473

Author: no6v (Nobuhiro IMAI)
Status: Open
Priority: Normal
Assignee: 
Category: core
Target version: 
ruby -v: ruby 2.0.0dev (2012-05-19 trunk 35705) [x86_64-linux]


=begin
Enumerable#count には、

 Returns the number of items in &amp;lt;i&amp;gt;enum&amp;lt;/i&amp;gt; if it responds to a #size call,
 otherwise the items are counted through enumeration.  If an argument is

というコメントが書いてありますが、実際には

 class E
   include Enumerable
 
   def each
   end
 
   def size
     1
   end
 end
 
 e = E.new
 e.size  # =&amp;gt; 1
 e.count # =&amp;gt; 0

size は呼ばれていないようです。1.8 系や 1.9.1 の頃は 0 ではなく 1 が返っていたようです。
=end



&lt;/pre&gt;</description>
    <dc:creator>no6v (Nobuhiro IMAI</dc:creator>
    <dc:date>2012-05-20T09:36:48</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.ruby.devel/19691">
    <title>[ruby-dev:45656] [ruby-trunk - Bug #6460][Assigned] `unexpected return' occurs when a proc is called in ensure</title>
    <link>http://comments.gmane.org/gmane.comp.lang.ruby.devel/19691</link>
    <description>&lt;pre&gt;
Issue #6460 has been reported by ktsj (Kazuki Tsujimoto).

----------------------------------------
Bug #6460: `unexpected return' occurs when a proc is called in ensure
https://bugs.ruby-lang.org/issues/6460

Author: ktsj (Kazuki Tsujimoto)
Status: Assigned
Priority: Normal
Assignee: ko1 (Koichi Sasada)
Category: YARV
Target version: 
ruby -v: ruby 2.0.0dev (2012-05-19 trunk 35711) [x86_64-linux]


=begin
辻本です。

Bug #2729, #5234 の続きのような話になりますが
以下のコードでunexpected returnとなります。

 class C
   def each
     begin
       yield :foo
     ensure
       1.times { Proc.new }
     end
   end
 
   def detect
     each{|e|
       r = yield(e)
       return true if r
     }
     false
   end
 end
 
 p C.new.detect{|e|
   true
 }

結局のところmake_envの際にはすべてのcontrol frameの
dfpの値をチェックしないといけないようです。

 diff --git a/proc.c b/proc.c
 index d44e8d8..07a904b 100644
 --- a/proc.c
 +++ b/proc.c
 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -418,7 +418,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; proc_new(VALUE klass, int is_lambda)
      }
  
      procval = rb_vm_make_proc(th, block, klass);
 -    rb_vm_rewrite_dfp_in_errinfo(th, cfp);
  
      if (is_lambda) {
  rb_proc_t *proc;
 diff --git a/vm.c b/vm.c
 index 6fbd3ad..abfe993 100644
 --- a/vm.c
 +++ b/vm.c
 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -406,8 +406,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; vm_make_env_each(rb_thread_t * const th, rb_control_frame_t * const cfp,
      if (!RUBY_VM_NORMAL_ISEQ_P(cfp-&amp;gt;iseq)) {
  /* TODO */
  env-&amp;gt;block.iseq = 0;
 -    } else {
 -rb_vm_rewrite_dfp_in_errinfo(th, cfp);
      }
      return envval;
  }
 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -462,6 +460,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; rb_vm_make_env_object(rb_thread_t * th, rb_control_frame_t *cfp)
      }
  
      envval = vm_make_env_each(th, cfp, cfp-&amp;gt;dfp, cfp-&amp;gt;lfp);
 +    rb_vm_rewrite_dfp_in_errinfo(th, th-&amp;gt;cfp);
  
      if (PROCDEBUG) {
  check_env_value(envval);
 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -473,23 +472,26 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; rb_vm_make_env_object(rb_thread_t * th, rb_control_frame_t *cfp)
  void
  rb_vm_rewrite_dfp_in_errinfo(rb_thread_t *th, rb_control_frame_t *cfp)
  {
 -    /* rewrite dfp in errinfo to point to heap */
 -    if (RUBY_VM_NORMAL_ISEQ_P(cfp-&amp;gt;iseq) &amp;amp;&amp;amp;
 -(cfp-&amp;gt;iseq-&amp;gt;type == ISEQ_TYPE_RESCUE ||
 - cfp-&amp;gt;iseq-&amp;gt;type == ISEQ_TYPE_ENSURE)) {
 -VALUE errinfo = cfp-&amp;gt;dfp[-2]; /* #$! */
 -if (RB_TYPE_P(errinfo, T_NODE)) {
 -    VALUE *escape_dfp = GET_THROWOBJ_CATCH_POINT(errinfo);
 -    if (! ENV_IN_HEAP_P(th, escape_dfp)) {
 -VALUE dfpval = *escape_dfp;
 -if (CLASS_OF(dfpval) == rb_cEnv) {
 -    rb_env_t *dfpenv;
 -    GetEnvPtr(dfpval, dfpenv);
 -    SET_THROWOBJ_CATCH_POINT(errinfo, (VALUE)(dfpenv-&amp;gt;env + dfpenv-&amp;gt;local_size));
 +    while (!RUBY_VM_CONTROL_FRAME_STACK_OVERFLOW_P(th, cfp)) {
 +/* rewrite dfp in errinfo to point to heap */
 +if (RUBY_VM_NORMAL_ISEQ_P(cfp-&amp;gt;iseq) &amp;amp;&amp;amp;
 +    (cfp-&amp;gt;iseq-&amp;gt;type == ISEQ_TYPE_RESCUE ||
 +     cfp-&amp;gt;iseq-&amp;gt;type == ISEQ_TYPE_ENSURE)) {
 +    VALUE errinfo = cfp-&amp;gt;dfp[-2]; /* #$! */
 +    if (RB_TYPE_P(errinfo, T_NODE)) {
 +VALUE *escape_dfp = GET_THROWOBJ_CATCH_POINT(errinfo);
 +if (! ENV_IN_HEAP_P(th, escape_dfp)) {
 +    VALUE dfpval = *escape_dfp;
 +    if (CLASS_OF(dfpval) == rb_cEnv) {
 +rb_env_t *dfpenv;
 +GetEnvPtr(dfpval, dfpenv);
 +SET_THROWOBJ_CATCH_POINT(errinfo, (VALUE)(dfpenv-&amp;gt;env + dfpenv-&amp;gt;local_size));
 +    }
  }
      }
  }
 -    }
 +cfp = RUBY_VM_PREVIOUS_CONTROL_FRAME(cfp);
 +    };
  }
  
  void

近々この辺の構造が大きく変わるようなので
trunkにこのパッチを取り込む意義はあまり感じませんが、
1.9.3へのバックポートはしておいてもいいのではと思います。
どうでしょうか。
=end



&lt;/pre&gt;</description>
    <dc:creator>ktsj (Kazuki Tsujimoto</dc:creator>
    <dc:date>2012-05-19T08:06:52</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.ruby.devel/19690">
    <title>[ruby-dev:45655] [ruby-trunk - Bug #6456][Open] [readline] Readline.point when history edited</title>
    <link>http://comments.gmane.org/gmane.comp.lang.ruby.devel/19690</link>
    <description>&lt;pre&gt;
Issue #6456 has been reported by no6v (Nobuhiro IMAI).

----------------------------------------
Bug #6456: [readline] Readline.point when history edited
https://bugs.ruby-lang.org/issues/6456

Author: no6v (Nobuhiro IMAI)
Status: Open
Priority: Normal
Assignee: 
Category: ext
Target version: 
ruby -v: ruby 2.0.0dev (2012-05-19 trunk 35705) [x86_64-linux]


=begin
以下のように、履歴をたどって編集した時に Readline.point の値がおかしくなるようです。

 require "readline"
 
 RUBY_DESCRIPTION  # =&amp;gt; "ruby 2.0.0dev (2012-05-19 trunk 35705) [x86_64-linux]"
 Readline::VERSION # =&amp;gt; "6.2"
 
 IO.pipe do |r, w|
   Readline.input = r
   w &amp;lt;&amp;lt; "123\n\cP456\n\cP\n"
   Readline.readline("", true) # =&amp;gt; "123"
   Readline.point              # =&amp;gt; 3
   Readline.readline("", true) # =&amp;gt; "123456"
   Readline.point              # =&amp;gt; 3
   Readline.readline("", true) # =&amp;gt; "123456"
   Readline.point              # =&amp;gt; 6
 end
 # &amp;gt;&amp;gt; 123
 # &amp;gt;&amp;gt; 123456
 # &amp;gt;&amp;gt; 123456
=end



&lt;/pre&gt;</description>
    <dc:creator>no6v (Nobuhiro IMAI</dc:creator>
    <dc:date>2012-05-19T02:22:59</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.ruby.devel/19689">
    <title>[ruby-dev:45654] [ruby-trunk - Bug #6455][Open] IRB.conf[:RC_NAME_GENERATOR] と IRB.conf[:SAVE_HISTORY] を同時に設定すると irb が起動できないのを修正する</title>
    <link>http://comments.gmane.org/gmane.comp.lang.ruby.devel/19689</link>
    <description>&lt;pre&gt;
Issue #6455 has been reported by sho-h (Sho Hashimoto).

----------------------------------------
Bug #6455: IRB.conf[:RC_NAME_GENERATOR] と IRB.conf[:SAVE_HISTORY] を同時に設定すると irb が起動できないのを修正する
https://bugs.ruby-lang.org/issues/6455

Author: sho-h (Sho Hashimoto)
Status: Open
Priority: Normal
Assignee: keiju (Keiju Ishitsuka)
Category: lib
Target version: 2.0.0
ruby -v: ruby 1.8.7 (2010-08-16 patchlevel 302) [i486-linux]


るりまを書いている最中に気づいたのですが、IRB.conf[:RC_NAME_GENERATOR] と IRB.conf[:SAVE_HISTORY] を同時に設定すると irb の起動時にヒストリファイルの読み込みで例外が発生して irb が起動できません。

  $ irb
  /usr/lib/ruby/1.8/irb/ext/save-history.rb:77:in `exist?': can't convert nil into String (TypeError)
          from /usr/lib/ruby/1.8/irb/ext/save-history.rb:77:in `load_history'
          ...
  $

IRB.rc_file("_history") が nil を返すようになるためではないかと思います。

  $ irb -f
  irb(main):001:0&amp;gt; IRB.conf[:RC_NAME_GENERATOR] = Proc.new { |rc|
  irb(main):002:1*   ["/tmp/myirb.#{rc}"].detect { |path| File.exists?(path) }
  irb(main):003:1&amp;gt; }
  irb(main):004:0&amp;gt; IRB.rc_file("_history")
  =&amp;gt; nil

1.8.7 で試しましたが、trunk でも同様ではないかと思います。

lib/irb/ext/save-history.rb で IRB.rc_file("_history") が nil であればデフォルト値を使うなどされた方がいいかもしれません。


&lt;/pre&gt;</description>
    <dc:creator>sho-h (Sho Hashimoto</dc:creator>
    <dc:date>2012-05-19T01:23:42</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.ruby.devel/19687">
    <title>[ruby-dev:45652] [ruby-trunk - Bug #6450][Open] Shift JIS で String#tr の範囲指定がおかしい</title>
    <link>http://comments.gmane.org/gmane.comp.lang.ruby.devel/19687</link>
    <description>&lt;pre&gt;
Issue #6450 has been reported by 5.5 (5 5).

----------------------------------------
Bug #6450: Shift JIS で String#tr の範囲指定がおかしい
https://bugs.ruby-lang.org/issues/6450

Author: 5.5 (5 5)
Status: Open
Priority: Normal
Assignee: 
Category: M17N
Target version: 1.9.3
ruby -v: ruby 1.9.3p202 (2012-04-27 revision 35484) [x86_64-darwin10.8.0]


=begin
CP932（Windows-31J）は，第二バイトが 0x7F になる文字が存在しない仕組みになっていますが，以下の例のように，String#tr で範囲指定を使うと，そのような文字が存在するかのような動作になります。

 # encoding: cp932
 
 p "マミムメモ".tr("マ-モ", "ﾏ-ﾓ") # =&amp;gt; "ﾏﾐﾒﾓﾓ"
 p "ﾏﾐﾑﾒﾓ".tr("ﾏ-ﾓ", "マ-モ") # =&amp;gt; "マミ\x83\x7Fムメ"
 
 p "мнопр".tr("а-я", "А-Я") # =&amp;gt; "МНПРС"
 p "МНОПР".tr("А-Я", "а-я") # =&amp;gt; "мн\x84\x7Fоп"

この例では，文字コード表で，全角片仮名「ミ」と「ム」の間，およびキリル文字小文字の「н」と「о」の間に文字が存在するかのように置換してしまっています。

これが仕様だとすると，String#tr を使うのに文字の並び順の知識だけでなく，どのようなバイト列に符号化されるかといった知識まで必
要となり，非常に使いづらいと思います。
=end



&lt;/pre&gt;</description>
    <dc:creator>5.5 (5 5</dc:creator>
    <dc:date>2012-05-18T15:44:40</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.ruby.devel/19685">
    <title>[ruby-dev:45650] space in COUTFLAG</title>
    <link>http://comments.gmane.org/gmane.comp.lang.ruby.devel/19685</link>
    <description>&lt;pre&gt;こんにちは。

mkmf.rbで作成するMakefileには COUTFLAG や OUTFLAG といったmakeの変数が
定義されます。その内容が意図した結果となっていないのではないかと思いま
した。殆どの環境で実害は出ていないと思います。


きっかけは4月の終わりに、Solaris 9上のpkgsrcでruby193-baseのコンパイル
がエラーとなるという報告がありました。報告された方に答えつつ確認を求め
た事項が少々的外れだったのですが、症状としてはmakeから、以下を実行して
エラーになるという内容です。

cc ...(いっぱいオプション) -fPIC -obug.o -c bug.c

ここで、ポイントは -o オプションと出力先のファイル名の間にスペースがな
いことです。Solaris 9のas(1)は、ここにスペースがないとエラーとなるよう
です。(Solaris 10では問題とはならないことは確認しています。)

上記のコマンドが来た元を追うと、

1. 生成されたMakefile(例えば、ext/-test-/bug-3571/Makefile)では、

.c.o:
$(ECHO) compiling $(&amp;lt;)
$(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$&amp;lt; at &amp;gt; -c $&amp;lt;

   といったルールがあって、$(COUTFLAG)と$&amp;lt; at &amp;gt;の間にスペースはありません。
   (スペースがあってはならない環境もあるのでしょうか?)

2. 同じMakefileで COUTFLAGS は、

COUTFLAG = -o 

   と設定されています。

3. これらのMakefileを生成する元のlib/mkmf.rbで1.については、

COMPILE_C = config_string('COMPILE_C') || '$(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$&amp;lt; at &amp;gt; -c $&amp;lt;'

   というのが元となっていて、まぁ、これはそのまんまです。

4. lib/mkmf.rbで2.については、

COUTFLAG = #{COUTFLAG}

   という文字列中で展開している行が存在していて、Rubyの定数COUTFLAGが
   元で、さらにこの定数はlib/mkmf.rbの先の方で、

COUTFLAG = CONFIG['COUTFLAG']

   として定義しています。

5. CONFIG['COUTFLAG']はrbconfig.rbが元ですが、これはconfigure時に由来
   していて、config.logで確認すると、

COUTFLAG='-o '

   となっています。


と、いうわけで改めて2.の部分を見ると、COUTFLAG に代入している行で -o
の後ろにスペースが1つあるのですが、Makefileの世界ではこのスペースは捨
てられてしまいます。

話が長くなりましたが、1.や3.のルールでは$(COUTFLAG)と$&amp;lt; at &amp;gt;の間にはスペー
スが入ると期待していたのか、全然気にしていないのか、どうなんだろうと思っ
た次第です。

A. 元々、$(COUTFLAG)と$&amp;lt; at &amp;gt;の間にスペースを入れてはいけない理由はない。
B. $(COUTFLAGS)の後ろにスペースがあると思っていた。

pkgsrcが対象とするプラットフォームでは、A.に基づいても良さそうに思えま
すが、少し気になったのでメールにまとめてみました。

&lt;/pre&gt;</description>
    <dc:creator>Takahiro Kambe</dc:creator>
    <dc:date>2012-05-18T03:26:53</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.ruby.devel/19675">
    <title>[ruby-dev:45640] [ruby-trunk - Bug #6441][Assigned] IO.pipe on ENFILE</title>
    <link>http://comments.gmane.org/gmane.comp.lang.ruby.devel/19675</link>
    <description>&lt;pre&gt;
Issue #6441 has been reported by naruse (Yui NARUSE).

----------------------------------------
Bug #6441: IO.pipe on ENFILE
https://bugs.ruby-lang.org/issues/6441

Author: naruse (Yui NARUSE)
Status: Assigned
Priority: Normal
Assignee: authorNari (Narihiro Nakamura)
Category: 
Target version: 
ruby -v: ruby 2.0.0dev (2012-05-16 trunk 35659) [x86_64-netbsd6.99.5]


今の Ruby は open(2) などで、errno=ENFILE が発生した場合、
すなわち fd を使いきっている場合には、rb_gc() を呼び、IO オブジェクトを GC して、
fd が解放されないか試み、それでもダメだったら諦めるとしています。

しかし、IO.pipe の場合はこれに失敗することがあります。
これは、lazy sweep が上記の目的のため T_FILE の場合は直ちに sweep することにしている所、
pipe の場合はその例外にあたらないからです。


&lt;/pre&gt;</description>
    <dc:creator>naruse (Yui NARUSE</dc:creator>
    <dc:date>2012-05-16T03:59:06</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.ruby.devel/19672">
    <title>[ruby-dev:45637] [ruby-trunk - Feature #6440][Open] 引数にIOを渡した場合のMarshal.loadにバッファを持たせたい</title>
    <link>http://comments.gmane.org/gmane.comp.lang.ruby.devel/19672</link>
    <description>&lt;pre&gt;
Issue #6440 has been reported by Glass_saga (Masaki Matsushita).

----------------------------------------
Feature #6440: 引数にIOを渡した場合のMarshal.loadにバッファを持たせたい
https://bugs.ruby-lang.org/issues/6440

Author: Glass_saga (Masaki Matsushita)
Status: Open
Priority: Normal
Assignee: 
Category: core
Target version: 2.0.0


現在のMarshal.loadでは、引数にIOを渡すとIO#getbyteやIO#readで当座に必要な部分のみの読み出しを繰り返すので
大量のメソッド呼び出しが発生し、そのコストが無視できません。
そこで、引数にIOを渡した場合のMarshal.loadにバッファを持たせる事を提案します。

require 'benchmark'
require 'tempfile'

ary = Array.new(1000){ "hoge" }
file = Tempfile.new("foo")
Marshal.dump(ary, file)

Benchmark.bm do |x|
  x.report do
    100.times do
      file.rewind
      Marshal.load(file)
    end
  end
end

file.close

上記のベンチマークでバッファを持つようにしたrubyとtrunkを比較したところ、以下の結果となりました。

trunk(r35660):
       user     system      total        real
   1.880000   0.000000   1.880000 (  1.874681)

proposed:
       user     system      total        real
   0.180000   0.000000   0.180000 (  0.178556)

patchを添付します。


&lt;/pre&gt;</description>
    <dc:creator>Glass_saga (Masaki Matsushita</dc:creator>
    <dc:date>2012-05-16T03:49:28</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.ruby.devel/19671">
    <title>[ruby-dev:45636] [ruby-trunk - Feature #6439][Open] 引数にIOを渡した場合のMarshal.loadni</title>
    <link>http://comments.gmane.org/gmane.comp.lang.ruby.devel/19671</link>
    <description>&lt;pre&gt;
Issue #6439 has been reported by Glass_saga (Masaki Matsushita).

----------------------------------------
Feature #6439: 引数にIOを渡した場合のMarshal.loadni
https://bugs.ruby-lang.org/issues/6439

Author: Glass_saga (Masaki Matsushita)
Status: Open
Priority: Normal
Assignee: 
Category: 
Target version: 





&lt;/pre&gt;</description>
    <dc:creator>Glass_saga (Masaki Matsushita</dc:creator>
    <dc:date>2012-05-16T03:45:47</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.ruby.devel/19669">
    <title>[ruby-dev:45634] [ruby-trunk - Bug #6428][Open] lazy版take/dropに2度forceを呼んだ時の挙動</title>
    <link>http://comments.gmane.org/gmane.comp.lang.ruby.devel/19669</link>
    <description>&lt;pre&gt;
Issue #6428 has been reported by nagachika (Tomoyuki Chikanaga).

----------------------------------------
Bug #6428: lazy版take/dropに2度forceを呼んだ時の挙動
https://bugs.ruby-lang.org/issues/6428

Author: nagachika (Tomoyuki Chikanaga)
Status: Open
Priority: Normal
Assignee: 
Category: core
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2012-05-12 trunk 35629) [x86_64-darwin10.8.0]


Enumerator::Lazy#take が返す Enumerator::Lazy に繰り返し force/to_a メソッドを呼ぶと、
2度目以降は全ての要素を返しています。

 $ cat lazy_take_recycle.rb
 lazy_take = (1..5).lazy.take(3)
 
 p lazy_take.force
 p lazy_take.force

 $ ruby lazy_take_recycle.rb
 [1, 2, 3]
 [1, 2, 3, 4, 5]

同じ Enumerator::Lazy に force を複数回呼ぶのがよい使いかたではないのかもしれませんが、
なんとなく何度呼んでも先頭の要素を返してくれるのが嬉しいのではないかと思います。
2度目以降も同じ個数になるようにするパッチを添付します。
ただし実用的なユースケースがあるわけではありません。


&lt;/pre&gt;</description>
    <dc:creator>nagachika (Tomoyuki Chikanaga</dc:creator>
    <dc:date>2012-05-12T16:52:19</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.ruby.devel/19666">
    <title>[ruby-dev:45631] [ruby-trunk - Bug #6419][Open]  { } ではなく do ~ end でかくとsyntax errorでる箇所</title>
    <link>http://comments.gmane.org/gmane.comp.lang.ruby.devel/19666</link>
    <description>&lt;pre&gt;
Issue #6419 has been reported by uy (西行寺 うゆ).

----------------------------------------
Bug #6419:  { } ではなく do ~ end でかくとsyntax errorでる箇所
https://bugs.ruby-lang.org/issues/6419

Author: uy (西行寺 うゆ)
Status: Open
Priority: Normal
Assignee: 
Category: 
Target version: 
ruby -v: ruby 1.9.3p194 (2012-04-20) [i386-mingw32]


こういうのを書いた場合にsyntax errorがでるみたいです

(({

p begin
  1.times { 1 }
  1.times do 1 end # syntax error
end

}))



&lt;/pre&gt;</description>
    <dc:creator>uy (西行寺 うゆ</dc:creator>
    <dc:date>2012-05-09T11:47:32</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.ruby.devel/19664">
    <title>[ruby-dev:45629] [ruby-trunk - Feature #6417][Assigned] Supporing a subset of ANSI escape code on Windows</title>
    <link>http://comments.gmane.org/gmane.comp.lang.ruby.devel/19664</link>
    <description>&lt;pre&gt;
Issue #6417 has been reported by usa (Usaku NAKAMURA).

----------------------------------------
Feature #6417: Supporing a subset of ANSI escape code on Windows
https://bugs.ruby-lang.org/issues/6417

Author: usa (Usaku NAKAMURA)
Status: Assigned
Priority: Low
Assignee: usa (Usaku NAKAMURA)
Category: misc
Target version: 2.0.0


Are there those who need this?


&lt;/pre&gt;</description>
    <dc:creator>usa (Usaku NAKAMURA</dc:creator>
    <dc:date>2012-05-09T01:49:47</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.ruby.devel/19662">
    <title>[ruby-dev:45627] some warnings compiled with gcc 4.6.3</title>
    <link>http://comments.gmane.org/gmane.comp.lang.ruby.devel/19662</link>
    <description>&lt;pre&gt;　ささだです．

　gcc 4.6.3 でビルドしたらいくつか warning が出たのでご報告です．


io.c:
compiling ../trunk/io.c
../trunk/io.c: 関数 ‘io_encoding_set’ 内:
../trunk/io.c:8789:9: 警告: 使用されない変数 ‘tmp1’ です [-Wunused-variable]
../trunk/io.c:8797:9: 警告: 使用されない変数 ‘tmp1’ です [-Wunused-variable]

該当部分：
  8787              if (enc == enc2) {
  8788                  /* Special case - "-" =&amp;gt; no transcoding */
  8789                  VALUE tmp1 = rb_check_string_type(v1);
  8790                  enc2 = NULL;
  8791              }

  8795              if (enc == enc2) {
  8796                  /* Special case - "-" =&amp;gt; no transcoding */
  8797                  VALUE tmp1 = rb_check_string_type(v1);
  8798                  enc2 = NULL;
  8799              }

　たしかに tmp1 は不要に見えます．これ，v1 をチェックしたいだけ？

regparse.c:
compiling ../trunk/regparse.c
../trunk/regparse.c: 関数 ‘parse_exp’ 内:
../trunk/regparse.c:5734:37: 警告: ‘b2’ はこの関数内初期化されずに使用さ
れるかもしれません [-Wuninitialized]
../trunk/regparse.c:5690:12: 備考: ‘b2’ はここで定義されています
../trunk/regparse.c:1501:7: 警告: ‘c’ はこの関数内初期化されずに使用され
るかもしれません [-Wuninitialized]
../trunk/regparse.c:5687:17: 備考: ‘c’ はここで定義されています

　コードを見たんですが，ぱっと見る限り，確かに未定義の可能性があるかも，
と思いました．が，意図的にこうやってるのかもという気もします．意図的な
ら，鬱陶しいので宣言部分で 0 でも代入して欲しいところ．


addr2line.c:



　拡張ライブラリからも結構警告が出ますね．細かくは見ていませ
ん．bigdecimal.c は沢山あって鬱陶しいから直ると良いなぁ．










&lt;/pre&gt;</description>
    <dc:creator>SASADA Koichi</dc:creator>
    <dc:date>2012-05-06T10:09:36</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.ruby.devel/19661">
    <title>[ruby-dev:45626] [ruby-trunk - Bug #6403][Open] self という名前のメソッド定義で SyntaxError</title>
    <link>http://comments.gmane.org/gmane.comp.lang.ruby.devel/19661</link>
    <description>&lt;pre&gt;
Issue #6403 has been reported by wanabe (_ wanabe).

----------------------------------------
Bug #6403: self という名前のメソッド定義で SyntaxError
https://bugs.ruby-lang.org/issues/6403

Author: wanabe (_ wanabe)
Status: Open
Priority: Normal
Assignee: 
Category: 
Target version: 
ruby -v: ruby 2.0.0dev (2012-05-05 trunk 35541) [i686-linux]


http://toro.2ch.net/test/read.cgi/tech/1328648447/925-931
で指摘されていたのですが、self という名前のメソッドの定義で
メソッド内部先頭にシンボルがある場合 SyntaxError になります。
また、セミコロンか改行をはさむと正常にパースされます。

def self;   :foo; end #&amp;lt;= NG
def self;;  :foo; end #&amp;lt;= OK
def self()  :foo; end #&amp;lt;= OK
def self(); :foo; end #&amp;lt;= OK
def hoge;   :foo; end #&amp;lt;= OK
def class;  :foo; end #&amp;lt;= OK

parse.y の f_arglist に関する規則の部分で、
'(' f_args rparen の時には lex_state を変更しているのに
f_args term の時には $$ = $1; しかしていないあたりが
怪しいように思うのですがどうでしょうか。


&lt;/pre&gt;</description>
    <dc:creator>wanabe (_ wanabe</dc:creator>
    <dc:date>2012-05-05T01:29:05</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.ruby.devel/19651">
    <title>[ruby-dev:45616] [ruby-trunk - Bug #6400][Assigned] dl/callback with fiddle occurs SEGV on NetBSD amd64</title>
    <link>http://comments.gmane.org/gmane.comp.lang.ruby.devel/19651</link>
    <description>&lt;pre&gt;
Issue #6400 has been reported by naruse (Yui NARUSE).

----------------------------------------
Bug #6400: dl/callback with fiddle occurs SEGV on NetBSD amd64
https://bugs.ruby-lang.org/issues/6400

Author: naruse (Yui NARUSE)
Status: Assigned
Priority: Normal
Assignee: tenderlovemaking (Aaron Patterson)
Category: 
Target version: 
ruby -v: ruby 2.0.0dev (2012-04-30 trunk 35500) [x86_64-netbsd6.99.5]


On NetBSD amd64, libffi with callback occurs SEGV as following.

kelvena% ./ruby p
/home/naruse/local/ruby/lib/ruby/2.0.0/dl/func.rb:55: [BUG] Segmentation fault
ruby 2.0.0dev (2012-04-30 trunk 35500) [x86_64-netbsd6.99.5]

&lt;/pre&gt;</description>
    <dc:creator>naruse (Yui NARUSE</dc:creator>
    <dc:date>2012-05-04T12:33:37</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.ruby.devel/19646">
    <title>[ruby-dev:45611] [ruby-trunk - Bug #6396][Open] instance_eval内での変数の扱いについて</title>
    <link>http://comments.gmane.org/gmane.comp.lang.ruby.devel/19646</link>
    <description>&lt;pre&gt;
Issue #6396 has been reported by uy (西行寺 うゆ).

----------------------------------------
Bug #6396: instance_eval内での変数の扱いについて
https://bugs.ruby-lang.org/issues/6396

Author: uy (西行寺 うゆ)
Status: Open
Priority: Normal
Assignee: 
Category: 
Target version: 
ruby -v: ruby 1.9.3p194 (2012-04-20) [i386-mingw32]


class O
  attr_accessor :x
end
o = O.new

o.x = 99

o.instance_eval do
  p x #=&amp;gt; 99
  if nil
    x = 2 # この記述があるとxがnilになる
  end
  p x #=&amp;gt; nil
end


これはバグでしょうか？


o.instance_eval do
  p x #=&amp;gt; 99
  p x += 1
end
xは値を見ることは出来ても、
値を変更しようとしたり、
if分岐を通らなくても、そういったコードを混ぜておくと
xがnil（新しい変数?）に置き換わっているようですが


&lt;/pre&gt;</description>
    <dc:creator>uy (西行寺 うゆ</dc:creator>
    <dc:date>2012-05-03T11:39:09</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.ruby.devel/19640">
    <title>[ruby-dev:45605] [ruby-trunk - Feature #6390][Open] ラムダの宣言ででるsyntax errorについて</title>
    <link>http://comments.gmane.org/gmane.comp.lang.ruby.devel/19640</link>
    <description>&lt;pre&gt;
Issue #6390 has been reported by uy (西行寺 うゆ).

----------------------------------------
Feature #6390: ラムダの宣言ででるsyntax errorについて
https://bugs.ruby-lang.org/issues/6390

Author: uy (西行寺 うゆ)
Status: Open
Priority: Normal
Assignee: 
Category: 
Target version: 


-&amp;gt;x,y{x+y}
-&amp;gt;(x,y){x+y}
-&amp;gt;x,y {x+y}
-&amp;gt;(x,y) {x+y}
-&amp;gt; x,y{x+y}

-&amp;gt; (x,y){x+y}  # これだけ syntax error

この記述でもエラーにならないようには出来ないのでしょうか？


&lt;/pre&gt;</description>
    <dc:creator>uy (西行寺 うゆ</dc:creator>
    <dc:date>2012-05-02T04:39:13</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.ruby.devel/19639">
    <title>[ruby-dev:45604] [ruby-trunk - Bug #6389][Assigned] Should be able to `return' and `break' from callback method of plain DL?</title>
    <link>http://comments.gmane.org/gmane.comp.lang.ruby.devel/19639</link>
    <description>&lt;pre&gt;
Issue #6389 has been reported by usa (Usaku NAKAMURA).

----------------------------------------
Bug #6389: Should be able to `return' and `break' from callback method of plain DL?
https://bugs.ruby-lang.org/issues/6389

Author: usa (Usaku NAKAMURA)
Status: Assigned
Priority: Normal
Assignee: tenderlovemaking (Aaron Patterson)
Category: ext
Target version: 1.9.3
ruby -v: -


IRCで笹田さんと話をしていて発見したのですが、fiddleありだと
DLのコールバックメソッドからreturnやbreakが可能ですが、なしだと
LocalJumpErrorが発生します。

私の見解としては、returnできた方がうれしい気がしています。
が、いずれにせよ、挙動を揃えた方がいいのではないかと思います。
どう思いますか？＞Aaronさん

以下、素のDLでもreturnできるようにするパッチです。

Index: ext/dl/lib/dl/func.rb
===================================================================
--- ext/dl/lib/dl/func.rb(リビジョン 35505)
+++ ext/dl/lib/dl/func.rb(作業コピー)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -90,6 +90,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; module DL
         if( !block )
           raise(RuntimeError, "block must be given.")
         end
+        unless block.lambda?
+          block = Class.new{define_method(:call, block)}.new.method(:call)
+        end
         if( &amp;lt; at &amp;gt;cfunc.ptr == 0 )
           cb = Proc.new{|*args|
             ary = &amp;lt; at &amp;gt;stack.unpack(args)



&lt;/pre&gt;</description>
    <dc:creator>usa (Usaku NAKAMURA</dc:creator>
    <dc:date>2012-05-02T03:55:28</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.comp.lang.ruby.devel/19631">
    <title>[ruby-dev:45596] [ruby-trunk - Bug #6382][Assigned] test_tracing_with_set_trace_func で RuntimeError "continuation called across threads"</title>
    <link>http://comments.gmane.org/gmane.comp.lang.ruby.devel/19631</link>
    <description>&lt;pre&gt;
Issue #6382 has been reported by nagachika (Tomoyuki Chikanaga).

----------------------------------------
Bug #6382: test_tracing_with_set_trace_func で RuntimeError "continuation called across threads"
https://bugs.ruby-lang.org/issues/6382

Author: nagachika (Tomoyuki Chikanaga)
Status: Assigned
Priority: Low
Assignee: nagachika (Tomoyuki Chikanaga)
Category: test
Target version: 
ruby -v: ruby 2.0.0dev (2012-04-30 trunk 35497) [x86_64-darwin10.8.0]


make test-all を -j2 オプションつきで実行しているとごく稀に
test_tracing_with_set_trace_func で "continuation called across threads" という RuntimeError 例外が発生していました。

set_trace_func に設定した lambda から Continuation を呼んでいて、別 Thread がそれを呼んでしまっていたようです。
このテストは r32597 で [Feature #4347] のために追加されたもので、別 Thread からの呼び出しについては元々特に考慮していないようでしたので、呼び出したスレッドをチェックするような変更をすればいいと思います。

diff --git a/test/ruby/test_continuation.rb b/test/ruby/test_continuation.rb
index 64390d8..5e5b78c 100644
--- a/test/ruby/test_continuation.rb
+++ b/test/ruby/test_continuation.rb
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -78,10 +78,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; class TestContinuation &amp;lt; Test::Unit::TestCase
   end
 
   def tracing_with_set_trace_func
+    orig_thread = Thread.current
     cont = nil
     func = lambda do |*args|
-      &amp;lt; at &amp;gt;memo += 1
-      cont.call(nil)
+      if orig_thread == Thread.current
+        &amp;lt; at &amp;gt;memo += 1
+        cont.call(nil)
+      end
     end
     cont = callcc { |cc| cc }
     if cont

稀にというか実際には一度しか発生していないので効果は確認できていないのですが、
エラーにはなってないので入れてしまいます。


&lt;/pre&gt;</description>
    <dc:creator>nagachika (Tomoyuki Chikanaga</dc:creator>
    <dc:date>2012-04-30T14:04:50</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.comp.lang.ruby.devel">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.comp.lang.ruby.devel</link>
  </textinput>
</rdf:RDF>

