emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: minibuffer-message binds inhibit-quit


From: Drew Adams
Subject: RE: minibuffer-message binds inhibit-quit
Date: Tue, 24 Jun 2008 15:26:14 -0700

> Are you sure you are not confusing minibuffer with the echo area?  The
> minibuffer and `minibuffer-message' are not normally used for messages
> during minibuffer input; that's what the echo area is for.

No, I don't believe so. 

AFAIK, `minibuffer-message' has always displayed a message in the minibuffer,
not the echo area. You see your input there at the same time. `message', on the
other hand, displays in the echo area. The echo-area obscures the minibuffer;
the message replaces the minibuffer content (temporarily).

AFAIK, `minibuffer-message' is intended to be used during minibuffer input.

"This function displays STRING temporarily at the end of the
 minibuffer text, for two seconds, or until the next input
 event arrives, whichever comes first."

"The text is displayed for a period controlled by
 `minibuffer-message-timeout', or until the next input event
 arrives, whichever comes first."

[BTW, note the discrepancy between the Elisp manual entry and the doc string,
wrt the timeout period.]



FWIW, I tend to use this, which chooses the display function depending on
whether the minibuffer is active:

(defun icicle-msg-maybe-in-minibuffer (format-string &rest args)
  "Display FORMAT-STRING as a message.
If called with the minibuffer inactive, this is done using `message'.
Otherwise, it is done using `minibuffer-message'."
  (if (active-minibuffer-window)
      (save-selected-window
        (select-window (minibuffer-window))
        (minibuffer-message
          (apply #'format (concat "  [" format-string "]") args)))
    (apply #'message format-string args)))






reply via email to

[Prev in Thread] Current Thread [Next in Thread]