Subject: bug#31312: Segmentation fault with doom-emacs, NeoTree and Zoom

From: martin rudalics <[email-masked]>
Date: Wed, 02 May 2018 20:43:30 +0200

>> If you mean something like
 >>
 >>     if (WINDOWP (selected_window) && (w = XWINDOW (selected_window)) != sw)
 >>       sw = w;
 >>
 >> I'm afraid that this would fail since selected_window has no buffer
 >> any more (or may have even been recycled already).
 >
 > Is that a fact?  I might be mistaken, but my take on what Noam found
 > was that the selected window is OK, it's just that the window held in
 > W is dead (i.e. it was deleted inside the tempest that happened in
 > run_window_size_change_functions called by prepare_menu_bars).  So my
 > suggestion is to update W with the new selected window.

Then I misinterpreted Noam's results.  Anyway, a simple way to
reproduce the bug is

(defun foo (frame)
   (delete-window (selected-window)))

(add-hook 'window-size-change-functions 'foo)

and do C-x 2.

martin