|
From: | Daniel Colascione |
Subject: | Re: [PATCH] Really prevent quitting in sensitive contexts |
Date: | Mon, 13 Apr 2020 23:56:14 -0700 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 |
On 3/12/20 3:07 AM, Michael Albinus wrote:
Daniel Colascione <address@hidden> writes:Are there bug#NNN where these are discussed?No. The motiviation is Tramp inflooping after a quit because it uses with-local-quit inside tramp-accept-process-output, which causes tramp-wait-for-regexp to retry infinitely and quickly. I found *that* behavior trying to figure out why M-x compile over Tramp was hanging not only Emacs, but also the SSH connection more generally. I *think* it has something to do with compilation-filter calling file-truename, which invokes Tramp's handler, which wants to talk over the same SSH connection that's spewing compilation messages, deadlocking something somewhere.Please write a bug report, it should be solved in Tramp.
No, it shouldn't. This use of with-local-quit can *never* be correct because a stray C-g can *always* interfere with a filter. Don't do long-running operations in process filters. Period. The fix isn't to make quitting these operations possible in some defined manner. The fix is not to do them in the first place.
[Prev in Thread] | Current Thread | [Next in Thread] |