summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2020-02-12 21:39:44 +0200
committerEli Zaretskii <eliz@gnu.org>2020-02-12 21:39:44 +0200
commit027da652a4fc643a086a880aec30618b2bccb487 (patch)
treee4c94bb3ad04b794e1873e16b8f357de3ee4a77f /doc
parent5a21aaff468ec3f0337117707cda4254cbef8de7 (diff)
downloademacs-027da652a4fc643a086a880aec30618b2bccb487.tar.gz
Fix display of minibuffer prompt in ido.el
* lisp/minibuffer.el (minibuffer--message-overlay-pos): New function. (set-minibuffer-message): Use it to determine where to show the overlay with the temporary message. * lisp/ido.el (ido-exhibit): Revert "Render Ido suggestions using an overlay"; this restores the original code which inserted the match-status information into the minibuffer, instead of displaying it in an overlay with an after-string. Put the special 'minibuffer-message' text property at the beginning of the inserted text. (Bug#39379) * etc/NEWS: * doc/lispref/display.texi (Displaying Messages): * doc/lispref/text.texi (Special Properties): Document the 'minibuffer-message' text property and its effect.
Diffstat (limited to 'doc')
-rw-r--r--doc/lispref/display.texi9
-rw-r--r--doc/lispref/text.texi10
2 files changed, 16 insertions, 3 deletions
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi
index e4980fe4c36..2b25d6023cd 100644
--- a/doc/lispref/display.texi
+++ b/doc/lispref/display.texi
@@ -319,7 +319,10 @@ the echo area. See also @code{clear-message-function} that can be
used to clear the message displayed by this function.
The default value is the function that displays the message at the end
-of the minibuffer when the minibuffer is active.
+of the minibuffer when the minibuffer is active. However, if the text
+shown in the active minibuffer has the @code{minibuffer-message} text
+property (@pxref{Special Properties}) on some character, the message
+will be displayed before the first character having that property.
@end defvar
@defvar clear-message-function
@@ -332,8 +335,8 @@ after displaying an echo-area message. The function is expected to
clear the message displayed by its counterpart function specified by
@code{set-message-function}.
-The default value is the function that clears the message displayed at
-the end of the minibuffer when the minibuffer is active.
+The default value is the function that clears the message displayed in
+an active minibuffer.
@end defvar
@defvar inhibit-message
diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi
index 527057eed59..f027cdf8ede 100644
--- a/doc/lispref/text.texi
+++ b/doc/lispref/text.texi
@@ -3741,6 +3741,16 @@ single glyph composed from components. But the value of the property
itself is completely internal to Emacs and should not be manipulated
directly by, for instance, @code{put-text-property}.
+@item minibuffer-message
+@kindex minibuffer-message @r{(text property)}
+This text property tells where to display temporary messages in an
+active minibuffer. Specifically, the first character of the
+minibuffer text which has this property will have the temporary
+message displayed before it. The default is to display temporary
+messages at the end of the minibuffer text. This text property is
+used by the function that is the default value of
+@code{set-message-function} (@pxref{Displaying Messages}).
+
@end table
@defvar inhibit-point-motion-hooks