Subject: 24.1.50; "Assertion failed: (equal (funcall unquote qstring) completion)" when completing remote file names

From: Michael Albinus <[email-masked]>
Date: Mon, 04 Jun 2012 16:44:49 +0200

This bug report will be sent to the Bug-GNU-Emacs mailing list
and the GNU bug tracker at debbugs.gnu.org.  Please check that
the From: line contains a valid email address.  After a delay of up
to one day, you should receive an acknowledgement at that address.

The error message looks identical to bug#11466. That bug has been
reported as fixed, buth with the following scenario the problem still exist:

emacs
C-c C-f /ssh:: <RET>
password <RET>
C-c C-f /tm <TAB>

-> Debugger entered--Lisp error: (cl-assertion-failed (equal (funcall unquote qstring) completion))
  signal(cl-assertion-failed ((equal (funcall unquote qstring) completion)))
  completion--twq-try("/ssh:detlef:/home/albinus//tm" "/ssh:detlef:/tm" "/ssh:detlef:/tmp/" 17 substitute-in-file-name completion--sifn-requote)
  #[514 "\211\304=\203\242;\204\207\305\302\303@A\300\301&\207\211\306=\203<\307!\211A\206)\310\205;\311\241\210\312\302\303\300\301&\207\311\207" [substitute-in-file-name completion--sifn-requote "/ssh:detlef:/home/albinus//tm" "/ssh:detlef:/tm" 1 completion--twq-try 2 last 0 nil completion--twq-all] 11 "\n\n(fn UNQUOTED-RESULT OP)"](("/ssh:detlef:/tmp/" . 17) 1)
  completion--nth-completion(1 "/ssh:detlef:/home/albinus//tm" read-file-name-internal file-exists-p 29 (metadata (category . file) (completion--unquote-requote . t)))
  completion-try-completion("/ssh:detlef:/home/albinus//tm" read-file-name-internal file-exists-p 29 (metadata (category . file) (completion--unquote-requote . t)))
  completion--do-completion()
  minibuffer-complete()
  call-interactively(minibuffer-complete nil nil)
  read-from-minibuffer("Find file: " "/ssh:detlef:/home/albinus/" (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) (up . previous-history-element) (prior . previous-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 "/ssh:detlef:/home/albinus/" nil)
  completing-read-default("Find file: " read-file-name-internal file-exists-p confirm-after-completion "/ssh:detlef:/home/albinus/" file-name-history "/ssh:detlef:/home/albinus/" nil)
  completing-read("Find file: " read-file-name-internal file-exists-p confirm-after-completion "/ssh:detlef:/home/albinus/" file-name-history "/ssh:detlef:/home/albinus/")
  read-file-name-default("Find file: " nil "/ssh:detlef:/home/albinus/" confirm-after-completion nil nil)
  read-file-name("Find file: " nil "/ssh:detlef:/home/albinus/" 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)

If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
    `bt full' and `xbacktrace'.
For information about debugging Emacs, please read the file
/home/albinus/src/emacs/etc/DEBUG.

In GNU Emacs 24.1.50.1 (x86_64-unknown-linux-gnu, GTK+ Version 2.24.10)
 of 2012-06-04 on detlef
Bzr revision: 108481 [email-masked]
Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Dired by name

Minor modes in effect:
  display-time-mode: t
  shell-dirtrack-mode: t
  iswitchb-mode: t
  icomplete-mode: t
  show-paren-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  menu-bar-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:
ESC [ > 1 ; 1 4 0 0 ; 0 c C-x C-f / s u d o : : RET
ESC O F ESC [ A RET q ESC [ A RET q ESC [ A RET q ESC
[ A RET q C-x C-f / e t TAB C-g ESC x r e p o TAB r
TAB RET

Recent messages:

Tramp: Waiting for prompts from remote shell
Tramp: Sending Password
Tramp: Sending command `exec sudo -u root -s -H -p Password:'
Tramp: Found remote shell prompt on `detlef'
Tramp: Opening connection for root@detlef using sudo...done
Mark set
completion--twq-try: Assertion failed: (equal (funcall unquote qstring) completion)
Quit
Making completion list...

Load-path shadows:
~/src/tramp/lisp/tramp-smb hides /home/albinus/src/emacs/lisp/net/tramp-smb
~/src/tramp/lisp/tramp-uu hides /home/albinus/src/emacs/lisp/net/tramp-uu
~/src/tramp/lisp/tramp-cmds hides /home/albinus/src/emacs/lisp/net/tramp-cmds
~/src/tramp/lisp/tramp-cache hides /home/albinus/src/emacs/lisp/net/tramp-cache
~/src/tramp/lisp/trampver hides /home/albinus/src/emacs/lisp/net/trampver
~/src/tramp/lisp/tramp-ftp hides /home/albinus/src/emacs/lisp/net/tramp-ftp
~/src/tramp/lisp/tramp-sh hides /home/albinus/src/emacs/lisp/net/tramp-sh
~/src/tramp/lisp/tramp hides /home/albinus/src/emacs/lisp/net/tramp
~/lisp/dbus hides /home/albinus/src/emacs/lisp/net/dbus
~/lisp/soap-client hides /home/albinus/src/emacs/lisp/net/soap-client
~/src/tramp/lisp/tramp-gw hides /home/albinus/src/emacs/lisp/net/tramp-gw
~/src/tramp/lisp/tramp-gvfs hides /home/albinus/src/emacs/lisp/net/tramp-gvfs
~/src/tramp/lisp/tramp-compat hides /home/albinus/src/emacs/lisp/net/tramp-compat

Features:
(shadow sort mail-extr warnings emacsbug message rfc822 mml mml-sec
mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils
mailheader sendmail rfc2047 rfc2045 ietf-drums mail-utils help-mode view
noutline outline easy-mmode tramp-cache tramp-sh debbugs-autoloads
package cperl-mode easymenu time tramp tramp-compat auth-source eieio
byte-opt bytecomp byte-compile cconv macroexp gnus-util mm-util
mail-prsvr password-cache shell pcomplete comint ansi-color ring
format-spec advice help-fns advice-preload tramp-loaddefs cl cl-lib
iswitchb jka-compr icomplete time-date paren ps-print ps-def lpr vc
ediff-merg ediff-diff ediff-wind ediff-help ediff-util ediff-mult
ediff-init ediff vc-dispatcher dired 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 files text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget hashtable-print-readable backquote
make-network-process dbusbind dynamic-setting system-font-setting
font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs)