Subject: 24.3.50; tramp+ftp broken
From: Thierry Volpiatto <[email-masked]>
To: [email-masked]
Date: Wed, 06 Feb 2013 14:35:37 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,
I start with emacs -Q

Here some basic setting:

--8<---------------cut here---------------start------------->8---
(setq ange-ftp-try-passive-mode t)
(setq ange-ftp-passive-host-alist '(("mafreebox.freebox.fr" . "on")))
--8<---------------cut here---------------end--------------->8---

C-x C-f /ftp:mafreebox.freebox.fr:/ RET

On emacs-24.2.92, no problems, all is working as expected.

On emacs-24.3.50.1:(cursor at "!")

C-x C-f /ftp:mafreebox.freebox.fr"!"

As soon as I enter the last ":", I have this error:

Debugger entered--Lisp error: (wrong-type-argument stringp nil)
(See complete backtrace below)

When I want to quit emacs with C-x C-c, Emacs offer to save .netrc which
is not modified!, if I press any key (y, n, q etc...) I am prompted again
and again forever until I kill Emacs.

--8<---------------cut here---------------start------------->8---
Debugger entered--Lisp error: (wrong-type-argument stringp nil)
  signal(wrong-type-argument (stringp nil))
  byte-code("\301@A\"\207" [err signal] 3)
  ange-ftp-hook-function(file-remote-p "/ftp:mafreebox.freebox.fr:" nil nil)
  apply(ange-ftp-hook-function file-remote-p ("/ftp:mafreebox.freebox.fr:" nil nil))
  tramp-ftp-file-name-handler(file-remote-p "/ftp:mafreebox.freebox.fr:" nil nil)
  apply(tramp-ftp-file-name-handler file-remote-p ("/ftp:mafreebox.freebox.fr:" nil nil))
  byte-code("\300\301\215\207" [suppress (apply foreign operation args)] 2)
  byte-code("K\306\211<\203\240\n@\307=\203\240\306\310\311!\203\"\312\311\313N@!\206\221\314\315!\2039\316\315!\2044\317\315!\205\221\315 \202\221\320\321!\211\205D\322\f!)\203P\323\320\321!!\202\221\320\324!\211\205[\322\f!)\203g\323\320\324!!\202\221\320\325!\211\205r\322\f!)\203~\323\320\325!!\202\221\326\327!\203\212\323\327!\202\221\330\331!\210\323\332!)\333\n\211*A@)\334\335#\210)\336\337\215\211\336=\203\315+\340\341\342,C-\"C-./0\306\343\344\217,\210\345,-\"\202	\346=\203\377\3061+\347\350\342,C-\"C-./0\306\343\344\217,\210\351+!\210\345,-\")\202	*\207" [foreign result sf file-name-handler-alist d default-directory nil autoload boundp temporary-file-directory eval standard-value fboundp temp-directory subrp functionp getenv "TEMP" file-directory-p file-name-as-directory "TMP" "TMPDIR" file-exists-p "c:/temp" message "Neither `temporary-file-directory' nor `temp-directory' is defined -- using /tmp." "/tmp" load noerror nomessage non-essential (byte-code "\300\301\215\207" [suppress (apply foreign operation args)] 2) 5 "Non-essential received in operation %s" append (byte-code "	X\205}\306 \307\216\203;\310X\203;\311\312\313U\203!\314\2026\315U\203+\314\2026\316U\2035\317\2026\320\fP#\210	\321Y\205|\203d\322!\203d\323\324!!\203dr\324!q\210\325!)\205|\326!\205|\311\327\330\331\"\fP$*\207" [level tramp-verbose save-match-data-internal tramp-message-show-message fmt-string args match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 processp buffer-name process-buffer tramp-dissect-file-name vectorp tramp-debug-message format "(%d) # " vec-or-proc default-directory] 6) ((error)) tramp-run-real-handler suppress 1 "Suppress received in operation %s" tramp-cleanup x v operation args fmt-string level vec-or-proc tramp-message-show-message] 7)
  tramp-file-name-handler(file-remote-p "/ftp:mafreebox.freebox.fr:" nil nil)
  file-remote-p("/ftp:mafreebox.freebox.fr:" nil nil)
  apply(file-remote-p ("/ftp:mafreebox.freebox.fr:" nil nil))
  tramp-completion-run-real-handler(file-remote-p ("/ftp:mafreebox.freebox.fr:" nil nil))
  tramp-completion-file-name-handler(file-remote-p "/ftp:mafreebox.freebox.fr:" nil nil)
  file-remote-p("/ftp:mafreebox.freebox.fr:")
  byte-code("\306\307!\204\f\310\307!\203\307\311J!\206!\306\312!\204\310\312!\205!\312 \313\314\306\315!\2041\310\315!\2055\315	d\"!\205r\212\214\316\n\317 	#\206E	Td}\210\320\211	\306\321!\204\\\310\321!\203c\321	dd#\210\306\322!\204o\310\322!\205q\322 -*\207" [non-essential end tramp-rfn-eshadow-update-overlay-regexp tramp-rfn-eshadow-overlay file-name-handler-alist rfn-eshadow-update-overlay-hook subrp overlay-end functionp rfn-eshadow-overlay minibuffer-prompt-end t file-remote-p buffer-substring-no-properties string-match buffer-string nil move-overlay rfn-eshadow-update-overlay] 4)
  tramp-rfn-eshadow-update-overlay()
  run-hooks(rfn-eshadow-update-overlay-hook)
  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
\f\211\313\314\315\217\232*\203\201\f\211\202@\f\202?\317\311 #\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: " "~/tmp/emacs-savanah-git/src/" (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 "~/tmp/emacs-savanah-git/src/" nil)
  completing-read-default("Find file: " read-file-name-internal file-exists-p confirm-after-completion "~/tmp/emacs-savanah-git/src/" file-name-history "~/tmp/emacs-savanah-git/src/" nil)
  completing-read("Find file: " read-file-name-internal file-exists-p confirm-after-completion "~/tmp/emacs-savanah-git/src/" file-name-history "~/tmp/emacs-savanah-git/src/")
  read-file-name-default("Find file: " nil "~/tmp/emacs-savanah-git/src/" confirm-after-completion nil nil)
  read-file-name("Find file: " nil "~/tmp/emacs-savanah-git/src/" 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)
--8<---------------cut here---------------end--------------->8---

In GNU Emacs 24.3.50.2 (x86_64-unknown-linux-gnu, X toolkit)
 of 2013-02-05 on dell-14z
Windowing system distributor `The X.Org Foundation', version 11.0.11103000
System Description:	Ubuntu 12.04.2 LTS

Configured using:
 `configure --with-x-toolkit=lucid --without-toolkit-scroll-bars'

Important settings:
  value of $LANG: fr_FR.UTF-8
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Emacs-Lisp

Minor modes in effect:
  recentf-mode: t
  winner-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  auto-image-file-mode: t
  show-paren-mode: t
  display-time-mode: t
  savehist-mode: t
  minibuffer-depth-indicate-mode: t
  eldoc-mode: t
  diff-auto-refine-mode: t
  helm-mode: t
  shell-dirtrack-mode: t
  helm-adaptative-mode: t
  helm-match-plugin-mode: t
  tooltip-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
C-x C-b <down> <down> <return> C-SPC C-n C-n M-w <f7> 
m q y <up> <up> C-SPC C-n C-n M-w <f7> m q y M-x r 
e p o r t - <return>

Recent messages:
Reading incoming mail from file...
nnml: Reading incoming mail (no new mail)...done
Reading active file via nnml...done
nnimap read 0k from imap.gmail.com
nnimap read 24k from imap.gmail.com
Reading active file from archive via nnfolder...done
Reading active file via nndraft...done
Checking new news...done
Are you sure you want to quit reading news? (y or n)  y
(No changes need to be saved)

Load-path shadows:
~/elisp/auctex/lpath hides ~/elisp/emacs-wget/lpath
/usr/local/share/emacs/24.3.50/lisp/emacs-lisp/tq hides ~/elisp/emms/lisp/tq
~/.emacs.d/.gnus hides ~/.emacs.d/emacs-config-laptop/.gnus

Features:
(shadow epa-mail mail-extr emacsbug helm-command nndraft nnmh utf-7
nnimap utf7 nnml nnfolder parse-time netrc network-stream starttls tls
gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg gnus-art
mm-uu mml2015 mm-view mml-smime smime dig nntp gnus-cache gnus-dired
nnir gnus-sum gnus-group gnus-undo nnmail mail-source nnoo gnus-start
gnus-spec gnus-int gnus-range gnus-win recentf ido conf-mode allout
vc-dispatcher vc-rcs sh-script smie executable vc-git naquadah-theme
em-smart em-unix em-script em-prompt em-ls em-hist em-pred em-glob
em-dirs em-cmpl em-basic em-banner em-alias esh-var esh-io esh-cmd
esh-opt esh-ext esh-proc esh-groups eshell esh-module esh-mode align-let
server winner undo-tree diff slime-xref-browser slime-banner slime-tramp
slime-asdf slime-fancy slime-fontifying-fu slime-package-fu
slime-references slime-scratch slime-presentations slime-fuzzy
slime-fancy-inspector slime-c-p-c slime-editing-commands slime-autodoc
slime-parse slime-repl image-file newsticker newst-treeview tree-widget
newst-plainview newst-reader newst-ticker newst-backend xdvi-search
preview-latex pcomplete-extension em-term term disp-table ehelp electric
helm-ipython helm-elisp helm-eval python rx whitespace paren time avoid
savehist smtpmail-async smtpmail sendmail helm-async boxquote
markdown-mode org-google-weather google-weather url-cache iterator
googlecl google-maps google-maps-static google-maps-geocode
google-maps-base json simple-call-tree el-expectations el-mock csv2org
iedit-rect rect iedit iedit-lib zop-to-char smallurl mm-url gnus
gnus-ems nnheader rectangle-utils tv-utils async pcvs pcvs-parse
pcvs-info pcvs-defs ewoc mb-depth ioccur cl-info slime hyperspec
slime-autoloads ledger-config ledger esh-arg esh-util tex-site
auto-loads esh-toggle flymake eldoc-eval eldoc no-word dired-extension
emms-mpd-config emms-playlist-limit emms-volume emms-volume-amixer
emms-i18n emms-history emms-score emms-stream-info
emms-metaplaylist-mode emms-bookmarks emms-cue emms-mode-line-icon
emms-browser sort emms-playlist-sort emms-last-played emms-player-xine
emms-player-mpd tq emms-playing-time emms-lyrics emms-url hl-line
emms-tag-editor emms-mark emms-mode-line emms-cache emms-info-ogginfo
emms-info-mp3info emms-playlist-mode emms-player-vlc emms-player-mplayer
emms-info emms-streams later-do emms-source-playlist emms-source-file
emms-player-simple emms-setup emms emms-compat magit-stgit magit-bisect
magit-key-mode magit diff-mode log-edit pcvs-util add-log htmlize-hack
htmlize muse-colors muse-docbook muse-texinfo texnfo-upd texinfo
muse-latex muse-html muse-xml-common muse-wiki cus-edit cus-start
cus-load muse-publish muse-project muse-protocols muse-regexps wid-edit
muse muse-nested-tags muse-mode muse-autoloads org-config-thierry ob-sh
org-crypt cal-china lunar solar cal-dst cal-bahai cal-islam cal-hebrew
holidays hol-loaddefs vc-hg org-wl org-w3m org-vm org-rmail org-mhe
org-mew org-irc org-jsinfo org-infojs org-html org-exp ob-exp
org-exp-blocks org-info org-gnus org-docview org-bibtex bibtex org-bbdb
org-agenda appt diary-lib diary-loaddefs org-annotation-helper
org-capture org-mks remember org-remember org-datetree
addressbook-bookmark message rfc822 mml mml-sec mm-decode mm-bodies
mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev
mail-utils gmm-utils mailheader firefox-protocol
bookmark-firefox-handler bookmark-extensions org ob-tangle ob-ref ob-lob
ob-table org-footnote org-src ob-comint ob-keys org-pcomplete org-list
org-faces org-entities noutline outline easy-mmode org-version
ob-emacs-lisp ob org-compat org-macs ob-eval org-loaddefs find-func
cal-menu calendar cal-loaddefs bookmark pp init-helm-thierry helm-mode
helm-imenu imenu helm-ls-git helm-descbinds helm-ls-hg helm-files
image-dired tramp tramp-compat tramp-loaddefs shell pcomplete
format-spec dired-x dired-aux ffap thingatpt helm-buffers helm-elscreen
helm-tags helm-bookmark helm-adaptative helm-info helm-net browse-url
xml url url-proxy url-privacy url-expand url-methods url-history
url-cookie url-domsuf url-util url-parse url-vars mailcap helm-plugin
helm-help helm-match-plugin helm-grep wgrep-helm wgrep helm-regexp grep
helm-external helm-utils warnings dired compile comint ansi-color ring
helm-locate helm advice help-fns helm-config epa-file epa derived epg
epg-config auth-source eieio byte-opt bytecomp byte-compile cconv
gnus-util time-date mm-util mail-prsvr password-cache usage-memo info
easymenu cl-macs gv edmacro kmacro cl nadvice cl-lib tooltip ediff-hook
vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image
regexp-opt fringe tabulated-list newcomment lisp-mode register page
menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock
syntax facemenu font-core frame cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer loaddefs
button faces cus-face macroexp files text-properties overlay sha1 md5
base64 format env code-pages mule custom widget hashtable-print-readable
backquote make-network-process dbusbind inotify dynamic-setting
system-font-setting font-render-setting x-toolkit x multi-tty emacs)

-- 
Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997