2016-04-13 Phil Thompson * .hgtags: Added tag 4.18 for changeset b51768a1749e [1da474e6ccc1] [tip] * NEWS, sphinx/specification_files.rst: Released as v4.18. [b51768a1749e] [4.18] * METADATA.in, sipgen/export.c, sipgen/type_hints.c: Fixed the type hints for arrays. [02a712634ce1] 2016-04-09 Phil Thompson * METADATA.in: Updated the description in the meta-data. [d9eb656132f3] 2016-04-08 Phil Thompson * METADATA.in: Further tweak to METADATA.in. [9acfb4baa44c] * METADATA.in: Use v1.1 meta-data rather than v2.0. [8d9645471343] * METADATA.in: Fixed a typo. [4a9ee34e65c3] * METADATA.in, rbproduct.py: Added the METADATA.in file. [39106871989b] 2016-04-05 Phil Thompson * rbproduct.py: Updated the product plugin. [e42e999389f9] * rbproduct.py: Added the rbtools product plugin. [b9ba57967915] 2016-03-30 Phil Thompson * sphinx/incompatibilities.rst: Fixed a Sphinx warning message. [ae966103325c] * sipgen/main.c, sipgen/sip.h.in, sipgen/transform.c: Fixed the use of SIP_NORETURN. [b3a916e0bc78] 2016-03-25 Phil Thompson * sipgen/export.c: Fixed a regression in the exporting of the XML API files. [c7714bbbdae7] * build.py, sphinx/build_system.rst, sphinx/c_api.rst, sphinx/python_api.rst: Adopt the new standards for naming development versions. [72140f544ef1] * sphinx/annotations.rst: Fixed a bug in the documentation. [9e4ee12928cd] * .hgignore: Added the .hgignore file. [e1d2556ce4a2] 2016-03-04 Phil Thompson * sipgen/gencode.c: __long__ gets translated to __int__ for Python v3. [a4f8a7810cc3] 2016-03-01 Phil Thompson * sipgen/type_hints.c, sphinx/annotations.rst: Type hints are ignored if an argument is constrained. [f041cf891a29] * sipgen/type_hints.c: Implement the flattening of Unions in type hints. [ff5f0d0251e0] 2016-02-29 Phil Thompson * sipgen/sip.h.in, sipgen/type_hints.c: Reimplemented the type hint parser so it can handle recursive definitions properly. [506e30d92b51] 2016-02-27 Phil Thompson * sipgen/type_hints.c: Fixed type hints for enums in mapped types. [efb04ab24462] * sipgen/type_hints.c: Fixed type hints for the return values of functions. [b5c392c71f78] * sipgen/type_hints.c: Added Iterable to the list of known typing module objects. [a1d1a573a304] 2016-02-26 Phil Thompson * sipgen/sip.h.in, sipgen/type_hints.c: Fixed the handling of recursively defined type hints. [b5abe12b4968] 2016-02-25 Phil Thompson * sipgen/sip.h.in, sipgen/type_hints.c: The typing module is now imported as a whole rather than individual objects. [ac67b3f0bd95] 2016-02-24 Phil Thompson * sip.pyi: Fixed the Buffer type hint. [78a799aec114] * sipgen/type_hints.c: Don't generate type hints for the sequence concat and repeat slots (and the inplace versions). [a5ae3982ff5f] * sipgen/metasrc/parser.y, sphinx/directives.rst: Exported type hint code is no longer included in the module that defines it. [442b3ed07ae6] * sipgen/type_hints.c: Exclude external classes when looking up a class. [61fe4c76a394] * sipgen/transform.c, sipgen/type_hints.c: Fixed type hints and docstrings for const template arguments. [679c13adda6a] * sipgen/metasrc/parser.y, sipgen/sip.h.in, sipgen/type_hints.c, sphinx/directives.rst: %TypeHintCode can now be used in a class. [053c7351dba2] 2016-02-19 Phil Thompson * sipgen/type_hints.c: Don't generate type hints for slots that can return Py_NotImplemented. Make sure callables generate a valid (but vague) type hint. [883918a8dc36] 2016-02-18 Phil Thompson * sip.pyi, sipgen/type_hints.c: Tweaks to the type hint support. [785978d8f7e3] 2016-02-16 Phil Thompson * sipgen/metasrc/parser.y, sipgen/sip.h.in, sipgen/transform.c, sipgen/type_hints.c, sphinx/annotations.rst: Added the /TypeHint/, /TypeHintOut/ and /TypeHintValue/ class annotations. [4f5dc2c51d06] * sipgen/type_hints.c: Moved the old-style signal/slot type hints to PyQt4. [4689a40f7e7d] 2016-02-15 Phil Thompson * sipgen/metasrc/parser.y, sipgen/sip.h.in, sipgen/transform.c, sphinx/annotations.rst: Implemented /TypeHintValue/ as a mapped type annotation. [2418e7f7760d] * build.py: Make sure sip.pyi is included in the source package. [1eabde271e53] 2016-02-11 Phil Thompson * sipgen/gencode.c, sipgen/metasrc/lexer.l, sipgen/metasrc/parser.y, sipgen/transform.c, siplib/siplib.c.in: Eliminate a few compiler warnings. [e864a0451a4a] 2016-02-10 Phil Thompson * sipgen/type_hints.c: More fixes for Optional handling. [365d31de81fd] * sipgen/type_hints.c: Use Optional properly. [ab7d66d1ea0d] 2016-02-09 Phil Thompson * sipgen/type_hints.c: PY_TYPE and PY_SLICE aren't actually needed. [9778770c65a5] 2016-02-08 Phil Thompson * sipgen/type_hints.c: Fixed the translation of Any to object in docstrings. [7571d96c1f79] * sipgen/export.c, sipgen/gencode.c, sipgen/sip.h.in, sipgen/type_hints.c: Docstrings now use a format based on type hints. [9de9b0470aa6] 2016-02-05 Phil Thompson * sipgen/transform.c: Don't complain about a lack of %SetCode when /NoSetter/ is specified. [cf4db5eb171a] * sipgen/metasrc/parser.y: Fixed some typos in error messages. [82a34911686f] * sipgen/metasrc/lexer.l, sipgen/metasrc/parser.y, sphinx/directives.rst: Renamed %ModuleTypeHintCode to %TypeHintCode. [73b214c14dde] * sipgen/type_hints.c, sphinx/annotations.rst: Documented the /NoTypeHint/ annotations. [26e59a86ca45] * sipgen/metasrc/parser.y, sipgen/sip.h.in, sipgen/transform.c, sipgen/type_hints.c: Implemented the /NoTypeHint/ annotation. Fixed a bug to make sure type header code is included before enum slot code needs it. [1943d4866c73] * sipgen/metasrc/parser.y, sipgen/type_hints.c: More flexible handling of ellipsis when /NoArgParser/ is specified. [7097a0008042] * sipgen/metasrc/parser.y, sipgen/sip.h.in, sipgen/type_hints.c: Protect against (possible) recursion when handling type hints for mapped types. [9402857f5eb6] * sipgen/metasrc/parser.y, sipgen/sip.h.in, sipgen/transform.c, sipgen/type_hints.c: Fixed class /TypeHintIn/ when used with a template. [3a914d9789e0] 2016-02-04 Phil Thompson * sipgen/metasrc/parser.y, sipgen/sip.h.in, sipgen/type_hints.c, sphinx/annotations.rst: Added /TypeHintIn/ as a class annotation. [92d3d32ebf64] 2016-02-03 Phil Thompson * sipgen/export.c, sipgen/metasrc/parser.y, sipgen/sip.h.in, sipgen/transform.c, sipgen/type_hints.c: Completed the implementation of /TypeHintIn/ and /TypeHintOut/. [70e9172c61b7] * sipgen/export.c, sipgen/metasrc/parser.y, sipgen/sip.h.in: Implement /TypeHintValue/ as a synonym for /DocValue/ for the moment. [df8230d91f9f] * sipgen/metasrc/parser.y, sphinx/annotations.rst: Adde the stubs of the /TypeHintIn/, /TypeHintOut/ and /TypeHintValue/ annotations. [aeb5d848b98a] * sipgen/metasrc/parser.y, sphinx/annotations.rst: Deprecated /DocType/ and /DocValue/. [ec369060cd94] * sipgen/main.c, sipgen/metasrc/parser.y, sipgen/type_hints.c, sphinx/command_line.rst: Added the -f command line option to treat warnings as errors. [fc945a2d732f] 2016-02-02 Phil Thompson * sipgen/type_hints.c: Added Iterator and Mapping to the objecys imported from typing. [6d439bc77538] * sipgen/type_hints.c: Fixed references to mapped types imported from other modules. [b579781f2a2a] * sipgen/type_hints.c: Don't try and create type hints for global slots. [11562a825b7c] * sipgen/type_hints.c: Bug fix when looking up enums. [a4b89fac02d3] * sipgen/type_hints.c: Added PEP 484 support for composite modules. [99e626f4fd23] * sipgen/type_hints.c: Fixed PEP 484 support for all callables with a non-default API version. [b2f8e2fed83d] * sipgen/type_hints.c: Completed the PEP 484 support for mapped types. [b06408ae2397] * sipgen/export.c, sipgen/sip.h.in, sipgen/type_hints.c: More PEP 484 bug fixes. [3e4df4d97ba5] 2016-01-31 Phil Thompson * NEWS, sphinx/directives.rst, sphinx/specification_files.rst: Documented the %ExportedTypeHintCode and %ModuleTypeHintCode directives. [cc7f789360b8] * NEWS, sipgen/metasrc/lexer.l, sipgen/metasrc/parser.y, sipgen/sip.h.in, sipgen/type_hints.c, sphinx/directives.rst: Added the %ExportedTypeHintCode and %ModuleTypeHintCode directives. [aef93197b065] * sipgen/metasrc/parser.y, sipgen/type_hints.c, sphinx/annotations.rst: Renamed /HintType/ to /TypeHint/. [70c8915f680a] 2016-01-30 Phil Thompson * sipgen/metasrc/parser.y, sipgen/sip.h.in, sipgen/type_hints.c: More PEP 484 support. [ea6e7a7ae51f] 2016-01-29 Phil Thompson * sipgen/metasrc/parser.y, sipgen/sip.h.in, sipgen/transform.c, sipgen/type_hints.c: More PEP 484 support. [aa1228396424] 2016-01-28 Phil Thompson * sipgen/metasrc/parser.y, sipgen/sip.h.in, sipgen/transform.c, sipgen/type_hints.c: Added the stubs for parsing /HintType/ annotations. [7c0fac66f27c] * sipgen/gencode.c, sipgen/metasrc/parser.y, sipgen/sip.h.in, sipgen/transform.c, sipgen/type_hints.c: Improved the lookup of QObject. [a2d8330df89d] 2016-01-27 Phil Thompson * sipgen/type_hints.c: More PEP 484 support. [336749ea71c5] * sipgen/type_hints.c, sphinx/annotations.rst: HintType will now fallback to DocType if the latter is specified. [4423da336fbb] * sipgen/metasrc/parser.y, sipgen/sip.h.in, sipgen/transform.c, sipgen/type_hints.c, sphinx/annotations.rst: Added the /HintType/ annotation. [2985d2d641d4] * sipgen/type_hints.c: More PEP 484 support. [21e70ef4b15f] 2016-01-26 Phil Thompson * sipgen/sip.h.in, sipgen/type_hints.c: More PEP 484 support. [dd04be5e4e4f] * sipgen/export.c, sipgen/gencode.c, sipgen/sip.h.in, sipgen/type_hints.c: More support for PEP 484. [353fe29217fb] * siplib/siplib.c: Reverted the use of simplewrapper for mapped types. [6e519bebe607] <5-devel> * siplib/siplib.c.in: Reverted the use of simplewrapper for mapped types. [14ba1e5b1e5b] * siplib/siplib.c: Namespaces and mapped types now default to simplewrapper as their super-type. [e087fb949cb7] <5-devel> * siplib/siplib.c.in: Namespaces and mapped types now default to simplewrapper as their super-type. [f7fd77d1cd4e] 2016-01-25 Phil Thompson * sipgen/export.c, sipgen/gencode.c, sipgen/main.c, sipgen/sip.h.in, sipgen/sipgen.sbf, sipgen/type_hints.c, sphinx/command_line.rst, sphinx/introduction.rst.in: Initial support for generating PEP484 type hints. [4191467f125a] * sip.pyi: Added None return types to the stub file. [314ef3cd76ed] * sip.pyi: Added None return types to the stub file. [a2e3434805e5] <5-devel> 2016-01-24 Phil Thompson * setup.py.in, sip.pyi: Added the sip.pyi type hints stub file. [e9d2178af3a6] <5-devel> * specs/win32-msvc2015: Removed a spec file that slipped in. [c036fcb8d400] <5-devel> * configure.py.in: Hard-code the name of the stub file (rather than handle bespoke module names). [e1e4b29eb1a6] * configure.py.in, sip.pyi, sphinx/installation.rst: Added the sip.pyi type hints stub file. [30e58feee19f] 2016-01-22 Phil Thompson * sphinx/c_api.rst: Minor docs change. [dd03f114259c] * sipgen/gencode.c, siplib/sip.h.in: Fixes for regressions. [875625613418] <5-devel> * sipgen/gencode.c, sipgen/metasrc/parser.y, sipgen/sip.h, sipgen/transform.c, siplib/sip.h.in: Removed the rest of the (non-plugin based) Qt support. [ca399deb778f] <5-devel> * sipgen/gencode.c, sipgen/metasrc/parser.y, sipgen/sip.h, sipgen/transform.c, siplib/sip.h.in, siplib/siplib.c, sphinx/using.rst: Removed all the explicit PyQt3 support. [d6af4f3f1c06] <5-devel> * sipgen/gencode.c, siplib/qtlib.c, siplib/sip.h.in, siplib/sipint.h, siplib/siplib.c: Stripped out most of the legacy Qt support. [0eaa95f999cc] <5-devel> 2016-01-21 Phil Thompson * siplib/siplib.c: Removed the deprecated keyword handler support. [a3e5155bff03] <5-devel> 2016-01-17 Phil Thompson * sipgen/export.c, sipgen/gencode.c, sipgen/metasrc/lexer.l, sipgen/metasrc/parser.y, sipgen/sip.h, sipgen/transform.c, sphinx/specification_files.rst: Removed support for SIP_SLOT. [f04b3e8b16c5] <5-devel> * sipgen/metasrc/parser.y, sphinx/specification_files.rst: Deprecated SIP_SLOT. [2b821ae5e9f1] * sipgen/export.c, sipgen/gencode.c, sipgen/metasrc/lexer.l, sipgen/metasrc/parser.y, sipgen/sip.h, sipgen/transform.c, siplib/siplib.c, sphinx/annotations.rst, sphinx/specification_files.rst: Removed support for SIP_RXOBJ_CON and SIP_SLOT_CON. [460c68189eaf] <5-devel> * Roadmap.rst: Updated the roadmap. [b5a4b1e18b98] <5-devel> * Roadmap.rst: Updated the roadmap. [495ebc034f99] * sphinx/annotations.rst: Deprecated the SingleShot annotation. [aa46307e00b4] * sipgen/metasrc/parser.y: Deprecated SIP_RXOBJ_CON and SIP_SLOT_CON. [affb0c5b465c] 2016-01-16 Phil Thompson * sipgen/export.c, sipgen/gencode.c, sipgen/metasrc/lexer.l, sipgen/metasrc/parser.y, sipgen/sip.h, sipgen/transform.c, siplib/siplib.c, sphinx/specification_files.rst: Removed support for SIP_SIGNAL. [f598de53a146] <5-devel> * sipgen/metasrc/parser.y, sphinx/specification_files.rst: Deprecated SIP_SIGNAL. [865e00b6ffa0] 2016-01-15 Phil Thompson * sipgen/export.c, sipgen/gencode.c, sipgen/metasrc/lexer.l, sipgen/metasrc/parser.y, sipgen/sip.h, sipgen/transform.c, siplib/siplib.c, sphinx/specification_files.rst: Removed support for SIP_ANYSLOT. [cfc9a69ad311] <5-devel> * sipgen/export.c, sipgen/gencode.c, sipgen/metasrc/lexer.l, sipgen/metasrc/parser.y, sipgen/sip.h, sipgen/transform.c, siplib/siplib.c, sphinx/specification_files.rst: Removed support for SIP_QOBJECT. [9b1d137841b9] <5-devel> * sipgen/export.c, sipgen/gencode.c, sipgen/metasrc/lexer.l, sipgen/metasrc/parser.y, sipgen/sip.h, sipgen/transform.c, siplib/siplib.c, sphinx/specification_files.rst: Removed support for SIP_RXOBJ_DIS and SIP_SLOT_DIS. [4a11331b9a07] <5-devel> * sphinx/specification_files.rst: Update the docs regarding the status of the SIP_SSIZE_T pseudo-type. [29e92dd97397] <5-devel> * sipgen/gencode.c: Fixes to the generated of type structures. [e8e44bce2953] <5-devel> * sipgen/metasrc/parser.y, sphinx/specification_files.rst: Deprecated SIP_ANYSLOT. [8199aa8980e8] * sipgen/metasrc/parser.y, sphinx/specification_files.rst: Deprecated SIP_QOBJECT. [fb9c94746255] * sipgen/metasrc/parser.y, sphinx/specification_files.rst: Deprecated SIP_RXOBJ_DIS. [0f26db165557] * sipgen/metasrc/parser.y, sphinx/specification_files.rst: Deprecated SIP_SLOT_DIS. [051775601278] 2016-01-11 Phil Thompson * sipgen/gencode.c, sipgen/metasrc/parser.y, siplib/sip.h.in, siplib/siplib.c, sphinx/c_api.rst, sphinx/embedding.rst: Removed the generated class and enum structures. [44119ea5d2eb] <5-devel> * sipgen/gencode.c, siplib/sip.h.in, siplib/siplib.c, sphinx/c_api.rst: Removed the deprecated parts of the C API. [928e177b8706] <5-devel> * sipgen/metasrc/parser.y, sphinx/annotations.rst: Removed the NoKeywordArgs annotation and the deprecated form of the KeywordArgs annotation. [62c9d89b17a0] <5-devel> * siplib/siplib.c.in: Fixed capsule handling in sipParseResult(). [e81b379b1518] <4.17-maint> * sipgen/metasrc/lexer.l, sipgen/metasrc/parser.y, sphinx/directives.rst: Removed the %OptionalInclude directive. [98036a57ca08] <5-devel> * sip5/main.py, sipgen/metasrc/lexer.l, sipgen/metasrc/parser.y, sipgen/sip.h, sphinx/directives.rst: Removed the %Doc and %ExportedDoc directives. [547fb98a64a4] <5-devel> * sipgen/gencode.c, sphinx/directives.rst: Removed the use of sipClass in %ConvertToSubClassCode. [b98222f97df4] <5-devel> * sip5/main.py, sipgen/gencode.c, sipgen/metasrc/lexer.l, sipgen/metasrc/parser.y, sipgen/pybinding.c, sipgen/sip.h, sipgen/transform.c, sphinx/command_line.rst, sphinx/directives.rst, sphinx/introduction.rst.in: Removed the %ConsolidatedModule directive. [2c7e940b9d8c] <5-devel> * setup.py.in: Fixed the building of the _sip extension module. [fa546e6c8a23] <5-devel> * sipgen/metasrc/lexer.l, sipgen/metasrc/parser.y, sphinx/directives.rst: Removed the %CModule directive. [47d8a64d30b4] <5-devel> * sphinx/annotations.rst, sphinx/c_api.rst, sphinx/directives.rst, sphinx/using.rst: Tidied up the remaining docs regarding when features were added. [4b8b941e3630] <5-devel> * sphinx/python_api.rst: Tidied up the docs covering the API implemented by the sip module. [a340d1674c9e] <5-devel> * setup.py.in, sphinx/installation.rst, sphinx/introduction.rst.in: Updated setup.py to install the sip module only for Python v2.7. [b6f782eadc36] <5-devel> 2016-01-10 Phil Thompson * sipgen/gencode.c, sipgen/metasrc/lexer.l, sipgen/metasrc/parser.y, sipgen/pybinding.c, sipgen/transform.c, siplib/apiversions.c, siplib/array.c, siplib/array.h, siplib/sip.h.in, siplib/sipint.h, siplib/siplib.c, siplib/voidptr.c, sphinx/c_api.rst, sphinx/directives.rst, sphinx/specification_files.rst: Bumped the API major version. Removed the internal use of deprecated macros and functions. [fa78a7e77fef] <5-devel> * sipgen/gencode.c, siplib/array.c, siplib/descriptors.c, siplib/sip.h.in, siplib/sipint.h, siplib/siplib.c, siplib/voidptr.c, sphinx/c_api.rst: Removed all code for unsupported Python versions. [765811f6e377] <5-devel> * sipgen/gencode.c, siplib/apiversions.c, siplib/sip.h.in, siplib/voidptr.c, sphinx/c_api.rst, sphinx/python_api.rst: Tidied up the portability macros now that some versions aren't supported. [64f043cf7815] <5-devel> * sphinx/c_api.rst: Updated the docs for SIP_USE_PYCAPSULE. [58da07b356c0] <5-devel> * sipgen/gencode.c: Removed support for unsupported Python versions from the code generator. [fba47bda42d2] <5-devel> * setup.py.in, sphinx/build_system.rst, sphinx/c_api.rst, sphinx/conf.py.in, sphinx/distutils.rst, sphinx/embedding.rst, sphinx/incompatibilities.rst, sphinx/index.rst, sphinx/installation.rst, sphinx/introduction.rst.in, sphinx/using.rst: Updated the docs to broadly reflect the changes so far. [b36f8ddbdaa6] <5-devel> * sipgen/metasrc/parser.y, sipgen/pybinding.c: Fixed a build error and warnings. [3d1ee988149e] <5-devel> * sipgen/gencode.c: Merged the current default branch. [371835c04a0b] <5-devel> * sipgen/metasrc/parser.y: Fixed a couple of sign-compare warnings. [7d7c823fdf86] <4.17-maint> * Merged the current maintenance branch. [b7bd085548b6] * sipgen/gencode.c, sipgen/transform.c: Fixes to the handling of fatal errors. [f35ebfa4c27f] <4.17-maint> * sip5/main.py, sipgen/gencode.c, sipgen/metasrc/lexer.l, sipgen/metasrc/parser.y, sipgen/sip.h, siplib/siplib.c, sphinx/specification_files.rst: Merged the current default branch. [e2f689f4ffa6] <5-devel> * Merged the current maintenance branch with the default. [d244ec3a2dec] 2016-01-09 Phil Thompson * configure.py.in, sipgen/export.c, sipgen/gencode.c, sipgen/main.c, sipgen/metasrc/lexer.l, sipgen/metasrc/parser.y, sipgen/sip.h.in, sipgen/transform.c, siplib/siplib.c.in: Fixed all compiler warnings. [9dbdf30558aa] <4.17-maint> * build.py: Use the current distutils standards for naming development versions. [45a0bb02971f] <5-devel> * sip5/main.py, sipgen/gencode.c, sipgen/metasrc/lexer.l, sipgen/metasrc/parser.y, sipgen/sip.h, siplib/sip.h.in, siplib/siplib.c, sphinx/command_line.rst, sphinx/directives.rst, sphinx/specification_files.rst: Merge the current default branch. [9d57db8a1d68] <5-devel> * sipgen/metasrc/parser.y, sipgen/sip.h.in, siplib/siplib.c.in, sphinx/specification_files.rst: Some minor tidy-ups. [b4edb1990e23] <4.17-maint> * Merged the current maintenance branch with the default. [782cf5e8441e] 2015-12-20 Phil Thompson * sipgen/gencode.c: Another attempt and preventing accesses to SIP data structures after the interpreter has gone. [138eb1eded99] <4.17-maint> 2015-12-18 Phil Thompson * sipgen/gencode.c, siplib/sip.h.in.in, siplib/siplib.c.in, sphinx/c_api.rst: Added sipGetInterpreter() to the public API. Avoid the Python interpreter if it has gone when getting a QMetaObject. [61d8f0f6f5c0] <4.17-maint> 2015-12-12 Phil Thompson * siplib/siplib.c.in: Cleared a benign exception in the handling of mixins. [602884540b54] <4.17-maint> 2015-12-02 Phil Thompson * siplib/siplib.c.in: Fixed the previous fix. [17876e15c41d] <4.17-maint> 2015-11-25 Phil Thompson * siplib/siplib.c.in: Restrict the invocation of sub-class convertors to those that handle direct sub-classes. [57cbe5142d57] <4.17-maint> 2015-10-28 Phil Thompson * siplib/siplib.c.in: Invoking sub-class convertor code turns out to be quite expensive so check the object map first. Check the object map again if the convertor code needed to be invoked. This change is absolutely fundamental to the inner workings so may have some unexpected consequences. [77fde6c0ee2d] <4.17-maint> 2015-10-27 Phil Thompson * sipgen/gencode.c, sipgen/sip.h.in, sipgen/transform.c, siplib/siplib.c.in: Refactored the handling of casts so that cast functions are only generated for classes that multiply inherit somewhere in their class hierarchy. [14bfbaf7431a] <4.17-maint> 2015-10-24 Phil Thompson * .hgtags: Added tag 4.17 for changeset 0cbb680b4f69 [36d16e74cf7f] * NEWS: Released as v4.17. [0cbb680b4f69] [4.17] 2015-09-10 Phil Thompson * siplib/sip.h.in.in: Fix extensions that use Python v3.5 slots but are being built with an earlier version. [9102d6c3daf0] 2015-09-08 Phil Thompson * specs/win32-msvc2015: Tweak win32-msvc2015 to suppress a warning message. [74754ca3e59f] * configure.py.in, specs/win32-msvc2010, specs/win32-msvc2015: Added win32-msvc2015 to the build system. [fca4f2fcbb39] 2015-09-03 Phil Thompson * siplib/sip.h.in.in: Added a comment about adding new slot types and its effect on the ABI. [50af972e1652] 2015-09-02 Phil Thompson * sipgen/gencode.c, sipgen/metasrc/parser.y, sipgen/sip.h.in, siplib/sip.h.in.in, siplib/siplib.c.in, sphinx/specification_files.rst: Added support for PEP 492, ie. the __await__, __aiter__ and __anext__ special methods. [f5d07b919355] * sipgen/metasrc/parser.y, siplib/siplib.c.in: Add __aenter__ and __aexit__ and non-lazy methods. [979e23401d1d] * sipgen/metasrc/parser.y: Fixed a regression in the handling of the __len__ annotation. [cad3bdaecf3e] * sphinx/static/default.css: Merged the 4.16-main branch into the trunk. [b4f30681b90f] * sipgen/gencode.c, sipgen/metasrc/parser.y, sipgen/sip.h.in, siplib/sip.h.in.in, siplib/siplib.c.in, siplib/voidptr.c, sphinx/annotations.rst, sphinx/specification_files.rst: Implemented support for PEP465 (array infix operator) ie. the __matmul__ and __imatmul__ special methods and function annotations of the same name. [ff867feb8f90] <4.16-maint> * siplib/voidptr.c: Tweaked an exception message to follow the style adopted in Python v3.5. [e98693bf17d7] <4.16-maint> 2015-08-02 Phil Thompson * siplib/siplib.c.in: Fixed the error handling of sipCallMethod() when a re-implementation raises an exception. [27c61f660fba] <4.16-maint> 2015-07-17 Phil Thompson * .hgtags: Added tag 4.16.9 for changeset 87de938efba2 [90aaa31768c9] <4.16-maint> * NEWS: Released as v4.16.9. [87de938efba2] [4.16.9] <4.16-maint> * sipgen/export.c: Added the "virtual" attribute to the exported XML. [e37fcc2e29e2] <4.16-maint> 2015-07-10 Phil Thompson * siplib/siplib.c.in: Improved the detail of the text of the exception sipBadCatcherResult() raises. [4f7ad0a4e353] <4.16-maint> * siplib/siplib.c.in: Allow for an /External/ class being referenced when the module containing its implementation hasn't been imported. [1574043cc948] <4.16-maint> 2015-07-07 Phil Thompson * siplib/siplib.c.in: Fix a problem caused by PyQt4 wrapping the QApplication C++ instance as multiple Python objects. [42a056fbf006] <4.16-maint> 2015-06-30 Phil Thompson * siplib/siplib.c.in: Remove an object from the map whenever the pointer ot the C/C++ instance is cleared. [8dd533ab6ce9] <4.16-maint> 2015-06-20 Phil Thompson * sipgen/gencode.c: Fixed a missing reference in the previous fix. [1a2704282933] <4.16-maint> * sipgen/gencode.c: Fixed a regression in the handling of static non-pointer object variables. [dafbaadea76b] <4.16-maint> 2015-06-11 Phil Thompson * .hgtags: Added tag 4.16.8 for changeset f87e232098eb [95abaccb67d6] <4.16-maint> * NEWS: Released as v4.16.8. [f87e232098eb] [4.16.8] <4.16-maint> 2015-06-09 Phil Thompson * siplib/sip.h.in.in: Bump the internal API version number. [6069463e8937] <4.16-maint> * sipgen/gencode.c, sipgen/metasrc/parser.y, siplib/sip.h.in.in, siplib/siplib.c.in: Fixed the handling of non-pointer object variables so that they are only wrapped once and the Python object cached. [11a92ebd4840] <4.16-maint> 2015-06-08 Phil Thompson * sphinx/using.rst: Fixed a type in the docs. [7d0d2cede024] <4.16-maint> 2015-06-02 Phil Thompson * NEWS: Updated the NEWS file. [92c83f02758f] <4.16-maint> 2015-05-24 Phil Thompson * sipgen/metasrc/parser.y, sphinx/specification_files.rst: Added support for the current Python3 exceptions. [79afcf752c2a] <4.16-maint> 2015-05-08 Phil Thompson * siplib/siplib.c.in: Fixed bugs maintaining the deleted state of wrapped instances. [e5674f034e48] <4.16-maint> 2015-03-26 Phil Thompson * sphinx/conf.py.in, sphinx/static/classic.css, sphinx/static/default.css: Updated for Sphinx v1.3. [4cc6f083e826] <5-devel> 2015-03-25 Phil Thompson * sipgen/gencode.c, sipgen/metasrc/lexer.l, sipgen/metasrc/parser.y, sipgen/sip.h, sipgen/transform.c, siplib/siplib.c, sphinx/directives.rst, sphinx/specification_files.rst: Added the relevant changes from v4.16.7. [b122ecdb2347] <5-devel> * sipgen/metasrc/parser.y: Fixed a regression in v4.16.7 that affects methods with %MethodCode and the __len__ annotation. [765b6874363f] <4.16-maint> * .hgtags: Added tag 4.16.7 for changeset 9076f70a012c [dffe9ad569c9] <4.16-maint> * NEWS: Released as v4.16.7. [9076f70a012c] [4.16.7] <4.16-maint> * sphinx/static/classic.css, sphinx/static/default.css: Fixed the stylesheet. [af2e27024d33] <4.16-maint> 2015-03-21 Phil Thompson * sipgen/gencode.c: Fix the declaration of sipRes in the %VirtualCallCode support. [bd92aad3cf7d] <4.16-maint> 2015-03-19 Phil Thompson * sphinx/specification_files.rst: Added %VirtualCallCode to the BNF. [cf1ad8f7be68] <4.16-maint> * sphinx/directives.rst: Documented %VirtualCallCode. [752beb1cd641] <4.16-maint> * sipgen/gencode.c, sipgen/metasrc/lexer.l, sipgen/metasrc/parser.y, sipgen/sip.h.in: Renamed %InvokeCode to %VirtualCallCode and only use it in a generated virtual reimplementation. [82c8303a8041] <4.16-maint> * sipgen/gencode.c, sipgen/metasrc/lexer.l, sipgen/metasrc/parser.y, sipgen/sip.h.in: Implemented the %InvokeCode directive. [d85f3584b06f] <4.16-maint> * siplib/siplib.c.in: Fixed the handling of keyword argument when keywords can be used for all arguments. [2ae037bbfa23] <4.16-maint> * sphinx/directives.rst: Fixed a documentation typo. [fb4c980c92cc] <4.16-maint> * sipgen/gencode.c, sipgen/sip.h.in, sipgen/transform.c: Backed out changeset 9e11298be101 A more correct solution is required. [e212465fed26] <4.16-maint> 2015-03-16 Phil Thompson * sipgen/gencode.c, sipgen/sip.h.in, sipgen/transform.c: Reverted to the pre-v4.15 behavour when generating the scope of a call to a virtual implementation where the scope may be ambiguous. This may not be the right call, but at least the code compiles. [9e11298be101] <4.16-maint> 2015-03-11 Phil Thompson * sipgen/gencode.c, sipgen/transform.c: Fixed a bug where the original typedef of an argument of a mapped template type was being corrupted. [f652446e2462] <4.16-maint> * sphinx/conf.py.in: Updated for sphinx v1.3. [569a9695bc2f] <4.16-maint> * sipgen/sip.h.in: Fixed a regression in the handling of module flags. [3f8c05ac8e47] <4.16-maint> 2015-02-25 Phil Thompson * .hgtags: Added tag 4.16.6 for changeset 1c5f5c8c7416 [6c73a1f41add] <4.16-maint> * NEWS: Released v4.16.6. [1c5f5c8c7416] [4.16.6] <4.16-maint> * NEWS: Updated the NEWS file. [bf261aa4b322] <4.16-maint> 2015-02-23 Phil Thompson * sipgen/gencode.c: Added support for module-level PyObjects. [4ca614b2113e] <5-devel> * sipgen/gencode.c: Added support for module-level PyObjects. [136913548818] <4.16-maint> 2015-02-14 Phil Thompson * configure.py.in: Installing into a virtual env should now work. [5e133f99d74e] <4.16-maint> * setup.py.in: Installing into a virtual env should now work. [b7f2452856ec] <5-devel> * siplib/siplib.c: Fixed the handling of an empty dict of keyword arguments. [9992fcd85517] <5-devel> * siplib/siplib.c.in: Fixed the handling of an empty dict of keyword arguments. [5f5542824235] <4.16-maint> 2015-02-09 Phil Thompson * sip5/main.py, sipgen/gencode.c, sipgen/pybinding.c, sipgen/sip.h, sphinx/command_line.rst: Removed support for the -T option. [3a070a330692] <5-devel> * sip5/main.py, sipgen/metasrc/parser.y, sipgen/sip.h, sphinx/command_line.rst: Remoked support for the -k option. [5979fb20817d] <5-devel> * sip5/main.py, sipgen/gencode.c, sipgen/pybinding.c, sipgen/sip.h, sphinx/command_line.rst: Removed support for the -d option. [56b6c770548f] <5-devel> * sip5/main.py, sipgen/gencode.c, sipgen/pybinding.c, sipgen/sip.h, sphinx/command_line.rst: Removed support for the -b option. [29b2c39a890f] <5-devel> * sipgen/main.c, sphinx/command_line.rst: The -T command line option is now ignored and deprecated. Timestamps in generated files are always disabled. [9b1a195afe04] <4.16-maint> * build.py, sip5/__init__.py, sip5/__init__.py.in, sip5/main.py, sip5/main.py.in, sipgen/gencode.c, sipgen/metasrc/parser.y, sipgen/pybinding.c, sipgen/sip.h, sipgen/sip.h.in: Refactored the version handling in the code generator so that only __init__.py needs patching. [f85fae864a4f] <5-devel> * sip5/main.py.in, sphinx/command_line.rst: Enabled the fromfile prefix support. [baec81092639] <5-devel> * sipgen/main.c, sphinx/command_line.rst: Added support for the '@file' format for passing additional command line options in a file. [6c270132db87] <4.16-maint> 2015-02-08 Phil Thompson * setup.py.in: Install the sip.h file. [b147cd0945ed] <5-devel> * sipgen/pybinding.c: Fixed the conversion of string lists. [06d85d1f574e] <5-devel> * build.py, setup.py.in, sip5/__init__.py, sip5/main.py.in, sipgen/main.py, sipgen/pybinding.c: The sip5 executable is now built by setuptools. [97e04434add1] <5-devel> 2015-02-07 Phil Thompson * sipgen/main.py, sipgen/pybinding.c: Implemented the Python argument parser. [1c23f732416f] <5-devel> * sipgen/main.c, sphinx/command_line.rst: Deprecated the -z option to the code generator. [b1dff38b9766] <4.16-maint> * sipgen/pybinding.c: Completed the initial transitional bindings. [22002896d6db] <5-devel> * sipgen/pybinding.c: Implemented the generateCode() wrapper. [67d972260b9e] <5-devel> 2015-02-06 Phil Thompson * setup.py.in, sipgen/pybinding.c: Implemented the parse() and transform() wrappers. [b0ff9e4adcd2] <5-devel> * setup.py.in, sipgen/main.c, sipgen/main.py, sipgen/pybinding.c, sipgen/sipgen.sbf: Implemented the basic build of the _sip5 module. [f2e4d7c3fba4] <5-devel> * build.py, setup.py.in: Fix the version number handling for the devel branch. [6f6c9ff210a0] <5-devel> * siplib/siplib.c: Fixed a couple of compiler warnings. [8af78c63d9d7] <5-devel> * siplib/siplib.c.in: Fixed a couple of compiler warnings. [d653de687fd4] <4.16-maint> * build.py, configure.py.in, sipdistutils.py, siputils.py, specs/aix-g++, specs/aix-g++-64, specs/aix-xlc, specs/aix-xlc-64, specs/bsdi-g++, specs/cygwin-g++, specs/darwin-g++, specs/dgux-g++, specs/freebsd-g++, specs/freebsd-g++34, specs/freebsd-g++40, specs /freebsd-icc, specs/hpux-acc, specs/hpux-acc-64, specs/hpux-acc-o64, specs/hpux-cc, specs/hpux-g++, specs/hpux-g++-64, specs/hpuxi-acc, specs/hpuxi-acc-64, specs/hurd-g++, specs/irix-cc, specs/irix-cc-64, specs/irix-cc-o32, specs/irix-g++, specs/irix-g++-64, specs/linux- arm-g++, specs/linux-arm-thumb-g++, specs/linux-armv6-g++, specs /linux-cxx, specs/linux-ecc-64, specs/linux-g++, specs/linux-g++-32, specs/linux-g++-64, specs/linux-icc, specs/linux-kcc, specs/linux- kylix, specs/linux-lsb, specs/linux-pgcc, specs/lynxos-g++, specs/macx-g++, specs/macx-mwerks, specs/macx-pbuilder, specs/macx- xlc, specs/netbsd-g++, specs/openbsd-g++, specs/qnx-g++, specs /reliant-cds, specs/reliant-cds-64, specs/sco-cc, specs/sco-g++, specs/solaris-cc, specs/solaris-cc-64, specs/solaris-g++, specs/solaris-g++-64, specs/tru64-cxx, specs/tru64-g++, specs /unixware-cc, specs/unixware-g++, specs/win32-borland, specs/win32-g++, specs/win32-icc, specs/win32-msvc, specs/win32-msvc.net, specs/win32-msvc2005, specs/win32-msvc2008, specs/win32-msvc2010, specs/win32-watcom: Removed a lot of legacy stuff. [f43d97c3bf7f] <5-devel> * build.py, setup.py.in, siplib/sip.h.in, siplib/sip.h.in.in, siplib/siplib.c, siplib/siplib.c.in, siplib/siplib.sbf.in: Initial conversion of the sip module to be built using setuptools. [a4daecda1a4c] <5-devel> 2015-02-04 Phil Thompson * Merged the current 4.16-maint branch into the trunk. [f207b8886557] 2015-01-30 Phil Thompson * siplib/siplib.c.in: Fixed the lookup of slots. [56c254273cd8] <4.16-maint> 2015-01-05 Phil Thompson * sipgen/metasrc/parser.y: Fixed an invalid deprecation warning. [3c5425fa3c80] <4.16-maint> 2015-01-02 Phil Thompson * sipgen/gencode.c, sipgen/metasrc/parser.y, sipgen/sip.h.in, sphinx/annotations.rst: Added the /FileExtension/ class annotation. [51f7769fe32f] <4.16-maint> * LICENSE, Roadmap.rst, build.py, configure.py.in, sipgen/export.c, sipgen/extracts.c, sipgen/gencode.c, sipgen/heap.c, sipgen/main.c, sipgen/metasrc/lexer.l, sipgen/metasrc/parser.y, sipgen/sip.h.in, sipgen/sipgen.sbf, sipgen/transform.c, siplib/apiversions.c, siplib/array.c, siplib/array.h, siplib/bool.cpp, siplib/descriptors.c, siplib/objmap.c, siplib/qtlib.c, siplib/sip.h.in.in, siplib/sipint.h, siplib/siplib.c.in, siplib/siplib.sbf.in, siplib/threads.c, siplib/voidptr.c, siputils.py, sphinx/conf.py.in, sphinx/directives.rst: Updated the copyright notices. [ccd0bdd9b21c] <4.16-maint> * siputils.py, sphinx/build_system.rst, sphinx/c_api.rst, sphinx/python_api.rst: Updated the docs in preparation for snapshots being called previews. [c42e02f71e27] <4.16-maint> 2014-12-31 Phil Thompson * sipgen/gencode.c: Fixed a code generation bug when a C/C++ argument was a pointer to a struct/class and the Python argument was a void*. [51b0b1f31cea] <4.16-maint> 2014-12-25 Phil Thompson * configure.py.in, siputils.py: Fixed the --target-py-version flag to configure.py. [0e9e078d2d18] <4.16-maint> 2014-12-24 Phil Thompson * .hgtags: Added tag 4.16.5 for changeset 9c27ed5e0d77 [6aa131ac48e8] <4.16-maint> * NEWS: Released as v4.16.5. [9c27ed5e0d77] [4.16.5] <4.16-maint> 2014-12-23 Phil Thompson * sipgen/gencode.c: Fixed SIP_SLOT_CON and SIP_SLOT_DIS so that they generate const char*. [7f4c922a779f] <4.16-maint> 2014-12-18 Phil Thompson * siplib/array.c, siplib/voidptr.c, sphinx/c_api.rst, sphinx/python_api.rst: Added sip.voidptr.asarray(). [d3b5a974ac69] <4.16-maint> 2014-12-07 Phil Thompson * siplib/voidptr.c: Updated a deprecated definition of method arguments. [529b8cd2ab89] <4.16-maint> 2014-11-29 Phil Thompson * siputils.py: Fixed a regression when adding the VPATH support for moc. [c2c285a80412] <4.16-maint> 2014-11-16 Phil Thompson * build.py: A source package now includes a full ChangeLog. [c005a6d2e53e] <4.16-maint> 2014-11-05 Phil Thompson * siputils.py: Build system fix so that generated Makefiles support VPATH with moc. [3f9301ccb08a] <4.16-maint> 2014-11-04 Phil Thompson * configure.py.in, siputils.py, sphinx/build_system.rst: Fixed bugs with out-of-tree builds. [4579c80da1be] <4.16-maint> * sphinx/build_system.rst, sphinx/distutils.rst: Updated the docs regarding the build system and SIP v5. [2828a3bb25af] <4.16-maint> * sphinx/c_api.rst: Updated the docs for sip.SIP_VERSION_STR. [04e7630e6a41] <4.16-maint> 2014-11-03 Phil Thompson * build.py: Removed the reference to MacHg in the internal build script. [b1668849c472] <4.16-maint> 2014-10-23 Phil Thompson * .hgtags: Added tag 4.16.4 for changeset c5d0da367a1e [cb045f5e074a] <4.16-maint> * NEWS: Released as v4.16.4. [c5d0da367a1e] [4.16.4] <4.16-maint> 2014-10-19 Phil Thompson * sipgen/gencode.c: Fixed a code generation bug related to encoded C string arguments to virtuals. [f230cfcebc36] <4.16-maint> 2014-10-15 Phil Thompson * siplib/descriptors.c: Minor fix for Python v2.5 and earlier. [3b7f6957ae4b] <4.16-maint> 2014-10-06 Phil Thompson * siplib/siplib.c.in: Reimplemented the __qualname__ support for enums so that it is always non_NULL (because Python accesses the value directly internally and doesn't go through the attribute interface). [c2cfa151229a] <4.16-maint> 2014-10-04 Phil Thompson * siplib/sip.h.in.in, sphinx/c_api.rst: Removed SIP_REACQUIRE_GIL as we no longer need it. [7e026c2613ec] <4.16-maint> * sipgen/transform.c: Fixed a recent regression in the de-duplication of virtual catchers. [65abadff114d] <4.16-maint> 2014-10-03 Phil Thompson * siplib/sip.h.in.in, sphinx/c_api.rst: Added SIP_REACQUIRE_GIL. [9ff042abc188] <4.16-maint> 2014-10-01 Phil Thompson * sipgen/gencode.c, sipgen/metasrc/parser.y, sipgen/sip.h.in, sipgen/transform.c, sphinx/annotations.rst: Added the /AbortOnException/ function annotation. [835f4d6bcb99] <4.16-maint> * sipgen/gencode.c, sipgen/metasrc/parser.y, sipgen/transform.c, sphinx/annotations.rst: Added the /DisallowNone/ function annotation. [8b2f4c02e106] <4.16-maint> * sipgen/export.c, sipgen/gencode.c, sipgen/metasrc/parser.y, sipgen/sip.h.in, sphinx/annotations.rst: Implemented the /DisallowNone/ argument annotation. [d3a7fd6b1344] <4.16-maint> * sipgen/metasrc/parser.y, sipgen/transform.c, sphinx/annotations.rst, sphinx/c_api.rst: Added the AllowNone function annotation. [9d52162606b5] <4.16-maint> 2014-09-26 Phil Thompson * sipgen/transform.c: Virtual handlers with handwritten code can no longer be considered to be the same. [a4c712b72828] <4.16-maint> 2014-09-11 Phil Thompson * .hgtags: Added tag 4.16.3 for changeset 8ead57151bd1 [de0c3c076ab3] <4.16-maint> * NEWS: Released as v4.16.3. [8ead57151bd1] [4.16.3] <4.16-maint> 2014-09-04 Phil Thompson * NEWS: Updated the NEWS file. [b5de96615389] <4.16-maint> 2014-09-03 Phil Thompson * siplib/array.c, siplib/bool.cpp, siplib/siplib.c.in: Eliminated all compiler warnings when building on Windows with qmake. [1a321ad68223] <4.16-maint> 2014-09-02 Phil Thompson * siplib/siplib.c.in: Enums now support PEP 3155 fro Python v3.3 and later. [a3f8a9b56659] <4.16-maint> 2014-07-10 Phil Thompson * build.py, configure.py.in: Added fixes for QTBUG-39300. [53f490fe8f52] <4.16-maint> 2014-07-03 Phil Thompson * .hgtags: Added tag 4.16.2 for changeset 4eb546b2c208 [21412c346e75] <4.16-maint> * NEWS: Released as v4.16.2. [4eb546b2c208] [4.16.2] <4.16-maint> 2014-06-22 Phil Thompson * sipgen/gencode.c: Fixed a regression that introduced some "modern" C code. [449e2866018a] <4.16-maint> 2014-06-16 Phil Thompson * NEWS, sipgen/metasrc/parser.y, sphinx/directives.rst: Deprecated the %ConsolidatedModule directive as it won't be supported in SIP v5. [e4dc9d633742] <4.16-maint> 2014-06-15 Phil Thompson * sipgen/gencode.c: Fixed a bug with /Out/ class pointer arguments in virtual methods. [8abafd34bfab] <4.16-maint> * sipgen/gencode.c: Work around what looks like a Python2 bug in the handling of composite modules. [f113aea18630] <4.16-maint> 2014-06-09 Phil Thompson * .hgtags: Added tag 4.16.1 for changeset efd5e09a4024 [787e2ce426f7] <4.16-maint> * NEWS: Released as v4.16.1. [efd5e09a4024] [4.16.1] <4.16-maint> 2014-06-03 Phil Thompson * configure.py.in: Fixes for Python v2.6. [3974dcb54776] <4.16-maint> 2014-06-01 Phil Thompson * sipgen/gencode.c: Fixed a regression in the creating of the build file when generating individual source files. [d9229cce7220] <4.16-maint> 2014-05-26 Phil Thompson * .hgtags: Added tag 4.16 for changeset d3a907d2acd1 [2a310fa9719a] * NEWS: Released as v4.16. [d3a907d2acd1] [4.16] 2014-05-25 Phil Thompson * siplib/descriptors.c: Fixed a regression introduced when getting rid of warning messages. [9472e2f08313] 2014-05-23 Phil Thompson * configure.py.in: Fixed a regression in the handling of the --platform configure.py option. [1cc4bd967882] 2014-05-18 Phil Thompson * siplib/siplib.c.in: Eliminated a couple of (benign) warning messages. [f6acb8ed7b65] 2014-05-16 Phil Thompson * NEWS: Updated the NEWS file. [d3c64f5117e0] * sipgen/main.c, sipgen/metasrc/parser.y, sipgen/sip.h.in, sphinx/command_line.rst, sphinx/directives.rst, sphinx/incompatibilities.rst: Changed the handling of timelines so that the latest version is enabled if no known version is explicitly enabled. Added the -B option to sip to allow timeline backstops to be defined. [8a3fb94329aa] 2014-05-15 Phil Thompson * configure.py.in: Fixed a bug in the handling of configuration files. [61da788f455f] 2014-05-14 Phil Thompson * sipgen/gencode.c: Don't generate an interface file if it will be empty. [3f7d0afde4ce] * siplib/siplib.c.in: Ignore overflows when converting Python ints to C/C++. [8065fb1cb418] 2014-05-13 Phil Thompson * NEWS, sipgen/gencode.c, sipgen/metasrc/parser.y, sipgen/sip.h.in, sphinx/annotations.rst: Added the /NoSetter/ variable annotation. [422cc3b4ee5b] * sipgen/gencode.c: Fixed a code generation bug for variables with multi-const types. [dd6840986c03] 2014-05-12 Phil Thompson * siplib/array.c, siplib/descriptors.c, siplib/siplib.c.in, siplib/voidptr.c: Fixed building against Python v2.5 and earlier. [be46b0f3b785] * NEWS, configure.py.in, sphinx/installation.rst: Added the --no-tools option to configure.py. [fcc0fc5d24c4] 2014-05-11 Phil Thompson * sphinx/installation.rst: Some documentation fixes. [210151d0ba6a] * build.py, configurations/rpi_py3.cfg, sphinx/installation.rst: Removed the configurations directory. [4b482124587b] * siplib/apiversions.c, siplib/array.c, siplib/descriptors.c, siplib/siplib.c.in, siplib/voidptr.c: Eliminated most warning messages. Fixed a memory leak in the handling of sip.array. [63626dea7508] * configure.py.in, sphinx/installation.rst: Removed the unneeded support for continuation lines in configuration files. [95f40f9a8967] * NEWS, build.py, configurations/rpi_py3.cfg, configure.py.in, siputils.py, sphinx/installation.rst: Removed the --static-root option. Added the --configuration, --sysroot and --target-py-version options. Added the Raspberry Pi configuration file. [e57308c0ef92] 2014-05-05 Phil Thompson * NEWS, build.py, configure.py.in, sphinx/installation.rst: Added the --use-qmake option to configure.py so that it can be cross-compiled. [163331dc90b0] 2014-05-04 Phil Thompson * build.py, custom/custom.c, custom/customw.c, custom/mkcustom.py, sphinx/build_system.rst, sphinx/builtin.rst, sphinx/index.rst: Removed the (way out of date and superceded by pyqtdeploy) custom directory. [4e4a1cbe2f7e] * NEWS, configure.py.in, sphinx/installation.rst: Added the --static-root option to configure.py. [c90befbc77d2] 2014-04-26 Phil Thompson * siputils.py: Handle in-line comments in spec files. [044852da62d4] 2014-04-24 Phil Thompson * siplib/voidptr.c: Fixed the previous fix. (This is C not C++.) [a67e996e00d3] 2014-04-23 Phil Thompson * NEWS, siplib/voidptr.c: Implemented nb_bool for sip.voidptr. [7ca5aa6bde10] 2014-04-21 Phil Thompson * NEWS, siplib/qtlib.c, siplib/sipint.h: Reversed the sense of the argument to check for signal receivers. [e14829596147] * NEWS, sipgen/gencode.c, siplib/qtlib.c, siplib/sip.h.in.in, siplib/sipint.h, siplib/siplib.c.in: Added sipInvokeSlotEx() as support for the upcoming 'check_receiver' flag in PyQt's connect(). [d7ef32db3967] 2014-04-20 Phil Thompson * sipgen/lexer.l, sipgen/parser.y: Merged the v4.15 maintenance branch into the trunk. [8e55c9f2ba87] 2014-04-15 Phil Thompson * sphinx/conf.py.in: Fixed the missing logo thumbnail. [f53a9094e52e] <4.15-maint> 2014-04-08 Phil Thompson * siplib/siplib.c.in, sphinx/build_system.rst, sphinx/using.rst: Updated the docs so that pyqtconfig is only mentioned in the context of PyQt4. Fixed some typos. [efa359fde2a4] <4.15-maint> 2014-03-25 Phil Thompson * sipgen/gencode.c: Fixed the generation of Qt signal signatures so that they are correct for Qt5. [3f9633204687] <4.15-maint> 2014-03-21 Phil Thompson * sipgen/metasrc/parser.y, sipgen/sip.h.in: Fixed the handling of platforms and features that are disabled by other platforms or features. [0c1b13e45887] <4.15-maint> 2014-03-20 Phil Thompson * sipgen/gencode.c: Fixed the handling of enums for C++11. [85e544458789] <4.15-maint> 2014-03-14 Phil Thompson * .hgtags: Added tag 4.15.5 for changeset 13906834d910 [411bbc879ae6] <4.15-maint> * NEWS: Released as v4.15.5. [13906834d910] [4.15.5] <4.15-maint> 2014-03-13 Phil Thompson * siplib/siplib.c.in: Make sure an object doesn't already have a parent when adding it in __init__() (ie. avoid an infinite loop if __init__() is called twice for an object). [05c32deeaeed] <4.15-maint> 2014-03-05 Phil Thompson * NEWS: Updated the NEWS file. [8d7c37ddc55d] <4.15-maint> 2014-02-22 Phil Thompson * sipgen/gencode.c, siplib/sip.h.in.in: Added the PyQt signal hack #3. All versions of signals with optional arguments are now generated for PyQt4 when built against Qt5. [22c03a345d4e] <4.15-maint> 2014-02-21 Phil Thompson * siputils.py: Fixed the creation of wrapper scripts for Python v3.4 on OS/X. [93e30c84cbf9] <4.15-maint> 2014-02-20 Phil Thompson * sipgen/gencode.c, sipgen/metasrc/parser.y, sipgen/sip.h.in, siplib/sip.h.in.in: Support for the PyQt4 signal hacks when building against Qt5. [8bff7edb3c80] <4.15-maint> 2014-02-18 Phil Thompson * sipgen/gencode.c, siplib/sip.h.in.in: Implemented the PyQt5 signal emitters. [4fc63f9adb44] <4.15-maint> * sipgen/gencode.c, sipgen/metasrc/parser.y, sipgen/sip.h.in, siplib/sip.h.in.in, siplib/siplib.c.in: Bumped the internal API to v11.0. The PyQt4 and PyQt5 specific data structures are now completely separate in preparation for the signal changes needed by PyQt5. Renamed the PyQt4Flags and PyQt4NoQMetaObject annotations so that they are not PyQt4 specific. [b96a5e69adb6] <4.15-maint> 2014-02-09 Phil Thompson * sipgen/gencode.c: Fixed a name clash for a type in a module that has the same name as the module when building against Python v2. [d45411f2a001] <4.15-maint> 2014-02-06 Phil Thompson * siputils.py: Relax a test in the build system for PyQt v4.10.3 and earlier so that we don't have to synch releases. [e6e10c9f08b5] <4.15-maint> 2014-02-05 Phil Thompson * siplib/siplib.c.in: sip.wrapinstance() will now handle addresses >32 bits on Windows64. [5a95f257ccca] <4.15-maint> 2014-02-04 Phil Thompson * sipgen/gencode.c, sphinx/annotations.rst: Fixed the /KeepReference/ function annotation when applied to static functions. [2737c3074f4d] <4.15-maint> * siputils.py: Removed the requirement that Python must be built as a framework on OS/X. [fb6dbd80297b] <4.15-maint> 2014-01-22 Phil Thompson * sipgen/gencode.c, sipgen/metasrc/parser.y, sipgen/sip.h.in: Removed the unnecessary (and broken) support for __unicode__(). [0b19f77489ce] <4.15-maint> 2014-01-17 Phil Thompson * NEWS, siputils.py, sphinx/build_system.rst: The use_arch argument of sipconfig.create_wrapper() will now accept a space separated set of architectures. [6fe353128007] <4.15-maint> 2014-01-10 Phil Thompson * configure.py.in: Fixed a bug building on OSX when passing a value of LIBDIR to configure.py on the command line. [577bff05ca6d] <4.15-maint> 2014-01-07 Phil Thompson * .hgtags: Added tag 4.15.4 for changeset 4d629a0d7510 [79a5b5e82ca3] <4.15-maint> * NEWS: Released as v4.15.4. [4d629a0d7510] [4.15.4] <4.15-maint> 2014-01-02 Phil Thompson * LICENSE, Roadmap.rst, build.py, configure.py.in, sipgen/export.c, sipgen/extracts.c, sipgen/gencode.c, sipgen/heap.c, sipgen/main.c, sipgen/metasrc/lexer.l, sipgen/metasrc/parser.y, sipgen/sip.h.in, sipgen/sipgen.sbf, sipgen/transform.c, siplib/apiversions.c, siplib/array.c, siplib/array.h, siplib/bool.cpp, siplib/descriptors.c, siplib/objmap.c, siplib/qtlib.c, siplib/sip.h.in.in, siplib/sipint.h, siplib/siplib.c.in, siplib/siplib.sbf.in, siplib/threads.c, siplib/voidptr.c, siputils.py, sphinx/conf.py.in, sphinx/directives.rst: Updated the copyright notices. [b4a30e5b9970] <4.15-maint> 2013-12-29 Phil Thompson * siplib/siplib.c.in: Allow the pointers used to store the parsed results from Python reimplementations to be NULL. [7b83d16f7d28] <4.15-maint> * build.py, sipgen/lexer.l, sipgen/metasrc/README, sipgen/metasrc/lexer.l, sipgen/metasrc/parser.y, sipgen/parser.y: Moved the lexer and parser meta-source files to a separate directory to avoid problems with make accidentaly regenerating them. [c8d48c22ebf7] <4.15-maint> * build.py: Remove the __pycache__ directory when cleaning. [a0682feb1e94] <4.15-maint> 2013-12-17 Phil Thompson * NEWS, siplib/array.c, siplib/sip.h.in.in, siplib/siplib.c.in, sphinx/c_api.rst: Added SIP_SSIZE_T_FORMAT to the C API. [e74243fcc265] <4.15-maint> 2013-12-16 Phil Thompson * sipgen/gencode.c, sipgen/parser.y: Fixed the parsing of C++ types involving multiple const and pointers. [7a74623b6967] <4.15-maint> 2013-10-21 Phil Thompson * siplib/array.c, siplib/objmap.c, siplib/sipint.h, siplib/siplib.c.in, siplib/voidptr.c: Fixed all the compiler warning messages when building the sip module. [5e5fdf4cc35c] <4.15-maint> 2013-10-16 Phil Thompson * .hgtags: Added tag 4.15.3 for changeset a751e48db99a [dffbff1c0664] <4.15-maint> * NEWS: Released as v4.15.3. [a751e48db99a] [4.15.3] <4.15-maint> 2013-10-13 Phil Thompson * sipgen/transform.c: Fixed virtual re-implementations so that the number of generated Python methods slots is correct and that re-implementations explicitly marked as virtual are handled correctly. [aa7806ed2405] <4.15-maint> 2013-10-03 Phil Thompson * siplib/siplib.c.in: Fixed the format of an exception with Python v2. [5dc8c370157e] <4.15-maint> 2013-09-14 Phil Thompson * .hgtags: Added tag 4.15.2 for changeset f8fdf4d1eb87 [82b599f547b1] <4.15-maint> * NEWS: Released as v4.15.2. [f8fdf4d1eb87] [4.15.2] <4.15-maint> 2013-09-08 Phil Thompson * siplib/array.c, siplib/array.h, siplib/sip.h.in.in, sphinx/c_api.rst: sipConvertToArray() will now optionally take ownership of the array memory. Changed the signatures of sipConvertToArray() and sipConvertToTypedArray(), but in a source and binary compatible way. [908d49322dcf] <4.15-maint> * siplib/array.c, sphinx/c_api.rst: Added support for char, unsigned char, short, int, float and double as array types. [fc41755d6481] <4.15-maint> 2013-08-24 Phil Thompson * sipgen/transform.c: Further fixes for the handling of virtual methods. [14732b487dda] <4.15-maint> 2013-08-23 Phil Thompson * .hgtags: Added tag 4.15.1 for changeset 148b813a559c [5ef6f2e04687] <4.15-maint> * NEWS: Released as v4.15.1. [148b813a559c] [4.15.1] <4.15-maint> * sipgen/transform.c: Fixed a regression in the handling of hidden virtuals. [15657c502e42] <4.15-maint> 2013-08-21 Phil Thompson * .hgtags: Added tag 4.15 for changeset 2f84fb045098 [1f9737376184] * NEWS: Released as v4.15. [2f84fb045098] [4.15] 2013-08-18 Phil Thompson * sphinx/annotations.rst: Fixed a mistake in the documentation for /Factory/. [4c2fe2e7397e] * siplib/siplib.c.in: Fixed a C++ism that crept into the sip module code. [764f7fc80f1f] 2013-08-17 Phil Thompson * NEWS: Updated the NEWS file. [69897cf50dea] 2013-08-13 Phil Thompson * sipgen/gencode.c, siplib/sip.h.in.in, siplib/siplib.c.in, sphinx/c_api.rst: Added sipRegisterProxyResolver() to the public API. [66235bf9625f] 2013-08-07 Phil Thompson * sphinx/c_api.rst: Documented sipConvertToArray() and sipConvertToTypedArray(). [bf49a3ad5612] 2013-08-05 Phil Thompson * siplib/array.c, siplib/sipint.h, siplib/siplib.c.in: Fixed the array support. [e2d05fb54872] * sipgen/gencode.c, siplib/array.c, siplib/array.h, siplib/sip.h.in.in, siplib/siplib.c.in: Added sipConvertToArray(). [660fdd5cb10e] * sipgen/gencode.c: Eliminated unused arguments in the setters of constant variables. [e43b7d64c488] 2013-08-04 Phil Thompson * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h.in, sphinx/annotations.rst: Added the /NoScope/ enum annotation. [aa4646c186d2] * siplib/array.c, siplib/array.h, siplib/siplib.c.in: Properly initialise the sip.array type. [a7e4f6c62b8f] * siplib/array.c, siplib/array.h, siplib/sip.h.in.in, siplib/sipint.h, siplib/siplib.c.in: Completed the array implementation for wrapped types. [9e5b63022e19] 2013-08-03 Phil Thompson * sipgen/gencode.c, siplib/array.c, siplib/array.h, siplib/sip.h.in.in, siplib/siplib.c.in, siplib/siplib.sbf.in: Added the stub of the array support. [ffb87d2e0fc5] 2013-07-31 Phil Thompson * sphinx/c_api.rst: Documented sipConvertFromNewPyType(). [ba59d434b206] * siplib/sip.h.in.in, siplib/siplib.c.in: Changed the signature of sipConvertFromNewPyType() to handle ownership and hide the internals of generated derived classes. [5a9ba502593c] * sipgen/gencode.c: Fixed the PyQt5 generation of qt_metaobject() so that it supports QML. [2f18c4617542] 2013-07-30 Phil Thompson * sipgen/gencode.c, siplib/sip.h.in.in, siplib/sipint.h, siplib/siplib.c.in, siplib/threads.c: Added the (as yet undocumented) sipConvertFromNewPyType(). [5a65f5bad461] * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h.in, sphinx/annotations.rst: Added the /ExportDerived/ class annotation. [e3c78dfd30b8] 2013-07-26 Phil Thompson * siplib/siplib.c.in: Clear any exceptions before trying to parse a reimplementation result. [7bebd55f50b2] 2013-07-24 Phil Thompson * siplib/siplib.c.in: Fixed a mixin bug where C++ was using the mixin (rather than Python) wasn't being detected properly. [52d3b8035dca] 2013-07-23 Phil Thompson * siplib/siplib.c.in: Fixed a bug in the dereferencing of mixins. [fc3df3e99932] 2013-07-21 Phil Thompson * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h.in, siplib/sip.h.in.in, siplib/siplib.c.in, sphinx/c_api.rst: Implemented the PyQt5 plugin, including support for Qt interfaces. Added sipGetMixinAddress() to the public API. Python reimplementations of abstract mixins are now handled correctly. [972540270afa] 2013-07-19 Phil Thompson * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h.in, sipgen/transform.c: The parser now handles multiple consts in type declarations. [e7b6e4b5b1de] * sipgen/gencode.c: Properly implement /TransferBack/ even for return values that appear to be always new because the type may be a mapped collection type with elements that might not be new (e. QList). [9c073a101fb6] 2013-07-14 Phil Thompson * sipgen/lexer.l: Make sure that source locations are always valid (if not always absolutely correct). [e5a66c9174a6] 2013-07-13 Phil Thompson * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h.in: The parser can now handle expressions with casts. [54ec565cf24e] * sipgen/lexer.l: Added support for numbers having trailing lLuU. [88cc29113b02] 2013-07-11 Phil Thompson * sipgen/transform.c: Backed out changeset bd5b9927361b The problem is real (but currently not triggered), but the fix breaks PyQt. [3529b7c08228] 2013-07-10 Phil Thompson * sipgen/transform.c: Fixed a bug where a method with %VirtualCatcherCode was being used by a method without if they had the same signature. [bd5b9927361b] * configure.py.in: Invalidate the import caches before trying to import the newly created sipconfig.py. [1e3ae0d5e790] * sipgen/gencode.c: Fixed the mixin support when the generated class definition may be a sub-type. [aec935209f0d] 2013-07-07 Phil Thompson * sipgen/gencode.c, sipgen/sip.h.in, sipgen/transform.c: A virtual catcher now calls the super-class implementation by via the super-class rather than needing to know exactly where the nearest implementation is. [58987948b9fd] * NEWS, sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h.in, siplib/descriptors.c, siplib/sip.h.in.in, siplib/sipint.h, siplib/siplib.c.in, sphinx/annotations.rst: Implemented the /Mixin/ class annotation. [8b1702ce3226] 2013-07-01 Phil Thompson * NEWS, sipgen/gencode.c, sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h.in, siplib/siplib.c.in, sphinx/directives.rst: Added the call_super_init argument to the %Module directive. Updated the documentation. [42950b118753] * siplib/sip.h.in.in, siplib/siplib.c.in: Support for cooperative multi-inheritance must now be explicitly enabled because it affects compatibility. Added a shortcut so that the cooperative multi-inheritance support is skipped when it isn't needed. [07984388686f] 2013-06-30 Phil Thompson * NEWS, siplib/siplib.c.in: Fixed the %Finalisation support so that QObject sub-classes work. [17fc8e27b7e9] * sipgen/gencode.c, siplib/sip.h.in.in, siplib/siplib.c.in: Completed the support for cooperative multi-inheritance. [ddd13ea38870] * siplib/sip.h.in.in, siplib/siplib.c.in: Changed the API of td_final to minimise the creation of new dicts. Fixed the calling of the super-class's __init__. [195f0d1ab91c] 2013-06-29 Phil Thompson * siplib/siplib.c.in: Instead of calling super() to implement the cooperative multi- inheritance, just call the __init__ of the next type in the MRO. [da9edad8f7b1] * siplib/sip.h.in.in, siplib/siplib.c.in: Wrapped classes now support cooperative multi-inheritance with non- sip classes. Implemented %FinalisationCode. [aaedcb26099e] * sipgen/gencode.c, sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h.in, siplib/sip.h.in.in: Added the code generator support for %FinalisationCode. [e8b4b1ab730d] 2013-06-28 Phil Thompson * Merged the v4.14 maintenance branch. [97beee973f94] 2013-06-21 Phil Thompson * siplib/voidptr.c: Fixed a reference count bug when a sip.voidptr is created from a buffer object. [02bdf6cc32c1] <4.14-maint> 2013-06-16 Phil Thompson * .hgtags: Added tag 4.14.7 for changeset ee771b441704 [6e6cc6c60a36] <4.14-maint> * NEWS: Released as v4.14.7. [ee771b441704] [4.14.7] <4.14-maint> 2013-06-12 Phil Thompson * NEWS, build.py, sip.nsi.in, sphinx/installation.rst: Removed the Windows installer as we can't have co-existant PyQt4 and PyQt5 installers for other reasons. [74e1df1d9940] <4.14-maint> 2013-06-11 Phil Thompson * NEWS, sip.nsi.in, sphinx/installation.rst: Debugged the installer. [00678082f72e] <4.14-maint> * build.py, sip.nsi.in: Added the initial (not debugged) installer. [d22b19884c62] <4.14-maint> * sphinx/directives.rst: Fixed a broken reference to the Python documentation. [38ed755c797d] <4.14-maint> 2013-06-10 Phil Thompson * siplib/siplib.c.in: Fixed the last fix. [67258ffe885a] <4.14-maint> 2013-06-08 Phil Thompson * NEWS, sipgen/parser.y, sipgen/sip.h.in, siplib/siplib.c.in, sphinx/annotations.rst: Added the /Sequence/ function annotation. Added a work around for the Python bug whereby nb_inplace_add is wrongly copied to sq_inplace_concat if either are missing. [029828cabb4d] <4.14-maint> * NEWS, sipgen/export.c, sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h.in, siplib/sip.h.in.in, siplib/siplib.c.in, sphinx/c_api.rst, sphinx/directives.rst, sphinx/python_api.rst: Added support for classes to have %ConvertFromTypeCode. Added sipEnableAutoconversion() to the C API. Added sip.enableautoconversion() to the Python API. [4dbbc8c6c054] <4.14-maint> 2013-06-07 Phil Thompson * NEWS, sipgen/gencode.c, siplib/qtlib.c, siplib/sip.h.in.in, siplib/sipint.h, siplib/siplib.c.in, siplib/threads.c: Bumped the internal API to 10.0. Removed deprecated parts of the private API. Added the stub for the optional convert from class code. [50319794231a] <4.14-maint> 2013-06-02 Phil Thompson * siplib/qtlib.c, siplib/siplib.c.in: Add more checks to make sure that PyQt5 isn't accidentally using features that will be deprecated in SIP5. [c80745f8ee0b] <4.14-maint> 2013-06-01 Phil Thompson * siplib/qtlib.c: Added assertions for Qt support for all API functions that provide Qt support. [aa60efc50608] <4.14-maint> 2013-05-04 Phil Thompson * siplib/voidptr.c: Fixed a bug in converting an int to a voidptr. [dd473964ac33] <4.14-maint> 2013-05-01 Phil Thompson * NEWS, sipgen/gencode.c, siplib/sip.h.in.in, siplib/siplib.c.in, sphinx/c_api.rst: Added sipSetDestroyOnExit() to the public C API. [40660935c75b] <4.14-maint> 2013-04-25 Phil Thompson * sipgen/gencode.c: Fixed a code generation bug that affected QObject sub-classes with dtor %MethodCode and with the GIL not released by default (ie. PyQt5). [bd9eccac4407] <4.14-maint> 2013-04-21 Phil Thompson * .hgtags: Added tag 4.14.6 for changeset 32dcb22f994c [23da2e18916b] <4.14-maint> * NEWS, Roadmap.rst: Released as v4.14.6. [32dcb22f994c] [4.14.6] <4.14-maint> 2013-04-17 Phil Thompson * sipgen/parser.y, sphinx/annotations.rst: Documented that sub-classing from classes with different implementations is not supported. [1773f2100851] <4.14-maint> * sipgen/parser.y: Fixed a grammar bug in the parsing of %Module with no parenthesis. [2d5256eda850] <4.14-maint> 2013-04-09 Phil Thompson * siplib/siplib.c.in: Fixed a bug in the parsing of SIP_ANYSLOT arguments. [a9f7473ba9c7] <4.14-maint> 2013-04-06 Phil Thompson * sipgen/gencode.c: Removed some redundant code generated for a component module. [395bf9f00aa6] <4.14-maint> 2013-03-26 Phil Thompson * .hgtags: Added tag 4.14.5 for changeset e528e634d4db [6a2bda53d2c0] <4.14-maint> * NEWS: Released as v4.14.5. [e528e634d4db] [4.14.5] <4.14-maint> 2013-03-20 Phil Thompson * sipgen/gencode.c: Fixed a code generation bug when using /Array, Transfer/. [054f1676c300] <4.14-maint> 2013-03-06 Phil Thompson * siputils.py: Fixed a build system bug for QtWebKit on Linux against Qt v5. [c65a525a0a17] <4.14-maint> 2013-03-01 Phil Thompson * .hgtags: Added tag 4.14.4 for changeset 4c818299f57a [72b69b39a7a8] <4.14-maint> * NEWS: Released as v4.14.4. [4c818299f57a] [4.14.4] <4.14-maint> 2013-02-26 Phil Thompson * configure.py.in, sphinx/installation.rst: The --sdk flag to configure.py will now default to the directory used by current versions of Xcode. [312a27229b3f] <4.14-maint> 2013-02-20 Phil Thompson * sipgen/gencode.c, siplib/sipint.h, siplib/siplib.c.in, siplib/threads.c: The thread support now only creates TLS when it is actually needed. This makes sipStartThread() redundant and it is now deprecated. Failing to allocate TLS will now raise an exception. [34f6f0d52c1e] <4.14-maint> * NEWS, sipgen/gencode.c, siplib/sip.h.in.in, siplib/siplib.c.in, sphinx/c_api.rst, sphinx/directives.rst, sphinx/incompatibilities.rst: VirtualErrorHandler code is now called with the GIL and from the thread that raised the exception. This ensures that the details of the exception can be obtained. It also means that the default handler (ie. PyErr_Print()) can also get the details. VirtualErrorHandler code is now also provided sipGILState so that it can call SIP_RELEASE_GIL() prior to changing the execution path. [45a50c6d82fe] <4.14-maint> 2013-02-14 Phil Thompson * sphinx/introduction.rst.in: Documentation updates regarding SIP v5. [03f33e7fdfb1] <4.14-maint> 2013-02-04 Phil Thompson * NEWS, sipgen/gencode.c: Fixed the generation of an unnecessary variable for array arguments. [fb45cf6e775b] <4.14-maint> 2013-02-03 Phil Thompson * siputils.py: The problem of the moc pathname is more widespread. [bf2062f2318f] <4.14-maint> * siputils.py: Fix the build of QtWebKit on Windows. Workaround the foward slash characters in the moc pathname on Windows/Qt5. [13ee5a9fc8bd] <4.14-maint> 2013-02-02 Phil Thompson * siputils.py: Fixed the QAxContainer dependencies for Qt5. [793be65e22b9] <4.14-maint> * siputils.py: Fixed the renaming of QAxContainer for Qt5. [7e67f0559595] <4.14-maint> * siputils.py: Fixed the QAxContainer dependency for Qt5. [d33f9eaa4394] <4.14-maint> * siputils.py: Build system changes for Qt5 on Windows. [9abd1d0f5d3f] <4.14-maint> 2013-01-28 Phil Thompson * .hgtags: Added tag 4.14.3 for changeset 6e004d396299 [c9a29107c8ef] <4.14-maint> * NEWS: Released as v4.14.3. [6e004d396299] [4.14.3] <4.14-maint> 2013-01-18 Phil Thompson * siplib/siplib.c.in: When a Python object is garbage collected SIP no longer creates an additional reference to any child Python objects so that those children can now be handled by the garbage collector if appropriate. We used to keep the extra reference to make sure any additional attributes set in the child were preserved, however if the parent is being deleted then the C++ object it wraps must have been (or is about to be) destroyed, and therefore (if the parent/child relationships between the Python objects are correct) the child Python object is about to be deleted anyway. Before we relied on the C++ child telling us when to garbage collect the Python child via its virtual dtor - but this won't work if it was the C++ library (rather than the Python application) that created the child. [dc06058c99dd] <4.14-maint> 2013-01-17 Phil Thompson * siplib/siplib.c.in: Backed out changeset 4ec79ea69263 Realised that the (slight) change in behaviour could break legitimate use cases. [597c864debcc] <4.14-maint> * siplib/siplib.c.in: When a Python object is garbage collected its child Python objects are now garbage collected unless they have an instance dict. [4ec79ea69263] <4.14-maint> 2013-01-11 Phil Thompson * LICENSE, build.py, configure.py.in, sipgen/export.c, sipgen/extracts.c, sipgen/gencode.c, sipgen/heap.c, sipgen/lexer.l, sipgen/main.c, sipgen/parser.y, sipgen/sip.h.in, sipgen/sipgen.sbf, sipgen/transform.c, siplib/apiversions.c, siplib/bool.cpp, siplib/descriptors.c, siplib/objmap.c, siplib/qtlib.c, siplib/sip.h.in.in, siplib/sipint.h, siplib/siplib.c.in, siplib/siplib.sbf.in, siplib/threads.c, siplib/voidptr.c, siputils.py, sphinx/conf.py.in, sphinx/directives.rst: Updated the copyright notices. [ee3b1348996c] <4.14-maint> 2013-01-03 Phil Thompson * NEWS, sipgen/gencode.c, sphinx/annotations.rst: The /KeepReference/ argument annotation, when applied to factories, will now keep the reference with the object created by the factory. [0ad6099f31fa] <4.14-maint> 2013-01-02 Phil Thompson * siplib/voidptr.c: Properly implemented the support for passing objects that implement the buffer protocol where a voidptr is expected. [171bd8e1e037] <4.14-maint> * siputils.py: Changed the test for a Python framework build so that it works with pyvenv. [a612391f667c] <4.14-maint> 2012-12-29 Phil Thompson * siputils.py: Further build system fixes for Linux/Qt5. [04dec290a15e] <4.14-maint> * siputils.py: Fix the build system for the Linux specific naming conventions of the Qt5 libraries. [05cb90880c2b] <4.14-maint> 2012-12-18 Phil Thompson * siputils.py: Fixed the build system for QtTest in Qt5. [55188026fe6d] <4.14-maint> 2012-12-08 Phil Thompson * .hgtags: Added tag 4.14.2 for changeset e9180a8d374f [ed864cf2277f] <4.14-maint> * NEWS: Released as v4.14.2. [e9180a8d374f] [4.14.2] <4.14-maint> 2012-12-07 Phil Thompson * siputils.py: Fixed the build system for Qt v5-rc1. [44586b952072] <4.14-maint> 2012-11-14 Phil Thompson * siputils.py: The build system now knows that QtWebKit is QtWebKitWidgets in Qt5. [b8261071d302] <4.14-maint> 2012-11-11 Phil Thompson * NEWS, siplib/siplib.c.in, sphinx/python_api.rst: Added sip.setdestroyonexit(). [b063e90b6c20] <4.14-maint> * siplib/voidptr.c: Backed out to keep the behaviour the same as memoryview. [e8f21b0950c8] <4.14-maint> * siplib/voidptr.c: Backed out to keep the behaviour the same as memoryview. [26717fbefb61] <4.14-maint> 2012-11-10 Phil Thompson * sipgen/gencode.c: Patch from Matt Newell to fix /HoldGIL/ when exceptions are enabled. [669ecadaaae1] <4.14-maint> 2012-11-04 Phil Thompson * siplib/voidptr.c: A simple index of a sip.voidptr now returns an int rather than a string/bytes of length 1. [80ee79901dc9] <4.14-maint> * siplib/voidptr.c: Fixed simple index item assignment for voidptr. [3cb217678514] <4.14-maint> * siplib/voidptr.c: The new buffer interface was backported to v2.6.3. [47f4f489055e] <4.14-maint> * NEWS, siplib/voidptr.c, sphinx/python_api.rst: sip.voidptr() will now accept any object that implements the (old or new) buffer protocols. [cb7799eb557b] <4.14-maint> * sphinx/python_api.rst: Clarified the docs for __getitem__ and __setitem__ for sip.voidptr. [32fb8513b196] <4.14-maint> 2012-10-27 Phil Thompson * .hgtags: Added tag 4.14.1 for changeset d0431cee7920 [6b278a98323b] <4.14-maint> * NEWS: Released as v4.14.1. [d0431cee7920] [4.14.1] <4.14-maint> 2012-10-26 Phil Thompson * siplib/siplib.c.in: More buffer support fixes. [1fe9c59f0f06] <4.14-maint> * siplib/siplib.c.in: Both the old and new buffer protocols are now checked. [7227f121bac9] <4.14-maint> 2012-10-23 Phil Thompson * NEWS, sipgen/export.c, sipgen/gencode.c, sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h.in, sipgen/transform.c, siplib/sip.h.in.in, siplib/siplib.c.in, sphinx/annotations.rst, sphinx/c_api.rst, sphinx/specification_files.rst: Added support for types that implement the buffer protocol. [4ec285852cba] <4.14-maint> * siplib/siplib.c.in: None may be provided whenever a capsule is expected. [b90e3475bdfc] <4.14-maint> 2012-10-17 Phil Thompson * sipgen/gencode.c, siplib/sip.h.in.in: Renamed the sipCapsule_* macros to be consistent with other similar ones. [1913168e0c8d] <4.14-maint> * sipgen/export.c: The type name of a capsule is now used in docstrings. [1c8ce8a61324] <4.14-maint> * sphinx/directives.rst: Fixed a documentation typo. [94362407c872] <4.14-maint> 2012-10-16 Phil Thompson * sipgen/gencode.c: Eliminated a C compiler warning message from the generated code. [e60f63cfe0d1] <4.14-maint> * NEWS, sipgen/parser.y, sipgen/sip.h.in: The C prototype foo(void) is now accepted. [54aca3c0b75e] <4.14-maint> * sipgen/lexer.l, sipgen/transform.c: Fixed a bug in the saving of line numbers for error messages when the error is on the last significant line. [7c77e368814f] <4.14-maint> * NEWS, sipdistutils.py, sphinx/distutils.rst: If no sip-opts are defined sipdistutils.py will now use any swig_opts passed to the Extension ctor. [6fcc431a81bf] <4.14-maint> 2012-10-15 Phil Thompson * NEWS, sipgen/export.c, sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h.in, sipgen/transform.c, siplib/sip.h.in.in, siplib/siplib.c.in, sphinx/annotations.rst, sphinx/c_api.rst: Increased the API version number to 9.1. Added the /Capsule/ typedef annotation. Added the 'z' format character to sipBuildResult(). Added the 'z' format character to sipParseResult(). [f4bc254f96d8] <4.14-maint> 2012-10-12 Phil Thompson * sipgen/gencode.c: Fixed regressions in the handling of types when generating code for C modules. [3eba5b9842f0] <4.14-maint> 2012-10-09 Phil Thompson * siputils.py: Explicity close files in siputils.py to avoid resource warning messages. [fdc332e116b2] <4.14-maint> 2012-10-07 Phil Thompson * sipgen/gencode.c, siplib/sip.h.in.in: Backed out the changes to the signal table generation (and revert the API version to 9.0) because they are no longer needed. [38235401ffbc] <4.14-maint> 2012-10-03 Phil Thompson * sipgen/gencode.c, siplib/sip.h.in.in: Renamed PYQT4_SIGNAL_EXPLICIT to PYQT4_SIGNAL_FIXED_ARGS. Renamed PYQT4_SIGNAL_MASK to PYQT4_SIGNAL_ARGS_MASK. [cfbd55297dcd] <4.14-maint> * sipgen/gencode.c, siplib/sip.h.in.in: Added the flags member to the pyqt4QtSignal structure so that PyQT can distinguish between explicitly defined signals and those added to support optional arguments. [81617aa9e051] <4.14-maint> 2012-10-01 Phil Thompson * sipgen/export.c, sipgen/gencode.c, sipgen/sip.h.in: Revised the previous change to keep the brackets unless the signal has no arguments. (PyQt relies on the format for some of its exceptions.) [dd884ddcb239] <4.14-maint> * sipgen/export.c, sipgen/gencode.c, sipgen/sip.h.in: Changed the docstrings for signals to use parenthesis rather than brackets as it is less confusing. [3f6128385aa2] <4.14-maint> 2012-09-29 Phil Thompson * .hgtags: Added tag 4.14 for changeset 90ea220ecc4b [76a18a32f759] * NEWS: Released as v4.14. [90ea220ecc4b] [4.14] 2012-09-28 Phil Thompson * NEWS: Updated the NEWS file. [214dd6433474] 2012-09-27 Phil Thompson * sphinx/directives.rst, sphinx/embedding.rst, sphinx/incompatibilities.rst, sphinx/python_api.rst, sphinx/using.rst: Got rid of all Sphinx warning messages. [cbf911605931] 2012-09-25 Phil Thompson * configure.py.in, specs/win32-msvc2008, specs/win32-msvc2010: Updated the win32-msvc2008 spec file. Taught the build system about MSVC 2010. [5d3c5164342a] 2012-09-24 Phil Thompson * configure.py.in, siputils.py: Taught the build system about Qt5's CXXFLAGS_APP macro. [4e2fddd95c07] * sphinx/annotations.rst: Another correction to the /Factory/ documentation. [f030580a19f6] 2012-09-21 Phil Thompson * sphinx/annotations.rst: Fixed the incorrect /Factory/ documentation. [3b76a41a1f4a] 2012-09-20 Phil Thompson * sipgen/gencode.c: Fixed the signature for generated virtual error handler functions. [caa74f25dff8] 2012-09-19 Phil Thompson * sipgen/parser.y: Fixed an initialisation bug in the parser by making it resiliant to future changes. [fd2e76ea8e16] 2012-09-18 Phil Thompson * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h.in: Fixed a few compiler warning messages. [a8aaecad7327] 2012-09-17 Phil Thompson * NEWS, sipgen/gencode.c, sipgen/main.c, sipgen/parser.y, sipgen/sip.h.in, sphinx/directives.rst: Added support for the SIP_PLATFORM_* and SIP_TIMELINE_* preprocessor symbols. [664ec65acb33] 2012-09-14 Phil Thompson * siputils.py: A build system fix for Qt v5-beta1. [6d704a7ab6c5] * siplib/sip.h.in.in: Removed the ANY SIP v3 compatibility macro as it causes problems with Qt v5. [40aeb5a8f98e] 2012-09-13 Phil Thompson * sipgen/parser.y, sipgen/transform.c: The AllowNone and NoRelease mapped type annotations can now be applied to mapped type templates. [3da91337f333] * sphinx/annotations.rst: Documented the PyName mapped type annotation. [b1a5b8cab2ab] * sipgen/lexer.l: Improved the parsing of floating point literals thanks to Andrea Griffini. [be35aa0bb4b5] 2012-09-01 Phil Thompson * sipgen/gencode.c, siplib/sip.h.in.in, siplib/siplib.c.in, sphinx/c_api.rst, sphinx/directives.rst: Added sipCallErrorHandler() to the private API. A virtual error handler is now called with the GIL released. The sipGILState variable is no longer passed to an error handler. [be42df79035d] 2012-08-31 Phil Thompson * NEWS, sphinx/annotations.rst, sphinx/directives.rst: Updated the docs regarding the latest virtual error changes. [86a4f33db172] * sipgen/gencode.c, sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h.in, siplib/sip.h.in.in, siplib/siplib.c.in: Changed the virtual error handler support yet again so that error handlers are automatically exported to sub-classes and sub-modules. [118500886fa7] 2012-08-30 Phil Thompson * sipgen/gencode.c, siplib/sip.h.in.in, siplib/siplib.c.in: Completed the refactoring of virtual handlers to use sipParseResultEx(). [397b4ade7900] * sipgen/gencode.c, siplib/sip.h.in.in, siplib/siplib.c.in: Added sipParseResultEx() to the private API as a stub for future changes. [659fcb20bbc9] * specs/macx-xcode: Merged the 4.13 branch into the trunk. [96ef5f43f010] * NEWS, sipgen/gencode.c, sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h.in, sipgen/transform.c, siplib/sip.h.in.in, sphinx/annotations.rst, sphinx/c_api.rst, sphinx/directives.rst: Replaced the virtual error support (again) with the %DefaultVirtualErrorHandler directive, the /NoVirtualErrorHandler/ and /VirtualErrorHandler/ function annotations, and the /VirtualErrorHandler/ class annotation. Added sip_gilstate_t and SIP_RELEASE_GIL() to the public API. The Sphinx docs now use C domains where appropriate. [71c0d64913bc] <4.13-maint> 2012-08-28 Phil Thompson * NEWS, sipgen/gencode.c, siplib/descriptors.c, siplib/sip.h.in.in, siplib/siplib.c.in: Bumped the API version number to 9.0. Removed the support for pre-9.0 variable structures. Changed the sipVariableGetterFunc signature to pass the Python object. [d8824768aa51] <4.13-maint> * sphinx/c_api.rst: Updated the documentation for sipConvertToType(). [32c2c73f4c27] <4.13-maint> 2012-08-27 Phil Thompson * NEWS, sipgen/gencode.c, sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h.in, sipgen/transform.c, siplib/sip.h.in.in, sphinx/annotations.rst, sphinx/directives.rst: Changed the support for flagging errors in Python reimplementations of virtuals by adding the %VirtualErrorCode directive and removing SIPPyException. Also replaced the all_throw_cpp_exception %Module argument with all_use_VirtualErrorCode, and the /NoThrowsCppException/ and /ThrowsCppException/ function annotations with /NoUsesVirtualErrorCode/ and /UsesVirtualErrorCode/. [523c3bccb41b] <4.13-maint> 2012-08-26 Phil Thompson * sipgen/gencode.c, siplib/sip.h.in.in: Fixed the support for virtual handler exceptions so that memory isn't leaked and the GIL is released. [f644e914b292] <4.13-maint> * sipgen/transform.c: A simply tidy up after the previous change. [b3cd21a00d51] <4.13-maint> * sipgen/transform.c: Backed out changeset 1066 and did it properly. [368eaa1143bd] <4.13-maint> 2012-08-25 Phil Thompson * NEWS, sipgen/gencode.c, sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h.in, sipgen/transform.c, siplib/sip.h.in.in, sphinx/annotations.rst, sphinx/directives.rst: Added the all_throw_cpp_exception argument to the %Module directive. Added the /ThrowCppException/ and /NoThrowCppException/ function annotations. [5f97352e818f] <4.13-maint> 2012-08-24 Phil Thompson * sipgen/transform.c: No longer require that the types of the arguments of a C/C++ signature are fully defined to SIP. [01e11dc52626] <4.13-maint> 2012-08-15 Phil Thompson * NEWS, siplib/siplib.c.in, sphinx/c_api.rst: sipTransferTo() now increments the reference count of an object if the owner is Py_None. Fixed a type checking bug in sip.transferto(). Deprecated sipTransferBreak(). [f59d135ae51c] <4.13-maint> 2012-08-10 Phil Thompson * sipgen/gencode.c: For Python v2.x unsigned short and unsigned byte are now converted to int rather than long objects (to be consistent with the signed versions). [897e085bdd97] <4.13-maint> * siplib/siplib.c.in: Make sure an exception is raised when converting to a character when a string longer than one character is passed. [28ea90cba3a9] <4.13-maint> 2012-07-22 Phil Thompson * sipdistutils.py: Applied a patch from Oliver Nagy to fix sipdistutils.py for Python v3. [5775580258b3] <4.13-maint> 2012-07-09 Phil Thompson * siplib/siplib.c.in: Fixed the use of a Python3 specific format character. [801ae4c35450] <4.13-maint> 2012-07-03 Phil Thompson * sipgen/gencode.c, sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h.in, sphinx/annotations.rst, sphinx/directives.rst, sphinx/specification_files.rst: Implemented the %InstanceCode directive. [9b330b545c65] <4.13-maint> 2012-07-02 Phil Thompson * sipgen/gencode.c: Reformatted some comments. [fa8592b30bf5] <4.13-maint> * configure.py.in, sipgen/export.c, sipgen/extracts.c, sipgen/gencode.c, sipgen/heap.c, sipgen/lexer.l, sipgen/main.c, sipgen/sip.h.in, sipgen/sipgen.sbf, sipgen/transform.c, siplib/apiversions.c, siplib/bool.cpp, siplib/descriptors.c, siplib/objmap.c, siplib/qtlib.c, siplib/sipint.h, siplib/siplib.sbf.in, siplib/threads.c, siplib/voidptr.c, sphinx/conf.py.in, sphinx/directives.rst: Updated the dates on various copyright notices. [257d223f5d45] <4.13-maint> 2012-06-29 Phil Thompson * sphinx/c_api.rst: Fixed a documentation typo. [e1a825c52e33] <4.13-maint> 2012-06-20 Phil Thompson * .hgtags: Added tag 4.13.3 for changeset 589228145d51 [1cbf533ebe71] <4.13-maint> * NEWS: Released as v4.13.3. [589228145d51] [4.13.3] <4.13-maint> 2012-06-05 Phil Thompson * NEWS, siplib/siplib.c.in: Another fix for the handling of keyword arguments when used with unbound methods. [377e9e4763f5] <4.13-maint> 2012-06-04 Phil Thompson * siplib/siplib.c.in: Fixed the handling of keyword arguments when used with unbound methods. [cdd78f0c72b2] <4.13-maint> 2012-06-01 Phil Thompson * sipgen/gencode.c: Apply a cast to the argument to sipConvertFrom[Const]VoidPtr[AndSize]() when it was defined with a typedef. This makes it easier to use typedef as a way of hiding the complexities of a type that SIP doesn't handle. [c814c38523ff] <4.13-maint> 2012-05-25 Phil Thompson * NEWS, sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h.in, siplib/siplib.c.in, sphinx/annotations.rst, sphinx/directives.rst: The /NoRaisesPyExceptions/ and /RaisesPyExceptions/ function annotations can no be used with constructors. Updated the NEWS file. [482aa7e3f1ab] <4.13-maint> 2012-04-29 Phil Thompson * specs/macx-xcode: Removed the macx-xcode file at it isn't supported by the build system. [31ad477ff5ae] <4.13-maint> 2012-04-26 Phil Thompson * sipgen/parser.y: Removed the free() of a code block filename now that filenames are retained for error messages. [16ef20290565] <4.13-maint> * sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h.in, sipgen/transform.c: Error messages related to callables should now include the filename and line number of the callable in the .sip source file. [fa6c71904d78] <4.13-maint> 2012-04-18 Phil Thompson * sipgen/gencode.c: Fixed the support for keeping an extra reference to a containing class when refering to a member variable. [fbb9cdbad791] <4.13-maint> 2012-04-16 Phil Thompson * siplib/siplib.c.in: Eliminate a race condition in sip_api_is_py_method(). [871a7b44c8f0] <4.13-maint> 2012-04-14 Phil Thompson * siplib/sip.h.in.in, siplib/siplib.c.in: Improved the text of the exception raised when a wrapped C/C++ object doesn't exist. [dd2d72cac87f] <4.13-maint> 2012-04-09 Phil Thompson * siputils.py: Taught the build system about Qt5's QtGui module. [8d2739f3225f] <4.13-maint> 2012-04-02 Phil Thompson * sipgen/parser.y: Allow a string as well as an identifier for arguments to various name= settings so that name="name" can be used. [d5e6a1fa39f2] <4.13-maint> 2012-03-09 Phil Thompson * siplib/siplib.c.in: Updated the Unicode support for Python v3.3. [0870e512d8dd] <4.13-maint> 2012-03-04 Phil Thompson * sipgen/gencode.c, sipgen/parser.y, siplib/sip.h.in.in: Ensure a reference is kept to the containing object when getting an instance variable that is a non-const wrapped object. This should (safely) avoid a certain kind of application bug. [0dd3cb4eff0e] <4.13-maint> * siplib/qtlib.c: Effectively backed out change 769 because it causes inconsistent behaviour when a method is connected to its object's destroyed() method. [ca0fb2b4bd89] <4.13-maint> 2012-02-19 Phil Thompson * siplib/siplib.c.in: If a Python reimplementation is a descriptor then use the descriptor protocol to bind it (specifically added for Nuitka). [88844f85f705] <4.13-maint> 2012-02-10 Phil Thompson * .hgtags: Added tag 4.13.2 for changeset 4efeefee717e [389a142d1997] <4.13-maint> * NEWS: Updated the NEWS file. Released as v4.13.2. [4efeefee717e] [4.13.2] <4.13-maint> 2012-02-05 Phil Thompson * sipgen/parser.y: Fixed bad pointer bugs in the parsing of exceptions. [1058b2c18309] <4.13-maint> 2012-01-30 Phil Thompson * siplib/objmap.c: Handle aliases properly when discovering that an object has been deleted. [f51e159f6dff] <4.13-maint> 2011-12-22 Phil Thompson * .hgtags: Added tag 4.13.1 for changeset a782debccd42 [8a56d87be977] <4.13-maint> * NEWS: Released as v4.13.1. [a782debccd42] [4.13.1] <4.13-maint> 2011-12-20 Phil Thompson * sipgen/gencode.c: Fixed a bug in the generation of PyQt signal signatures that caused a "const" to be wrongly dropped. [39cf1d1d8167] <4.13-maint> 2011-12-19 Phil Thompson * siplib/siplib.c.in: Properly handle %PickleCode returning NULL. [29ec1c523114] <4.13-maint> 2011-12-17 Phil Thompson * NEWS, Roadmap.rst, sipgen/main.c: Deprecation warnings can no longer be suppressed. Updated the NEWS file. Updated the Roadmap. [358be4ede9fc] <4.13-maint> 2011-12-07 Phil Thompson * siplib/objmap.c: Completed the support for object aliases when garbage collecting an object. [7ab562ae0e39] <4.13-maint> * siplib/objmap.c, siplib/sip.h.in.in, siplib/sipint.h, siplib/siplib.c.in: When an object that uses multiple inheritance in its class hierachy is wrapped, all of its addresses when cast to the different super- classes are internally registered as aliases. This means that the original object will be found when given an address that is different as a result of a cast. (Note that the support for removing aliases when the object is garbage collected is not yet done.) [da88157d2f03] <4.13-maint> 2011-12-05 Phil Thompson * sipgen/gencode.c, sipgen/sip.h.in, sipgen/transform.c: Backed out 1013. It breaks when the method is overloaded in a super- class but only one overload is reimplemented in this class so the compiler doesn't see the other overload in the super-class so we must refer to it explicitly. [82af71f0adcb] <4.13-maint> * sipgen/gencode.c: Backed out 1014. [e50d347a15db] <4.13-maint> 2011-11-30 Phil Thompson * sipgen/parser.y: Fixed the generation of handlers for virtuals defined in templates. [98421b9cc511] <4.13-maint> * siputils.py: The build system now handles recursively defined macros. [5d7476cbb504] <4.13-maint> 2011-11-28 Phil Thompson * sipgen/gencode.c: sipSelf is now generated with the correct const qualifier. [3c46012c8562] <4.13-maint> * NEWS, sipgen/parser.y, sphinx/specification_files.rst: Protected and private super-classes can now be specified but are otherwise ignored. [f331e22716d9] <4.13-maint> * custom/mkcustom.py: Support for sys.platform being 'linux3'. [01a339a7f2e9] <4.13-maint> 2011-11-27 Phil Thompson * NEWS, sipgen/parser.y, sphinx/annotations.rst: Added the /PyName/ typedef annotation. [8c147224120a] <4.13-maint> 2011-11-23 Phil Thompson * siputils.py: Fixed the build system for building a debug version of PyQt on OS/X. [3b44dc2f0efd] <4.13-maint> * NEWS, sipgen/parser.y, sipgen/sip.h.in, sipgen/transform.c: Class templates now allow template arguments to be used as a super- class. [08e44ad74137] <4.13-maint> 2011-11-22 Phil Thompson * NEWS, sipgen/parser.y: Added support for 'public' preceding the name of a class in a super- class list. [7fbb8a754a81] <4.13-maint> * sipgen/parser.y, sphinx/annotations.rst, sphinx/directives.rst, sphinx/specification_files.rst, sphinx/using.rst: Updated the docs where the examples refered to deprecated syntax. [36208e0a6773] <4.13-maint> * NEWS, sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h.in, sphinx/annotations.rst, sphinx/directives.rst: Added the all_raise_py_exception argument to the %Module directive. Added the /NoRaisesPyException/ function annotation. [bf725fdfd029] <4.13-maint> * sipgen/gencode.c: Fixed the previous change for classes contained in namespaces. [09411053ef1b] <4.13-maint> * sipgen/gencode.c, sipgen/sip.h.in, sipgen/transform.c: Virtual catchers will now call the most recent C++ implementation (if there is no Python reimplementation) even if it is unknown to SIP rather than the most recent implementation that SIP knows about. [8893e36b8ca3] <4.13-maint> 2011-11-21 Phil Thompson * sipgen/gencode.c: Updated some code generator comments. [fad4bdca5bbd] <4.13-maint> 2011-11-16 Phil Thompson * siputils.py: Make sure PyQt's internal static support libraries don't get added to rpath. [91848382e6fd] <4.13-maint> 2011-11-15 Phil Thompson * sipgen/parser.y: Added support for void template arguments. [1c699c672ed7] <4.13-maint> 2011-10-24 Phil Thompson * .hgtags: Added tag 4.13 for changeset 0869eb93c773 [3b2a3fb3fdda] * NEWS: Released as v4.13. [0869eb93c773] [4.13] * Merged the v4.12 maintenance branch into the trunk. [021e97baeeb0] * NEWS: Updated the NEWS file. [af334da384fd] <4.12-maint> 2011-10-13 Phil Thompson * sipgen/parser.y, sphinx/specification_files.rst: '*' and '&' are now accepted as unary operators in expressions used to define the values of default arguments. [4eba42cb2457] <4.12-maint> * sipgen/parser.y, sipgen/sip.h.in: Further fix for overloads with a variant that is protected and a variant that has optional arguments defined in a module that supports keyword arguments imported by a module that doesn't. [79951a333f30] <4.12-maint> 2011-10-10 Phil Thompson * sipgen/gencode.c, sphinx/annotations.rst: The /Transfer/ annotation can now be used with the /Array/ annotation to prevent the freeing of the temporary array of pointers. [3a009ee97d60] <4.12-maint> 2011-10-07 Phil Thompson * NEWS, siplib/siplib.c.in, sphinx/directives.rst: %ConvertToSubClassCode can now cause a restart of the conversion process using a different requested type. This enables the correct handling of PyQt's QLayoutItem. [fa212070a486] <4.12-maint> 2011-10-06 Phil Thompson * siplib/siplib.c.in: sipIsPyMethod() now allows for an object's type's tp_mro to be NULL. This can happen when the only instance of a dynamically created type is in the process of being garbage collected. [d66046441fa8] <4.12-maint> 2011-10-04 Phil Thompson * siplib/siplib.c.in: Commit backout. [6e11ad753de6] <4.12-maint> * sipgen/gencode.c, siplib/sip.h.in.in, siplib/siplib.c.in: Backed out changeset 0bcc2ce09ba0 This (and the following changeset) doesn't seem to make a difference. [2df67f4a3294] <4.12-maint> * siplib/siplib.c.in: Commit backout. [4a9b20624f88] <4.12-maint> * siplib/siplib.c.in: Backed out changeset de3fe63e5dec This (and the previous changeset) doesn't seem to make a difference. [78740eff2bf4] <4.12-maint> 2011-09-27 Phil Thompson * siplib/siplib.c.in: Add an atexit function that will disable all Python reimplementations of virtuals. [de6a700f5faa] <4.12-maint> 2011-09-26 Phil Thompson * NEWS, sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h.in, sphinx/directives.rst: Added the %DefaultDocstringFormat directive. Added the format argument to the %Docstring directive. [dba052605539] <4.12-maint> 2011-09-24 Phil Thompson * siplib/siplib.c.in: Fixed the previous fix to sipIsPyMethod() so that it doesn't retain the GIL. [de3fe63e5dec] <4.12-maint> 2011-09-17 Phil Thompson * sipgen/gencode.c, siplib/sip.h.in.in, siplib/siplib.c.in: sipIsPyMethod() now acquires the GIL before checking if the Python object has been garbage collected. [0bcc2ce09ba0] <4.12-maint> * siplib/siplib.c.in: Fixed a typo in a comment. [c4ad84eeed37] <4.12-maint> * siplib/siplib.c.in: Added a missing Py_DECREF() on a (very rarely used) error handling path. [a99ab15f7b18] <4.12-maint> 2011-09-03 Phil Thompson * sipgen/gencode.c: Fixed a code generation bug where a module with keyword arguments disabled derives from a class imported from a module with them enabled. [1c3d2412e35a] <4.12-maint> 2011-08-26 Phil Thompson * sipgen/gencode.c: PyQt will now only delete a QObject if the QObject belongs to the current thread, otherwise it calls deleteLater(). [c2987628087f] <4.12-maint> 2011-08-02 Phil Thompson * .hgtags: Added tag 4.12.4 for changeset 7dff386f6d8c [49580889fa23] <4.12-maint> * NEWS: Released as v4.12.4. [7dff386f6d8c] [4.12.4] <4.12-maint> 2011-07-29 Phil Thompson * NEWS, siputils.py: Added support for Qt configured with -qtlibinfix based on a patch from Ian Scott. [d87cea364549] <4.12-maint> * NEWS, sipgen/gencode.c, siplib/siplib.c.in: Switched to using PyLong_AsUnsignedLongMask() and PyLong_AsUnsignedLongLongMask() instead of the non-mask versions so that overflow is ignored. [533e6a9e3e3a] <4.12-maint> 2011-07-10 Phil Thompson * sipgen/gencode.c: Make sure the %TypeHeaderCode of a /Default/ %Exception is included. [bbe43a0bad78] <4.12-maint> 2011-06-23 Phil Thompson * siplib/siplib.c.in: Fixed a regression introduced in the recent sipIsPyMethod() changes in the handling of special methods implemented by object (eg. __lt__). [f9f4b161c940] <4.12-maint> * siplib/siplib.c.in: Fixed some other warnings from more (undocumented) Python v3.2 changes. [df42f6bf92c8] <4.12-maint> * siplib/sip.h.in.in, siplib/voidptr.c: Fixed sipConvertFromSliceObject() for Python v3.2. [3d0336c32dfa] <4.12-maint> 2011-06-13 Phil Thompson * build.py: Fixed the build system for MacOS as the development platform. [fdd3cecee60d] <4.12-maint> 2011-05-22 Phil Thompson * .hgtags: Added tag 4.12.3 for changeset 50282bee0c60 [54c00a0e9c01] <4.12-maint> * NEWS: Released as v4.12.3. [50282bee0c60] [4.12.3] <4.12-maint> 2011-05-20 Phil Thompson * sipgen/gencode.c: Generated signal signatures no longer remove the reference '&' for non-const arguments. [274e38133e7a] <4.12-maint> * siplib/siplib.c.in: Fixed the calling of hooks for Python3. [192dfa04b3ac] <4.12-maint> 2011-05-15 Phil Thompson * siplib/siplib.c.in, sphinx/incompatibilities.rst: When searching for a Python reimplementation of a virtual C++ method, any object that is not a C++ method wrapper is assumed to be valid. Previously, if it wasn't a Python function or method then it would be ignored. This is a potential incompatibility, but any code that is affected is either buggy or badly written. [f95ee221598d] <4.12-maint> 2011-04-30 Phil Thompson * .hgtags: Added tag 4.12.2 for changeset dd8f52a95d04 [b99179c54a07] <4.12-maint> * NEWS: Released as v4.12.2. [dd8f52a95d04] [4.12.2] <4.12-maint> 2011-04-22 Phil Thompson * sipgen/gencode.c, sipgen/parser.y, sipgen/transform.c: Added support for global inplace numeric operators. [af33bd829af3] <4.12-maint> * sipdistutils.py: Updated the license and copyright information for sipdistutils.py. [94f4971497a9] <4.12-maint> 2011-04-18 Phil Thompson * sipgen/parser.y: Made sure thngs were initialised to 0 properly when parsing new- style directives for variables. [c3f5a8b89968] <4.12-maint> 2011-04-14 Phil Thompson * NEWS, sipgen/parser.y: Handwritten code in class templates no longer has types substituted in lines that appear to be C preprocessor directives. This prevents #include'd file names getting substituted. [e039b65daa03] <4.12-maint> 2011-04-08 Phil Thompson * siplib/siplib.c.in: Fixed a regression in the handling of keyword arguments. [f68e042c94f5] <4.12-maint> 2011-03-29 Phil Thompson * NEWS: Updated the news file. [ec9807971e08] <4.12-maint> 2011-03-27 Phil Thompson * sipgen/parser.y: The names of optional arguments to protected methods are generated no matter what module the method is defined in. [fe4c052830ff] <4.12-maint> * sipgen/gencode.c: Another fix for the bad protected enum fix. [d112d90bcbfd] <4.12-maint> * sipgen/parser.y: Fixed a bug where keyword argument names were being generated when being defined in a parent module. [3e11c4b7d541] <4.12-maint> 2011-03-26 Phil Thompson * sipgen/parser.y: Mapped type template arguments now include "const" if appropriate. [22c5009485a8] <4.12-maint> * sipgen/gencode.c: Fixed a regression that caused enums in namespaces to be ignored. [f9b89f2c1c7d] <4.12-maint> 2011-03-25 Phil Thompson * siplib/siplib.c.in: The keyword support now explicitly checks that keywords are provided. Python handles this for ordinary methods but not for __init__. [05718fa95834] <4.12-maint> 2011-03-22 Phil Thompson * sipgen/gencode.c: Code is no longer generated for protected enums of /Abstract/ classes. [d349bb35cdcc] <4.12-maint> 2011-03-18 Phil Thompson * sipgen/gencode.c: The /KeepReference/ function annotation now keeps a reference even if the result is already owned by Python. [ecb3e795382e] <4.12-maint> * sipgen/gencode.c, sipgen/parser.y, sipgen/transform.c, sphinx/annotations.rst: /KeepReference/ can now be used as a function annotation. [dc7effca2a82] <4.12-maint> * configure.py.in: A fix for when building outside the source directory. [942f1b8ac66b] <4.12-maint> 2011-03-03 Phil Thompson * sipgen/gencode.c, sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h.in, sipgen/transform.c: The %TypeHeaderCode from a class template is now included in the generated code. [b5992208a757] <4.12-maint> 2011-02-24 Phil Thompson * sipgen/parser.y, sipgen/transform.c: typedefs in class templates are now handled correctly. [62e2faa4fb81] <4.12-maint> * sipgen/transform.c: When comparing mapped type templates the number of dereferences of the template arguments is now taken into account. [9cf3969984a5] <4.12-maint> 2011-02-22 Phil Thompson * sipgen/gencode.c: %Docstring applied to a Qt signal is no longer ignored. [0fae9a0aae28] <4.12-maint> 2011-02-21 Phil Thompson * sipgen/gencode.c: Fixed /KeepReference/ when used with ctors. [1a5475b48b7c] <4.12-maint> 2011-01-22 Phil Thompson * .hgtags: Added tag 4.12.1 for changeset 6a8117e8b16a [2ead36288f97] <4.12-maint> * NEWS, build.py: Released as v4.12.1. [6a8117e8b16a] [4.12.1] <4.12-maint> 2011-01-21 Phil Thompson * siplib/siplib.c.in: Tweaked an exception message to make it easier to mimic in handwritten code. [426308437843] <4.12-maint> * sipgen/transform.c: sip will now longer complain about callables with the same Python signature if either of them has %MethodCode as it assumes that the %MethodCode will resolve any potential conflicts. [9ed59e5c8070] <4.12-maint> 2011-01-15 Phil Thompson * build.py, sphinx/conf.py.in, sphinx/static/default.css, sphinx/static/logo.png, sphinx/static/logo_tn.ico: Added a new Sphinx stylesheet. [c0c94278423e] <4.12-maint> 2011-01-14 Phil Thompson * NEWS: Updated the NEWS file. [fa100876a783] <4.12-maint> 2011-01-07 Phil Thompson * LICENSE, build.py, configure.py.in, sipgen/export.c, sipgen/extracts.c, sipgen/gencode.c, sipgen/heap.c, sipgen/lexer.l, sipgen/main.c, sipgen/parser.y, sipgen/sip.h.in, sipgen/sipgen.sbf, sipgen/transform.c, siplib/apiversions.c, siplib/bool.cpp, siplib/descriptors.c, siplib/objmap.c, siplib/qtlib.c, siplib/sip.h.in.in, siplib/sipint.h, siplib/siplib.c.in, siplib/siplib.sbf.in, siplib/threads.c, siplib/voidptr.c, siputils.py, sphinx/conf.py.in, sphinx/directives.rst: Updated the copyright notices. [42e1cfe37140] <4.12-maint> * sphinx/directives.rst: Fixed a documentation typo. [e54f022f78f6] <4.12-maint> * NEWS, sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h.in, sphinx/annotations.rst: Added the /RaisesPyException/ function annotation. [649736ef0ab2] <4.12-maint> 2011-01-03 Phil Thompson * configure.py.in, siputils.py, sphinx/build_system.rst, sphinx/installation.rst: Added the --deployment-target option to configure.py which should be used to work around bugs in the latest versions of Python on MacOS/X. [18c8fe174f38] <4.12-maint> 2011-01-02 Phil Thompson * sipgen/gencode.c: Fixed a code generation bug in the %MethodCode error handling for zero argument slots. [4ed8b04e7e7a] <4.12-maint> 2010-12-31 Phil Thompson * sipgen/lexer.l, sipgen/parser.y, sphinx/specification_files.rst: Added SIP_SSIZE_T as a pre-defined type so it can be used in .sip files. [1871ed7f3c9b] <4.12-maint> * sipgen/parser.y, sphinx/specification_files.rst: PyObject * is now a synonym for SIP_PYOBJECT in .sip files. [56e378d55db0] <4.12-maint> * siplib/siplib.c.in, sphinx/python_api.rst: Added sip.ispycreated(). [e1efc2847290] <4.12-maint> 2010-12-28 Phil Thompson * NEWS, sipgen/parser.y, siplib/siplib.c.in, sphinx/specification_files.rst: Added support for the __getattribute__ and __getattr__ methods. [1da2e2e9fa1c] <4.12-maint> 2010-12-27 Phil Thompson * NEWS, sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h.in, siplib/sip.h.in.in, siplib/siplib.c.in, sphinx/specification_files.rst: Added support for __setattr__ and __delattr__ methods. [3f7a1f5bff74] <4.12-maint> * siplib/siplib.c.in: The lazy attributes of a type are added when the first instance of the type is created. This leaves the instance tp_getattro and tp_setattro slots available. [12a8fc4ee75a] <4.12-maint> 2010-12-24 Phil Thompson * NEWS: Fixed some errors in the NEWS file. [44a6a3833477] <4.12-maint> 2010-12-23 Phil Thompson * .hgtags: Added tag 4.12 for changeset 4a79f5996bd7 [111436ade941] * NEWS: Released as v4.12. [4a79f5996bd7] [4.12] * sipgen/gencode.c: A further fix for Python v2.4 and earlier. [5e655e94fc64] * sipgen/gencode.c: Fixed the code generated for a composite module an Python v2.4 and earlier. [00b0fadcf6fc] * siplib/voidptr.c: Add a couple of casts for MSVC2008. [68916b34ac59] 2010-12-20 Phil Thompson * sphinx/python_api.rst: Updated the documentation regarding the sip.simplewrapper type. [0f92caeb5770] * sipgen/parser.y, sipgen/transform.c: Fixed a bug looking up mapped types that are templates with enum arguments. [1212ca61ef1d] 2010-12-18 Phil Thompson * sipgen/transform.c: Fixed the inclusion of header files for init extenders. [171d8f4e9f3a] 2010-12-11 Phil Thompson * siplib/voidptr.c: sip.voidptr now uses PyLong_AsVoidPtr() for all versions of Python. [3d4ccc59c9c3] 2010-12-09 Phil Thompson * configure.py.in: Improved the configure.py error message when an invalid build macro is given. [631ded439583] * Roadmap.rst: Removed the section of the roadmap stating that SIP v5 will require types to be defined in advance of being used because (after thinking about it properly) in would be a complete pain for the user. [02eee09f591f] * sipgen/sip.h, sipgen/sip.h.in: Fixed an apparent hg problem with sipgen/sip.h[.in]. [1fd9ca0698a0] 2010-12-07 Phil Thompson * sipgen/lexer.l, sipgen/sip.h: Fixed the parsing of %Extract. [393564f2cfeb] * sipgen/gencode.c: Make sure backslashes in generated #line directives are escaped. [cc58da4653e7] * sipgen/parser.y, sipgen/sip.h: A deprecation warning is issues for any argument annotations in an explicit C/C++ signature. [8d0e2a1b1d1c] * sipgen/parser.y, sipgen/sip.h, sphinx/directives.rst: /AllowNone/ is a valid class annotation. [e94d52f996d7] 2010-12-06 Phil Thompson * sipgen/parser.y, sipgen/sip.h, sphinx/annotations.rst: Deprecation warning are now generated for any invalid annotation. Updated the docs so that annotations are mentioned in all the contexts that they can applied to. [a3715d0c74a5] * NEWS, build.py, sipgen/main.c, sipgen/main.c.in, sipgen/parser.y, sipgen/sip.h, sphinx/directives.rst: Added the automatic pseudo-%Timeline of SIP version numbers. [50fc306bfb6d] * NEWS, sphinx/annotations.rst: Documented /PyInt/ as a typedef annotation. [0d8a873e3d30] 2010-12-03 Phil Thompson * NEWS, siplib/sip.h.in.in, siplib/siplib.c.in, sphinx/c_api.rst: Added sipGetAddress() to the public API. [b202f0d04ba6] 2010-11-30 Phil Thompson * sipgen/main.c.in, sphinx/command_line.rst: Don't try and issue warnings until the -w flag has been parsed. [64e98b58216b] * NEWS, sipgen/gencode.c, sipgen/lexer.l, sipgen/main.c.in, sipgen/parser.y, sipgen/sip.h, sphinx/annotations.rst, sphinx/command_line.rst, sphinx/directives.rst: Added the 'keyword_arguments' argument to %Module. The /KeywordArgs/ annotation now takes a string value describing the level of keyword argument support. The previous behavior is deprecated. Deprecated the /NoKeywordArgs/ annotation. Deprecated the code generator's -k command line option. [2294802123f4] 2010-11-28 Phil Thompson * sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h: More generic parser fixes for directives that allow an argument without requiring parentheses. [1d6ba419952c] 2010-11-27 Phil Thompson * sipgen/parser.y, sphinx/directives.rst: Semi-colons are now not allowed after directives with no sub- directives but are now required after the closing brace after sub- directives. [1a300e9d7f80] * sipgen/parser.y: Tidy up some coding inconsistencies in the parser. [c86ace2573fd] * sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h: The (internal) %Plgin directive now uses the revised syntax. [86a793919cd1] * sipgen/lexer.l, sipgen/parser.y, sphinx/directives.rst: %Timeline now respects %If/%End. [d227e7ea1eac] * sipgen/parser.y, sphinx/directives.rst: %Platforms now respects %If/%End. [3c1e4cb9dd4c] * sipgen/parser.y, sphinx/directives.rst: %Doc and %ExportedDoc now respect %If/%End. [e3f95120f8c9] * sipgen/lexer.l, sipgen/parser.y, sphinx/directives.rst: %OptionalInclude is now deprecated. [fbfa68d0b559] * sipgen/parser.y, sphinx/directives.rst: The %MappedType sub-directives now respect %If/%End. [afb6cb9b21b9] * sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h, sphinx/annotations.rst, sphinx/conf.py.in, sphinx/directives.rst: %License now uses the revised syntax. [ebeed9b2838e] * sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h, sphinx/directives.rst: %Include now follows the new syntax and includes the functionality of %OptionalInclude. [b71dca41f194] * sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h, sphinx/directives.rst: %Import now uses the revised syntax. [df828f381c63] * sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h, sphinx/directives.rst: Changed the argument of %DefaultEncoding to 'name' to be consistent with other similar directives. [66c4f0e60cc5] 2010-11-26 Phil Thompson * sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h, sphinx/directives.rst: %Feature now uses the revised syntax. [ca22b358ab05] * sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h, sphinx/directives.rst, sphinx/specification_files.rst: %Exception now (sort of) follows the revised syntax. [b19d67575786] * sipgen/parser.y, sphinx/directives.rst: Reverted the change to make %Copying a sub-directive. [d59876780e53] * sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h, sphinx/directives.rst: %DefaultEncoding now uses the revised syntax. [111024e5bcbd] 2010-11-25 Phil Thompson * sipgen/gencode.c, sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h, sphinx/directives.rst, sphinx/incompatibilities.rst, sphinx/specification_files.rst: Fixed some more generic parser issues. %Copying is now a sub- directive of each of the different module directives. All the module directives now support docstrings. [6244dcb1fcb9] * sipgen/parser.y, sipgen/sip.h, sphinx/directives.rst: %CompositeModule and %Consolidated module now conform to the revised syntax. [18da01aba948] * sipgen/parser.y, sipgen/sip.h, sphinx/directives.rst, sphinx/using.rst: %API now uses the revised directive syntax. [b7ba07998b37] 2010-11-23 Phil Thompson * sipgen/gencode.c: Generated #line directives now include the full path name of the file. [52ed45309f83] * siplib/siplib.c.in: Reverted the broken "fixes" passing sub-int values as varargs. [167ff79ec560] 2010-11-22 Phil Thompson * sipgen/parser.y, sipgen/sip.h, sphinx/directives.rst: The %Module and %Property sub-directives now respect %If/%End. %AccessCode, %GetCode and %SetCode are now new-style sub-directives. [7dfe49a56ec7] * Roadmap.rst: Added the v5 roadmap. [9ddab02f25a6] * sipgen/parser.y: /PyInt/ can now be applied to pointer types. [0a986be7f8e4] 2010-11-21 Phil Thompson * NEWS, sipgen/export.c, sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c, siplib/siplib.c.in, sphinx/annotations.rst, sphinx/c_api.rst: Added /PyInt/ as an argument and function annotation. Added the L and M format characters to sipBuildResult(), sipCallMethod() and sipParseResult(). Fixed a bug in sipParseResult() in the handling of encoded strings. [372703eb4e88] * sipgen/gencode.c: Fixed a bug maintaining the current line number when generating docstrings. [2327d077f65a] 2010-11-20 Phil Thompson * sipgen/parser.y, sphinx/specification_files.rst: Added parser support for empty namespaces. Documented how namespaces are implemented and how to achieve the different behaviors. [9101c7412e89] * sphinx/annotations.rst, sphinx/command_line.rst, sphinx/directives.rst: Documented that -I, %Import and %Include all expect POSIX style directory separators. [7b0d6bc17f28] 2010-11-13 Phil Thompson * siplib/sip.h.in.in, siplib/siplib.c.in, siplib/voidptr.c: Eliminate compiler warnings when building the sip module. [93040d2c716c] * siplib/siplib.c.in, siplib/voidptr.c: Fixed some Python v3 and MSVC build bugs. [43cb06769dd6] 2010-11-12 Phil Thompson * NEWS: More updates to the NEWS file. [c38668e9dd93] * NEWS: Updated the NEWS file. [37a725e0b83a] * sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h, siplib/siplib.c.in: Eliminated a couple of warning messages. [8d220ed77f02] * sipgen/parser.y: %Module and %Property sub-directives can now be individually enclosed in %If/%End. [637f2357b1e4] * sphinx/annotations.rst, sphinx/directives.rst: Documented the %AutoPyName directive. [e8106eb58553] * sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h: Added the %AutoPyName directive. [85d02c95ebf7] 2010-11-11 Phil Thompson * sipgen/gencode.c, sipgen/main.c.in, sipgen/sip.h, sphinx/command_line.rst: Added the -T command line flag to suppress the timestamp in the header of generated source files. [d84b9db1d89d] * sipgen/gencode.c: Fixed a bug where keyword strings where being generated for /Out/ arguments. [2a314426e67a] * sipgen/gencode.c, sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h, sphinx/directives.rst: Replaced the %RealArgNames directive with the use_argument_names argument to the %Module directive. [0eb004659e3d] * sipgen/parser.y, sphinx/directives.rst: The %Module directive now respects the %If directive. [9b99a6f7d295] * sphinx/directives.rst: Documented the revised %Module directive syntax. [0a7d4b89a2eb] * sipgen/gencode.c, sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h: %Module now supports the revised directive syntax. Module docstrings are now supported. %CModule is deprecated. [2606deb743f2] 2010-11-09 Phil Thompson * sipgen/gencode.c: Fixed a bug in the generated of the variables table. [eac351f5cca7] * sipgen/gencode.c, sipgen/sip.h, sipgen/transform.c: Fixed a bug in the tidying up of temporary class instances in unary operators. [990299a02451] * sphinx/directives.rst: Documented the %Property directive. [455500391b43] * sipgen/parser.y, sphinx/directives.rst: Documented the revised directive syntax. Updated %Extract so that it follows the revised syntax completely. %Extract no longer uses a quoted string as an identifer. [7970e4fa94ef] * sipgen/gencode.c, sipgen/sip.h, sipgen/transform.c, siplib/sip.h.in.in, siplib/siplib.c.in: Completed the support for %Property. [dfd258dec260] * sipgen/gencode.c, sipgen/sip.h: The code generator now generates the property structure. [07134d471acd] * sipgen/gencode.c, siplib/descriptors.c, siplib/sip.h.in.in, siplib/siplib.c.in: Migrated the existing variable support to the new runtime structure. [c66412e816ab] 2010-11-08 Phil Thompson * sipgen/lexer.l: Fixed the parser so that C/C++ argument names don't get confused with directive argument names. [8bad8295e12f] 2010-11-07 Phil Thompson * sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c: Renamed getter to get and setter to set to be consistent with %GetCode and %SetCode. [eef0c18dd0df] * sipgen/parser.y, sipgen/transform.c: The %Property getters and setters are now validated. [caf6e4cee176] * sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h: Added parser support for %Property. [41f66dca2447] * sipgen/extracts.c, sipgen/lexer.l, sipgen/main.c.in, sipgen/parser.y, sipgen/sip.h, sipgen/sipgen.sbf, sphinx/command_line.rst, sphinx/directives.rst, sphinx/specification_files.rst: Added the %Extract directive and the corresponding -X command line option. [37a7149135a9] 2010-11-04 Phil Thompson * sipgen/lexer.l, sipgen/main.c.in, sipgen/parser.y, sipgen/sip.h, sphinx/c_api.rst, sphinx/command_line.rst, sphinx/directives.rst, sphinx/introduction.rst.in, sphinx/python_api.rst: Issue warning messages from the parser about deprecated syntax. Updated the documentation regarding deprecations. [3a45afc8d9eb] * siplib/voidptr.c: Fixed a bug in the new sip.voidptr code for Python v2.5 and earlier. [7ff903c5cb76] * sphinx/python_api.rst: Updated the sip.voidptr documentation to describe the memoryview- like support. [b49b90639831] * sipdistutils.py: sipdistutils.py now allows the output directory to be overriden in a derived class. [5a1f9d9fff30] 2010-11-02 Phil Thompson * siplib/voidptr.c: Fixed a silly typo in the sip.voidptr changes. [af2d7120dd7f] * siplib/voidptr.c: sip.voidptr now supports sub-script assignment for Python v2.4 and earlier. [14186a17d310] * siplib/voidptr.c: sip.voidptr now supports sub-script assignment for Python v2.5. [67ef521ce467] * siplib/voidptr.c: sip.voidptr now supports sub-script assignment (Python v2.6 and later only at the moment). [4ad087fd7e94] * siplib/voidptr.c: sip.voidptr can now be indexed like memoryview. [76620ebb872e] * siplib/voidptr.c: sip.voidptr now fully implements the new buffer protocol for Python v2 so that memoryview works. [f9dfbda5844f] * NEWS, build.py, configure.py.in, sipgen/gencode.c, siplib/sip.h.in, siplib/sip.h.in.in, siplib/siplib.c, siplib/siplib.c.in, siplib/siplib.sbf, siplib/siplib.sbf.in, sphinx/installation.rst, sphinx/using.rst: Added the --sip-module flag to configure.py to allow private copies of the module to be built. [8b8e93a159c6] 2010-10-25 Phil Thompson * sipgen/gencode.c, sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h, sphinx/directives.rst, sphinx/specification_files.rst: Added the %RealArgNames directive. [12acbffd0085] 2010-10-24 Phil Thompson * sipgen/lexer.l: All directives now start with the first non-whitespace character of a line. [c5a525178196] * .hgtags: Merged the v4.11 branch into the trunk. [a7689cef100b] 2010-10-22 Phil Thompson * .hgtags: Added tag 4.11.2 for changeset 13f57fe7e992 [c88403ccb003] <4.11-maint> * NEWS: Released as v4.11.2. [13f57fe7e992] [4.11.2] <4.11-maint> * sipgen/gencode.c: Fixed the implementation of %MethodCode for dtors in C modules. [4f26704c5789] <4.11-maint> 2010-10-21 Phil Thompson * siplib/siplib.c: Make sure that lazy attributes have been added when searching for a Python reimplemention of a C++ method. [f45ff97a3c66] <4.11-maint> * siplib/sip.h.in: Properly set SIP_SUPPORT_PYCOBJECT in sip.h. [f1cf3fef8eb5] <4.11-maint> 2010-10-12 Phil Thompson * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, siplib/sip.h.in, siplib/siplib.c: __enter__ and __exit__ are now handled as non-lazy methods and are added to the type dictionary when the type is created (rather than when the first attribute of the first instance is accessed). This required by a change in behaviour introduced in Python v2.7 and v3.2. [5167b98767e2] <4.11-maint> 2010-10-11 Phil Thompson * NEWS: Updated the NEWS file. [ed3deec59b70] <4.11-maint> 2010-10-09 Phil Thompson * sipgen/gencode.c: /KeepReference/ now applies to global functions. [52e6a73fd81f] <4.11-maint> * siplib/siplib.c: Fixed a regression in the handling of global class pointers (eg. qApp in PyQt3). [08328092b36b] <4.11-maint> 2010-10-08 Phil Thompson * sipgen/gencode.c, siplib/siplib.c: /KeepReference/ can now be applied to static methods. [43c2359df596] <4.11-maint> 2010-10-03 Phil Thompson * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sphinx/directives.rst: %TypeCode can now be specified in a %MappedType directive. [8727e0eb0f5e] <4.11-maint> * sipgen/transform.c: Mapped types for templates no longer require the template arguments to be defined. [7ed0e265a218] <4.11-maint> 2010-10-01 Phil Thompson * siputils.py: Added support for the MSBUILD Makefile generator introduced in Qt v4.7 for the win32-msvc2010 target. [ff2494c0e443] <4.11-maint> 2010-09-30 Phil Thompson * sipgen/parser.y: A protected class enum will now trigger the generation of a shadow class. [18681651c2c7] <4.11-maint> 2010-09-27 Phil Thompson * sphinx/c_api.rst: A minor documentation fix. [f6df40935e99] <4.11-maint> 2010-09-24 Phil Thompson * configure.py.in: Fixed the rpaths problem properly (ie. didn't apply the fix to a generated file). [c93f5da3d4e4] <4.11-maint> * NEWS, siputils.py: Taught the build system about QtDeclarative. Updated the NEWS file. [2487fb909ee1] <4.11-maint> 2010-09-23 Phil Thompson * siputils.py: Fixed rpaths for Qt v4.7. [4d12df6526e5] <4.11-maint> 2010-09-14 Phil Thompson * siplib/sip.h.in: Ensured that uint is always defined. [b6508f053614] <4.11-maint> 2010-09-06 Phil Thompson * .hgtags: Added tag 4.11.1 for changeset fdf86b3115cd [3213dc5731bb] <4.11-maint> * NEWS: Released as v4.11.1. [fdf86b3115cd] [4.11.1] <4.11-maint> 2010-09-02 Phil Thompson * siplib/objmap.c: When deciding if an entry in the object map is valid the C/C++ address is first checked to see if it is still valid. This detects the case (if there is a guard in place) where a new C/C++ object has been created at the same address of one that has been destroyed (but whose Python wrapper is still around). HG commit message. Lines beginning with 'HG:' are removed. [13632c7f0f2c] <4.11-maint> 2010-08-31 Phil Thompson * .hgtags: Added tag 4.11 for changeset 80f7c6530416 [86286537601c] * NEWS: Released as v4.11. [80f7c6530416] [4.11] 2010-08-23 Phil Thompson * sipgen/gencode.c, siplib/objmap.c, siplib/sip.h.in, siplib/siplib.c, sphinx/c_api.rst: Objects with handwritten access functions are no longer placed in the object map as they don't have a usable key. Reworked the support for meta-type aupplied access functions so that the original address is still available (even if it is no longer valid) to be used to search the object map. [c38d259c1879] 2010-08-21 Phil Thompson * NEWS: Updated the NEWS file. [7cff86d70dc7] 2010-08-20 Phil Thompson * siplib/siplib.c: The parsing of encoded strings is now done with two passes so that encoding errors are now picked up in the second pass and raise an appropriate exception. [89ff42be167c] 2010-08-19 Phil Thompson * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sphinx/annotations.rst: The /KeepReference/ annotation now takes an optional integer key value. [efff0d2932e1] * sipgen/gencode.c, sipgen/parser.y, siplib/siplib.c: operator() and __call__() now support keyword arguments. [0daacc25c6ce] 2010-08-18 Phil Thompson * siplib/sip.h.in, siplib/siplib.c, sphinx/c_api.rst: Completed the access function implementation so that any resources created by access functions are released appropriately. [35cf486718d4] 2010-08-17 Phil Thompson * sipgen/gencode.c, siplib/sip.h.in, siplib/siplib.c, sphinx/c_api.rst: Removed sipRegisterObjectFinaliser() and assume that the equivalent functionality will be provided by a custom meta-class. [d028d0cecb7b] * sipgen/gencode.c, siplib/sip.h.in, siplib/siplib.c: Added sipRegisterObjectFinaliser() and related infrastructure. (Though it will probably be replaced by a meta-type based implementation.) [d525d84c9d61] * sipgen/gencode.c, siplib/objmap.c, siplib/qtlib.c, siplib/sip.h.in, siplib/sipint.h, siplib/siplib.c: All access to the C/C++ object now goes through sip_api_get_address(). Bumped the internal API version to 8.0 (because the size of sipSimpleWrapper has changed). [956c80d8e9fa] 2010-08-16 Phil Thompson * sipgen/parser.y: Make sure #line 0 is not generated as the Intel compiler doesn't like it. [d715222f1f65] * siplib/voidptr.c, sphinx/c_api.rst, sphinx/embedding.rst, sphinx/python_api.rst: Added support for Python v3.2. Exposed the SIP_USE_PYCAPSULE macro as part of the C API. [0e34dc4e0824] 2010-08-15 Phil Thompson * sipgen/gencode.c: Fixed a code generation bug affecting inplace operators. [6cddd9276220] 2010-08-05 Phil Thompson * siplib/siplib.c: Refactored the calls to assert() when creating types to catch any recursive calls. [052b642f04a8] 2010-08-03 Phil Thompson * sipgen/gencode.c: Make sure the %UnitPostIncludeCode is after all #includes. [d45e8042c7da] * NEWS, sipgen/gencode.c, sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h, sphinx/directives.rst: Added the %UnitPostIncludeCode directive. [058d680384e7] * NEWS, sipgen/export.c, sipgen/gencode.c, sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c, sphinx/directives.rst: Removed the %RemoveNamespace directive. [18fc68280d49] * sipgen/gencode.c: Removed 'const' and '&' from signal signatures so that Qt doesn't have to. [9e9795fa36a5] * sipgen/transform.c: Fixed a problem with the recent change regarding the original types of template based mapped types. [83019d3299ea] * sipgen/gencode.c, sipgen/parser.y: Generated code now uses 'uint' rather than 'unsigned'. This is because Qt's QMetaObject::normalizedType() converts the latter to the former. [0923d067541a] * sipgen/gencode.c: The generated typedefs table now always defines a type in terms of a base type and never another typedef type. [5ed328590fd1] * sipgen/transform.c: Template based mapped types now correctly keep a reference to the original types used when invoking the template. [691852c6b0b0] 2010-07-31 Phil Thompson * sipgen/transform.c: Const references are now assumed to be input arguments rather than output arguments. [d11b7adf095a] 2010-07-29 Phil Thompson * sipgen/parser.y: An improvement on the previous fix. [086a77b99464] * sipgen/parser.y: Fixed global operators that are declared in a namespace. [c46ac8f9b1e9] 2010-07-27 Phil Thompson * build.py: Switched to the new format of snapshot names. [4d30378c5622] * NEWS, sipgen/export.c, sipgen/gencode.c, sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c, sphinx/directives.rst: Implemented the %RemoveNamespace directive. [a2eb3fe46f43] * lib/LICENSE, lib/LICENSE-GPL2.txt, lib/LICENSE-GPL3.txt, lib/LICENSE.short, lib/README, lib/configure.py, lib/sipdistutils.py, lib/siputils.py, sipgen/main.c, siplib/sip.h, sphinx/Makefile, sphinx/conf.py, sphinx/introduction.rst: Merged v4.10.5 into the trunk. [4cce948441da] 2010-07-16 Phil Thompson * .hgtags: Added tag 4.10.5 for changeset 834787fbcb72 [49e40b4f61f6] <4.10-maint> * NEWS, siplib/sip.h.in, siplib/voidptr.c, sphinx/python_api.rst: Released as v4.10.5. Fixed the build regression against Python v3 introduced in SIP v4.10.4. Properly fixed the Python v2.7 workaround that SIP v4.10.4 was supposed to address. [834787fbcb72] [4.10.5] <4.10-maint> 2010-07-15 Phil Thompson * .hgtags: Added tag 4.10.4 for changeset 046c346a71fe [d0340fc3658c] <4.10-maint> * NEWS: Released as v4.10.4. [046c346a71fe] [4.10.4] <4.10-maint> 2010-07-13 Phil Thompson * NEWS, sipgen/gencode.c, siplib/siplib.c, siplib/voidptr.c: Use PyCapsule when available to work around an apparent bug in PyCObject in Python v2.7. [f5574a061fd0] <4.10-maint> 2010-07-12 Phil Thompson * .hgtags: Added tag 4.10.3 for changeset 2ec1a8f8560c [254b8071446e] <4.10-maint> * NEWS, README: Released as v4.10.3. [2ec1a8f8560c] [4.10.3] <4.10-maint> 2010-07-08 Phil Thompson * NEWS, sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c, sphinx/annotations.rst: Added support for the __len__ annotation. [f760366cea3b] <4.10-maint> * sipgen/transform.c: Assignment helpers are now generated for classes that have a ctor where all arguments are optional. [3e647ed0f2a2] <4.10-maint> 2010-06-29 Phil Thompson * sipgen/gencode.c: Fixed the code generator for /NewThread/ methods so that it no longer assumes that such methods are abstract (though it still assumes they don't return a value) as QThread.run() no longer is. [710b71e6f0c6] <4.10-maint> * siputils.py: Fixed a regression introduced when fixing the += problem with spec. files. [94d177d8f426] <4.10-maint> 2010-06-11 Phil Thompson * sipgen/export.c, sipgen/gencode.c, sipgen/sip.h: Changed the generated docstrings for signals to use [] rather than () to surround the arguments. [1851f2d754e7] <4.10-maint> 2010-06-10 Phil Thompson * sipgen/gencode.c: Fixed a code generation bug where special methods that invoke sipNoMethod() were trying to tidy up sipParseErr rather than leaving it to sipNoMethod(). [90aad46480b2] <4.10-maint> 2010-06-08 Phil Thompson * sipgen/gencode.c: Fixed the previous fix to avoid compiler warning messages. [0a3f45fea555] <4.10-maint> * sipgen/gencode.c: Fixed a code generation bug caused by ctor handwritten code that sets the error flag and isn't handling unused keyword arguments. [d53889ad7abe] <4.10-maint> 2010-06-06 Phil Thompson * NEWS, sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h, sphinx/specification_files.rst: Added support for Q_SLOT and Q_SIGNAL. [cb323da88516] <4.10-maint> 2010-06-05 Phil Thompson * sipgen/lexer.l: Added support for Q_SIGNALS and Q_SLOTS as synonyms for signals and slots. [daf61465ef3c] <4.10-maint> * siputils.py: Fixed a build system regression introduced when not linking against X11 when building QtCore. [ee5415b91040] <4.10-maint> 2010-06-03 Phil Thompson * siputils.py: The build system now handles += in spec files properly. [f292793d6c99] <4.10-maint> 2010-05-28 Phil Thompson * configure.py.in, siputils.py: A build system fix for building a static version of QWebKit. [de0df36d3162] <4.10-maint> * sipgen/transform.c: Fixed a bug in the error message when reporting an unsupported signal argument type. [7adbf28d075e] <4.10-maint> 2010-05-07 Phil Thompson * sipgen/gencode.c: Fix a code generation bug where a protected ctor had a protected enum argument. [529660fb77a9] <4.10-maint> 2010-04-23 Phil Thompson * sipgen/main.c.in, siplib/qtlib.c: Invoking a slot is ignored if the underlying C++ object no longer exists. [7387fa17a780] <4.10-maint> 2010-04-16 Phil Thompson * .hgtags: Added tag 4.10.2 for changeset 44ac47d02467 [2a980c3f0e3a] <4.10-maint> * NEWS: Released as v4.10.2. [44ac47d02467] [4.10.2] <4.10-maint> 2010-04-06 Phil Thompson * sphinx/using.rst: Updated the PyQt example for PyQt4. [275fa5a54910] <4.10-maint> 2010-04-01 Phil Thompson * siplib/siplib.c: Fixed a regression in the new-style error handling of C++ ctors that raise exceptions. [ea295d6e9e9c] <4.10-maint> 2010-03-26 Phil Thompson * siputils.py: The X11 libraries will only be linked for modules that depend on the QtGui module. [9fe1eb5bf1ac] <4.10-maint> 2010-03-22 Phil Thompson * siplib/siplib.c: Fixed a bug in the pickle support under Python v3. [9c51fda2b963] <4.10-maint> 2010-03-17 Phil Thompson * .hgtags: Added tag 4.10.1 for changeset 812aad0bacea [6f759792341f] <4.10-maint> * NEWS, build.py: Fixed the generation of the change log after tagging a release. Updated the NEWS file. Released as v4.10.1. [812aad0bacea] [4.10.1] <4.10-maint> * siplib/siplib.c: Removed an unused variable left over from the previous commit. [0068b2608046] <4.10-maint> * siplib/siplib.c: Fixed the implementation of sip.cast(). [93bc3ab3fef5] <4.10-maint> 2010-03-02 Phil Thompson * NEWS: Updated the NEWS file. [752ab6580111] <4.10-maint> 2010-02-26 Phil Thompson * sipgen/gencode.c: Fixed a memory leak with the new error handling and most Python special methods. [637497440cb5] <4.10-maint> * sipgen/transform.c: Global operators, when moved to the correct class, are now appended to the list of any existing overloads to make sure the generated code is in the same order as the overloads in the .sip file. [5c0eb00cd19b] <4.10-maint> 2010-02-25 Phil Thompson * sipgen/export.c: Arguments in docstrings only have names if they are optional. [0f83f6c82600] <4.10-maint> 2010-02-20 Phil Thompson * sipgen/gencode.c, siplib/sip.h.in, siplib/siplib.c, sphinx/c_api.rst, sphinx/incompatibilities.rst: Fixed a bug in the handling of /Out/ arguments of virtuals where the type was a reference to a class by adding the 'H' format character to sipParseResult() (and deprecating the 'D' format character). [c723c4de2e22] <4.10-maint> 2010-02-18 Phil Thompson * sphinx/annotations.rst: Fixed a bug in the documentation of the NoCopy annotation. [cb2c1ea78ed5] <4.10-maint> 2010-02-07 Phil Thompson * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sphinx/annotations.rst: Python reimplementations of C++ virtuals will now be given a copy of any const references to classes so that they can keep a reference without needing to do their own explicit copy. The previous behaviour can be obtained using the new NoCopy annotation. The NoCopy annotation can also be applied to functions and methods to prevent the automatic copying of const references to classes that are returned. [724e4236428b] <4.10-maint> 2010-02-02 Phil Thompson * sipgen/export.c: Fixed the XML exporting of mapped type arguments. [b514b2f196b8] <4.10-maint> * siplib/sipint.h, siplib/siplib.c, siplib/siplib.sbf, siplib/voidptr.c: Moved the voidptr code to a separate file. Eliminated a few compilation warnings that have crept into the sip module. Refactored the sip module to eliminate the (wrong) forward declaration of the static type structures. [f07ec31fbdf9] <4.10-maint> * build.py: Fixed a bug in the release action of build.py. [bcdd91cbf139] <4.10-maint> 2010-01-31 Phil Thompson * sipgen/main.c.in: Added the -b command line argument to the sip usage text. [7ae3aa20dfc0] <4.10-maint> 2010-01-29 Phil Thompson * build.py: Refactored build.py so that it can be easily used as an imported module. [9170df0b1ea3] <4.10-maint> 2010-01-28 Phil Thompson * build.py: Fixed a regression in the release action of build.py. [e3611c1babe7] <4.10-maint> * build.py: Changed the format of the changelog to be closer to the Mercurial default. [f1d6ba993e7f] <4.10-maint> * build.py: Added the changelog action to build.py. [8189b0595d44] <4.10-maint> * build.py: build.py now generates a version number corresponding to the next release (as the old build system did). [d09c61626663] <4.10-maint> * build.py: build.py now doesn't care about the current working directory. Fixed the handling of branch names. [3402912a0176] <4.10-maint> 2010-01-27 Phil Thompson * README: Updated the README to document the need for flex, bison and Sphinx. [d785bd5471f8] <4.10-maint> * sphinx/introduction.rst.in: Updated the documentation to include the URL of the Mercurial repository. [0a7fc3830b27] <4.10-maint> * LICENSE, LICENSE-GPL2, LICENSE-GPL3, README, build.py, configure.py.in, lib/LICENSE, lib/LICENSE-GPL2.txt, lib/LICENSE- GPL3.txt, lib/LICENSE.short, lib/README, lib/configure.py, lib/sipdistutils.py, lib/siputils.py, sipdistutils.py, sipgen/export.c, sipgen/gencode.c, sipgen/heap.c, sipgen/lexer.l, sipgen/main.c, sipgen/main.c.in, sipgen/parser.y, sipgen/sip.h, sipgen/sipgen.sbf, sipgen/transform.c, siplib/apiversions.c, siplib/bool.cpp, siplib/descriptors.c, siplib/objmap.c, siplib/qtlib.c, siplib/sip.h, siplib/sip.h.in, siplib/sipint.h, siplib/siplib.c, siplib/siplib.sbf, siplib/threads.c, siputils.py, sphinx/Makefile, sphinx/conf.py, sphinx/conf.py.in, sphinx/introduction.rst, sphinx/introduction.rst.in: Refactored the build.py script so that it is a documented utility for allowing SIP to be built from a Mercurial repository or archive. Updated the directory structure accordingly. [3edc3f9c777f] <4.10-maint> 2010-01-27 phil * .hgtags: Import from SVN. [d6529eb1c096] 2006-06-10 phil * NEWS: Released as v4.4.5. [ad51bd82d745] [4.4.5] <4.4-maint> * doc/sipref.txt, sipgen/parser.y, siplib/sip.h, siplib/siplib.c: Fixed the implementation of /TransferBack/ for virtuals. Changed all API arguments that take a format string from char * to const char * for Solaris. [c4820836a2d5] <4.4-maint> 2006-06-08 phil * NEWS: Released as v4.4.4. [44479e099168] [4.4.4] <4.4-maint> 2006-05-25 phil * siplib/qtlib.c: Fixed bug disconnecting Python signals. [4232fc050a29] <4.4-maint> 2006-05-13 phil * siplib/siplib.c: Fixed a couple of sip module bugs where the Python API was called after the interpreter had gone. [b2a4a34319e0] <4.4-maint> * sipgen/gencode.c: Fixed code generation bug with abstract operators. [117a624fe485] <4.4-maint> * NEWS, doc/sipref.txt, sipgen/gencode.c, sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h: Added %UnitCode. [647517609523] <4.4-maint> 2006-05-11 phil * NEWS, doc/sipref.txt, sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: Added sipExportSymbol() and sipImportSymbol(). Bumped the API version number to 3.2. [e2783097ff94] <4.4-maint> 2006-05-08 phil * sipgen/heap.c: Removed (hopefully) two new warning messages. [3a905757c92d] <4.4-maint> 2006-05-07 phil * NEWS, doc/sipref.txt, sipgen/gencode.c, sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h: Added support for %ExportedHeaderCode. [116ac1d9b815] <4.4-maint> * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c: Fixed bug in handling of virtuals with different Python and C++ signatures. [0adccd4b6a0b] <4.4-maint> 2006-05-05 phil * NEWS: Updated the NEWS file. [68aadc78e7b8] <4.4-maint> * sipgen/transform.c: Fixed bug in searching scopes for names - extremely unlikely to affect anything. [49b9ec01f49c] <4.4-maint> 2006-05-04 phil * doc/sipref.txt, sipgen/gencode.c, sipgen/heap.c, sipgen/lexer.l, sipgen/main.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c, siplib/qtlib.c, siplib/sip.h, siplib/siplib.c: Fixed a couple of bugs and a few warnings with hints from Ulli. Deprecated %SIPNoEmitters and replaced it with %SIPOptions. Added the RegisterTypes option so that appropriate classes are registered with Qt automatically when needed - so PyQt4 doesn't need to implement qRegisterMetaType(). [0c89d85beb7d] <4.4-maint> 2006-04-28 phil * sipgen/gencode.c, siplib/qtlib.c, siplib/sip.h, siplib/siplib.c: Replaced long long with PY_LONG_LONG for MSVC 6. [1b797260fac5] <4.4-maint> 2006-04-27 phil * lib/siputils.py, sipgen/parser.y: Fixed bug in handling multiple instances of the same namespace. The build system allows Apple's Python to be used if there is also a later python.org installation. MacOS modules are now bundles rather than dynamic libraries and can now be loaded by Pythons from python.org. Released as v4.4.3. [181bdaf49393] [4.4.3] <4.4-maint> 2006-04-23 phil * TODO, doc/sipref.txt, lib/configure.py, lib/siputils.py, sipgen/gencode.c, siplib/qtlib.c, siplib/sip.h, siplib/siplib.c, specs/hurd-g++, specs/solaris-cc: Released as v4.4.2. [dd56a63ec8e1] [4.4.2] <4.4-maint> 2006-04-06 phil * lib/siputils.py: The sipconfig module now uses qt_data_dir (if set) to find the qmake spec files. [36df5009f37a] <4.4-maint> 2006-04-03 phil * NEWS, sipgen/gencode.c, sipgen/parser.y, siplib/sip.h, siplib/siplib.c: Released as v4.4.1. [125da6f6b62c] [4.4.1] <4.4-maint> 2006-12-09 phil * lib/siputils.py: Released as v4.5.2. [aad934ee1960] [4.5.2] <4.5-maint> * NEWS, build.py, doc/sipref.txt, sipgen/export.c, sipgen/gencode.c, sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c, siplib/qtlib.c, siplib/sip.h, siplib/siplib.c: Released as v4.5.1. [861ef8e7f72d] [4.5.1] <4.5-maint> 2008-11-17 phil * NEWS: Released as v4.7.9. [c78968afb206] [4.7.9] <4.7-maint> 2008-11-13 phil * sipgen/gencode.c: The new handling of the typedef names was correctly using the real types for virtual handler arguments but not the return values. [1e995bdf67d9] <4.7-maint> 2008-11-08 phil * NEWS: Released as v4.7.8. [e506026a7503] [4.7.8] <4.7-maint> 2008-11-06 phil * sipgen/gencode.c: Fixed a minor code generating bug that caused too many blank lines to be generated with consolidated modules. [e02122996375] <4.7-maint> 2008-11-02 phil * siplib/siplib.c: Fixed a bug in the detection of reimplemented methods when the method is a Python special method (ie. when the attribute is a method wrapper). [e8f58aecc470] <4.7-maint> 2008-11-01 phil * NEWS, doc/sipref.txt: Updated the NEWS file. Changed the PyQt example in the docs to use PyQt4. [49d1774c1b1f] <4.7-maint> 2008-10-26 phil * sipgen/gencode.c: Fixes for Qt classes that doesn't have a public QMetaObject. [8c3b034b78e0] <4.7-maint> 2008-10-23 phil * siplib/siplib.c: Fixed a silly typo in the updated converting of constrained enums. [9e949ac81d75] <4.7-maint> 2008-10-15 phil * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c: Fixed problems with the type name handling when the type is a pointer. [e94ddebe416e] <4.7-maint> 2008-10-14 phil * doc/sipref.txt, sipgen/gencode.c, sipgen/transform.c, siplib/sip.h, siplib/siplib.c: A simple int object can now be passed whenever an enum is expected. The /Constrained/ annotation can be used to suppress this behaviour. (This has been done in anticipation of QVariant being removed from PyQt. When an enum is wrapped in a QVariant it can only be retrieved as an int, so this will avoid the need for unexpected casting by an application.) [2d7e7eb4b3e2] <4.7-maint> 2008-10-12 phil * lib/siputils.py: ...and MacOS. [7350bfbcb7f1] <4.7-maint> * lib/siputils.py: The build system now adds #!/bin/sh for scripts on UNIX. [a4b1089d7e2d] <4.7-maint> 2008-10-11 phil * sipgen/gencode.c: Made sure that the types used by virtual handlers don't use type names as they are shared. [888eb04479f4] <4.7-maint> 2008-10-07 phil * doc/sipref.txt, sipgen/gencode.c, sipgen/heap.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c: Typedef type names are now used where possible in generated code instead of the type definitions. This means that the string representation of types (eg. in mapped type names) now reflect what the programmer sees, not what the compiler sees. Typedefs are no looked up and expanded as soon as possible which helps to disambiguate template signatures. Added the /NoTypeName/ typedef annotation. [353abe21d1de] <4.7-maint> 2008-10-01 phil * siplib/siplib.c: Fixed the calls to PyErr_WarnEx() for Python v2.4 and earlier. [2c9818141990] <4.7-maint> 2008-09-20 phil * sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: Consolidated the internal API for raising deprecation warnings. Added a deprecation warning for sip.transfer(). [63588e7c5060] <4.7-maint> * NEWS, doc/sipref.txt, sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c, siplib/sip.h, siplib/siplib.c: Added the /Deprecated/ class and function annotation (based on a patch from Lorenzo Berni). [f0b9cc188b16] <4.7-maint> 2008-09-16 phil * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, siplib/sip.h: The C/C++ names of enums and types are now always defined in the relevant structures rather than defaulting to the Python names. Added sipWrappedTypeName() to the private Qt support API. [fdea21791164] <4.7-maint> * sipgen/gencode.c: The wrapping of instance variables now uses sipConvertFromNew() if possible. [3f29d2c08a87] <4.7-maint> 2008-09-12 phil * sipgen/gencode.c: Fixed the handling of instance variables so that a copy is taken by the getter, rather than wrapping the variable itself. [bfc55f93a90a] <4.7-maint> 2008-09-08 phil * sipgen/transform.c: Removed the special handing of some Qt classes related to metatype registration. [6528655ce139] <4.7-maint> 2008-09-03 phil * sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: Changed the handling of the registration of Qt meta-types to for PyQt's improved QVariant support. [a0edd50a8634] <4.7-maint> 2008-08-30 phil * sipgen/parser.y, sipgen/transform.c: Added support for variables in templates. [8632c5f9cba2] <4.7-maint> * siplib/siplib.c: Simplified the handling of a wrapper slots (maybe the original code was a hangover from SIP v3). Enum slots should now work. [005e310b1937] <4.7-maint> 2008-08-29 phil * lib/siputils.py, sipgen/parser.y, siplib/siplib.c: Reverted the removal of the support in the build systen for QMAKE_LFLAGS_CONSOLE* and QMAKE_LFLAGS_WINDOWS* as they are required when building PyQt3 with MinGW. [0fac87933e3e] <4.7-maint> 2008-08-27 phil * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c: Added support for class templates containing enums. [bbd5a144e38c] <4.7-maint> 2008-08-25 phil * sipgen/parser.y: Allow (non-pointer and non-reference) base types as template arguments. [83672f78dae0] <4.7-maint> 2008-08-17 phil * sipgen/gencode.c: Fixed a bug in the handling of signal arguments that were typedefs of a template. [d2e0ba23422c] <4.7-maint> 2008-08-08 phil * NEWS, siplib/siplib.c: Released as v4.7.7. [cfc1d62b100c] [4.7.7] <4.7-maint> 2008-07-26 phil * siplib/qtlib.c: If a slot of an object whose C++ instance is being (or has been) destroyed is invoked then the call to the slot is no longer skipped. It is left to the slot itself to determine the state of the C++ instance so that Python slots can execute as normal. Note that this is a slight change of behaviour as a Qt slot will now raise an exception rather than being ignored. [6442d5e0e2fb] <4.7-maint> 2008-07-22 phil * sipgen/parser.y: C++ structs are now handled the same as classes as far as super- classes, annotations etc. are concerned. [ed4326630ed1] <4.7-maint> * siplib/siplib.c: Preserve any exception when calling __dtor__(). [4a8a7b882b62] <4.7-maint> 2008-07-06 phil * siplib/siplib.c: Add the first child wrapper to the output of sip.dump(). Fixed a reference count bug introduced when allowing a Python reimplementation to be any callable and not just a method. [da5b9fbb57fa] <4.7-maint> 2008-06-15 phil * sipgen/gencode.c: The code that handles exceptions now acquires the GIL before releasing any temporary instances. [7fa9e72d1102] <4.7-maint> * sipgen/parser.y: Fixed a bug where the strings of names of the methods of class templates weren't being generated. [f617edbacd97] <4.7-maint> * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c: Fixed problems with module numbering when using consolidated modules. [27abc2e58eeb] <4.7-maint> 2008-06-12 phil * sipgen/parser.y: The number of arguments to __getitem__, __setitem__ and __delitem__ is now properly checked. [8328c7da1108] <4.7-maint> 2008-06-07 phil * sipgen/gencode.c: Fixed a GIL state bug with %RaiseCode. [f0a9a482abca] <4.7-maint> 2008-06-03 phil * sipgen/transform.c: Fixed a SIP crash when using %Exception. [10e4fab36aff] <4.7-maint> * sipgen/gencode.c: Increased the size of the some temporary arrays so that there is no chance they will overflow. [363bd8f35240] <4.7-maint> 2008-05-30 phil * doc/sipref.txt, siplib/siplib.c: Hopefully fixed a regression introduced when allowing ctor %MethodCode to indicate that the next signature should be tried. [a7b71f018ea7] <4.7-maint> 2008-05-20 phil * NEWS: Released as v4.7.6. [9370f31b279c] [4.7.6] <4.7-maint> 2008-05-19 phil * lib/siputils.py: Fixed the manifest support for MSVC 2008. [3da7612cf667] <4.7-maint> * NEWS, siplib/siplib.c: No longer pass arguments to object.__new__() as it is deprecated in Python v2.6. [7356e545d57b] <4.7-maint> 2008-05-18 phil * doc/sipref.txt, lib/configure.py, lib/siputils.py: Don't install manifests as it doesn't seem to be necessary. Make win32-msvc2008 the default platform for Python v2.6. [ddf283dd6110] <4.7-maint> 2008-05-17 phil * NEWS, doc/sipref.txt, lib/configure.py: Added the -s flag to configure.py to allow the MacOS/X SDK to be specified when building universal binaries. [f2f44e7ae896] <4.7-maint> * NEWS, lib/siputils.py, specs/win32-msvc2005: Updated the win32-msvc2005 spec file. The manifest file for .exe files is now installed. [a35edd21b42b] <4.7-maint> * build.py, lib/README.HP-UX, lib/THANKS, lib/siputils.py, specs/win32-msvc2008: Added support for MSVC 2008 to the build system. Handle quotes in spec files properly. [03130f734256] <4.7-maint> 2008-05-16 phil * build.py, doc/default.css, specs/linux-icc: Update the spec file for the Intel compiler - v10.x is now required. [ce8ef9a006f3] <4.7-maint> 2008-05-13 phil * NEWS, lib/configure.py: Released as v4.7.5. [725e79f6b593] [4.7.5] <4.7-maint> 2008-05-11 phil * lib/siputils.py: Fixed the last fix. [f8721cb5655c] <4.7-maint> 2008-05-10 phil * lib/siputils.py: Restored the special handling of -Wl,--no-undefined in case some distro has stupidly kept it. [4eac702843cc] <4.7-maint> 2008-05-09 phil * build.py: Build system fixes from the move to Ubuntu. [3eb8b19f281f] <4.7-maint> 2008-05-07 phil * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c, siplib/sip.h, siplib/siplib.c: If a type has a public copy ctor (or is a mapped type that doesn't have /NoRelease/ specified) then it is assumed to also have a public assignment operator and an assignment helper function is generated. [93e058e2555d] <4.7-maint> 2008-05-05 phil * NEWS, doc/sipref.txt: Updated the NEWS file. Documentation tweaks. [0cb3d4277822] <4.7-maint> * sipgen/gencode.c: Small changes to the QMetaObject support to avoid introducing a binary incompatibility. [0ed396bfa595] <4.7-maint> 2008-05-04 phil * sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: Tweaks to the meta-object support. Exposed sip_api_is_exact_wrapper_type() to the Qt support. [80b39d4ebefd] <4.7-maint> * doc/sipref.txt, sipgen/gencode.c, sipgen/transform.c, siplib/siplib.c: Improved the handling of variable %GetCode and %SetCode so that, for class variables, the referencing type is passed as sipPyType. [f7a1b01e6f0a] <4.7-maint> 2008-05-03 phil * siplib/siplib.c: Assume that if an init function doesn't create a C/C++ object but successfully parsed a signature then it was because handwritten code decided after the parse that it didn't like the signature. [5aa2cd0a6bff] <4.7-maint> 2008-04-28 phil * doc/sipref.txt, sipgen/gencode.c: The %MethodCode supplied to a dtor is now placed in the release function and not the dealloc function. [b9efb3658b08] <4.7-maint> 2008-04-24 phil * lib/LICENSE, sipgen/gencode.c, siplib/siplib.c: Fixed a bug that broke binary operators for types with handwritten conversion code that supported tuples. Fixed a bug cleaning up arguments for unary operators for types with handwritten conversion code. [a33c3e40a679] <4.7-maint> 2008-04-21 phil * sipgen/gencode.c, siplib/qtlib.c, siplib/sip.h, siplib/sipint.h, siplib/siplib.c: Added sipParseType() to the internal API (though it may yet prove not to be needed). [e4f7676884d7] <4.7-maint> 2008-04-20 phil * sipgen/gencode.c, siplib/qtlib.c, siplib/sip.h, siplib/sipint.h, siplib/siplib.c: Deprecated sipEmitToSlot() in favour of the new sipInvokeSlot() (which handles return values from slots). [9f0b65dffdf4] <4.7-maint> * doc/sipref.txt, sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h: Added the /NoArgParser/ function annotation. [20aaa64708aa] <4.7-maint> 2008-04-19 phil * doc/sipref.txt, sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, siplib/sip.h, siplib/siplib.c: sipConvertToVoidPtr() is now part of the public API. Added the /NoRelease/ mapped type annotation. [94034cc81c20] <4.7-maint> 2008-04-18 phil * doc/sipref.txt, siplib/sip.h, siplib/siplib.c: Made the sipConvertFromConstVoidPtr(), sipConvertFromConstVoidPtrAndSize(), sipConvertFromVoidPtr() and sipConvertFromVoidPtrAndSize() functions part of the public API. [5adbe81c47b9] <4.7-maint> 2008-04-17 phil * doc/sipref.txt, sipgen/gencode.c, sipgen/sip.h, siplib/sip.h, siplib/siplib.c: Changes to make sure that the /ArraySize/ annotation works for arrays with more than 2^31 elements. Added the 'g' and 'G' format characters to sipBuildResult(), sipCallMethod() and sipParseResult() and deprecated the 'a' and 'A' characters they replace. [bd42d3e2e0f3] <4.7-maint> 2008-04-15 phil * sipgen/parser.y, sipgen/sip.h, sipgen/transform.c: Various template related bug fixes and enhancements need by PyQt's Phonon module. [bb8a5f6fc576] <4.7-maint> 2008-04-13 phil * lib/siputils.py: Taught the build system about the phonon module. [745789ddd28c] <4.7-maint> * lib/siputils.py: Taught the build system about the QtXmlPatterns module. [50d4014e64c7] <4.7-maint> * lib/siputils.py: Taught the build system about QtWebKit. [fc25eb694589] <4.7-maint> 2008-04-12 phil * TODO, lib/siputils.py: Taught the build system about the QtHelp module. [eaa96d8c0bd1] <4.7-maint> 2008-04-10 phil * lib/siputils.py: Backed out the workaround for -Wl,--no-undefined for Qt v4.4rc1 as Trolltech have agreed to remove it for the final release. [2a2a746a3a2e] <4.7-maint> 2008-04-09 phil * NEWS, doc/sipref.txt, sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c, siplib/sip.h, siplib/sipint.h, siplib/siplib.c: Added the sip_api_convert_from_const_void_ptr(), sip_api_convert_from_void_ptr_and_size() and sip_api_convert_from_const_void_ptr_and_size() functions to the internal API. Added the /ResultSize/ argument annotation. The sip.voidptr ctor now takes optional size and writeable flags. Added the getsize(), setsize(), getwriteable() and setwriteable() methods to sip.voidptr. sip.voidptr now support the buffer protocol if it has an associated size. All these changes mean that sip.voidptr (when wrapped with the buffer() builtin) can be used to read and update arbitrary memory locations, and that Qt v4.4's support for memory mapped files can be exploited. [4eb68e571dda] <4.7-maint> 2008-04-08 phil * lib/siputils.py: Changed the build system to remove any -Wl,--no-undefined given to LFLAGS when creating a Makefile. (Needed for Qt v4.4.) [c1cb6b3ea1c5] <4.7-maint> 2008-03-28 phil * TODO, sipgen/gencode.c: No longer explicitly scope global operators with "::" as this seems to break operators defined in C++ as friends. [a1a4f87b8d47] <4.7-maint> 2008-02-29 phil * lib/LICENSE.short, sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h: Added the (internal) NoQMetaObject annotation. [b5f6aac0940e] <4.7-maint> 2008-02-27 phil * sipgen/gencode.c, siplib/sip.h: A pointer to a QObject sub-class's staticMetaObject is now accessible from the Python type object. [0b697d59c0d8] <4.7-maint> 2008-02-25 phil * siplib/siplib.c: Virtual catchers no longer acquire the GIL when it is known that there is no Python reimplementation. [7b4ee0981cee] <4.7-maint> * siplib/siplib.c: Allow Python reimplementations of C++ virtuals to be any callable rather than just a method. Fixed a bug where the exception complaining that an abstract C++ method must be reimplemented wasn't being displayed. [c918fc1c5e12] <4.7-maint> 2008-02-24 phil * doc/sipref.txt, siplib/siplib.c: Extended the support for objects that implement Python's buffer interface to any 'char' or 'char *' types, and not just arrays. [9a02efea944f] <4.7-maint> * doc/sipref.txt, siplib/siplib.c: Arguments annotated as arrays can now be any object that supports the Python buffer interface rather than just strings. [87acc1db9713] <4.7-maint> 2008-02-13 phil * lib/configure.py: Extended the use of distutils for 64-bit systems based on Rex Dieter's patch. Also removed the use of sys.lib in the hope that it's no longer needed for SuSE, Mandriva etc. [565668b6bd04] <4.7-maint> 2008-02-12 phil * NEWS: Released as v4.7.4. [8a0c8a99a57a] [4.7.4] <4.7-maint> 2008-02-09 phil * NEWS, sipgen/export.c: "self" is no longer included in method declarations in API files. Updated the NEWS file. [7c9cbb3cc71a] <4.7-maint> 2008-02-02 phil * doc/sipref.txt, sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c: Backed out the support for the reflected special methods - they aren't needed. [4471fbc3b74f] <4.7-maint> 2008-02-01 phil * doc/sipref.txt, sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c: Added support for the reflected number special methods, ie. __radd__, __rsub__, __rmul__, __rdiv__, __rmod__, __rlshift__, __rrshift__, __rand__, __ror__, and __rxor__. [73a68bb38cfa] <4.7-maint> * sipgen/gencode.c: Changed the qt_metacast() support so that it will work with PyQt binaries built without the support. [14a371ae4b44] <4.7-maint> 2008-01-31 phil * sipgen/gencode.c: Changed the implementation of qt_metacast() to be consistent with qt_metacall() etc. [c68f31a7a904] <4.7-maint> 2008-01-30 phil * sipgen/gencode.c: qt_metacast() is now automatically generated and handles Python sub- classes. [ad5be0344d8a] <4.7-maint> 2008-01-23 phil * sipgen/main.c: Changed the output of "sip -V" so that it is just the latest version number (rather than the last release and the latest version number). [c04294025d43] <4.7-maint> 2008-01-22 phil * sipgen/export.c, sipgen/gencode.c, sipgen/heap.c, sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c: Fixed a bug in working out the header files to include for exceptions. Fixed many warning messages. [270317026aae] <4.7-maint> 2008-01-20 phil * lib/configure.py: Rely more on distutils for determining directories to deal with Leopard's non-standard choices. [7dc015c52f09] <4.7-maint> 2008-01-18 phil * sipgen/gencode.c: Fixed a code generation bug when a function had multiple /Out/ arguments that were mapped types. [4edd4ab8cf12] <4.7-maint> 2008-01-10 phil * TODO, doc/sipref.txt, lib/LICENSE.short: Fixed the documentation for MethodCode and the standard binary operators. Updated the copyright notices. [2befb4d9801b] <4.7-maint> 2007-12-28 phil * siplib/siplib.c: Fixed a bug where PyQt connections from an object owned by C++ were lost when the Python object was garbage collected. [4a59c7b93556] <4.7-maint> 2007-12-11 phil * doc/sipref.txt, sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, siplib/siplib.c: /Transfer/ can now be specified for constructors. [14a977a99faf] <4.7-maint> 2007-12-06 phil * NEWS, doc/sipref.txt, sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c: Added support for automatically generating missing complementary comparision operators. [175e47b20d73] [4.7.3] <4.7-maint> 2007-12-05 phil * NEWS: Released as v4.7.2. [2ac0f96f27f6] [4.7.2] <4.7-maint> * NEWS, sipgen/gencode.c, sipgen/sip.h, sipgen/transform.c: Fixed a bug in handling virtual comparison operators that caused recursion when trying to call the C++ version from a Python reimplementation. [3a337edd90d1] <4.7-maint> 2007-11-30 phil * siplib/siplib.c: Fixed the previous fix for Windows. [53585b64b19c] <4.7-maint> * siplib/siplib.c: Fixed a bug in sip.dump() for Python prior to v2.5. [664034061b43] <4.7-maint> 2007-11-17 phil * siplib/qtlib.c: Tweaked the way the slot flags are passed to ensure binary compatibility with modules built with earlier versions. [238bdcef7ebf] <4.7-maint> 2007-11-16 phil * doc/sipref.txt, sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, siplib/qtlib.c, siplib/sip.h, siplib/sipint.h, siplib/siplib.c: Added the /SingleShot/ argument annotation. Increased the minor number of the API version. Added the 'g' format character to the argument parser. Deprecated the Qt support function to create a universal slot and replaced it with one that is passed a set of flags (specifically the one that identifies a single shot slot). [f21e5be20c67] <4.7-maint> 2007-11-08 phil * siplib/objmap.c: When searching the object map, objects with a 0 reference count are now ignored. [c8db09ea5ba6] <4.7-maint> 2007-10-26 phil * lib/siputils.py: Applied Giovanni's patch to make PythonModuleMakefile skip .svn and CVS directories. [ff5ecf85aba9] <4.7-maint> 2007-10-16 phil * sipgen/export.c: The XML export now has an optional "pickle" attribute on the "Class" element. [2159cdbd569f] <4.7-maint> 2007-10-14 phil * doc/sipref.txt: Tiny documentation fix. [797568d4e9e3] <4.7-maint> 2007-10-09 phil * sipgen/export.c, sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c: Various fixes for bugs in the handling of protected classes. (There may also be an impact on the handling of protected enums.) [770183424e99] <4.7-maint> 2007-10-07 phil * doc/sipref.txt: Added the documentation section describing how to access the SIP API when embedding Python in a C/C++ application. [bf807305c6a9] <4.7-maint> 2007-10-03 phil * doc/sipref.txt, sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h: Added the TransferThis function annotation. [b3a49e220164] <4.7-maint> 2007-09-28 phil * NEWS: Released as v4.7.1. [16a63fed0859] [4.7.1] <4.7-maint> 2007-09-26 phil * siplib/objmap.c: Fixed a bug in the object map code that meant an object could get skipped when searching - which could cause a crash if it was the last one. [419f02b2949c] <4.7-maint> 2007-09-21 phil * siplib/siplib.c: Fixed a longstanding bug when calling a protected method of a super- class by passing self as the first argument and the type of self uses multiple inheritance but the super-class doesn't. [2f4735ded546] <4.7-maint> 2007-09-19 phil * siplib/qtlib.c, siplib/sip.h, siplib/siplib.c: When garbage collecting, only check if a wrapped object currently has proxy slots if at least one was created at some time in the past. [0faabc931c50] <4.7-maint> 2007-09-14 phil * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h: Fixed various bugs related to protected classes in namespaces. [a4fe006f7764] <4.7-maint> * sipgen/parser.y, sipgen/sip.h, sipgen/transform.c: Allowed typedef'ed names to be used in super-class lists. [078be282efaf] <4.7-maint> 2007-09-04 phil * sipgen/parser.y: Fixed a bug where virtuals in a class template were being added to the module in which it was defined (rather than just the modules in which it was used). [77cbd787e206] <4.7-maint> 2007-09-02 phil * siplib/siplib.c: Added a workaround for a bug in Stackless Python. [be17c116a49f] <4.7-maint> 2007-08-30 phil * sipgen/lexer.l: The digits to the right of the decimal point in a floating point literal are now optional. [58f9e1cb0c55] <4.7-maint> 2007-08-29 phil * sipgen/transform.c: Fixed a bug where unsupported variable types were rejected even though %GetCode and %SetCode were provided. [c3ed98d2723d] <4.7-maint> 2007-08-11 phil * doc/sipref.txt, sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, siplib/siplib.c: Un-track a wrapped object before calling the C++ dtor. Without this the garbage collector can be invoked from another thread (because the GIL is released before calling the C++ dtor) which can result in a crash. [bec6bc577ce7] <4.7-maint> * doc/sipref.txt, sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h: The GIL is no longer released when calling a C++ dtor (ie. when garbage collection is probably in progress). [173b959e9e30] <4.7-maint> 2007-08-10 phil * sipgen/lexer.l: Whoops - forgot to make 'f' and 'F' optional. [ccb9979f259f] <4.7-maint> * lib/LICENSE.short, sipgen/lexer.l: Allow a trailing 'f' or 'F' in floating point literals. [65d8fd9f4992] <4.7-maint> 2007-08-04 phil * sipgen/parser.y: Fixed a bug with class templates defined in an enclosing scope (ie. a namespace or another class). [2aa5f03c4d95] <4.7-maint> 2009-11-23 phil * NEWS, sipgen/transform.c: Fixed a bug where assignment helpers may not be generated for classes that have an alternate mapped type implementation. Released as v4.9.3. [e45c8055ee07] [4.9.3] <4.9-maint> 2009-11-19 phil * NEWS: Released as v4.9.2. [a58688714613] [4.9.2] <4.9-maint> 2009-11-15 phil * NEWS, sipgen/parser.y: Fixed a bug where %DefaultEncoding could be ignored if %Imports were being done in an inconvenient order. [152c7cd9aae3] <4.9-maint> 2009-11-08 phil * NEWS, sipgen/gencode.c, sipgen/transform.c, siplib/siplib.c, sphinx/directives.rst: Backported the following bug fixes from v4.10. Fixed a bug where a default copy ctor might be added when there aleady was one when the class had a alternative mapped type implementation. Fixed a regression in the monkey patching of instances. Fixed a double delete bug with mapped types passed as references annotated with /Out/. sipFindType() now handles references as well as pointers. [10269c0a59cb] <4.9-maint> 2009-10-23 phil * NEWS: Released as v4.9.1. [b07d19e8688b] [4.9.1] <4.9-maint> 2009-10-20 phil * sipgen/gencode.c: Added a missing "sip" prefix to an argument that could be mised with handwritten code. [14d7893a4869] <4.9-maint> 2009-10-15 phil * siplib/siplib.c: Fixed a monkey patching related bug where the patch was an unbound method. [8d4d03867ca5] <4.9-maint> 2009-10-14 phil * siplib/siplib.c: Fixed a problem monkey patching an instance with a virtual reimplementation that was a bound method. [ba516dd00dba] <4.9-maint> * siplib/siplib.c: The SIP_NO_CONVERTORS flag is now ignored for mapped types. [2e194ac05274] <4.9-maint> 2009-10-13 phil * siplib/siplib.c: Fixed a bug looking for the reimplementation of a virtual in an MRO that has a mixin that was a classic class. [7ee0c713ade5] <4.9-maint> 2009-10-10 phil * sipgen/gencode.c: Fixed %MethodCode for destructors so that is does actually call the destructor as documented. [cace2c30558c] <4.9-maint> 2009-10-07 phil * sipgen/gencode.c: Fixed a regression when connecting to a slot that is abstract in C++ and the Python implementation is provided in a mixin. [35cd2d01b393] <4.9-maint> 2009-10-02 phil * siplib/siplib.c: Another fix to sipIsPyMethod() as it might be calling the Python API without having the GIL. [a4739b7a65c5] <4.9-maint> * siplib/siplib.c: Still fixing the previous fix. [ac7dfd557b37] <4.9-maint> 2009-10-01 phil * siplib/siplib.c: A further fix to the previous fix to get lookup in mixins working again. [63131737f995] <4.9-maint> 2009-09-30 phil * siplib/siplib.c: Fixed the monkey patch fix for Python v2. [4969d44b38fd] <4.9-maint> 2009-09-29 phil * siplib/siplib.c: Fixed a regression that broke monkey patching of virtual methods in instances. [c5ed80d405a2] <4.9-maint> 2010-01-14 phil * NEWS, lib/LICENSE.short: Released as v4.10. [d7aa01036415] [4.10] 2010-01-08 phil * lib/siputils.py, sipgen/gencode.c, sipgen/transform.c, siplib/siplib.c: Taught the build system about QtMultimedia. Removed some potential warning messages in virtual catchers with handwritten code. Fixed docstrings that might contain C++ rather than Python scoping. [d1214a2c892d] 2010-01-02 phil * siplib/siplib.c: Fixed a crash in the error handling when trying to call sip.wrapper or sip.wrappertype explicitly. [4f7c7b09a3e4] 2009-12-29 phil * siplib/apiversions.c: Fixed a memory corruption bug in the implementation of sip.setapi(). [11cc05a59770] 2009-12-28 phil * siplib/siplib.c: A fix for building against Stackless. [a3ce099e5002] 2009-12-27 phil * siplib/siplib.c: Fixed a regression in the parsing of constrained enums. [eacac49b64df] * siplib/siplib.c: Fixed a bug in the lookup of virtual reimplementations that may only be apparent when looking up Python special methods. [97c538d2e634] 2009-12-26 phil * siplib/siplib.c: Backed out the check for sub-classing from more than one wrapped type as it isn't sophisticated enough to handle mixins that share a meta-class. [34cf41855599] 2009-12-23 phil * siplib/siplib.c: Added a hack for va_copy() being missing in MSVC. [e3bd9f6c1a3a] 2009-12-22 phil * lib/siputils.py: Another attempt to fix creating script wrappers on MacOS to invokethe right version of Python. [39d66e33acfd] * sipgen/export.c, sipgen/gencode.c, sipgen/sip.h: Fixed a docstring bug handling default values that are literal strings. [a1fea3306f54] 2009-12-21 phil * siplib/siplib.c: Fixed a fundamental problem with the parsing of signatures that allow keyword arguments where the current position in the format string and the var_args was being lost. [afa78322cb2d] 2009-12-19 phil * sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: Changed the signature of sipAddException(). Fixed a reference count bug in the handling of chained parse errors. [1e48cd06b448] 2009-12-17 phil * NEWS, sipgen/gencode.c, siplib/sip.h, siplib/siplib.c, sphinx/c_api.rst: Added sipBadCallableArg() to the C API. [4046e5d6ca66] 2009-12-15 phil * sipgen/parser.y: Fixed a NULL dereference when instantiating an unscoped class template. [908f41773044] 2009-12-14 phil * NEWS, sipgen/gencode.c, siplib/sip.h, siplib/siplib.c, sphinx/directives.rst: Added support for sipError to %MethodCode to allow code to distinguish between user errors and system errors. [8cb9ae04484a] 2009-12-12 phil * siplib/siplib.c: Raise an exception if the automatically generated cast function fails (though this, theoretcally, shouldn't happed). Explicitly test for attempting to inherit from more than one wrapped type. [ae6cee8faa67] 2009-12-11 phil * sipgen/gencode.c: Fixed the generation of a bad call to sipMalloc() when generating for a C library. [a174c9456eab] 2009-12-04 phil * sipgen/parser.y: Finally fixed %DefaultEncoding when set in an imported module. [d1eec2d99a95] 2009-12-03 phil * siplib/siplib.c: Fixed a problem where Python wasn't creating descriptors for any enum slots which meant that explicitly calling special methods failed to invoke those slots. [ca934a1f4132] 2009-12-02 phil * NEWS, sipgen/gencode.c, siplib/siplib.c, sphinx/python_api.rst: Use capsules for Python v3.1 and later. Added the sip.voidptr.ascapsule() method. [154f2c63c18d] 2009-11-23 phil * NEWS, sipgen/transform.c: Fixed a bug where assignment helpers may not be generated for classes that have an alternate mapped type implementation. [6734e82522ee] 2009-11-17 phil * siplib/siplib.c: Fixed a problem that meant that circular references in slots connected to objects owned by C++ weren't being detected. [b38add3f63d9] 2009-11-15 phil * sipgen/parser.y: Fixed a bug where %DefaultEncoding could be ignored if %Imports were being done in an inconvenient order. [ae075b6d08ea] * sphinx/command_line.rst, sphinx/distutils.rst: Added the documentation for the updated sipdistutils.py. [c5547730f27b] * lib/sipdistutils.py: An updated sipdistutils.py from Giovanni Bajo. [62a698e9f9bd] 2009-11-14 phil * sipgen/export.c, sipgen/gencode.c, sipgen/sip.h: Signal docstrings no longer include default values as they are implemented as separate overloads. [339a2114ec6d] * NEWS, sipgen/export.c, sipgen/gencode.c, sipgen/sip.h, siplib/sip.h: Docstrings are now generated for use by PyQt4 signals. [18bb2e74f269] 2009-11-11 phil * sipgen/gencode.c: The docstrings are now wrapped with PyDoc_STRVAR(). [ef3374625928] * sipgen/transform.c: The /DocType/ annotation is now properly supported for typedefs. [b3bbd7202a88] * sipgen/gencode.c: No docstrings are generated for any part of a class that isn't the default implementation. [9db19f2694a2] * sipgen/heap.c, sipgen/parser.y, sipgen/transform.c: Added support for /DocType/ to mapped type templates. [74a135153c66] 2009-11-10 phil * NEWS, sipgen/gencode.c, sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h, siplib/siplib.c, sphinx/directives.rst, sphinx/introduction.rst, sphinx/specification_files.rst: Added the %Docstring directive to specify explicit docstrings. [61b4453a9ff4] * sipgen/export.c, sipgen/gencode.c, sipgen/transform.c, siplib/siplib.c: More docstring fixes. Docstrings are not now generated for non- default implementations. [64779347846b] 2009-11-09 phil * NEWS, sipgen/gencode.c: A fix for the formatting of function calls in default values for XML and docstrings. [cfd41d5169d1] * sipgen/export.c, sipgen/parser.y, sipgen/sip.h, sphinx/annotations.rst: Added the /DocValue/ argument annotation. [63dbaa87cf17] * NEWS, sipgen/parser.y: String annotations can now have feature selectors embedded in them. [d8fccc02cc21] 2009-11-08 phil * NEWS, sipgen/export.c, sipgen/gencode.c, sipgen/parser.y: More docstring fixes. [98dc281a1a11] * sphinx/annotations.rst: Updated the docs as /DocType/ is also a function and variable annotation. [cad85d54df79] * sipgen/export.c: Docstrings now consider all C++ integer types to be "int". Docstrings now consider all C++ character types to be "str". [72ae0dd8d9dc] 2009-11-07 phil * sipgen/export.c, sipgen/gencode.c, sipgen/main.c, sipgen/parser.y, sipgen/sip.h, siplib/sip.h, sphinx/annotations.rst: Added the /DocType/ argument and mapped type annotation. More fixes for the docstring support. [99ebe42a8e10] * sipgen/export.c, sipgen/parser.y, sipgen/transform.c: Fixed a bug where a default copy ctor might be added when there aleady was one when the class had a alternative mapped type implementation. [0db8f014b7e7] 2009-11-06 phil * sipgen/export.c, sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c: Completed the basic support for automated docstrings (some tweaking still needed). [3d914379ef28] * sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: Added stub docstring support for methods and classes. [b52d1ef306ae] 2009-11-05 phil * sipgen/gencode.c, sipgen/main.c, sipgen/sip.h, siplib/apiversions.c, siplib/sip.h, siplib/siplib.c, sphinx/command_line.rst, sphinx/introduction.rst: Added stubbed support for function docstrings. [91a545605044] 2009-11-04 phil * siplib/siplib.c: Fixed building on Python v2. [af23791238c1] * sipgen/gencode.c: Fixed a memory leak of class instances annotated with /Out/ when catching C++ exceptions. [7fe47a8dd71d] * siplib/siplib.c: Completed the basic extended (ie. without docstrings) error messages on overload parse failures. [fe018c83a8df] * siplib/siplib.c: More support for the extended errors when parsing signatures. [e837961dad1d] * sipgen/gencode.c, sipgen/parser.y, siplib/sip.h, siplib/siplib.c: Fixed a problem where an overload that didn't take keyword arguments wasn't raising an error if one was supplied and there where other overloads that did. [f405b7102d19] 2009-11-03 phil * siplib/siplib.c: Added the error detail for unbound methods. Ctor errors now don't include the module name (to match other errors). [b176dda5f1e9] * siplib/sip.h, siplib/siplib.c: Refactored the new error reporting so that it is much more lightweight in the common case of failure to parse an overload. [e801eb8ce7e6] * sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: The SIP API major version number has changed. Implemented the basics of the revised error messages (still missing the message detail though). [aa4e0e8fd705] 2009-11-02 phil * sphinx/directives.rst: Fixed a broken Sphinx directive. [fc0975814576] 2009-10-30 phil * NEWS, sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sphinx/annotations.rst, sphinx/directives.rst: Added the /Default/ exception annotation to specify an exception that will be caught if there is no throw clause. A 'catch (...)' block will now always be generated. [d65ec4986067] * siplib/siplib.c: Fixed a regression in the monkey patching of instances. [94348861afba] * sphinx/directives.rst: ...and another. [f90c80feb177] * sphinx/directives.rst: ...and another documentation typo. [c3a7ea01b1e5] * sphinx/directives.rst: Fixed a documentation typo. [80259f3cc2f5] * sipgen/gencode.c: Fixed a double delete bug with mapped types passed as references annotated with /Out/. [a788f308bbee] 2009-10-28 phil * NEWS, lib/configure.py, lib/siputils.py, sphinx/build_system.rst: Adde support for out-of-tree building. [837ce5451585] * lib/siputils.py, sipgen/gencode.c, sipgen/main.c, sipgen/parser.y, sipgen/sip.h, sphinx/build_system.rst, sphinx/c_api.rst, sphinx/command_line.rst, sphinx/directives.rst: Added support for building with "protected" redefined as "public" to reduce the size of generated modules. [6601a9a55993] 2009-10-26 phil * siplib/siplib.c: sipFindType() now handles references as well as pointers. [2228a1ad7d3f] * specs/linux-arm-g++, specs/linux-arm-thumb-g++, specs/linux- armv6-g++: Added the Linux ARM spec files from David Boddie's PyQt embedded patch set. [9285dfaea8a2] * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h: More keyword argument bug fixing. (PyQt now seems to work with it enabled.) [d2f15ccd7460] * sipgen/gencode.c: More keyword argument bug fixing. (PyQt now builds again.) [709ea5c81d46] 2009-10-25 phil * siplib/siplib.c: Bug fixing the keyword argument support. [9f8d9cc3f521] * sipgen/gencode.c, sipgen/main.c, sipgen/parser.y, sipgen/sip.h, siplib/sip.h, siplib/siplib.c, sphinx/annotations.rst, sphinx/command_line.rst, sphinx/introduction.rst: Added support for (optional) keyword arguments - untested. [04504a7b338b] 2009-10-24 phil * NEWS, sipgen/gencode.c, siplib/siplib.c: Merged v4.9.1 back into the trunk. [8e50e7601287] 2009-09-26 phil * NEWS: Released as v4.9. [4d26f5a2ec9c] [4.9] 2009-09-19 phil * lib/siputils.py: Fixed the dependency order of Qt libraries on Windows (which weems to only affect MinGW). [b3b353012242] 2009-09-16 phil * lib/configure.py: Fixed a configure.py command line parsing problem on OS/X. [26287bd85bfd] * lib/siputils.py, sphinx/build_system.rst: The default build system values of universal and arch are now taken from the configuration. [33fab9918a24] * NEWS, siplib/siplib.c, sphinx/python_api.rst: Added sip.ispyowned(). [ad556c1da3a4] 2009-09-15 phil * lib/siputils.py: A fix for the last fix. [de0e5576ac75] * lib/siputils.py: More fixes for Snow Leopard. [64601a49b403] 2009-09-14 phil * NEWS, sipgen/gencode.c, sipgen/parser.y, siplib/siplib.c, sphinx/annotations.rst: Allowed the /NoArgParser/ annotation to be used for class methods. [e5ec799a3f70] 2009-09-12 phil * sipgen/gencode.c: Fixed a problem when a function returns a class instance that SIP doesn't think can be copied. [bf71880486d0] * lib/configure.py, lib/siputils.py, sphinx/build_system.rst, sphinx/installation.rst: The --arch option now only implies a universal binary if it is specified more than once. [8c16580e8c21] * lib/configure.py, lib/siputils.py, sphinx/build_system.rst: Added support for specifying a MacOS architecture when creating a wrapper script. [8eeb8a1947b7] 2009-09-11 phil * lib/configure.py: The MacOS specific configure.py options are no longer enabled on other platforms. [2dd928167cd9] * lib/configure.py, sphinx/installation.rst: Removed the -a short form of --arch so that it will be the same as PyQt. [239f8861bc8e] * NEWS, lib/configure.py, lib/siputils.py, sphinx/build_system.rst, sphinx/installation.rst: Added the --arch flag to configure.py to allow the architectures to be included in a MacOS/X universal binary to be specified. [b74bcfcb34b0] * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c: Fixed a problem with the name of an API version in modules that sub- class from classes with versioned methods in a different module. [5b327c45a283] 2009-09-06 phil * siplib/siplib.c: Added the support for handling keyword arguments to QObject ctors. [562b8ecd5e55] 2009-09-04 phil * NEWS, sipgen/gencode.c, siplib/sip.h, siplib/siplib.c, sphinx/annotations.rst, sphinx/c_api.rst: Completed the support for /Array/ applied to classes and mapped types. [f32ceb5cb246] * sipgen/gencode.c, sipgen/sip.h, siplib/siplib.c: Added support for /Array/ for classes and mapped types for non- virtual functions. [24bcbdbd0393] 2009-09-03 phil * sipgen/gencode.c, sipgen/transform.c, siplib/sip.h: Added the extended assignment helper and the array allocation helper for the future support of /Array/ for classes and mapped types. [61cf6b3635ab] 2009-09-01 phil * NEWS, build.py, lib/LICENSE-GPL2.txt, lib/LICENSE-GPL3.txt, lib/LICENSE.short, sphinx/introduction.rst: Added the GPL as a licensing option. [1d372e99f512] * NEWS, sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, siplib/sip.h, siplib/siplib.c, sphinx/specification_files.rst: Added support for __iter__ and __next__. [d6cd069a434f] 2009-08-21 phil * sipgen/parser.y, sipgen/sip.h, sipgen/transform.c: Added a check for recursive class hierarchies. Fixed the error message about type2string() by making sure it handles structs. [7af2d9cb07f8] 2009-08-11 phil * siplib/siplib.c: Fixed sipIsPyMethod() to not use PyObject_GetAttr() so that reimplementations defined in mixins will be found. This was a regression introduced when attribute lookup was made less lazy when getting super() to work properly. [710a488b84b4] * siplib/siplib.c: Fixed the conversion of strings to wchar_t arrays as it was using calls that appeared in Python v2.6. [47cc56c95614] 2009-08-08 phil * siplib/siplib.c: sipFindType() will now find types given as a pointer. [b693f15869c8] 2009-08-06 phil * lib/sipdistutils.py: Fixed sipdistutils.py for Python v3. [4574e78f607f] 2009-08-05 phil * siplib/apiversions.c, siplib/sip.h, siplib/siplib.c: Fixes for looking up types when some times have no implementation for all API versions. [e77c51f40fe0] 2009-08-04 phil * sipgen/transform.c: No longer complain about methods having the same Python signature if they all are versioned. [076cbeaeb3ad] * sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: Init extenders now respect API version numbers. [4efa4f7f246b] 2009-08-03 phil * sipgen/gencode.c, sipgen/transform.c: Virtual methods now support API versions. [8ec049505369] * sipgen/gencode.c, sipgen/parser.y, sphinx/annotations.rst: Added support for the /API/ annotation to all overloaded methods. [fae5b6dd29d0] * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c, sphinx/annotations.rst: The /API/ annotation is now supported for ctors. [a24c25aede8d] 2009-08-02 phil * sipgen/gencode.c, sipgen/parser.y, siplib/siplib.c: Instantiated class templates now take their API from the scoping class. [39bf3e3fc6de] 2009-08-01 phil * sipgen/gencode.c, sipgen/transform.c: Operator casts and global slots now handle classes with alternate mapped type implementations. (In a limited way, but good enough for PyQt.) [c2ed8e5bbf11] 2009-07-29 phil * siplib/siplib.c: Fixed a crash with sipFindType() when the search happens to land on an unresolved external type. [ec4838cbf038] * siplib/siplib.c: Fixed the Python v3 buffer interface for sip.voidptr. [4f800839bd44] 2009-07-25 phil * sipgen/gencode.c, siplib/sip.h, siplib/siplib.c, sphinx/annotations.rst, sphinx/command_line.rst, sphinx/specification_files.rst: Fixed the '/' operator for Python v3 and future import for Python v2. [fe62bcd81fa3] 2009-07-18 phil * sipgen/transform.c, sphinx/python_api.rst: Fixed a typo in a couple of error messages. [c7eb3170f527] 2009-07-09 phil * siplib/siplib.c: Fixed the nb_index initialiser for sip.voidptr for Python v2.4 and earler. [672b898935b5] * siplib/siplib.c: Allow the meta-type to be used with with ordinary Python classes, not just SIP generated classes. [6f724709902c] 2009-07-08 phil * sipgen/gencode.c: Complete the support for mapped type static methods. [f1cf7ebed748] 2009-07-07 phil * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c: Safety commit of (mostly complete) support for static functions in mapped types. [58aa805c1867] * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sphinx/annotations.rst: Extended the use of /AllowNone/ to classes with %ConvertToType code. [102fc846396e] 2009-07-06 phil * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, siplib/sip.h, siplib/siplib.c, sphinx/annotations.rst: Added the /AllowNone/ mapped type annotation for mapped types that want to place a special interpretation on None. [d449e525c5e8] * sipgen/gencode.c: The generated virtual handler code is now the same for classes and for mapped types that might have an alternate class implementation. [60ce12a7d248] * sipgen/gencode.c, siplib/siplib.c: Make sure mapped types honour the /Constrained/ annotation. [0a8916fbe3b2] 2009-07-05 phil * siplib/apiversions.c, siplib/siplib.c: Debugged mapped types with namespaces. [1f55210a89de] * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, siplib/descriptors.c, siplib/sip.h, siplib/sipint.h, siplib/siplib.c: Safety checkin on the run-time support for mapped types with namespaces. [ec7ba808f36c] 2009-06-29 phil * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c: Finished the code generation support for enums in mapped types. (Runtime support still to do.) [552a2d4950a1] 2009-06-28 phil * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c: Safety commit of the support for mapped types containing enums. [d94e09ea5add] * sipgen/gencode.c, sipgen/parser.y, siplib/sip.h, siplib/siplib.c: Implemented the sipContainerDef in anticipation of mapped types supporting enums (for the moment, static methods and variables at a later date). Fixed a problem where API version ranges wheren't being reused. [28f8f2aa4bcf] * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c, siplib/apiversions.c, siplib/sip.h, siplib/sipint.h, siplib/siplib.c: Fixed a problem with enums in a type with alternate APIs. [e320f9cb7d19] 2009-06-27 phil * lib/siputils.py: Added a workaround to the build system when using virtualenv on MacOS. [ff5b09d449d5] 2009-06-25 phil * sipgen/gencode.c, siplib/siplib.c, sphinx/c_api.rst: A Python string object can now be provided when a wide character (wchar_t) is expected. [5a629389629b] 2009-06-23 phil * sipgen/gencode.c, siplib/siplib.c: Some fixes for generated code for mapped types and classes not being as completely interchangeable as needed. (Still more to do.) [438a66e8e0a4] 2009-06-22 phil * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c: Bug fixes to the multi-API type support - PyQt4 now builds again. [795308460def] * siplib/apiversions.c, sphinx/annotations.rst: Completed the run-time support for multi-API types. [8888d5cd3feb] 2009-06-21 phil * sipgen/gencode.c: Completed the code generation changes for multi-API types. [439a95ba643e] * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c: More refactoring in preparation for multi-API support for types. [a9c3de1478d8] * sipgen/gencode.c: More changes to the multi-API support for types. [329493ac7802] 2009-06-20 phil * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c: Safety commit of latest changes for support of type API selection. [9443ed19b08b] 2009-06-19 phil * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c: Safety commit of parser changes to get at the API version of a class before it is defined. [c209ce56ea4d] 2009-06-18 phil * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, siplib/apiversions.c, siplib/sip.h, siplib/sipint.h, siplib/siplib.c, sphinx/annotations.rst: Implemented API selection for global functions. [db777d90f374] 2009-06-17 phil * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c, siplib/apiversions.c, siplib/sip.h, sphinx/annotations.rst, sphinx/c_api.rst, sphinx/directives.rst, sphinx/using.rst: Completed the documentation for the API support. The %API directive can now be used any number of times in a module. Added the parser support for the API annotation. [9e63d5da36bd] * sipgen/gencode.c, sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h, siplib/apiversions.c, siplib/sip.h, siplib/sipint.h, siplib/siplib.c, sphinx/directives.rst, sphinx/specification_files.rst: Added support for the %API directive. [076c846bb8ca] 2009-06-16 phil * siplib/apiversions.c, siplib/sipint.h, siplib/siplib.c, sphinx/c_api.rst: Implemented sipIsAPIEnabled(). [ade852c2131a] * siplib/apiversions.c: ...and made sure it compiles. [3e8030fe1b76] * siplib/apiversions.c, siplib/sipint.h, siplib/siplib.c, siplib/siplib.sbf, sphinx/python_api.rst, sphinx/using.rst: Fixed the reference count of the sip module in the error path if its initialisation fails. Added the sip.getapi() and sip.setapi() functions. [43c34f1c289a] * NEWS, sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c, siplib/sip.h, siplib/siplib.c, sphinx/specification_files.rst: Merged v4.8.1 into the trunk. [d1bd8aecab5a] 2009-08-06 phil * lib/sipdistutils.py, siplib/siplib.c: Fixed sipdistutils.py for Python v3. Fixed the half-implemented fix for building SIP against Python v2.4. [21a041ff6ab1] <4.8-maint> 2009-07-29 phil * siplib/siplib.c: Fixed a crash with sipFindType() when the search happens to land on an unresolved external type. [0b3058777dc3] <4.8-maint> * siplib/siplib.c: Fixed the Python v3 buffer interface for sip.voidptr. [57028b390302] <4.8-maint> 2009-07-27 phil * NEWS: Released as v4.8.2. [4990274146db] [4.8.2] <4.8-maint> 2009-07-25 phil * sipgen/gencode.c, siplib/sip.h, siplib/siplib.c, sphinx/command_line.rst, sphinx/specification_files.rst: Fixed the '/' operator for Python v3 and future import for Python v2. [658677cb7413] <4.8-maint> 2009-07-20 phil * NEWS, sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c, siplib/sip.h, siplib/siplib.c, sphinx/annotations.rst: Backported the /AllowNone/ class annotation from v4.9. [2dd88891f652] <4.8-maint> 2009-06-16 phil * NEWS: Released as v4.8.1. [6f4023bf5141] [4.8.1] <4.8-maint> 2009-06-13 phil * sipgen/gencode.c: Fixed the reference count handling of a module in the error paths when initialising it. [7fcfbc008d8f] <4.8-maint> * sipgen/parser.y, sipgen/sip.h, sipgen/transform.c, sphinx/specification_files.rst: Added support for (vaguely) defining private assignment operators to suppress the generation of PyQt4 assignment helpers. [d8c93f525a7d] <4.8-maint> * sipgen/gencode.c: Fixed a regression in the creation of new exceptions. [4f7d6b1de9b5] <4.8-maint> 2009-06-12 phil * sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: Various changes (including bumping the major version number of the C API) to accomodate the design of the API selection support. The implementation should not need any further data structure changes. [59e5864660a5] <4.8-maint> 2009-06-11 phil * sipgen/gencode.c: Fixed a code generation bug when an /ArraySize/ argument was typedef'ed. [7a5c716d68b9] <4.8-maint> 2009-06-09 phil * NEWS, sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: Fixed sipResolveTypedef(). [ba5c1bdf887b] <4.8-maint> 2009-06-05 phil * NEWS: Released as v4.8. [6e9fb584da32] [4.8] 2009-06-03 phil * build.py: More internal build system fixes. [4f34294143b0] * NEWS, build.py, siplib/descriptors.c, sphinx/Makefile: Fixed a Python v3 portability bug. Fixed the internal build system for Python v2.5. [144adbee9ea0] 2009-06-02 phil * build.py, doc/sipref.txt, sphinx/conf.py, sphinx/extensions/siproles.py: Switched to the Sphinx documentation. [16b6a4f285a6] * sphinx/build_system.rst, sphinx/builtin.rst, sphinx/distutils.rst, sphinx/python_api.rst, sphinx/using.rst: Completed the initial Sphinx docs. [d9202085c430] * sphinx/c_api.rst, sphinx/embedding.rst, sphinx/python_api.rst, sphinx/using.rst: More Sphinx docs. [f3c5b7d3dcd4] 2009-06-01 phil * sphinx/annotations.rst, sphinx/c_api.rst, sphinx/command_line.rst, sphinx/directives.rst, sphinx/extensions/siproles.py, sphinx/specification_files.rst, sphinx/using.rst: More Sphinx docs. [831112f389a5] * sipgen/transform.c: Fixed a bug where nested templates where having their types resolved (when they should have been left as templates) which then meant that they were being found and were being instantiated again (possibly in a different module). [79d8261912c8] * build.py: Fixed the build system after removing the TODO file. [93ea3b759b5f] 2009-05-31 phil * sphinx/annotations.rst, sphinx/builtin.rst, sphinx/c_api.rst, sphinx/conf.py, sphinx/directives.rst, sphinx/extensions/annotations.py, sphinx/extensions/siproles.py, sphinx/incompatibilities.rst, sphinx/installation.rst: More Sphinx docs. [d28f3153b2f8] * doc/sipref.txt, sphinx/annotations.rst, sphinx/c_api.rst, sphinx/conf.py, sphinx/extensions/annotations.py, sphinx/incompatibilities.rst, sphinx/using.rst: More Sphinx docs. [e4dcbba1bd9d] 2009-05-30 phil * sphinx/build_system.rst, sphinx/conf.py, sphinx/distutils.rst, sphinx/introduction.rst, sphinx/python_api.rst, sphinx/using.rst: Sphinx documentation changes. [62644d47ee77] * TODO, doc/sipref.txt, siplib/siplib.c, sphinx/Makefile, sphinx/annotations.rst, sphinx/build_system.rst, sphinx/builtin.rst, sphinx/c_api.rst, sphinx/command_line.rst, sphinx/conf.py, sphinx/directives.rst, sphinx/distutils.rst, sphinx/embedding.rst, sphinx/incompatibilities.rst, sphinx/index.rst, sphinx/installation.rst, sphinx/introduction.rst, sphinx/python_api.rst, sphinx/specification_files.rst, sphinx/using.rst: Initial commit of the Sphinx documentation. [432d95fdad2f] * sipgen/parser.y, sipgen/transform.c: Reverted the previous fix and fixed the real bug which was that %DefaultEncoding wasn't being inherited properly by modules. [9abeaff1148a] 2009-05-29 phil * sipgen/transform.c: Fixed a bug in comparing virtual handlers that had a char* result or argument and a default encoding was specified (ie. with Python v3). [3c92e9237373] * sipgen/gencode.c, sipgen/parser.y, siplib/descriptors.c, siplib/qtlib.c, siplib/sip.h, siplib/siplib.c: Eliminated more warning messages. [a61fb0a096f2] * sipgen/gencode.c, siplib/sip.h: Eliminated some compiler warning messages - particularly for Python v2.4. [374f079e7228] 2009-05-28 phil * sipgen/gencode.c: Removed a compiler warning for the generated calls to PyInit_Module() for Python v2.5 and v2.6. [dc93a8fa4a5b] 2009-05-27 phil * sipgen/gencode.c: The implicit copying of const& results is disabled for abstract classes. [705fc12e2144] 2009-05-26 phil * sipgen/gencode.c: Fixed the generated code for abstract operators. [c56cc92b0917] * siplib/siplib.c: Added the missing initialisation of the sipVariableDescr_Type type. [2c0779527ed3] 2009-05-25 phil * NEWS, doc/sipref.txt, sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, siplib/sip.h, siplib/siplib.c: __bool__ is now synonymous with __nonzero__. __truediv__ and __itruediv__ are now explicit. __div__ and __idiv__ are now Python v2 only. Added support for __floordiv__, __ifloordiv__ and __index__. [537579d9318e] * sipgen/parser.y: Hopefully fixed the regression with specific mapped types not properly superceding template mapped types that was affecting PyKDE3 and PyKDE4. [25a665370099] 2009-05-24 phil * siplib/descriptors.c, siplib/sipint.h: Added a repr() method to sip.methoddescriptor. [149f6c3f12a5] * sipgen/transform.c: Fixed a bug where the name of an automatically generated complementary slot wasn't being generated. [0f304e850331] * sipgen/export.c: Added support for images in the generated Scintilla API files from a patch from Detlev Offenbach. [83966cc9950a] 2009-04-30 phil * doc/sipref.txt, sipgen/transform.c, siplib/qtlib.c: %DefaultSupertype now only changes the default for the current module. (%DefaultMetatype still affects importing modules.) This should mean that modules that extend PyQt4 will continue to work without having to make super-type or meta-type changes. [5fc24c675796] 2009-04-24 phil * siplib/siplib.c: Fixed the lookup of generated slot functions in sub-types. Moved some assertions to more appropriate places when a generated slot function isn't found. [5b59bd703dff] 2009-04-20 phil * sipgen/gencode.c, sipgen/sip.h, sipgen/transform.c: Disabled the new implicit copying of const reference results where the class doesn't have a public copy ctor. [70cd90b1d5b9] 2009-04-18 phil * siplib/siplib.c: Fixed a problem handling __setitem__ when being used to support multi-dimensional mappings. [705be62a3cd0] 2009-04-09 phil * siplib/siplib.c: Print any exception raised by __dtor__. [0d56ac42feac] 2009-04-01 phil * sipgen/gencode.c, sipgen/sip.h, siplib/sip.h, siplib/siplib.c: Added support for PyQt4's support for signals that have overloaded methods. [c0ad968503e4] 2009-03-30 phil * sipgen/gencode.c: Fixed a compiler warning message if sipCpp isn't used by %BIGetBufferCode. [26269a7e86f4] * sipgen/gencode.c, siplib/siplib.c: Fixed the declaration of the module initialisation function when building static modules for Python v3. [6f48c809c90b] 2009-03-27 phil * siplib/siplib.c: Fixed a couple of missing calls to clear the error flag while parsing strings. [2275585e4c08] 2009-03-26 phil * NEWS, doc/sipref.txt, sipgen/gencode.c, sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c, siplib/sip.h, siplib/siplib.c: Replaced the new /Byte/ annotation with the even newer /Encoding/ annotation and %DefaultEncoding directive. [7c648d9cdd13] 2009-03-24 phil * sipgen/gencode.c: Changed the order in which PyQt4 signals are generated so that those with optional arguments appear with the most arguments first and least last. [4d0b9c852cf8] 2009-03-23 phil * doc/sipref.txt, sipgen/gencode.c: Backed out the removal of sipSelfWasArg and supporting code as it really is needed. However, changed how it was set so that super() should still work. [29d1813e4566] 2009-03-21 phil * sipgen/gencode.c: Fixed a bug in the code generated for protected methods with multiple Python names. [7aa8d62ddf7c] 2009-03-20 phil * siplib/siplib.c: Bytes and the buffer protocol are now also supported for non-byte char and char * (howver the buffer protocol support seems to be broken). [1c5b994cd2d6] * NEWS, doc/sipref.txt, sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c, siplib/descriptors.c, siplib/sip.h, siplib/siplib.c: Many changes to the wrapping of strings for Python v3 so that char and char * (unless the /Byte/ annotation is specified) are handled as Unicode rather than bytes. Such strings must be able to be encoded as Latin-1. Related to the above, the generated code is much more careful than it used to be about keeping Python string objects alive while their data is being used. [49cf3c9e7b69] 2009-03-18 phil * sipgen/gencode.c: Fixed a long-standing bug in the handling of the /NoArgParser/ annotation that only came to light with Python v3. [2c44dd616d6d] * sipgen/gencode.c, sipgen/parser.y, sipgen/transform.c: More fixes for consolidated modules. Python v2 and v3 should now be working. [b966b1df2bb1] 2009-03-17 phil * sipgen/gencode.c, sipgen/transform.c: Some fixes for consolidated module support for both Python v2 and v3. [b17d4cdf4709] * lib/siputils.py: Tweaked the build system to make it easier for Makefile sub-classes to add commands to targets. [abe3ecd83256] 2009-03-16 phil * doc/sipref.txt, sipgen/gencode.c: Fixed a bug in generating Python v3 consolidated modules. [8fc22b7be6fd] * siplib/siplib.c: Fixed a typo that broke the build of the sip module for Python v2. [348b333af022] 2009-03-15 phil * siplib/sip.h: Tweaks to the Python portability macros. [c1f795ce8a5a] * siplib/sip.h: More Python portability macros. [b3d39099f350] 2009-03-14 phil * lib/configure.py: Fixed a Mac build regression handling the location of the SDK. [2c8cf43905e1] * siplib/sip.h: Added some more Python porting macros. [c046cc5bb268] * lib/siputils.py: Removed a remaining Python v2 specific call from the build system. [c1527c576e1d] * NEWS, sipgen/gencode.c, siplib/sip.h: The generated code now supports Python v3. [c60f38353478] * siplib/siplib.c: The sip module can now be imported by Python v3. [a8bd1e5a5a4b] 2009-03-13 phil * doc/sipref.txt, siplib/siplib.c: Ported the PyString_ calls in the sip module to Python v3. [337e7e627054] * sipgen/gencode.c: Updated the generated module initialisation code for Python v3 - but not for consolidated modules yet. [985c336dd059] * sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: Moved to PyLong_* for Python v3. [a1d1a376920b] 2009-03-12 phil * lib/siputils.py, sipgen/gencode.c, siplib/objmap.c, siplib/qtlib.c, siplib/sip.h, siplib/siplib.c: More porting of the sip module. It now compiles but still calls Python v2 functions. [9f4570a090e1] * NEWS, doc/sipref.txt, sipgen/gencode.c, sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h, siplib/descriptors.c, siplib/sip.h, siplib/siplib.c: Partially ported the sip module to Python v3. Added the %BIGetBufferCode and %BIReleaseBufferCode directives to support the buffer interface of Python v3. [0631013fd5ae] 2009-03-11 phil * doc/sipref.txt, lib/configure.py, lib/siputils.py: configure.py now uses optparse. configure.py and the build system will now run under Python3. [89bbb0b49865] * siplib/siplib.c: Implemented __dict__ for sipsimplewrapper. [cf1c9edeb56a] * sipgen/gencode.c, siplib/sip.h: Added the SIP_PYMETHODDEF_CAST compatibility macro for Python v2.4 and earlier. [43e5b0afa42d] 2009-03-10 phil * sipgen/gencode.c: Changed the code generated for variable getters so that a copy is only returned if the variable is const. [22c2ae7bdc37] 2009-03-09 phil * sipgen/gencode.c: Changed the generation of the string pool to get around MSVC's limitation on the size of a string. [e15683c4034a] * NEWS: Updated the NEWS file. [262f29053a78] * sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: Made sure all generated code doesn't break strict aliasing. [ae62345de148] * sipgen/gencode.c: SIP now automatically copies objects when they are returned as a const reference. [3d0c7011cb93] * doc/sipref.txt, sipgen/gencode.c, sipgen/sip.h, sipgen/transform.c: A further fix to the order in which modules have their types resolved. [d7ebeff5a7ce] 2009-03-06 phil * lib/siputils.py: Taught the build system about the QtScriptTools module. [6c0d66e4ef0b] * sipgen/transform.c: Fixed a bug where types were being resolved in outer modules before inner modules. This meant that template-based types created on the fly might be created in the wrong module. [cd2a99e505be] 2009-03-05 phil * lib/siputils.py: Taught the build system about the new dependency of QtXmlPatterns on QtNetwork. [50a9e41802c2] 2009-03-04 phil * siplib/siplib.c: Fixes for the updated method cache. [d82c3be07e1b] * sipgen/gencode.c, siplib/qtlib.c, siplib/sip.h, siplib/siplib.c: Greatly simplified the virtual reimplementation method cache now that attribute lookup has been cleaned up. [0cc40f47e6d5] 2009-03-03 phil * NEWS, doc/sipref.txt, sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, siplib/sip.h, siplib/siplib.c: Implemented the /KeepReference/ argument annotation. [c8e2e1961f50] 2009-02-27 phil * doc/sipref.txt, sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: Added sipCanConvertToEnum() to the public API. [2748f0bbb0ab] 2009-02-26 phil * siplib/sipint.h, siplib/siplib.c: Removed the __dict__ getter as it is no longer needed. Changed the declaration of the descriptors as they don't need to be exported. [ddd2710b42fd] 2009-02-25 phil * NEWS, doc/sipref.txt, siplib/sip.h, siplib/siplib.c: Reverted to using type's and object's attribute getters and setters now that we populate the type dictionary of a generated type with all its lazy attributes in one go. Changed how an external attributer getter works now that it only needs to populate the type dictionary. [8a22253728be] * sipgen/gencode.c, siplib/siplib.c: Safety checking of the working (but still to be changed) attribute lookup code. [d7244d817b9f] * sipgen/gencode.c, siplib/descriptors.c, siplib/sip.h, siplib/siplib.c: Refactored the support for setting instance variables. [cc8a22386009] * sipgen/gencode.c, sipgen/parser.y, siplib/descriptors.c, siplib/sip.h, siplib/sipint.h, siplib/siplib.c: The refactored support for getting variables now works. [c3e7dc58b020] 2009-02-24 phil * sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: Safety commit of refactored wrapping of class variables. [fa8ba6ef243b] 2009-02-23 phil * siplib/siplib.c: Fixed the problem with looking up external lazy attributes - wrapped variables are the only thing not working. [ab3e207d555b] * siplib/descriptors.c, siplib/sip.h, siplib/sipint.h, siplib/siplib.c, siplib/siplib.sbf: Safety commit of new attribute lookup code. Don't use this - it's broken. [2673bc2add5c] * siplib/siplib.c: Fixed a reference count leak when an external lazy attribute was a descriptor. [1047169d1ba8] * siplib/siplib.c: Fixed a crash when accessing a wrapped instance variable as a class variable. [e922b386c5aa] 2009-02-22 phil * siplib/siplib.c: Fixed a bug in the refactored attribute lookup. [ddad97af22ec] * doc/sipref.txt, sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: Completed the support for the lazy attribute lookup hook. [1f7bc8f488a8] 2009-02-21 phil * sipgen/gencode.c, siplib/sip.h, siplib/sipint.h, siplib/siplib.c: Added initial support for registering lazy attribute getters. [9aae0eb78368] * sipgen/export.c, sipgen/gencode.c: The PyQt4 signal table is now generated. The XML export now marks the default signal. [dbf0c7f47b6b] 2009-02-20 phil * lib/LICENSE, sipgen/gencode.c, siplib/sip.h: Added the stub of signal table for PyQt4. [f53134503038] 2009-02-16 phil * siplib/sip.h, siplib/siplib.c: Removed some compiler warnings. [a3c24034045a] 2009-02-14 phil * sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: More signal/slot refactoring fixes. [e1c0b895f0d1] * sipgen/gencode.c, siplib/qtlib.c, siplib/sip.h: Debugged the signal/slot refactoring. [a4a47ea6fd1e] * doc/sipref.txt, sipgen/gencode.c, siplib/qtlib.c, siplib/sip.h, siplib/sipint.h, siplib/siplib.c: Safety commit of latest signal/slot refactoring. [751cebc544cc] 2009-02-13 phil * siplib/qtlib.c, siplib/siplib.c: Fixed a build problem with Python 2.4.x and earlier. [df846f30a329] * sipgen/gencode.c, sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c, siplib/siplib.c: PyQt3 signal support is now enabled with the %Plugin directive instead of %SIPOptions. Removed %SIPOptions. [d511ad00cc71] * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c, siplib/sip.h, siplib/siplib.c: The generated typedefs table is now sorted. [abd1a7d60330] 2009-02-12 phil * siplib/siplib.c: An unconstrained enum can now be a sub-class of int. [60366594aa80] 2009-02-11 phil * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, siplib/sip.h: Renamed TypeFlags to PyQt4Flags. Renamed NoQMetaObject to PyQt4NoQMetaObject. Moved the type flags into the PyQt4-specific type structure. [259fceeadbbe] * sipgen/gencode.c, sipgen/sip.h, sipgen/transform.c: Removed the registration of wrapped types with the Qt meta-type system as it is no longer needed by PyQt4. [71f80e789732] 2009-02-07 phil * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c, siplib/qtlib.c, siplib/sip.h, siplib/siplib.c: Removed sipAssignType() and moved the helpers to the PyQt4 plugin. [305f07cd3ce2] 2009-02-02 phil * sipgen/gencode.c, siplib/qtlib.c: The QObject.sender() support is now PyQt3 only again. [e732e65c15b5] 2009-02-01 phil * sipgen/gencode.c, siplib/siplib.c: Fixed a bug in the generation of the sipParseArgs() sub-format character for types. [fadc9f7074f1] * sipgen/gencode.c, siplib/qtlib.c, siplib/sip.h: Changed the QObject::sender() support for PyQt4. [9d6d9918bb1f] * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c: Debugged the merged types table. [cf4e643c28b5] 2009-01-31 phil * sipgen/gencode.c, sipgen/heap.c, sipgen/sip.h, sipgen/transform.c, siplib/sip.h, siplib/siplib.c: Safety commit of the merge of the class, mapped types and enum tables. [33a1dbf992df] 2009-01-30 phil * siplib/sip.h, siplib/siplib.c: Wrapped classes are now created as they are needed and not in the order they appear in the generated class table. Therefore the class, mapped type and enum tables can now be merged and ordered by the type name (and searched using a binary search). [4a72c9cee88f] 2009-01-29 phil * sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: Moved the last of the type parsing to PyQt3. [b7d7695e3d8e] * sipgen/gencode.c, siplib/qtlib.c, siplib/sip.h, siplib/siplib.c: Moved the registering of int types to PyQt4. [e63f85d857bd] 2009-01-28 phil * doc/sipref.txt, sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: Refactored the support for looking up typedefs. [42851fe9a2cb] * sipgen/gencode.c, siplib/qtlib.c, siplib/sip.h, siplib/sipint.h, siplib/siplib.c: Moved the type parsing support to PyQt3. [531e8244cfd3] 2009-01-27 phil * sipgen/gencode.c: Removed a remaining call to sipReleaseMappedType(). [2a9cbf86c86a] 2009-01-25 phil * sipgen/gencode.c: Fixed a too-few-arguments-to-a-print bug in the code generator. [1260503c2021] * siplib/siplib.c: Fixed compilation issues. [635ffd53597b] 2009-01-18 phil * sipgen/gencode.c, siplib/qtlib.c, siplib/sip.h, siplib/sipint.h: Replaced sipFindConnection() with sipFindSlot(). [30f0174c05f4] 2009-01-13 phil * sipgen/gencode.c, siplib/qtlib.c, siplib/sip.h, siplib/sipint.h, siplib/siplib.c: Replaced sipFreeSignature() with sipFreeSipslot(). [e5275f031458] 2009-01-12 phil * sipgen/gencode.c, siplib/qtlib.c, siplib/sip.h, siplib/sipint.h, siplib/siplib.c: Pushed the parsing of signatures into PyQt. [b2e616d5c92f] 2009-01-11 phil * sipgen/gencode.c, siplib/qtlib.c, siplib/sip.h, siplib/sipint.h, siplib/siplib.c: Replaced sipConvertRx() with sipConvertRxEx(). [cc0e4fe70f50] 2009-01-10 phil * sipgen/gencode.c: Removed the generation of an old Qt API entry. [30f044ed1723] 2009-01-09 phil * sipgen/gencode.c, siplib/qtlib.c, siplib/sip.h: Safety commit of partial refactoring of the Qt signal support. [429673b02dcd] 2009-01-04 phil * lib/LICENSE, lib/LICENSE.short, sipgen/gencode.c: Don't import the qt_register_type symbol if it isn't needed. Updated copyright notices. [f2dbc98f7144] 2008-12-30 phil * doc/sipref.txt, siplib/sip.h, siplib/siplib.c: sipTypeFromPyTypeObject() now takes a PyTypeObject* rather than a PyObject*. [077c2ad4451f] * doc/sipref.txt, sipgen/gencode.c, siplib/objmap.c, siplib/sip.h, siplib/sipint.h, siplib/siplib.c, siplib/threads.c: Added sipTypeName() and sipTypeScope() to the public SIP API. [701c6915d3e3] 2008-12-29 phil * doc/sipref.txt, sipgen/gencode.c, sipgen/parser.y, siplib/sip.h, siplib/sipint.h, siplib/siplib.c: Migrated sipEnum_* to sipType_*. [e0417099f5a9] 2008-12-27 phil * doc/sipref.txt, sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: sipType_* are now generated for enums. These are used internally but the SIP API has not yet been changed. [ca45e1d31af2] * sipgen/gencode.c, siplib/qtlib.c, siplib/sip.h, siplib/siplib.c: Broke out the generated type structures for mapped and class types to different structures with a common header. [ff4bec0abd37] 2008-12-26 phil * siplib/siplib.c: Wrapped enums now have their own meta-type. This is the hook that will allow the C++ name of an enum to be derived from the enum's Python type object. [ea550b12904c] 2008-12-24 phil * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, siplib/sip.h, siplib/siplib.c: Added sip_api_init_module() to make sure dependent modules can be fully initialised before they are needed. [fed394659169] * sipgen/gencode.c, siplib/sip.h: Removed the Qt meta-type id from the pyqt4TypeDef structure as we want to use it for mapped types as well but we would never know when it was safe to cast from a sipTypeDef pointer. [92c012de8c02] 2008-12-21 phil * sipgen/gencode.c: The PyQt4-specific extension to the generated type structure is now used for mapped types as well. [f49b6d447292] 2008-12-20 phil * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c, siplib/sip.h, siplib/siplib.c: Changed the PyQt4-specifc handling of Qt meta-type registration. [d112840accfd] * sipgen/gencode.c, siplib/siplib.c: A generated type structure now has its Python type object set earlier so that sub-meta-types can use sipIsExactWrappedType(). Calls to QObject::metaObject() are no longer need to trigger the creation of the meta-object. [8d816e1f3008] * doc/sipref.txt, sipgen/gencode.c, sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h, siplib/sip.h: Added %Plugin and use it to support pyqt4TypeDef. [0f236470d582] 2008-12-19 phil * siplib/sip.h: Moved the qt_qobject member out of sipWrapperType and into PyQt where it belongs. [babe6a91d801] * sipgen/gencode.c, siplib/siplib.c: Completed the migration of sipClass_* to sipType_*. [e7c00163d819] * doc/sipref.txt: Documentation updates. All uses of sipClass_* are only by deprecated parts of the API. [cfa2b5ca880e] * doc/sipref.txt, sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: Deprecated the 'B' and 'C' format characters to sipBuildResult() and sipCallMethod(). Added the new 'N' format character to sipBuildResult() and sipCallMethod(). [d685f1b18287] 2008-12-17 phil * doc/sipref.txt, sipgen/gencode.c, siplib/siplib.c: Deprecated the 'C' format character of sipParseResult() in favor of the existing 'D' character. [be1f044d9828] * doc/sipref.txt, sipgen/gencode.c, siplib/qtlib.c, siplib/sip.h, siplib/siplib.c: Migrated the sub-class convertor code to using sipType rather than sipClass. [a4424a9ac5a5] 2008-12-16 phil * sipgen/transform.c: Fixed a bug where names of mapped type templates where being generated for modules that didn't need them. [176171583343] 2008-12-14 phil * doc/sipref.txt, sipgen/gencode.c, siplib/qtlib.c, siplib/sip.h, siplib/sipint.h, siplib/siplib.c: Replaced the deprecated sipConvertFromInstance() and sipConvertFromNewInstance() with sipConvertFromType() and sipConvertFromNewType(). [6f6e06ceaace] * doc/sipref.txt, sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: Replaced the deprecated sipForceConvertToInstance() and sipForceConvertToMappedType() with sipForceConvertToType(). [fc54ee3b5308] * doc/sipref.txt, sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: Replaced the deprecated sipConvertToInstance() and sipConvertToMappedType() with sipConvertToType(). [8e66284398dd] * doc/sipref.txt, sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: Replaced the deprecated sipCanConvertToInstance() and sipCanConvertToMappedType() by sipCanConvertToType(). [c1f1b170b263] 2008-12-13 phil * doc/sipref.txt, sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: Replaced the deprecated sipReleaseInstance() and sipReleaseMappedType() with sipReleaseType(). [7ce45ed9ae89] * doc/sipref.txt, sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: Replaced the deprecated sipGetWrapper() with sipGetPyObject(). [8cb295b72e62] * doc/sipref.txt, sipgen/gencode.c, siplib/objmap.c, siplib/qtlib.c, siplib/sip.h, siplib/sipint.h, siplib/siplib.c: More moves from sipClass_* to sipType_*. [4e7936a90f99] * sipgen/gencode.c, siplib/objmap.c, siplib/sip.h, siplib/sipint.h, siplib/siplib.c: More conversions from sipClass_* to sipType_*. [75eed80555d4] 2008-12-12 phil * sipgen/gencode.c, siplib/sip.h, siplib/sipint.h, siplib/siplib.c, siplib/threads.c: Merged the adding of type instances. [d2db3775a993] 2008-12-08 phil * lib/siputils.py, sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: Started the port from sipClass_* to sipType_*. Added support for assert() to the build system. [231826fe6d04] * sipgen/gencode.c: Renamed sipMappedType_* to sipType_*. [8df5a86247e8] 2008-12-07 phil * sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: Added sipType_* for wrapped types. sipClass_* is now defined in terms of sipType_*. [bb37272a3113] * doc/sipref.txt, sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: Deprecated sipClassName(). [de0402f5112c] * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c, siplib/sip.h, siplib/siplib.c: Mapped types are now described by the same sipTypeDef structure that describes wrapped types. [77ce210b751e] 2008-12-06 phil * doc/sipref.txt, siplib/sip.h, siplib/siplib.c: Moved the 'user' field from sip.wrapper to sip.simplewrapper because PyQt uses it for some non-QObject types. [0bb916ce4818] * doc/sipref.txt, sipgen/gencode.c, sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c, siplib/sip.h, siplib/siplib.c: Restored %DefaultMetatype and the /Metatype/ class annotation. This support is now complete. Documented the meta-type and super-type support. [15f1b60f808f] 2008-12-03 phil * doc/sipref.txt, sipgen/gencode.c, siplib/qtlib.c, siplib/sipint.h, siplib/siplib.c: Code generator changes to support sipSimpleWrapper. [ebd5b0b103ae] * siplib/qtlib.c, siplib/sip.h, siplib/sipint.h, siplib/siplib.c: The sip module now compiles again without any unexpected warnings. [6fb536d5333e] 2008-12-02 phil * siplib/objmap.c, siplib/qtlib.c, siplib/sip.h, siplib/sipint.h, siplib/siplib.c: Various compilation fixes. [ace8e0f95607] 2008-12-01 phil * sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: Safety checkin of the support for the new sip.simplewrapper type. [3d87512e3a5c] * NEWS, doc/sipref.txt, siplib/siplib.c: Added support for %InitialisationCode. (Actually in the previous commit but I forgotto mention it.) The text of an attribute exception now mimics that produced by the Python interpreter. [70d0f5dc259b] 2008-11-30 phil * doc/sipref.txt, sipgen/gencode.c, sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c, siplib/sip.h, siplib/siplib.c: Refactored the super-type and meta-type support. Meta-types are now handled implicitly. [2676976c88bf] 2008-11-29 phil * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c, siplib/siplib.c: Debugged the metatype support. [e7e9b5d303c3] 2008-11-27 phil * sipgen/gencode.c, siplib/siplib.c: The metatypes are now registered and readied. [5c4757c83b70] * sipgen/export.c, sipgen/gencode.c, sipgen/parser.y, sipgen/transform.c, siplib/siplib.c: Fixes for various regressions. [eea6dc713727] 2008-11-26 phil * sipgen/gencode.c: Use the string pool for calls to qRegisterMetaType(). [954bd63eb830] * sipgen/gencode.c, sipgen/transform.c, siplib/sip.h, siplib/siplib.c: Completed the code generator support for user defined metatypes. [6c09f41b9eec] 2008-11-24 phil * sipgen/gencode.c, sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c, siplib/sip.h: Added the parser support for %Metatype and %DefaultMetatype. [6af8f6a12eb5] 2008-11-23 phil * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c: The string pool now overlaps strings where possible. [4873718f6e82] * sipgen/export.c, sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, siplib/sip.h, siplib/siplib.c: Enum names now use the string pool. [b6414c99a03a] * sipgen/parser.y, siplib/sip.h, siplib/siplib.c: Fixed a regression in the handling of nested namespaces. [a49433be0291] * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c, siplib/sip.h, siplib/siplib.c: Python and C++ type names now use the string pool. The string pool is currently broken for namespace extenders. [b08a2ca9d7fd] 2008-11-22 phil * doc/sipref.txt, sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c, siplib/sip.h, siplib/siplib.c: The generated name cache is now a single (const) string. [0296eda5e61a] * doc/sipref.txt, lib/configure.py, lib/siputils.py, sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: Removed all deprecated parts of the API and generated code. [0a00c20f5c5b] 2008-11-21 phil * lib/siputils.py: Use "-undefined dynamic_lookup" rather than linking against the Python framework on MacOS. [773c8920c04f] 2008-11-18 phil * doc/sipref.txt, sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: Added sipWrapperType_Check() to the public API. [42d9ec7403f4] 2008-11-17 phil * NEWS, sipgen/gencode.c: Merged v4.7.9 into the trunk. [63aff4a6e0f0] 2008-11-08 phil * NEWS, TODO, build.py, doc/default.css, doc/sipref.txt, lib/LICENSE, lib/LICENSE.short, lib/README.HP-UX, lib/THANKS, lib/configure.py, lib/siputils.py, sipgen/export.c, sipgen/gencode.c, sipgen/heap.c, sipgen/lexer.l, sipgen/main.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c, siplib/objmap.c, siplib/qtlib.c, siplib/sip.h, siplib/sipint.h, siplib/siplib.c, specs/linux-icc, specs/win32-msvc2005, specs/win32-msvc2008: Merged v4.7.8 into the trunk. [9cc6147a1067] 2007-07-30 phil * NEWS: Released as v4.7. [a458d43a6fbb] [4.7] 2007-07-28 phil * sipgen/gencode.c: Fixed a memory leak with mapped types with the /Out/ annotation. [5c156cb3b313] 2007-07-27 phil * siplib/qtlib.c: Fixed a bug preventing wrapped C++ slots from being disconnected. [43fc1981c30d] 2007-07-14 phil * siplib/qtlib.c, siplib/sip.h, siplib/sipint.h, siplib/siplib.c: Rather than only lambda functions being given an extra reference when used as a slot, anything other that a method or wrapped C function is given an extra reference. Specifically this means that partial functions can now be used as slots. [2562db168ce9] 2007-07-04 phil * sipgen/transform.c: Relaxed the restriction that /Out/ arguments couldn't be const. [546fba30aac6] 2007-06-25 phil * sipgen/gencode.c: Fixed a compiler warning message about an unused argument in generated code. [5713835ff863] * sipgen/parser.y: Fixed a bug in the previous fix so that it only applies to mapped types. [68a7fd2c1ea4] * sipgen/parser.y, sipgen/sip.h, sipgen/transform.c: Fixed a bug where template based types where overwriting the header code of any previously defined type based on the same interface file. [f41edc04b3cf] 2007-06-23 phil * NEWS, sipgen/gencode.c: Consolidated modules are now generated as either C or C++ (rather than always C) so that the name cache names are consistently mangled. [83c24c956277] 2007-06-22 phil * lib/siputils.py: Fixed a build system problem for PyQt on Windows against a static Qt. [3ff5f3d1e074] * sipgen/gencode.c: Fixed silly code generation typo. [3232af13c3f6] * lib/siputils.py: Changed the build system so that missing macros default to being empty rather than causing an error. (Qt v4.3.0 contains such a case.) [213c1dd11448] 2007-06-20 phil * doc/sipref.txt, sipgen/gencode.c, sipgen/lexer.l, sipgen/main.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c, siplib/sip.h, siplib/siplib.c: Split the consolidated module concept into separate consolidated and composite module types, which significantly simplifies things. [eb0502b5bb27] 2007-06-19 phil * lib/siputils.py: Updated some comments in the build system. [f38ba63f0f97] * siplib/siplib.c: Fixed a bug in the sip module consolidated module support. Otherwise everything seems to work. [a9d7eeffdf81] * sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: More consolidated module refactoring. [9c629ca01a4a] 2007-06-18 phil * sipgen/export.c, sipgen/gencode.c, sipgen/main.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c: More consolidated module refactoring. PyQt4 with only QtCore enabled now compiles. [bec649674da2] 2007-06-16 phil * sipgen/gencode.c, sipgen/parser.y: More consolidated module support. [b7455f328486] 2007-06-12 phil * siplib/siplib.c: Hopefully fixed a bug in the handling of the 'C' and 'D' format characters in sipParseResult(). [c28fa1333976] * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c: More refactoring for consolidated module support. SIP no longer generates lots of .h files. Note that SIP is now less tolerant of missing #includes in %TypeHeaderCode and %ModuleHeaderCode. [ae2dec8da410] 2007-06-04 phil * sipgen/gencode.c: Removed the need to generate the shadow class definition in a header file and put it in the original class's C++ file instead. [30cd539612c7] 2007-06-03 phil * sipgen/export.c, sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c: More consolidated module refactoring. [9fbe5340767f] 2007-06-01 phil * sipgen/parser.y: Fixed a missing return in parser.y. [3f160ab4ae5b] 2007-05-28 phil * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c: A bit more consolidated module support. [f714935139bb] * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, siplib/sip.h, siplib/siplib.c: More work on consolidated modules. [bde47f2343cf] 2007-05-27 phil * sipgen/gencode.c, sipgen/sip.h, siplib/sip.h, siplib/siplib.c: The component stub modules (ie. those requested with the -p flag) are now generated. [21119384ab4f] * doc/sipref.txt, sipgen/gencode.c, sipgen/main.c, sipgen/sip.h: Added the stubs of the -n and -p command line options for the remaining consolidated module support. Documented the %ConsolidatedModule directive. [744cf0ed0857] 2007-05-24 phil * sipgen/gencode.c, sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h: Completed the implementation of %ConsolidatedModule for the simple case (where the consolidated module populates itself from the component modules). [78406f2fdcb4] 2007-05-23 phil * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h: A bit more refactoring for the consolidated module support. [51a36ed46e45] * siplib/objmap.c, siplib/sip.h, siplib/sipint.h, siplib/siplib.c: When deciding if an instance is already wrapped, sip only considers if the candidate is a sub-class of the expected class. (Before it used to consider if the candidate was a super-class of the expected class as well. However this shouldn't be necessary as the candidates class should be correct if all the sub-class convertor code is working properly.) [014d6fb553a9] * sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h, siplib/objmap.c: Added the start of the support for %ConsolidatedModule. [2cdafc7810be] 2007-05-20 phil * doc/sipref.txt, siplib/siplib.c: Added the dump() funtion to the sip module. [299d67a0fe51] 2007-05-13 phil * doc/sipref.txt, sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: Added sipTransferBreak() for removing hidden references without changing owndership. [5d298052a2e5] * doc/sipref.txt, sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h: Added support for /Transfer/ as a function annotation. [ab6bd827b7a0] 2007-05-12 phil * lib/siputils.py: Added the build system hooks for PyQt's QtScript module. [6fdf6cb0ade1] * sipgen/parser.y: Fixed some parser problems related to versioning. [a4ffe24c61bd] 2007-05-11 phil * sipgen/parser.y: Relaxed the restriction that the arguments to mapped type templates had to be simple names and not basic types. [04d512a7ddee] * sipgen/gencode.c: Generated the sipClass_* for namespaces. [234dfbd619d5] 2007-05-07 phil * sipgen/gencode.c: More fixes to mapped type templates - should be Ok now. [3e7528f5ec18] 2007-05-04 phil * doc/sipref.txt: Fixed a couple of documentation bugs regarding exceptions. [21138bd0e4dd] 2007-05-03 phil * sipgen/transform.c: Fixed a bug where generated .h files for template argument types were being included in the mapped type rather than the mapped type's own .h file. [015e7bc362e3] 2007-04-28 phil * siplib/siplib.c: Removed the need for the copy_reg module. This marks the completion if the pickle support. [855e5b2a3bfc] * sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: Pickling nested types now works. [d10779f3268e] * siplib/siplib.c: Minor refactoring of the pickle code prior to adding support for nested classes. [33badbfc5ee1] 2007-04-27 phil * doc/sipref.txt, siplib/siplib.c: Named enums that are nested within other types can now be pickled. (Note that the pickle format for classes will be changed in the next few days to allow nested classes to be pickled in the same way.) [ad31cd17972b] 2007-04-26 phil * siplib/siplib.c: More improvements to the pick code. [7387a6436f4f] * sipgen/gencode.c: Slight improvement to the generated pickle code. [250d4acde794] 2007-04-22 phil * NEWS, doc/sipref.txt, sipgen/gencode.c, sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c, siplib/sip.h, siplib/siplib.c: Added %PickleCode to allow wrapped objects to be pickled. [45059aeff1d0] * siplib/siplib.c: Module level enums can now be pickled. Removed the None implementations of __reduce__ and __reduce_ex__ and fixed the segfault that pickling was causing. [960a54bd61d7] 2007-04-10 phil * NEWS: Released as v4.6. [9d849b09a8d4] [4.6] 2007-04-07 phil * sipgen/export.c: Changed the API file generation to generate the __init__ form of a ctor as well as the callable type form. [316e430f8a37] 2007-04-02 phil * NEWS: Updated the NEWS file. [5c6477d8ee0d] * NEWS, doc/sipref.txt, lib/configure.py, lib/siputils.py: Added the -n flag to configure.py to build universal binaries on MacOS/X. [e892f0a63956] * siplib/siplib.c: Fixed a MinGW warning message. [79ac369e6efa] * siplib/siplib.c: Backed out the save and restore of the exception state in sipWrapper_dealloc() as it can get called when there is no current thread state (which results in a segfault). [f66e13ead83b] * NEWS: Updated the NEWS file. [c7488adf6abf] * siplib/siplib.c: Fixed a bug handling sub-class convertor code with multiple inheritance. [8ac3a23e1e3c] * doc/sipref.txt, sipgen/gencode.c: Virtuals that return a wchar_t * now keep then free the previous result to limit the possible memory leaks. [48b87ba8bc6a] 2007-04-01 phil * sipgen/gencode.c, sipgen/transform.c: Fixed a bug in the wchar_t support with const wchar_t * arguments. Fixed a bug in the wchar_t support with char and wchar_t being considered equivalent. [541c7556314d] 2007-03-26 phil * siplib/siplib.c: Fixed problem where lambda slots connected to QObject.destroyed() were cleared before the signal was emitted. [2ace696800c4] 2007-03-25 phil * doc/sipref.txt, sipgen/gencode.c: Completed the wchar_t support. [14c15deefc3b] 2007-03-24 phil * sipgen/export.c, sipgen/gencode.c, sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c, siplib/qtlib.c, siplib/sip.h, siplib/siplib.c: Added support for wchar_t - undocumented and certainly untested. [14559b49bd9d] 2007-03-10 phil * sipgen/gencode.c, siplib/siplib.c: No longer generate the forward declaration of an opaque class. It shouldn't be necessary and means that the class could be a C structure. [647d2f4b8561] 2007-03-02 phil * sipgen/lexer.l: SIP should now handle DOS format files on UNIX systems. [1935d8be814b] 2007-02-27 phil * doc/sipref.txt, sipgen/gencode.c, sipgen/main.c, sipgen/parser.y, sipgen/sip.h: Undeprecated the -g command line option. Added the /HoldGIL/ annotation. [fbf1aaec1094] 2007-02-25 phil * sipgen/transform.c, siplib/siplib.c: Fixed the previous fix related to signatures for the cases where the Python and C++ signatures have different numbers of arguments. [66f4866a1393] * doc/sipref.txt, siplib/siplib.c: Included Matt Newell's fix for making sure that a sub-class convertor returns the most specific type available. [7b9b628d5c50] 2007-02-24 phil * doc/sipref.txt, sipgen/transform.c: Fixed some documentation references to Py_ssize_t. sip now takes C++ as well as Python signatures into account when deciding what interface files a class need to include. [ac3ecfcc08d3] * doc/sipref.txt, siplib/qtlib.c: Leave it to the Qt support code to release the GIL when connecting signals. [8c907b07ad8f] 2007-02-20 phil * siplib/qtlib.c, siplib/sipint.h, siplib/siplib.c: An instance dictionary is not longer created automatically. Python will create it if and when it is needed. lambda slots are now cleaned up in the clear function rather than being left to the slot proxy dtor. [61eac95ed77e] * siplib/siplib.c: Fixed a bug in the implementation of /Transfer/ when the object was aleady owned by C++ but the owning object had been garbage collected. [4d64b0e0db86] 2007-02-18 phil * siplib/siplib.c: Fixed a bug in the clearing of reference cycles with lambda slots. Although the slot is visited, it is no longer cleared - that is left to the proxy dtor. [aac8236a8970] 2007-02-16 phil * lib/siputils.py, sipgen/gencode.c: Fixed a bug in the build system for QtDesigner on Windows. The Q_OBJECT support code now uses metaObject() rather than staticMetaObject because the latter is private in the ActiveQt classes. [4b8647dbb036] 2007-02-10 phil * doc/sipref.txt, sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c, siplib/sip.h, siplib/siplib.c: Added support for /TypeFlags/. Added sipFindClass() and sipFindNamedEnum() to the public API. [530b7a1aa547] 2007-02-06 phil * sipgen/gencode.c, siplib/sip.h: More changes to the Q_OBJECT support. [b46c77268a1c] 2007-02-04 phil * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, siplib/sip.h: Renamed "Qt4MetaObject" to "Qt4Q_OBJECT". [9b8809b3f254] 2007-02-01 phil * sipgen/gencode.c: Changed the metaObject() hook so that it won't crash if the C++ instance has gone. [5241cd5c39d3] 2007-01-30 phil * sipgen/gencode.c: Changed the metaObject() hook again. [77da534919cb] * sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: Changed the metaObject() hooks. [272f63959180] 2007-01-27 phil * sipgen/gencode.c: Changed the way the Qt support API is created so that new SIPs can build old PyQts. [15c8d8be611d] * NEWS, sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: Added the hooks to allow PyQt to build a proper meta-object when a new Python class is defined. [c82c3d1b50aa] 2007-01-25 phil * lib/siputils.py, siplib/qtlib.c: Fixed a build system bug that affected non-MinGW Windows compilers when building static modules. Taught the build system about the QtDesigner module. [0029d3937d59] 2007-01-23 phil * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c: Reimplemented the support for qt_metacall() so that it is a bit cleaner and can't be called from Python. [c3701e916110] 2007-01-22 phil * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, siplib/qtlib.c, siplib/sip.h, siplib/sipint.h, siplib/siplib.c: Added support for the QtMetaClass option. Added sipParseSignature() to the private Qt API. (Both of the above are needed for David Boddie's support for Python widgets in Qt Designer.) [51250dc9185b] 2007-01-21 phil * sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: Extended the cyclic garbage collector support for lambda slots so it works with SIGNALs as well as PYSIGNALs. Incremented the SIP API version number to 3.4. [fcf4f2b51bd7] * siplib/qtlib.c, siplib/sip.h, siplib/sipint.h, siplib/siplib.c: Fixed garbage collection support for lambda slots (at the moment only when the slot is connected to a PYSIGNAL). [8bf735cda5bf] 2007-01-16 phil * siplib/sip.h: Added #undef slots to sip.h for when embedding Python 2.3 in Qt applications. [33ab2adb9d0c] * sipgen/gencode.c: qRegisterMetaType() is now called for every candidate class at module initialisation rather than when the first instance is created from Python. [a31d12e3d9c2] 2007-01-15 phil * doc/sipref.txt, sipgen/gencode.c, siplib/siplib.c: Allowed /TransferThis/ to be specified more than once. [e8246e9dc928] * doc/sipref.txt, lib/LICENSE.short, siplib/threads.c: Updated the copyright notices. Fixed a reentrancy problem in wrapping objects obtained from C/C++ (thanks to Giovanni Bajo for the fix). [117d2c42c517] 2007-01-10 phil * siplib/sip.h, siplib/siplib.c: Added support for __truediv__ and __itruediv__ by making them synonyms for __div__ and __idiv__. [1c6e71aeb203] 2007-01-07 phil * sipgen/gencode.c, siplib/siplib.c: Hopefully fixed a bug in the generation of the typedefs table that wasn't using the full name of foreign modules. [a193602041a2] 2006-12-28 phil * siplib/sip.h: Fixed a bug in the sipResetCppHasRef() macro that breaks the /TransferBack/ annotation. [30e9fc168db0] 2006-12-20 phil * lib/siputils.py: Fixed a MacOS specific bug in create_wrapper() in the build system. [34641513890f] * lib/sipdistutils.py: Applied a patch to sipdistutils.py from Giovanni Bajo to allow .sip files to be used in the "depends" argument to setup(). [912613b39701] 2006-12-16 phil * NEWS, lib/siputils.py: Fixed a bug in the build system that meant that lines in the top level mkspec file were being ignored after the last include. [c2ee167686b7] 2006-12-09 phil * lib/siputils.py: Fixed a MacOS build problem caused by another change to Qt installs. [90c588f6fa54] * NEWS, build.py: Updated the NEWS file. Fixed the internal build system for later versions of docutils. [4bcf93b8836e] 2006-12-06 phil * NEWS, siplib/qtlib.c: "PyQt_PyObject" is now used instead of "PyObject *". lamda functions can now be used as slots. [33493621d63e] 2006-11-26 phil * siplib/sip.h, siplib/siplib.c: Fixed an incorrect assumption that if a Python wrapper of a C++ owned object was being garbage collected then its Python children (ie. things it owns) should also be garbage collected. It may be that the parent is a "temporary" object (eg. the argument of a reimplementation of a virtual) but the children are "permanent". The case in PyQt is the parent argument of QAbstractItemDelegate.createEditor(). [b981a814a1b2] 2006-11-25 phil * doc/sipref.txt, sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: PEP 353 fixes from Ulli. [d22c558be4b9] * siplib/qtlib.c, siplib/sip.h, siplib/siplib.c: Some "char *" to "const char *" fixes from Ulli. [208ba44fcddc] 2006-11-18 phil * sipgen/transform.c: Fixed a broken pointer bug in the API file generation. [b80f4ae42e97] 2006-11-17 phil * sipgen/export.c, sipgen/lexer.l: Fixed a misleading error message when instantiating templates. Fixed a bug generating global functions in API files. [6b6804bacc4f] 2006-11-11 phil * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c: Fixed a bug with virtual handlers when a module %Imports from two other (independent) modules. [56ca50343b62] 2006-11-04 phil * NEWS: Released as v4.5. [5982951360f3] [4.5] 2006-10-28 phil * lib/siputils.py: The build system now handles .prl files on MacOS. [25b8444de255] 2006-10-27 phil * NEWS, doc/sipref.txt, sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c: Changed NoDefaultCopyCtor to NoDefaultCtors. Updated the NEWS file. [57307ed6d154] 2006-10-22 phil * doc/sipref.txt, lib/siputils.py, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c, siplib/qtlib.c: A fix for configuring QtAssistant in PyQt for Qt v4.2 on MacOS. Added the NoDefaultCopyCtor class annotation. [ed57b3a6fd1c] 2006-10-21 phil * doc/sipref.txt, siplib/siplib.c: Fixed a Python 2.4/2.5 change that was missed. Added sip.setdeleted(). [2db4a119d6c6] 2006-10-20 phil * doc/sipref.txt, lib/siputils.py, specs/hurd-g++, specs/solaris-cc: Platform portability fixes from Ulli. Fix for conditional includes in spec files from Ulli. Qt4 module include directories are now searched before the main Qt4 include directory. Handle the change in debug libraries in Qt v4.2. [3f72b2b88460] 2006-10-15 phil * sipgen/parser.y: Allow virtual signals if the NoEmitters option is set. [6657a8d15171] * sipgen/gencode.c, sipgen/sip.h, sipgen/transform.c: Fixed a bug where the first argument to a global comparison operator was mishandled if it was a pointer rather than a reference. [5c5c0d5f6b65] 2006-10-13 phil * siplib/siplib.c: Improved the previous fix for the incorrect ctor exception. [3d9f787fedf8] 2006-10-08 phil * lib/siputils.py, siplib/siplib.c: Fixed bug where handwritten traverse and clear code wasn't being called for derived classes. Fixed an incorrect Python exception raised when a C++ exception is thrown by a ctor. The build system now displayed an error if a non-framework build of Python is used on MacOS. Untested fix for building a static module with MinGW. [9c60ee47e4d5] 2006-10-07 phil * lib/siputils.py: Build system fixes for Qt v4.2.0 based on a patch from Matt Newell. [e7f12b65d105] 2006-09-30 phil * lib/siputils.py: Fixes for building QtTest on Windows. [a8b3716e682a] 2006-09-23 phil * lib/siputils.py, sipgen/parser.y: Taught the build system about QtTest. Fixed a bug in the handling of namespaces split across multiple header files. [89b8c6c6b8c6] * TODO, doc/sipref.txt, siplib/siplib.c: Added support for hooking into the C++ dtor from Python by implementing __dtor__() from a patch by Jean Jacques Lecler. [38da61ef1711] * NEWS, doc/sipref.txt, siplib/siplib.c: Added sip.delete() (based on a patch from Jean Jacques Lecler) and sip.isdeleted(). [8946500be6fa] * doc/sipref.txt, sipgen/export.c, sipgen/main.c, sipgen/sip.h: Removed the -n flag to sip now I think I've decided how to change code completion in QScintilla. [69cb56ba58f1] 2006-09-22 phil * sipgen/parser.y: Backed out the check that abstract methods are virtual - because they don't have to be. [1c753a1e011a] 2006-09-17 phil * doc/sipref.txt, sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c: Added support for pure virtual dtors. Fixed a bug where abstract operators weren't flagging the class as being abstract. [867e6aa1d499] 2006-09-03 phil * sipgen/gencode.c, siplib/siplib.c: Defeated a GCC v4 warning message on generated code. [be5889f172fb] 2006-08-17 phil * sipgen/gencode.c: Minor code generation formatting tidyups. [c4397d6c3aca] * siplib/sip.h, siplib/siplib.c, specs/linux-lsb: Added argument type checking to sipRegisterIntTypes(). [aa1a3cf373d0] 2006-08-16 phil * sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: Added sipRegisterIntTypes() to the private Qt support API so that PyQt4 can implement Q_ENUMS and Q_FLAGS. [0909d2f2b376] 2006-08-05 phil * lib/siputils.py: Added support for QAxContainer in the build system. [5ddf72d045fb] 2006-07-19 phil * lib/configure.py, lib/siputils.py, specs/hurd-g++, specs/linux-pgcc, specs/solaris-cc, specs/solaris-cc-64, specs/solaris-g++, specs/solaris-g++-64, specs/win32-icc, specs/win32-msvc, specs/win32-msvc.net, specs/win32-msvc2005: Updated the spec files from Qt v4.1.4. Added (completely untested) support for embedding manifests for MSVC v8. [db5efb4cac5b] 2006-07-16 phil * doc/sipref.txt, siplib/sip.h, siplib/siplib.c: More Python v2.5 changes. [d54e5c462956] 2006-07-15 phil * siplib/objmap.c, siplib/sip.h, siplib/siplib.c: The sip module will now build against Python v2.5. (The 64 bit changes still need to be done.) [00cc5cf214cf] 2006-07-08 phil * lib/configure.py: Fixed the use of sys.lib in configure.py. [a10f12367272] 2006-07-06 phil * lib/configure.py: configure.py uses sys.lib if it is defined (for some 64 bit Linux distros). [0dbaacd9a231] 2006-07-04 phil * sipgen/gencode.c: Always call a dtor if there is one, even if we can't see how the instance could have been created. [47bb2a6a914a] 2006-07-01 phil * sipgen/export.c: Fixed default arguments and C++ scoped names in the new API file handling. [6909ffb3bb65] 2006-06-30 phil * NEWS, doc/sipref.txt, sipgen/export.c, sipgen/gencode.c, sipgen/genxml.c, sipgen/main.c, sipgen/sip.h, sipgen/sipgen.sbf: Added the -n command line option (possibly only temporarily). Changed the API generation so that it is more complete and uses Python types rather than C/C++ types. [1cd867db4c66] 2006-06-29 phil * lib/configure.py: Added sip_config_args to sipconfig.py. Added __hex__() to sip.voidptr. [d60d22ffda1c] * NEWS, doc/sipref.txt, lib/configure.py, siplib/siplib.c: [16c887e1169c] 2006-06-19 phil * lib/siputils.py, sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: More warning fixes from Ulli. [4ba06471ee46] 2006-06-17 phil * sipgen/gencode.c: Changed the explicit C linkage to retain the benefit of using static. [b2f02ca5a819] 2006-06-13 phil * sipgen/gencode.c, sipgen/parser.y: Signals and slots are now const char * rather than char *. [a43a225ba180] 2006-06-10 phil * doc/sipref.txt, sipgen/gencode.c, sipgen/parser.y, siplib/sip.h, siplib/siplib.c: Fixed the implementation of /TransferBack/ for virtuals. Changed all API arguments that take a format string from char * to const char * for Solaris. Used explicit C linkage for all generated function calls when genarting C++. (May need more work in this area.) [2d05ea691d29] 2006-06-06 phil * sipgen/genxml.c: Changed the XML handling of opaque classes. [86888971690a] 2006-06-05 phil * sipgen/genxml.c: Added support for opaque classes to the XML. [427fc4186f14] 2006-06-03 phil * sipgen/gencode.c: More XML generation changes. [b204d646b580] 2006-05-31 phil * sipgen/gencode.c, sipgen/genxml.c, sipgen/sip.h: More XML generation changes. [91acee878afd] 2006-05-30 phil * sipgen/gencode.c, sipgen/genxml.c, sipgen/parser.y, sipgen/sip.h: More XML generation changes. [7d79341cfc58] 2006-05-28 phil * sipgen/genxml.c: More XML generation changes. [a95f90a9f6d2] 2006-05-25 phil * sipgen/genxml.c, siplib/qtlib.c: Fixed bug disconnecting Python signals. [7a44ec54ef69] 2006-05-20 phil * sipgen/genxml.c: More XML generation changes. [7e8538e5e080] * sipgen/genxml.c, sipgen/transform.c: Backed out the change that treated "char" and "char *" as equivalent when comparing Python signatures. (The former is different to the latter if it appears first.) [f411eb8c010c] 2006-05-18 phil * sipgen/gencode.c, sipgen/genxml.c, sipgen/sip.h: More XML generation changes. [e42fe590a33c] 2006-05-16 phil * sipgen/gencode.c, sipgen/genxml.c, sipgen/sip.h, sipgen/transform.c: Tightened up on detecting clashing Python signatures involving strings and longs. Changes to the XML file generation. [180930e69638] 2006-05-13 phil * siplib/siplib.c: Removed some Python API calls made after the interpreter is known to have gone. [dc80be8d888f] * siplib/siplib.c: Fixed a sip module bug that meant that the Python API might be called after the interpreter had gone. [a9470b7f1479] * sipgen/gencode.c: Fixed code generation bug with abstract operators. [473bd3cea296] * NEWS, doc/sipref.txt, sipgen/gencode.c, sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h: Added %UnitCode. [2f3ad3e3a582] 2006-05-11 phil * NEWS, doc/sipref.txt, sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: Added sipExportSymbol() and sipImportSymbol(). Bumped the API version number to 3.2. [ee671f33f9a8] 2006-05-08 phil * sipgen/heap.c: Removed (hopefully) two new warning messages. [a347b1964dd2] 2006-05-07 phil * NEWS, doc/sipref.txt, sipgen/gencode.c, sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h: Added support for %ExportedHeaderCode. [1fc6cbb5421c] * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c: Fixed bug in handling of virtuals with different Python and C++ signatures. [7c64bcb52e90] 2006-05-05 phil * NEWS, doc/sipref.txt, sipgen/gencode.c, sipgen/heap.c, sipgen/lexer.l, sipgen/main.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c, siplib/qtlib.c, siplib/sip.h, siplib/siplib.c: Fixes for compiler warnings and a couple of minor bugs from Ulli. Deprecated %SIPNoEmitters and replaced it with %SIPOptions. Added the RegisterTypes option so that appropriate classes are registered with Qt automatically when needed - so PyQt4 doesn't need to implement qRegisterMetaType(). [b80581e367f3] * sipgen/gencode.c, sipgen/genxml.c, sipgen/sip.h: Fixed some compiler warnings. [5c4467450cbe] 2006-05-01 phil * sipgen/genxml.c, sipgen/transform.c: More work on the XML generation. [cb5eec12561a] 2006-04-30 phil * sipgen/gencode.c, sipgen/genxml.c, sipgen/main.c, sipgen/sip.h, sipgen/sipgen.sbf: Added the -m flag to generate the XML representation of the Pythonic API. [57d825e6a61f] 2006-04-28 phil * sipgen/gencode.c, siplib/qtlib.c, siplib/sip.h, siplib/siplib.c: Replaced long long with PY_LONG_LONG for MSVC 6. [19dc39dffac6] 2006-04-27 phil * lib/siputils.py, sipgen/parser.y: Fixed bug in handling multiple instances of the same namespace. The build system allows Apple's Python to be used if there is also a later python.org installation. MacOS modules are now bundles rather than dynamic libraries and can now be loaded by Pythons from python.org. Released as v4.4.3. [809972a88944] 2006-04-21 phil * sipgen/gencode.c: Fixed the previous const mapped type fix. [1a5385651af1] 2006-04-20 phil * lib/siputils.py, sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: Fixed the GUI enabled interpreter in sipconfig.create_wrapper() for MacOS. Fixed static const mapped types. [def8fea45725] 2006-04-18 phil * doc/sipref.txt, lib/configure.py, lib/siputils.py: Fixed the build system for when sys.prefix != sys.exec_prefix. [83449c4ab4f2] 2006-04-16 phil * doc/sipref.txt, lib/siputils.py: Added the export_all argument to the ModuleMakefile constructor of the build system so that exports can be handled on a per module basis. This is needed to get around a (not properly understood) problem with modules that wrap C++ exceptions. [89709d0957bd] 2006-04-15 phil * lib/siputils.py, siplib/qtlib.c, specs/hurd-g++, specs/solaris-cc: The build system now complains if a property is used in a spec file when no properties have been defined. Removed Qt specific properties from the solaris-cc and hurd-g++ spec files. Fixed the disconnecting of short-circuited signals. [0c4ee0a3db80] 2006-04-08 phil * lib/siputils.py: Fixed the build system to better support frameworks on MacOS. [864b17931a7b] 2006-04-07 phil * doc/sipref.txt, siplib/sip.h, siplib/siplib.c: Made sure that all uses of sipMappedType * in the API are const. [0d3533b681e3] 2006-04-06 phil * lib/siputils.py: The sipconfig module now uses qt_data_dir (if set) to find the qmake spec files. [2f81428640de] 2006-04-05 phil * NEWS, TODO, sipgen/parser.y, sipgen/transform.c: Merged v4.4.1 into the trunk. SIP now properly detects duplicate Python signatures. [9c53b26de67b] 2006-04-02 phil * siplib/siplib.c: Fixed a regression in the handling of __dict__. [33a17c1ed42d] 2006-04-01 phil * siplib/sip.h, siplib/siplib.c: Make the sip module's support for long long and unsigned long long conditional on HAVE_LONG_LONG so that it will build with older compilers. [e655c6a8a748] 2006-03-29 phil * NEWS, sipgen/gencode.c: Removed extraneous brackets in generated code. [a64c7cdb2ee9] 2006-03-28 phil * sipgen/gencode.c: Fixed some C++ code wrongly appearing in C modules. [7e80756dae4d] 2006-03-25 phil * NEWS, sipgen/parser.y: Fixed a regression in the handling of namespaces. [7a22e2205ba9] 2006-03-24 phil * NEWS, doc/sipref.txt, sipgen/gencode.c: Documented sipModule and sipModuleDict as being available to %PostInitialisationCode. Released as v4.4. [8acdabcf6a08] [4.4] 2006-03-21 phil * doc/sipref.txt, lib/sipdistutils.py, siplib/sip.h, siplib/siplib.c: Applied patch for sipdistuils.py from Giovanni. Documented sipConvertFromNamedEnum(). Wrapped types now define __reduce_ex__ and __reduce__ attributes set to None so that pickle knows they can't be pickled. [94694c47891e] 2006-03-20 phil * siplib/siplib.c: Fixed the special handling of the __dict__ attribute so that it doesn't apply to Python sub-classes of wrapped classes. [6835562cf526] 2006-03-19 phil * doc/sipref.txt, sipgen/gencode.c, siplib/qtlib.c, siplib/sipint.h, siplib/siplib.c, siplib/threads.c: Documentation tweaks. Generate sipSelf for ctor %MethodCode now that it's existence is documented. Fixed a second place where slots with no underlying C++ instance might be invoked. [ba7b9c9371e1] 2006-03-17 phil * doc/sipref.txt, sipgen/gencode.c: Removed __unicode__ from the documentation. Fixed a bug with virtual methods that returned a reference to a type that had %ConvertToTypeCode. [6dc8ddba43ed] 2006-03-15 phil * sipgen/gencode.c, siplib/qtlib.c, siplib/sipint.h, siplib/siplib.c: Removal of a now redundant error message. Fixed a leaking weak reference object. Another attempt at fixing calling slots where the underlying C++ instance has disappeared. [8f7b10cbc372] 2006-03-14 phil * lib/siputils.py, sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c: More const void * fixes. Fixed bug with building debug modules using MinGW. Fixed feature where too many names were being generated from imported modules. SIP now handles nested imports properly and doesn't require all modules to be explcitly imported. [f7b3774f05bf] 2006-03-13 phil * build.py, doc/sipref.txt, lib/README.Fink, lib/siputils.py, sipgen/parser.y: Build system changes to support MacOS properly. Fixed crash when %TypeHeaderCode was used outside of a scope. [fc9cf357273b] 2006-03-12 phil * TODO, sipgen/gencode.c: Fixed calls to sipConvertFromVoidPtr() with a const argument. [1d20b7ddf5b7] 2006-03-11 phil * lib/siputils.py: Minor changes to sipconfig.py for PyQt4's pyqtconfig.py. [5c35ed3d0e90] * lib/siputils.py, sipgen/parser.y: Fixed handling of generating code for the version before the first %Timeline version. [3ffe3ddaa678] 2006-03-08 phil * siplib/qtlib.c: Fixed a bug in the handling of QVariant * and PyObject * signal arguments. [c04f60565120] 2006-03-06 phil * sipgen/gencode.c: Fixed a regression in handling of enums defined in an imported module. [305954bab24d] * sipgen/gencode.c: Fixed bug in handling the typedef void hack. [f5ec81faf924] 2006-03-05 phil * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, siplib/sip.h, siplib/siplib.c: Fixed bug with abstract classes with %ConvertToSubClassCode. Reimplemented namspaces split across modules so that there is a single namespace implemented in the original module. [e04e87b70f29] * sipgen/transform.c: Fixed missing #include for classes that aren't an immediate parent. [5f28954fe478] 2006-03-04 phil * sipgen/gencode.c: Fixed a regression in the wrappers around protected methods. [65fc03434a16] * siplib/qtlib.c: Suppressed the exception about the underlying object disappearing when calling a Python slot. This is because we don't automatically disconnect Python slots. [5a90239b615c] 2006-03-02 phil * NEWS, doc/sipref.txt, sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: Added sipLong_AsUnsignedLong() to work around a bug in PyLong_AsUnsignedLong(). [ae6bdfc7d774] 2006-02-26 phil * sipgen/gencode.c: Fixed bug in handling class arguments with /Out/ specified. [a39d9d9a8d5a] * lib/siputils.py, sipgen/gencode.c, sipgen/lexer.l, sipgen/parser.y: Recognise NULL as a synonym for 0. Some build system changes for Cygwin. Fixed the deletion of temporary instances in catch clauses. [1b9e30dd13fb] * NEWS, doc/sipref.txt, sipgen/gencode.c, sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c, siplib/qtlib.c, siplib/sip.h: SIP now treats signed char as a type distinct from char. [01500c239ace] * sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c, siplib/sip.h, siplib/siplib.c: Tore up the recent changes for handling cross module namespaces. A namespace is now defined in each module it is used. That makes things easier to implement and should be less confusing for the user. The API and data structures should now be stable. [02277356e12c] 2006-02-25 phil * sipgen/parser.y: Fixed bug in handling of variables introduced in the previous commit. [aadd2d0daa3e] * sipgen/gencode.c, sipgen/parser.y: Added support for variables defined in namespaces defined in other modules. [a1210912bb6c] * sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: Completed the support for enums in namespaces originating in other modules. [590dbde2e463] 2006-02-21 phil * NEWS, doc/sipref.txt, sipgen/gencode.c, siplib/siplib.c: Added the 't' and 'u' format characters to sipParseArgs(), sipParseResult(), sipCallMethod() and sipBuildResult(). unsigned and unsigned short are now implemented as Python long objects instead of integer objects. [f8c047d7f8df] 2006-02-19 phil * sipgen/gencode.c, siplib/qtlib.c, siplib/sip.h: Implemented disconnects for universal signals. [6cd1a4dc4e73] 2006-02-18 phil * sipgen/gencode.c, siplib/qtlib.c, siplib/sip.h: Implemented support for signal arguments of type PyObject *. Implemented support for shortcircuited Python signals (ie. just the name without arguments) that will only work with other shortcircuited Python signals and Python slots - bit don't need to do any conversions between Python and C++. [6748c4088281] 2006-02-17 phil * doc/sipref.txt, sipgen/gencode.c: Fixed bug in the implementation of /TransferBack/ in virtual handlers. Fixed bug in methods with a void result and a single /Out/ argument that was a mapped type or class. [f6486c697de5] 2006-02-16 phil * doc/sipref.txt, sipgen/gencode.c: Fixed bug in generating code that called sipCallMethod(). Updated the documentation where it was still referring to the legacy type convertors. [acdd622dba74] * sipgen/gencode.c: Fixed bug in generated legacy mapped type convertor names. [8424561f0d54] 2006-02-15 phil * sipgen/gencode.c: Fixed bug that could easily result in deleting non-heap instances. [9ab37451f8f0] 2006-02-13 phil * doc/sipref.txt, lib/siputils.py: Fixes to PythonModuleMakefile. [684799b183d5] * NEWS, doc/sipref.txt, sipgen/gencode.c, siplib/qtlib.c, siplib/sip.h, siplib/sipint.h, siplib/siplib.c: Renamed the new sipCheckConvert functions to sipForceConvert functions. Added the 'B', 'C' and 'D' format character to sipBuildResult() and sipCallMethod(). Removed the 'L' format character from sipBuildResult() and sipCallMethod(). Added sipConvertFromInstance(), sipConvertFromNewInstance() and sipConvertFromMappedType(). [f6324b7c7ab1] 2006-02-12 phil * NEWS, TODO, doc/sipref.txt, sipgen/gencode.c, sipgen/parser.y, siplib/sip.h, siplib/siplib.c, siplib/threads.c: Overhauled how %ConvertToTypeCode should be written - detail below. (Still need to overhaul %ConvertFromTypeCode.) Added sipCanConvertToInstance(), sipConvertToInstance(), sipCheckConvertToInstance() and sipReleaseInstance(). Added sipCanConvertToMappedType(), sipConvertToMappedType(), sipCheckConvertToMappedType(), sipReleaseMappedType() and sipFindMappedType(). Changed the order of the arguments to sipConvertToCppTransfer(). Added the 'C' and 'D' format characters to sipParseResult(). Changed the meaning of the 'J' and 'M' format characters in sipParseArgs(). Removed the sipConvertTo_*() functions. Removed sipConvertToCppTransfer(). Took all of the None handling out of %ConvertToTypeCode. [7122e755a332] 2006-01-28 phil * sipgen/gencode.c, sipgen/sip.h, sipgen/transform.c: Fixed the support for __hash__. [f57b38d29839] 2006-01-26 phil * NEWS, doc/sipref.txt, sipgen/gencode.c, sipgen/lexer.l, sipgen/parser.y, sipgen/sip.h, siplib/qtlib.c, siplib/sip.h, siplib/sipint.h: Added %SIPNoEmitters to stop SIP generating signal emitters for a module and any module that imports it. Changed the signal/slot support so that Python signals can be implemented with proxies. [ebc0499b0e99] 2006-01-20 phil * sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: Fixed a bug in sipTransferTo() that caused some objects to be garbage collected while ownership was being transferred. Check that abstract methods are only ever called as bound methods. [7f66705a98e7] 2006-01-19 phil * doc/sipref.txt, siplib/siplib.c: Updated the documentation for sipConnectRx(). The __dict__ attribute of a wrapper type now returns a regular dictionary rather than a proxy (because PyDict_Next() doesn't iterate over proxies). [b7b57265c54c] 2006-01-14 phil * siplib/siplib.c: Fixed the searching of signal types. [d24efdbe5952] 2006-01-11 phil * siplib/siplib.c: The previous fix wasn't quite so trivial. [a598de0cf451] * siplib/siplib.c: Added missing function prototype. [5d6320a5e0a1] 2006-01-10 phil * NEWS, doc/sipref.txt, lib/siputils.py, sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c, siplib/sip.h, siplib/siplib.c: Fixed code generation bugs in new virtual handling code that was triggered by PyKDE. Build system changes for MinGW. Added support for constrained bools. Generate code to wrap static enum instances with inline code rather than through tables (as is done with class instances) for Windows. [48a76f76e9b8] 2006-01-09 phil * NEWS, doc/sipref.txt, sipgen/gencode.c, sipgen/parser.y: Changed the signatures of sipForceConvertTo_*() and sipConvertFrom_*() back to their SIP 4.3 versions, deprecated them, and introduced the Transfer variants. [422ea1e3fee9] * NEWS, doc/sipref.txt, lib/configure.py, lib/siputils.py: More build system changes for Windows. Added the platform macro to sipconfig.py. The default Windows platform Python 2.4 and later is now win32-msvc.net rather than win32-msvc. [e9d83bea0e38] 2006-01-08 phil * lib/configure.py, lib/siputils.py: Various build system changes needed by PyQt4 on Windows. [dcbf196c14bb] 2006-01-07 phil * lib/LICENSE.short, lib/configure.py, lib/sipdistutils.py, lib/siputils.py, specs/aix-g++, specs/aix-g++-64, specs/aix-xlc, specs/aix-xlc-64, specs/darwin-g++, specs/freebsd-g++, specs/freebsd-g++34, specs/freebsd-g++40, specs/freebsd-icc, specs /hpux-acc, specs/hpux-acc-64, specs/hpux-acc-o64, specs/hpux-g++, specs/hpux-g++-64, specs/hpuxi-acc, specs/hpuxi-acc-32, specs/hpuxi- acc-64, specs/hurd-g++, specs/irix-cc, specs/irix-cc-64, specs/irix-g++, specs/irix-g++-64, specs/linux-cxx, specs/linux- ecc-64, specs/linux-g++, specs/linux-g++-32, specs/linux-g++-64, specs/linux-icc, specs/linux-kcc, specs/linux-kylix, specs/linux- pgcc, specs/lynxos-g++, specs/macx-g++, specs/macx-mwerks, specs /macx-pbuilder, specs/macx-xcode, specs/macx-xlc, specs/netbsd-g++, specs/openbsd-g++, specs/qnx-g++, specs/sco-cc, specs/sco-g++, specs /solaris-cc, specs/solaris-cc-64, specs/solaris-g++, specs/solaris-g++-64, specs/tru64-cxx, specs/tru64-g++, specs /unixware-cc, specs/unixware-g++, specs/win32-borland, specs/win32-g++, specs/win32-icc, specs/win32-msvc, specs/win32-msvc.net, specs/win32-msvc2005: Updated the spec files from Qt v4.1. Added support for the $$() method of accessing environment variables in qmake spec files. sipdistutils.py fix from Giovanni. Changes to the build system for the slightly different macro names on Windows. [5030a64bab73] 2006-01-04 phil * NEWS, doc/sipref.txt, sipgen/gencode.c, sipgen/parser.y, sipgen/transform.c: Added support for the /NoDerived/ annotation. [496e87667614] 2006-01-03 phil * siplib/siplib.c: Fixed bug in handling of delayed dtors. [9ad8378e1bbd] 2006-01-02 phil * sipgen/transform.c: Fixed another bug with the new handling of virtual function calls (where re-implementations from another module weren't picked up). [b4a5f97c4acd] 2005-12-30 phil * sipgen/gencode.c, sipgen/sip.h, sipgen/transform.c: Fixed bugs with the new handling of virtuals that caused recursions. [e15093e5d260] 2005-12-29 phil * lib/siputils.py: Taught the build system about the QtAssistantClient library. [ef92ee748d4c] * sipgen/gencode.c: Fixed bugs related to global operators with an enum as the first argument. [2379d714c099] 2005-12-28 phil * NEWS, doc/sipref.txt, sipgen/gencode.c, siplib/sip.h, siplib/siplib.c: Added sipConvertToCppTransfer(). Changed the signatures for the type convertor functions. Added the 'L' format character to sipBuildResult() and sipCallMethod(). [2bf4d76eefe2] 2005-12-27 phil * NEWS, doc/sipref.txt, sipgen/gencode.c, sipgen/parser.y, sipgen/sip.h, sipgen/transform.c, siplib/sip.h, siplib/siplib.c: Added support for the /DelayDtor/ class annotation to control the order of dtor calls when the interpreter exits. Fixed bugs with cast operators. [5a03f38f92c7] 2005-12-26 phil * doc/sipref.txt, sipgen/gencode.c: Fixed a documentation bug. Slightly changed the declaration of the sipProtectVirt wrappers. [bc65dd63ac7d] 2005-12-24 phil * NEWS, doc/sipref.txt, sipgen/gencode.c: Class methods called as class.method(self, ...) is now equivalent to this->class::method(...). Class methods called as self.method(...) is now equivalent to this->method(...). Introduced sipSelfWasArg and the sipProtectVirt wrappers in order to support the above. [d49dc239a2d7] 2005-12-22 phil * siplib/qtlib.c, siplib/siplib.c: SIP no longer complains if a slot to be disconnected isn't actually connected (and hopes Qt will then behave appropriately). [7e93c92ec9b9] 2005-12-19 phil * sipgen/parser.y: Backed out the recent change that ignored abstract specifications if the methods wasn't virtual. [72f23df36c23] * doc/sipref.txt, lib/siputils.py: Various changes to the build system to better support Qt v4. [0a793291a2db] 2005-12-18 phil * NEWS, doc/sipref.txt, lib/siputils.py: Added the PythonModuleMakefile class and create_wrapper() function to the build system. [70cd55448b1c] 2005-12-15 phil * .repoman, NEWS, build.py, doc/sipref.txt, sipgen/main.c, siplib/qtlib.c, siplib/qtlib.cpp, siplib/sip.h: Internally renamed qtlib.cpp to qtlib.c. Small changes to the internal build system caused by the move to SVN. Removed SIP_BUILD from sip.h. [efe612146497] 2005-12-14 phil * .repoman, NEWS, TODO, build.py, custom/custom.c, custom/customw.c, custom/mkcustom.py, doc/default.css, doc/sipref.txt, lib/LICENSE, lib/LICENSE.short, lib/README, lib/README.Fink, lib/README.HP-UX, lib/THANKS, lib/configure.py, lib/sipdistutils.py, lib/siputils.py, sipgen/gencode.c, sipgen/heap.c, sipgen/lexer.l, sipgen/main.c, sipgen/parser.y, sipgen/sip.h, sipgen/sipgen.sbf, sipgen/transform.c, siplib/bool.cpp, siplib/objmap.c, siplib/qtlib.cpp, siplib/sip.h, siplib/sipint.h, siplib/siplib.c, siplib/siplib.sbf, siplib/threads.c, specs/aix-g++, specs/aix-g++-64, specs/aix-xlc, specs/aix-xlc-64, specs/bsdi-g++, specs/cygwin-g++, specs/darwin-g++, specs/dgux-g++, specs/freebsd-g++, specs/freebsd-g++34, specs/freebsd-icc, specs /hpux-acc, specs/hpux-acc-64, specs/hpux-acc-o64, specs/hpux-cc, specs/hpux-g++, specs/hpux-g++-64, specs/hpuxi-acc-32, specs/hpuxi- acc-64, specs/hurd-g++, specs/irix-cc, specs/irix-cc-64, specs/irix- cc-o32, specs/irix-g++, specs/linux-cxx, specs/linux-ecc-64, specs/linux-g++, specs/linux-g++-64, specs/linux-icc, specs/linux- kcc, specs/linux-kylix, specs/linux-pgcc, specs/lynxos-g++, specs/macx-g++, specs/macx-mwerks, specs/macx-pbuilder, specs/macx- xlc, specs/netbsd-g++, specs/openbsd-g++, specs/qnx-g++, specs /reliant-cds, specs/reliant-cds-64, specs/sco-cc, specs/sco-g++, specs/solaris-cc, specs/solaris-cc-64, specs/solaris-g++, specs/solaris-g++-64, specs/tru64-cxx, specs/tru64-g++, specs /unixware-cc, specs/unixware-g++, specs/win32-borland, specs/win32-g++, specs/win32-icc, specs/win32-msvc, specs/win32-msvc.net, specs/win32-msvc2005, specs/win32-watcom: Initial import of sip from CVS [1fd77e66a56d]