Issue #8837: Remove "O?" format of PyArg_Parse*() functions. The format is no
used anymore and it was never documented.
diff --git a/Misc/NEWS b/Misc/NEWS
index 9a8da70..2ab9640 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -12,6 +12,9 @@
 Core and Builtins
 -----------------
 
+- Issue #8837: Remove "O?" format of PyArg_Parse*() functions. The format is no
+  used anymore and it was never documented.
+
 - Issue #2844: Make int('42', n) consistently raise ValueError for
   invalid integers n (including n = -909).
 
diff --git a/Python/getargs.c b/Python/getargs.c
index e8efb3c..ce9f152 100644
--- a/Python/getargs.c
+++ b/Python/getargs.c
@@ -1293,17 +1293,6 @@
                 return converterr(type->tp_name, arg, msgbuf, bufsize);
 
         }
-        else if (*format == '?') {
-            inquiry pred = va_arg(*p_va, inquiry);
-            p = va_arg(*p_va, PyObject **);
-            format++;
-            if ((*pred)(arg))
-                *p = arg;
-            else
-                return converterr("(unspecified)",
-                                  arg, msgbuf, bufsize);
-
-        }
         else if (*format == '&') {
             typedef int (*converter)(PyObject *, void *);
             converter convert = va_arg(*p_va, converter);