summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/compat
Commit message (Collapse)AuthorAgeFilesLines
* For some reason, using the `imp` module to do imports doesn't do quite theGreg Noel2010-06-072-21/+11
| | | | | | | | | same thing as using the 'import' statement, even though the documentation clearly says that the 'import' statement uses the 'imp' module under the covers. I have no clue why, but there were some cases where it made a difference. The code was changed to using 'imp' to prevent the fixers from trying to convert the old names to the new names, so this changeset uses a different technique to hide the old names.
* Convert old-style classes in compat/*.py modules to new-style classes.Steven Knight2010-05-163-11/+4
|
* Use slice built-in instead of types.SliceTypeGreg Noel2010-05-011-2/+1
|
* Fix regression tests (imports not happening as expected)Greg Noel2010-04-251-14/+1
|
* Add compat support for renaming '_winreg' as 'winreg' in Python 3.x.Greg Noel2010-04-251-50/+26
|
* Remove the compat version of the "platform" module.Greg Noel2010-04-242-244/+0
|
* http://scons.tigris.org/issues/show_bug.cgi?id=2345Greg Noel2010-04-241-17/+2
| | | | | | | Comb out all code that supported earlier versions of Python. Most such code is in snippets of only a few lines and can be identified by having a Python version string in it. Such snippets add up; this combing pass probably got rid of over 500 lines of code.
* http://scons.tigris.org/issues/show_bug.cgi?id=2317Greg Noel2010-04-231-1/+1
| | | | | | Apply the refactorings from the 'dict' fixer, less occurrences that were manually audited to be safe. Also pick up changes in bin/sfsum, a Python file that was not being scanned before.
* http://scons.tigris.org/issues/show_bug.cgi?id=2345Greg Noel2010-04-211-30/+9
| | | | Apply the 'itertools' and 'itertools_imports' fixers.
* http://scons.tigris.org/issues/show_bug.cgi?id=2345Greg Noel2010-04-211-1/+1
| | | | | | Pass the python executable from the -P option to runtest to TestCmd.py. Create the escaped executable name in TestCmd.py as well. Pass those two values into derived test modules. Fix cascade problems in test scripts due to incorrect assumptions about the name of the executable.
* Remove the compat version of the tempfile.mkstemp() function.Steven Knight2010-04-191-35/+0
|
* Remove the compat shutil.move() function.Steven Knight2010-04-191-39/+0
|
* Remove the compat version of the "shlex" module.Steven Knight2010-04-192-345/+0
|
* Remove the compat version of the "textwrap" module.Steven Knight2010-04-192-389/+0
|
* Remove the compat version of the "optparse" module.Steven Knight2010-04-192-1722/+0
|
* Remove the compat version of the "itertools" module.Steven Knight2010-04-192-129/+0
|
* Remove compat fnmatch.filter() support.Steven Knight2010-04-191-28/+0
|
* Index: test/Variables/help.pyGreg Noel2010-04-191-78/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | =================================================================== --- test/Variables/help.py (revision 4792) +++ test/Variables/help.py (working copy) @@ -28,23 +28,15 @@ Test the Variables help messages. """ -import os.path +import os -try: - True, False -except NameError: - exec('True = (0 == 0)') - exec('False = (0 != 0)') +import TestSCons str_True = str(True) str_False = str(False) -import TestSCons - test = TestSCons.TestSCons() - - workpath = test.workpath() qtpath = os.path.join(workpath, 'qt') libpath = os.path.join(qtpath, 'lib') Index: test/Variables/PackageVariable.py =================================================================== --- test/Variables/PackageVariable.py (revision 4792) +++ test/Variables/PackageVariable.py (working copy) @@ -28,14 +28,8 @@ Test the PackageVariable canned Variable type. """ -import os.path +import os -try: - True, False -except NameError: - exec('True = (0 == 0)') - exec('False = (0 != 0)') - import TestSCons test = TestSCons.TestSCons() Index: test/Variables/BoolVariable.py =================================================================== --- test/Variables/BoolVariable.py (revision 4792) +++ test/Variables/BoolVariable.py (working copy) @@ -28,14 +28,8 @@ Test the BoolVariable canned Variable type. """ -import os.path +import os -try: - True, False -except NameError: - exec('True = (0 == 0)') - exec('False = (0 != 0)') - import TestSCons test = TestSCons.TestSCons() Index: test/Deprecated/Options/help.py =================================================================== --- test/Deprecated/Options/help.py (revision 4792) +++ test/Deprecated/Options/help.py (working copy) @@ -28,24 +28,16 @@ Test the Options help messages. """ -import os.path +import os import re -try: - True, False -except NameError: - exec('True = (0 == 0)') - exec('False = (0 != 0)') +import TestSCons str_True = str(True) str_False = str(False) -import TestSCons - test = TestSCons.TestSCons(match = TestSCons.match_re_dotall) - - workpath = test.workpath() qtpath = os.path.join(workpath, 'qt') libpath = os.path.join(qtpath, 'lib') Index: test/Deprecated/Options/PackageOption.py =================================================================== --- test/Deprecated/Options/PackageOption.py (revision 4792) +++ test/Deprecated/Options/PackageOption.py (working copy) @@ -28,14 +28,8 @@ Test the PackageOption canned Option type. """ -import os.path +import os -try: - True, False -except NameError: - exec('True = (0 == 0)') - exec('False = (0 != 0)') - import TestSCons test = TestSCons.TestSCons(match = TestSCons.match_re_dotall) Index: test/Deprecated/Options/BoolOption.py =================================================================== --- test/Deprecated/Options/BoolOption.py (revision 4792) +++ test/Deprecated/Options/BoolOption.py (working copy) @@ -28,12 +28,6 @@ Test the BoolOption canned Option type. """ -try: - True, False -except NameError: - exec('True = (0 == 0)') - exec('False = (0 != 0)') - import TestSCons test = TestSCons.TestSCons(match = TestSCons.match_re_dotall) Index: src/script/scons-time.py =================================================================== --- src/script/scons-time.py (revision 4792) +++ src/script/scons-time.py (working copy) @@ -45,13 +45,6 @@ import time try: - True, False -except NameError: - # Pre-2.2 Python has no True or False keyword. - exec('True = not 0') - exec('False = not 1') - -try: sorted except NameError: # Pre-2.4 Python has no sorted() function. Index: src/engine/SCons/compat/_scons_builtins.py =================================================================== --- src/engine/SCons/compat/_scons_builtins.py (revision 4792) +++ src/engine/SCons/compat/_scons_builtins.py (working copy) @@ -37,13 +37,8 @@ all() any() - bool() - dict() sorted() memoryview() - True - False - zip() Implementations of functions are *NOT* guaranteed to be fully compliant with these functions in later versions of Python. We are only concerned @@ -62,22 +57,6 @@ import builtins try: - False -except NameError: - # Pre-2.2 Python has no False keyword. - exec('builtins.False = not 1') - # Assign to False in this module namespace so it shows up in pydoc output. - #False = False - -try: - True -except NameError: - # Pre-2.2 Python has no True keyword. - exec('builtins.True = not 0') - # Assign to True in this module namespace so it shows up in pydoc output. - #True = True - -try: all except NameError: # Pre-2.5 Python has no all() function. @@ -108,42 +87,6 @@ any = any try: - bool -except NameError: - # Pre-2.2 Python has no bool() function. - def bool(value): - """Demote a value to 0 or 1, depending on its truth value. - - This is not to be confused with types.BooleanType, which is - way too hard to duplicate in early Python versions to be - worth the trouble. - """ - return not not value - builtins.bool = bool - bool = bool - -try: - dict -except NameError: - # Pre-2.2 Python has no dict() keyword. - def dict(seq=[], **kwargs): - """ - New dictionary initialization. - """ - d = {} - for k, v in seq: - d[k] = v - d.update(kwargs) - return d - builtins.dict = dict - -try: - file -except NameError: - # Pre-2.2 Python has no file() function. - builtins.file = open - -try: memoryview except NameError: # Pre-2.7 doesn't have the memoryview() built-in. @@ -185,27 +128,6 @@ return result builtins.sorted = sorted -# -try: - zip -except NameError: - # Pre-2.2 Python has no zip() function. - def zip(*lists): - """ - Emulates the behavior we need from the built-in zip() function - added in Python 2.2. - - Returns a list of tuples, where each tuple contains the i-th - element rom each of the argument sequences. The returned - list is truncated in length to the length of the shortest - argument sequence. - """ - result = [] - for i in range(min(list(map(len, lists)))): - result.append(tuple([l[i] for l in lists])) - return result - builtins.zip = zip - #if sys.version_info[:3] in ((2, 2, 0), (2, 2, 1)): # def lstrip(s, c=string.whitespace): # while s and s[0] in c: Index: runtest.py =================================================================== --- runtest.py (revision 4792) +++ runtest.py (working copy) @@ -97,17 +97,6 @@ import time try: - x = True -except NameError: - True = not 0 - False = not 1 -else: - del x - -if not hasattr(os, 'WEXITSTATUS'): - os.WEXITSTATUS = lambda x: x - -try: sorted except NameError: # Pre-2.4 Python has no sorted() function. Index: QMTest/TestSCons.py =================================================================== --- QMTest/TestSCons.py (revision 4792) +++ QMTest/TestSCons.py (working copy) @@ -23,12 +23,6 @@ import sys import time -try: - True -except NameError: - exec('True = not 0') - exec('False = not 1') - from TestCommon import * from TestCommon import __all__
* http://scons.tigris.org/issues/show_bug.cgi?id=2345Greg Noel2010-04-172-23/+16
| | | | | Fix the 'assignment to True or False' and the '__getitem__ not supported for exception classes' deprecation warnings.
* http://scons.tigris.org/issues/show_bug.cgi?id=2345Greg Noel2010-04-152-14/+37
| | | | | | | | | Fixes due to running the regression tests with the '-3' option to Python2.6, which causes the run-time to look for potential compatibility problems with Python 3.x. In some cases, all we can do is quiet the warning since we still support Python versions that can't use the newer idiom. In other cases, we fix the problem. This patch contains a mix of quieting and fixing, plus a little lint.
* Refactor use of basestring to use exec() on attempted assignment ofSteven Knight2010-04-151-6/+5
| | | | | basestring to an internal variable (which we thenuse in a common is_basestring() utility function), to avoid triggering the basestring fixer.
* http://scons.tigris.org/issues/show_bug.cgi?id=2345Greg Noel2010-04-155-18/+18
| | | | | | Apply the first part of the 'raise' fixer (the three-argument cases are not converted and will need to wait until native support of with_traceback() is available).
* Add a stub compat/_scon_dbm.py module and copy whichdb.whichdb() toSteven Knight2010-04-142-2/+60
| | | | dbm.whichdb() if necessary.
* Avoid 3.0 fixer issues by not using module names as variable names.Steven Knight2010-04-134-25/+51
|
* Issue 2336: Forward compatibility for use of the "builtins" moduleSteven Knight2010-04-123-45/+52
| | | | instead of __builtin__.
* Towards issue 2336: Rename the compat/builtins.py module toSteven Knight2010-04-112-1/+1
| | | | compat/_scons_builtings.py, to avoid the name conflict.
* Add compat "collections" module for pre-2.4 Python verseions. For now.Steven Knight2010-04-112-18/+66
|
* Issue 2331: For forward compatibility, use "import pickle" and haveSteven Knight2010-04-091-0/+14
| | | | the SCons.compat layer import cPickle as pickle when it's available.
* Issue 2330: For forward compatibility, use "import profile" and haveSteven Knight2010-04-091-0/+14
| | | | the SCons.compat layer import cProfile as profile when it's available.
* Issue 2334: Use compatibility versions of collections.User{Dict,List,String}Steven Knight2010-04-072-99/+22
| | | | | instead of the deprecated User{Dict,List,String} modules. The two test scripts that use User{List,String} fall back on ImportError by hand.
* Issue 2332: Convert from using StringIO.StringIO class to using theSteven Knight2010-04-072-0/+46
| | | | | forward-compatible io.StringIO class, with the addition of an "io" compatibility module for Python versions before 2.6.
* http://scons.tigris.org/issues/show_bug.cgi?id=2345Greg Noel2010-03-295-200/+27
| | | | | | | | | | | | | The 'buffer' fixer simply replaces 'buffer( ... )' with 'memoryview( ... )', which is incorrect for our cases, so these changes had to be done by hand and a forward-compatibility class added. The 'xrange' fixer was applied. Manual changes were minimal: a few case in test strings and one use of 'range' as an identifer in the same scope as where 'xrange' was converted to 'range'. The "sets15" compat function, which provided backward compatibility for Python versions prior to 2.2, was removed as no longer needed.
* http://scons.tigris.org/issues/show_bug.cgi?id=2345Greg Noel2010-03-2911-98/+86
| | | | | | | Accumulated small fixers: renames, next, zip, and intern. Files that were modified or added while developing on branches/pending didn't have the fixers previously applied. This patchset picks up those.
* http://scons.tigris.org/issues/show_bug.cgi?id=2329Greg Noel2010-03-274-40/+28
| | | | | | | | | | | | | | | Applied a number of idiomatic changes. Uses of the 'sort()' method were converted into calls of 'sorted()' when possible and the sorted() expression was inserted into a subsequent statement whenever that made sense. The statement 'while 1:' was changed to 'while True:'. Names from the 'types' module (e.g., 'types.FooType') were converted to the equivalent build-in type (e.g., 'foo'). Comparisons between types were changed to use 'isinstance()'.
* Issue 2327: provide a compat sorted() function for pre-2.4 Python versions.Steven Knight2010-03-251-0/+33
|
* http://scons.tigris.org/issues/show_bug.cgi?id=2341Greg Noel2010-03-251-1/+1
| | | | | | | | Wrap a zip() expression in list(). http://scons.tigris.org/issues/show_bug.cgi?id=2342 Remove the 'L' from 'long' variables (no longer needed).
* Move 2.0 changes collected in branches/pending back to trunk for furtherGreg Noel2010-03-253-3/+30
| | | | | development. Note that this set of changes is NOT backward-compatible; the trunk no longer works with Python 1.5.2, 2.0, or 2.1.
* It should now handle picking up the SDK compilers when the VC vcvarsall.bat ↵William Deegan2010-02-041-15/+17
| | | | | | | | | | | | | doesn't pick them. Perhaps not for all flavors of the SDK, but for SDK 7.0. Currently the following tests fail: Failed the following 2 tests: test\IDL\midl.py test\Win32\scons-bat-error.py We should add to the docs which combinations of VC and SDK we expect to work, and which have been tested.
* Add a compat module for the (Python 2.3) platform.py module so that testsSteven Knight2009-11-272-0/+245
| | | | | | using early Python versions work correctly, and without relying on the QMTest infrastructure adding the installed Python version's directories to sys.path.
* Python 1.5 compat: if 'text' in kw.keys()Steven Knight2009-11-231-1/+3
|
* 1.5 fix: use apply() instead of (*args, **kw).Steven Knight2009-11-151-2/+2
|
* 1.5.2 fix in compat/__init__.py: "flags |= ..." => "flags = flags | ..."Steven Knight2009-11-151-1/+1
|
* Apply patch submitted in issue #947 to fix race condition inGary Oberbrunner2009-11-151-0/+35
| | | | | TempFileMunge by using mkstemp instead of mktemp. Includes pre-Python-2.3 compat version of mkstemp. Thanks to Jim Randall.
* Issue 2326, change execfile() to exec ... (FIXED)Greg Noel2009-03-081-1/+1
|
* replace execfile() by equivalent exec statementGreg Noel2009-03-021-1/+1
|
* Issue 2152: Fix the ability of --clean to handle / delete brokenSteven Knight2009-02-231-0/+7
| | | | symlinks, as well as named pipes. (Mateusz Gruca)
* Add emacs and vim editing settings to the bottom of *.py files.Steven Knight2009-02-0911-0/+66
|
* Issue 2247: Don't fail if we can't import a _subprocess module on Windows.Steven Knight2008-12-201-1/+5
|
* Issue 2228: Add os.devnull to the SCons.compat layer.Steven Knight2008-10-281-0/+13
|
* 1.5 / 2.[012] compatiblity: shutil.move() function.Steven Knight2008-09-231-0/+40
|