diff options
author | ser <ser@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-04-02 03:26:19 +0000 |
---|---|---|
committer | ser <ser@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-04-02 03:26:19 +0000 |
commit | 7a07ba45a001475b257734cd1f46166c73f5519c (patch) | |
tree | b9d253eea1aa685030ce0fabc203bc2076191ed4 /lib/rexml/parsers/baseparser.rb | |
parent | 354d68f80b1e92f58c13004e13dec48b179d2b4d (diff) |
REXML changes backported from the 1.9 branch:
* Minor source documentation changes
* Changes to the pretty-printing code, including the addition of the word-
wrap submission.
* Bug fix for missing quotations in NOTATION DTD items
* Bug fixes and improvements to whitespace handling in text nodes
* Refactoring and bug fixes in encoding support
* Minor speed optimizations in the core parser
* Bug fixes in the SAX2 parserthe core parser
* Copyright fixes
* Version bump to REXML 3.0.0
* A change that caused speed degredation has been reversed
* Addition of a value=() method in Text, for replacing the contents of
a text node
* Fixed the document order of the descendant-or-self axis in XPath
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6071 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rexml/parsers/baseparser.rb')
-rw-r--r-- | lib/rexml/parsers/baseparser.rb | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/lib/rexml/parsers/baseparser.rb b/lib/rexml/parsers/baseparser.rb index 057617d6e8..025d43db54 100644 --- a/lib/rexml/parsers/baseparser.rb +++ b/lib/rexml/parsers/baseparser.rb @@ -122,14 +122,14 @@ module REXML # Returns true if there are no more events def empty? - !has_next? + #puts "@source.empty? = #{@source.empty?}" + #puts "@stack.empty? = #{@stack.empty?}" + return (@source.empty? and @stack.empty?) end # Returns true if there are more events. Synonymous with !empty? def has_next? - return true if @closed - @source.read if @source.buffer.size==0 and !@source.empty? - (!@source.empty? and @source.buffer.strip.size>0) or @stack.size>0 or @closed + return !(@source.empty? and @stack.empty?) end # Push an event back on the head of the stream. This method @@ -329,9 +329,12 @@ module REXML end else md = @source.match( TEXT_PATTERN, true ) - #md = @source.match_to_consume( '<', TEXT_PATTERN ) - #@source.read - raise REXML::ParseException("no text to add") if md[0].length == 0 + if md[0].length == 0 + #puts "EMPTY = #{empty?}" + #puts "BUFFER = \"#{@source.buffer}\"" + @source.match( /(\s+)/, true ) + end + #return [ :text, "" ] if md[0].length == 0 # unnormalized = Text::unnormalize( md[1], self ) # return PullEvent.new( :text, md[1], unnormalized ) return [ :text, md[1] ] |