emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/src/process.c


From: Kim F. Storm
Subject: [Emacs-diffs] Changes to emacs/src/process.c
Date: Fri, 10 Jan 2003 17:24:41 -0500

Index: emacs/src/process.c
diff -c emacs/src/process.c:1.391 emacs/src/process.c:1.392
*** emacs/src/process.c:1.391   Wed Jan  8 17:16:12 2003
--- emacs/src/process.c Fri Jan 10 17:24:41 2003
***************
*** 146,152 ****
  extern Lisp_Object QCfilter;
  
  /* a process object is a network connection when its childp field is neither
!    Qt nor Qnil but is instead a cons cell (HOSTNAME PORTNUM).  */
  
  #ifdef HAVE_SOCKETS
  #define NETCONN_P(p) (GC_CONSP (XPROCESS (p)->childp))
--- 146,152 ----
  extern Lisp_Object QCfilter;
  
  /* a process object is a network connection when its childp field is neither
!    Qt nor Qnil but is instead a property list (KEY VAL ...).  */
  
  #ifdef HAVE_SOCKETS
  #define NETCONN_P(p) (GC_CONSP (XPROCESS (p)->childp))
***************
*** 1037,1042 ****
--- 1037,1060 ----
    return Fplist_get (contact, key);
  }
  
+ DEFUN ("set-process-contact", Fset_process_contact, Sset_process_contact,
+        3, 3, 0,
+        doc: /* Change value in PROCESS' contact information list of KEY to 
VAL.
+ If KEY is already a property on the list, its value is set to VAL,
+ otherwise the new KEY VAL pair is added.  Returns VAL.  */)
+      (process, key, val)
+      register Lisp_Object process, key, val;
+ {
+   Lisp_Object contact;
+ 
+   CHECK_PROCESS (process);
+ 
+   if (NETCONN_P (process))
+     XPROCESS (process)->childp = Fplist_put (XPROCESS (process)->childp, key, 
val);
+ 
+   return val;
+ }
+ 
  #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,
***************
*** 2589,2594 ****
--- 2607,2616 ----
  the server process, but via the optional :log function, accepted (and
  failed) connections may be logged in the server process' buffer.
  
+ The original argument list, modified with the actual connection
+ information, is available via the `process-contact' function.
+ Additional arguments may be added via `set-process-contact'.
+ 
  usage: (make-network-process &rest ARGS)  */)
       (nargs, args)
       int nargs;
***************
*** 6341,6346 ****
--- 6363,6369 ----
    defsubr (&Sset_process_query_on_exit_flag);
    defsubr (&Sprocess_query_on_exit_flag);
    defsubr (&Sprocess_contact);
+   defsubr (&Sset_process_contact);
    defsubr (&Slist_processes);
    defsubr (&Sprocess_list);
    defsubr (&Sstart_process);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]