Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-sip6 for openSUSE:Factory 
checked in at 2023-04-28 16:22:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-sip6 (Old)
 and      /work/SRC/openSUSE:Factory/.python-sip6.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-sip6"

Fri Apr 28 16:22:07 2023 rev:14 rq:1083092 version:6.7.9

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-sip6/python-sip6.changes  2023-04-24 
22:30:49.283370882 +0200
+++ /work/SRC/openSUSE:Factory/.python-sip6.new.1533/python-sip6.changes        
2023-04-28 16:22:12.929606489 +0200
@@ -1,0 +2,17 @@
+Mon Apr 24 19:40:46 UTC 2023 - Ben Greiner <c...@bnavigator.de>
+
+- Update to 6.7.9
+  * The latest version of ABI v13 is v13.5.1.
+  * The latest version of ABI v12 is v12.12.1.
+  * Bug fixes.
+- Release v6.7.8 4th April 2023
+  * The latest version of ABI v13 is v13.5.0.
+  * The latest version of ABI v12 is v12.12.0.
+  * The 'wheel-includes' value of the 'tool.sip.project' section of
+    pyproject.toml now supports the use of absolute file patterns.
+  * Replaced the use of the 'toml' package with the standard library 'tomllib'
+    package for Python v3.11 and later, and the 'tomli' package for earlier
+    versions of Python.
+  * Bug fixes.
+
+-------------------------------------------------------------------

Old:
----
  sip-6.7.7.tar.gz

New:
----
  sip-6.7.9.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-sip6.spec ++++++
--- /var/tmp/diff_new_pack.y3aLd8/_old  2023-04-28 16:22:13.529609991 +0200
+++ /var/tmp/diff_new_pack.y3aLd8/_new  2023-04-28 16:22:13.553610131 +0200
@@ -18,7 +18,7 @@
 
 %{?sle15_python_module_pythons}
 Name:           python-sip6
-Version:        6.7.7
+Version:        6.7.9
 Release:        0
 Summary:        A Python bindings generator for C/C++ libraries
 License:        GPL-2.0-only OR GPL-3.0-only OR SUSE-SIP
@@ -30,7 +30,7 @@
 BuildRequires:  %{python_module packaging}
 BuildRequires:  %{python_module ply}
 BuildRequires:  %{python_module setuptools}
-BuildRequires:  %{python_module toml}
+BuildRequires:  %{python_module tomli if %python-base < 3.11}
 BuildRequires:  c++_compiler
 BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros
@@ -55,7 +55,7 @@
 Requires:       python-packaging
 Requires:       python-ply
 Requires:       python-setuptools
-Requires:       python-toml
+Requires:       (python-tomli if python-base < 3.11)
 Requires(post): update-alternatives
 Requires(postun):update-alternatives
 Conflicts:      python-sip-impl

++++++ sip-6.7.7.tar.gz -> sip-6.7.9.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/ChangeLog new/sip-6.7.9/ChangeLog
--- old/sip-6.7.7/ChangeLog     2023-02-04 12:01:26.000000000 +0100
+++ new/sip-6.7.9/ChangeLog     2023-04-13 17:08:36.000000000 +0200
@@ -1,5 +1,102 @@
+2023-04-12  Phil Thompson  <p...@riverbankcomputing.com>
+
+       * code_generator/gencode.c:
+       Fixed the new handling of ctors with /Transfer/ annotated arguments.
+       [60b1e38738ed] [6.7.9] <6.7-maint>
+
+       * NEWS, sipbuild/module/source/12/descriptors.c,
+       sipbuild/module/source/12/sip.h.in,
+       sipbuild/module/source/13/sip.h.in,
+       sipbuild/module/source/13/sip_descriptors.c:
+       Fix the sip module to call PyObject_GC_UnTrack() in descriptor
+       dealloc functions.
+       [95f807c277e0] <6.7-maint>
+
+2023-04-04  Phil Thompson  <p...@riverbankcomputing.com>
+
+       * .hgtags:
+       Added tag 6.7.8 for changeset fd3d08ddadc5
+       [a4fc9057db31] <6.7-maint>
+
+       * NEWS:
+       Fixed the NEWS file.
+       [fd3d08ddadc5] [6.7.8] <6.7-maint>
+
+2023-04-03  Phil Thompson  <p...@riverbankcomputing.com>
+
+       * NEWS, sipbuild/bindings.py,
+       sipbuild/generator/outputs/formatters/argument.py,
+       sipbuild/generator/outputs/pyi.py,
+       sipbuild/generator/outputs/type_hints.py,
+       sipbuild/generator/specification.py:
+       Refactored the handling of the sip module name so that it is
+       optional in the Specification object.
+       [75acbf7d62ac] <6.7-maint>
+
+2023-03-07  Phil Thompson  <p...@riverbankcomputing.com>
+
+       * NEWS, sipbuild/toml.py:
+       Fixed the name fo the tomllib package.
+       [7864ebbddf20] <6.7-maint>
+
+       * NEWS, setup.py, sipbuild/bindings_configuration.py,
+       sipbuild/distinfo/distinfo.py, sipbuild/pyproject.py,
+       sipbuild/toml.py:
+       Replaced toml with the standard library tomlib or tomli as
+       appropriate.
+       [df52c30655be] <6.7-maint>
+
+       * NEWS, doc/pyproject_toml.rst, sipbuild/builder.py,
+       sipbuild/project.py:
+       Add support for absolute patterns in wheel-includes.
+       [d9d0cfa658ff] <6.7-maint>
+
+2023-02-28  Phil Thompson  <p...@riverbankcomputing.com>
+
+       * NEWS, code_generator/gencode.c,
+       sipbuild/generator/parser/parser_manager.py,
+       sipbuild/module/source/12/sip.h.in,
+       sipbuild/module/source/12/siplib.c,
+       sipbuild/module/source/13/sip.h.in,
+       sipbuild/module/source/13/sip_core.c:
+       Fixed the handling of a mapped type ctor argument that has
+       /Transfer/ specified so that it is consistent with the handling of a
+       similar method argument.
+       [5bf93a9d2853] <6.7-maint>
+
+2023-02-27  Phil Thompson  <p...@riverbankcomputing.com>
+
+       * code_generator/gencode.c:
+       Fixed the generation of enum comparison slots so that unsupported
+       types are reported as not implemented.
+       [ccc47507cbda] <6.7-maint>
+
+       * NEWS, sipbuild/generator/resolver/resolver.py:
+       Skip some resolver checks for undefined classes.
+       [290d789a402d] <6.7-maint>
+
+2023-02-24  Phil Thompson  <p...@riverbankcomputing.com>
+
+       * NEWS, sipbuild/module/source/12/sip_array.c,
+       sipbuild/module/source/13/sip_array.c:
+       Fixed sip.array subscripts.
+       [f29fca0a7e1a] <6.7-maint>
+
+2023-02-23  Phil Thompson  <p...@riverbankcomputing.com>
+
+       * NEWS, sipbuild/module/source/12/sip.h.in,
+       sipbuild/module/source/12/sip_array.c,
+       sipbuild/module/source/13/sip.h.in,
+       sipbuild/module/source/13/sip_array.c:
+       Fixed the buffer protocol support for sip.array.
+       [c10c9021aea6] <6.7-maint>
+
 2023-02-04  Phil Thompson  <p...@riverbankcomputing.com>
 
+       * .hgtags:
+       Added tag 6.7.7 for changeset 2d5cad50e879
+       [459db7463ed5] <6.7-maint>
+
        * sipbuild/generator/outputs/pyi.py:
        In .pyi files generate implict imports as well as explicit imports.
        [2d5cad50e879] [6.7.7] <6.7-maint>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/NEWS new/sip-6.7.9/NEWS
--- old/sip-6.7.7/NEWS  2023-02-04 12:00:48.000000000 +0100
+++ new/sip-6.7.9/NEWS  2023-04-13 17:07:57.000000000 +0200
@@ -1,3 +1,18 @@
+v6.7.9 12th April 2023
+  - The latest version of ABI v13 is v13.5.1.
+  - The latest version of ABI v12 is v12.12.1.
+  - Bug fixes.
+
+v6.7.8 4th April 2023
+  - The latest version of ABI v13 is v13.5.0.
+  - The latest version of ABI v12 is v12.12.0.
+  - The 'wheel-includes' value of the 'tool.sip.project' section of
+    pyproject.toml now supports the use of absolute file patterns.
+  - Replaced the use of the 'toml' package with the standard library 'tomllib'
+    package for Python v3.11 and later, and the 'tomli' package for earlier
+    versions of Python.
+  - Bug fixes.
+
 v6.7.7 4th February 2023
   - Bug fixes.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/PKG-INFO new/sip-6.7.9/PKG-INFO
--- old/sip-6.7.7/PKG-INFO      2023-02-04 12:01:27.102979000 +0100
+++ new/sip-6.7.9/PKG-INFO      2023-04-13 17:08:36.709781200 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: sip
-Version: 6.7.7
+Version: 6.7.9
 Summary: A Python bindings generator for C/C++ libraries
 Home-page: https://www.riverbankcomputing.com/software/sip/
 Author: Riverbank Computing Limited
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/code_generator/gencode.c 
new/sip-6.7.9/code_generator/gencode.c
--- old/sip-6.7.7/code_generator/gencode.c      2023-02-04 12:00:48.000000000 
+0100
+++ new/sip-6.7.9/code_generator/gencode.c      2023-04-13 17:07:57.000000000 
+0200
@@ -5839,7 +5839,14 @@
                 break;
 
             default:
