@@ -828,7 +828,7 @@ PyType_Modified(PyTypeObject *type)
828828 if (bits & 1 ) {
829829 PyType_WatchCallback cb = interp -> type_watchers [i ];
830830 if (cb && (cb (type ) < 0 )) {
831- PyErr_WriteUnraisable (( PyObject * ) type );
831+ PyErr_FormatUnraisable ( "Exception ignored in watcher callback for %R" , i , type );
832832 }
833833 }
834834 i ++ ;
@@ -9291,7 +9291,7 @@ releasebuffer_call_python(PyObject *self, Py_buffer *buffer)
92919291 // from a Python __buffer__ function.
92929292 mv = PyMemoryView_FromBuffer (buffer );
92939293 if (mv == NULL ) {
9294- PyErr_WriteUnraisable ( self );
9294+ PyErr_FormatUnraisable ( "Exception ignored in bf_releasebuffer of %s" , Py_TYPE ( self ) -> tp_name );
92959295 goto end ;
92969296 }
92979297 // Set the memoryview to restricted mode, which forbids
@@ -9304,15 +9304,15 @@ releasebuffer_call_python(PyObject *self, Py_buffer *buffer)
93049304 PyObject * stack [2 ] = {self , mv };
93059305 PyObject * ret = vectorcall_method (& _Py_ID (__release_buffer__ ), stack , 2 );
93069306 if (ret == NULL ) {
9307- PyErr_WriteUnraisable ( self );
9307+ PyErr_FormatUnraisable ( "Exception ignored in __release_buffer__ of %s" , Py_TYPE ( self ) -> tp_name );
93089308 }
93099309 else {
93109310 Py_DECREF (ret );
93119311 }
93129312 if (!is_buffer_wrapper ) {
93139313 PyObject * res = PyObject_CallMethodNoArgs (mv , & _Py_ID (release ));
93149314 if (res == NULL ) {
9315- PyErr_WriteUnraisable ( self );
9315+ PyErr_FormatUnraisable ( "Exception ignored in bf_releasebuffer of %s" , Py_TYPE ( self ) -> tp_name );
93169316 }
93179317 else {
93189318 Py_DECREF (res );
0 commit comments