# HG changeset patch # User cmlenz # Date 1154698751 0 # Node ID 0288dedce3d2692717a9a3d92041f1aac3355d0f # Parent 203f459e7e260531fbbda5923b51337204d087b0 Name lookup in expressions: try locals first, then the context. diff --git a/markup/eval.py b/markup/eval.py --- a/markup/eval.py +++ b/markup/eval.py @@ -104,7 +104,7 @@ filename = filename.encode('utf-8', 'replace') elif not filename: filename = '' - tree.filename = '' + tree.filename = filename if lineno <= 0: lineno = 1 @@ -119,10 +119,12 @@ code.co_names, code.co_varnames, filename, code.co_name, lineno, code.co_lnotab, (), ()) -def _lookup_name(data, name, locals=None): - val = data.get(name) - if val is None and locals: - val = locals.get(name) +def _lookup_name(data, name, locals_=None): + val = None + if locals_: + val = locals_.get(name) + if val is None: + val = data.get(name) if val is None: val = getattr(__builtin__, name, None) return val