Subject: bug#1251: 23.0.60; `process-status' does not work with buffer names

From: Markus Triska <[email-masked]>
Date: Sat, 25 Oct 2008 19:14:16 +0200 (CEST)

Contrary to what its info entry says, process-status does not work if
its argument is a buffer name; in emacs -Q, evaluating the form:

   (let* ((buffer "bc-buf")
          (bc (start-process "bc" buffer "/usr/bin/bc")))
     (mapcar 'process-status (list buffer (get-buffer buffer))))

yields:

     (nil run)

The following patch fixes this problem for me:

2008-10-25  Markus Triska  <[email-masked]>

	* process.c (Fprocess_status): Accept buffer names.
	Update docstring to match info description.

diff --git a/src/process.c b/src/process.c
index b8e390e..4a238f7 100644
--- a/src/process.c
+++ b/src/process.c
@@ -828,18 +828,15 @@ closed -- for a network stream connection that is closed.
 connect -- when waiting for a non-blocking connection to complete.
 failed -- when a non-blocking connection has failed.
 nil -- if arg is a process name and no such process exists.
-PROCESS may be a process, a buffer, the name of a process, or
-nil, indicating the current buffer's process.  */)
+PROCESS may be a process, a buffer, a process name, a buffer name, or
+nil, indicating the current buffer's process. */)
      (process)
      register Lisp_Object process;
 {
   register struct Lisp_Process *p;
   register Lisp_Object status;
 
-  if (STRINGP (process))
-    process = Fget_process (process);
-  else
-    process = get_process (process);
+  process = get_process (process);
 
   if (NILP (process))
     return process;

In GNU Emacs 23.0.60.14 (i386-apple-darwin8.11.1, GTK+ Version 2.12.9)
 of 2008-10-25 on mt-computer.local
Windowing system distributor `The XFree86 Project, Inc', version 11.0.40400000
Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_GB.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: nil
  default-enable-multibyte-characters: t