]> granicus.if.org Git - python/commitdiff
PyErr_Warn is deprecated in 2.5 - goes away for 3.0
authorSkip Montanaro <skip@pobox.com>
Sun, 12 Aug 2007 11:44:53 +0000 (11:44 +0000)
committerSkip Montanaro <skip@pobox.com>
Sun, 12 Aug 2007 11:44:53 +0000 (11:44 +0000)
Doc/api/exceptions.tex
Include/pyerrors.h
Modules/_bsddb.c
Modules/_ctypes/callbacks.c
Modules/mmapmodule.c
Modules/posixmodule.c
Objects/unicodeobject.c
Python/errors.c
Python/import.c
Python/modsupport.c
Python/structmember.c

index 01c0aaf6bdac15c55cdc9f38e6a4a21302f4a6d2..8676963d83de9ca44a2b8b578921d06822ef3e7b 100644 (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}
index b494bb646bf2d021795c33b4f95ab394110ccc3b..b1cc4291975e5ab30e490b1bbc003e857252c58e 100644 (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);
index d03999ff1312064d87f88900ea7cf6180568ff8d..149cd9869133a74ea5bfb4374be8b09cfed5ec47 100644 (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
 
index 59154552b6a8b4c2cfec03d2b5dc21e89b814b6e..a1a0e0ddaf5c52aea59bd6ce5e1b1f8fdaebaa0b 100644 (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);
                }
        }
index 269ac900b44c634d674e6bff67e6b5578f987bd8..1626d726a7828ad5864da09f5ed2f83e4a4d9786 100644 (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);
index 61ac4e64825f44db98ad4c9b53504c5c14b5a1c4..d710a7366e449606d2c22e732353570c1cd07158 100644 (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
index 8288f1ebeada0fbb6ae4972c3a8704fe9c14e044..6b27adb73c594d201f70367527950cdf938a1e4f 100644 (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);
index 37705227352ad13601f8754721da8cfc7c4aeb3f..62e63ab91e83e8522f5420d28e32e932504b0d5e 100644 (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,
index bb40b685a5735e288b59b50ebf5ec21d016535cb..7ac9e2a8f13fdaa496d2d53cebb9fd303aa77606 100644 (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;
                                }
                }
index d29fe9b0a74554dea328159738659690c77262d6..8f25ed2e19a3de7694aa6852cb58abf9a34cfc2b 100644 (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.
index e0014c4a7de945e2cf0cc06e68847e653b0581e4..3eb72183a1efe11cd8459c6b3d206a419e5bc01f 100644 (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