# HG changeset patch # User Richard M. Stallman # Date 841619883 0 # Node ID 924aeb9ed7c3e8bb20cdb549cd0eb382300152e5 # Parent a74507d555bac7d1b4ea958cc481930937425f65 (Fprocess_contact): New function. (Fopen_network_stream): Store a cons cell in childp. (NETCONN_P): Use GC_CONSP. (list_processes_1): Use new childp format. diff -r a74507d555ba -r 924aeb9ed7c3 src/process.c --- a/src/process.c Sun Sep 01 22:56:40 1996 +0000 +++ b/src/process.c Sun Sep 01 23:18:03 1996 +0000 @@ -110,13 +110,12 @@ /* Qexit is declared and initialized in eval.c. */ /* a process object is a network connection when its childp field is neither - Qt nor Qnil but is instead a string (name of foreign host we - are connected to + name of port we are connected to) */ + Qt nor Qnil but is instead a cons cell (HOSTNAME PORTNUM). */ #ifdef HAVE_SOCKETS static Lisp_Object stream_process; -#define NETCONN_P(p) (GC_STRINGP (XPROCESS (p)->childp)) +#define NETCONN_P(p) (GC_CONSP (XPROCESS (p)->childp)) #else #define NETCONN_P(p) 0 #endif /* HAVE_SOCKETS */ @@ -848,6 +847,17 @@ return Fnull (tem); } +DEFUN ("process-contact", Fprocess_contact, Sprocess_contact, + 1, 1, 0, + "Return the contact info of PROCESS; t for a real child.\n\ +For a net connection, the value is a cons cell of the form (HOST SERVICE).") + (process) + register Lisp_Object process; +{ + CHECK_PROCESS (process, 0); + return XPROCESS (process)->childp; +} + #if 0 /* Turned off because we don't currently record this info in the process. Perhaps add it. */ DEFUN ("process-connection", Fprocess_connection, Sprocess_connection, 1, 1, 0, @@ -958,7 +968,7 @@ if (NETCONN_P (proc)) { sprintf (tembuf, "(network stream connection to %s)\n", - XSTRING (p->childp)->data); + XSTRING (XCONS (p->childp)->car)->data); insert_string (tembuf); } else @@ -1791,7 +1801,7 @@ #endif #endif - XPROCESS (proc)->childp = host; + XPROCESS (proc)->childp = Fcons (host, Fcons (service, Qnil)); XPROCESS (proc)->command_channel_p = Qnil; XPROCESS (proc)->buffer = buffer; XPROCESS (proc)->sentinel = Qnil; @@ -3793,9 +3803,10 @@ defsubr (&Sset_process_filter); defsubr (&Sprocess_filter); defsubr (&Sset_process_sentinel); + defsubr (&Sprocess_sentinel); defsubr (&Sset_process_window_size); - defsubr (&Sprocess_sentinel); defsubr (&Sprocess_kill_without_query); + defsubr (&Sprocess_contact); defsubr (&Slist_processes); defsubr (&Sprocess_list); defsubr (&Sstart_process);