> So rather than forcibly exit isearch, we could select the original window back I see two cases that could go wrong: 1. another window is selected by display-buffer-alist. This can be fixed by selecting an old window back. 2. another buffer is displayed in the same window by display-buffer-alist. Isearch help commands solve the second problem by simply using isearch--display-help-action that inhibits displaying other buffers in the same window. Instead of let-binding display-buffer-overriding-action in all isearch help commands, we could set it temporarily like we already temporarily set overriding-terminal-local-map: