# HG changeset patch # User Chong Yidong # Date 1223762812 0 # Node ID dab337a95b5a6e9b7244b5279a20aa78afc0b850 # Parent 033e60abdaa2aeefff21c455418af383dbf1842b (display-warning): Issue a message if called during daemon initialization. diff -r 033e60abdaa2 -r dab337a95b5a lisp/emacs-lisp/warnings.el --- a/lisp/emacs-lisp/warnings.el Sat Oct 11 22:06:43 2008 +0000 +++ b/lisp/emacs-lisp/warnings.el Sat Oct 11 22:06:52 2008 +0000 @@ -268,7 +268,7 @@ (goto-char warning-series))) (if (nth 2 level-info) (funcall (nth 2 level-info))) - (if noninteractive + (cond (noninteractive ;; Noninteractively, take the text we inserted ;; in the warnings buffer and print it. ;; Do this unconditionally, since there is no way @@ -280,17 +280,28 @@ (goto-char end) (if (bolp) (forward-char -1)) - (message "%s" (buffer-substring start (point))))) - ;; Interactively, decide whether the warning merits - ;; immediate display. - (or (< (warning-numeric-level level) - (warning-numeric-level warning-minimum-level)) - (warning-suppress-p type warning-suppress-types) - (let ((window (display-buffer buffer))) - (when (and (markerp warning-series) - (eq (marker-buffer warning-series) buffer)) - (set-window-start window warning-series)) - (sit-for 0))))))) + (message "%s" (buffer-substring start (point)))))) + ((and (daemonp) (null after-init-time)) + ;; Warnings assigned during daemon initialization go into + ;; the messages buffer. + (message "%s" + (with-current-buffer buffer + (save-excursion + (goto-char end) + (if (bolp) + (forward-char -1)) + (buffer-substring start (point)))))) + (t + ;; Interactively, decide whether the warning merits + ;; immediate display. + (or (< (warning-numeric-level level) + (warning-numeric-level warning-minimum-level)) + (warning-suppress-p type warning-suppress-types) + (let ((window (display-buffer buffer))) + (when (and (markerp warning-series) + (eq (marker-buffer warning-series) buffer)) + (set-window-start window warning-series)) + (sit-for 0)))))))) ;;;###autoload (defun lwarn (type level message &rest args)