# File temp/source.rb, line 126
                def scan(pattern, cons=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
                                                # READLINE OPT
                                                #str = @source.read(@block_size)
                                                str = @source.readline(@line_break)
                                                str = decode(str) if @to_utf and str
                                                @buffer << str
                                        rescue
                                                @source = nil
                                        end
                                end
                                rv = super
                        end
                        rv.taint
                        rv
                end