From 82a9dd2a482f7e0b7bbce2b958aed56088f859f8 Mon Sep 17 00:00:00 2001 From: ser Date: Fri, 13 Feb 2004 22:40:14 +0000 Subject: @@ 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 --- lib/rexml/node.rb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'lib/rexml/node.rb') diff --git a/lib/rexml/node.rb b/lib/rexml/node.rb index 41d9eee43..9f51b51fc 100644 --- a/lib/rexml/node.rb +++ b/lib/rexml/node.rb @@ -25,7 +25,12 @@ module REXML end def indent to, ind - to << " "*ind unless ind<1 + if @parent and not @parent.context[:indentstyle].nil? then + indentstyle = @parent.context[:indentstyle] + else + indentstyle = ' ' + end + to << indentstyle*ind unless ind<1 end def parent? -- cgit