diff options
author | Steven Knight <knight@baldmt.com> | 2005-09-21 13:02:57 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2005-09-21 13:02:57 (GMT) |
commit | 287f3eca5a702854890479f398a0800fa43d5c1a (patch) | |
tree | d07f4f23a1e4ba803db457acc9f2bdc91ccb1a0c /src/engine | |
parent | e1396d1d472af57da30cc822da5494f208f115eb (diff) | |
download | SCons-287f3eca5a702854890479f398a0800fa43d5c1a.zip SCons-287f3eca5a702854890479f398a0800fa43d5c1a.tar.gz SCons-287f3eca5a702854890479f398a0800fa43d5c1a.tar.bz2 |
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.py | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/src/engine/SCons/Defaults.py b/src/engine/SCons/Defaults.py index c1b9d3f..5c9d5e7 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' : {}, |