Function: tramp-process-one-action

tramp-process-one-action is a byte-compiled function defined in tramp.el.gz.

Signature

(tramp-process-one-action PROC VEC ACTIONS)

Documentation

Wait for output from the shell and perform one action.

See tramp-process-actions for the format of ACTIONS.

Source Code

;; Defined in /usr/src/emacs/lisp/net/tramp.el.gz
;;; Functions for processing the actions:

(defun tramp-process-one-action (proc vec actions)
  "Wait for output from the shell and perform one action.
See `tramp-process-actions' for the format of ACTIONS."
  (let ((case-fold-search t)
	tramp-process-action-regexp
	found todo item pattern action)
    (while (not found)
      ;; Reread output once all actions have been performed.
      ;; Obviously, the output was not complete.
      (while (tramp-accept-process-output proc 0))
      (setq todo actions)
      (while todo
	(setq item (pop todo)
	      tramp-process-action-regexp (symbol-value (nth 0 item))
	      pattern (format "\\(%s\\)\\'" tramp-process-action-regexp)
	      action (nth 1 item))
	(tramp-message
	 vec 5 "Looking for regexp \"%s\" from remote shell" pattern)
	(when (tramp-check-for-regexp proc pattern)
	  (tramp-message vec 5 "Call `%s'" (symbol-name action))
	  (setq found (funcall action proc vec)))))
    found))