$Log: ChangeLog,v $
Revision 1.93  2002/03/22 10:39:23  phil
Released as v3.1.
configure will now use qt-mt in preference to qt if it finds both.


2002/03/20 15:57:54  phil
configure now handles Qt v3.0.3.


2002/03/19 00:19:10  phil
Fixed typo in INSTALL.win32.
Documentation changes prior to the release of v3.1.


2002/03/17 17:36:30  phil
Fixed bug where functions defined in a namespace weren't being generated.


2002/03/12 19:29:19  phil
Upgraded to autoconf-2.53 and automake-1.6.


2002/03/09 18:17:55  phil
Various build changes for Windows.
The variables that hold the values parsed by sipParseArgs() are no longer
declared as const if there is no default value.
The %PrePythonCode is now generated before the import of a maodule's C++ code.


2002/03/04 21:06:37  phil
Made sure all the autoconf/automake/libtool generated files are updated.


2002/03/04 20:57:46  phil
SIP now compiles again.
Fixed the bug where exceptions sometimes appeared to be raised by Python
re-implementations of C++ virtual methods.


2002/03/04 17:17:12  phil
Using /TransferThis/ in a non-ctor is now detected as an error.


2002/02/25 16:24:35  phil
Method and enum tables are now sorted and searched with a binary search instead
of a linear search.
Individual values of enums are now under version control.


2002/02/24 14:59:04  phil
Ctors now support /ReleaseLock/.


2002/02/24 01:30:02  phil
configure now searches for Qt v3.0.2.
SIP now handles protected static methods.
Added the /NonLazy/ option.
Added the 'n' format character to sipParseArgs() to support non-lazy methods.
Removed the __sipDtor__ and __sipStr__ builtins.
The __del__ method is created by the SIP module at run-time when needed.
Removed all of the special method handling.


2002/02/08 15:52:55  phil
The AutoGen option now takes an optional feature name (needed for PyKDE2).


2002/01/28 11:07:47  phil
The sip library is now a Python module.


2002/01/09 00:37:16  phil
Class enums are now lazy.


2002/01/08 20:15:47  phil
The SIP library now uses PyObject_Del() rather than PyMem_DEL() for Python v1.6
and later.
Fixed a code generator bug related to nested features.


2002/01/03 01:02:02  phil
Fixed a bug where feature tests were being generated when thay should have been
unconditional.
Added the -f flag to specifically generate the helper program.
Added %ExportedFeaturesCode.
Added the $B and $H macros.
The %Makefile object file extension is now optional and defaults to ".o".


2001/12/27 12:15:44  phil
Replaced %SecondaryVersion with %Platforms and %Feature.
Removed %ImportWithTimeline.
Added support for Qt/Embedded.
Replaced %VersionCode with %FeatureCode.
%If now supports logical ors or platforms and/or features.


2001/12/09 11:39:57  phil
configure now looks for Qt v3.0.1.


2001/12/01 18:35:59  phil
Used AC_HELP_STRING throughout configure.ac.


2001/11/25 18:24:55  phil
Upgraded libtool to v1.4.2.
Fix for attribute lookup for classes with no attributes (eg. namespaces).


2001/11/17 17:11:37  phil
Fixed bugs in operators for "setitem" and "getslice" for sequence methods.


2001/11/17 14:41:38  phil
%ConvertToTypeCode must now handle None objects.
sipConvertToCpp() now handles None objects.
Fixes to configure.ac.
The module name is now passed in at runtime rather than being hardcoded (thanks
to Andreas Gerstlauer).
Ownership is only transferred if it really has changed.


2001/11/11 19:05:36  phil
configure will search for Qt v2.3.2.
Fixed the memory leak when calling Python slots (thanks to Andreas Gerstlauer).
Another attempt at fixing the problem with generating the right Python super
classes for PyKDE2.
Generate an error message if handwritten code is provided for signals.


2001/10/28 10:32:47  phil
Backed out the change to use __sipThis rather than sipThis.


2001/10/26 23:37:26  phil
ALtered the lexer/parser so that C++ methods can have names starting with "__",
which means that .sip files that define special methods must also be changed.
The library now uses the C API for weak references for Python v2.2 and later.
Added the %PostInitialisationC++Code directive.
Replaced "sipThis" with "__sipThis".
Added __sipStr__ to replace str() in __str__() methods so that unicode() on a
QString works properly.


2001/10/21 13:54:14  phil
Fixed bug where all the fields of a mapped argument type weren't being
initialised.
Fixed bug where the sipCpp pointer has the wrong type for a protected method of
a class in a namespace.


2001/10/19 23:29:46  phil
Added the 'N' format character to sipParseArgs().


2001/10/12 22:49:23  phil
Literal strings are no longer cached because their contents are used in the
cache name but they might not be valid characters for an identifier.
Fixed a bug where %ImportWithTimeLine on a module that has already been
imported didn't inherit the time line.
Fixed a bad bug where the "object is on the heap" flag wasn't being
initialised.


