Subject: bug#10053: Wrong use of minibuffer-completion-table in tmm-add-prompt

From: Stefan Monnier <[email-masked]>
Date: Wed, 16 Nov 2011 13:50:34 -0500

> Debugger entered--Lisp error: (wrong-type-argument listp closure)
>   car(closure)
>   mapcar(car (closure (t) (&rest args) (apply (quote
> completion-table-with-predicate) (quote internal-complete-buffer) (quote
> #[257 "\211:\203\n.\211@\202.\211\300\232?\207" ["anything.el"] 3 "\n\n(fn
> NAME)"]) (quote nil) args)))
>   tmm-add-prompt()
>   #[nil "\301\302\"\210\303 \207" [setup-hook remove-hook
> minibuffer-setup-hook tmm-add-prompt] 3]()
>   read-string("Menu bar (up/down to change, PgUp to menu): " nil nil "")
>   anything-read-pattern-maybe("Menu bar (up/down to change, PgUp to menu): "
> nil nil noresume nil "")
[...]
>   anything-completing-read-default("Menu bar (up/down to change, PgUp to
> menu): " (("a==>Anything" Anything keymap "Anything" (All\ anything\
> commands menu-item "All anything commands"
[...]
>   completing-read("Menu bar (up/down to change, PgUp to menu): "
> (("a==>Anything" Anything keymap "Anything" (All\ anything\ commands
> menu-item "All anything commands" anything-execute-anything-command) (Find\

I think the chunks of backtrace above show that the
anything-completing-read-default has a problem: it creates a minibuffer,
like the default completing-read code, but it fails to set
minibuffer-completion-table, which breaks callers such as tmm.

        Stefan