bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#34763: 27.0.50; url-retrieve-synchronously misbehaves inside eldoc-d


From: Dmitry Gutov
Subject: bug#34763: 27.0.50; url-retrieve-synchronously misbehaves inside eldoc-documentation-function
Date: Thu, 4 Apr 2019 02:37:49 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:67.0) Gecko/20100101 Thunderbird/67.0

On 15.03.2019 17:49, Eli Zaretskii wrote:

The code in the functions that react to quit-flag being non-nil should
be audited.  They don't look clean to me, FWIW, and we don't generally
do such things from Lisp, we normally quit on the C level.  Maybe this
whole sub-feature, whereby we show a message for interrupted
transfers, should be rethought.

Apparently the idea is to handle quits, including contexts where inhibit-quit is t (947612be2c71d2478179694e8dfa538b9e8e07c1).

So url-retrieve-synchronously uses with-local-quit around accept-process-output, and I guess the idea was to handle quits inside debugging output calls.

So url-http-debug also does the job of clearing the sentinel and the filter of the connection's process.

But maybe that's not enough: it doesn't kill the process and/or remove it from url-http-open-connections. (I'm guessing url-http-mark-connection-as-free would normally be called later if the sentinel wasn't removed).

I'm not quite clear on how error handling should work here anyway. Asynchronous code is tricky that way.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]