Bug #553: REXML::Document#write(io, 1, true, true) #=> NameError/ArgumentError
http://redmine.ruby-lang.org/issues/show/553

起票者: akira yamada
ステータス: Open, 優先度: Normal
カテゴリ: lib

以下でNameErrorになります。

>> require "rexml/document"
=> true
>> REXML::Document.new("<a><b/></a>").write($stdout, 1, true, true)
NameError: uninitialized constant REXML::Formatters::Transitive
	from /home/akira/src/ruby/ruby/lib/rexml/document.rb:189:in `write'
	from (irb):2
	from bin/irb:12:in `<main>'

明示的にrexml/formatters/transitiveをrequireしてもArgumentErrorになります。

>> require "rexml/document"
=> true
>> require "rexml/formatters/transitive"
=> true
>> REXML::Document.new("<a><b/></a>").write($stdout, 1, true, true)
ArgumentError: wrong number of arguments (2 for 1)
	from /home/akira/src/ruby/ruby/lib/rexml/document.rb:189:in `new'
	from /home/akira/src/ruby/ruby/lib/rexml/document.rb:189:in `write'
	from (irb):4
	from bin/irb:12:in `<main>'

ruby_1_8も同じです。

添付したパッチで回避できます。


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