Function: isearch-message

isearch-message is a byte-compiled function defined in isearch.el.gz.

Signature

(isearch-message &optional C-Q-HACK ELLIPSIS)

Documentation

Generate and print the message string.

Source Code

;; Defined in /usr/src/emacs/lisp/isearch.el.gz
;; Message string

(defun isearch-message (&optional c-q-hack ellipsis)
  "Generate and print the message string."

  ;; N.B.: This function should always be called with point at the
  ;; search point, because in certain (rare) circumstances, undesired
  ;; scrolling can happen when point is elsewhere.  These
  ;; circumstances are when follow-mode is active, the search string
  ;; spans two (or several) windows, and the message about to be
  ;; displayed will cause the echo area to expand.
  (let ((cursor-in-echo-area ellipsis)
	(m isearch-message)
	(fail-pos (isearch-fail-pos t)))
    ;; Highlight failed part
    (when fail-pos
      (setq m (copy-sequence m))
      (add-text-properties fail-pos (length m) '(face isearch-fail) m)
      ;; Highlight failed trailing whitespace
      (when (string-match " +$" m)
	(add-text-properties (match-beginning 0) (match-end 0)
			     '(face trailing-whitespace) m)))
    (setq m (concat
	     (isearch-message-prefix ellipsis isearch-nonincremental)
	     m
	     (isearch-message-suffix c-q-hack)))
    (if c-q-hack m (let ((message-log-max nil)) (message "%s" m)))))