But this will not handle modes that don't use tabulated-list.
For example, reverting an xref buffer with outlines now restores
visibility of outlines, but doesn't restore point. OTOH, maybe it's
not responsibility of outline-minor-mode to restore point when it's
not on a heading line.
For xref I propose a separate patch that keeps point on the same line
after reverting the xref buffer:
LGTM, but FWIW the situation with xref-revert-buffer is not ideal IMO:
it might be cleaner to leave 'g' bound to the usual revert-buffer and
set revert-buffer-function to (a slightly modified) xref-revert-buffer.
That way xref-revert-buffer wouldn't need to duplicate generic parts of
revert-buffer, such as running revert-buffer-restore-functions. WDYT?