module Erubis::PrefixedLineEnhancer

def add_text(src, text)

def add_text(src, text)
  unless @prefixrexp
    @prefixchar ||= '%'
    @prefixrexp = Regexp.compile("^([ \\t]*)\\#{@prefixchar}(.*?\\r?\\n)")
  end
  pos = 0
  text2 = ''
  text.scan(@prefixrexp) do
    space = $1
    line  = $2
    space, line = '', $1 unless $2
    match = Regexp.last_match
    len   = match.begin(0) - pos
    str   = text[pos, len]
    pos   = match.end(0)
    if text2.empty?
      text2 = str
    else
      text2 << str
    end
    if line[0, 1] == @prefixchar
      text2 << space << line
    else
      super(src, text2)
      text2 = ''
      add_stmt(src, space + line)
    end
  end
  #rest = pos == 0 ? text : $'             # ruby1.8
  rest = pos == 0 ? text : text[pos..-1]   # ruby1.9
  unless text2.empty?
    text2 << rest if rest
    rest = text2
  end
  super(src, rest)
end