emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: TRAMP: Host name must not match method ...


From: Matt McClure
Subject: Re: TRAMP: Host name must not match method ...
Date: Sat, 17 Aug 2013 13:18:04 -0400

On Fri, Aug 16, 2013 at 9:15 AM, Michael Albinus <address@hidden> wrote:
> Matt McClure <address@hidden> writes:
>
> I'm not able to reproduce it. Trying with other IP address and user name
> of course, but it works locally (as every single day) for me.

Weird. FWIW, I'm using:

GNU Emacs 24.3.50.1 (x86_64-apple-darwin, NS apple-appkit-1038.36) of
2013-08-14 on bob.porkrind.org

> It is unclear where the error comes from. Could you, please, perform
>
> (setq debug-on-error t tramp-verbose 6)
>
> and rerun the test. There might be a backtrace, and there will be a
> Tramp debug buffer. Both might show us what's up.

That wasn't enough to get Emacs to show me a backtrace, but still a
good lead. I put a breakpoint in tramp-dissect-file-name at:

       (tramp-compat-user-error
        "Host name must not match method `%s'" host)))

I see it stop at the breakpoint while I'm typing the file path. The
first time, it stops after I type the colon in "/ssh:". Something must
trap the signal from inside tramp-compat-user-error before it leaks
back to me as the user, because I never get a (visual) bell.

