branch: externals/mpdired commit f6733f55774fd328d9d04508ba5911233dab3758 Author: Manuel Giraud <man...@ledu-giraud.fr> Commit: Manuel Giraud <man...@ledu-giraud.fr>
factorize buffer naming --- mpdired.el | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/mpdired.el b/mpdired.el index bd446850d0..068f64b7bc 100644 --- a/mpdired.el +++ b/mpdired.el @@ -61,12 +61,26 @@ mode-name "MPDired Browse" buffer-read-only t)) -(defun mpdired--present-listall (contact) +(defun mpdired--hostname (host service localp) + (if localp + (format "%s" host) + (format "%s:%s" host service))) + +(defun mpdired--comm-name (host service localp) + (format "*mpdired-%s*" (mpdired--hostname host service localp))) + +(defun mpdired--browser-name (host service localp) + (format "*MPDired Browser (%s)*" (mpdired--hostname host service localp))) + +(defun mpdired--present-listall (proc) ;; Called from *mpdired-work* - (let ((out (get-buffer-create (format "*MPDired (%s:%d)*" - (car contact) (cadr contact)))) - (content (mpdired--parse-listall))) - (with-current-buffer out + (let* ((peer-info (process-contact proc t)) + (peer-host (plist-get peer-info :host)) + (peer-service (plist-get peer-info :service)) + (peer-localp (eq (plist-get peer-info :family) 'local)) + (buffer-name (mpdired--browser-name peer-host peer-service peer-localp)) + (content (mpdired--parse-listall))) + (with-current-buffer (get-buffer-create buffer-name) (let ((inhibit-read-only t)) (erase-buffer) (save-excursion @@ -95,7 +109,7 @@ (if moving (goto-char (process-mark proc))) (when (re-search-backward "^OK$" nil t) (when (eq mpdired--last-command 'listall) - (mpdired--present-listall (process-contact proc)))))))) + (mpdired--present-listall proc))))))) (defun mpdired--sentinel (process event) ;; Do not signal a closed connection @@ -107,11 +121,6 @@ ;; file, that should be our Unix socket. (file-exists-p (expand-file-name host))) -(defun mpdired--comm-name (host service localp) - (if localp - (format "*mpdired-%s" host) - (format "*mpdired-%s:%s" host service))) - (defun mpdired--maybe-init (host service localp) (with-current-buffer (get-buffer-create (mpdired--comm-name host service localp)) (setq-local buffer-read-only nil)