2001/10/07 18:48:39  phil
Fixed generation of proxy object for modules without signals.
Fix possible bug with handling protected enums (my version of gcc doesn't
complain).


2001/10/06 18:17:23  phil
configure now handles multi-threaded Qt.
Correct header files now generated for mapped types based on the same template
being defined in different modules.


2001/10/04 21:30:10  phil
By default, a class inherits its header code from the enclosing scope.
Mapped types based on templates now automatically include the header files for
the types of the template parameters.


2001/09/30 10:44:26  phil
Bug fixing of the new sipParseArgs() code.


2001/09/28 23:11:43  phil
Many changes to sipParseArgs(): it now returns the number of successfully
parsed arguments; the '-' and 'I' formatting characters are no longer
supported; the 'm', 'p', 't', 'q', 'Q', 'y', 'Y', 'J' and 'M' formtting
characters have been added; it now does all argument conversions.
Static and non-static methods can now be mixed.
Removed the %CanConvertToType directive.


2001/09/23 19:55:51  phil
Fixed bug in adding a scope to enum values.


2001/09/23 14:21:53  phil
Fixed code generation bug with const signal arguments.
Fixed generation of calls to sipForceConvertTo_*() functions.
Header code is now generated before used includes in interface files.
Protected enums are now handled properly again.


2001/09/16 18:08:19  phil
Changed the method of preventing moc generated files being included with the
distribution - needed by the latest automake.


2001/09/14 15:18:05  phil
Added the /AutoGen/ options and removed the hardcoded handling of moc generated
methods.
Fixed the #include of a non-existent interface file in the main module.
Fixed a bug where a cached name was being associated with the wrong module.
Fixed an indentation bug when generating Python code for namespaces.
Fixed a bug where global enums after a class definition were incorrectly
generating errors.


2001/09/07 16:04:49  phil
Fixed a bug where a bad number methods table was being generated.
Upgraded to libtool-1.4.1.


2001/09/02 16:39:48  phil
Fixed bug where the header file for a class's super classes wheren't being
included if the class was in an imported module.


2001/09/01 02:37:46  phil
The first parameter of sipConvertFrom_*() for mapped types is no longer const.
Upgraded to autoconf-2.52 and automake-1.5.


2001/08/10 17:52:30  phil
Fixed missing popVersion() in gencode.c.


2001/08/10 14:59:17  phil
Python classes that have to be imported are done so at the start of the module,
not immediately before they are first needed.


2001/08/06 20:08:19  phil
Fixed a problem registering a class that doesn't exist in a particular
secondary version.


2001/08/01 22:17:47  phil
More build changes for Qt-NC.
tr() is now properly handled for Qt v2.3.0 and earlier.


2001/07/30 22:48:21  phil
The contents of namespaces are now effectively public.
Changed AMTAR to TAR.
Generated Windows Makefiles that support Qt-NC (untested).


2001/07/28 22:40:44  phil
Fixed bug in sipRegisterClass()'s handling of nested scopes.


2001/07/28 06:45:41  phil
Changed sipRegisterClasses() to handle nested classes and namespaces.
The sipClassDef structure now has an extra field to identify the enclosing
scope.


2001/07/27 22:28:19  phil
sipConvertFrom_*() for mapped types now leaves the handling of a NULL pointer
to the handwritten code rather than converting it to None.
The same namespace can be defined many times, so long as they are in the same
module.
Fixed a problem testing for -fno-exceptions.
Fixed problem building with Qt support disabled.
Fixed small code generation bug for virtual handlers and nested classes.
Fixed an extraneous const that Windows MSVC doesn't like.


2001/07/21 15:57:20  phil
Replaced %PrimaryVersion and %PrimaryOrder with %Timeline.
Added %ImportWithTimeline.
The -t switch can now be given any number of times.
These changes now means that version control works properly across modules so
that (for example) SIP doesn't try to generate bindings that support invalid
combinations like Qt v1.x and KDE v2.x.


2001/07/20 23:35:04  phil
Completed the support for namespaces and nested classes.
sipCallCtor() now handles namespaces.
Added the SIP_SIGNAL pseudo-type.
Replaced %Version and %PrimaryVersions with %PrimaryVersion, %SecondaryVersion
and %PrimaryOrder.


2001/07/17 07:39:58  phil
Added the %MappedType directive - particularly for templates.
Added support for namespaces and nested classes - not yet finished.
Removed the Version keyword so that it can be used for class names.


2001/07/01 14:31:35  phil
configure now looks for Qt v2.3.1.


2001/06/05 21:41:39  phil
Added the relevant files to build sip.exe under Windows (not tested yet).
The Windows Makefiles (now Borland as well as MSVC) are created automatically
as part of the "make dist" process.


