* ibuf-ext.el (ibuffer-jump-to-buffer): Add support for filter
groups: if the user asks for a hidden buffer, open the
corresponding filter group to expose it.
* ibuffer.el (ibuffer-mode-map): Add key binding `M-g' to
`ibuffer-jump-to-buffer'.
(ibuffer-jump-offer-only-visible-buffers): New user option.
(ibuffer-confirm-operation-on): Use `window-list' instead.
(ibuffer-load-hook): New customizable variable.
(toplevel): Run it.
(ibuffer-customize): New command.
(ibuffer-mode-map): Bind it.
(ibuffer-mode-map): Add menu seperator in View>Sort menu.
(ibuffer-mode): Tidy.
(ibuffer-fontification-alist, ibuffer-always-show-last-buffer)
(ibuffer-default-directory, ibuffer-default-sorting-mode)
(ibuffer-maybe-show-predicates, ibuffer-hook, ibuffer-mode-hook)
(ibuffer-map-lines): Doc fixes.
Update mail address.
* ibuf-ext.el (ibuffer-copy-filename-as-kill): C-u means relative
filenames. Use `kill-new'.
Update mail address.
* ibuf-macs.el
Update mail address.
disable it buffer-locally.
(ibuffer-mouse-popup-menu): Use `=' instead of `eq' to compare
`eventpt' and point.
* ibuf-ext.el (ibuffer-remove-duplicates): New function.
(ibuffer-set-filter-groups-by-mode): Use it instead of
`delete-duplicates' so we don't require cl library at runtime.
(ibuffer-insert-filter-group-before): Don't use `position' so we
don't require cl library at runtime.
* chistory.el (command-history-mode): Add interactive spec.
Improve doc string.
(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'