From 5f3ee100b1ae2def7eb374d8de700f8f3eaa68b2 Mon Sep 17 00:00:00 2001 From: ser Date: Mon, 19 Jul 2004 01:43:31 +0000 Subject: r1025 | ser | 2004-07-18 08:18:36 -0400 (Sun, 18 Jul 2004) | 2 lines @@ Fixed a CDATA pretty-printing bug. (#39) @@ r1026 | ser | 2004-07-18 09:03:02 -0400 (Sun, 18 Jul 2004) | 4 lines @@ Fixed a buffering bug in Source.rb that affected the SAX parser @@ This bug was related to how REXML determines the encoding of a file, and evinced itself by hanging on input when using the SAX parser. r1028 | ser | 2004-07-18 09:06:18 -0400 (Sun, 18 Jul 2004) | 3 lines * Minor pretty printing fix. git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@6677 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/rexml/element.rb | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'lib/rexml/element.rb') diff --git a/lib/rexml/element.rb b/lib/rexml/element.rb index 25e530de4..b76c0179c 100644 --- a/lib/rexml/element.rb +++ b/lib/rexml/element.rb @@ -107,7 +107,8 @@ module REXML # Evaluates to the document to which this element belongs, or nil if this # element doesn't belong to a document. def document - root.parent if root + rt = root + rt.parent if rt end # Evaluates to +true+ if whitespace is respected for this element. This @@ -670,7 +671,7 @@ module REXML end writer << "/" else - if transitive and indent>-1 and !@children[0].instance_of? Text + if transitive and indent>-1 and !@children[0].kind_of? Text writer << "\n" indent writer, indent+1 end @@ -1044,10 +1045,11 @@ module REXML return attr end end - if @element.document and @element.document.doctype + element_document = @element.document + if element_document and element_document.doctype expn = @element.expanded_name - expn = @element.document.doctype.name if expn.size == 0 - attr_val = @element.document.doctype.attribute_of(expn, name) + expn = element_document.doctype.name if expn.size == 0 + attr_val = element_document.doctype.attribute_of(expn, name) return Attribute.new( name, attr_val ) if attr_val end return nil -- cgit