[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#21112: 25; Patch: show minibuffer messages with a face
From: |
Juri Linkov |
Subject: |
bug#21112: 25; Patch: show minibuffer messages with a face |
Date: |
Thu, 27 Jun 2019 00:30:33 +0300 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu) |
>> But since a message is displayed at different part of the minibuffer,
>> it should be highlighted using a new separate customizable variable
>> similar to minibuffer-prompt-properties:
>
> 1. If you go that route, which lets libraries and
> users easily change the properties (good), please
> separate Isearch and `minibuffer-message'. Use two
> different variables. They are not the same species.
>
> The default value could be, but it need not be,
> the same for both.
OK, implemented in the following patch.
> On the other hand, it could be helpful to separate
> out property `face', defining an actual face (for
> each of Isearch and `minibuffer-message') that
> users can customize for this. That also has the
> benefit that one can inherit from one to the other.
>
> The other properties would be applied first, so that
> if `face' is among them for some reason it will be
> overridden by the face provided specifically for this.
There are already too many faces in M-x list-faces-display
for users to comprehend that adding three more faces with
the same color would make matters worse.
> 2. The doc string of `minibuffer-message-properties'
> should not say that the properties are added to
> "minibuffer messages" - that's too broad. It should
> say that they are added to the text shown by function
> `minibuffer-message' - or else describe that text,
> and only that text, in another way.
OK, fixed in the attached patch.
> The doc string of the similar variable for Isearch
> should say that the properties are added to "the
> search prompt" or some such. Not sure whether the
> right description is "prompt", but whatever is the
> best way to describe it should be used in the doc
> string.
OK, added to this patch:
diff --git a/lisp/isearch.el b/lisp/isearch.el
index f150a3bba4..94c30eb57b 100644
--- a/lisp/isearch.el
+++ b/lisp/isearch.el
@@ -1992,13 +1992,17 @@ isearch-define-mode-toggle
(setq isearch-regexp (not isearch-regexp))
(if isearch-regexp (setq isearch-regexp-function nil)))
+(defvar isearch-message-properties minibuffer-prompt-properties
+ "Text properties that are added to the isearch prompt.")
+
(defun isearch--momentary-message (string)
"Print STRING at the end of the isearch prompt for 1 second"
(let ((message-log-max nil))
(message "%s%s%s"
(isearch-message-prefix nil isearch-nonincremental)
isearch-message
- (propertize (format " [%s]" string) 'face 'minibuffer-prompt)))
+ (apply #'propertize (format " [%s]" string)
+ isearch-message-properties)))
(sit-for 1))
(isearch-define-mode-toggle lax-whitespace " " nil
@@ -3202,18 +3206,18 @@ isearch-message-prefix
(concat " [" current-input-method-title "]: "))
": ")
)))
- (propertize (concat (isearch-lazy-count-format)
+ (apply #'propertize (concat (isearch-lazy-count-format)
(upcase (substring m 0 1)) (substring m 1))
- 'face 'minibuffer-prompt)))
+ isearch-message-properties)))
(defun isearch-message-suffix (&optional c-q-hack)
- (propertize (concat (if c-q-hack "^Q" "")
+ (apply #'propertize (concat (if c-q-hack "^Q" "")
(isearch-lazy-count-format 'suffix)
(if isearch-error
(concat " [" isearch-error "]")
"")
(or isearch-message-suffix-add ""))
- 'face 'minibuffer-prompt))
+ isearch-message-properties))
(defun isearch-lazy-count-format (&optional suffix-p)
"Format the current match number and the total number of matches.
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el
index 57702760fb..9a473b6867 100644
--- a/lisp/minibuffer.el
+++ b/lisp/minibuffer.el
@@ -693,6 +693,9 @@ minibuffer
:link '(custom-manual "(emacs)Minibuffer")
:group 'environment)
+(defvar minibuffer-message-properties minibuffer-prompt-properties
+ "Text properties added to the text shown by `minibuffer-message'.")
+
(defun minibuffer-message (message &rest args)
"Temporarily display MESSAGE at the end of the minibuffer.
The text is displayed for `minibuffer-message-timeout' seconds,
- bug#21112: 25; Patch: show minibuffer messages with a face, (continued)
- bug#21112: 25; Patch: show minibuffer messages with a face, Juri Linkov, 2019/06/25
- bug#21112: 25; Patch: show minibuffer messages with a face, Lars Ingebrigtsen, 2019/06/25
- bug#21112: 25; Patch: show minibuffer messages with a face, Juri Linkov, 2019/06/26
- bug#21112: 25; Patch: show minibuffer messages with a face, Lars Ingebrigtsen, 2019/06/27
- bug#21112: 25; Patch: show minibuffer messages with a face, Drew Adams, 2019/06/27
- bug#21112: 25; Patch: show minibuffer messages with a face, Juri Linkov, 2019/06/27
- bug#21112: 25; Patch: show minibuffer messages with a face, Drew Adams, 2019/06/27
- bug#21112: 25; Patch: show minibuffer messages with a face, Juri Linkov, 2019/06/27
- bug#21112: 25; Patch: show minibuffer messages with a face, Drew Adams, 2019/06/27
bug#21112: 25; Patch: show minibuffer messages with a face, Drew Adams, 2019/06/25