summaryrefslogtreecommitdiffstats
path: root/lib/rexml/element.rb
diff options
context:
space:
mode:
authorser <ser@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-02-13 22:40:14 +0000
committerser <ser@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-02-13 22:40:14 +0000
commit82a9dd2a482f7e0b7bbce2b958aed56088f859f8 (patch)
treee8e2e4db64964fb5bf1fa9f5cfd882fb20cd20d0 /lib/rexml/element.rb
parentabd0238793e1ca915ef20cf3eff6fb5992a08b0d (diff)
downloadruby-82a9dd2a482f7e0b7bbce2b958aed56088f859f8.tar.gz
ruby-82a9dd2a482f7e0b7bbce2b958aed56088f859f8.tar.xz
ruby-82a9dd2a482f7e0b7bbce2b958aed56088f859f8.zip
@@ Fix for the XPath descendant* result set ordering bug @@
@@ SAX2 listener bug fixes @@ @@ Undid a code change that caused a 10x speed regression @@ @@ Indentation fixes, and a new word wrapping feature for text nodes was contributed by Devin Bayer (documentation forthcoming; see the change logs for now) @@ The XPath bug fix is really ugly and inefficient, but I spent two days hacking at it and this was the best I could come up with. The SAX2 listener fixes had to do with crashes in certain conditions, like when there was a carriage return at the end of a document Several people submitted patches for the speed regression; it is embarrassing how long it took me to get around to looking at this. To this day, I don't know where the offending code came from. Encoding fixes Added a contributed word wrapping option for text formatting. Devin Bayer contributed this. Here's his comment: "Setting :wordwrapping to :all, wordwraps all text nodes longer than 60 characters. Setting :indentstyle to aString, make aString used as indentation, instead of the default ' '. And as long as :respect_whitespace isn't set for the element, multiline text nodes will be indented." git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@5696 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rexml/element.rb')
-rw-r--r--lib/rexml/element.rb8
1 files changed, 3 insertions, 5 deletions
diff --git a/lib/rexml/element.rb b/lib/rexml/element.rb
index ffaeddbf5..6a2d87f3f 100644
--- a/lib/rexml/element.rb
+++ b/lib/rexml/element.rb
@@ -632,7 +632,7 @@ module REXML
else
if transitive and indent>-1 and !@children[0].kind_of? Text
writer << "\n"
- indent writer, indent+2
+ indent writer, indent+1
end
writer << ">"
write_children( writer, indent, transitive, ie_hack )
@@ -640,7 +640,7 @@ module REXML
end
if transitive and indent>-1
writer << "\n"
- indent -= 2 if next_sibling.nil?
+ indent -= 1 if next_sibling.nil?
indent(writer, indent)
end
writer << ">"
@@ -661,12 +661,10 @@ module REXML
# A private helper method
def write_children( writer, indent, transitive, ie_hack )
cr = (indent < 0) ? '' : "\n"
- #if size == 1 and @children[0].kind_of?(Text)
- # self[0].write( writer, -1 )
if indent == -1
each { |child| child.write( writer, indent, transitive, ie_hack ) }
else
- next_indent = indent+2
+ next_indent = indent+1
last_child=nil
each { |child|
unless child.kind_of? Text or last_child.kind_of? Text or transitive