]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
As discussed on python-dev, add a mechanism to indicate features
authorNeal Norwitz <nnorwitz@gmail.com>
Wed, 29 May 2002 15:54:55 +0000 (15:54 +0000)
committerNeal Norwitz <nnorwitz@gmail.com>
Wed, 29 May 2002 15:54:55 +0000 (15:54 +0000)
that are in the process of deprecation (PendingDeprecationWarning).
Docs could be improved.

Doc/lib/libexcs.tex
Doc/tut/tut.tex
Doc/whatsnew/whatsnew23.tex
Include/pyerrors.h
Lib/warnings.py
Misc/NEWS
Python/exceptions.c

index b8368117beed7832debbed5df8620f930604a52b..ae1608260480ad245d1052720d2f47599aea5379 100644 (file)
@@ -376,6 +376,10 @@ Base class for warnings generated by user code.
 Base class for warnings about deprecated features.
 \end{excdesc}
 
+\begin{excdesc}{PendingDeprecationWarning}
+Base class for warnings about features which will be deprecated in the future.
+\end{excdesc}
+
 \begin{excdesc}{SyntaxWarning}
 Base class for warnings about dubious syntax
 \end{excdesc}
@@ -423,6 +427,7 @@ The class hierarchy for built-in exceptions is:
      +---Warning
          +-- UserWarning
          +-- DeprecationWarning
+         +-- PendingDeprecationWarning
          +-- SyntaxWarning
          +-- OverflowWarning
          +-- RuntimeWarning
index dcf84cbffd0ef31f45b03d0741bb63c600503a46..4e2e6bd4fa1c15ed6c0c9d1fa911974fe8f1996d 100644 (file)
@@ -2453,25 +2453,26 @@ standard module \module{__builtin__}\refbimodindex{__builtin__}:
 >>> dir(__builtin__)
 ['ArithmeticError', 'AssertionError', 'AttributeError',
  'DeprecationWarning', 'EOFError', 'Ellipsis', 'EnvironmentError',
- 'Exception', 'FloatingPointError', 'IOError', 'ImportError',
+ 'Exception', 'False', 'FloatingPointError', 'IOError', 'ImportError',
  'IndentationError', 'IndexError', 'KeyError', 'KeyboardInterrupt',
  'LookupError', 'MemoryError', 'NameError', 'None', 'NotImplemented',
  'NotImplementedError', 'OSError', 'OverflowError', 'OverflowWarning',
- 'ReferenceError', 'RuntimeError', 'RuntimeWarning', 'StandardError',
- 'StopIteration', 'SyntaxError', 'SyntaxWarning', 'SystemError',
- 'SystemExit', 'TabError', 'TypeError', 'UnboundLocalError',
- 'UnicodeError', 'UserWarning', 'ValueError', 'Warning',
- 'ZeroDivisionError', '_', '__debug__', '__doc__', '__import__',
- '__name__', 'abs', 'apply', 'buffer', 'callable', 'chr', 'classmethod',
- 'cmp', 'coerce', 'compile', 'complex', 'copyright', 'credits', 'delattr',
- 'dict', 'dir', 'divmod', 'eval', 'execfile', 'exit', 'file', 'filter',
- 'float', 'getattr', 'globals', 'hasattr', 'hash', 'help', 'hex', 'id',
- 'input', 'int', 'intern', 'isinstance', 'issubclass', 'iter', 'len',
- 'license', 'list', 'locals', 'long', 'map', 'max', 'min', 'object',
- 'oct', 'open', 'ord', 'pow', 'property', 'quit', 'range', 'raw_input',
- 'reduce', 'reload', 'repr', 'round', 'setattr', 'slice', 'staticmethod',
- 'str', 'super', 'tuple', 'type', 'unichr', 'unicode', 'vars', 'xrange',
- 'zip']
+ 'PendingDeprecationWarning', 'ReferenceError',
+ 'RuntimeError', 'RuntimeWarning', 'StandardError', 'StopIteration',
+ 'SyntaxError', 'SyntaxWarning', 'SystemError', 'SystemExit', 'TabError',
+ 'True', 'TypeError', 'UnboundLocalError', 'UnicodeError', 'UserWarning',
+ 'ValueError', 'Warning', 'ZeroDivisionError', '__debug__', '__doc__',
+ '__import__', '__name__', 'abs', 'apply', 'bool', 'buffer',
+ 'callable', 'chr', 'classmethod', 'cmp', 'coerce', 'compile', 'complex',
+ 'copyright', 'credits', 'delattr', 'dict', 'dir', 'divmod',
+ 'enumerate', 'eval', 'execfile', 'exit', 'file', 'filter', 'float',
+ 'getattr', 'globals', 'hasattr', 'hash', 'help', 'hex', 'id',
+ 'input', 'int', 'intern', 'isinstance', 'issubclass', 'iter',
+ 'len', 'license', 'list', 'locals', 'long', 'map', 'max', 'min',
+ 'object', 'oct', 'open', 'ord', 'pow', 'property', 'quit',
+ 'range', 'raw_input', 'reduce', 'reload', 'repr', 'round',
+ 'setattr', 'slice', 'staticmethod', 'str', 'string', 'super',
+ 'tuple', 'type', 'unichr', 'unicode', 'vars', 'xrange', 'zip']
 \end{verbatim}
 
 
