One of numerous examples is to save and restore hidden outlines after doing 'revert-buffer': (add-hook 'Buffer-menu-mode-hook (lambda () (add-hook 'revert-buffer-state-functions (lambda () (let ((regexp (outline-hidden-headings-regexp))) (when regexp (lambda () (outline-hide-by-heading-regexp regexp)))))))) Currently this handles outlines only in the buffer list. But probably this settings should be added to outline-minor-mode. And here is the immediate need to use it to rehighlight the outlines after reverting the buffer list: