(defcustom buffers-tab-filter-functions '(select-buffers-tab-buffers-by-mode)
"*A list of functions specifying buffers to display in the buffers tab.
-May be empty. Each function in the list must take arguments (BUF1 BUF2).
+
+If nil, all buffers are kept, up to `buffers-tab-max-size', in usual order.
+Otherwise, each function in the list must take arguments (BUF1 BUF2).
BUF1 is the candidate, and BUF2 is the current buffer (first in the buffers
-list). Return non-nil if BUF1 should be added to the buffers tab. The
-default adds BUF1 if BUF1 and BUF2 have the same major mode, or if both
-match `buffers-tab-grouping-regexp'."
+list). The function should return non-nil if BUF1 should be added to the
+buffers tab. BUF1 will be omitted if any of the functions returns nil.
+
+Defaults to `select-buffers-tab-buffers-by-mode', which adds BUF1 if BUF1 and
+BUF2 have the same major mode, or both match `buffers-tab-grouping-regexp'."
:type '(repeat function)
:group 'buffers-tab)
(defun progress-feedback-with-label (label fmt &optional value &rest args)
"Print a progress gauge and message in the bottom gutter area of the frame.
-First argument LABEL is an identifier for this progress gauge. The rest of the
-arguments are the same as to `format'."
+LABEL is an identifier for this progress gauge.
+FMT is a format string to be passed to `format' along with ARGS.
+Optional VALUE is the current degree of progress, an integer 0-100.
+The remaining ARGS are passed with FMT `(apply #'format FMT ARGS)'."
;; #### sometimes the buffer gets changed temporarily. I don't know
;; why this is, so protect against it.
(save-excursion