Here's the backtrace the first time it stops:

      (progn (edebug-after (edebug-before 91) 93
(tramp-compat-user-error "Host name must not match method `%s'"
(edebug-after 0 92 host))))
      (if (edebug-after (edebug-before 70) 90 (and (edebug-after
(edebug-before 71) 73 (equal (edebug-after 0 72 tramp-syntax) (quote
ftp))) (edebug-after (edebug-before 74) 76 (null (edebug-after 0 75
method))) (edebug-after (edebug-before 77) 79 (null (edebug-after 0 78
user))) (edebug-after (edebug-before 80) 85 (member (edebug-after 0 81
host) (edebug-after (edebug-before 82) 84 (mapcar (quote car)
(edebug-after 0 83 tramp-methods))))) (edebug-after (edebug-before 86)
89 (not (edebug-after (edebug-before 87) 88
(tramp-completion-mode-p)))))) (progn (edebug-after (edebug-before 91)
93 (tramp-compat-user-error "Host name must not match method `%s'"
(edebug-after 0 92 host)))))
      (progn (edebug-after (edebug-before 47) 57 (if (edebug-after
(edebug-before 48) 51 (string-match (edebug-after 0 49
tramp-prefix-ipv6-regexp) (edebug-after 0 50 host))) (progn
(edebug-after (edebug-before 52) 56 (setq host (edebug-after
(edebug-before 53) 55 (replace-match "" nil t ...))))))) (edebug-after
(edebug-before 58) 68 (if (edebug-after (edebug-before 59) 62
(string-match (edebug-after 0 60 tramp-postfix-ipv6-regexp)
(edebug-after 0 61 host))) (progn (edebug-after (edebug-before 63) 67
(setq host (edebug-after (edebug-before 64) 66 (replace-match "" nil t
...))))))) (edebug-after (edebug-before 69) 94 (if (edebug-after
(edebug-before 70) 90 (and (edebug-after (edebug-before 71) 73 (equal
(edebug-after 0 72 tramp-syntax) (quote ftp))) (edebug-after
(edebug-before 74) 76 (null (edebug-after 0 75 method))) (edebug-after
(edebug-before 77) 79 (null (edebug-after 0 78 user))) (edebug-after
(edebug-before 80) 85 (member (edebug-after 0 81 host) (edebug-after
... 84 ...))) (edebug-after (edebug-before 86) 89 (not (edebug-after
... 88 ...))))) (progn (edebug-after (edebug-before 91) 93
(tramp-compat-user-error "Host name must not match method `%s'"
(edebug-after 0 92 host)))))))
      (if (edebug-after 0 46 host) (progn (edebug-after (edebug-before
47) 57 (if (edebug-after (edebug-before 48) 51 (string-match
(edebug-after 0 49 tramp-prefix-ipv6-regexp) (edebug-after 0 50
host))) (progn (edebug-after (edebug-before 52) 56 (setq host
(edebug-after ... 55 ...)))))) (edebug-after (edebug-before 58) 68 (if
(edebug-after (edebug-before 59) 62 (string-match (edebug-after 0 60
tramp-postfix-ipv6-regexp) (edebug-after 0 61 host))) (progn
(edebug-after (edebug-before 63) 67 (setq host (edebug-after ... 66
...)))))) (edebug-after (edebug-before 69) 94 (if (edebug-after
(edebug-before 70) 90 (and (edebug-after (edebug-before 71) 73 (equal
... ...)) (edebug-after (edebug-before 74) 76 (null ...))
(edebug-after (edebug-before 77) 79 (null ...)) (edebug-after
(edebug-before 80) 85 (member ... ...)) (edebug-after (edebug-before
86) 89 (not ...)))) (progn (edebug-after (edebug-before 91) 93
(tramp-compat-user-error "Host name must not match method `%s'"
(edebug-after 0 92 host))))))))
      (let ((method (edebug-after (edebug-before 15) 20 (match-string
(edebug-after (edebug-before 16) 18 (nth 1 (edebug-after 0 17
tramp-file-name-structure))) (edebug-after 0 19 name)))) (user
(edebug-after (edebug-before 21) 26 (match-string (edebug-after
(edebug-before 22) 24 (nth 2 (edebug-after 0 23
tramp-file-name-structure))) (edebug-after 0 25 name)))) (host
(edebug-after (edebug-before 27) 32 (match-string (edebug-after
(edebug-before 28) 30 (nth 3 (edebug-after 0 29
tramp-file-name-structure))) (edebug-after 0 31 name)))) (localname
(edebug-after (edebug-before 33) 38 (match-string (edebug-after
(edebug-before 34) 36 (nth 4 (edebug-after 0 35
tramp-file-name-structure))) (edebug-after 0 37 name)))) (hop
(edebug-after (edebug-before 39) 44 (match-string (edebug-after
(edebug-before 40) 42 (nth 5 (edebug-after 0 41
tramp-file-name-structure))) (edebug-after 0 43 name)))))
(edebug-after (edebug-before 45) 95 (if (edebug-after 0 46 host)
(progn (edebug-after (edebug-before 47) 57 (if (edebug-after
(edebug-before 48) 51 (string-match ... ...)) (progn (edebug-after ...
56 ...)))) (edebug-after (edebug-before 58) 68 (if (edebug-after
(edebug-before 59) 62 (string-match ... ...)) (progn (edebug-after ...
67 ...)))) (edebug-after (edebug-before 69) 94 (if (edebug-after
(edebug-before 70) 90 (and ... ... ... ... ...)) (progn (edebug-after
... 93 ...))))))) (edebug-after (edebug-before 96) 124 (if
(edebug-after 0 97 nodefault) (edebug-after (edebug-before 98) 104
(vector (edebug-after 0 99 method) (edebug-after 0 100 user)
(edebug-after 0 101 host) (edebug-after 0 102 localname) (edebug-after
0 103 hop))) (edebug-after (edebug-before 105) 123 (vector
(edebug-after (edebug-before 106) 110 (tramp-find-method (edebug-after
0 107 method) (edebug-after 0 108 user) (edebug-after 0 109 host)))
(edebug-after (edebug-before 111) 115 (tramp-find-user (edebug-after 0
112 method) (edebug-after 0 113 user) (edebug-after 0 114 host)))
(edebug-after (edebug-before 116) 120 (tramp-find-host (edebug-after 0
117 method) (edebug-after 0 118 user) (edebug-after 0 119 host)))
(edebug-after 0 121 localname) (edebug-after 0 122 hop))))))
      (let ((match (edebug-after (edebug-before 2) 7 (string-match
(edebug-after (edebug-before 3) 5 (nth 0 (edebug-after 0 4
tramp-file-name-structure))) (edebug-after 0 6 name))))) (edebug-after
(edebug-before 8) 13 (if (edebug-after 0 9 match) nil (edebug-after
(edebug-before 10) 12 (tramp-compat-user-error "Not a Tramp file name:
%s" (edebug-after 0 11 name))))) (edebug-after (edebug-before 14) 125
(let ((method (edebug-after (edebug-before 15) 20 (match-string
(edebug-after ... 18 ...) (edebug-after 0 19 name)))) (user
(edebug-after (edebug-before 21) 26 (match-string (edebug-after ... 24
...) (edebug-after 0 25 name)))) (host (edebug-after (edebug-before
27) 32 (match-string (edebug-after ... 30 ...) (edebug-after 0 31
name)))) (localname (edebug-after (edebug-before 33) 38 (match-string
(edebug-after ... 36 ...) (edebug-after 0 37 name)))) (hop
(edebug-after (edebug-before 39) 44 (match-string (edebug-after ... 42
...) (edebug-after 0 43 name))))) (edebug-after (edebug-before 45) 95
(if (edebug-after 0 46 host) (progn (edebug-after (edebug-before 47)
57 (if ... ...)) (edebug-after (edebug-before 58) 68 (if ... ...))
(edebug-after (edebug-before 69) 94 (if ... ...))))) (edebug-after
(edebug-before 96) 124 (if (edebug-after 0 97 nodefault) (edebug-after
(edebug-before 98) 104 (vector (edebug-after 0 99 method)
(edebug-after 0 100 user) (edebug-after 0 101 host) (edebug-after 0
102 localname) (edebug-after 0 103 hop))) (edebug-after (edebug-before
105) 123 (vector (edebug-after ... 110 ...) (edebug-after ... 115 ...)
(edebug-after ... 120 ...) (edebug-after 0 121 localname)
(edebug-after 0 122 hop))))))))
      (progn (edebug-after (edebug-before 1) 126 (let ((match
(edebug-after (edebug-before 2) 7 (string-match (edebug-after ... 5
...) (edebug-after 0 6 name))))) (edebug-after (edebug-before 8) 13
(if (edebug-after 0 9 match) nil (edebug-after (edebug-before 10) 12
(tramp-compat-user-error "Not a Tramp file name: %s" (edebug-after 0
11 name))))) (edebug-after (edebug-before 14) 125 (let ((method
(edebug-after ... 20 ...)) (user (edebug-after ... 26 ...)) (host
(edebug-after ... 32 ...)) (localname (edebug-after ... 38 ...)) (hop
(edebug-after ... 44 ...))) (edebug-after (edebug-before 45) 95 (if
(edebug-after 0 46 host) (progn ... ... ...))) (edebug-after
(edebug-before 96) 124 (if (edebug-after 0 97 nodefault) (edebug-after
... 104 ...) (edebug-after ... 123 ...))))))))
      (unwind-protect (progn (edebug-after (edebug-before 1) 126 (let
((match (edebug-after (edebug-before 2) 7 (string-match ... ...))))
(edebug-after (edebug-before 8) 13 (if (edebug-after 0 9 match) nil
(edebug-after (edebug-before 10) 12 (tramp-compat-user-error "Not a
Tramp file name: %s" ...)))) (edebug-after (edebug-before 14) 125 (let
((method ...) (user ...) (host ...) (localname ...) (hop ...))
(edebug-after (edebug-before 45) 95 (if ... ...)) (edebug-after
(edebug-before 96) 124 (if ... ... ...))))))) (set-match-data
save-match-data-internal (quote evaporate)))
      (let ((save-match-data-internal (match-data))) (unwind-protect
(progn (edebug-after (edebug-before 1) 126 (let ((match (edebug-after
... 7 ...))) (edebug-after (edebug-before 8) 13 (if (edebug-after 0 9
match) nil (edebug-after ... 12 ...))) (edebug-after (edebug-before
14) 125 (let (... ... ... ... ...) (edebug-after ... 95 ...)
(edebug-after ... 124 ...)))))) (set-match-data
save-match-data-internal (quote evaporate))))
      tramp-dissect-file-name("/ssh:" t)
      tramp-find-foreign-file-name-handler("/ssh:")
      tramp-file-name-handler(substitute-in-file-name "/ssh:")
      substitute-in-file-name("/ssh:")
      apply(substitute-in-file-name "/ssh:")
      tramp-completion-run-real-handler(substitute-in-file-name ("/ssh:"))
      tramp-completion-file-name-handler(substitute-in-file-name "/ssh:")
      substitute-in-file-name("/ssh:")
      byte-code("\306\307 !\310!\311 d\312\f\203?\f\n=\204*
    \fT\211\313\314\315\217\232*\204?\f=\204\215
    \f\211\313\314\315\217\232*\204\215T\nW\204f\nTdW\203\206
    \nT\211\313\314\315\217\232*\203\206\nTd\211\203\206\n\\\316\245
    address@hidden
#\210\320\321!-\207" [rfn-eshadow-overlay non-essential end start mid
goal substitute-in-file-name minibuffer-contents overlay-end
minibuffer-prompt-end t nil (byte-code "\301\302d\"!\207" [pos
substitute-in-file-name buffer-substring-no-properties] 4) ((error)) 2
move-overlay run-hooks rfn-eshadow-update-overlay-hook pos] 6)
      rfn-eshadow-update-overlay()
      read-from-minibuffer("Find file: "
"/Applications/Emacs.app/Contents/Resources/lisp/net/" (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 minibuffer")
(next menu-item "Next History Item" next-history-element :help "Put
next minibuffer history element in the minibuffer") (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 "
    " :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-history-element) (prior . previous-history-element)
(XF86Forward . next-history-element) (down . next-history-element)
(next . next-history-element) (27 keymap (114 .
previous-matching-history-element) (115 .
next-matching-history-element) (112 . previous-history-element) (110 .
next-history-element))) nil file-name-history
"/Applications/Emacs.app/Contents/Resources/lisp/net/" nil)
      completing-read-default("Find file: " read-file-name-internal
file-exists-p confirm-after-completion
"/Applications/Emacs.app/Contents/Resources/lisp/net/"
file-name-history
"/Applications/Emacs.app/Contents/Resources/lisp/net/" nil)
      completing-read("Find file: " read-file-name-internal
file-exists-p confirm-after-completion
"/Applications/Emacs.app/Contents/Resources/lisp/net/"
file-name-history
"/Applications/Emacs.app/Contents/Resources/lisp/net/")
      read-file-name-default("Find file: " nil
"/Applications/Emacs.app/Contents/Resources/lisp/net/"
confirm-after-completion nil nil)
      read-file-name("Find file: " nil
"/Applications/Emacs.app/Contents/Resources/lisp/net/"
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)

After I continue, it stops at the breakpoint after each character I type in:

    C-x C-f /ssh:address@hidden

When I type the subsequent colon (:), tramp-dissect-file-name no
longer stops at the breakpoint.

It stops at the breakpoint again after I type RET in:

    C-x C-f /ssh:address@hidden:/ RET

This time the backtrace looks different. I notice these two stack
frames that look suspicious:

      substitute-in-file-name("/ssh:address@hidden")
      completion--sifn-requote(27 "/ssh:address@hidden:/")

Here's the complete backtrace:

    Debugger entered: nil
      apply(debug nil nil)
      edebug()
      (progn (edebug) (tramp-compat-user-error "Host name must not
match method `%s'" host))
      (progn (progn (edebug) (tramp-compat-user-error "Host name must
not match method `%s'" host)))
      (if (and (equal tramp-syntax (quote ftp)) (null method) (null
user) (member host (mapcar (quote car) tramp-methods)) (not
(tramp-completion-mode-p))) (progn (progn (edebug)
(tramp-compat-user-error "Host name must not match method `%s'"
host))))
      (progn (if (string-match tramp-prefix-ipv6-regexp host) (progn
(setq host (replace-match "" nil t host)))) (if (string-match
tramp-postfix-ipv6-regexp host) (progn (setq host (replace-match ""
nil t host)))) (if (and (equal tramp-syntax (quote ftp)) (null method)
(null user) (member host (mapcar (quote car) tramp-methods)) (not
(tramp-completion-mode-p))) (progn (progn (edebug)
(tramp-compat-user-error "Host name must not match method `%s'"
host)))))
      (if host (progn (if (string-match tramp-prefix-ipv6-regexp host)
(progn (setq host (replace-match "" nil t host)))) (if (string-match
tramp-postfix-ipv6-regexp host) (progn (setq host (replace-match ""
nil t host)))) (if (and (equal tramp-syntax (quote ftp)) (null method)
(null user) (member host (mapcar (quote car) tramp-methods)) (not
(tramp-completion-mode-p))) (progn (progn (edebug)
(tramp-compat-user-error "Host name must not match method `%s'"
host))))))
      (let ((method (match-string (nth 1 tramp-file-name-structure)
name)) (user (match-string (nth 2 tramp-file-name-structure) name))
(host (match-string (nth 3 tramp-file-name-structure) name))
(localname (match-string (nth 4 tramp-file-name-structure) name)) (hop
(match-string (nth 5 tramp-file-name-structure) name))) (if host
(progn (if (string-match tramp-prefix-ipv6-regexp host) (progn (setq
host (replace-match "" nil t host)))) (if (string-match
tramp-postfix-ipv6-regexp host) (progn (setq host (replace-match ""
nil t host)))) (if (and (equal tramp-syntax (quote ftp)) (null method)
(null user) (member host (mapcar (quote car) tramp-methods)) (not
(tramp-completion-mode-p))) (progn (progn (edebug)
(tramp-compat-user-error "Host name must not match method `%s'"
host)))))) (if nodefault (vector method user host localname hop)
(vector (tramp-find-method method user host) (tramp-find-user method
user host) (tramp-find-host method user host) localname hop)))
      (let ((match (string-match (nth 0 tramp-file-name-structure)
name))) (if match nil (tramp-compat-user-error "Not a Tramp file name:
%s" name)) (let ((method (match-string (nth 1
tramp-file-name-structure) name)) (user (match-string (nth 2
tramp-file-name-structure) name)) (host (match-string (nth 3
tramp-file-name-structure) name)) (localname (match-string (nth 4
tramp-file-name-structure) name)) (hop (match-string (nth 5
tramp-file-name-structure) name))) (if host (progn (if (string-match
tramp-prefix-ipv6-regexp host) (progn (setq host (replace-match "" nil
t host)))) (if (string-match tramp-postfix-ipv6-regexp host) (progn
(setq host (replace-match "" nil t host)))) (if (and (equal
tramp-syntax (quote ftp)) (null method) (null user) (member host
(mapcar ... tramp-methods)) (not (tramp-completion-mode-p))) (progn
(progn (edebug) (tramp-compat-user-error "Host name must not match
method `%s'" host)))))) (if nodefault (vector method user host
localname hop) (vector (tramp-find-method method user host)
(tramp-find-user method user host) (tramp-find-host method user host)
localname hop))))
      (progn (let ((match (string-match (nth 0
tramp-file-name-structure) name))) (if match nil
(tramp-compat-user-error "Not a Tramp file name: %s" name)) (let
((method (match-string (nth 1 tramp-file-name-structure) name)) (user
(match-string (nth 2 tramp-file-name-structure) name)) (host
(match-string (nth 3 tramp-file-name-structure) name)) (localname
(match-string (nth 4 tramp-file-name-structure) name)) (hop
(match-string (nth 5 tramp-file-name-structure) name))) (if host
(progn (if (string-match tramp-prefix-ipv6-regexp host) (progn (setq
host ...))) (if (string-match tramp-postfix-ipv6-regexp host) (progn
(setq host ...))) (if (and (equal tramp-syntax ...) (null method)
(null user) (member host ...) (not ...)) (progn (progn ... ...)))))
(if nodefault (vector method user host localname hop) (vector
(tramp-find-method method user host) (tramp-find-user method user
host) (tramp-find-host method user host) localname hop)))))
      (unwind-protect (progn (let ((match (string-match (nth 0
tramp-file-name-structure) name))) (if match nil
(tramp-compat-user-error "Not a Tramp file name: %s" name)) (let
((method (match-string (nth 1 tramp-file-name-structure) name)) (user
(match-string (nth 2 tramp-file-name-structure) name)) (host
(match-string (nth 3 tramp-file-name-structure) name)) (localname
(match-string (nth 4 tramp-file-name-structure) name)) (hop
(match-string (nth 5 tramp-file-name-structure) name))) (if host
(progn (if (string-match tramp-prefix-ipv6-regexp host) (progn ...))
(if (string-match tramp-postfix-ipv6-regexp host) (progn ...)) (if
(and ... ... ... ... ...) (progn ...)))) (if nodefault (vector method
user host localname hop) (vector (tramp-find-method method user host)
(tramp-find-user method user host) (tramp-find-host method user host)
localname hop))))) (set-match-data save-match-data-internal (quote
evaporate)))
      (let ((save-match-data-internal (match-data))) (unwind-protect
(progn (let ((match (string-match (nth 0 tramp-file-name-structure)
name))) (if match nil (tramp-compat-user-error "Not a Tramp file name:
%s" name)) (let ((method (match-string ... name)) (user (match-string
... name)) (host (match-string ... name)) (localname (match-string ...
name)) (hop (match-string ... name))) (if host (progn (if ... ...) (if
... ...) (if ... ...))) (if nodefault (vector method user host
localname hop) (vector (tramp-find-method method user host)
(tramp-find-user method user host) (tramp-find-host method user host)
localname hop))))) (set-match-data save-match-data-internal (quote
evaporate))))
      tramp-dissect-file-name("/ssh:address@hidden" t)
      tramp-find-foreign-file-name-handler("/ssh:address@hidden")
      tramp-file-name-handler(substitute-in-file-name
"/ssh:address@hidden")
      substitute-in-file-name("/ssh:address@hidden")
      apply(substitute-in-file-name "/ssh:address@hidden")
      tramp-completion-run-real-handler(substitute-in-file-name
("/ssh:address@hidden"))
      tramp-completion-file-name-handler(substitute-in-file-name
"/ssh:address@hidden")
      substitute-in-file-name("/ssh:address@hidden")
      completion--sifn-requote(27 "/ssh:address@hidden:/")
      completion--twq-try("/ssh:address@hidden:/"
"/ssh:address@hidden:/" "/ssh:address@hidden:/" 0
substitute-in-file-name completion--sifn-requote)
      completion--file-name-table("/ssh:address@hidden:/"
file-exists-p nil)
      complete-with-action(nil completion--file-name-table
"/ssh:address@hidden:/" file-exists-p)
      #[257 "\303\302\300\301$\207" ["/ssh:address@hidden:/"
file-exists-p nil complete-with-action] 6 "\n\n(fn
TABLE)"](completion--file-name-table)
      funcall(#[257 "\303\302\300\301$\207"
["/ssh:address@hidden:/" file-exists-p nil complete-with-action]
6 "\n\n(fn TABLE)"] completion--file-name-table)
      (setq res (funcall fun (car (prog1 xs (setq xs (cdr xs))))))
      (condition-case err (setq res (funcall fun (car (prog1 xs (setq
xs (cdr xs)))))) (error (if firsterror nil (setq firsterror err))
nil))
      (while (and (not res) xs) (condition-case err (setq res (funcall
fun (car (prog1 xs (setq xs (cdr xs)))))) (error (if firsterror nil
(setq firsterror err)) nil)))
      (let ((firsterror nil) res) (while (and (not res) xs)
(condition-case err (setq res (funcall fun (car (prog1 xs (setq xs
...))))) (error (if firsterror nil (setq firsterror err)) nil))) (or
res (if firsterror (signal (car firsterror) (cdr firsterror)))))
      completion--some(#[257 "\303\302\300\301$\207"
["/ssh:address@hidden:/" file-exists-p nil complete-with-action]
6 "\n\n(fn TABLE)"] (completion--embedded-envvar-table
completion--file-name-table))
      read-file-name-internal("/ssh:address@hidden:/" file-exists-p nil)
      try-completion("/ssh:address@hidden:/"
read-file-name-internal file-exists-p)
      minibuffer--complete-and-exit(#[0
"\301\302\303D\304\302\305\301EDC\217\211\306>\203\307
\202/\211\310=\203.\204&\307 \202/\311\312!\210\313\202/\313\207"
[minibuffer-completion-confirm err funcall #[0 "\300\301\302\"\207"
[completion--do-completion nil expect-exact] 3 "\n\n(fn)"] error #[257
"\300\207" [1] 2 "\n\n(fn IGNORED)"] (1 3) exit-minibuffer 7
minibuffer-message "Confirm" nil] 6 "\n\n(fn)"])
      minibuffer-complete-and-exit()
      call-interactively(minibuffer-complete-and-exit nil nil)
      command-execute(minibuffer-complete-and-exit)
      read-from-minibuffer("Find file: "
"/Applications/Emacs.app/Contents/Resources/lisp/net/" (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 minibuffer")
(next menu-item "Next History Item" next-history-element :help "Put
next minibuffer history element in the minibuffer") (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 "
    " :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-history-element) (prior . previous-history-element)
(XF86Forward . next-history-element) (down . next-history-element)
(next . next-history-element) (27 keymap (114 .
previous-matching-history-element) (115 .
next-matching-history-element) (112 . previous-history-element) (110 .
next-history-element))) nil file-name-history
"/Applications/Emacs.app/Contents/Resources/lisp/net/" nil)
      completing-read-default("Find file: " read-file-name-internal
file-exists-p confirm-after-completion
"/Applications/Emacs.app/Contents/Resources/lisp/net/"
file-name-history
"/Applications/Emacs.app/Contents/Resources/lisp/net/" nil)
      completing-read("Find file: " read-file-name-internal
file-exists-p confirm-after-completion
"/Applications/Emacs.app/Contents/Resources/lisp/net/"
file-name-history
"/Applications/Emacs.app/Contents/Resources/lisp/net/")
      read-file-name-default("Find file: " nil
"/Applications/Emacs.app/Contents/Resources/lisp/net/"
confirm-after-completion nil nil)
      read-file-name("Find file: " nil
"/Applications/Emacs.app/Contents/Resources/lisp/net/"
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)

-- 
Matt McClure
http://matthewlmcclure.com
http://www.mapmyfitness.com/profile/matthewlmcclure



reply via email to

[Prev in Thread] Current Thread [Next in Thread]