The attached patch renames "system-process-attributes" to "process-attributes", and adds the ability to use emacs process objects as well as pids: (1) Change the signature of the system-specific system_process_attributes functions so that the argument is of type pid_t, instead of Lisp_Object, and accordingly removes the Lisp_Object->pid_t conversion code from those functions. (2) Add a "process_pid" function in process.c that contains the process->pid mapping code which used to be in Fsignal_process. process_pid also accepts straight process-ids. (3) Change Fsignal_process to use process_pid and remove the old inline code which did the same thing. (4) Rename Fsystem_process_attributes to Fprocess_attributes, and have it call process_pid to convert a process object to a pid. (5) Change the callers of system-process-attributes (basically proced) to use process-attributes instead. -Miles