From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Lennart Borgman (gmail)" Newsgroups: gmane.emacs.devel Subject: Re: Emacs does not listen on w32 Date: Mon, 14 Apr 2008 18:21:27 +0200 Message-ID: <48038487.3060201@gmail.com> References: <4800D965.9080202@gmail.com> <480208C8.3030401@gnu.org> <480212F7.7090409@gmail.com> <4802249D.2060909@gmail.com> <480271D2.7040304@gmail.com> <4802FD64.1080602@gmail.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1208190509 8265 80.91.229.12 (14 Apr 2008 16:28:29 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 14 Apr 2008 16:28:29 +0000 (UTC) Cc: Juanma Barranquero , Eli Zaretskii , jasonr@gnu.org, emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Apr 14 18:29:05 2008 connect(): Connection refused Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1JlRS5-0008Nf-3U for ged-emacs-devel@m.gmane.org; Mon, 14 Apr 2008 18:22:42 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JlRRO-0005Tk-V6 for ged-emacs-devel@m.gmane.org; Mon, 14 Apr 2008 12:21:58 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JlRRJ-0005Qx-MN for emacs-devel@gnu.org; Mon, 14 Apr 2008 12:21:53 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JlRRE-0005Kk-1n for emacs-devel@gnu.org; Mon, 14 Apr 2008 12:21:50 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JlRRD-0005KS-Gi for emacs-devel@gnu.org; Mon, 14 Apr 2008 12:21:47 -0400 Original-Received: from ch-smtp02.sth.basefarm.net ([80.76.149.213]) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1JlRR2-0004iz-Pt; Mon, 14 Apr 2008 12:21:37 -0400 Original-Received: from c83-254-150-27.bredband.comhem.se ([83.254.150.27]:61175 helo=[127.0.0.1]) by ch-smtp02.sth.basefarm.net with esmtp (Exim 4.68) (envelope-from ) id 1JlRQz-0005A8-8K; Mon, 14 Apr 2008 18:21:33 +0200 User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.9) Gecko/20071031 Thunderbird/2.0.0.9 Mnenhy/0.7.5.666 In-Reply-To: X-Antivirus: avast! (VPS 080414-0, 2008-04-14), Outbound message X-Antivirus-Status: Clean X-Originating-IP: 83.254.150.27 X-ACL-Warn: Too high rate of unknown addresses received from you X-Scan-Result: No virus found in message 1JlRQz-0005A8-8K. X-Scan-Signature: ch-smtp02.sth.basefarm.net 1JlRQz-0005A8-8K ff1a5147ea0b9a12e13d75faff97cd31 X-detected-kernel: by monty-python.gnu.org: Linux 2.6? (barebone, rare!) 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:95186 Archived-At: Stefan Monnier wrote: >>>> In any case, the first >>>> thing to do is to figure out what *really* happened in the first place. >>>> We don't even know why Emacs didn't respond. Maybe it has nothing to do >>>> with the processing of WM_CLOSE. >>> I don't think the problem was related to WM_CLOSE. What you suggested >>> is much more likely: a memory leak. Windows tends to be *extremely* >>> unresponsive on low-memory situations. > >> I think you and Stefan are right about the memory problem but that there are >> two different problems. In response to Eli's message I tested a simple loop, >> something like > >> (let (x y) >> (while (not x) >> (setq y (current-time-string)) >> (when (string= y "something") >> (setq x t)))) > >> Running this Emacs does not hang the pc, but it still does not answer when >> clicking the [X]. (I could kill it with C-g here though.) > > Yes, that's perfectly normal. The current semantics of WM_CLOSE (for > Emacs) is more or less the same as C-x C-c (or C-x 5 0): it waits for > the current command to finish and then runs another command that deletes > the frame. Yes, I know, but I think there are at least two problems here: - I do not believe this is the right semantics for WM_CLOSE. - If you run the above code in a timer (like I did) it is worse. There is no way at all to stop it. (Except from Task Manager.) For both these problems I think a change in the semantics for WM_CLOSE (and related messages) are the best cure. For Juanmas very relevant question how this should work I suggest something like this: - Give Emacs say 4 seconds to finish what it is doing. (The documentation for IsHungAppWindow says that an application should be considered hung if it does not respond in 5 seconds.) If it did not finish then ask the user whether to interrupt or not. BTW, related to this is WM_QUERYENDSESSION which I believe Emacs currently does not handle (or even look at).