# HG changeset patch # User Stefan Monnier # Date 1259866292 0 # Node ID 210af1fb2669d3be30c5f6f1f62bd9f8fde158e8 # Parent b99306fb62cce17463b5112410725799f466a432 (Qseqpacket): New symbol. (HAVE_SEQPACKET): New macro. (Fmake_network_process): Accept new :type `seqpacket'. (init_process): Add `seqpacket' feature when applicable. (syms_of_process): Initialize Qseqpacket. diff -r b99306fb62cc -r 210af1fb2669 src/ChangeLog --- a/src/ChangeLog Thu Dec 03 17:14:33 2009 +0000 +++ b/src/ChangeLog Thu Dec 03 18:51:32 2009 +0000 @@ -1,3 +1,11 @@ +2009-12-03 Stefan Monnier + + * process.c (Qseqpacket): New symbol. + (HAVE_SEQPACKET): New macro. + (Fmake_network_process): Accept new :type `seqpacket'. + (init_process): Add `seqpacket' feature when applicable. + (syms_of_process): Initialize Qseqpacket. + 2009-12-01 YAMAMOTO Mitsuharu * font.c (font_load_for_lface, font_open_by_name): Don't store name diff -r b99306fb62cc -r 210af1fb2669 src/process.c --- a/src/process.c Thu Dec 03 17:14:33 2009 +0000 +++ b/src/process.c Thu Dec 03 18:51:32 2009 +0000 @@ -127,7 +127,7 @@ Lisp_Object Qprocessp; Lisp_Object Qrun, Qstop, Qsignal; Lisp_Object Qopen, Qclosed, Qconnect, Qfailed, Qlisten; -Lisp_Object Qlocal, Qipv4, Qdatagram; +Lisp_Object Qlocal, Qipv4, Qdatagram, Qseqpacket; Lisp_Object Qreal, Qnetwork, Qserial; #ifdef AF_INET6 Lisp_Object Qipv6; @@ -253,6 +253,10 @@ #endif /* DATAGRAM_SOCKETS */ #endif /* BROKEN_DATAGRAM_SOCKETS */ +#if defined HAVE_LOCAL_SOCKETS && defined DATAGRAM_SOCKETS +# define HAVE_SEQPACKET +#endif + #if !defined (ADAPTIVE_READ_BUFFERING) && !defined (NO_ADAPTIVE_READ_BUFFERING) #ifdef EMACS_HAS_USECS #define ADAPTIVE_READ_BUFFERING @@ -3123,7 +3127,8 @@ string, e.g. "80", as well as an integer. This is not portable.) :type TYPE -- TYPE is the type of connection. The default (nil) is a -stream type connection, `datagram' creates a datagram type connection. +stream type connection, `datagram' creates a datagram type connection, +`seqpacket' creates a reliable datagram connection. :family FAMILY -- FAMILY is the address (and protocol) family for the service specified by HOST and SERVICE. The default (nil) is to use @@ -3302,6 +3307,10 @@ else if (EQ (tem, Qdatagram)) socktype = SOCK_DGRAM; #endif +#ifdef HAVE_SEQPACKET + else if (EQ (tem, Qseqpacket)) + socktype = SOCK_SEQPACKET; +#endif else error ("Unsupported connection type"); @@ -6859,7 +6868,7 @@ record_unwind_protect (exec_sentinel_unwind, Fcons (proc, sentinel)); /* Inhibit quit so that random quits don't screw up a running filter. */ specbind (Qinhibit_quit, Qt); - specbind (Qlast_nonmenu_event, Qt); + specbind (Qlast_nonmenu_event, Qt); /* Why? --Stef */ /* In case we get recursively called, and we already saved the match data nonrecursively, @@ -7330,6 +7339,9 @@ #ifdef DATAGRAM_SOCKETS ADD_SUBFEATURE (QCtype, Qdatagram); #endif +#ifdef HAVE_SEQPACKET + ADD_SUBFEATURE (QCtype, Qseqpacket); +#endif #ifdef HAVE_LOCAL_SOCKETS ADD_SUBFEATURE (QCfamily, Qlocal); #endif @@ -7403,6 +7415,8 @@ #endif Qdatagram = intern_c_string ("datagram"); staticpro (&Qdatagram); + Qseqpacket = intern_c_string ("seqpacket"); + staticpro (&Qseqpacket); QCport = intern_c_string (":port"); staticpro (&QCport);