emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] master 41d83c2: * lisp/mpc.el (mpc--proc-connect): Handle


From: Stefan Monnier
Subject: [Emacs-diffs] master 41d83c2: * lisp/mpc.el (mpc--proc-connect): Handle unix sockets (bug#19394)
Date: Thu, 03 Sep 2015 15:47:36 +0000

branch: master
commit 41d83c2e577998b279e808115da2892b26d16526
Author: Mark Oteiza <address@hidden>
Commit: Stefan Monnier <address@hidden>

    * lisp/mpc.el (mpc--proc-connect): Handle unix sockets (bug#19394)
---
 lisp/mpc.el |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/lisp/mpc.el b/lisp/mpc.el
index 59581f3..fdc5aee 100644
--- a/lisp/mpc.el
+++ b/lisp/mpc.el
@@ -253,6 +253,7 @@ defaults to 6600 and HOST defaults to localhost."
 
 (defun mpc--proc-connect (host)
   (let ((port 6600)
+        local
         pass)
 
     (when (string-match "\\`\\(?:\\(.*\\)@\\)?\\(.*?\\)\\(?::\\(.*\\)\\)?\\'"
@@ -267,6 +268,8 @@ defaults to 6600 and HOST defaults to localhost."
                 (if (string-match "[^[:digit:]]" v)
                     (string-to-number v)
                   v)))))
+    (when (string-prefix-p "/" host)    ;FIXME: Use file-name-absolute-p?
+      (setq local t))
 
     (mpc--debug "Connecting to %s:%s..." host port)
     (with-current-buffer (get-buffer-create (format " *mpc-%s:%s*" host port))
@@ -279,7 +282,10 @@ defaults to 6600 and HOST defaults to localhost."
       (let* ((coding-system-for-read 'utf-8-unix)
              (coding-system-for-write 'utf-8-unix)
              (proc (condition-case err
-                       (open-network-stream "MPC" (current-buffer) host port)
+                       (make-network-process :name "MPC" :buffer 
(current-buffer)
+                                             :host (unless local host)
+                                             :service (if local host port)
+                                             :family (if local 'local))
                      (error (user-error (error-message-string err))))))
         (when (processp mpc-proc)
           ;; Inherit the properties of the previous connection.
@@ -2630,6 +2636,8 @@ This is used so that they can be compared with `eq', 
which is needed for
   (interactive
    (progn
      (if current-prefix-arg
+         ;; FIXME: We should provide some completion here, especially for the
+         ;; case where the user specifies a local socket/file name.
          (setq mpc-host (read-string "MPD host and port: " nil nil mpc-host)))
      nil))
   (let* ((song-buf (mpc-songs-buf))



reply via email to

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