From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: [PATCH] Ignore pending_signals when checking for quits. Date: Thu, 03 Jan 2019 16:03:14 +0200 Message-ID: <83sgy93kkd.fsf@gnu.org> References: <20190102212218.74902-1-phst@google.com> NNTP-Posting-Host: blaine.gmane.org X-Trace: blaine.gmane.org 1546524402 29878 195.159.176.226 (3 Jan 2019 14:06:42 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Thu, 3 Jan 2019 14:06:42 +0000 (UTC) Cc: phst@google.com, emacs-devel@gnu.org To: Philipp Stephani Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Jan 03 15:06:38 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gf3dt-0007ek-Lu for ged-emacs-devel@m.gmane.org; Thu, 03 Jan 2019 15:06:37 +0100 Original-Received: from localhost ([127.0.0.1]:54111 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gf3g0-000488-9t for ged-emacs-devel@m.gmane.org; Thu, 03 Jan 2019 09:08:48 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:57503) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gf3ap-000753-QY for emacs-devel@gnu.org; Thu, 03 Jan 2019 09:03:28 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gf3ap-0005NV-5Q for emacs-devel@gnu.org; Thu, 03 Jan 2019 09:03:27 -0500 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:41488) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gf3aj-0005Lq-F2; Thu, 03 Jan 2019 09:03:23 -0500 Original-Received: from [176.228.60.248] (port=4373 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1gf3ah-0000c7-7Q; Thu, 03 Jan 2019 09:03:21 -0500 In-reply-to: <20190102212218.74902-1-phst@google.com> (message from Philipp Stephani on Wed, 2 Jan 2019 22:22:18 +0100) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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" Xref: news.gmane.org gmane.emacs.devel:232136 Archived-At: > From: Philipp Stephani > Date: Wed, 2 Jan 2019 22:22:18 +0100 > Cc: Philipp Stephani > > static bool > module_should_quit (emacs_env *env) > { > MODULE_FUNCTION_BEGIN_NO_CATCH (false); > - return (! NILP (Vquit_flag) && NILP (Vinhibit_quit)) || pending_signals; > + return QUITP; > } Bother. I see your point regarding the return value when just pending_signals is set, but disregarding pending_signals doesn't sound TRT to me, either. It means various Emacs features based on input detection won't work while the module code runs, even if the module tries to be nice and does call module_should_quit. For example, while-no-input and atimers won't work, and Emacs will generally be much less responsive to user input. So maybe we should indeed return true only if QUITP says so, but we should also call process_pending_signals from module_should_quit, when pending_signals is non-zero?