summaryrefslogtreecommitdiff
path: root/src/engine
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2005-09-21 13:02:57 +0000
committerSteven Knight <knight@baldmt.com>2005-09-21 13:02:57 +0000
commit287f3eca5a702854890479f398a0800fa43d5c1a (patch)
treed07f4f23a1e4ba803db457acc9f2bdc91ccb1a0c /src/engine
parente1396d1d472af57da30cc822da5494f208f115eb (diff)
downloadscons-287f3eca5a702854890479f398a0800fa43d5c1a.tar.gz
Document the necessity of passing in "target" to and "source" to env.subst() calls that want to expand ${TARGET,TARGETS,SOURCE,SOURCES}. Also, speed up the Variable_Method_Caller class.
Diffstat (limited to 'src/engine')
-rw-r--r--src/engine/SCons/Defaults.py16
1 files changed, 7 insertions, 9 deletions
diff --git a/src/engine/SCons/Defaults.py b/src/engine/SCons/Defaults.py
index c1b9d3f4..5c9d5e7e 100644
--- a/src/engine/SCons/Defaults.py
+++ b/src/engine/SCons/Defaults.py
@@ -332,17 +332,15 @@ class Variable_Method_Caller:
def __call__(self, *args, **kw):
try: 1/0
except ZeroDivisionError: frame = sys.exc_info()[2].tb_frame
- variable = None
+ variable = self.variable
while frame:
- try:
- variable = frame.f_locals[self.variable]
- except KeyError:
- pass
+ if frame.f_locals.has_key(variable):
+ v = frame.f_locals[variable]
+ if v:
+ method = getattr(v, self.method)
+ return apply(method, args, kw)
frame = frame.f_back
- if variable is None:
- return None
- method = getattr(variable, self.method)
- return apply(method, args, kw)
+ return None
ConstructionEnvironment = {
'BUILDERS' : {},