class REXML::IOSource

def read_until(term)

def read_until(term)
  pattern = Private::PRE_DEFINED_TERM_PATTERNS[term] || /#{Regexp.escape(term)}/
  term = @encoded_terms[term] ||= encode(term)
  until str = @scanner.scan_until(pattern)
    break if @source.nil?
    break if @source.eof?
    @scanner << readline(term)
  end
  if str
    read if @scanner.eos? and !@source.eof?
    str
  else
    rest = @scanner.rest
    @scanner.pos = @scanner.string.bytesize
    rest
  end
end