[#38392] Enumerable#gather_each — Tanaka Akira <akr@...>

ときに、複数行をまとめて扱いたいことがあります。

47 messages 2009/05/09
[#38399] Re: Enumerable#gather_each — "Akinori MUSHA" <knu@...> 2009/05/09

At Sat, 9 May 2009 15:30:20 +0900,

[#38405] Re: Enumerable#gather_each — Tanaka Akira <akr@...> 2009/05/10

In article <86r5yy2nrg.knu@iDaemons.org>,

[#38417] Re: Enumerable#gather_each — "Akinori MUSHA" <knu@...> 2009/05/10

At Sun, 10 May 2009 10:08:47 +0900,

[#38394] Re: Enumerable#gather_each — ujihisa <ujihisa@...> 2009/05/09

ujihisaと申します。

[#38400] Re: Enumerable#gather_each — Yukihiro Matsumoto <matz@...> 2009/05/09

まつもと ゆきひろです

[#38524] [Bug #1503] -Kuをつけた時、/[#{s}]/n と Regexp.new("[#{s}]",nil,"n") で実行結果が異なる — sinnichi eguchi <redmine@...>

Bug #1503: -Kuをつけた時、/[#{s}]/n と Regexp.new("[#{s}]",nil,"n") で実行結果が異なる

8 messages 2009/05/22

[ruby-dev:38398] [Bug #1451] dl in ruby-1.9 can't parse signatures correctly.

From: Takashi Tamura <redmine@...>
Date: 2009-05-09 15:09:05 UTC
List: ruby-dev #38398
Bug #1451: dl in ruby-1.9 can't parse signatures correctly.
http://redmine.ruby-lang.org/issues/show/1451

起票者: Takashi Tamura
ステータス: Open, 優先度: Normal
カテゴリ: ext, Target version: 1.9.2
ruby -v: ruby 1.9.2dev (2009-05-02 trunk 23326) [i686-linux]

1.9 の dl の cparser.rb が空白があるシグネチャを正しくパースできません。

 $ cat d7.rb
 require 'dl/import'
 
 module M
   extend DL::Importer
   dlload 'libc.so.6'
   extern 'void * memmove(void *, void *, unsigned long                   )'
 end

 $ ruby-1.9 -v d7.rb
 ruby 1.9.2dev (2009-05-02 trunk 23326) [i686-linux]
 /usr/local/pkg/ruby-1.9/lib/ruby/1.9.1/dl/cparser.rb:104:in `parse_ctype': unknown type: unsigned long    (DL::DLError)
        from /usr/local/pkg/ruby-1.9/lib/ruby/1.9.1/dl/cparser.rb:53:in `block in parse_signature'
        from /usr/local/pkg/ruby-1.9/lib/ruby/1.9.1/dl/cparser.rb:53:in `collect'
        from /usr/local/pkg/ruby-1.9/lib/ruby/1.9.1/dl/cparser.rb:53:in `parse_signature'
        from /usr/local/pkg/ruby-1.9/lib/ruby/1.9.1/dl/import.rb:116:in `extern'
        from d7.rb:6:in `<module:M>'
        from d7.rb:3:in `<main>'

パッチです。

 $ svn diff lib/dl/cparser.rb
 Index: lib/dl/cparser.rb
 ===================================================================
 --- lib/dl/cparser.rb   (リビジョン 23328)
 +++ lib/dl/cparser.rb   (作業コピー)
 @@ -41,7 +41,7 @@ module DL
        case signature
        when /^([\d\w@\*_\s]+)\(([\d\w\*_\s\,\[\]]*)\)$/
          ret = $1
 -        args = $2
 +        args = $2.sub(/\A\s*/, '').sub(/\s*\z/, '')
          ret = ret.split(/\s+/)
          args = args.split(/\s*,\s*/)
          func = ret.pop


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

In This Thread

Prev Next