[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: Q on minibuffer-message
From: |
Drew Adams |
Subject: |
RE: Q on minibuffer-message |
Date: |
Fri, 20 Jan 2006 15:08:56 -0800 |
As far as I can see it is a bug, at least in CVS Emacs.
`minibuffer-message' uses temp_echo_area_glyphs in minibuf.c and that
function calls
Fsit_for (make_number (2), Qnil, Qnil);
which just sits for 2 seconds.
BTW `minibuffer-message' puts the string at the end of the current
buffer which is not necessarily the minibuffer. Is not that a bug too?
I don't know if those observations indicate bugs, and I'm not sure they're
related to my question. I'd just like to know how to inhibit or cancel the
2-second delay. I don't understand this enough to know if it is the presence
of bugs that prevents me from doing that. I'd like some input on what might
work (modulo bugs).
----
Drew Adams wrote:
> I have a command `foo' that calls `minibuffer-message' at
various points.
>
> I want to call this function from another command, `bar', but
I don't want
> the `minibuffer-message' display to wait for two seconds - I
even don't care
> if it is displayed at all in this case.
>
> I could change the definition of command `foo', to pass it a
flag to not
> call `minibuffer-message' (or to call it only when the
command is called
> interactively), but I'd rather not have to resort to that.
>
> `minibuffer-message' displays its message for two seconds,
unless an input
> event is received during this time. My question is: How can I
inhibit the
> 2-second wait? Is there, for example, some way I can simulate an input
> event? Or is there a simpler, cleaner way?
>
> In command `bar', just after calling `foo', I tried (sit-for 0), to no
> avail. I tried adding a fake event (e.g. a character) to
> `unread-command-events', to no avail. I tried binding
> `minibuffer-message-timeout' (to nil and to 0), to no avail
(it seemed to
> have no effect).
>
> Anyone have a suggestion?
>