def scan pattern, consume=false rv = super # You'll notice that this next section is very similar to the same # section in match(), but just a liiittle different. This is # because it is a touch faster to do it this way with scan() # than the way match() does it; enough faster to warrent duplicating # some code if rv.size == 0 until @buffer =~ pattern or @source.nil? begin #str = str = @source.readline('>') str = encode(str) if str and @to_utf @buffer << str rescue @source = nil end end rv = super end rv.taint rv end