backtrace() tramp-signal-hook-function(quit ("")) signal(quit ("")) tramp-maybe-open-connection((tramp-file-name "sudo" #("root" 0 4 (tramp-default t)) nil #("MobileCat.local" 0 15 (tramp-default t)) nil "" nil)) tramp-send-command((tramp-file-name "sudo" #("root" 0 4 (tramp-default t)) nil #("MobileCat.local" 0 15 (tramp-default t)) nil "" nil) #("cd ~root && pwd" 4 8 (tramp-default t))) tramp-sh-handle-expand-file-name("/sudo::" "~/") apply(tramp-sh-handle-expand-file-name ("/sudo::" "~/")) tramp-sh-file-name-handler(expand-file-name "/sudo::" "~/") apply(tramp-sh-file-name-handler expand-file-name ("/sudo::" "~/")) tramp-file-name-handler(expand-file-name "/sudo::" "~/") expand-file-name("/sudo::" "~/") #f(compiled-function (displayable-buffers dir line column name) #)((nil) "~/" (0) (0) "/sudo::") command-line-1(("-l" "tramp" "--eval" "(setq tramp-verbose 10 exec-path (cons \"/usr/local..." "/sudo::")) command-line() normal-top-level() Debugger entered--Lisp error: (epg-error "no usable configuration OpenPGP") signal(epg-error ("no usable configuration OpenPGP")) (let (tramp-message-show-message signal-hook-function) (tramp-backtrace vec-or-proc) (if arguments nil (setq arguments (list fmt-string) fmt-string "%s")) (if vec-or-proc (progn (tramp-message vec-or-proc 1 "%s" (error-message-string (list signal (get signal 'error-message) (apply #'format-message fmt-string arguments)))))) (signal signal (list (substring-no-properties (apply #'format-message fmt-string arguments))))) tramp-error((tramp-file-name "sudo" #("root" 0 4 (tramp-default t)) nil #("MobileCat.local" 0 15 (tramp-default t)) nil "" nil) epg-error "%s" "no usable configuration OpenPGP") (if (eq error-symbol 'void-variable) nil (tramp-error (car tramp-current-connection) error-symbol "%s" (mapconcat #'(lambda (x) (format "%s" x)) data " "))) tramp-signal-hook-function(epg-error ("no usable configuration" OpenPGP)) signal(epg-error ("no usable configuration" OpenPGP)) epg-context--make(OpenPGP nil nil nil nil nil nil) epg-make-context() epa-file-insert-file-contents("/Users/wyuenho/.authinfo.gpg" nil nil nil nil) apply(epa-file-insert-file-contents ("/Users/wyuenho/.authinfo.gpg" nil nil nil nil)) epa-file-handler(insert-file-contents "/Users/wyuenho/.authinfo.gpg" nil nil nil nil) insert-file-contents("~/.authinfo.gpg") auth-source-netrc-parse(:max 1 :require (:secret :user) :file "~/.authinfo.gpg" :host #("MobileCat.local" 0 15 (tramp-default t)) :user #("root" 0 4 (tramp-default t)) :port "sudo") auth-source-netrc-search(:backend # :type netrc :max 1 :require (:secret :user) :create nil :delete nil :max 1 :user #("root" 0 4 (tramp-default t)) :host #("MobileCat.local" 0 15 (tramp-default t)) :port "sudo" :require (:secret :user) :create t) apply(auth-source-netrc-search :backend # :type netrc :max 1 :require (:secret :user) :create nil :delete nil (:max 1 :user #("root" 0 4 (tramp-default t)) :host #("MobileCat.local" 0 15 (tramp-default t)) :port "sudo" :require (:secret :user) :create t)) auth-source-search-backends((# # #) (:max 1 :user #("root" 0 4 (tramp-default t)) :host #("MobileCat.local" 0 15 (tramp-default t)) :port "sudo" :require (:secret :user) :create t) 1 nil nil (:secret :user)) auth-source-search(:max 1 :user #("root" 0 4 (tramp-default t)) :host #("MobileCat.local" 0 15 (tramp-default t)) :port "sudo" :require (:secret :user) :create t) (car (auth-source-search :max 1 (and user :user) (if domain (concat user tramp-prefix-domain-format domain) user) :host (if port (concat host tramp-prefix-port-format port) host) :port method :require (cons :secret (and user '(:user))) :create t)) (setq auth-info (car (auth-source-search :max 1 (and user :user) (if domain (concat user tramp-prefix-domain-format domain) user) :host (if port (concat host tramp-prefix-port-format port) host) :port method :require (cons :secret (and user '(:user))) :create t)) tramp-password-save-function (plist-get auth-info :save-function) auth-passwd (plist-get auth-info :secret)) (and (tramp-get-connection-property v "first-password-request" nil) (setq auth-info (car (auth-source-search :max 1 (and user :user) (if domain (concat user tramp-prefix-domain-format domain) user) :host (if port (concat host tramp-prefix-port-format port) host) :port method :require (cons :secret (and user '(:user))) :create t)) tramp-password-save-function (plist-get auth-info :save-function) auth-passwd (plist-get auth-info :secret))) (progn (and (tramp-get-connection-property v "first-password-request" nil) (setq auth-info (car (auth-source-search :max 1 (and user :user) (if domain (concat user tramp-prefix-domain-format domain) user) :host (if port (concat host tramp-prefix-port-format port) host) :port method :require (cons :secret (and user '...)) :create t)) tramp-password-save-function (plist-get auth-info :save-function) auth-passwd (plist-get auth-info :secret))) (while (functionp auth-passwd) (setq auth-passwd (funcall auth-passwd))) auth-passwd) (condition-case nil (progn (and (tramp-get-connection-property v "first-password-request" nil) (setq auth-info (car (auth-source-search :max 1 (and user :user) (if domain (concat user tramp-prefix-domain-format domain) user) :host (if port (concat host tramp-prefix-port-format port) host) :port method :require (cons :secret (and user ...)) :create t)) tramp-password-save-function (plist-get auth-info :save-function) auth-passwd (plist-get auth-info :secret))) (while (functionp auth-passwd) (setq auth-passwd (funcall auth-passwd))) auth-passwd) (error nil)) (or (condition-case nil (progn (and (tramp-get-connection-property v "first-password-request" nil) (setq auth-info (car (auth-source-search :max 1 (and user :user) (if domain ... user) :host (if port ... host) :port method :require (cons :secret ...) :create t)) tramp-password-save-function (plist-get auth-info :save-function) auth-passwd (plist-get auth-info :secret))) (while (functionp auth-passwd) (setq auth-passwd (funcall auth-passwd))) auth-passwd) (error nil)) (progn (setq auth-passwd (password-read pw-prompt key) tramp-password-save-function #'(lambda nil (password-cache-add key auth-passwd))) auth-passwd) (read-passwd pw-prompt)) (prog1 (or (condition-case nil (progn (and (tramp-get-connection-property v "first-password-request" nil) (setq auth-info (car (auth-source-search :max 1 ... ... :host ... :port method :require ... :create t)) tramp-password-save-function (plist-get auth-info :save-function) auth-passwd (plist-get auth-info :secret))) (while (functionp auth-passwd) (setq auth-passwd (funcall auth-passwd))) auth-passwd) (error nil)) (progn (setq auth-passwd (password-read pw-prompt key) tramp-password-save-function #'(lambda nil (password-cache-add key auth-passwd))) auth-passwd) (read-passwd pw-prompt)) (tramp-set-connection-property v "first-password-request" nil)) (let* ((v (tramp-dissect-file-name key)) (method (progn (or (progn (and (memq ... cl-struct-tramp-file-name-tags) t)) (signal 'wrong-type-argument (list 'tramp-file-name v))) (nth 1 v))) (user (progn (or (progn (and (memq ... cl-struct-tramp-file-name-tags) t)) (signal 'wrong-type-argument (list 'tramp-file-name v))) (nth 2 v))) (domain (progn (or (progn (and (memq ... cl-struct-tramp-file-name-tags) t)) (signal 'wrong-type-argument (list 'tramp-file-name v))) (nth 3 v))) (host (progn (or (progn (and (memq ... cl-struct-tramp-file-name-tags) t)) (signal 'wrong-type-argument (list 'tramp-file-name v))) (nth 4 v))) (port (progn (or (progn (and (memq ... cl-struct-tramp-file-name-tags) t)) (signal 'wrong-type-argument (list 'tramp-file-name v))) (nth 5 v))) (localname (progn (or (progn (and (memq ... cl-struct-tramp-file-name-tags) t)) (signal 'wrong-type-argument (list 'tramp-file-name v))) (nth 6 v))) (hop (progn (or (progn (and (memq ... cl-struct-tramp-file-name-tags) t)) (signal 'wrong-type-argument (list 'tramp-file-name v))) (nth 7 v)))) (ignore method user domain host port localname hop) (setq tramp-password-save-function nil user (or user (tramp-get-connection-property key "login-as" nil))) (prog1 (or (condition-case nil (progn (and (tramp-get-connection-property v "first-password-request" nil) (setq auth-info (car ...) tramp-password-save-function (plist-get auth-info :save-function) auth-passwd (plist-get auth-info :secret))) (while (functionp auth-passwd) (setq auth-passwd (funcall auth-passwd))) auth-passwd) (error nil)) (progn (setq auth-passwd (password-read pw-prompt key) tramp-password-save-function #'(lambda nil (password-cache-add key auth-passwd))) auth-passwd) (read-passwd pw-prompt)) (tramp-set-connection-property v "first-password-request" nil))) (let* ((case-fold-search t) (key (tramp-make-tramp-file-name (tramp-get-connection-property proc "password-vector" (process-get proc 'vector)) 'noloc 'nohop)) (pw-prompt (or prompt (save-current-buffer (set-buffer (process-buffer proc)) (tramp-check-for-regexp proc tramp-password-prompt-regexp) (format "%s for %s " (capitalize (match-string 1)) key)))) (auth-source-creation-prompts (list (cons 'secret pw-prompt))) (stimers (with-timeout-suspend)) auth-info auth-passwd) (let* ((v (tramp-dissect-file-name key)) (method (progn (or (progn (and ... t)) (signal 'wrong-type-argument (list ... v))) (nth 1 v))) (user (progn (or (progn (and ... t)) (signal 'wrong-type-argument (list ... v))) (nth 2 v))) (domain (progn (or (progn (and ... t)) (signal 'wrong-type-argument (list ... v))) (nth 3 v))) (host (progn (or (progn (and ... t)) (signal 'wrong-type-argument (list ... v))) (nth 4 v))) (port (progn (or (progn (and ... t)) (signal 'wrong-type-argument (list ... v))) (nth 5 v))) (localname (progn (or (progn (and ... t)) (signal 'wrong-type-argument (list ... v))) (nth 6 v))) (hop (progn (or (progn (and ... t)) (signal 'wrong-type-argument (list ... v))) (nth 7 v)))) (ignore method user domain host port localname hop) (setq tramp-password-save-function nil user (or user (tramp-get-connection-property key "login-as" nil))) (prog1 (or (condition-case nil (progn (and (tramp-get-connection-property v "first-password-request" nil) (setq auth-info ... tramp-password-save-function ... auth-passwd ...)) (while (functionp auth-passwd) (setq auth-passwd ...)) auth-passwd) (error nil)) (progn (setq auth-passwd (password-read pw-prompt key) tramp-password-save-function #'(lambda nil ...)) auth-passwd) (read-passwd pw-prompt)) (tramp-set-connection-property v "first-password-request" nil))) (with-timeout-unsuspend stimers)) tramp-read-passwd(#) (concat (tramp-read-passwd proc) tramp-local-end-of-line) (process-send-string proc (concat (tramp-read-passwd proc) tramp-local-end-of-line)) (let ((enable-recursive-minibuffers t) (case-fold-search t)) (if (tramp-get-connection-property vec "first-password-request" nil) nil (tramp-clear-passwd vec)) (goto-char (point-min)) (tramp-check-for-regexp proc tramp-password-prompt-regexp) (tramp-message vec 3 "Sending %s" (match-string 1)) (process-send-string proc (concat (tramp-read-passwd proc) tramp-local-end-of-line)) (narrow-to-region (point-max) (point-max))) (save-current-buffer (set-buffer (process-buffer proc)) (let ((enable-recursive-minibuffers t) (case-fold-search t)) (if (tramp-get-connection-property vec "first-password-request" nil) nil (tramp-clear-passwd vec)) (goto-char (point-min)) (tramp-check-for-regexp proc tramp-password-prompt-regexp) (tramp-message vec 3 "Sending %s" (match-string 1)) (process-send-string proc (concat (tramp-read-passwd proc) tramp-local-end-of-line)) (narrow-to-region (point-max) (point-max)))) tramp-action-password(# (tramp-file-name "sudo" #("root" 0 4 (tramp-default t)) nil #("MobileCat.local" 0 15 (tramp-default t)) nil "" nil)) funcall(tramp-action-password # (tramp-file-name "sudo" #("root" 0 4 (tramp-default t)) nil #("MobileCat.local" 0 15 (tramp-default t)) nil "" nil)) (setq found (funcall action proc vec)) (progn (tramp-message vec 5 "Call `%s'" (symbol-name action)) (setq found (funcall action proc vec))) (if (tramp-check-for-regexp proc pattern) (progn (tramp-message vec 5 "Call `%s'" (symbol-name action)) (setq found (funcall action proc vec)))) (while todo (setq item (car-safe (prog1 todo (setq todo (cdr todo))))) (setq pattern (format "\\(%s\\)\\'" (symbol-value (nth 0 item)))) (setq action (nth 1 item)) (tramp-message vec 5 "Looking for regexp \"%s\" from remote shell" pattern) (if (tramp-check-for-regexp proc pattern) (progn (tramp-message vec 5 "Call `%s'" (symbol-name action)) (setq found (funcall action proc vec))))) (while (not found) (while (tramp-accept-process-output proc 0)) (setq todo actions) (while todo (setq item (car-safe (prog1 todo (setq todo (cdr todo))))) (setq pattern (format "\\(%s\\)\\'" (symbol-value (nth 0 item)))) (setq action (nth 1 item)) (tramp-message vec 5 "Looking for regexp \"%s\" from remote shell" pattern) (if (tramp-check-for-regexp proc pattern) (progn (tramp-message vec 5 "Call `%s'" (symbol-name action)) (setq found (funcall action proc vec)))))) (let ((case-fold-search t) found todo item pattern action) (while (not found) (while (tramp-accept-process-output proc 0)) (setq todo actions) (while todo (setq item (car-safe (prog1 todo (setq todo (cdr todo))))) (setq pattern (format "\\(%s\\)\\'" (symbol-value (nth 0 item)))) (setq action (nth 1 item)) (tramp-message vec 5 "Looking for regexp \"%s\" from remote shell" pattern) (if (tramp-check-for-regexp proc pattern) (progn (tramp-message vec 5 "Call `%s'" (symbol-name action)) (setq found (funcall action proc vec)))))) found) tramp-process-one-action(# (tramp-file-name "sudo" #("root" 0 4 (tramp-default t)) nil #("MobileCat.local" 0 15 (tramp-default t)) nil "" nil) ((tramp-login-prompt-regexp tramp-action-login) (tramp-password-prompt-regexp tramp-action-password) (tramp-wrong-passwd-regexp tramp-action-permission-denied) (shell-prompt-pattern tramp-action-succeed) (tramp-shell-prompt-pattern tramp-action-succeed) (tramp-yesno-prompt-regexp tramp-action-yesno) (tramp-yn-prompt-regexp tramp-action-yn) (tramp-terminal-prompt-regexp tramp-action-terminal) (tramp-antispoof-regexp tramp-action-confirm-message) (tramp-process-alive-regexp tramp-action-process-alive))) (catch 'tramp-action (tramp-process-one-action proc vec actions)) (setq exit (catch 'tramp-action (tramp-process-one-action proc vec actions))) (while (not exit) (setq exit (catch 'tramp-action (tramp-process-one-action proc vec actions)))) (progn (while (not exit) (setq exit (catch 'tramp-action (tramp-process-one-action proc vec actions))))) (unwind-protect (progn (while (not exit) (setq exit (catch 'tramp-action (tramp-process-one-action proc vec actions))))) (cancel-timer -with-timeout-timer-)) (let* ((-with-timeout-timer- (run-with-timer timeout nil #'(lambda nil (throw 'timeout 'timeout)))) (with-timeout-timers (cons -with-timeout-timer- with-timeout-timers))) (unwind-protect (progn (while (not exit) (setq exit (catch 'tramp-action (tramp-process-one-action proc vec actions))))) (cancel-timer -with-timeout-timer-))) (catch 'timeout (let* ((-with-timeout-timer- (run-with-timer timeout nil #'(lambda nil (throw ... ...)))) (with-timeout-timers (cons -with-timeout-timer- with-timeout-timers))) (unwind-protect (progn (while (not exit) (setq exit (catch 'tramp-action (tramp-process-one-action proc vec actions))))) (cancel-timer -with-timeout-timer-)))) (let ((-with-timeout-value- (catch 'timeout (let* ((-with-timeout-timer- (run-with-timer timeout nil ...)) (with-timeout-timers (cons -with-timeout-timer- with-timeout-timers))) (unwind-protect (progn (while ... ...)) (cancel-timer -with-timeout-timer-)))))) (if (eq -with-timeout-value- 'timeout) (progn (setq exit 'timeout)) -with-timeout-value-)) (if timeout (let ((-with-timeout-value- (catch 'timeout (let* ((-with-timeout-timer- ...) (with-timeout-timers ...)) (unwind-protect (progn ...) (cancel-timer -with-timeout-timer-)))))) (if (eq -with-timeout-value- 'timeout) (progn (setq exit 'timeout)) -with-timeout-value-)) (while (not exit) (setq exit (catch 'tramp-action (tramp-process-one-action proc vec actions))))) (let (exit) (if timeout (let ((-with-timeout-value- (catch 'timeout (let* (... ...) (unwind-protect ... ...))))) (if (eq -with-timeout-value- 'timeout) (progn (setq exit 'timeout)) -with-timeout-value-)) (while (not exit) (setq exit (catch 'tramp-action (tramp-process-one-action proc vec actions))))) (save-current-buffer (set-buffer (tramp-get-connection-buffer vec)) (widen) (tramp-message vec 6 "\n%s" (buffer-string))) (if (eq exit 'ok) (condition-case nil (progn (and (functionp tramp-password-save-function) (funcall tramp-password-save-function))) (error nil)) (tramp-clear-passwd vec) (delete-process proc) (tramp-error-with-buffer (tramp-get-connection-buffer vec) vec 'file-error (cond ((eq exit 'permission-denied) "Permission denied") ((eq exit 'out-of-band-failed) (format-message "Copy failed, see buffer `%s' for details" (tramp-get-connection-buffer vec))) ((eq exit 'process-died) (substitute-command-keys '"Tramp failed to connect. If this happens repeated...")) ((eq exit 'timeout) (format-message "Timeout reached, see buffer `%s' for details" (tramp-get-connection-buffer vec))) (t "Login failed"))))) (progn (let (exit) (if timeout (let ((-with-timeout-value- (catch 'timeout (let* ... ...)))) (if (eq -with-timeout-value- 'timeout) (progn (setq exit 'timeout)) -with-timeout-value-)) (while (not exit) (setq exit (catch 'tramp-action (tramp-process-one-action proc vec actions))))) (save-current-buffer (set-buffer (tramp-get-connection-buffer vec)) (widen) (tramp-message vec 6 "\n%s" (buffer-string))) (if (eq exit 'ok) (condition-case nil (progn (and (functionp tramp-password-save-function) (funcall tramp-password-save-function))) (error nil)) (tramp-clear-passwd vec) (delete-process proc) (tramp-error-with-buffer (tramp-get-connection-buffer vec) vec 'file-error (cond ((eq exit 'permission-denied) "Permission denied") ((eq exit 'out-of-band-failed) (format-message "Copy failed, see buffer `%s' for details" (tramp-get-connection-buffer vec))) ((eq exit 'process-died) (substitute-command-keys '"Tramp failed to connect. If this happens repeated...")) ((eq exit 'timeout) (format-message "Timeout reached, see buffer `%s' for details" (tramp-get-connection-buffer vec))) (t "Login failed"))))) (if (numberp pos) (progn (save-current-buffer (set-buffer (tramp-get-connection-buffer vec)) (let ((inhibit-read-only t)) (delete-region pos (point))))))) (prog1 (progn (let (exit) (if timeout (let ((-with-timeout-value- (catch ... ...))) (if (eq -with-timeout-value- 'timeout) (progn (setq exit ...)) -with-timeout-value-)) (while (not exit) (setq exit (catch 'tramp-action (tramp-process-one-action proc vec actions))))) (save-current-buffer (set-buffer (tramp-get-connection-buffer vec)) (widen) (tramp-message vec 6 "\n%s" (buffer-string))) (if (eq exit 'ok) (condition-case nil (progn (and (functionp tramp-password-save-function) (funcall tramp-password-save-function))) (error nil)) (tramp-clear-passwd vec) (delete-process proc) (tramp-error-with-buffer (tramp-get-connection-buffer vec) vec 'file-error (cond ((eq exit ...) "Permission denied") ((eq exit ...) (format-message "Copy failed, see buffer `%s' for details" ...)) ((eq exit ...) (substitute-command-keys ...)) ((eq exit ...) (format-message "Timeout reached, see buffer `%s' for details" ...)) (t "Login failed"))))) (if (numberp pos) (progn (save-current-buffer (set-buffer (tramp-get-connection-buffer vec)) (let ((inhibit-read-only t)) (delete-region pos (point))))))) (setq cookie "done")) (unwind-protect (prog1 (progn (let (exit) (if timeout (let ((-with-timeout-value- ...)) (if (eq -with-timeout-value- ...) (progn ...) -with-timeout-value-)) (while (not exit) (setq exit (catch ... ...)))) (save-current-buffer (set-buffer (tramp-get-connection-buffer vec)) (widen) (tramp-message vec 6 "\n%s" (buffer-string))) (if (eq exit 'ok) (condition-case nil (progn (and ... ...)) (error nil)) (tramp-clear-passwd vec) (delete-process proc) (tramp-error-with-buffer (tramp-get-connection-buffer vec) vec 'file-error (cond (... "Permission denied") (... ...) (... ...) (... ...) (t "Login failed"))))) (if (numberp pos) (progn (save-current-buffer (set-buffer (tramp-get-connection-buffer vec)) (let (...) (delete-region pos ...)))))) (setq cookie "done")) (if tm (cancel-timer tm)) (tramp-message proc 3 "%s...%s" "Waiting for prompts from remote shell" cookie)) (let ((cookie "failed") (tm (if (and tramp-message-show-message (<= 3 (min tramp-verbose 3))) (progn (let ((pr ...)) (if pr (progn ...))))))) (unwind-protect (prog1 (progn (let (exit) (if timeout (let (...) (if ... ... -with-timeout-value-)) (while (not exit) (setq exit ...))) (save-current-buffer (set-buffer (tramp-get-connection-buffer vec)) (widen) (tramp-message vec 6 "\n%s" (buffer-string))) (if (eq exit 'ok) (condition-case nil (progn ...) (error nil)) (tramp-clear-passwd vec) (delete-process proc) (tramp-error-with-buffer (tramp-get-connection-buffer vec) vec 'file-error (cond ... ... ... ... ...)))) (if (numberp pos) (progn (save-current-buffer (set-buffer ...) (let ... ...))))) (setq cookie "done")) (if tm (cancel-timer tm)) (tramp-message proc 3 "%s...%s" "Waiting for prompts from remote shell" cookie))) (progn (tramp-message proc 3 "%s..." "Waiting for prompts from remote shell") (let ((cookie "failed") (tm (if (and tramp-message-show-message (<= 3 (min tramp-verbose 3))) (progn (let (...) (if pr ...)))))) (unwind-protect (prog1 (progn (let (exit) (if timeout (let ... ...) (while ... ...)) (save-current-buffer (set-buffer ...) (widen) (tramp-message vec 6 "\n%s" ...)) (if (eq exit ...) (condition-case nil ... ...) (tramp-clear-passwd vec) (delete-process proc) (tramp-error-with-buffer ... vec ... ...))) (if (numberp pos) (progn (save-current-buffer ... ...)))) (setq cookie "done")) (if tm (cancel-timer tm)) (tramp-message proc 3 "%s...%s" "Waiting for prompts from remote shell" cookie)))) (save-restriction (progn (tramp-message proc 3 "%s..." "Waiting for prompts from remote shell") (let ((cookie "failed") (tm (if (and tramp-message-show-message (<= 3 ...)) (progn (let ... ...))))) (unwind-protect (prog1 (progn (let (exit) (if timeout ... ...) (save-current-buffer ... ... ...) (if ... ... ... ... ...)) (if (numberp pos) (progn ...))) (setq cookie "done")) (if tm (cancel-timer tm)) (tramp-message proc 3 "%s...%s" "Waiting for prompts from remote shell" cookie))))) tramp-process-actions(# (tramp-file-name "sudo" #("root" 0 4 (tramp-default t)) nil #("MobileCat.local" 0 15 (tramp-default t)) nil "" nil) 1 ((tramp-login-prompt-regexp tramp-action-login) (tramp-password-prompt-regexp tramp-action-password) (tramp-wrong-passwd-regexp tramp-action-permission-denied) (shell-prompt-pattern tramp-action-succeed) (tramp-shell-prompt-pattern tramp-action-succeed) (tramp-yesno-prompt-regexp tramp-action-yesno) (tramp-yn-prompt-regexp tramp-action-yn) (tramp-terminal-prompt-regexp tramp-action-terminal) (tramp-antispoof-regexp tramp-action-confirm-message) (tramp-process-alive-regexp tramp-action-process-alive)) 10) tramp-maybe-open-connection((tramp-file-name "sudo" #("root" 0 4 (tramp-default t)) nil #("MobileCat.local" 0 15 (tramp-default t)) nil "" nil)) tramp-send-command((tramp-file-name "sudo" #("root" 0 4 (tramp-default t)) nil #("MobileCat.local" 0 15 (tramp-default t)) nil "" nil) #("cd ~root && pwd" 4 8 (tramp-default t))) tramp-sh-handle-expand-file-name(#("/sudo:root@MobileCat.local:" 6 10 (tramp-default t) 11 26 (tramp-default t)) nil) apply(tramp-sh-handle-expand-file-name (#("/sudo:root@MobileCat.local:" 6 10 (tramp-default t) 11 26 (tramp-default t)) nil)) tramp-sh-file-name-handler(expand-file-name #("/sudo:root@MobileCat.local:" 6 10 (tramp-default t) 11 26 (tramp-default t)) nil) apply(tramp-sh-file-name-handler expand-file-name (#("/sudo:root@MobileCat.local:" 6 10 (tramp-default t) 11 26 (tramp-default t)) nil)) (let ((tramp-locker t)) (apply foreign operation args)) (unwind-protect (let ((tramp-locker t)) (apply foreign operation args)) (setq tramp-locked tl)) (let ((tl tramp-locked)) (setq tramp-locked t) (unwind-protect (let ((tramp-locker t)) (apply foreign operation args)) (setq tramp-locked tl))) (catch 'suppress (if (and tramp-locked (not tramp-locker)) (progn (setq tramp-locked nil) (tramp-error v 'file-error "Forbidden reentrant call of Tramp"))) (let ((tl tramp-locked)) (setq tramp-locked t) (unwind-protect (let ((tramp-locker t)) (apply foreign operation args)) (setq tramp-locked tl)))) (catch 'non-essential (catch 'suppress (if (and tramp-locked (not tramp-locker)) (progn (setq tramp-locked nil) (tramp-error v 'file-error "Forbidden reentrant call of Tramp"))) (let ((tl tramp-locked)) (setq tramp-locked t) (unwind-protect (let ((tramp-locker t)) (apply foreign operation args)) (setq tramp-locked tl))))) (setq result (catch 'non-essential (catch 'suppress (if (and tramp-locked (not tramp-locker)) (progn (setq tramp-locked nil) (tramp-error v 'file-error "Forbidden reentrant call of Tramp"))) (let ((tl tramp-locked)) (setq tramp-locked t) (unwind-protect (let ((tramp-locker t)) (apply foreign operation args)) (setq tramp-locked tl)))))) (let ((sf (symbol-function foreign))) (if (autoloadp sf) (progn (let ((default-directory (tramp-compat-temporary-file-directory)) file-name-handler-alist) (autoload-do-load sf foreign)))) (setq result (catch 'non-essential (catch 'suppress (if (and tramp-locked (not tramp-locker)) (progn (setq tramp-locked nil) (tramp-error v 'file-error "Forbidden reentrant call of Tramp"))) (let ((tl tramp-locked)) (setq tramp-locked t) (unwind-protect (let (...) (apply foreign operation args)) (setq tramp-locked tl)))))) (cond ((eq result 'non-essential) (tramp-message v 5 "Non-essential received in operation %s" (cons operation args)) (tramp-run-real-handler operation args)) ((eq result 'suppress) (let (tramp-message-show-message) (tramp-message v 1 "Suppress received in operation %s" (cons operation args)) (tramp-cleanup-connection v t) (tramp-run-real-handler operation args))) (t result))) (if foreign (let ((sf (symbol-function foreign))) (if (autoloadp sf) (progn (let ((default-directory (tramp-compat-temporary-file-directory)) file-name-handler-alist) (autoload-do-load sf foreign)))) (setq result (catch 'non-essential (catch 'suppress (if (and tramp-locked (not tramp-locker)) (progn (setq tramp-locked nil) (tramp-error v ... "Forbidden reentrant call of Tramp"))) (let ((tl tramp-locked)) (setq tramp-locked t) (unwind-protect (let ... ...) (setq tramp-locked tl)))))) (cond ((eq result 'non-essential) (tramp-message v 5 "Non-essential received in operation %s" (cons operation args)) (tramp-run-real-handler operation args)) ((eq result 'suppress) (let (tramp-message-show-message) (tramp-message v 1 "Suppress received in operation %s" (cons operation args)) (tramp-cleanup-connection v t) (tramp-run-real-handler operation args))) (t result))) (setq result (tramp-run-real-handler operation args)) (if (stringp result) (tramp-drop-volume-letter result) result)) (unwind-protect (if foreign (let ((sf (symbol-function foreign))) (if (autoloadp sf) (progn (let ((default-directory ...) file-name-handler-alist) (autoload-do-load sf foreign)))) (setq result (catch 'non-essential (catch 'suppress (if (and tramp-locked ...) (progn ... ...)) (let (...) (setq tramp-locked t) (unwind-protect ... ...))))) (cond ((eq result 'non-essential) (tramp-message v 5 "Non-essential received in operation %s" (cons operation args)) (tramp-run-real-handler operation args)) ((eq result 'suppress) (let (tramp-message-show-message) (tramp-message v 1 "Suppress received in operation %s" (cons operation args)) (tramp-cleanup-connection v t) (tramp-run-real-handler operation args))) (t result))) (setq result (tramp-run-real-handler operation args)) (if (stringp result) (tramp-drop-volume-letter result) result)) (if (tramp-file-name-equal-p (car current-connection) (car tramp-current-connection)) nil (setq tramp-current-connection current-connection))) (let ((current-connection tramp-current-connection) (foreign (tramp-find-foreign-file-name-handler filename operation)) (signal-hook-function #'tramp-signal-hook-function) result) (if (tramp-file-name-equal-p v (car tramp-current-connection)) nil (setq tramp-current-connection (list v))) (unwind-protect (if foreign (let ((sf (symbol-function foreign))) (if (autoloadp sf) (progn (let (... file-name-handler-alist) (autoload-do-load sf foreign)))) (setq result (catch 'non-essential (catch 'suppress (if ... ...) (let ... ... ...)))) (cond ((eq result 'non-essential) (tramp-message v 5 "Non-essential received in operation %s" (cons operation args)) (tramp-run-real-handler operation args)) ((eq result 'suppress) (let (tramp-message-show-message) (tramp-message v 1 "Suppress received in operation %s" ...) (tramp-cleanup-connection v t) (tramp-run-real-handler operation args))) (t result))) (setq result (tramp-run-real-handler operation args)) (if (stringp result) (tramp-drop-volume-letter result) result)) (if (tramp-file-name-equal-p (car current-connection) (car tramp-current-connection)) nil (setq tramp-current-connection current-connection)))) (let* ((v (tramp-dissect-file-name filename)) (method (progn (or (progn (and (memq ... cl-struct-tramp-file-name-tags) t)) (signal 'wrong-type-argument (list 'tramp-file-name v))) (nth 1 v))) (user (progn (or (progn (and (memq ... cl-struct-tramp-file-name-tags) t)) (signal 'wrong-type-argument (list 'tramp-file-name v))) (nth 2 v))) (domain (progn (or (progn (and (memq ... cl-struct-tramp-file-name-tags) t)) (signal 'wrong-type-argument (list 'tramp-file-name v))) (nth 3 v))) (host (progn (or (progn (and (memq ... cl-struct-tramp-file-name-tags) t)) (signal 'wrong-type-argument (list 'tramp-file-name v))) (nth 4 v))) (port (progn (or (progn (and (memq ... cl-struct-tramp-file-name-tags) t)) (signal 'wrong-type-argument (list 'tramp-file-name v))) (nth 5 v))) (localname (progn (or (progn (and (memq ... cl-struct-tramp-file-name-tags) t)) (signal 'wrong-type-argument (list 'tramp-file-name v))) (nth 6 v))) (hop (progn (or (progn (and (memq ... cl-struct-tramp-file-name-tags) t)) (signal 'wrong-type-argument (list 'tramp-file-name v))) (nth 7 v)))) (ignore method user domain host port localname hop) (let ((current-connection tramp-current-connection) (foreign (tramp-find-foreign-file-name-handler filename operation)) (signal-hook-function #'tramp-signal-hook-function) result) (if (tramp-file-name-equal-p v (car tramp-current-connection)) nil (setq tramp-current-connection (list v))) (unwind-protect (if foreign (let ((sf (symbol-function foreign))) (if (autoloadp sf) (progn (let ... ...))) (setq result (catch 'non-essential (catch ... ... ...))) (cond ((eq result ...) (tramp-message v 5 "Non-essential received in operation %s" ...) (tramp-run-real-handler operation args)) ((eq result ...) (let ... ... ... ...)) (t result))) (setq result (tramp-run-real-handler operation args)) (if (stringp result) (tramp-drop-volume-letter result) result)) (if (tramp-file-name-equal-p (car current-connection) (car tramp-current-connection)) nil (setq tramp-current-connection current-connection))))) (progn (setq filename (tramp-replace-environment-variables filename)) (let* ((v (tramp-dissect-file-name filename)) (method (progn (or (progn (and ... t)) (signal 'wrong-type-argument (list ... v))) (nth 1 v))) (user (progn (or (progn (and ... t)) (signal 'wrong-type-argument (list ... v))) (nth 2 v))) (domain (progn (or (progn (and ... t)) (signal 'wrong-type-argument (list ... v))) (nth 3 v))) (host (progn (or (progn (and ... t)) (signal 'wrong-type-argument (list ... v))) (nth 4 v))) (port (progn (or (progn (and ... t)) (signal 'wrong-type-argument (list ... v))) (nth 5 v))) (localname (progn (or (progn (and ... t)) (signal 'wrong-type-argument (list ... v))) (nth 6 v))) (hop (progn (or (progn (and ... t)) (signal 'wrong-type-argument (list ... v))) (nth 7 v)))) (ignore method user domain host port localname hop) (let ((current-connection tramp-current-connection) (foreign (tramp-find-foreign-file-name-handler filename operation)) (signal-hook-function #'tramp-signal-hook-function) result) (if (tramp-file-name-equal-p v (car tramp-current-connection)) nil (setq tramp-current-connection (list v))) (unwind-protect (if foreign (let ((sf ...)) (if (autoloadp sf) (progn ...)) (setq result (catch ... ...)) (cond (... ... ...) (... ...) (t result))) (setq result (tramp-run-real-handler operation args)) (if (stringp result) (tramp-drop-volume-letter result) result)) (if (tramp-file-name-equal-p (car current-connection) (car tramp-current-connection)) nil (setq tramp-current-connection current-connection)))))) (unwind-protect (progn (setq filename (tramp-replace-environment-variables filename)) (let* ((v (tramp-dissect-file-name filename)) (method (progn (or (progn ...) (signal ... ...)) (nth 1 v))) (user (progn (or (progn ...) (signal ... ...)) (nth 2 v))) (domain (progn (or (progn ...) (signal ... ...)) (nth 3 v))) (host (progn (or (progn ...) (signal ... ...)) (nth 4 v))) (port (progn (or (progn ...) (signal ... ...)) (nth 5 v))) (localname (progn (or (progn ...) (signal ... ...)) (nth 6 v))) (hop (progn (or (progn ...) (signal ... ...)) (nth 7 v)))) (ignore method user domain host port localname hop) (let ((current-connection tramp-current-connection) (foreign (tramp-find-foreign-file-name-handler filename operation)) (signal-hook-function #'tramp-signal-hook-function) result) (if (tramp-file-name-equal-p v (car tramp-current-connection)) nil (setq tramp-current-connection (list v))) (unwind-protect (if foreign (let (...) (if ... ...) (setq result ...) (cond ... ... ...)) (setq result (tramp-run-real-handler operation args)) (if (stringp result) (tramp-drop-volume-letter result) result)) (if (tramp-file-name-equal-p (car current-connection) (car tramp-current-connection)) nil (setq tramp-current-connection current-connection)))))) (set-match-data save-match-data-internal 'evaporate)) (let ((save-match-data-internal (match-data))) (unwind-protect (progn (setq filename (tramp-replace-environment-variables filename)) (let* ((v (tramp-dissect-file-name filename)) (method (progn (or ... ...) (nth 1 v))) (user (progn (or ... ...) (nth 2 v))) (domain (progn (or ... ...) (nth 3 v))) (host (progn (or ... ...) (nth 4 v))) (port (progn (or ... ...) (nth 5 v))) (localname (progn (or ... ...) (nth 6 v))) (hop (progn (or ... ...) (nth 7 v)))) (ignore method user domain host port localname hop) (let ((current-connection tramp-current-connection) (foreign (tramp-find-foreign-file-name-handler filename operation)) (signal-hook-function #'tramp-signal-hook-function) result) (if (tramp-file-name-equal-p v (car tramp-current-connection)) nil (setq tramp-current-connection (list v))) (unwind-protect (if foreign (let ... ... ... ...) (setq result ...) (if ... ... result)) (if (tramp-file-name-equal-p ... ...) nil (setq tramp-current-connection current-connection)))))) (set-match-data save-match-data-internal 'evaporate))) (if (tramp-tramp-file-p filename) (let ((save-match-data-internal (match-data))) (unwind-protect (progn (setq filename (tramp-replace-environment-variables filename)) (let* ((v (tramp-dissect-file-name filename)) (method (progn ... ...)) (user (progn ... ...)) (domain (progn ... ...)) (host (progn ... ...)) (port (progn ... ...)) (localname (progn ... ...)) (hop (progn ... ...))) (ignore method user domain host port localname hop) (let ((current-connection tramp-current-connection) (foreign ...) (signal-hook-function ...) result) (if (tramp-file-name-equal-p v ...) nil (setq tramp-current-connection ...)) (unwind-protect (if foreign ... ... ...) (if ... nil ...))))) (set-match-data save-match-data-internal 'evaporate))) (tramp-run-real-handler operation args)) (let ((filename (apply #'tramp-file-name-for-operation operation args)) (non-essential (or non-essential (eq operation 'file-remote-p)))) (if (tramp-tramp-file-p filename) (let ((save-match-data-internal (match-data))) (unwind-protect (progn (setq filename (tramp-replace-environment-variables filename)) (let* ((v ...) (method ...) (user ...) (domain ...) (host ...) (port ...) (localname ...) (hop ...)) (ignore method user domain host port localname hop) (let (... ... ... result) (if ... nil ...) (unwind-protect ... ...)))) (set-match-data save-match-data-internal 'evaporate))) (tramp-run-real-handler operation args))) tramp-file-name-handler(expand-file-name #("/sudo:root@MobileCat.local:" 6 10 (tramp-default t) 11 26 (tramp-default t)) nil) file-exists-p(#("/sudo:root@MobileCat.local:" 6 10 (tramp-default t) 11 26 (tramp-default t))) completion-file-name-table(#("/sudo:root@MobileCat.local:" 6 10 (tramp-default t) 11 26 (tramp-default t)) file-exists-p lambda) test-completion(#("/sudo:root@MobileCat.local:" 6 10 (tramp-default t) 11 26 (tramp-default t)) completion-file-name-table file-exists-p) completion--file-name-table("/sudo::" file-exists-p lambda) complete-with-action(lambda completion--file-name-table "/sudo::" file-exists-p) #f(compiled-function (table) #)(completion--file-name-table) completion--some(#f(compiled-function (table) #) (completion--embedded-envvar-table completion--file-name-table)) read-file-name-internal("/sudo::" file-exists-p lambda) test-completion("/sudo::" read-file-name-internal file-exists-p) completion--complete-and-exit(12 19 exit-minibuffer #f(compiled-function () #)) completion-complete-and-exit(12 19 exit-minibuffer) minibuffer-complete-and-exit() funcall-interactively(minibuffer-complete-and-exit) call-interactively(minibuffer-complete-and-exit nil nil) command-execute(minibuffer-complete-and-exit) read-from-minibuffer("Find file: " "/" (keymap (keymap (32)) keymap (10 . minibuffer-complete-and-exit) (13 . minibuffer-complete-and-exit) keymap (menu-bar keymap (minibuf "Minibuf" keymap (tab menu-item "Complete" minibuffer-complete :help "Complete as far as possible") (space menu-item "Complete Word" minibuffer-complete-word :help "Complete at most one word") (63 menu-item "List Completions" minibuffer-completion-help :help "Display all possible completions") "Minibuf")) (27 keymap (118 . switch-to-completions)) (prior . switch-to-completions) (63 . minibuffer-completion-help) (32 . minibuffer-complete-word) (9 . minibuffer-complete) keymap (menu-bar keymap (minibuf "Minibuf" keymap (previous menu-item "Previous History Item" previous-history-element :help "Put previous minibuffer history element in the min...") (next menu-item "Next History Item" next-history-element :help "Put next minibuffer history element in the minibuf...") (isearch-backward menu-item "Isearch History Backward" isearch-backward :help "Incrementally search minibuffer history backward") (isearch-forward menu-item "Isearch History Forward" isearch-forward :help "Incrementally search minibuffer history forward") (return menu-item "Enter" exit-minibuffer :key-sequence "\15" :help "Terminate input and exit minibuffer") (quit menu-item "Quit" abort-recursive-edit :help "Abort input and exit minibuffer") "Minibuf")) (10 . exit-minibuffer) (13 . exit-minibuffer) (7 . abort-recursive-edit) (C-tab . file-cache-minibuffer-complete) (9 . self-insert-command) (XF86Back . previous-history-element) (up . previous-line-or-history-element) (prior . previous-history-element) (XF86Forward . next-history-element) (down . next-line-or-history-element) (next . next-history-element) (27 keymap (60 . minibuffer-beginning-of-buffer) (114 . previous-matching-history-element) (115 . next-matching-history-element) (112 . previous-history-element) (110 . next-history-element))) nil file-name-history "/" nil) completing-read-default("Find file: " read-file-name-internal file-exists-p confirm-after-completion "/" file-name-history "/" nil) completing-read("Find file: " read-file-name-internal file-exists-p confirm-after-completion "/" file-name-history "/") read-file-name-default("Find file: " nil "/" confirm-after-completion nil nil) read-file-name("Find file: " nil "/" confirm-after-completion) find-file-read-args("Find file: " confirm-after-completion) byte-code("\300\301\302 \"\207" [find-file-read-args "Find file: " confirm-nonexistent-file-or-buffer] 3) call-interactively(find-file nil nil) command-execute(find-file)