summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Script/SConscript.py
diff options
context:
space:
mode:
authorWilliam Deegan <bill@baddogconsulting.com>2017-03-10 21:19:42 (GMT)
committerWilliam Deegan <bill@baddogconsulting.com>2017-03-10 21:19:42 (GMT)
commit029cc649663f8e833a380018c73144b6c8c4c2fe (patch)
tree710e9174db9e253d079f7f8bd98bbddbd7f9f9d2 /src/engine/SCons/Script/SConscript.py
parent44f20c13b64b2064d76aebaf7c367a18482d4b04 (diff)
downloadSCons-029cc649663f8e833a380018c73144b6c8c4c2fe.zip
SCons-029cc649663f8e833a380018c73144b6c8c4c2fe.tar.gz
SCons-029cc649663f8e833a380018c73144b6c8c4c2fe.tar.bz2
Fixing SConsValues to work with py2/3. Turns out because in py2 optparse.Values is a classic class deepcopy works different than in py3 when it's a modern class (no more classic classes). The net of which is deepcopy will look for various methods to copy the objects state, __deepcopy__, something else, then __setstate__. When it checks for __setstate__ it trys on a blank SConsValue instance which doesn't have __defaults__ and so SConsValues ends up throwing a KeyError exception. deepcopy is looking for an AttributeError exception to know that __setstate__ is not available. Once it receives the appropriate exception, it then properly copies the object and scons interactive mode works with py3
Diffstat (limited to 'src/engine/SCons/Script/SConscript.py')
0 files changed, 0 insertions, 0 deletions