either because they themselves are not ready or because a
dependency isn't. This is annotated by
PYTHON_VERSIONS_INCOMPATIBLE= 33 # not yet ported as of x.y.z
or
PYTHON_VERSIONS_INCOMPATIBLE= 33 # py-foo, py-bar
respectively, please use the same style for other packages,
and check during updates.
Use versioned_dependencies.mk where applicable.
Use REPLACE_PYTHON instead of handcoded alternatives, where applicable.
Reorder Makefile sections into standard order, where applicable.
Remove PYTHON_VERSIONS_INCLUDE_3X lines since that will be default
with the next commit.
Whitespace cleanups and other nits corrected, where necessary.
Version 0.8.19 - 8 January 2011
* Add support for Python 2.7
* Fixed SF Bug [ 2209631 ]:
New pcmodules.py module, modulePath code causes import error
* Fixed SF Bug [ 1565876 ]:
pychecker does not allow lambda with setattr and const
* Fixed SF Bug [ 1564614 ]:
pychecker -q on 64-bit ignores the platform-specific stdlib
* Fixed SF Bug [ 1563572 ]:
order of checking files affects errors reported
PyChecker was only checking one of each set of modules with the same
name; so it will now catch many more warnings it was missing before.
* Fixed SF Bug [ 1563495 ]:
couldn't find real module does not respect blacklist
* Fixed SF Bug [ 1563494 ]:
pychecker tracebacks when importing zope.interface.declaration
* Add unittest-based testsuite.
* Warn about missing opcodes.
* Added implementations for the following opcodes:
BUILD_SLICE, DELETE_SLICE3, DUP_TOPX, JUMP_IF_FALSE/TRUE,
JUMP_IF_FALSE/TRUE_OR_POP, MAP_ADD, PRINT_NEWLINE_TO, SET_ADD, SETUP_WITH,
SLICE0, STORE_MAP, STORE_SLICE+0, STORE_SLICE2, WITH_CLEANUP, YIELD_VALUE
Version 0.8.18 - 17 August 2008
* Fixed SF Bug [ 1827412 ] pychecker.bat only handles 9 cmdline args
* Fix warning about comparison checking with bool false alert for 'in' and 'not in'
* Add warning for using __set__, __get__, and __delete__ in an old-style class
* Fix spurious warning about __set__, __get__, and __delete__ not being special
methods.
* Fix inability to disable Warning about constant setattr()/getattr()
* Fix spurious warning on min/max not accepting kwarg of key in Python 2.5
* Add some __special__ pickling methods that were missing
* Add --missingattrs option to ignore some (but not all) attribute names
* Fix crash when using keyword arguments with builtin methods
* Add --keepgoing option to ignore import errors
* Add --findevil option to make it easier to find objects that crash the interpreter
* Add support for Python 2.5
Version 0.8.17 - 3 February 2006
* Fix spurious warning for Statement with no effect using bit shifts
* Add -#/--limit command line option to set the max # of warnings to show
* Remove broken command line options: -e/--errors, --complexity
* Add -e/--level command line options which allows the error level
to be specified: error, security, warning, unused, deprecated, style.
These names map to numbers: 90, 90, 70, 50, 40, 10 (error == security).
Specifying a value means all levels equal to or greater than it.
* Add --only option which displays warnings only for files specified
on the command line
* Add --evil option for users to prevent the interpreter from crashing
due to broken C extensions
* Fix wrong file name when warning about returning values from
__init__ functions. (#1291116)
* Fix a few more glitches with setup.py.
* Suppress warning about integer division when the code is: int(x / y)
* Add code to skip testing objects from extension modules that are
known to crash the interpreter. Currently, the list includes old versions of
matplotlib.axes.BinOpType and wx.TheClipboard.
* Support ROT_THREE and ROT_FOUR opcodes
Version 0.8.16 - 4 September 2005
* Fix problems installing on Windows and running setup.py build
Version 0.8.14 - 6 June 2004
* Fix spurious warning in Python 2.3+ when doing a,b = 1,2
* Add warning to check for "if s.find(str):"
this should be "if s.find(str) >= 0:" when s is a string
* Fix spurious warning when using augmented assignment (e.g., x += x)
* Fix spurious warning when doing x = not x
* Fix spurious warning for invalid arg count when calling a staticmethod
* Fix spurious warning for setting a variable to itself when: x, y, z = x
* Fix spurious warning when doing some binary operations: self.a ^ self.b
* Fix crash in STORE_ATTR with some list comprehensions in Python 2.2
e.g., a.a = [x for x in range(2) if x > 1]
* Support Tk 8.4 and above in the GUI (change col= to column=)
Version 0.8.13 - 18 November 2003
* Add -s/--shadowbuiltin option to warn when overriding a builtin
* Add warning when assigning a variable to itself
* Add warning when dividing a variable by itself
* Add warnings when using a bit-wise operator with the same variable (a & a)
* Add warning when passing a constant string to getattr()/setattr()
* Add --special option to check for __special__ (reserved) method names
and that their signature (argument count) is correct
* Add warning for using __getattribute__ in an old-style class
* Suppress 'self as first argument' warning for static and class methods
* Add --classmethodargs option to specify first argument name
for class methods
Inspired by FreeBSD "ports".
Fix the PLISTs accordingly.
Also, while at it, remove now obsolete compileall.py calls in post-install
targets and insure that extension.mk is in included before builinlinks of
other Python modules.
Discussed with/ok'ed by drochner@.