Mercurial > emacs
changeset 91785:eb602dd246b2
* isearch.el:
(isearch-fail): New face.
(isearch-message): Highlight failure part of input.
author | Bastien Guerry <bzg@altern.org> |
---|---|
date | Tue, 12 Feb 2008 00:50:44 +0000 |
parents | 580c9788f924 |
children | 459312b90930 |
files | lisp/ChangeLog lisp/isearch.el |
diffstat | 2 files changed, 26 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Mon Feb 11 21:18:06 2008 +0000 +++ b/lisp/ChangeLog Tue Feb 12 00:50:44 2008 +0000 @@ -1,3 +1,9 @@ +2008-02-11 Drew Adams <drew.adams@oracle.com> + + * isearch.el: + (isearch-fail): New face. + (isearch-message): Highlight failure part of input. + 2008-02-11 Stefan Monnier <monnier@iro.umontreal.ca> * ibuffer.el (ibuffer-header-line-format): New var. @@ -49,6 +55,7 @@ * calendar/time-date.el (emacs-uptime): New function. +>>>>>>> 1.12767 2008-02-10 Bastien Guerry <bzg@altern.org> * mail/rmail.el (rmail-nonignored-headers): Allow to be nil.
--- a/lisp/isearch.el Mon Feb 11 21:18:06 2008 +0000 +++ b/lisp/isearch.el Tue Feb 12 00:50:44 2008 +0000 @@ -231,6 +231,10 @@ :group 'basic-faces) (defvar isearch 'isearch) +(defface isearch-fail '((t (:foreground "Black" :background "Plum"))) + "Face for highlighting failed part in Isearch echo-area message." + :group 'isearch) + (defcustom isearch-lazy-highlight t "*Controls the lazy-highlighting during incremental search. When non-nil, all text in the buffer matching the current search @@ -1955,21 +1959,22 @@ (defun isearch-message (&optional c-q-hack ellipsis) ;; Generate and print the message string. (let ((cursor-in-echo-area ellipsis) - (m (concat + (cmds isearch-cmds) + succ-msg m) + (while (not (isearch-success-state (car cmds))) (pop cmds)) + (setq succ-msg (and cmds (isearch-message-state (car cmds)))) + (setq m (concat (isearch-message-prefix c-q-hack ellipsis isearch-nonincremental) - (if (and (not isearch-success) - (string-match " +$" isearch-message)) - (concat - (substring isearch-message 0 (match-beginning 0)) - (propertize (substring isearch-message (match-beginning 0)) - 'face 'trailing-whitespace)) - isearch-message) - (isearch-message-suffix c-q-hack ellipsis) - ))) - (if c-q-hack - m - (let ((message-log-max nil)) - (message "%s" m))))) + succ-msg + (and (not isearch-success) + (string-match (regexp-quote succ-msg) isearch-message) + (not (string= succ-msg isearch-message)) + (propertize (substring isearch-message (match-end 0)) + 'face 'isearch-fail)))) + (when (and (not isearch-success) (string-match " +$" m)) + (put-text-property (match-beginning 0) (length m) 'face 'trailing-whitespace m)) + (setq m (concat m (isearch-message-suffix c-q-hack ellipsis))) + (if c-q-hack m (let ((message-log-max nil)) (message "%s" m))))) (defun isearch-message-prefix (&optional c-q-hack ellipsis nonincremental) ;; If about to search, and previous search regexp was invalid,