PyErr_Warn is deprecated in 2.5 - goes away for 3.0

This commit is contained in:
Skip Montanaro 2007-08-12 11:44:53 +00:00
parent 447e7c3981
commit 46fc337395
11 changed files with 40 additions and 55 deletions

View File

@ -296,16 +296,6 @@ error indicator for each thread.
command line documentation. There is no C API for warning control.
\end{cfuncdesc}
\begin{cfuncdesc}{int}{PyErr_Warn}{PyObject *category, char *message}
Issue a warning message. The \var{category} argument is a warning
category (see below) or \NULL; the \var{message} argument is a
message string. The warning will appear to be issued from the function
calling \cfunction{PyErr_Warn()}, equivalent to calling
\cfunction{PyErr_WarnEx()} with a \var{stacklevel} of 1.
Deprecated; use \cfunction{PyErr_WarnEx()} instead.
\end{cfuncdesc}
\begin{cfuncdesc}{int}{PyErr_WarnExplicit}{PyObject *category,
const char *message, const char *filename, int lineno,
const char *module, PyObject *registry}

View File

@ -213,9 +213,6 @@ PyAPI_FUNC(int) PyErr_WarnEx(PyObject *category, const char *msg,
PyAPI_FUNC(int) PyErr_WarnExplicit(PyObject *, const char *,
const char *, int,
const char *, PyObject *);
/* PyErr_Warn is only for backwards compatability and will be removed.
Use PyErr_WarnEx instead. */
#define PyErr_Warn(category, msg) PyErr_WarnEx(category, msg, 1)
/* In sigcheck.c or signalmodule.c */
PyAPI_FUNC(int) PyErr_CheckSignals(void);

View File

@ -546,7 +546,7 @@ static int makeDBError(int err)
}
_db_errmsg[0] = 0;
#ifdef HAVE_WARNINGS
exceptionRaised = PyErr_Warn(PyExc_RuntimeWarning, errTxt);
exceptionRaised = PyErr_WarnEx(PyExc_RuntimeWarning, errTxt, 1);
#else
fprintf(stderr, errTxt);
fprintf(stderr, "\n");
@ -859,8 +859,10 @@ DB_dealloc(DBObject* self)
MYDB_END_ALLOW_THREADS;
#ifdef HAVE_WARNINGS
} else {
PyErr_Warn(PyExc_RuntimeWarning,
"DB could not be closed in destructor: DBEnv already closed");
PyErr_WarnEx(PyExc_RuntimeWarning,
"DB could not be closed in destructor:"
" DBEnv already closed",
1);
#endif
}
self->db = NULL;
@ -1031,8 +1033,10 @@ DBTxn_dealloc(DBTxnObject* self)
txn_abort(self->txn);
#endif
MYDB_END_ALLOW_THREADS;
PyErr_Warn(PyExc_RuntimeWarning,
"DBTxn aborted in destructor. No prior commit() or abort().");
PyErr_WarnEx(PyExc_RuntimeWarning,
"DBTxn aborted in destructor. "
" No prior commit() or abort().",
1);
}
#endif

View File

@ -225,8 +225,9 @@ if (x == NULL) _AddTraceback(what, __FILE__, __LINE__ - 1), PyErr_Print()
else if (keep == Py_None) /* Nothing to keep */
Py_DECREF(keep);
else if (setfunc != getentry("O")->setfunc) {
if (-1 == PyErr_Warn(PyExc_RuntimeWarning,
"memory leak in callback function."))
if (-1 == PyErr_WarnEx(PyExc_RuntimeWarning,
"memory leak in callback function.",
1))
PyErr_WriteUnraisable(callable);
}
}

View File

