mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 18:40:39 -08:00
Fix Tramp's make-process on macOS
* lisp/net/tramp-sh.el (tramp-get-remote-mknod-or-mkfifo): New defun. (tramp-sh-handle-make-process): Use it. (Bug#50748)
This commit is contained in:
parent
23970e27ee
commit
72f8a9dd08
1 changed files with 23 additions and 2 deletions
|
|
@ -2883,10 +2883,14 @@ implementation will be used."
|
|||
|
||||
;; Handle error buffer.
|
||||
(when (bufferp stderr)
|
||||
(unless (tramp-get-remote-mknod-or-mkfifo v)
|
||||
(tramp-error
|
||||
v 'file-error "Stderr buffer `%s' not supported" stderr))
|
||||
(with-current-buffer stderr
|
||||
(setq buffer-read-only nil))
|
||||
;; Create named pipe.
|
||||
(tramp-send-command v (format "mknod %s p" tmpstderr))
|
||||
(tramp-send-command
|
||||
v (format (tramp-get-remote-mknod-or-mkfifo v) tmpstderr))
|
||||
;; Create stderr process.
|
||||
(make-process
|
||||
:name (buffer-name stderr)
|
||||
|
|
@ -2963,7 +2967,7 @@ implementation will be used."
|
|||
(ignore-errors
|
||||
(set-process-query-on-exit-flag p (null noquery))
|
||||
(set-marker (process-mark p) (point)))
|
||||
;; Kill stderr process delete and named pipe.
|
||||
;; Kill stderr process and delete named pipe.
|
||||
(when (bufferp stderr)
|
||||
(add-function
|
||||
:after (process-sentinel p)
|
||||
|
|
@ -5796,6 +5800,23 @@ This command is returned only if `delete-by-moving-to-trash' is non-nil."
|
|||
(tramp-file-local-name tmpfile) (tramp-file-local-name tmpfile)))
|
||||
(delete-file tmpfile)))))
|
||||
|
||||
(defun tramp-get-remote-mknod-or-mkfifo (vec)
|
||||
"Determine remote `mknod' or `mkfifo' command."
|
||||
(with-tramp-connection-property vec "mknod-or-mkfifo"
|
||||
(tramp-message vec 5 "Finding a suitable `mknod' or `mkfifo' command")
|
||||
(let ((tmpfile (tramp-make-tramp-temp-name vec))
|
||||
command)
|
||||
(prog1
|
||||
(or (and (setq command "mknod %s p")
|
||||
(tramp-send-command-and-check
|
||||
vec (format command (tramp-file-local-name tmpfile)))
|
||||
command)
|
||||
(and (setq command "mkfifo %s")
|
||||
(tramp-send-command-and-check
|
||||
vec (format command (tramp-file-local-name tmpfile)))
|
||||
command))
|
||||
(delete-file tmpfile)))))
|
||||
|
||||
;; Some predefined connection properties.
|
||||
(defun tramp-get-inline-compress (vec prop size)
|
||||
"Return the compress command related to PROP.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue