use PyCallable_Check; split some lines
diff --git a/Modules/signalmodule.c b/Modules/signalmodule.c
index 9831f75..fe79447 100644
--- a/Modules/signalmodule.c
+++ b/Modules/signalmodule.c
@@ -167,21 +167,21 @@
 		return (PyObject *)NULL;
 #ifdef WITH_THREAD
 	if (get_thread_ident() != main_thread) {
-		PyErr_SetString(PyExc_ValueError, "signal only works in main thread");
+		PyErr_SetString(PyExc_ValueError,
+				"signal only works in main thread");
 		return (PyObject *)NULL;
 	}
 #endif
 	if (sig_num < 1 || sig_num >= NSIG) {
-		PyErr_SetString(PyExc_ValueError, "signal number out of range");
+		PyErr_SetString(PyExc_ValueError,
+				"signal number out of range");
 		return (PyObject *)NULL;
 	}
 	if (obj == PySignal_SignalIgnoreHandler)
 		func = SIG_IGN;
 	else if (obj == PySignal_SignalDefaultHandler)
 		func = SIG_DFL;
-	else if (!PyCFunction_Check(obj) &&
-		 !PyFunction_Check(obj) &&
-		 !PyMethod_Check(obj)) {
+	else if (!PyCallable_Check(obj)) {
 		PyErr_SetString(PyExc_TypeError,
 "signal handler must be signal.SIG_IGN, signal.SIG_DFL, or a callable object");
 		return (PyObject *)NULL;
@@ -209,7 +209,8 @@
 	if (!PyArg_Parse(args, "i", &sig_num))
 		return (PyObject *)NULL;
 	if (sig_num < 1 || sig_num >= NSIG) {
-		PyErr_SetString(PyExc_ValueError, "signal number out of range");
+		PyErr_SetString(PyExc_ValueError,
+				"signal number out of range");
 		return (PyObject *)NULL;
 	}
 	old_handler = PySignal_SignalHandlerArray[sig_num].func;
@@ -265,17 +266,22 @@
 		signal(i, t);
 		PySignal_SignalHandlerArray[i].tripped = 0;
 		if (t == SIG_DFL)
-			PySignal_SignalHandlerArray[i].func = PySignal_SignalDefaultHandler;
+			PySignal_SignalHandlerArray[i].func =
+				PySignal_SignalDefaultHandler;
 		else if (t == SIG_IGN)
-			PySignal_SignalHandlerArray[i].func = PySignal_SignalIgnoreHandler;
+			PySignal_SignalHandlerArray[i].func =
+				PySignal_SignalIgnoreHandler;
 		else
-			PySignal_SignalHandlerArray[i].func = Py_None; /* None of our business */
+			PySignal_SignalHandlerArray[i].func =
+				Py_None; /* None of our business */
 		Py_INCREF(PySignal_SignalHandlerArray[i].func);
 	}
-	if (PySignal_SignalHandlerArray[SIGINT].func == PySignal_SignalDefaultHandler) {
+	if (PySignal_SignalHandlerArray[SIGINT].func ==
+	    PySignal_SignalDefaultHandler) {
 		/* Install default int handler */
 		Py_DECREF(PySignal_SignalHandlerArray[SIGINT].func);
-		PySignal_SignalHandlerArray[SIGINT].func = PySignal_DefaultIntHandler;
+		PySignal_SignalHandlerArray[SIGINT].func =
+			PySignal_DefaultIntHandler;
 		Py_INCREF(PySignal_DefaultIntHandler);
 		signal(SIGINT, &PySignal_Handler);
 	}
@@ -443,7 +449,8 @@
 			if (arglist == (PyObject *)NULL)
 				result = (PyObject *)NULL;
 			else {
-				result = PyEval_CallObject(PySignal_SignalHandlerArray[i].func,arglist);
+				result = PyEval_CallObject(
+				 PySignal_SignalHandlerArray[i].func, arglist);
 				Py_DECREF(arglist);
 			}
 			if (result == (PyObject *)NULL) {