2001/06/04 21:38:18  phil
Some Windows portability changes.


2001/06/02 17:00:21  phil
C-style comments can now be used in .sip files.
Methods automatically generated by moc (particularly tr()) are now handled
properly.


2001/05/30 21:20:07  phil
Added the /Constraint/ option and support for it to sipParseArgs().


2001/05/23 22:25:54  phil
QObject.blockSignals() now blocks Python signals as well as Qt signals.


2001/05/23 21:13:18  phil
Fixed problems when default arguments are function calls.
Added support for QObject.sender() to be able to be implemented properly.
Fixed the problem when a slot disconnects itself.


2001/04/29 16:23:09  phil
Minor configuration changes.


2001/04/22 15:22:52  phil
Upgraded to automake v1.4d.


2001/04/19 22:09:32  phil
Final changes for the release of v2.4.


2001/04/08 13:39:02  phil
Upgraded to libtool v1.3d.


2001/03/10 00:43:37  phil
Fixed compile problems with Python earlier then v2.1.


2001/03/07 20:17:47  phil
The library now tidies itself up when Py_Finalize() is called.


2001/03/06 09:29:05  phil
Fixed minor code generation bugs with Python special methods.


2001/03/05 23:16:12  phil
Added support for Python v2.1 rich comparison operators.


2001/03/05 16:42:18  phil
Added support for the in-place operators introduced in Python v2.0.
Python slots are now wrapped in weak references which means that when the
programmer forgets to keep a slot alive it won't core dump.


2001/03/01 19:21:58  phil
configure now uses the Python executable to determine where Python is
installed.


2001/02/10 12:09:11  phil
Fixed bug in sipCommonDtor() so that it acquires the Python lock before calling
Python library functions.


2001/02/04 14:37:10  phil
Configure now checks for Qt v2.2.4 and Python v2.1.
Released as v2.3.


2001/01/23 23:36:51  phil
Added the -p switch and the $m macro.


2001/01/09 16:07:55  phil
The library will raise an exception if a program tries to inherit from more
than one wrapped class.


2000/12/24 18:30:09  phil
Fixed a bug that meant some signal proxies were not being generated properly
(only affected QMovie).
When a C++ instance takes ownership, it also takes a reference to the Python
object as well.
Updated the documentation for v2.3.


2000/12/19 14:48:31  phil
Added the ability to add pre- and post-call hooks. Added the sipCallHook()
function to implement them.


2000/12/15 11:18:00  phil
Added a couple of missing Python exceptions.


2000/12/13 10:41:12  phil
Updated the configuration to look for Qt v2.2.3.


2000/12/12 17:48:53  phil
Changed sipParseArgs() to take an extra parameter to enable better error
messages to be reported.
Changed the sipNo*() functions to report the better messages.
Changed the code generator to use the changed sipParseArgs().


2000/11/05 20:56:28  phil
Added the $P macro.
Backed out the change making the wrapper class dtors virtual (causes problems
under Windows).
Released v2.2.


2000/11/04 11:06:11  phil
Made the wrapper class dtor virtual to avoid compiler warning messages.
Fixed proxy class generation for modules that don't define any new signals.


2000/11/02 15:03:13  phil
Minor compile fixes (why is it always RedHat?).
Added the %Copying directive.
Clarified the license regarding generated code.


2000/10/18 16:20:53  phil
Final tidying up for the release of v2.1.


2000/10/15 20:41:24  phil
Finally fixed the problem with signal signatures defined with SIP_CON_SLOT.
Updated the documentation for v2.1pre1.


2000/10/13 19:00:17  phil
Fixed really nasty segv with complex Python expressions where the wrapped
object was (legitimately) outliving the class instance.


2000/10/11 17:23:05  phil
Slot types that are only specified by SIP_CON_SLOT (and not as a signal) are
now handled properly.


2000/10/11 13:34:03  phil
Added the ability to provide handwritten code for dtors.
Added the sipGetThisWrapper() function to the SIP library.


2000/10/02 21:46:56  phil
Fixed the bad code generated for Python special methods (ie. operators).


2000/10/01 12:32:19  phil
Slots that take fewer arguments than the number supplied by a signal will not
cause an exception - just like Qt.


2000/10/01 00:44:57  phil
Fixed the signal handling bug introduced a couple of days ago while trying to
fix another signal handling bug.


2000/09/29 22:28:26  phil
When a wrapped class instance is deleted it is now guaranteed that the
underlying object will be deleted after all of the instances variables.  This
avoids some potentially very subtle bugs.


2000/09/23 18:07:05  phil
Connecting Python signals to Qt slots (expressed using SLOT()) now works.
Increased the library version number to 3.0.1.


2000/09/20 10:57:10  phil
Tidy up after moving the CVS tree to theKompany.com CVS repository.
