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

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

I can confirm that when commit 8d7e58ce9f389d77323e0237c22c4e is applied to
emacs-26.1.90 that my problem no longer occurs.

http://git.savannah.gnu.org/cgit/emacs.git/commit/?h=emacs-26.1.90&id=b8b42c23151298565e4354b38d7060e91465daed

On Wed, Dec 5, 2018 at 9:13 AM David Hull <[email-masked]> wrote:

> 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
>

-- 
David Hull