# File DelimScanner.rb, line 530
        def scanCodeblock( innerDelim=CodeblockDelimiters, prefix='\s*', outerDelim=innerDelim )
                self.matchError       = nil
                result                        = nil
                startPos              = self.pointer

                prefix                        ||= '\s*'
                innerDelim            ||= CodeblockDelimiters
                outerDelim            ||= innerDelim

                depth = caller(1).find_all {|frame|
                        frame =~ /in `scan(Variable|Tagged|Codeblock|Bracketed|Quotelike)'/
                }.length

                begin
                        debugMsg 3, "Calling matchCodeBlock( %s, %s, %s )",
                                prefix.inspect, innerDelim.inspect, outerDelim.inspect
                        result = matchCodeblock( prefix, innerDelim, outerDelim )
                rescue MatchFailure => e
                        debugMsg( depth + 1, "Match error: %s" % e.message )
                        self.matchError = e.message
                        self.pointer = startPos
                        result = nil
                rescue => e
                        self.pointer = startPos
                        Kernel::raise
                end

                return result
        end