+(defun aggressive-indent--proccess-changed-list-and-indent ()
+ "Indent the regions in `aggressive-indent--changed-list'."
+ (let ((inhibit-modification-hooks t)
+ (inhibit-point-motion-hooks t)
+ (indent-function
+ (if (cl-member-if #'derived-mode-p aggressive-indent-modes-to-prefer-defun)
+ #'aggressive-indent--softly-indent-defun #'aggressive-indent--softly-indent-region-and-on)))
+ ;; Take the 10 most recent changes.
+ (let ((cell (last aggressive-indent--changed-list 10)))
+ (when cell (setcdr cell nil)))
+ ;; (message "----------")
+ (while aggressive-indent--changed-list
+ ;; (message "%S" (car aggressive-indent--changed-list))
+ (apply indent-function (car aggressive-indent--changed-list))
+ (setq aggressive-indent--changed-list
+ (cdr aggressive-indent--changed-list)))))
+