bpo-31285: Fix an assertion failure and a SystemError in warnings.warn_explicit. (#3219)

diff --git a/Python/_warnings.c b/Python/_warnings.c
index f6688b0..f56e92d 100644
--- a/Python/_warnings.c
+++ b/Python/_warnings.c
@@ -893,9 +893,7 @@
         }
 
         /* Split the source into lines. */
-        source_list = PyObject_CallMethodObjArgs(source,
-                                                 PyId_splitlines.object,
-                                                 NULL);
+        source_list = PyUnicode_Splitlines(source, 0);
         Py_DECREF(source);
         if (!source_list)
             return NULL;