Function: progress-reporter-echo-area
progress-reporter-echo-area is a byte-compiled function defined in
subr.el.gz.
Signature
(progress-reporter-echo-area REPORTER STATE UPDATE-TEXT)
Documentation
Progress reporter echo area update function.
REPORTER, STATE, and UPDATE-TEXT are the same as in
progress-reporter-update-functions.
Do not emit a message if the reporter context is async and the echo
area is busy with something else.
Source Code
;; Defined in /usr/src/emacs/lisp/subr.el.gz
(defun progress-reporter-echo-area (reporter state update-text)
"Progress reporter echo area update function.
REPORTER, STATE, and UPDATE-TEXT are the same as in
`progress-reporter-update-functions'.
Do not emit a message if the reporter context is `async' and the echo
area is busy with something else."
(let ((text (progress-reporter-text reporter)))
(unless (and (eq (progress-reporter-context reporter) 'async)
(current-message)
(not (string-prefix-p text (current-message))))
(setq update-text (if update-text (format " %s" update-text) ""))
(pcase state
((pred floatp)
(if (plusp state)
(message "%s%d%%%s" text (* state 100.0) update-text)
(message "%s%s" text update-text)))
((pred integerp)
(let ((message-log-max nil)
(pulse-char
(aref progress-reporter--pulse-characters
(mod state (length progress-reporter--pulse-characters)))))
(message "%s %s%s" text pulse-char update-text)))
('done
(message "%sdone" text))))))