Mercurial > emacs
changeset 59329:75e5456e5a43
(url-http-handle-authentication): Don't kill the current buffer.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Mon, 03 Jan 2005 21:00:07 +0000 |
parents | 7f974399bee1 |
children | 03306a6707b9 |
files | admin/FOR-RELEASE |
diffstat | 1 files changed, 3 insertions(+), 36 deletions(-) [+] |
line wrap: on
line diff
--- a/admin/FOR-RELEASE Mon Jan 03 20:46:22 2005 +0000 +++ b/admin/FOR-RELEASE Mon Jan 03 21:00:07 2005 +0000 @@ -32,6 +32,9 @@ ** Fix up url-ldap.el. +** url/*.el has lots of `(declare (special ...))' which +are meaningless. What's that trying to do? + * BUGS ** Incomplete overlay mouse-face highlight bug (Ralf Angeli, Oct 18) @@ -62,42 +65,6 @@ I think in the near future we will see more of this problem, so it might be time to make anfe-ftp more intelligent. -** Bug in url-http-parse-headers, reported in -From: Vivek Dasmohapatra <vivek@zeus.com> -Date: Tue, 28 Sep 2004 16:13:13 +0100 - -Fetching a url with url-retrieve can reult in an anrbitrary buffer -being killed if a 401 (or possibly a 407) result is encountered: - -url-http-parse-headers calls url-http-handle-authentication, -which can call url-retrieve. - -This results in the current buffer being killed, and a new http buffer -being generated. However, when the old http buffer is killed, emacs -picks the top buffer from the list as the new current buffer, so by the -time we get to the end of url-http-parse-headers, _that_ buffer is marked -as dead even though it is not necessarily a url buffer, so next time the -url libraries reap their dead buffers, an innocent bystander buffer is -killed instead (and an obsolete http buffer may be left lying around too). - -A possible fix (which I am currently using) is to call set-buffer -on the return value of url-http-parse-headers: - - (case url-http-response-status - (401 - ;; The request requires user authentication. The response - ;; MUST include a WWW-Authenticate header field containing a - ;; challenge applicable to the requested resource. The - ;; client MAY repeat the request with a suitable - ;; Authorization header field. - (url-mark-buffer-as-dead (current-buffer)) - (set-buffer (url-http-handle-authentication nil))) -etc .... - -which makes sure that it is the right http buffer that is current when -we come to mark the http buffers as dead. - - * GTK RELATED BUGS