Function: tramp-sudoedit-send-command

tramp-sudoedit-send-command is a byte-compiled function defined in tramp-sudoedit.el.gz.

Signature

(tramp-sudoedit-send-command VEC &rest ARGS)

Documentation

Send commands ARGS to connection VEC.

If an element of ARGS is a list, it will be flattened. If an element of ARGS is nil, it will be deleted. Erases temporary buffer before sending the command. Returns nil in case of error, t otherwise.

Source Code

;; Defined in /usr/src/emacs/lisp/net/tramp-sudoedit.el.gz
(defun tramp-sudoedit-send-command (vec &rest args)
  "Send commands ARGS to connection VEC.
If an element of ARGS is a list, it will be flattened.  If an
element of ARGS is nil, it will be deleted.
Erases temporary buffer before sending the command.  Returns nil
in case of error, t otherwise."
  (tramp-sudoedit-maybe-open-connection vec)
  (with-current-buffer (tramp-get-connection-buffer vec)
    (erase-buffer)
    (let* ((delete-exited-processes t)
	   (process-connection-type tramp-process-connection-type)
	   (p (apply
	       #'tramp-start-process vec
	       (tramp-get-connection-name vec) (current-buffer)
	       (append
		(tramp-expand-args
		 vec 'tramp-sudo-login nil
		 ?u (or (tramp-file-name-user vec) ""))
		(flatten-tree args))))
	   ;; We suppress the messages `Waiting for prompts from remote shell'.
	   (tramp-verbose (if (= tramp-verbose 3) 2 tramp-verbose))
	   ;; The password shall be cached also in case of "emacs -Q".
	   ;; See `tramp-process-actions'.
	   (tramp-cache-read-persistent-data t)
	   ;; We do not want to save the password.
	   auth-source-save-behavior)
      ;; Avoid process status message in output buffer.
      (set-process-sentinel p #'ignore)
      (tramp-set-connection-property p "pw-vector" tramp-sudoedit-null-hop)
      (tramp-process-actions p vec nil tramp-sudoedit-sudo-actions)
      (tramp-message vec 6 "%s\n%s" (process-exit-status p) (buffer-string))
      (prog1
	  (zerop (process-exit-status p))
	(delete-process p)))))