header-mouse-map.
* ibuffer.el (ibuffer-name-header-map, ibuffer-size-header-map)
(ibuffer-mode-header-map): New keymaps.
(ibuffer-update-title-and-summary): Enable mouse face highlighting
and keybindings for column headers.
(name,size,mode) <define-ibuffer-column>: Add a header-mouse-map
property.
`with-no-warnings' to hide references to `ibuffer-elide-long-columns' (which is
defined on ibuffer.el, so it's silly to get warnings for it).
(ibuffer-auto-mode, ibuffer-cached-filter-formats,
ibuffer-compiled-filter-formats, ibuffer-filter-format-alist,
ibuffer-filter-group-kill-ring, ibuffer-filter-groups,
ibuffer-filtering-qualifiers, ibuffer-hidden-filter-groups,
ibuffer-inline-columns, ibuffer-show-empty-filter-groups,
ibuffer-tmp-hide-regexps, ibuffer-tmp-show-regexps): Defvar at compile time.
(ibuffer-compiled-formats, ibuffer-cached-eliding-string,
ibuffer-cached-formats, ibuffer-cached-elide-long-columns), eclare them before
use.
variable; whether to display buffers that match
`ibuffer-maybe-show-predicates' by default.
(ibuffer-maybe-show-predicates): Mention it in docstring.
(ibuffer-display-maybe-show-predicates): New variable.
(ibuffer-update): Prefix arg now toggles whether buffers that match
`ibuffer-maybe-show-predicates' should be displayed.
(ibuffer-mode): Set `ibuffer-display-maybe-show-predicates' locally to heed
`ibuffer-default-display-maybe-show-predicates'.
(ibuffer-redisplay-engine): Rename optional second arg to `ignore'.
* 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.el (ibuffer-redisplay-engine): Do not remove folded
filter groups from the buffer when rebuilding the Ibuffer buffer
and `ibuffer-show-empty-filter-groups' is nil.
(ibuffer-restore-window-config-on-quit): New variable to replace
`ibuffer-delete-window-on-quit'. Update all references.
(ibuffer-prev-window-config): New variable.
(ibuffer-quit): Restore previous window configuration instead of deleting
window.
(ibuffer): Save window configuration before showing Ibuffer buffer.
(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-get-category): Delete.
(ibuffer-compile-make-eliding-form): Use `font-lock-face' instead
of categories.
(ibuffer-compile-format): Don't treat `name' category specially.
(ibuffer-column name): Use `font-lock-face'.
(filename-and-process): Ditto.
(ibuffer-buffer-name-category): Renamed to
`ibuffer-buffer-name-face'. Don't use categories.
(ibuffer-update-title-and-summary): Use `font-lock-face'.
(ibuffer-insert-filter-group): Ditto.
(ibuffer-mode): Don't set up categories.
(ibuffer-use-fontification): Deleted.
(column filename-and-process): New column.
(ibuffer-formats): Use it by default.
(ibuffer-name-map, ibuffer-mode-name-map)
(ibuffer-filter-group-map): Don't set parent to
`ibuffer-mode-map'.
(ibuffer-do-save, ibuffer-do-toggle-modified)
(ibuffer-do-toggle-read-only, ibuffer-do-delete)
(ibuffer-do-kill-on-deletion-marks): Include name in definition.
(ibuffer): New optional argument `formats'.
`ibuffer-filters-to-filter-group' menu item. Fix :enable guards for
`ibuffer-pop-filter-group' and `ibuffer-clear-filter-groups'.
(toplevel): Specialize `ibuffer-mode-groups-popup' menu items.
(ibuffer-mode-view-menu): Unused variables; deleted.
(ibuffer-find-file): Pass wildcard flag to `find-file' correctly.
(ibuffer-mode-groups-popup): New variable.
(toplevel): Bind filter group menu entries in it. Add :enable
forms for some menu items.
(toplevel): Bind [down-mouse-3] in `ibuffer-mode-filter-group-map'
to `ibuffer-mouse-popup-menu'.
(ibuffer-mouse-popup-menu): Test whether or not we're on a filter
group name, and if so, pop up a filter group menu.
(ibuffer-mode-map): Bind <up> to `ibuffer-backward-line'. Bind
new functions from ibuf-ext.el. Add menu entries for them.
Remove superfluous tooltips.
(ibuffer-toggle-marks): If on a group name, then toggle marks just
in that group.
(ibuffer-mark-interactive): Handle filter groups.
(ibuffer-mark-forward, ibuffer-unmark-forward)
(ibuffer-mark-for-delete, ibuffer-unmark-backward)
(ibuffer-mark-for-delete-backwards): Update docs.
(ibuffer-current-filter-groups): Moved to ibuf-ext.el, and renamed
to `ibuffer-current-filter-groups-with-position'.
(ibuffer-redisplay-engine): Handle
`ibuffer-show-empty-filter-groups'.
(ibuffer-mode): Add some documentation about filter groups.
(ibuffer-mode-map): Bind and add menu entries for most new
functions; also, bind the arrow keys to the movement functions.
(ibuffer-mode-filter-group-map): New.
(ibuffer-mouse-toggle-mark): Handle group names.
(ibuffer-mouse-visit-buffer): Error if the current buffer is
killed.
(ibuffer-skip-properties): New function.
(ibuffer-backward-line, ibuffer-forward-line): Optionally skip
group names. Also, handle new properties.
(ibuffer-visit-buffer, ibuffer-visit-buffer-other-window): Move
error handling to `ibuffer-current-buffer'.
(ibuffer-visit-buffer-other-frame, ibuffer-bury-buffer): Ditto.
(ibuffer-visit-tags-table, ibuffer-do-view-1): Ditto.
(ibuffer-toggle-marks): Add optional group argument.
(ibuffer-mark-interactive): Skip group names.
(ibuffer-current-buffer): Clean up error handling.
(ibuffer-fontify-region-function): Fontify group names.
(ibuffer-map-lines): Add extra group argument. Handle it.
(ibuffer-current-filter-groups): New function.
(ibuffer-redisplay): Handle hidden filtering groups.
(ibuffer-sort-bufferlist): New function, taken from
`ibuffer-insert-buffers-and-marks'.
(ibuffer-insert-filter-group): New function.
(ibuffer-redisplay-engine): Renamed from
`ibuffer-insert-buffers-and-marks'. Handle new filtering groups.
(ibuffer): Add filter-groups argument. Handle it. Use
`save-selected-window'.
(ibuffer-mode): Make `ibuffer-filtering-groups' and
`ibuffer-hidden-filtering-groups' buffer-local.
only moving one line forward.
(ibuffer-map-lines): Preserve point position even if we delete
lines. Only call mapping functions with buffer and mark
arguments; the other two were unused.
(ibuffer-redisplay, ibuffer-update): Always skip special areas.
(ibuffer-current-buffers-with-marks): Don't call `buffer-list'
ourselves; take it as an argument. Caller updated.
(ibuffer-mode): Make mode-class special.