changeset 108754:728449765ab0

* process.c (Fmake_network_process): Set :host to nil if it's not used. Suggested by Masatake YAMATO <yamato@redhat.com>.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Mon, 24 May 2010 16:46:41 -0400
parents f7bbe35cec23
children 3f667e9ab359
files .bzrignore src/ChangeLog src/process.c
diffstat 3 files changed, 25 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/.bzrignore	Mon May 24 13:35:41 2010 +0200
+++ b/.bzrignore	Mon May 24 16:46:41 2010 -0400
@@ -68,3 +68,4 @@
 conftest*
 confdefs.h
 core
+lib-src/stamp-*
--- a/src/ChangeLog	Mon May 24 13:35:41 2010 +0200
+++ b/src/ChangeLog	Mon May 24 16:46:41 2010 -0400
@@ -1,3 +1,8 @@
+2010-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* process.c (Fmake_network_process): Set :host to nil if it's not used.
+	Suggested by Masatake YAMATO <yamato@redhat.com>.
+
 2010-05-23  Eli Zaretskii  <eliz@gnu.org>
 
 	* dispextern.h (init_iterator): Sync prototype with changed
@@ -15,11 +20,11 @@
 	* xdisp.c (display_line): Compare IT_CHARPOS with the position in
 	row->start.pos, rather than with MATRIX_ROW_START_CHARPOS.
 	(cursor_row_p): Use row->end.pos rather than MATRIX_ROW_END_CHARPOS.
-	(try_window_reusing_current_matrix, try_window_id): Use
-	ROW->minpos rather than ROW->start.pos.
+	(try_window_reusing_current_matrix, try_window_id):
+	Use ROW->minpos rather than ROW->start.pos.
 	(init_from_display_pos, init_iterator): Use EMACS_INT for
 	character and byte positions.
-	(find_row_edges): Renamed from find_row_end.  Accept additional
+	(find_row_edges): Rename from find_row_end.  Accept additional
 	arguments for minimum and maximum buffer positions seen by
 	display_line for this row.  Don't use iterator to find the
 	position following the maximum one; instead, increment the
--- a/src/process.c	Mon May 24 13:35:41 2010 +0200
+++ b/src/process.c	Mon May 24 16:46:41 2010 -0400
@@ -3347,11 +3347,25 @@
   /* :service SERVICE -- string, integer (port number), or t (random port).  */
   service = Fplist_get (contact, QCservice);
 
+  /* :host HOST -- hostname, ip address, or 'local for localhost.  */
+  host = Fplist_get (contact, QChost);
+  if (!NILP (host))
+    {
+      if (EQ (host, Qlocal))
+	host = build_string ("localhost");
+      CHECK_STRING (host);
+    }
+
 #ifdef HAVE_LOCAL_SOCKETS
   if (family == AF_LOCAL)
     {
-      /* Host is not used.  */
-      host = Qnil;
+      if (!NILP (host))
+	{
+	  message (":family local ignores the :host \"%s\" property",
+		   SDATA (host));
+	  contact = Fplist_put (contact, QChost, Qnil);
+	  host = Qnil;
+	}
       CHECK_STRING (service);
       bzero (&address_un, sizeof address_un);
       address_un.sun_family = AF_LOCAL;
@@ -3362,15 +3376,6 @@
     }
 #endif
 
-  /* :host HOST -- hostname, ip address, or 'local for localhost.  */
-  host = Fplist_get (contact, QChost);
-  if (!NILP (host))
-    {
-      if (EQ (host, Qlocal))
-	host = build_string ("localhost");
-      CHECK_STRING (host);
-    }
-
   /* Slow down polling to every ten seconds.
      Some kernels have a bug which causes retrying connect to fail
      after a connect.  Polling can interfere with gethostbyname too.  */