(ibuffer-clear-filter-groups): Likewise.
(ibuffer-kill-filter-group): Likewise.
(ibuffer-kill-line): Likewise.
(ibuffer-read-filter-group-name): New function.
(ibuffer-jump-to-filter-group): Use it.
(ibuffer-kill-filter-group): Likewise.
(ibuffer-yank-filter-group): Likewise.
(ibuffer-decompose-filter-group): New function.
Push killed group on `ibuffer-filter-group-kill-ring'.
(ibuffer-kill-line): Document. Don't push killed group ourselves.
(ibuffer-yank-filter-group): Renamed from `ibuffer-yank'.
(ibuffer-insert-filter-group-before): New function, broken out from
`ibuffer-yank'.
(ibuffer-yank): Now just call `ibuffer-yank-filter-group'.
(ibuffer-kill-line): Copy the filter group data structure when killing.
(ibuffer-yank): Handle case where we're yanking on the default group
correctly.
(ibuffer-delete-saved-filter-groups): Doc fix.
(ibuffer-yank): Be sure to `setq' after we use `nconc'.
(ibuffer-save-filter-groups): Correctly structure filter groups.
(ibuffer-switch-to-saved-filter-groups): Correctly extract filter
groups.
`ibuffer-filter-groups'. All users updated.
(ibuffer-show-empty-filter-groups): New variable.
(ibuffer-saved-filter-groups): New variable.
(ibuffer-maybe-save-stuff): Renamed from
`ibuffer-maybe-save-saved-filters'. Callers updated. Handle
`ibuffer-saved-filter-groups'.
(ibuffer-hidden-filtering-groups): Renamed to
`ibuffer-hidden-filter-groups'.
(ibuffer-filter-group-kill-ring): New variable.
(ibuffer-save-with-custom): Doc fix.
(ibuffer-set-filter-groups-by-mode): New function.
(ibuffer-clear-filter-groups): New function.
(ibuffer-current-filter-groups-with-position): Renamed from
`ibuffer-current-filter-groups'. Callers updated.
(ibuffer-kill-filter-group): New function.
(ibuffer-kill-line): New function.
(ibuffer-yank): New function.
(ibuffer-save-filter-groups): New function.
(ibuffer-delete-saved-filter-groups): New function.
(ibuffer-switch-to-saved-filter-groups): New function.
(ibuffer-mark-on-buffer): Add optional arguments for adding a
specific mark, and marking on a specific group.
(ibuffer-split-list): New function.
(ibuffer-filtering-groups): New variable.
(ibuffer-hidden-filtering-groups): New variable.
(ibuffer-mouse-toggle-filter-group): New function.
(ibuffer-toggle-filter-group): New function.
(ibuffer-toggle-filter-group-1): New function.
(ibuffer-forward-filter-group): New function.
(ibuffer-backward-filter-group): New funtion.
(ibuffer-generate-filter-groups): New function.
(ibuffer-filters-to-filter-group): New function.
(ibuffer-pop-filter-group): New function.
(ibuffer-jump-to-filter-group): New function.
(ibuffer-do-occur): Just use `occur-read-primary-args'