Subject: bug#33619: 26.1.90; Tramp "simplified" syntax completion problem

From: David Hull <[email-masked]>
Date: Wed, 5 Dec 2018 09:13:38 -0800

My emacs was built from a tarball I downloaded from
http://git.savannah.gnu.org/cgit/emacs.git/snapshot/emacs-26.1.90.tar.gz. I
believe this is commit 7851ae8b443c62a41ea4f4440512aa56cc87b9b7. It looks
like this does not have the change made in commit
8d7e58ce9f389d77323e0237c22c4e.
Here is the backtrace from my current build as requested. I will also try
applying the fix from 8d7e58ce9f389d77323e0237c22c4e and test again.

I ran "emacs -Q -l tramp", then in the *scratch* buffer:

(emacs-version)
"GNU Emacs 26.1.90 (build 1, x86_64-apple-darwin18.2.0, NS appkit-1671.10
Version 10.14.1 (Build 18B75))\n of 2018-12-03"
(tramp-change-syntax 'simplified)
simplified
(setq debug-on-error t)
t

Then when I typed (from "view-lossage"):

 C-x C-f [find-file]
 / [self-insert-command]
 c [self-insert-command]
 o [self-insert-command]
 s [self-insert-command]
 6 [self-insert-command]
 : [self-insert-command]
 s [self-insert-command]
 r [self-insert-command]
 c [self-insert-command]
 / [self-insert-command]
 s [self-insert-command]
 s [self-insert-command]
 <tab> [minibuffer-complete]

I got the error:

Debugger entered--Lisp error: (wrong-type-argument stringp "")
  signal(wrong-type-argument (stringp ""))
  completion--some(#f(compiled-function (style) #<bytecode 0x40e7eafd>)
(basic partial-completion emacs22))
  completion--nth-completion(1 "~//cos6:src/ss" read-file-name-internal
file-exists-p 14 (metadata (category . file) (completion--unquote-requote .
t)))
  completion-try-completion("~//cos6:src/ss" read-file-name-internal
file-exists-p 14 (metadata (category . file) (completion--unquote-requote .
t)))
  completion--do-completion(12 26)
  completion--in-region-1(12 26)
  #f(compiled-function (start end collection predicate) #<bytecode
0x400c2e6b>)(12 26 read-file-name-internal file-exists-p)
  apply(#f(compiled-function (start end collection predicate) #<bytecode
0x400c2e6b>) (12 26 read-file-name-internal file-exists-p))
  #f(compiled-function (funs global args) #<bytecode 0x40e6bd1d>)(nil nil
(12 26 read-file-name-internal file-exists-p))
  completion--in-region(12 26 read-file-name-internal file-exists-p)
  completion-in-region(12 26 read-file-name-internal file-exists-p)
  minibuffer-complete()
  funcall-interactively(minibuffer-complete)
  call-interactively(minibuffer-complete nil nil)
  command-execute(minibuffer-complete)
  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 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 "\015"
: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 (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)

On Wed, Dec 5, 2018 at 2:38 AM Michael Albinus <[email-masked]>
wrote:

> Andreas Schwab <[email-masked]> writes:
>
> > On Dez 04 2018, David Hull <[email-masked]> wrote:
> >
> >> Filename completion does not work with tramp's "simplified" syntax.
> >>
> >>   (load-library "tramp")
> >>   (tramp-change syntax 'simplified)
> >>
> >> Now if I run find-file and type "//cos6:src/ss" and then TAB I get the
> >> error:
> >>
> >>   completion--some: Wrong type argument: stringp, ""
> >
> > This is fixed by commit b8b42c2315.
>
> Indeed, you've backported this fix to the emacs-26 branch. The bug
> report tells us
>
> --8<---------------cut here---------------start------------->8---
> In GNU Emacs 26.1.90 (build 1, x86_64-apple-darwin18.2.0, NS
> appkit-1671.10 Version 10.14.1 (Build 18B75))
>  of 2018-12-03 built on mbp-109-op-04
> Repository revision: 8d7e58ce9f389d77323e0237c22c4e13cb68b8e7
> --8<---------------cut here---------------end--------------->8---
>
> Hmm, a git commit 8d7e58ce9f389d77323e0237c22c4e13cb68b8e7 does not
> exist in emacs-26 or master branches.
>
> > Andreas.
>
> Best regards, Michael.
>

-- 
David Hull