From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Chong Yidong Newsgroups: gmane.emacs.devel Subject: Re: Recent keyboard changes breaks quitting Date: Sun, 23 Sep 2012 14:05:40 +0800 Message-ID: <87sja91dfv.fsf@gnu.org> References: <87lig22jrr.fsf@gnu.org> <837grmkpfa.fsf@gnu.org> <87lig2vusz.fsf@gnu.org> <87wqzm9d0c.fsf@gnu.org> <833929lwds.fsf@gnu.org> <87haqp5u1a.fsf@gnu.org> <83mx0hjsl5.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1348380354 3243 80.91.229.3 (23 Sep 2012 06:05:54 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 23 Sep 2012 06:05:54 +0000 (UTC) Cc: emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Sep 23 08:05:58 2012 Return-path: Envelope-to: ged-emacs-devel@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 1TFfKH-0007nh-5M for ged-emacs-devel@m.gmane.org; Sun, 23 Sep 2012 08:05:57 +0200 Original-Received: from localhost ([::1]:37888 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TFfKC-0006D8-73 for ged-emacs-devel@m.gmane.org; Sun, 23 Sep 2012 02:05:52 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:52058) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TFfKA-0006D3-5h for emacs-devel@gnu.org; Sun, 23 Sep 2012 02:05:51 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TFfK9-0001ze-AX for emacs-devel@gnu.org; Sun, 23 Sep 2012 02:05:50 -0400 Original-Received: from mail-pa0-f41.google.com ([209.85.220.41]:43021) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TFfK9-0001zY-2V; Sun, 23 Sep 2012 02:05:49 -0400 Original-Received: by padfa10 with SMTP id fa10so189318pad.0 for ; Sat, 22 Sep 2012 23:05:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type; bh=VvVhMiox403Q84G9QxzLeEK6IR5rEzjlTesrUZvBZOM=; b=pAsPgnBr14nnAe57lvXv84liT6jeOezSjuBMMTsnFzczSjuZe8h3f8if3sRZ8KuAOo aqNLCIg1k27C1ZRqz+a+4td36f2l8dYGHV58hgkLELuIxghxq0jYpooyuUyVr5FbjbTs GFg/eeVsBSqFOB797lL/dbIxdYnPP3HYhdrM7JBDIISowUd0VKPmzdTFIgzU7vFvwHt0 u5wa3taMf1VuAtMbio6OEXgFCJGuPNkaazbZUbjkb2VdCImJDUVF1gXFMKcdF1+7EvOJ 6446imEEDgl6HEm44ouKmOerEwPucgGGC3oWPD45OgiN2qnAJHQYlH4T4gxlaBgz+SiL kKzQ== Original-Received: by 10.66.84.229 with SMTP id c5mr24300237paz.12.1348380347286; Sat, 22 Sep 2012 23:05:47 -0700 (PDT) Original-Received: from ulysses (cm162.gamma80.maxonline.com.sg. [202.156.80.162]) by mx.google.com with ESMTPS id sz4sm7660973pbc.22.2012.09.22.23.05.43 (version=SSLv3 cipher=OTHER); Sat, 22 Sep 2012 23:05:46 -0700 (PDT) In-Reply-To: <83mx0hjsl5.fsf@gnu.org> (Eli Zaretskii's message of "Sun, 23 Sep 2012 06:01:10 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 209.85.220.41 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:153480 Archived-At: Eli Zaretskii writes: >> Nope. Turning off font-lock mode does, but I think this is only because >> font-lock is is the only thing in my Emacs running an idle timer, in >> this case jit-lock-context-fontify. If I add any idle timer manually >> (unrelated to font-lock), the same quitting problem appears. > > Hmm... so what idle timer runs when blink-cursor-mode is disabled? I just told you: jit-lock-context-fontify. But it's not a misbehaving idle timer, if that's what you're wondering about. It is possible to reproduce the bug when *any* idle timer is around, e.g. putting this in the init file (global-font-lock-mode 0) (defun foo-timer-fun (&rest ignored) (message "%d" foo)) and running M-: (run-with-idle-timer 2 nil #'foo-timer-fun) RET M-x C-g My attempts at tracing indicate that your timer_check change causes significant changes in wait_reading_process_output's order of execution when there is an idle timer present. I think the problem occurs in the call in process.c:110145, with wait_reading_process_output -> detect_input_pending_run_timers -> get_input_pending -> readable_events -> timer_check This timer_check does not call process_pending_signals. Now, the same call to timer_check does call process_pending_signals, apparently via the QUIT macro. Not sure if this helps.