lisp/subr.el (display-delayed-warnings): Collapse identical adjacent messages.

This commit is contained in:
Juanma Barranquero 2012-01-23 02:10:50 +01:00
parent a5509865d7
commit d1a5c3b450
2 changed files with 18 additions and 2 deletions

View file

@ -1,3 +1,8 @@
2012-01-23 Juanma Barranquero <lekktu@gmail.com>
* subr.el (display-delayed-warnings):
Collapse identical adjacent messages.
2012-01-22 Michael Albinus <michael.albinus@gmx.de>
* net/tramp.el (tramp-action-login): Set connection property "login-as".

View file

@ -1857,9 +1857,20 @@ FILE should be the name of a library, with no directory name."
(defun display-delayed-warnings ()
"Display delayed warnings from `delayed-warnings-list'.
Collapse identical adjacent messages into one (plus count).
This is the default value of `delayed-warnings-hook'."
(dolist (warning (nreverse delayed-warnings-list))
(apply 'display-warning warning))
(let ((count 1)
(warnings (nreverse delayed-warnings-list))
warning)
(while warnings
(setq warning (pop warnings))
(if (equal warning (car warnings))
(setq count (1+ count))
(when (> count 1)
(setcdr warning (cons (format "%s [%d times]" (cadr warning) count)
(cddr warning)))
(setq count 1))
(apply 'display-warning warning))))
(setq delayed-warnings-list nil))
(defvar delayed-warnings-hook '(display-delayed-warnings)