>> Create a frame >> >> (setq my-frame (make-frame)) >> >> Iconify it. Then make it first invisible and then visible again: >> >> (make-frame-invisible my-frame) >> (make-frame-visible my-frame) >> >> The result of checking if it is visible is now nil (should be `iconified'): >> >> (frame-visible-p my-frame) >> >> This is with a fresh checkout from yesterday. >> >> >> BTW the implementation of frame-visible-p seems a bit strange to me on >> w32. It is easy to check visibility using GetWindowPlacement, but is >> this used? > > Sorry for the late reply here. In Emacs 25, the behavior is different, > at least for me in Mac OS X. Now, when I do (make-frame-visible > my-frame), the frame uniconifies and becomes a normal window again. And that's wrong according to the OP. The frame should stay iconified. The attached patch would fix this in the OP's sense on Windows but this would probably have to be fixed in a similar sense on the other platforms as well and I wouldn't know how to do that in xterm.c where we have this explicit specification: /* Make the frame visible (mapped and not iconified). */ void x_make_frame_invisible (struct frame *f) I suppose it can't be done reliably on GNU/Linux and that's why Windows has to stick to the wrong behavior. > Can you (or anyone else) still reproduce this on Windows? This should be reproducible everywhere. martin