* The main purpose for this change is to get a fix in for nasty bug in XPath.
In the new code for the descendant-or-self axis, the document order code
was calling the wrong method to do node comparisons, causing a terrible
overhead that slowed the axis down to the point where it was unusable.
This is a common axis, also known as '//', so this fix is critical.
* Using Element#text= on a non-Text, non-String argument caused an error.
This has been changed so that the behavior is like puts() -- to_s() is
called on the object first.
* Refactored the pretty-printing code a little.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6072 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
@@ 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: svn+ssh://ci.ruby-lang.org/ruby/trunk@5696 b2dd03c8-39d4-4d8f-98ff-823fe69b080e