Subject: bug#6945: active-minibuffer-window returns nil when prompt overwritten by message

From: Stephen Berman <[email-masked]>
Date: Mon, 30 Aug 2010 14:44:48 +0200

On Mon, 30 Aug 2010 12:30:37 +0200 Lennart Borgman <[email-masked]> wrote:

> Eval the following
>
>
> (defun temp-active-mb ()
>   (message "active-minibuffer-window = %s" (active-minibuffer-window)))
>
> (progn
>   (run-with-idle-timer 1 nil 'message "idle message")
>   (run-with-idle-timer 2 nil 'temp-active-mb)
>   (y-or-n-p "Prompt: ")
>   )
>
> This gives me the message "active-minibuffer-window = nil".

When I eval the above sexps on GNU Emacs 24.0.50.1 (i686-pc-linux-gnu,
GTK+ Version 2.18.6) of 2010-08-22 on escher, I first briefly see the
message "Prompt: (y or n)", then "idle message", then
"active-minibuffer-window = " with the cursor after "= "; as soon as I
type any other key, I get "Prompt: (y or n)" again.

> Is there any way then to discover whether Emacs is displaying a prompt
> and waiting for input?

Are you trying this on MS-Windows?  If so, it seems to be a problem
there.

Steve Berman