index ffa89ef125930bbeafb037c9ec77450a8c890c2a..d47fe9ae533d570cf47aa9e57580cbc277d83fd0 100644 (file)
@@ -342,6 +342,15 @@ strings \samp{True} and \samp{False} instead of \samp{1} and \samp{0}.
 %\end{itemize}
 
 
+%\begin{PendingDeprecationWarning}
+A new warning PendingDeprecationWarning was added to provide
+direction on features which are in the process of being deprecated.
+The warning will not be printed by default.  To see the pending
+deprecations, use -Walways::PendingDeprecationWarning:: on the command line
+or warnings.filterwarnings().
+%\end{PendingDeprecationWarning}
+
+
 %======================================================================
 \section{Specialized Object Allocator (pymalloc)\label{section-pymalloc}}
 
index e2e26291815d04cdb263861e2f76ac37073c6cfc..fa5634a31f61a1f50a68b1e5b08d5a110f0d0fd5 100644 (file)
@@ -66,6 +66,7 @@ extern DL_IMPORT(PyObject *) PyExc_MemoryErrorInst;
 extern DL_IMPORT(PyObject *) PyExc_Warning;
 extern DL_IMPORT(PyObject *) PyExc_UserWarning;
 extern DL_IMPORT(PyObject *) PyExc_DeprecationWarning;
+extern DL_IMPORT(PyObject *) PyExc_PendingDeprecationWarning;
 extern DL_IMPORT(PyObject *) PyExc_SyntaxWarning;
 extern DL_IMPORT(PyObject *) PyExc_OverflowWarning;
 extern DL_IMPORT(PyObject *) PyExc_RuntimeWarning;
index 435f1a79d8a7dae25ca303bb8527243a7b5b4652..fc6154f88383d8ad3afb74370658b4002ff9c06d 100644 (file)
@@ -262,3 +262,4 @@ if __name__ == "__main__":
 else:
     _processoptions(sys.warnoptions)
     filterwarnings("ignore", category=OverflowWarning, append=1)
+    filterwarnings("ignore", category=PendingDeprecationWarning, append=1)
index 85da0d369639f403b7798d3eca9bffe93299c1f2..2c7646d22f48459f45c2b8420bd55e988f0c3b85 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -6,6 +6,12 @@ Type/class unification and new-style classes
 
 Core and builtins
 
+- A new warning PendingDeprecationWarning was added to provide
+  direction on features which are in the process of being deprecated.
+  The warning will not be printed by default.  To see the pending
+  deprecations, use -Walways::PendingDeprecationWarning::
+  as a command line option or warnings.filterwarnings() in code.
+
 - A new type object, 'string', is added.  This is a common base type
   for 'str' and 'unicode', and can be used instead of
   types.StringTypes, e.g. to test whether something is "a string":
index 607d5cf57cf9ea19bee1beed11c16ecb9cadbf14..bd8f55db107b085f18f140212f9a6eb1e8b78795 100644 (file)
@@ -110,6 +110,7 @@ Exception\n\
       |\n\
       +-- UserWarning\n\
       +-- DeprecationWarning\n\
+      +-- PendingDeprecationWarning\n\
       +-- SyntaxWarning\n\
       +-- OverflowWarning\n\
       +-- RuntimeWarning";
@@ -919,6 +920,11 @@ static char
 DeprecationWarning__doc__[] =
 "Base class for warnings about deprecated features.";
 
+static char
+PendingDeprecationWarning__doc__[] =
+"Base class for warnings about features which will be deprecated "
+"in the future.";
+
 static char
 SyntaxWarning__doc__[] = "Base class for warnings about dubious syntax.";
 
@@ -987,6 +993,7 @@ PyObject *PyExc_MemoryErrorInst;
 PyObject *PyExc_Warning;
 PyObject *PyExc_UserWarning;
 PyObject *PyExc_DeprecationWarning;
+PyObject *PyExc_PendingDeprecationWarning;
 PyObject *PyExc_SyntaxWarning;
 PyObject *PyExc_OverflowWarning;
 PyObject *PyExc_RuntimeWarning;
@@ -1063,6 +1070,8 @@ static struct {
  {"UserWarning", &PyExc_UserWarning, &PyExc_Warning, UserWarning__doc__},
  {"DeprecationWarning", &PyExc_DeprecationWarning, &PyExc_Warning,
   DeprecationWarning__doc__},
+ {"PendingDeprecationWarning", &PyExc_PendingDeprecationWarning, &PyExc_Warning,
+  PendingDeprecationWarning__doc__},
  {"SyntaxWarning", &PyExc_SyntaxWarning, &PyExc_Warning, SyntaxWarning__doc__},
  {"OverflowWarning", &PyExc_OverflowWarning, &PyExc_Warning,
   OverflowWarning__doc__},