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:
parent
354d68f80b
commit
7a07ba45a0
16 changed files with 141 additions and 91 deletions
|
@ -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] ]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue