}
DEFUN ("set-frame-selected-window", Fset_frame_selected_window, 2, 2, 0, /*
-Set the selected window of frame object FRAME to WINDOW.
+Set the selected window of FRAME to WINDOW.
If FRAME is nil, the selected frame is used.
If FRAME is the selected frame, this makes WINDOW the selected window.
*/
A frame that is not visible is not updated, and, if it works through a
window system, may not show at all.
N.B. Under X "visible" means Mapped. It the window is mapped but not
-actually visible on screen then frame_visible returns 'hidden.
+actually visible on screen then `frame-visible-p' returns 'hidden.
*/
(frame))
{
DEFUN ("visible-frame-list", Fvisible_frame_list, 0, 1, 0, /*
Return a list of all frames now "visible" (being updated).
If DEVICE is specified only frames on that device will be returned.
-Note that under virtual window managers not all these frame are necessarily
-really updated.
+Note that under virtual window managers not all these frames are
+necessarily really updated.
*/
(device))
{
So deal. */
check_frame_size (f, &newheight, &newwidth);
+ /* Unconditionally mark that the frame has changed size. This is
+ because many things need to know after the
+ fact. f->size_change_pending will get reset below. The most that
+ can happen is that we will cycle through redisplay once more
+ --andy. */
+ MARK_FRAME_SIZE_CHANGED (f);
+
if (delay || in_display || gc_in_progress)
{
- MARK_FRAME_SIZE_CHANGED (f);
f->new_width = newwidth;
f->new_height = newheight;
return;