Subject: 24.3; [PATCH] process-live-p tweak

From: Leo Liu <[email-masked]>
Date: Mon, 02 Dec 2013 09:32:54 +0800

It seems inconvenient for a predicate to throw type error. I have used
process-live-p a few times and was always surprised. It seems better to
simply return nil for non-process arg. buffer-live-p does something
similar.

In octave.el, I have to use another one-liner

(defun inferior-octave-process-live-p ()
  (and inferior-octave-process (process-live-p inferior-octave-process)))

to mitigate this problem which would be redundant if process-live-p
doesn't throw error for non-process arg. So I wonder if you object to
the following tweak:

=== modified file 'lisp/subr.el'
--- lisp/subr.el	2013-11-24 08:49:44 +0000
+++ lisp/subr.el	2013-12-02 01:30:08 +0000
@@ -1885,9 +1885,11 @@
 (defun process-live-p (process)
   "Returns non-nil if PROCESS is alive.
 A process is considered alive if its status is `run', `open',
-`listen', `connect' or `stop'."
-  (memq (process-status process)
-        '(run open listen connect stop)))
+`listen', `connect' or `stop'.  Value is nil if PROCESS is not a
+process."
+  (and (processp process)
+       (memq (process-status process)
+	     '(run open listen connect stop))))
 
 ;; compatibility

Thanks,
Leo