summaryrefslogtreecommitdiff
path: root/lib/rexml/source.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
commit95be40a06d1227a0cd0a1cec4424ab33748d1450 (patch)
treee8e2e4db64964fb5bf1fa9f5cfd882fb20cd20d0 /lib/rexml/source.rb
parentbe3b9b1c5c61b73884bbbf4a22fff16f9b197eb9 (diff)
@@ 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: svn+ssh://ci.ruby-lang.org/ruby/trunk@5696 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rexml/source.rb')
-rw-r--r--lib/rexml/source.rb16
1 files changed, 6 insertions, 10 deletions
diff --git a/lib/rexml/source.rb b/lib/rexml/source.rb
index 2110e6db66..a524e483ef 100644
--- a/lib/rexml/source.rb
+++ b/lib/rexml/source.rb
@@ -31,7 +31,6 @@ module REXML
def initialize(arg)
@orig = @buffer = arg
self.encoding = check_encoding( @buffer )
- #@buffer = decode(@buffer) unless @encoding == UTF_8
@line = 0
end
@@ -96,7 +95,7 @@ module REXML
# @return true if the Source is exhausted
def empty?
- @buffer.nil?
+ @buffer == ""
end
# @return the current line in the source
@@ -113,17 +112,14 @@ module REXML
class IOSource < Source
#attr_reader :block_size
+ # block_size has been deprecated
def initialize(arg, block_size=500)
@er_source = @source = arg
@to_utf = false
- # READLINE OPT
- # The following was commented out when IOSource started using readline
- # to pull the data from the stream.
- #@block_size = block_size
- #super @source.read(@block_size)
- @line_break = '>'
- #super @source.readline( "\n" )
- super @source.readline( @line_break )+@source.read
+ # FIXME
+ # This is broken. If the user puts in enough carriage returns, this can fail
+ # to calculate the correct encoding.
+ super @source.read( 100 )
@line_break = encode( '>' )
end