(occur-mode): Remove call to `occur-mode-hook'.
(occur-rename-buffer): Fix reference to `occur-mode-hook' in docstring.
(occur-1): Add call to `occur-hook'.
(occur-mode-map): Don't escape plain "o".
(occur-mode-hook): New variable.
(occur-fontify-region-function): Deleted.
(occur-mode): Don't use it. Set up `font-lock-category-alist' instead.
(occur-fontify-on-property): Deleted.
(occur-engine): Use categories from `font-lock-category-alist'.
(occur-mode): Don't use it.
(occur-engine): Respect `keep-props'.
(occur-accumulate-lines): If we're moving forward, decrement; don't
increment, and vice versa.
(occur-1): If one of the buffers we're searching is the *Occur* buffer
itself, handle it by creating a temporary buffer. If any of the
buffers being searched are killed, note that in the search result
message. Also, set local variables before we possibly kill the
buffer.
(occur-engine-add-prefix): New function.
(occur-engine): Avoid using macrolet, incf and decf.
Use occur-engine-add-prefix instead.
Rename `l' to `lines' and `c' to `matches'.
(occur-engine, occur-mode-mouse-goto)
(occur-mode-find-occurrence, occur-mode-goto-occurrence)
(occur-mode-goto-occurrence-other-window)
(occur-mode-display-occurrence): A position is just a marker,
not a list.
(occur-revert-arguments):
Renamed from occur-revert-properties. All uses changed.
(occur-buffer, occur-nlines): Delete.
(occur-revert-properties): Rename to `occur-revert-properties'.
(occur-mode): Handle it. Set up font lock.
(occur-revert-function): Simply apply `occur-1'.
(occur-mode-find-occurence, occur-mode-mouse-goto)
(occur-mode-goto-occurrence-other-window)
(occur-mode-display-occurrence): Handle buffer property.
(list-matching-lines-face): Use defcustom.
(list-matching-lines-buffer-name-face): New variable.
(occur-accumulate-lines): Renamed from `ibuffer-accumulate-lines',
in ibuffer.el.
(occur-read-primary-args): Move out of `occur'.
(occur): Delete. Now simply call `occur-1'.
(multi-occur, multi-occur-by-filename-regexp): New functions.
(occur-1): New function.
(occur-engine): Renamed from `ibuffer-occur-engine' to replace the
previous implementation of `occur'; taken from ibuf-ext.el.
(occur-fontify-on-property): New function.
(occur-fontify-region-function, occur-unfontify-region-function):
New functions.
(keep-lines, flush-lines, how-many): Use keep-lines-read-args to
read arguments interactively. Add parameters RSTART and REND.
Operate on the active region in Transient Mark mode.
value of tab-width in the original buffer. Choose a line number
format that's a multiple of the original buffer's tab width, so
that lines appear right.