Function: ibuffer-redisplay-engine
ibuffer-redisplay-engine is a byte-compiled function defined in
ibuffer.el.gz.
Signature
(ibuffer-redisplay-engine BMARKLIST &optional IGNORE)
Source Code
;; Defined in /usr/src/emacs/lisp/ibuffer.el.gz
(defun ibuffer-redisplay-engine (bmarklist &optional _ignore)
(ibuffer-assert-ibuffer-mode)
(let* ((--ibuffer-insert-buffers-and-marks-format
(ibuffer-current-format))
(--ibuffer-expanded-format (mapcar #'ibuffer-expand-format-entry
(ibuffer-current-format t)))
(orig (count-lines (point-min) (point)))
;; Inhibit font-lock caching tricks, since we're modifying the
;; entire buffer at once
(inhibit-modification-hooks t)
(ext-loaded (featurep 'ibuf-ext))
(bgroups (if ext-loaded
(ibuffer-generate-filter-groups bmarklist)
(list (cons "Default" bmarklist)))))
(ibuffer-clear-summary-columns --ibuffer-expanded-format)
(unwind-protect
(progn
(setq buffer-read-only nil)
(erase-buffer)
(ibuffer-update-format)
(dolist (group (nreverse bgroups))
(let* ((name (car group))
(disabled (and ext-loaded
(member name ibuffer-hidden-filter-groups)))
(bmarklist (cdr group)))
(unless (and (null bmarklist)
(not disabled)
ext-loaded
(null ibuffer-show-empty-filter-groups))
(ibuffer-insert-filter-group
name
(if disabled (concat name " ...") name)
(if ext-loaded
(ibuffer-format-filter-group-data name)
"")
--ibuffer-insert-buffers-and-marks-format
(if disabled
nil
(ibuffer-sort-bufferlist bmarklist))))))
(ibuffer-update-title-and-summary --ibuffer-expanded-format))
(setq buffer-read-only t)
(set-buffer-modified-p ibuffer-did-modification)
(setq ibuffer-did-modification nil)
(goto-char (point-min))
(forward-line orig))))