# File src/rexml/source.rb, line 154
                def match pattern, consume=false
                        rv = pattern.match(@buffer)
                        @buffer = $' if consume and rv
                        while !rv and @source
                                begin
                                        str = @source.readline('>')
                                        str = decode(str) if @to_utf and str
                                        @buffer << str
                                        rv = pattern.match(@buffer)
                                        @buffer = $' if consume and rv
                                rescue
                                        @source = nil
                                end
                        end
                        rv.taint
                        rv
                end