Update everything for dropping Python 3.2 support

This commit is contained in:
Olly Betts 2022-07-19 13:20:07 +12:00
commit 0b9d4eff09
7 changed files with 9 additions and 36 deletions

View file

@ -7,6 +7,9 @@ the issue number to the end of the URL: https://github.com/swig/swig/issues/
Version 4.1.0 (in progress)
===========================
2022-07-19: jschueller
[Python] #2314 Drop support for Python 3.2.
2022-07-19: olly
Remove remaining support code for classic macos, which has not been
supported by Apple for over 20 years now.

View file

@ -156,9 +156,8 @@
<p>
This chapter describes SWIG's support of Python. SWIG is compatible
with all recent Python versions (Python 2.7 and Python &gt;= 3.2). If you
still need to generate bindings which work with older versions of Python,
you'll have to use SWIG 3.0.x.
with all recent Python versions (Python 2.7 and Python &gt;= 3.3). SWIG 4.0.x
supported Python 3.2. SWIG 3.0.x supported older Python 2.x and 3.x.
</p>
<p>

View file

@ -5,14 +5,6 @@ import sys
testname = os.path.basename(os.path.dirname(os.path.abspath(__file__)))
print("Testing " + testname + " - module renamed as __init__.py")
if sys.version_info >= (3, 0, 0) and sys.version_info < (3, 3, 0):
print(" Not importing as Python version is >= 3.0 and < 3.3")
# Package detection does not work in these versions.
# Can be fixed by using this in the interface file:
# %module(moduleimport="from . import $module") foo # without -builtin
# %module(moduleimport="from .$module import *") foo # with -builtin
sys.exit(0)
import pkg1
print(" Finished importing pkg1")

View file

@ -64,7 +64,6 @@ SWIG_Python_AddErrorMsg(const char* mesg)
PyErr_Format(type, "%s %s", tmp, mesg);
else
PyErr_Format(type, "%s", mesg);
SWIG_Python_str_DelForPy3(tmp);
Py_DECREF(old_str);
Py_DECREF(value);
} else {

View file

@ -30,38 +30,19 @@
#endif
/* Warning: This function will allocate a new string in Python 3,
* so please call SWIG_Python_str_DelForPy3(x) to free the space.
*/
SWIGINTERN char*
SWIG_Python_str_AsChar(PyObject *str)
{
#if PY_VERSION_HEX >= 0x03030000
return (char *)PyUnicode_AsUTF8(str);
#elif PY_VERSION_HEX >= 0x03000000
char *newstr = 0;
str = PyUnicode_AsUTF8String(str);
if (str) {
char *cstr;
Py_ssize_t len;
if (PyBytes_AsStringAndSize(str, &cstr, &len) != -1) {
newstr = (char *) malloc(len+1);
if (newstr)
memcpy(newstr, cstr, len+1);
}
Py_XDECREF(str);
}
return newstr;
#else
return PyString_AsString(str);
#endif
}
#if PY_VERSION_HEX >= 0x03030000 || PY_VERSION_HEX < 0x03000000
# define SWIG_Python_str_DelForPy3(x)
#else
# define SWIG_Python_str_DelForPy3(x) free( (void*) (x) )
#endif
/* Was useful for Python 3.0.x-3.2.x - now provided only for compatibility
* with any uses in user interface files. */
#define SWIG_Python_str_DelForPy3(x)
SWIGINTERN PyObject*

View file

@ -1758,7 +1758,6 @@ SWIG_Python_AddErrMesg(const char* mesg, int infront)
} else {
PyErr_Format(type, "%s %s", errmesg, mesg);
}
SWIG_Python_str_DelForPy3(tmp);
Py_DECREF(old_str);
}
return 1;
@ -1810,7 +1809,6 @@ SWIG_Python_TypeError(const char *type, PyObject *obj)
if (cstr) {
PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s(%s)' is received",
type, otype, cstr);
SWIG_Python_str_DelForPy3(cstr);
} else {
PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s' is received",
type, otype);

View file

@ -11,6 +11,7 @@ SWIG-4.1.0 summary:
- Add PHP 8 support.
- PHP wrapping is now done entirely via PHP's C API - no more .php wrapper.
- Perl 5.8.0 is now the oldest version SWIG supports.
- Python 3.3 is now the oldest Python 3 version SWIG supports.
- Common cases of `<` and `>` comparisons in constant expressions are now
supported.
- GitHub Actions is now used instead of Travis CI for continuous integration.