[#47548] [ruby-trunk - Feature #8696][Open] Process.setproctitle — "znz (Kazuhiro NISHIYAMA)" <redmine@...>

13 messages 2013/07/27

[#47559] [ruby-trunk - Bug #8711][Open] 最近NoMemoryErrorが多い — "naruse (Yui NARUSE)" <naruse@...>

13 messages 2013/07/31

[ruby-dev:47546] [ruby-trunk - Bug #8689] REXML::StreamListener#entityが呼び出されない

From: "kou (Kouhei Sutou)" <kou@...>
Date: 2013-07-26 14:23:54 UTC
List: ruby-dev #47546
Issue #8689 has been updated by kou (Kouhei Sutou).


ちょっとみたらすぐにいけそうだったので実装しておきました!あと、パースして情報が落ちるのは切ないなぁという気持ちもありました。

まぁ、なにに使うんですかねぇ。。。未定義のパラメーター実体参照をしていないか、というチェックをするプログラムを書くためには使えそうですかねぇ。。。


----------------------------------------
Bug #8689: REXML::StreamListener#entityが呼び出されない
https://bugs.ruby-lang.org/issues/8689#change-40693

Author: ohai (Ippei Obayashi)
Status: Closed
Priority: Normal
Assignee: kou (Kouhei Sutou)
Category: lib
Target version: 
ruby -v: ruby 2.1.0dev (2013-07-25 trunk 42169) [x86_64-linux]
Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN


REXML::StreamListener#entity のドキュメントによると
    # Called when %foo; is encountered in a doctype declaration.
    # @p content "foo"
    def entity content
    end
と書かれていますが、以下のコードを動かしても何も表示されません
  require 'rexml/parsers/baseparser'
  require 'rexml/parsers/streamparser'
  require 'rexml/streamlistener'
  xml = <<EOS
  <!DOCTYPE root [
  %foo;
  ]>
  <root/>
  EOS
  
  class Listener
    include REXML::StreamListener
    def entity(content)
      p content
    end
  end
  
  REXML::Parsers::StreamParser.new(xml, Listener.new).parse

lib/rexml/parsers/streamparser.rb でもこの entity というメソッドを呼びだしている
場所はないようです。

というわけで、なんらかの修正をする必要があるように思われます。
  * このメソッドを削除
  * このメソッドを StreamParser から呼びだすようにする
のいずれかの変更が良いでしょう。
私の意見としては、このコールバックの使い道が思いつかない、おそらく誰も使っていない、ので、削除してしまって
よいのではと思います。


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

In This Thread