From xemacs-m  Fri Jan 31 10:47:00 1997
Received: from portofix.ida.liu.se (portofix.ida.liu.se [130.236.177.25])
	by xemacs.org (8.8.5/8.8.5) with ESMTP id KAA09280
	for <xemacs-beta@xemacs.org>; Fri, 31 Jan 1997 10:46:59 -0600 (CST)
Received: from sen2.ida.liu.se (sen2.ida.liu.se [130.236.176.112]) by portofix.ida.liu.se (8.8.3/8.8.3) with SMTP id RAA24877 for <xemacs-beta@xemacs.org>; Fri, 31 Jan 1997 17:46:58 +0100 (MET)
Received: by sen2.ida.liu.se (SMI-8.6/ida.slave-V1.0b6d6S2)
	id RAA02584; Fri, 31 Jan 1997 17:46:58 +0100
Date: Fri, 31 Jan 1997 17:46:58 +0100
Message-Id: <199701311646.RAA02584@sen2.ida.liu.se>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
From: David Byers <davby@ida.liu.se>
To: xemacs-beta@xemacs.org
Subject: Bug in 20.0-beta93: Fnext_window vs. frame_matches_frametype
X-Face: (@~#v$c[GP"T}a;|MU<%Dpm5*6yv"NR|7k;uk8MAISFxdZ(Og$C{u(j"9X7v$qonp}SKfhT
 g|5[Pu~/3F7XQEk70gK'4z%1R%%gg7]}=>/jD`qcBeHDgo&HS,^S!&.zoTSxh<>-O6EB?SSy96&m37

In XEmacs 20.0 [Lucid] (sparc-sun-solaris2.5, Mule) of Fri Jan 31 1997
on sen22.ida.liu.se:

Start emacs with -q and open another buffer in another frame (C-x 5
b). In the original frame, evaluate (next-window (selected-window) nil
0). The result *should* be the window in the other frame, but in fact
is equal to selected-window. This causes (among others) walk-windows
to fail.

The problem seems to be that Fnext_window wants ZEROP (all_frames) to
mean `any window in any visible or iconified frame' whereas
frame_matches_frametype thinks that a framtype of zero (which is how
all_frames is used) means `any window in any iconified frame.'

A patch follows. It fixes next-window. I don't think it unfixes
anything else, but who knows for sure with one-liners?

--
David Byers.


*** frame-old.c Fri Jan 31 17:17:11 1997
--- frame.c     Fri Jan 31 17:26:51 1997
***************
*** 903,909 ****
    if (NILP (type))
      type = Qnomini;
    if (ZEROP (type))
!     type = Qiconic;
  
    if (EQ (type, Qvisible))
      return FRAME_VISIBLE_P (f);
--- 903,909 ----
    if (NILP (type))
      type = Qnomini;
    if (ZEROP (type))
!     type = Qvisible_iconic;
  
    if (EQ (type, Qvisible))
      return FRAME_VISIBLE_P (f);