-                if (isNumberSlot(md) || isRichCompareSlot(md) || 
isInplaceNumberSlot(md))
+                if (isRichCompareSlot(md))
+                {
+                    prcode(fp,
+"\n"
+"    Py_XDECREF(sipParseErr);\n"
+                        );
+                }
+                else if (isNumberSlot(md) || isInplaceNumberSlot(md))
                 {
                     prcode(fp,
 "\n"
@@ -5855,6 +5862,7 @@
                     /* We can't extend enum slots. */
                     if (cd == NULL)
                         prcode(fp,
+"    PyErr_Clear();\n"
 "\n"
 "    Py_INCREF(Py_NotImplemented);\n"
 "    return Py_NotImplemented;\n"
@@ -11029,26 +11037,6 @@
                 );
 
         /*
-         * Handle any /Transfer/ arguments.  Note that this code isn't
-         * generated fi there is handrwritten code.  This is inconsistent with
-         * the handling of methods.
-         */
-        for (a = 0; a < ct->pysig.nrArgs; ++a)
-        {
-            argDef *ad = &ct->pysig.args[a];
-
-            if (!isInArg(ad))
-                continue;
-
-            if (isTransferred(ad))
-            {
-                prcode(fp,
-"\n"
-"            sipTransferTo(%aWrapper, (PyObject *)sipSelf);\n" , mod, ad, a);
-            }
-        }
-
-        /*
          * This is a bit of a hack to say we want the result transferred.  We
          * don't simply call sipTransferTo() because the wrapper object hasn't
          * been fully initialised yet.
@@ -12922,7 +12910,8 @@
         classDef *c_scope, mappedTypeDef *mt_scope, ctorDef *ct, overDef *od,
         FILE *fp)
 {
-    int a, optargs, arraylenarg, handle_self, single_arg, need_owner;
+    int a, optargs, arraylenarg, handle_self, single_arg, need_owner,
+            ctor_needs_self;
     ifaceFileDef *scope;
     argDef *arraylenarg_ad;
 
@@ -12957,6 +12946,7 @@
      * values returned via arguments.
      */
     need_owner = FALSE;
+    ctor_needs_self = FALSE;
 
     for (a = 0; a < sd->nrArgs; ++a)
     {
@@ -12972,6 +12962,9 @@
 
         if (isThisTransferred(ad))
             need_owner = TRUE;
+
+        if (ct != NULL && isTransferred(ad))
+            ctor_needs_self = TRUE;
     }
 
     if (od != NULL && need_owner)
@@ -13091,7 +13084,7 @@
         single_arg = (od != NULL && od->common->slot != no_slot && 
!isMultiArgSlot(od->common));
 
         prcode(fp,
-"        if (sipParseArgs(%ssipParseErr, sipArg%s, \"", (ct != NULL ? "" : 
"&"), (single_arg ? "" : "s"));
+"        if (sipParseArgs(&sipParseErr, sipArg%s, \"", (single_arg ? "" : 
"s"));
     }
 
     /* Generate the format string. */
@@ -13100,7 +13093,11 @@
     if (single_arg)
         prcode(fp, "1");
 
-    if (handle_self)
+    if (ctor_needs_self)
+    {
+        prcode(fp, "#");
+    }
+    else if (handle_self)
     {
         char self_ch;
 
@@ -13313,15 +13310,7 @@
             }
             else
             {
-                int saved_flags = ad->argflags;
-
-                /* /Transfer/ for ctor arguments is handled separately. */
-                if (ct != NULL)
-                    resetIsTransferred(ad);
-
                 fmt = getSubFormatChar('J', ad);
-
-                ad->argflags = saved_flags;
             }
 
             break;
@@ -13374,7 +13363,11 @@
 
     /* Generate the parameters corresponding to the format string. */
 
