From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: [drew.adams@oracle.com: RE: weird defadvice bug with byte-compilation] Date: Sat, 17 Dec 2005 10:29:11 +0200 Message-ID: References: Reply-To: Eli Zaretskii NNTP-Posting-Host: main.gmane.org X-Trace: sea.gmane.org 1134809708 12094 80.91.229.2 (17 Dec 2005 08:55:08 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Sat, 17 Dec 2005 08:55:08 +0000 (UTC) Cc: jasonr@gnu.org, emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Dec 17 09:54:57 2005 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1EnXq9-0000Uj-M8 for ged-emacs-devel@m.gmane.org; Sat, 17 Dec 2005 09:54:54 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1EnXqr-0007zl-PC for ged-emacs-devel@m.gmane.org; Sat, 17 Dec 2005 03:55:38 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1EnXSd-0000jn-TQ for emacs-devel@gnu.org; Sat, 17 Dec 2005 03:30:36 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1EnXSc-0000jR-3K for emacs-devel@gnu.org; Sat, 17 Dec 2005 03:30:34 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1EnXSZ-0000ij-UZ for emacs-devel@gnu.org; Sat, 17 Dec 2005 03:30:32 -0500 Original-Received: from [192.114.186.66] (helo=romy.inter.net.il) by monty-python.gnu.org with esmtp (Exim 4.34) id 1EnXV6-0000UV-Ik; Sat, 17 Dec 2005 03:33:08 -0500 Original-Received: from HOME-C4E4A596F7 (IGLD-84-228-142-236.inter.net.il [84.228.142.236]) by romy.inter.net.il (MOS 3.7.2-GA) with ESMTP id DES05012 (AUTH halo1); Sat, 17 Dec 2005 10:29:08 +0200 (IST) Original-To: rms@gnu.org In-reply-to: (rms@gnu.org) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:47932 Archived-At: > From: "Richard M. Stallman" > CC: emacs-devel@gnu.org, jasonr@gnu.org > Date: Fri, 16 Dec 2005 20:05:24 -0500 > > + /* Do this before the call to w32_window, since that can call Feval > + (e.g., to compute the frame's menu bar) and throw an error, which > + will leave this frame unregistered. */ > + Vframe_list = Fcons (frame, Vframe_list); > + > w32_window (f, window_prompting, minibuffer_only); > x_icon (f, parameters); > x_make_gc (f); > > > Changing Vframe_list so early, before calling w32_window, could be > dangerous. What if some part of window creation fails, or x_icon, or > x_make_gc? While I am not sure of how things worn on Windows, if > those fail I suspect it will leave a bad situation. You would not want > such a frame to be considered live. AFAICS, only x_icon can throw an error. We could arrange for removing the failed frame from the list (and free its glyph matrices while at that) if an error is thrown. > I think the right fix is keep the setting of Vframe_list where it was, > and instead move the creation of the menu bar out of w32_window and > put it at a later place in Fx_create_frame. I agree. I asked Jason whether such a change could do any harm on Windows. So I understand from your response that it is okay for Fx_create_frame to be entered recursively, yes?