If http::geturl is called with -keepalive 1 and a -command that enters the
event loop (e.g for an authorization dialog), and the HTTP response
includes a "Content-Length" header, then a (slow) race condition ensues
between the server's closing of the connection, and the user's response to
the dialog. If the connection is closed first, the unpatched code fails at
line 1126 with repeated eof fileevents, because the command http::Eof tries
repeatedly to run the user's -command, and never returns. This can be
reported as "too many nested evaluations".
While it might not be good style to allow the -command script to enter the
event loop, http(n) does not exclude this possibility.
There's more than one way to fix the bug. Two possible patches are
attached. EIther will fix the bug; both fixes can be applied.
Patches against core-8-5-branch checkin 69687a01db, dated 2012-10-24