-    if (handle_self)
+    if (ctor_needs_self)
+    {
+        prcode(fp,", sipSelf");
+    }
+    else if (handle_self)
     {
         prcode(fp,", &sipSelf");
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/doc/html/_sources/pyproject_toml.rst.txt 
new/sip-6.7.9/doc/html/_sources/pyproject_toml.rst.txt
--- old/sip-6.7.7/doc/html/_sources/pyproject_toml.rst.txt      2023-02-04 
12:00:48.000000000 +0100
+++ new/sip-6.7.9/doc/html/_sources/pyproject_toml.rst.txt      2023-04-13 
17:07:57.000000000 +0200
@@ -254,13 +254,14 @@
     a corresponding command line option.
 
 **wheel-includes**
-    The values is a list of files and directories, specified as *glob* patterns
-    and relative to the project directory, that should be included in a wheel.
-    If an element of list is a string then it is a pattern and files and
-    directories are installed in the target directory.  If an element is a
-    2-tuple then the first part is the pattern and the # second part is the
-    name of a sub-directory relative to the target directory where the files
-    and directories are installed.
+    The value is a list of files and directories, specified as *glob* patterns,
+    that should be included in a wheel.  If a pattern is relative then it is
+    taken as being relative to the project directory.  If an element of the
+    list is a string then it is a pattern and files and directories are
+    installed in the target directory.  If an element is a 2-tuple then the
+    first part is the pattern and the second part is the name of a
+    sub-directory relative to the target directory where the files and
+    directories are installed.
 
 
 Bindings Sections
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/doc/html/_static/documentation_options.js 
new/sip-6.7.9/doc/html/_static/documentation_options.js
--- old/sip-6.7.7/doc/html/_static/documentation_options.js     2023-02-04 
12:01:24.000000000 +0100
+++ new/sip-6.7.9/doc/html/_static/documentation_options.js     2023-04-13 
17:08:34.000000000 +0200
@@ -1,6 +1,6 @@
 var DOCUMENTATION_OPTIONS = {
     URL_ROOT: 
document.getElementById("documentation_options").getAttribute('data-url_root'),
-    VERSION: '6.7.7',
+    VERSION: '6.7.9',
     LANGUAGE: 'en',
     COLLAPSE_INDEX: false,
     BUILDER: 'html',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/doc/html/abi_12.html 
new/sip-6.7.9/doc/html/abi_12.html
--- old/sip-6.7.7/doc/html/abi_12.html  2023-02-04 12:01:23.000000000 +0100
+++ new/sip-6.7.9/doc/html/abi_12.html  2023-04-13 17:08:32.000000000 +0200
@@ -5,7 +5,7 @@
   <head>
     <meta charset="utf-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <title>ABI v12 for Handwritten Code &#8212; SIP v6.7.7 
Documentation</title>
+    <title>ABI v12 for Handwritten Code &#8212; SIP v6.7.9 
Documentation</title>
     <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
     <link rel="stylesheet" type="text/css" href="_static/riverbank.css" />
     
@@ -36,7 +36,7 @@
         <li class="right" >
           <a href="abi_13.html" title="ABI v13 for Handwritten Code"
              accesskey="P">previous</a> |</li>
-        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.7 
Documentation</a> &#187;</li>
+        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.9 
Documentation</a> &#187;</li>
         <li class="nav-item nav-item-this"><a href="">ABI v12 for Handwritten 
Code</a></li> 
       </ul>
     </div>  
@@ -2564,7 +2564,7 @@
         <li class="right" >
           <a href="abi_13.html" title="ABI v13 for Handwritten Code"
              >previous</a> |</li>
-        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.7 
Documentation</a> &#187;</li>
+        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.9 
Documentation</a> &#187;</li>
         <li class="nav-item nav-item-this"><a href="">ABI v12 for Handwritten 
Code</a></li> 
       </ul>
     </div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/doc/html/abi_13.html 
new/sip-6.7.9/doc/html/abi_13.html
--- old/sip-6.7.7/doc/html/abi_13.html  2023-02-04 12:01:23.000000000 +0100
+++ new/sip-6.7.9/doc/html/abi_13.html  2023-04-13 17:08:33.000000000 +0200
@@ -5,7 +5,7 @@
   <head>
     <meta charset="utf-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <title>ABI v13 for Handwritten Code &#8212; SIP v6.7.7 
Documentation</title>
+    <title>ABI v13 for Handwritten Code &#8212; SIP v6.7.9 
Documentation</title>
     <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
     <link rel="stylesheet" type="text/css" href="_static/riverbank.css" />
     
@@ -36,7 +36,7 @@
         <li class="right" >
           <a href="c_api.html" title="C API for Handwritten Code"
              accesskey="P">previous</a> |</li>
-        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.7 
Documentation</a> &#187;</li>
+        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.9 
Documentation</a> &#187;</li>
         <li class="nav-item nav-item-this"><a href="">ABI v13 for Handwritten 
Code</a></li> 
       </ul>
     </div>  
@@ -2521,7 +2521,7 @@
         <li class="right" >
           <a href="c_api.html" title="C API for Handwritten Code"
              >previous</a> |</li>
-        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.7 
Documentation</a> &#187;</li>
+        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.9 
Documentation</a> &#187;</li>
         <li class="nav-item nav-item-this"><a href="">ABI v13 for Handwritten 
Code</a></li> 
       </ul>
     </div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/doc/html/annotations.html 
new/sip-6.7.9/doc/html/annotations.html
--- old/sip-6.7.7/doc/html/annotations.html     2023-02-04 12:01:23.000000000 
+0100
+++ new/sip-6.7.9/doc/html/annotations.html     2023-04-13 17:08:33.000000000 
+0200
@@ -5,7 +5,7 @@
   <head>
     <meta charset="utf-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <title>Annotations &#8212; SIP v6.7.7 Documentation</title>
+    <title>Annotations &#8212; SIP v6.7.9 Documentation</title>
     <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
     <link rel="stylesheet" type="text/css" href="_static/riverbank.css" />
     
@@ -36,7 +36,7 @@
         <li class="right" >
           <a href="directives.html" title="Directives"
              accesskey="P">previous</a> |</li>
-        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.7 
Documentation</a> &#187;</li>
+        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.9 
Documentation</a> &#187;</li>
         <li class="nav-item nav-item-this"><a href="">Annotations</a></li> 
       </ul>
     </div>  
@@ -1303,7 +1303,7 @@
         <li class="right" >
           <a href="directives.html" title="Directives"
              >previous</a> |</li>
-        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.7 
Documentation</a> &#187;</li>
+        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.9 
Documentation</a> &#187;</li>
         <li class="nav-item nav-item-this"><a href="">Annotations</a></li> 
       </ul>
     </div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/doc/html/c_api.html 
new/sip-6.7.9/doc/html/c_api.html
--- old/sip-6.7.7/doc/html/c_api.html   2023-02-04 12:01:23.000000000 +0100
+++ new/sip-6.7.9/doc/html/c_api.html   2023-04-13 17:08:33.000000000 +0200
@@ -5,7 +5,7 @@
   <head>
     <meta charset="utf-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <title>C API for Handwritten Code &#8212; SIP v6.7.7 Documentation</title>
+    <title>C API for Handwritten Code &#8212; SIP v6.7.9 Documentation</title>
     <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
     <link rel="stylesheet" type="text/css" href="_static/riverbank.css" />
     
@@ -36,7 +36,7 @@
         <li class="right" >
           <a href="other_topics.html" title="Other Topics"
              accesskey="P">previous</a> |</li>
-        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.7 
Documentation</a> &#187;</li>
+        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.9 
Documentation</a> &#187;</li>
         <li class="nav-item nav-item-this"><a href="">C API for Handwritten 
Code</a></li> 
       </ul>
     </div>  
@@ -205,7 +205,7 @@
         <li class="right" >
           <a href="other_topics.html" title="Other Topics"
              >previous</a> |</li>
-        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.7 
Documentation</a> &#187;</li>
+        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.9 
Documentation</a> &#187;</li>
         <li class="nav-item nav-item-this"><a href="">C API for Handwritten 
Code</a></li> 
       </ul>
     </div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/doc/html/command_line_tools.html 
new/sip-6.7.9/doc/html/command_line_tools.html
--- old/sip-6.7.7/doc/html/command_line_tools.html      2023-02-04 
12:01:23.000000000 +0100
+++ new/sip-6.7.9/doc/html/command_line_tools.html      2023-04-13 
17:08:33.000000000 +0200
@@ -5,7 +5,7 @@
   <head>
     <meta charset="utf-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <title>Command Line Tools &#8212; SIP v6.7.7 Documentation</title>
+    <title>Command Line Tools &#8212; SIP v6.7.9 Documentation</title>
     <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
     <link rel="stylesheet" type="text/css" href="_static/riverbank.css" />
     
@@ -36,7 +36,7 @@
         <li class="right" >
           <a href="examples.html" title="Examples"
              accesskey="P">previous</a> |</li>
-        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.7 
Documentation</a> &#187;</li>
+        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.9 
Documentation</a> &#187;</li>
         <li class="nav-item nav-item-this"><a href="">Command Line 
Tools</a></li> 
       </ul>
     </div>  
@@ -794,7 +794,7 @@
         <li class="right" >
           <a href="examples.html" title="Examples"
              >previous</a> |</li>
-        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.7 
Documentation</a> &#187;</li>
+        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.9 
Documentation</a> &#187;</li>
         <li class="nav-item nav-item-this"><a href="">Command Line 
Tools</a></li> 
       </ul>
     </div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/doc/html/directives.html 
new/sip-6.7.9/doc/html/directives.html
--- old/sip-6.7.7/doc/html/directives.html      2023-02-04 12:01:24.000000000 
+0100
+++ new/sip-6.7.9/doc/html/directives.html      2023-04-13 17:08:33.000000000 
+0200
@@ -5,7 +5,7 @@
   <head>
     <meta charset="utf-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <title>Directives &#8212; SIP v6.7.7 Documentation</title>
+    <title>Directives &#8212; SIP v6.7.9 Documentation</title>
     <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
     <link rel="stylesheet" type="text/css" href="_static/riverbank.css" />
     
@@ -36,7 +36,7 @@
         <li class="right" >
           <a href="specification_files.html" title="Specification Files"
              accesskey="P">previous</a> |</li>
-        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.7 
Documentation</a> &#187;</li>
+        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.9 
Documentation</a> &#187;</li>
         <li class="nav-item nav-item-this"><a href="">Directives</a></li> 
       </ul>
     </div>  
@@ -2181,7 +2181,7 @@
         <li class="right" >
           <a href="specification_files.html" title="Specification Files"
              >previous</a> |</li>
-        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.7 
Documentation</a> &#187;</li>
+        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.9 
Documentation</a> &#187;</li>
         <li class="nav-item nav-item-this"><a href="">Directives</a></li> 
       </ul>
     </div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/doc/html/examples.html 
new/sip-6.7.9/doc/html/examples.html
--- old/sip-6.7.7/doc/html/examples.html        2023-02-04 12:01:24.000000000 
+0100
+++ new/sip-6.7.9/doc/html/examples.html        2023-04-13 17:08:33.000000000 
+0200
@@ -5,7 +5,7 @@
   <head>
     <meta charset="utf-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <title>Examples &#8212; SIP v6.7.7 Documentation</title>
+    <title>Examples &#8212; SIP v6.7.9 Documentation</title>
     <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
     <link rel="stylesheet" type="text/css" href="_static/riverbank.css" />
     
@@ -36,7 +36,7 @@
         <li class="right" >
           <a href="introduction.html" title="Introduction"
              accesskey="P">previous</a> |</li>
-        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.7 
Documentation</a> &#187;</li>
+        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.9 
Documentation</a> &#187;</li>
         <li class="nav-item nav-item-this"><a href="">Examples</a></li> 
       </ul>
     </div>  
@@ -599,7 +599,7 @@
         <li class="right" >
           <a href="introduction.html" title="Introduction"
              >previous</a> |</li>
-        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.7 
Documentation</a> &#187;</li>
+        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.9 
Documentation</a> &#187;</li>
         <li class="nav-item nav-item-this"><a href="">Examples</a></li> 
       </ul>
     </div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/doc/html/genindex.html 
new/sip-6.7.9/doc/html/genindex.html
--- old/sip-6.7.7/doc/html/genindex.html        2023-02-04 12:01:24.000000000 
+0100
+++ new/sip-6.7.9/doc/html/genindex.html        2023-04-13 17:08:34.000000000 
+0200
@@ -5,7 +5,7 @@
   <head>
     <meta charset="utf-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <title>Index &#8212; SIP v6.7.7 Documentation</title>
+    <title>Index &#8212; SIP v6.7.9 Documentation</title>
     <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
     <link rel="stylesheet" type="text/css" href="_static/riverbank.css" />
     
@@ -28,7 +28,7 @@
         <li class="right" >
           <a href="py-modindex.html" title="Python Module Index"
              >modules</a> |</li>
-        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.7 
Documentation</a> &#187;</li>
+        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.9 
Documentation</a> &#187;</li>
         <li class="nav-item nav-item-this"><a href="">Index</a></li> 
       </ul>
     </div>  
@@ -1797,7 +1797,7 @@
         <li class="right" >
           <a href="py-modindex.html" title="Python Module Index"
              >modules</a> |</li>
-        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.7 
Documentation</a> &#187;</li>
+        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.9 
Documentation</a> &#187;</li>
         <li class="nav-item nav-item-this"><a href="">Index</a></li> 
       </ul>
     </div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/doc/html/index.html 
new/sip-6.7.9/doc/html/index.html
--- old/sip-6.7.7/doc/html/index.html   2023-02-04 12:01:24.000000000 +0100
+++ new/sip-6.7.9/doc/html/index.html   2023-04-13 17:08:33.000000000 +0200
@@ -5,7 +5,7 @@
   <head>
     <meta charset="utf-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <title>Reference Guide &#8212; SIP v6.7.7 Documentation</title>
+    <title>Reference Guide &#8212; SIP v6.7.9 Documentation</title>
     <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
     <link rel="stylesheet" type="text/css" href="_static/riverbank.css" />
     
@@ -32,7 +32,7 @@
         <li class="right" >
           <a href="introduction.html" title="Introduction"
              accesskey="N">next</a> |</li>
-        <li class="nav-item nav-item-0"><a href="#">SIP v6.7.7 
Documentation</a> &#187;</li>
+        <li class="nav-item nav-item-0"><a href="#">SIP v6.7.9 
Documentation</a> &#187;</li>
         <li class="nav-item nav-item-this"><a href="">Reference Guide</a></li> 
       </ul>
     </div>  
@@ -241,7 +241,7 @@
         <li class="right" >
           <a href="introduction.html" title="Introduction"
              >next</a> |</li>
-        <li class="nav-item nav-item-0"><a href="#">SIP v6.7.7 
Documentation</a> &#187;</li>
+        <li class="nav-item nav-item-0"><a href="#">SIP v6.7.9 
Documentation</a> &#187;</li>
         <li class="nav-item nav-item-this"><a href="">Reference Guide</a></li> 
       </ul>
     </div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/doc/html/introduction.html 
new/sip-6.7.9/doc/html/introduction.html
--- old/sip-6.7.7/doc/html/introduction.html    2023-02-04 12:01:24.000000000 
+0100
+++ new/sip-6.7.9/doc/html/introduction.html    2023-04-13 17:08:33.000000000 
+0200
@@ -5,7 +5,7 @@
   <head>
     <meta charset="utf-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <title>Introduction &#8212; SIP v6.7.7 Documentation</title>
+    <title>Introduction &#8212; SIP v6.7.9 Documentation</title>
     <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
     <link rel="stylesheet" type="text/css" href="_static/riverbank.css" />
     
@@ -36,7 +36,7 @@
         <li class="right" >
           <a href="index.html" title="Reference Guide"
              accesskey="P">previous</a> |</li>
-        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.7 
Documentation</a> &#187;</li>
+        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.9 
Documentation</a> &#187;</li>
         <li class="nav-item nav-item-this"><a href="">Introduction</a></li> 
       </ul>
     </div>  
@@ -285,7 +285,7 @@
         <li class="right" >
           <a href="index.html" title="Reference Guide"
              >previous</a> |</li>
-        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.7 
Documentation</a> &#187;</li>
+        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.9 
Documentation</a> &#187;</li>
         <li class="nav-item nav-item-this"><a href="">Introduction</a></li> 
       </ul>
     </div>
Binary files old/sip-6.7.7/doc/html/objects.inv and 
new/sip-6.7.9/doc/html/objects.inv differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/doc/html/other_topics.html 
new/sip-6.7.9/doc/html/other_topics.html
--- old/sip-6.7.7/doc/html/other_topics.html    2023-02-04 12:01:24.000000000 
+0100
+++ new/sip-6.7.9/doc/html/other_topics.html    2023-04-13 17:08:34.000000000 
+0200
@@ -5,7 +5,7 @@
   <head>
     <meta charset="utf-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <title>Other Topics &#8212; SIP v6.7.7 Documentation</title>
+    <title>Other Topics &#8212; SIP v6.7.9 Documentation</title>
     <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
     <link rel="stylesheet" type="text/css" href="_static/riverbank.css" />
     
@@ -36,7 +36,7 @@
         <li class="right" >
           <a href="annotations.html" title="Annotations"
              accesskey="P">previous</a> |</li>
-        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.7 
Documentation</a> &#187;</li>
+        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.9 
Documentation</a> &#187;</li>
         <li class="nav-item nav-item-this"><a href="">Other Topics</a></li> 
       </ul>
     </div>  
@@ -357,7 +357,7 @@
         <li class="right" >
           <a href="annotations.html" title="Annotations"
              >previous</a> |</li>
-        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.7 
Documentation</a> &#187;</li>
+        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.9 
Documentation</a> &#187;</li>
         <li class="nav-item nav-item-this"><a href="">Other Topics</a></li> 
       </ul>
     </div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/doc/html/py-modindex.html 
new/sip-6.7.9/doc/html/py-modindex.html
--- old/sip-6.7.7/doc/html/py-modindex.html     2023-02-04 12:01:24.000000000 
+0100
+++ new/sip-6.7.9/doc/html/py-modindex.html     2023-04-13 17:08:34.000000000 
+0200
@@ -5,7 +5,7 @@
   <head>
     <meta charset="utf-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <title>Python Module Index &#8212; SIP v6.7.7 Documentation</title>
+    <title>Python Module Index &#8212; SIP v6.7.9 Documentation</title>
     <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
     <link rel="stylesheet" type="text/css" href="_static/riverbank.css" />
     
@@ -35,7 +35,7 @@
         <li class="right" >
           <a href="#" title="Python Module Index"
              >modules</a> |</li>
-        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.7 
Documentation</a> &#187;</li>
+        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.9 
Documentation</a> &#187;</li>
         <li class="nav-item nav-item-this"><a href="">Python Module 
Index</a></li> 
       </ul>
     </div>  
@@ -93,7 +93,7 @@
         <li class="right" >
           <a href="#" title="Python Module Index"
              >modules</a> |</li>
-        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.7 
Documentation</a> &#187;</li>
+        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.9 
Documentation</a> &#187;</li>
         <li class="nav-item nav-item-this"><a href="">Python Module 
Index</a></li> 
       </ul>
     </div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/doc/html/pyproject_toml.html 
new/sip-6.7.9/doc/html/pyproject_toml.html
--- old/sip-6.7.7/doc/html/pyproject_toml.html  2023-02-04 12:01:24.000000000 
+0100
+++ new/sip-6.7.9/doc/html/pyproject_toml.html  2023-04-13 17:08:34.000000000 
+0200
@@ -5,7 +5,7 @@
   <head>
     <meta charset="utf-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <title>pyproject.toml Reference &#8212; SIP v6.7.7 Documentation</title>
+    <title>pyproject.toml Reference &#8212; SIP v6.7.9 Documentation</title>
     <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
     <link rel="stylesheet" type="text/css" href="_static/riverbank.css" />
     
@@ -36,7 +36,7 @@
         <li class="right" >
           <a href="abi_12.html" title="ABI v12 for Handwritten Code"
              accesskey="P">previous</a> |</li>
-        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.7 
Documentation</a> &#187;</li>
+        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.9 
Documentation</a> &#187;</li>
         <li class="nav-item nav-item-this"><a href=""><code class="file 
docutils literal notranslate"><span class="pre">pyproject.toml</span></code> 
Reference</a></li> 
       </ul>
     </div>  
@@ -251,13 +251,14 @@
 the SIP version number.  By default a reference is included.  There is also
 a corresponding command line option.</p>
 </dd>
-<dt><strong>wheel-includes</strong></dt><dd><p>The values is a list of files 
and directories, specified as <em>glob</em> patterns
-and relative to the project directory, that should be included in a wheel.
-If an element of list is a string then it is a pattern and files and
-directories are installed in the target directory.  If an element is a
-2-tuple then the first part is the pattern and the # second part is the
-name of a sub-directory relative to the target directory where the files
-and directories are installed.</p>
+<dt><strong>wheel-includes</strong></dt><dd><p>The value is a list of files 
and directories, specified as <em>glob</em> patterns,
+that should be included in a wheel.  If a pattern is relative then it is
+taken as being relative to the project directory.  If an element of the
+list is a string then it is a pattern and files and directories are
+installed in the target directory.  If an element is a 2-tuple then the
+first part is the pattern and the second part is the name of a
+sub-directory relative to the target directory where the files and
+directories are installed.</p>
 </dd>
 </dl>
 </div>
@@ -434,7 +435,7 @@
         <li class="right" >
           <a href="abi_12.html" title="ABI v12 for Handwritten Code"
              >previous</a> |</li>
-        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.7 
Documentation</a> &#187;</li>
+        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.9 
Documentation</a> &#187;</li>
         <li class="nav-item nav-item-this"><a href=""><code class="file 
docutils literal notranslate"><span class="pre">pyproject.toml</span></code> 
Reference</a></li> 
       </ul>
     </div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/doc/html/search.html 
new/sip-6.7.9/doc/html/search.html
--- old/sip-6.7.7/doc/html/search.html  2023-02-04 12:01:24.000000000 +0100
+++ new/sip-6.7.9/doc/html/search.html  2023-04-13 17:08:34.000000000 +0200
@@ -5,7 +5,7 @@
   <head>
     <meta charset="utf-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <title>Search &#8212; SIP v6.7.7 Documentation</title>
+    <title>Search &#8212; SIP v6.7.9 Documentation</title>
     <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
     <link rel="stylesheet" type="text/css" href="_static/riverbank.css" />
     
@@ -34,7 +34,7 @@
         <li class="right" >
           <a href="py-modindex.html" title="Python Module Index"
              >modules</a> |</li>
-        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.7 
Documentation</a> &#187;</li>
+        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.9 
Documentation</a> &#187;</li>
         <li class="nav-item nav-item-this"><a href="">Search</a></li> 
       </ul>
     </div>  
@@ -94,7 +94,7 @@
         <li class="right" >
           <a href="py-modindex.html" title="Python Module Index"
              >modules</a> |</li>
-        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.7 
Documentation</a> &#187;</li>
+        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.9 
Documentation</a> &#187;</li>
         <li class="nav-item nav-item-this"><a href="">Search</a></li> 
       </ul>
     </div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/doc/html/sipbuild_api.html 
new/sip-6.7.9/doc/html/sipbuild_api.html
--- old/sip-6.7.7/doc/html/sipbuild_api.html    2023-02-04 12:01:24.000000000 
+0100
+++ new/sip-6.7.9/doc/html/sipbuild_api.html    2023-04-13 17:08:34.000000000 
+0200
@@ -5,7 +5,7 @@
   <head>
     <meta charset="utf-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <title>sipbuild Module Reference &#8212; SIP v6.7.7 Documentation</title>
+    <title>sipbuild Module Reference &#8212; SIP v6.7.9 Documentation</title>
     <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
     <link rel="stylesheet" type="text/css" href="_static/riverbank.css" />
     
@@ -32,7 +32,7 @@
         <li class="right" >
           <a href="pyproject_toml.html" title="pyproject.toml Reference"
              accesskey="P">previous</a> |</li>
-        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.7 
Documentation</a> &#187;</li>
+        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.9 
Documentation</a> &#187;</li>
         <li class="nav-item nav-item-this"><a href=""><code class="xref py 
py-mod docutils literal notranslate"><span class="pre">sipbuild</span></code> 
Module Reference</a></li> 
       </ul>
     </div>  
@@ -1472,7 +1472,7 @@
         <li class="right" >
           <a href="pyproject_toml.html" title="pyproject.toml Reference"
              >previous</a> |</li>
-        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.7 
Documentation</a> &#187;</li>
+        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.9 
Documentation</a> &#187;</li>
         <li class="nav-item nav-item-this"><a href=""><code class="xref py 
py-mod docutils literal notranslate"><span class="pre">sipbuild</span></code> 
Module Reference</a></li> 
       </ul>
     </div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/doc/html/specification_files.html 
new/sip-6.7.9/doc/html/specification_files.html
--- old/sip-6.7.7/doc/html/specification_files.html     2023-02-04 
12:01:24.000000000 +0100
+++ new/sip-6.7.9/doc/html/specification_files.html     2023-04-13 
17:08:34.000000000 +0200
@@ -5,7 +5,7 @@
   <head>
     <meta charset="utf-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <title>Specification Files &#8212; SIP v6.7.7 Documentation</title>
+    <title>Specification Files &#8212; SIP v6.7.9 Documentation</title>
     <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
     <link rel="stylesheet" type="text/css" href="_static/riverbank.css" />
     
@@ -36,7 +36,7 @@
         <li class="right" >
           <a href="command_line_tools.html" title="Command Line Tools"
              accesskey="P">previous</a> |</li>
-        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.7 
Documentation</a> &#187;</li>
+        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.9 
Documentation</a> &#187;</li>
         <li class="nav-item nav-item-this"><a href="">Specification 
Files</a></li> 
       </ul>
     </div>  
@@ -619,7 +619,7 @@
         <li class="right" >
           <a href="command_line_tools.html" title="Command Line Tools"
              >previous</a> |</li>
-        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.7 
Documentation</a> &#187;</li>
+        <li class="nav-item nav-item-0"><a href="index.html">SIP v6.7.9 
Documentation</a> &#187;</li>
         <li class="nav-item nav-item-this"><a href="">Specification 
Files</a></li> 
       </ul>
     </div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/doc/pyproject_toml.rst 
new/sip-6.7.9/doc/pyproject_toml.rst
--- old/sip-6.7.7/doc/pyproject_toml.rst        2023-02-04 12:00:48.000000000 
+0100
+++ new/sip-6.7.9/doc/pyproject_toml.rst        2023-04-13 17:07:57.000000000 
+0200
@@ -254,13 +254,14 @@
     a corresponding command line option.
 
 **wheel-includes**
-    The values is a list of files and directories, specified as *glob* patterns
-    and relative to the project directory, that should be included in a wheel.
-    If an element of list is a string then it is a pattern and files and
-    directories are installed in the target directory.  If an element is a
-    2-tuple then the first part is the pattern and the # second part is the
-    name of a sub-directory relative to the target directory where the files
-    and directories are installed.
+    The value is a list of files and directories, specified as *glob* patterns,
+    that should be included in a wheel.  If a pattern is relative then it is
+    taken as being relative to the project directory.  If an element of the
+    list is a string then it is a pattern and files and directories are
+    installed in the target directory.  If an element is a 2-tuple then the
+    first part is the pattern and the second part is the name of a
+    sub-directory relative to the target directory where the files and
+    directories are installed.
 
 
 Bindings Sections
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/setup.py new/sip-6.7.9/setup.py
--- old/sip-6.7.7/setup.py      2023-02-04 12:00:48.000000000 +0100
+++ new/sip-6.7.9/setup.py      2023-04-13 17:07:57.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright (c) 2022, Riverbank Computing Limited
+# Copyright (c) 2023, Riverbank Computing Limited
 # All rights reserved.
 #
 # This copy of SIP is licensed for use under the terms of the SIP License
@@ -51,7 +51,8 @@
         version=version,
         license='SIP',
         python_requires='>=3.7',
-        install_requires=['packaging', 'ply', 'setuptools', 'toml'],
+        install_requires=['packaging', 'ply', 'setuptools',
+                'tomli;python_version<"3.11"'],
         packages=find_packages(),
         package_data={
             'sipbuild.module': ['source/*/*'],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/sip.egg-info/PKG-INFO 
new/sip-6.7.9/sip.egg-info/PKG-INFO
--- old/sip-6.7.7/sip.egg-info/PKG-INFO 2023-02-04 12:01:27.000000000 +0100
+++ new/sip-6.7.9/sip.egg-info/PKG-INFO 2023-04-13 17:08:36.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: sip
-Version: 6.7.7
+Version: 6.7.9
 Summary: A Python bindings generator for C/C++ libraries
 Home-page: https://www.riverbankcomputing.com/software/sip/
 Author: Riverbank Computing Limited
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/sip.egg-info/SOURCES.txt 
new/sip-6.7.9/sip.egg-info/SOURCES.txt
--- old/sip-6.7.7/sip.egg-info/SOURCES.txt      2023-02-04 12:01:27.000000000 
+0100
+++ new/sip-6.7.9/sip.egg-info/SOURCES.txt      2023-04-13 17:08:36.000000000 
+0200
@@ -125,6 +125,7 @@
 sipbuild/py_versions.py
 sipbuild/pyproject.py
 sipbuild/setuptools_builder.py
+sipbuild/toml.py
 sipbuild/version.py
 sipbuild/distinfo/__init__.py
 sipbuild/distinfo/distinfo.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/sip.egg-info/requires.txt 
new/sip-6.7.9/sip.egg-info/requires.txt
--- old/sip-6.7.7/sip.egg-info/requires.txt     2023-02-04 12:01:27.000000000 
+0100
+++ new/sip-6.7.9/sip.egg-info/requires.txt     2023-04-13 17:08:36.000000000 
+0200
@@ -1,4 +1,6 @@
 packaging
 ply
 setuptools
-toml
+
+[:python_version < "3.11"]
+tomli
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/sipbuild/bindings.py 
new/sip-6.7.9/sipbuild/bindings.py
--- old/sip-6.7.7/sipbuild/bindings.py  2023-02-04 12:00:48.000000000 +0100
+++ new/sip-6.7.9/sipbuild/bindings.py  2023-04-13 17:07:57.000000000 +0200
@@ -166,7 +166,7 @@
         spec, modules, sip_files = parse(self.sip_file, SIP_VERSION, encoding,
                 project.abi_version, self.tags, self.disabled_features,
                 self.protected_is_public, self._sip_include_dirs,
-                project.sip_module or 'sip')
+                project.sip_module)
 
         # Resolve the types.
         resolve(spec, modules)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/sipbuild/bindings_configuration.py 
new/sip-6.7.9/sipbuild/bindings_configuration.py
--- old/sip-6.7.7/sipbuild/bindings_configuration.py    2023-02-04 
12:00:48.000000000 +0100
+++ new/sip-6.7.9/sipbuild/bindings_configuration.py    2023-04-13 
17:07:57.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright (c) 2019, Riverbank Computing Limited
+# Copyright (c) 2023, Riverbank Computing Limited
 # All rights reserved.
 #
 # This copy of SIP is licensed for use under the terms of the SIP License
@@ -22,10 +22,10 @@
 
 
 import os
-import toml
 
 from .exceptions import UserFileException, UserParseException
 from .module import resolve_abi_version
+from .toml import toml_load
 
 
 def get_bindings_configuration(abi_major, sip_file, sip_include_dirs):
@@ -47,7 +47,7 @@
 
     # Read the configuration.
     try:
-        cfg = toml.load(toml_file)
+        cfg = toml_load(toml_file)
     except Exception as e:
         raise UserParseException(toml_file, detail=str(e))
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/sipbuild/builder.py 
new/sip-6.7.9/sipbuild/builder.py
--- old/sip-6.7.7/sipbuild/builder.py   2023-02-04 12:00:48.000000000 +0100
+++ new/sip-6.7.9/sipbuild/builder.py   2023-04-13 17:07:57.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright (c) 2022, Riverbank Computing Limited
+# Copyright (c) 2023, Riverbank Computing Limited
 # All rights reserved.
 #
 # This copy of SIP is licensed for use under the terms of the SIP License
@@ -175,7 +175,10 @@
 
         # Add any wheel contents defined by the project.
         for nr, (patt, target_subdir) in enumerate(project.wheel_includes):
-            wheel_includes = glob.glob(os.path.join(project.root_dir, patt))
+            if not os.path.isabs(patt):
+                patt = os.path.join(project.root_dir, patt)
+
+            wheel_includes = glob.glob(patt)
             if wheel_includes:
                 installable = Installable(
                         'wheel_includes_{}'.format(nr) if nr else 
'wheel_includes',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/sipbuild/distinfo/distinfo.py 
new/sip-6.7.9/sipbuild/distinfo/distinfo.py
--- old/sip-6.7.7/sipbuild/distinfo/distinfo.py 2023-02-04 12:00:48.000000000 
+0100
+++ new/sip-6.7.9/sipbuild/distinfo/distinfo.py 2023-04-13 17:07:57.000000000 
+0200
@@ -1,4 +1,4 @@
-# Copyright (c) 2022, Riverbank Computing Limited
+# Copyright (c) 2023, Riverbank Computing Limited
 # All rights reserved.
 #
 # This copy of SIP is licensed for use under the terms of the SIP License
@@ -214,15 +214,15 @@
     with open(prefix_dir + metadata_fn, 'w') as metadata_f:
         description = None
 
+        # Do these first for cosmetic reasons.
+        for name in ('metadata-version', 'name', 'version', 'requires-python'):
+            _write_metadata_item(name, metadata.pop(name), metadata_f)
+
         for name, value in metadata.items():
             if name == 'description-file':
                 description = value
             else:
-                if isinstance(value, str):
-                    value = [value]
-
-                for v in value:
-                    metadata_f.write('{}: {}\n'.format(name.title(), v))
+                _write_metadata_item(name, value, metadata_f)
 
         if description is not None:
             metadata_f.write('\n')
@@ -232,3 +232,13 @@
 
             with open(os.path.join(project_root, description)) as 
description_f:
                 metadata_f.write(description_f.read())
+
+
+def _write_metadata_item(name, value, metadata_f):
+    """ Write a single metadata item. """
+
+    if isinstance(value, str):
+        value = [value]
+
+    for v in value:
+        metadata_f.write('{}: {}\n'.format(name.title(), v))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sip-6.7.7/sipbuild/generator/outputs/formatters/argument.py 
new/sip-6.7.9/sipbuild/generator/outputs/formatters/argument.py
--- old/sip-6.7.7/sipbuild/generator/outputs/formatters/argument.py     
2023-02-04 12:00:48.000000000 +0100
+++ new/sip-6.7.9/sipbuild/generator/outputs/formatters/argument.py     
2023-04-13 17:07:57.000000000 +0200
@@ -349,7 +349,8 @@
 
         type = self.object.type
         definition = self.object.definition
-        sip_module = self.spec.sip_module
+
+        sip_module_name = self.spec.sip_module + '.' if self.spec.sip_module 
else ''
 
         scope = None
         name = "unknown-type"
@@ -416,10 +417,10 @@
 
         elif type is ArgumentType.PYBUFFER:
             if pep484:
-                name = sip_module + '.Buffer'
+                name = sip_module_name + 'Buffer'
             else:
                 # This replicates sip.pyi.
-                name = f'Union[bytes, bytearray, memoryview, 
{sip_module}.array, {sip_module}.voidptr]'
+                name = f'Union[bytes, bytearray, memoryview, 
{sip_module_name}array, {sip_module_name}voidptr]'
 
         elif type is ArgumentType.PYENUM:
             name = 'enum.Enum'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/sipbuild/generator/outputs/pyi.py 
new/sip-6.7.9/sipbuild/generator/outputs/pyi.py
--- old/sip-6.7.7/sipbuild/generator/outputs/pyi.py     2023-02-04 
12:00:48.000000000 +0100
+++ new/sip-6.7.9/sipbuild/generator/outputs/pyi.py     2023-04-13 
17:07:57.000000000 +0200
@@ -71,7 +71,8 @@
     if spec.abi_version >= (13, 0):
         pf.write('import enum\n')
 
-    pf.write(
+    if spec.sip_module:
+        pf.write(
 f'''import typing
 
 import {spec.sip_module}
@@ -185,7 +186,7 @@
         elif klass.supertype is not None:
             # In ABI v12 the default supertype does not contain the fully
             # qualified name of the sip module so we fix it here.
-            if spec.abi_version[0] == 12 and 
klass.supertype.name.startswith('sip.'):
+            if spec.abi_version[0] == 12 and spec.sip_module and 
klass.supertype.name.startswith('sip.'):
                 s += spec.sip_module + klass.supertype.name[4:]
             else:
                 s += klass.supertype.name
@@ -193,7 +194,7 @@
         else:
             simple = 'simple' if klass.iface_file.type is 
IfaceFileType.NAMESPACE else ''
 
-            s += f'{spec.sip_module}.{simple}wrapper'
+            s += f'{_sip_module_name(spec)}{simple}wrapper'
 
         # See if there is anything in the class body.
         for ctor in klass.ctors:
@@ -312,7 +313,7 @@
         _separate(pf, True, indent)
 
         s = _indent(indent)
-        s += f'class {mapped_type.py_name.name}({spec.sip_module}.wrapper):\n'
+        s += f'class 
{mapped_type.py_name.name}({_sip_module_name(spec)}wrapper):\n'
         pf.write(s)
 
         indent += 1
@@ -643,7 +644,7 @@
             use_optional = True
 
     if arg.array is ArrayArgument.ARRAY:
-        s += spec.sip_module + '.array['
+        s += _sip_module_name(spec) + 'array['
 
     s += _type(spec, module, arg, defined, out=(arg_nr < 0))
 
@@ -703,3 +704,11 @@
         word += '_'
 
     return word
+
+
+def _sip_module_name(spec):
+    """ Return the name of the sip module to be used as a prefix to an object
+    in the module.
+    """
+
+    return spec.sip_module + '.' if spec.sip_module else ''
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/sipbuild/generator/outputs/type_hints.py 
new/sip-6.7.9/sipbuild/generator/outputs/type_hints.py
--- old/sip-6.7.7/sipbuild/generator/outputs/type_hints.py      2023-02-04 
12:00:48.000000000 +0100
+++ new/sip-6.7.9/sipbuild/generator/outputs/type_hints.py      2023-04-13 
17:07:57.000000000 +0200
@@ -509,10 +509,12 @@
     hint, XML or a docstring.
     """
 
+    sip_module_name = spec.sip_module + '.' if spec.sip_module else ''
+
     if pep484:
-        return spec.sip_module + '.voidptr'
+        return sip_module_name + 'voidptr'
 
     if as_xml:
-        return f':py:class:`~{spec.sip_module}.voidptr`'
+        return f':py:class:`~{sip_module_name}voidptr`'
 
     return 'voidptr'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sip-6.7.7/sipbuild/generator/parser/parser_manager.py 
new/sip-6.7.9/sipbuild/generator/parser/parser_manager.py
--- old/sip-6.7.7/sipbuild/generator/parser/parser_manager.py   2023-02-04 
12:00:48.000000000 +0100
+++ new/sip-6.7.9/sipbuild/generator/parser/parser_manager.py   2023-04-13 
17:07:57.000000000 +0200
@@ -532,11 +532,6 @@
 
         ctor.transfer = self.get_transfer(p, symbol, annotations)
 
-        # /Transfer/ arguments need the wrapper.
-        for ad in py_signature.args:
-            if ad.transfer is Transfer.TRANSFER:
-                ad.get_wrapper = True
-
         scope.ctors.append(ctor)
 
     def add_dtor(self, p, symbol, name, annotations, *, exceptions,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/sipbuild/generator/resolver/resolver.py 
new/sip-6.7.9/sipbuild/generator/resolver/resolver.py
--- old/sip-6.7.7/sipbuild/generator/resolver/resolver.py       2023-02-04 
12:00:48.000000000 +0100
+++ new/sip-6.7.9/sipbuild/generator/resolver/resolver.py       2023-04-13 
17:07:57.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright (c) 2022, Riverbank Computing Limited
+# Copyright (c) 2023, Riverbank Computing Limited
 # All rights reserved.
 #
 # This copy of SIP is licensed for use under the terms of the SIP License
@@ -91,6 +91,10 @@
     spec.classes = []
 
     for klass in reversed_classes:
+        # Ignore undefined classes.
+        if klass.iface_file.module is None:
+            continue
+
         _set_mro(spec, klass, error_log)
 
     # Resolve the various types in the modules.
@@ -151,6 +155,10 @@
 
     # Additional class specific checks.
     for klass in spec.classes:
+        # Ignore undefined classes.
+        if klass.iface_file.module is None:
+            continue
+
         _check_helpers(spec, klass)
         _check_properties(klass, error_log)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/sipbuild/generator/specification.py 
new/sip-6.7.9/sipbuild/generator/specification.py
--- old/sip-6.7.7/sipbuild/generator/specification.py   2023-02-04 
12:00:48.000000000 +0100
+++ new/sip-6.7.9/sipbuild/generator/specification.py   2023-04-13 
17:07:57.000000000 +0200
@@ -1283,8 +1283,9 @@
     # Set if the specification is strict.
     is_strict: bool
 
-    # The name of the sip module.
-    sip_module: str
+    # The fully qualified name of the sip module.  If it is None then there is
+    # no shared sip module.
+    sip_module: Optional[str]
 
     # Set if the bindings are for C rather than C++.
     c_bindings: bool = False
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/sipbuild/module/source/12/descriptors.c 
new/sip-6.7.9/sipbuild/module/source/12/descriptors.c
--- old/sip-6.7.7/sipbuild/module/source/12/descriptors.c       2023-02-04 
12:00:48.000000000 +0100
+++ new/sip-6.7.9/sipbuild/module/source/12/descriptors.c       2023-04-13 
17:07:57.000000000 +0200
@@ -1,7 +1,7 @@
 /*
  * The implementation of the different descriptors.
  *
- * Copyright (c) 2022 Riverbank Computing Limited <i...@riverbankcomputing.com>
+ * Copyright (c) 2023 Riverbank Computing Limited <i...@riverbankcomputing.com>
  *
  * This file is part of SIP.
  *
@@ -213,6 +213,7 @@
  */
 static void sipMethodDescr_dealloc(PyObject *self)
 {
+    PyObject_GC_UnTrack(self);
     sipMethodDescr_clear(self);
     Py_TYPE(self)->tp_free(self);
 }
@@ -474,6 +475,7 @@
  */
 static void sipVariableDescr_dealloc(PyObject *self)
 {
+    PyObject_GC_UnTrack(self);
     sipVariableDescr_clear(self);
     Py_TYPE(self)->tp_free(self);
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/sipbuild/module/source/12/sip.h.in 
new/sip-6.7.9/sipbuild/module/source/12/sip.h.in
--- old/sip-6.7.7/sipbuild/module/source/12/sip.h.in    2023-02-04 
12:00:48.000000000 +0100
+++ new/sip-6.7.9/sipbuild/module/source/12/sip.h.in    2023-04-13 
17:07:57.000000000 +0200
@@ -1,7 +1,7 @@
 /*
  * The SIP module interface.
  *
- * Copyright (c) 2022 Riverbank Computing Limited <i...@riverbankcomputing.com>
+ * Copyright (c) 2023 Riverbank Computing Limited <i...@riverbankcomputing.com>
  *
  * This file is part of SIP.
  *
@@ -45,17 +45,20 @@
 
 /* The version of the ABI. */
 #define SIP_ABI_MAJOR_VERSION       12
-#define SIP_ABI_MINOR_VERSION       11
+#define SIP_ABI_MINOR_VERSION       12
 #define SIP_MODULE_PATCH_VERSION    1
 
 
 /*
  * The change history of the ABI.
  *
+ * v12.12
+ *  - Added the '#' conversion character to the argument parsers.
+ *
  * v12.11
  *  - Published the 'array' type.
  *  - Added the ctd_sizeof, ctd_array_delete members to sipClassTypeDef.
- *  - Added the '>' conversion character to sipParseArgs().
+ *  - Added the '>' conversion character to the argument parsers.
  *
  * v12.10
  *  - Python v3.7 or later is required.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/sipbuild/module/source/12/sip_array.c 
new/sip-6.7.9/sipbuild/module/source/12/sip_array.c
--- old/sip-6.7.7/sipbuild/module/source/12/sip_array.c 2023-02-04 
12:00:48.000000000 +0100
+++ new/sip-6.7.9/sipbuild/module/source/12/sip_array.c 2023-04-13 
17:07:57.000000000 +0200
@@ -176,9 +176,9 @@
             return NULL;
         }
 
-        return create_array(element(array->data, start), array->td,
-                array->format, array->stride, slicelength,
-                (array->flags & ~SIP_OWNS_MEMORY), array->owner);
+        return create_array(element(array, start), array->td, array->format,
+                array->stride, slicelength, (array->flags & ~SIP_OWNS_MEMORY),
+                array->owner);
     }
 
     bad_key(key);
@@ -297,7 +297,7 @@
     Py_INCREF(self);
 
     view->buf = array->data;
-    view->len = array->len;
+    view->len = array->len * array->stride;
     view->readonly = (array->flags & SIP_READ_ONLY);
     view->itemsize = array->stride;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/sipbuild/module/source/12/siplib.c 
new/sip-6.7.9/sipbuild/module/source/12/siplib.c
--- old/sip-6.7.7/sipbuild/module/source/12/siplib.c    2023-02-04 
12:00:48.000000000 +0100
+++ new/sip-6.7.9/sipbuild/module/source/12/siplib.c    2023-04-13 
17:07:57.000000000 +0200
@@ -1,7 +1,7 @@
 /*
  * SIP library code.
  *
- * Copyright (c) 2022 Riverbank Computing Limited <i...@riverbankcomputing.com>
+ * Copyright (c) 2023 Riverbank Computing Limited <i...@riverbankcomputing.com>
  *
  * This file is part of SIP.
  *
@@ -3895,6 +3895,11 @@
 
     switch (*fmt++)
     {
+    case '#':
+            /* A ctor has an argument with the /Transfer/ annotation. */
+            *selfp = va_arg(va, PyObject *);
+            break;
+
     case 'B':
     case 'p':
         {
@@ -5391,6 +5396,10 @@
     /* Handle the converions of "self" first. */
     switch (*fmt++)
     {
+    case '#':
+        va_arg(va, PyObject *);
+        break;
+
     case 'B':
         {
             /*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/sipbuild/module/source/13/sip.h.in 
new/sip-6.7.9/sipbuild/module/source/13/sip.h.in
--- old/sip-6.7.7/sipbuild/module/source/13/sip.h.in    2023-02-04 
12:00:48.000000000 +0100
+++ new/sip-6.7.9/sipbuild/module/source/13/sip.h.in    2023-04-13 
17:07:57.000000000 +0200
@@ -1,7 +1,7 @@
 /*
  * The SIP module interface.
  *
- * Copyright (c) 2022 Riverbank Computing Limited <i...@riverbankcomputing.com>
+ * Copyright (c) 2023 Riverbank Computing Limited <i...@riverbankcomputing.com>
  *
  * This file is part of SIP.
  *
@@ -45,18 +45,21 @@
 
 /* The version of the ABI. */
 #define SIP_ABI_MAJOR_VERSION       13
-#define SIP_ABI_MINOR_VERSION       4
+#define SIP_ABI_MINOR_VERSION       5
 #define SIP_MODULE_PATCH_VERSION    1
 
 
 /*
  * The change history of the ABI.
  *
+ * v13.5
+ *  - Added the '#' conversion character to the argument parsers.
+ *
  * v13.4
  *  - The enum implementation now supports missing members.
  *  - Published the 'array' type.
  *  - Added the ctd_sizeof, ctd_array_delete members to sipClassTypeDef.
- *  - Added the '>' conversion character to sipParseArgs().
+ *  - Added the '>' conversion character to the argument parsers.
  *
  * v13.3
  *  - Python v3.7 or later is required.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/sipbuild/module/source/13/sip_array.c 
new/sip-6.7.9/sipbuild/module/source/13/sip_array.c
--- old/sip-6.7.7/sipbuild/module/source/13/sip_array.c 2023-02-04 
12:00:48.000000000 +0100
+++ new/sip-6.7.9/sipbuild/module/source/13/sip_array.c 2023-04-13 
17:07:57.000000000 +0200
@@ -1,7 +1,7 @@
 /*
  * This file implements the API for the array type.
  *
- * Copyright (c) 2022 Riverbank Computing Limited <i...@riverbankcomputing.com>
+ * Copyright (c) 2023 Riverbank Computing Limited <i...@riverbankcomputing.com>
  *
  * This file is part of SIP.
  *
@@ -176,9 +176,9 @@
             return NULL;
         }
 
-        return create_array(element(array->data, start), array->td,
-                array->format, array->stride, slicelength,
-                (array->flags & ~SIP_OWNS_MEMORY), array->owner);
+        return create_array(element(array, start), array->td, array->format,
+                array->stride, slicelength, (array->flags & ~SIP_OWNS_MEMORY),
+                array->owner);
     }
 
     bad_key(key);
@@ -298,7 +298,7 @@
     Py_INCREF(self);
 
     view->buf = array->data;
-    view->len = array->len;
+    view->len = array->len * array->stride;
     view->readonly = (array->flags & SIP_READ_ONLY);
     view->itemsize = array->stride;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/sipbuild/module/source/13/sip_core.c 
new/sip-6.7.9/sipbuild/module/source/13/sip_core.c
--- old/sip-6.7.7/sipbuild/module/source/13/sip_core.c  2023-02-04 
12:00:48.000000000 +0100
+++ new/sip-6.7.9/sipbuild/module/source/13/sip_core.c  2023-04-13 
17:07:57.000000000 +0200
@@ -1,7 +1,7 @@
 /*
  * The core sip module code.
  *
- * Copyright (c) 2022 Riverbank Computing Limited <i...@riverbankcomputing.com>
+ * Copyright (c) 2023 Riverbank Computing Limited <i...@riverbankcomputing.com>
  *
  * This file is part of SIP.
  *
@@ -3543,6 +3543,11 @@
 
     switch (*fmt++)
     {
+    case '#':
+            /* A ctor has an argument with the /Transfer/ annotation. */
+            *selfp = va_arg(va, PyObject *);
+            break;
+
     case 'B':
     case 'p':
         {
@@ -4759,6 +4764,10 @@
     /* Handle the conversions of "self" first. */
     switch (*fmt++)
     {
+    case '#':
+        va_arg(va, PyObject *);
+        break;
+
     case 'B':
         {
             /*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sip-6.7.7/sipbuild/module/source/13/sip_descriptors.c 
new/sip-6.7.9/sipbuild/module/source/13/sip_descriptors.c
--- old/sip-6.7.7/sipbuild/module/source/13/sip_descriptors.c   2023-02-04 
12:00:48.000000000 +0100
+++ new/sip-6.7.9/sipbuild/module/source/13/sip_descriptors.c   2023-04-13 
17:07:57.000000000 +0200
@@ -1,7 +1,7 @@
 /*
  * The implementation of the different descriptors.
  *
- * Copyright (c) 2022 Riverbank Computing Limited <i...@riverbankcomputing.com>
+ * Copyright (c) 2023 Riverbank Computing Limited <i...@riverbankcomputing.com>
  *
  * This file is part of SIP.
  *
@@ -230,6 +230,7 @@
  */
 static void sipMethodDescr_dealloc(PyObject *self)
 {
+    PyObject_GC_UnTrack(self);
     sipMethodDescr_clear(self);
     Py_TYPE(self)->tp_free(self);
 }
@@ -491,6 +492,7 @@
  */
 static void sipVariableDescr_dealloc(PyObject *self)
 {
+    PyObject_GC_UnTrack(self);
     sipVariableDescr_clear(self);
     Py_TYPE(self)->tp_free(self);
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/sipbuild/project.py 
new/sip-6.7.9/sipbuild/project.py
--- old/sip-6.7.7/sipbuild/project.py   2023-02-04 12:00:48.000000000 +0100
+++ new/sip-6.7.9/sipbuild/project.py   2023-04-13 17:07:57.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright (c) 2022, Riverbank Computing Limited
+# Copyright (c) 2023, Riverbank Computing Limited
 # All rights reserved.
 #
 # This copy of SIP is licensed for use under the terms of the SIP License
@@ -104,13 +104,14 @@
         # The fully qualified name of the sip module.
         Option('sip_module'),
 
-        # The list of files and directories, specified as glob patterns
-        # relative to the project directory, that should be included in a
-        # wheel.  If an element of list is a string then it is a pattern and
-        # files and directories are installed in the target directory.  If an
-        # element is a 2-tuple then the first part is the pattern and the
-        # second part is the name of a sub-directory relative to the target
-        # directory where the files and directories are installed.
+        # The list of files and directories, specified as glob patterns, that
+        # should be included in a wheel.  If a pattern is relative then it is
+        # taken as being relative to the project directory.  If an element of
+        # the list is a string then it is a pattern and files and directories
+        # are installed in the target directory.  If an element is a 2-tuple
+        # then the first part is the pattern and the second part is the name of
+        # a sub-directory relative to the target directory where the files and
+        # directories are installed.
         Option('wheel_includes', option_type=list),
 
         # The user-configurable options.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/sipbuild/pyproject.py 
new/sip-6.7.9/sipbuild/pyproject.py
--- old/sip-6.7.7/sipbuild/pyproject.py 2023-02-04 12:00:48.000000000 +0100
+++ new/sip-6.7.9/sipbuild/pyproject.py 2023-04-13 17:07:57.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright (c) 2022, Riverbank Computing Limited
+# Copyright (c) 2023, Riverbank Computing Limited
 # All rights reserved.
 #
 # This copy of SIP is licensed for use under the terms of the SIP License
@@ -21,11 +21,9 @@
 # POSSIBILITY OF SUCH DAMAGE.
 
 
-from collections import OrderedDict
-import toml
-
 from .exceptions import UserFileException
 from .py_versions import OLDEST_SUPPORTED_MINOR
+from .toml import toml_load
 
 
 class PyProjectException(UserFileException):
@@ -69,20 +67,20 @@
         self.toml_error = None
 
         try:
-            self._pyproject = toml.load('pyproject.toml', _dict=OrderedDict)
+            self._pyproject = toml_load('pyproject.toml')
         except FileNotFoundError:
             self.toml_error = "there is no such file in the current directory"
         except Exception as e:
             self.toml_error = str(e)
 
     def get_metadata(self):
-        """ Return an OrderedDict containing the PEP 566 meta-data. """
+        """ Return a dict containing the PEP 566 meta-data. """
 
         if self.toml_error:
             # Provide a minimal default.
             return dict(name='unknown', version='0.1')
 
-        metadata = OrderedDict()
+        metadata = dict()
         name = None
         version = None
         metadata_version = None
@@ -139,10 +137,6 @@
             metadata['requires-python'] = '>=3.{}'.format(
                     OLDEST_SUPPORTED_MINOR)
 
-        # This is cosmetic.
-        for name in ('requires-python', 'version', 'name', 'metadata-version'):
-            metadata.move_to_end(name, last=False)
-
         return metadata
 
     def get_section(self, section_name, *, required=False):
@@ -174,4 +168,4 @@
     def _is_section(value):
         """ Returns True if a section value is itself a section. """
 
-        return isinstance(value, (OrderedDict, list))
+        return isinstance(value, (dict, list))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/sipbuild/toml.py 
new/sip-6.7.9/sipbuild/toml.py
--- old/sip-6.7.7/sipbuild/toml.py      1970-01-01 01:00:00.000000000 +0100
+++ new/sip-6.7.9/sipbuild/toml.py      2023-04-13 17:07:57.000000000 +0200
@@ -0,0 +1,34 @@
+# Copyright (c) 2023, Riverbank Computing Limited
+# All rights reserved.
+#
+# This copy of SIP is licensed for use under the terms of the SIP License
+# Agreement.  See the file LICENSE for more details.
+#
+# This copy of SIP may also used under the terms of the GNU General Public
+# License v2 or v3 as published by the Free Software Foundation which can be
+# found in the files LICENSE-GPL2 and LICENSE-GPL3 included in this package.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+
+
+try:
+    import tomllib
+except ImportError:
+    import tomli as tomllib
+
+
+def toml_load(toml_file):
+    """ Return a dict containing the decoded contents of a TOML file. """
+
+    with open(toml_file, 'rb') as f:
+        return tomllib.load(f)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sip-6.7.7/sipbuild/version.py 
new/sip-6.7.9/sipbuild/version.py
--- old/sip-6.7.7/sipbuild/version.py   2023-02-04 12:01:19.000000000 +0100
+++ new/sip-6.7.9/sipbuild/version.py   2023-04-13 17:08:29.000000000 +0200
@@ -1,2 +1,2 @@
-SIP_VERSION = 0x060707
-SIP_VERSION_STR = '6.7.7'
+SIP_VERSION = 0x060709
+SIP_VERSION_STR = '6.7.9'

++++++ support-python3.6.patch ++++++
--- /var/tmp/diff_new_pack.y3aLd8/_old  2023-04-28 16:22:13.805611602 +0200
+++ /var/tmp/diff_new_pack.y3aLd8/_new  2023-04-28 16:22:13.809611625 +0200
@@ -1,7 +1,7 @@
-Index: sip-6.7.5/PKG-INFO
+Index: sip-6.7.9/PKG-INFO
 ===================================================================
---- sip-6.7.5.orig/PKG-INFO
-+++ sip-6.7.5/PKG-INFO
+--- sip-6.7.9.orig/PKG-INFO
++++ sip-6.7.9/PKG-INFO
 @@ -9,7 +9,7 @@ License: SIP
  Platform: X11
  Platform: macOS
@@ -11,33 +11,33 @@
  License-File: LICENSE
  License-File: LICENSE-GPL3
  License-File: LICENSE-GPL2
-Index: sip-6.7.5/setup.py
+Index: sip-6.7.9/setup.py
 ===================================================================
---- sip-6.7.5.orig/setup.py
-+++ sip-6.7.5/setup.py
+--- sip-6.7.9.orig/setup.py
++++ sip-6.7.9/setup.py
 @@ -50,7 +50,7 @@ setup(
          name='sip',
          version=version,
          license='SIP',
 -        python_requires='>=3.7',
 +        python_requires='>=3.6',
-         install_requires=['packaging', 'ply', 'setuptools', 'toml'],
+         install_requires=['packaging', 'ply', 'setuptools',
+                 'tomli;python_version<"3.11"'],
          packages=find_packages(),
-         package_data={
-Index: sip-6.7.5/sipbuild/py_versions.py
+Index: sip-6.7.9/sipbuild/py_versions.py
 ===================================================================
---- sip-6.7.5.orig/sipbuild/py_versions.py
-+++ sip-6.7.5/sipbuild/py_versions.py
+--- sip-6.7.9.orig/sipbuild/py_versions.py
++++ sip-6.7.9/sipbuild/py_versions.py
 @@ -22,4 +22,4 @@
  
  
  # The oldest supported minor version of Python v3.
 -OLDEST_SUPPORTED_MINOR = 7
 +OLDEST_SUPPORTED_MINOR = 6
-Index: sip-6.7.5/sipbuild/module/source/12/setup.py.in
+Index: sip-6.7.9/sipbuild/module/source/12/setup.py.in
 ===================================================================
---- sip-6.7.5.orig/sipbuild/module/source/12/setup.py.in
-+++ sip-6.7.5/sipbuild/module/source/12/setup.py.in
+--- sip-6.7.9.orig/sipbuild/module/source/12/setup.py.in
++++ sip-6.7.9/sipbuild/module/source/12/setup.py.in
 @@ -40,6 +40,6 @@ setup(
          name='@SIP_MODULE_PROJECT_NAME@',
          version='@SIP_MODULE_VERSION@',
@@ -46,10 +46,10 @@
 +        python_requires='>=3.6',
          ext_modules=[module]
       )
-Index: sip-6.7.5/sipbuild/module/source/12/sip.h.in
+Index: sip-6.7.9/sipbuild/module/source/12/sip.h.in
 ===================================================================
---- sip-6.7.5.orig/sipbuild/module/source/12/sip.h.in
-+++ sip-6.7.5/sipbuild/module/source/12/sip.h.in
+--- sip-6.7.9.orig/sipbuild/module/source/12/sip.h.in
++++ sip-6.7.9/sipbuild/module/source/12/sip.h.in
 @@ -24,8 +24,8 @@
  #include <Python.h>
  
@@ -61,10 +61,10 @@
  #endif
  
  
-Index: sip-6.7.5/sipbuild/module/source/13/setup.py.in
+Index: sip-6.7.9/sipbuild/module/source/13/setup.py.in
 ===================================================================
---- sip-6.7.5.orig/sipbuild/module/source/13/setup.py.in
-+++ sip-6.7.5/sipbuild/module/source/13/setup.py.in
+--- sip-6.7.9.orig/sipbuild/module/source/13/setup.py.in
++++ sip-6.7.9/sipbuild/module/source/13/setup.py.in
 @@ -40,6 +40,6 @@ setup(
          name='@SIP_MODULE_PROJECT_NAME@',
          version='@SIP_MODULE_VERSION@',
@@ -73,10 +73,10 @@
 +        python_requires='>=3.6',
          ext_modules=[module]
       )
-Index: sip-6.7.5/sipbuild/module/source/13/sip.h.in
+Index: sip-6.7.9/sipbuild/module/source/13/sip.h.in
 ===================================================================
---- sip-6.7.5.orig/sipbuild/module/source/13/sip.h.in
-+++ sip-6.7.5/sipbuild/module/source/13/sip.h.in
+--- sip-6.7.9.orig/sipbuild/module/source/13/sip.h.in
++++ sip-6.7.9/sipbuild/module/source/13/sip.h.in
 @@ -24,8 +24,8 @@
  #include <Python.h>
  

Reply via email to