@ -998,8 +998,9 @@ new_mmap_object(PyObject *self, PyObject *args, PyObject *kwdict)
XXX: fileno == 0 is a valid fd, but was accepted prior to 2.5.
XXX: Should this code be added?
if (fileno == 0)
PyErr_Warn(PyExc_DeprecationWarning,
"don't use 0 for anonymous memory");
PyErr_WarnEx(PyExc_DeprecationWarning,
"don't use 0 for anonymous memory",
1);
*/
if (fileno != -1 && fileno != 0) {
fh = (HANDLE)_get_osfhandle(fileno);

View File

@ -5344,8 +5344,9 @@ posix_tempnam(PyObject *self, PyObject *args)
if (!PyArg_ParseTuple(args, "|zz:tempnam", &dir, &pfx))
return NULL;
if (PyErr_Warn(PyExc_RuntimeWarning,
"tempnam is a potential security risk to your program") < 0)
if (PyErr_WarnEx(PyExc_RuntimeWarning,
"tempnam is a potential security risk to your program",
1) < 0)
return NULL;
#ifdef MS_WINDOWS
@ -5391,8 +5392,9 @@ posix_tmpnam(PyObject *self, PyObject *noargs)
char buffer[L_tmpnam];
char *name;
if (PyErr_Warn(PyExc_RuntimeWarning,
"tmpnam is a potential security risk to your program") < 0)
if (PyErr_WarnEx(PyExc_RuntimeWarning,
"tmpnam is a potential security risk to your program",
1) < 0)
return NULL;
#ifdef USE_TMPNAM_R

View File

@ -5990,15 +5990,16 @@ PyObject *PyUnicode_RichCompare(PyObject *left,
if (!PyErr_ExceptionMatches(PyExc_UnicodeDecodeError))
return NULL;
PyErr_Clear();
if (PyErr_Warn(PyExc_UnicodeWarning,
(op == Py_EQ) ?
"Unicode equal comparison "
"failed to convert both arguments to Unicode - "
"interpreting them as being unequal" :
"Unicode unequal comparison "
"failed to convert both arguments to Unicode - "
"interpreting them as being unequal"
) < 0)
if (PyErr_WarnEx(PyExc_UnicodeWarning,
(op == Py_EQ) ?
"Unicode equal comparison "
"failed to convert both arguments to Unicode - "
"interpreting them as being unequal"
:
"Unicode unequal comparison "
"failed to convert both arguments to Unicode - "
"interpreting them as being unequal",
1) < 0)
return NULL;
result = (op == Py_NE);
return PyBool_FromLong(result);

View File

@ -670,17 +670,6 @@ PyErr_WarnEx(PyObject *category, const char *message, Py_ssize_t stack_level)
}
}
/* PyErr_Warn is only for backwards compatability and will be removed.
Use PyErr_WarnEx instead. */
#undef PyErr_Warn
PyAPI_FUNC(int)
PyErr_Warn(PyObject *category, char *message)
{
return PyErr_WarnEx(category, message, 1);
}
/* Warning with explicit origin */
int
PyErr_WarnExplicit(PyObject *category, const char *message,

View File

@ -1320,8 +1320,8 @@ find_module(char *fullname, char *subname, PyObject *path, char *buf,
sprintf(warnstr, "Not importing directory "
"'%.*s': missing __init__.py",
MAXPATHLEN, buf);
if (PyErr_Warn(PyExc_ImportWarning,
warnstr)) {
if (PyErr_WarnEx(PyExc_ImportWarning,
warnstr, 1)) {
return NULL;
}
}
@ -1339,8 +1339,8 @@ find_module(char *fullname, char *subname, PyObject *path, char *buf,
sprintf(warnstr, "Not importing directory "
"'%.*s': missing __init__.py",
MAXPATHLEN, buf);
if (PyErr_Warn(PyExc_ImportWarning,
warnstr)) {
if (PyErr_WarnEx(PyExc_ImportWarning,
warnstr, 1)) {
return NULL;
}
}

View File

@ -42,7 +42,7 @@ Py_InitModule4(const char *name, PyMethodDef *methods, const char *doc,
api_version_warning, name,
PYTHON_API_VERSION, name,
module_api_version);
if (PyErr_Warn(PyExc_RuntimeWarning, message))
if (PyErr_WarnEx(PyExc_RuntimeWarning, message, 1))
return NULL;
}
/* Make sure name is fully qualified.

View File

@ -90,10 +90,10 @@ PyMember_GetOne(const char *addr, PyMemberDef *l)
return v;
}
#define WARN(msg) \
do { \
if (PyErr_Warn(PyExc_RuntimeWarning, msg) < 0) \
return -1; \
#define WARN(msg) \
do { \
if (PyErr_WarnEx(PyExc_RuntimeWarning, msg, 1) < 0) \
return -1; \
} while (0)
int