From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.bugs Subject: bug#27036: 25.1; Blocking call to accept-process-output with quit inhibited!! Date: Fri, 26 May 2017 04:02:34 +0300 Message-ID: <2b4cd4a4-3ca4-b877-a059-7edbc70e2130@yandex.ru> References: <1a918fc0-cc16-6e27-6398-7e64cea8be22@yandex.ru> <83bmqim8wl.fsf@gnu.org> <83zie2krcg.fsf@gnu.org> <83d1awlxq8.fsf@gnu.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Trace: blaine.gmane.org 1495760591 25514 195.159.176.226 (26 May 2017 01:03:11 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Fri, 26 May 2017 01:03:11 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:54.0) Gecko/20100101 Thunderbird/54.0 Cc: 27036@debbugs.gnu.org To: Eli Zaretskii , Noam Postavsky Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri May 26 03:03:07 2017 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1dE3ek-0006Tc-Ai for geb-bug-gnu-emacs@m.gmane.org; Fri, 26 May 2017 03:03:06 +0200 Original-Received: from localhost ([::1]:34337 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dE3ep-0007hd-Qw for geb-bug-gnu-emacs@m.gmane.org; Thu, 25 May 2017 21:03:11 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:36099) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dE3ej-0007hX-Vu for bug-gnu-emacs@gnu.org; Thu, 25 May 2017 21:03:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dE3eg-0003zK-Tl for bug-gnu-emacs@gnu.org; Thu, 25 May 2017 21:03:06 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:35710) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dE3eg-0003z2-Pv for bug-gnu-emacs@gnu.org; Thu, 25 May 2017 21:03:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dE3eg-0000vu-Hv for bug-gnu-emacs@gnu.org; Thu, 25 May 2017 21:03:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 26 May 2017 01:03:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 27036 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: confirmed Original-Received: via spool by 27036-submit@debbugs.gnu.org id=B27036.14957605653565 (code B ref 27036); Fri, 26 May 2017 01:03:02 +0000 Original-Received: (at 27036) by debbugs.gnu.org; 26 May 2017 01:02:45 +0000 Original-Received: from localhost ([127.0.0.1]:38387 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dE3eO-0000vQ-Id for submit@debbugs.gnu.org; Thu, 25 May 2017 21:02:44 -0400 Original-Received: from mail-wm0-f49.google.com ([74.125.82.49]:37531) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dE3eM-0000vD-Vb for 27036@debbugs.gnu.org; Thu, 25 May 2017 21:02:43 -0400 Original-Received: by mail-wm0-f49.google.com with SMTP id d127so2691163wmf.0 for <27036@debbugs.gnu.org>; Thu, 25 May 2017 18:02:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=MiOBy+uo3LAsg86oUzHXW/vt6Gk2PWeTD2Ysf6jZjyU=; b=BW0NRilGEm+eurFtNJjz+CaOZqDYbn27HYxqo5zyVL35ZNsf9TvYDkcGmGsZZN5n1X /zAvHa+ETSsLEC8KbObdewCSwfcU5fmPc5Z0WUCfxqUTf9GwXAWRjoDTbbEbiQkKJqCD d/HmzsgeTM3V59lJsSDbHdWboAH9Kok5AB4syzGp2Shpn6jI8uj0ExD7oP+2lcQIooDF kCjTLCUGGrYQ+YmCAsYK7rSwTgdUNbuF2N43nkERHex5J+rPKX2MXwP33HcUR9VGrYOz euAvpKjzUopwyUDXiYzZrHhgngrM5P9Ry6YFvYVkoObkjsXSdz8aQnd15lJ8RoBL5qfU kO+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:cc:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=MiOBy+uo3LAsg86oUzHXW/vt6Gk2PWeTD2Ysf6jZjyU=; b=oBBv0i7rjJc8tasVpdieUD+kgOSO8RI+7ueXFAELlKyh4U9IlD6qrHiMutKCu2+rsG kemSmB2aCN1E4Gcfw7ONLMFj8Nwkq2FSgKIWwLqdn7CVPK1EmM0dlOwjEGrOrjrNcdzA UnynNx3RJCD0aRpXTwgvRliinRGk8DVBAofTg8PCrZOuOwuihZ1VCsNTsSAnGZqbChpW BbYAot71PJjdscvMS9yriS4qlAcvdCK33n9B2JCGR/4gcdtE6RDnTl87tSYaCM6+jhKj CVmPcJItq2DSL9IZg7Wd/y0D+YTSrcigy264yTWGhdnel+tg3sdgd2qYFfBSNQHAuHFM Iysw== X-Gm-Message-State: AODbwcDZsHkA0awAC6eCwsdiiZ0eoihAIYV+X4xpOhBnYlXxVsN4zREj ySxqv/0n+U1kgQ== X-Received: by 10.223.149.33 with SMTP id 30mr25123912wrs.61.1495760557312; Thu, 25 May 2017 18:02:37 -0700 (PDT) Original-Received: from [192.168.1.3] ([185.105.174.193]) by smtp.googlemail.com with ESMTPSA id b43sm2762237wra.6.2017.05.25.18.02.35 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 25 May 2017 18:02:35 -0700 (PDT) In-Reply-To: <83d1awlxq8.fsf@gnu.org> Content-Language: en-US X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.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" Xref: news.gmane.org gmane.emacs.bugs:132872 Archived-At: On 5/25/17 7:14 PM, Eli Zaretskii wrote: > So I guess octave-eldoc-function-signatures should temporarily reset > inhibit-quit? Yes. Or more concretely, use with-local-quit like url-retrieve-synchronously does. In the context of comint, though, we might consider what to do if Octave actually takes too long to produce the result, the user presses C-g, and we need to abort. Do we restore the normal process filter, and refuse to be bothered even though Octave will continue producing output (now visible to the user if they switch to the REPL buffer)? As a first approximation, this seems to fix the bug: diff --git a/lisp/progmodes/octave.el b/lisp/progmodes/octave.el index ac9ba63..ce3c27a 100644 --- a/lisp/progmodes/octave.el +++ b/lisp/progmodes/octave.el @@ -939,8 +939,10 @@ inferior-octave-send-list-and-digest (setq inferior-octave-output-string nil inferior-octave-receive-in-progress t) (comint-send-string proc string) - (while inferior-octave-receive-in-progress - (accept-process-output proc)) + (while + (and inferior-octave-receive-in-progress + (with-local-quit + (accept-process-output proc)))) (setq list (cdr list))) (set-process-filter proc filter))))