Subject: 25.0.50; erc-switch-to-buffer tab completion error
From: Mark Oteiza <[email-masked]>
To: [email-masked]
Date: Mon, 23 Mar 2015 22:06:41 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

The patch removing iswitchb from ERC has left the command
erc-switch-to-buffer (C-c C-b in ERC) broken. From emacs -Q:

0. M-x toggle-debug-on-error RET
1. M-x erc RET and get connected
2. C-c C-b TAB

Debugger entered--Lisp error: (wrong-type-argument stringp (" *Minibuf-1*" . #<buffer  *Minibuf-1*>))
  get-buffer((" *Minibuf-1*" . #<buffer  *Minibuf-1*>))
  #[257 "\302!\211\205 \303\304\300#\210r\211q\210\305\306!\205\300?\206\300	=)\207" [#<process erc-irc.freenode.net-6667> erc-server-process get-buffer erc--buffer-p #[0 "\300\207" [t] 1] derived-mode-p erc-mode] 6 "\n\n(fn BUFNAME)"]((" *Minibuf-1*" . #<buffer  *Minibuf-1*>))
  internal-complete-buffer("" #[257 "\302!\211\205 \303\304\300#\210r\211q\210\305\306!\205\300?\206\300	=)\207" [#<process erc-irc.freenode.net-6667> erc-server-process get-buffer erc--buffer-p #[0 "\300\207" [t] 1] derived-mode-p erc-mode] 6 "\n\n(fn BUFNAME)"] nil)
  try-completion("" internal-complete-buffer #[257 "\302!\211\205 \303\304\300#\210r\211q\210\305\306!\205\300?\206\300	=)\207" [#<process erc-irc.freenode.net-6667> erc-server-process get-buffer erc--buffer-p #[0 "\300\207" [t] 1] derived-mode-p erc-mode] 6 "\n\n(fn BUFNAME)"])
  completion-basic-try-completion("" internal-complete-buffer #[257 "\302!\211\205 \303\304\300#\210r\211q\210\305\306!\205\300?\206\300	=)\207" [#<process erc-irc.freenode.net-6667> erc-server-process get-buffer erc--buffer-p #[0 "\300\207" [t] 1] derived-mode-p erc-mode] 6 "\n\n(fn BUFNAME)"] 0)
  #[257 "\300
\2368\301\242\302\242\303\304\242$\207" [1 ("") (internal-complete-buffer) #[257 "\302!\211\205 \303\304\300#\210r\211q\210\305\306!\205\300?\206\300	=)\207" [#<process erc-irc.freenode.net-6667> erc-server-process get-buffer erc--buffer-p #[0 "\300\207" [t] 1] derived-mode-p erc-mode] 6 "\n\n(fn BUFNAME)"] (0) completion-styles-alist] 6 "\n\n(fn STYLE)"](basic)
  completion--some(#[257 "\300
\2368\301\242\302\242\303\304\242$\207" [1 ("") (internal-complete-buffer) #[257 "\302!\211\205 \303\304\300#\210r\211q\210\305\306!\205\300?\206\300	=)\207" [#<process erc-irc.freenode.net-6667> erc-server-process get-buffer erc--buffer-p #[0 "\300\207" [t] 1] derived-mode-p erc-mode] 6 "\n\n(fn BUFNAME)"] (0) completion-styles-alist] 6 "\n\n(fn STYLE)"] (basic substring partial-completion emacs22))
  completion--nth-completion(1 "" internal-complete-buffer #[257 "\302!\211\205 \303\304\300#\210r\211q\210\305\306!\205\300?\206\300	=)\207" [#<process erc-irc.freenode.net-6667> erc-server-process get-buffer erc--buffer-p #[0 "\300\207" [t] 1] derived-mode-p erc-mode] 6 "\n\n(fn BUFNAME)"] 0 (metadata (category . buffer)))
  completion-try-completion("" internal-complete-buffer #[257 "\302!\211\205 \303\304\300#\210r\211q\210\305\306!\205\300?\206\300	=)\207" [#<process erc-irc.freenode.net-6667> erc-server-process get-buffer erc--buffer-p #[0 "\300\207" [t] 1] derived-mode-p erc-mode] 6 "\n\n(fn BUFNAME)"] 0 (metadata (category . buffer)))
  completion--do-completion(55 55)
  completion--in-region-1(55 55)
  #[1028 "\n\203!\304!\203\202\305!\305\306\"F\307\310!\210\311\"*\207" [minibuffer-completion-predicate minibuffer-completion-table completion-in-region-mode-predicate completion-in-region--data markerp copy-marker t completion-in-region-mode 1 completion--in-region-1] 8 "\n\n(fn START END COLLECTION PREDICATE)"](55 55 internal-complete-buffer #[257 "\302!\211\205 \303\304\300#\210r\211q\210\305\306!\205\300?\206\300	=)\207" [#<process erc-irc.freenode.net-6667> erc-server-process get-buffer erc--buffer-p #[0 "\300\207" [t] 1] derived-mode-p erc-mode] 6 "\n\n(fn BUFNAME)"])
  apply(#[1028 "\n\203!\304!\203\202\305!\305\306\"F\307\310!\210\311\"*\207" [minibuffer-completion-predicate minibuffer-completion-table completion-in-region-mode-predicate completion-in-region--data markerp copy-marker t completion-in-region-mode 1 completion--in-region-1] 8 "\n\n(fn START END COLLECTION PREDICATE)"] (55 55 internal-complete-buffer #[257 "\302!\211\205 \303\304\300#\210r\211q\210\305\306!\205\300?\206\300	=)\207" [#<process erc-irc.freenode.net-6667> erc-server-process get-buffer erc--buffer-p #[0 "\300\207" [t] 1] derived-mode-p erc-mode] 6 "\n\n(fn BUFNAME)"]))
  #[771 ":\2030@\301=\203\300\242\302A\"\303#\207\304@\305\306\307\310\311\312\300!\313\"\314\315%A##\207\304\316\"\207" [(#0) t append nil apply apply-partially make-byte-code 642 "\300\242#\207" vconcat vector [] 7 "\n\n(fn FUNS GLOBAL &rest ARGS)" #[1028 "\n\203!\304!\203\202\305!\305\306\"F\307\310!\210\311\"*\207" [minibuffer-completion-predicate minibuffer-completion-table completion-in-region-mode-predicate completion-in-region--data markerp copy-marker t completion-in-region-mode 1 completion--in-region-1] 8 "\n\n(fn START END COLLECTION PREDICATE)"]] 12 "\n\n(fn FUNS GLOBAL ARGS)"](nil nil (55 55 internal-complete-buffer #[257 "\302!\211\205 \303\304\300#\210r\211q\210\305\306!\205\300?\206\300	=)\207" [#<process erc-irc.freenode.net-6667> erc-server-process get-buffer erc--buffer-p #[0 "\300\207" [t] 1] derived-mode-p erc-mode] 6 "\n\n(fn BUFNAME)"]))
  completion--in-region(55 55 internal-complete-buffer #[257 "\302!\211\205 \303\304\300#\210r\211q\210\305\306!\205\300?\206\300	=)\207" [#<process erc-irc.freenode.net-6667> erc-server-process get-buffer erc--buffer-p #[0 "\300\207" [t] 1] derived-mode-p erc-mode] 6 "\n\n(fn BUFNAME)"])
  completion-in-region(55 55 internal-complete-buffer #[257 "\302!\211\205 \303\304\300#\210r\211q\210\305\306!\205\300?\206\300	=)\207" [#<process erc-irc.freenode.net-6667> erc-server-process get-buffer erc--buffer-p #[0 "\300\207" [t] 1] derived-mode-p erc-mode] 6 "\n\n(fn BUFNAME)"])
  minibuffer-complete()
  funcall-interactively(minibuffer-complete)
  call-interactively(minibuffer-complete nil nil)
  command-execute(minibuffer-complete)
  read-from-minibuffer("Switch to ERC buffer (default irc.freenode.net:6667): " nil (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-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 buffer-name-history "irc.freenode.net:6667" nil)
  completing-read-default("Switch to ERC buffer (default irc.freenode.net:6667): " internal-complete-buffer #[257 "\302!\211\205 \303\304\300#\210r\211q\210\305\306!\205\300?\206\300	=)\207" [#<process erc-irc.freenode.net-6667> erc-server-process get-buffer erc--buffer-p #[0 "\300\207" [t] 1] derived-mode-p erc-mode] 6 "\n\n(fn BUFNAME)"] t nil buffer-name-history "irc.freenode.net:6667" nil)
  read-buffer("Switch to ERC buffer: " "irc.freenode.net:6667" t #[257 "\302!\211\205 \303\304\300#\210r\211q\210\305\306!\205\300?\206\300	=)\207" [#<process erc-irc.freenode.net-6667> erc-server-process get-buffer erc--buffer-p #[0 "\300\207" [t] 1] derived-mode-p erc-mode] 6 "\n\n(fn BUFNAME)"])
  erc-switch-to-buffer(nil)
  funcall-interactively(erc-switch-to-buffer nil)
  call-interactively(erc-switch-to-buffer nil nil)
  command-execute(erc-switch-to-buffer)

In GNU Emacs 25.0.50.1 (x86_64-unknown-linux-gnu, X toolkit, Xaw scroll bars)
 of 2015-03-23 on logos
Repository revision: ae277259b1cf8d913893417e4ca284040f5a543f
Windowing system distributor `The X.Org Foundation', version 11.0.11701000
Configured using:
 `configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
 --localstatedir=/var --without-gconf --with-x-toolkit=lucid
 'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong
 --param=ssp-buffer-size=4' CPPFLAGS=-D_FORTIFY_SOURCE=2
 LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro'

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS NOTIFY
ACL GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB

Important settings:
  value of $LC_COLLATE: C
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix