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

From: Thierry Volpiatto <[email-masked]>
Date: Tue, 15 Nov 2011 22:37:11 +0100

Stefan Monnier <[email-masked]> writes:

>> --8<---------------cut here---------------start------------->8---
>> 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) 
>> [...]
>
>
>>   tmm-add-prompt()
>>   read-string("Menu bar (up/down to change, PgUp to menu): " nil nil "")
>> --8<---------------cut here---------------end--------------->8---
>
>> When `minibuffer-completion-table' is set.
>> While it is nil, it works of course.
>
> Normally, minibuffer-completion-table should be an association list
> because it's set to tmm-km-list when tmm-prompt calls completing-read.
> Do you have a recipe to reproduce the above backtrace?
Unfortunately not yet.  Right now it happen, but i don't know what have
set `minibuffer-completion-table', here his value:

--8<---------------cut here---------------start------------->8---
(closure
 (t)
 (&rest args)
 (apply 'completion-table-with-predicate 'internal-complete-buffer
        
[...]

           ["*Messages*"]
           3 "\n\n(fn NAME)"]
        'nil args))
--8<---------------cut here---------------end--------------->8---

If i use in tmm-add-prompt:

(all-completions "" minibuffer-completion-table)

instead of

(mapcar 'car minibuffer-completion-table)

i have no error, and a completions buffer with a list of buffers.

-- 
  Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997