1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

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
This commit is contained in:
ser 2004-04-02 03:26:19 +00:00
parent 354d68f80b
commit 7a07ba45a0
16 changed files with 141 additions and 91 deletions

View file

@ -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] ]