Edgewall Software

Ticket #190: noastplay.diff

File noastplay.diff, 2.5 kB (added by cmlenz, 7 months ago)

Remove AST stuff

  • genshi/template/eval.py

     
    5454                      if `None`, the appropriate transformation is chosen 
    5555                      depending on the mode 
    5656        """ 
    57         if isinstance(source, basestring): 
    58             self.source = source 
    59             node = _parse(source, mode=self.mode) 
    60         else: 
    61             assert isinstance(source, ast.Node), \ 
    62                 'Expected string or AST node, but got %r' % source 
    63             self.source = '?' 
    64             if self.mode == 'eval': 
    65                 node = ast.Expression(source) 
    66             else: 
    67                 node = ast.Module(None, source) 
    68  
    69         self.ast = node 
    70         self.code = _compile(node, self.source, mode=self.mode, 
    71                              filename=filename, lineno=lineno, xform=xform) 
     57        self.code = compile(source, filename or '?', self.mode) 
    7258        if lookup is None: 
    7359            lookup = LenientLookup 
    7460        elif isinstance(lookup, basestring): 
     
    140126        """ 
    141127        __traceback_hide__ = 'before_and_this' 
    142128        _globals = self._globals() 
    143         _globals['__data__'] = data 
    144         return eval(self.code, _globals, {'__data__': data}) 
     129        return eval(self.code, _globals, data) 
    145130 
    146131 
    147132class Suite(Code): 
     
    162147        """ 
    163148        __traceback_hide__ = 'before_and_this' 
    164149        _globals = self._globals() 
    165         _globals['__data__'] = data 
    166150        exec self.code in _globals, data 
    167151 
    168152 
     
    403387        if len(lines) > 1: 
    404388            extract += ' ...' 
    405389        name = '<Suite %r>' % (extract) 
    406     gen.optimized = True 
    407390    code = gen.getCode() 
    408391 
    409392    # We'd like to just set co_firstlineno, but it's readonly. So we need to 
     
    487470        return self._clone(node, self.visit(node.expr), node.attrname) 
    488471 
    489472    def visitLambda(self, node): 
    490         node = self._clone(node, node.argnames, 
     473        return self._clone(node, node.argnames, 
    491474            [self.visit(x) for x in node.defaults], node.flags, 
    492475            self.visit(node.code) 
    493476        ) 
    494         return node 
    495477 
    496478    def visitSubscript(self, node): 
    497479        return self._clone(node, self.visit(node.expr), node.flags, 
     
    729711            return ASTTransformer.visitLambda(self, node) 
    730712        finally: 
    731713            self.locals.pop() 
    732  
     714  
    733715    def visitListComp(self, node): 
    734716        self.locals.append(set()) 
    735717        try: