On May 16, 2009, at 3:28 PM, Chong Yidong wrote: >> will unexpectedly leave one frame visible and raised. It should >> actually hide all frames. > > Emacs does this on GNU/Linux as well, at least under the Metacity > window > manager. If we "fix" it---which I'm not sure we should---then the fix > should occur in the platform-independent code. As it stands, Emacs is unable to consistently hide all frames, and this behavior of unhiding frames is simply not documented as such. If it is the window manager that makes a frame visible, then we should respect that. It's not our business. But forcefully un-hiding some other frame as is done specifically in NS is not a great idea. (We can select a frame without unhiding it!) Hiding a frame is the only workaround that I know that allows me to remove all frames. Running an application without any open frames is a perfectly normal thing to do in any environment that displays the menu bar on the top. The code can't handle deleting the last frame (as it is assumed in many places that there is a live, selected frame). That's why hiding is important to me.