If I execute a keyboard macro that ends in an occur-mode buffer, Emacs gives the usual '(Type e to repeat macro)' prompt, but if you type 'e' it gets rejected because the occur buffer is read-only.
I can still repeat the macro with C-x e (or C-u 100 C-x e, which is probably what you usually do with macros in occur buffers), but it is surprising at first.
In GNU Emacs 23.2.1 (i686-pc-linux-gnu, GTK+ Version 2.8.20)
of 2010-05-10 on discordia Windowing system distributor `The X.Org Foundation', version 11.0.70101000 configured using `configure '--without-sound''
Important settings: value of $LC_ALL: nil
value of $LC_COLLATE: nil value of $LC_CTYPE: nil value of $LC_MESSAGES: nil value of $LC_MONETARY: nil value of $LC_NUMERIC: nil value of $LC_TIME: nil value of $LANG: en_US.UTF-8 value of $XMODIFIERS: nil
locale-coding-system: utf-8-unix default enable-multibyte-characters: t
Major mode: Occur
Minor modes in effect: shell-dirtrack-mode: t tooltip-mode: t mouse-wheel-mode: t file-name-shadow-mode: t
global-font-lock-mode: t font-lock-mode: t auto-encryption-mode: t auto-compression-mode: t column-number-mode: t line-number-mode: t transient-mark-mode: t
Recent input: <mouse-5> <down-mouse-5> <mouse-5> <down-mouse-5> <mouse-5>
<help-echo> <down-mouse-5> <mouse-5> <help-echo> <down-mouse-5> <mouse-5> <help-echo> <down-mouse-5> <mouse-5> <down-mouse-5> <mouse-5> <down-mouse-5> <mouse-5> <down-mouse-5> <mouse-5>
<down-mouse-5> <mouse-5> <down-mouse-4> <mouse-4> <down-mouse-4> <mouse-4> <down-mouse-4> <mouse-4> <help-echo> <down-mouse-4> <mouse-4> <help-echo> <down-mouse-4> <mouse-4> <help-echo>
<down-mouse-4> <mouse-4> <down-mouse-4> <mouse-4> <help-echo> <help-echo> <down-mouse-5> <mouse-5> <down-mouse-5> <mouse-5> <down-mouse-1> <mouse-1> <double-down-mouse-1>
<double-mouse-1> <down-mouse-1> <mouse-1> <help-echo> <down-mouse-5> <mouse-5> <help-echo> <down-mouse-5> <mouse-5> <help-echo> <down-mouse-5> <mouse-5> <down-mouse-5>
<mouse-5> <help-echo> <down-mouse-5> <mouse-5> <help-echo> <down-mouse-1> <mouse-2> <help-echo> <down-mouse-1> <mouse-1> <help-echo> <switch-frame> <C-backspace>
<C-backspace> <C-backspace> <switch-frame> <help-echo> C-x e <switch-frame> <switch-frame> <help-echo> C-x e <switch-frame> <switch-frame> e e <help-echo> C-x
e <switch-frame> <switch-frame> e C-x e <switch-frame> <switch-frame> e <help-echo> <help-echo> <switch-frame> <switch-frame> <help-echo> C-x e <switch-frame> <switch-frame>
C-x e <switch-frame> <switch-frame> C-x e <switch-frame> <switch-frame> C-x e <switch-frame> <switch-frame> C-x e <switch-frame> <switch-frame> C-x e <switch-frame>
<switch-frame> C-x e <switch-frame> <switch-frame> C-u 2 0 C-x e <switch-frame> <switch-frame> <switch-frame> <switch-frame> <switch-frame> <switch-frame> <switch-frame>
<switch-frame> <switch-frame> <switch-frame> <switch-frame> <switch-frame> <switch-frame> <switch-frame> <switch-frame> <switch-frame> <switch-frame> <switch-frame> <switch-frame>
<switch-frame> <switch-frame> <switch-frame> <switch-frame> <switch-frame> <switch-frame> <switch-frame> <switch-frame> <switch-frame> <switch-frame> <switch-frame> <switch-frame>
<switch-frame> <switch-frame> <switch-frame> <switch-frame> <switch-frame> <switch-frame> <switch-frame> <switch-frame> <switch-frame> C-u 2 0 C-x e <switch-frame> <down-mouse-4>
<mouse-4> <double-down-mouse-4> <double-mouse-4> <triple-down-mouse-4> <triple-mouse-4> <down-mouse-1> <mouse-movement> <mouse-1> <delete> <up> <up> <up> <up> <down-mouse-1> <mouse-movement>
<drag-mouse-1> <down-mouse-1> <mouse-movement> <mouse-1> <down-mouse-1> <mouse-movement> <mouse-movement> <drag-mouse-1> C-w <down-mouse-1> <mouse-movement> <mouse-movement>
<drag-mouse-1> <down-mouse-1> <mouse-1> <down-mouse-1> <mouse-movement> <mouse-movement> <drag-mouse-1> M-x d e l e <tab> <tab> d u p <tab> <tab> <backspace> <backspace>
<backspace> <tab> C-g <down-mouse-1> <mouse-movement> <mouse-movement> <drag-mouse-1> C-w <down-mouse-1> <mouse-movement> <mouse-movement> <drag-mouse-1> C-w
<down-mouse-1> <mouse-movement> <mouse-movement> <drag-mouse-1> C-w <down-mouse-1> <mouse-movement> <mouse-movement> <drag-mouse-1> C-w <down-mouse-1> <mouse-movement>
<mouse-movement> <drag-mouse-1> C-w <down-mouse-1> <mouse-movement> <mouse-movement> <drag-mouse-1> C-w <down-mouse-1> <mouse-movement> <mouse-movement> <drag-mouse-1>
C-w <switch-frame> <switch-frame> <down-mouse-1> <mouse-movement> <mouse-1> C-x C-s <switch-frame> <help-echo> <help-echo> <help-echo> M-x r e p o r t - e m a c s - b u g <r
eturn>
Recent messages: Buffer is read-only: #<buffer *Occur*> (Type e to repeat macro) Buffer is read-only: #<buffer *Occur*> (Type e to repeat macro) [8 times] After 14 kbd macro iterations: occur-mode-find-occurrence: No occurrence on this line
Making completion list... [2 times] Quit Auto-saving...done