From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#18347: 24.3.93; Incomplete splash screen display on Cygwin-w32 build Date: Fri, 29 Aug 2014 22:41:58 +0300 Message-ID: <837g1rhym1.fsf@gnu.org> References: <53FFA44A.3040602@cornell.edu> <83sikfizia.fsf@gnu.org> <54009765.8040509@cornell.edu> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1409341404 4756 80.91.229.3 (29 Aug 2014 19:43:24 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 29 Aug 2014 19:43:24 +0000 (UTC) Cc: 18347@debbugs.gnu.org To: Ken Brown Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Aug 29 21:43:17 2014 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1XNS4q-0004ms-A5 for geb-bug-gnu-emacs@m.gmane.org; Fri, 29 Aug 2014 21:43:16 +0200 Original-Received: from localhost ([::1]:43917 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XNS4p-00016d-NZ for geb-bug-gnu-emacs@m.gmane.org; Fri, 29 Aug 2014 15:43:15 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:37840) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XNS4i-00016K-6J for bug-gnu-emacs@gnu.org; Fri, 29 Aug 2014 15:43:13 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XNS4c-0004BX-VQ for bug-gnu-emacs@gnu.org; Fri, 29 Aug 2014 15:43:08 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:33987) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XNS4c-0004BT-SS for bug-gnu-emacs@gnu.org; Fri, 29 Aug 2014 15:43:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1XNS4c-0005hA-GX for bug-gnu-emacs@gnu.org; Fri, 29 Aug 2014 15:43:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 29 Aug 2014 19:43:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 18347 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 18347-submit@debbugs.gnu.org id=B18347.140934132921821 (code B ref 18347); Fri, 29 Aug 2014 19:43:02 +0000 Original-Received: (at 18347) by debbugs.gnu.org; 29 Aug 2014 19:42:09 +0000 Original-Received: from localhost ([127.0.0.1]:53784 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XNS3k-0005fs-1q for submit@debbugs.gnu.org; Fri, 29 Aug 2014 15:42:08 -0400 Original-Received: from mtaout20.012.net.il ([80.179.55.166]:58944) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XNS3g-0005fM-TN for 18347@debbugs.gnu.org; Fri, 29 Aug 2014 15:42:06 -0400 Original-Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0NB300M002EN0500@a-mtaout20.012.net.il> for 18347@debbugs.gnu.org; Fri, 29 Aug 2014 22:41:57 +0300 (IDT) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NB300LHN2PXRI60@a-mtaout20.012.net.il>; Fri, 29 Aug 2014 22:41:57 +0300 (IDT) In-reply-to: <54009765.8040509@cornell.edu> X-012-Sender: halo1@inter.net.il X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:92825 Archived-At: > Date: Fri, 29 Aug 2014 11:08:21 -0400 > From: Ken Brown > CC: 18347@debbugs.gnu.org > > On 8/29/2014 2:25 AM, Eli Zaretskii wrote: > >> Date: Thu, 28 Aug 2014 17:51:06 -0400 > >> From: Ken Brown > >> > >> --- lisp/startup.el 2014-07-08 09:17:09 +0000 > >> +++ lisp/startup.el 2014-08-28 20:07:20 +0000 > >> @@ -1812,7 +1812,7 @@ > >> (let (chosen-frame) > >> ;; MS-Windows needs this to have a chance to make the initial > >> ;; frame visible. > >> - (if (eq system-type 'windows-nt) > >> + (if (eq window-system 'w32) > >> (sit-for 0 t)) > >> (dolist (frame (append (frame-list) (list (selected-frame)))) > >> (if (and (frame-visible-p frame) > > > > It is fundamentally wrong to use window-system the variable in such > > circumstances (or almost any other). Please use the function instead. > > OK. But could you explain why? TIA. Because we don't want to risk assigning it a value. Also, the function can accept a frame argument, thus giving you a chance to inquire about a specific frame (different frames can have different window-system values). And if you use window-system as a predicate (not in this case, obviously), you should use the various display-*-p predicates instead. > >> Is this still OK for the native Windows build? If so, is it OK to > >> install it in the release branch? > > > > Yes and yes. Although I'd urge you to try to figure out why this is > > needed in the cygwin-w32 build (the native-build problem which led to > > this code manifested itself in a rather different way, see bug#16014). > > Actually, the visual symptom I'm describing (failure of the logo to > appear) is identical to what Juanma reported in that bug. OK, but that's not what your original description said. > Your message in that bug discussion says, "It's again that timing > thing with making the initial frame visible." The "again" suggests > that there is an earlier bug report or discussion about that. Can > you give me a reference or just explain what you meant by that? Bug#14841, I think. Basically, since creating a frame on w32 takes some time until the OS sets up the message pump for the new frame, Lisp code that creates a frame and immediately proceeds with manipulating the new frame might sometimes need sit-for to let the dust settle.