Issue #20440: Cleaning up the code by using Py_SETREF.
diff --git a/Modules/readline.c b/Modules/readline.c
index 939ff1a..6930415 100644
--- a/Modules/readline.c
+++ b/Modules/readline.c
@@ -321,10 +321,8 @@
         Py_CLEAR(*hook_var);
     }
     else if (PyCallable_Check(function)) {
-        PyObject *tmp = *hook_var;
         Py_INCREF(function);
-        *hook_var = function;
-        Py_XDECREF(tmp);
+        Py_SETREF(*hook_var, function);
     }
     else {
         PyErr_Format(PyExc_TypeError,