Mercurial > emacs
comparison admin/FOR-RELEASE @ 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 | b0bb670d6f7d |
children | b6e2ab383e40 |
comparison
equal
deleted
inserted
replaced
59328:7f974399bee1 | 59329:75e5456e5a43 |
---|---|
29 * LOSSAGE | 29 * LOSSAGE |
30 | 30 |
31 ** Clean up flymake.el to follow Emacs Lisp conventions. | 31 ** Clean up flymake.el to follow Emacs Lisp conventions. |
32 | 32 |
33 ** Fix up url-ldap.el. | 33 ** Fix up url-ldap.el. |
34 | |
35 ** url/*.el has lots of `(declare (special ...))' which | |
36 are meaningless. What's that trying to do? | |
34 | 37 |
35 * BUGS | 38 * BUGS |
36 | 39 |
37 ** Incomplete overlay mouse-face highlight bug (Ralf Angeli, Oct 18) | 40 ** Incomplete overlay mouse-face highlight bug (Ralf Angeli, Oct 18) |
38 | 41 |
59 Ange-ftp chokes on the `No route to host' message and doesn't look any | 62 Ange-ftp chokes on the `No route to host' message and doesn't look any |
60 further. | 63 further. |
61 | 64 |
62 I think in the near future we will see more of this problem, so it might be | 65 I think in the near future we will see more of this problem, so it might be |
63 time to make anfe-ftp more intelligent. | 66 time to make anfe-ftp more intelligent. |
64 | |
65 ** Bug in url-http-parse-headers, reported in | |
66 From: Vivek Dasmohapatra <vivek@zeus.com> | |
67 Date: Tue, 28 Sep 2004 16:13:13 +0100 | |
68 | |
69 Fetching a url with url-retrieve can reult in an anrbitrary buffer | |
70 being killed if a 401 (or possibly a 407) result is encountered: | |
71 | |
72 url-http-parse-headers calls url-http-handle-authentication, | |
73 which can call url-retrieve. | |
74 | |
75 This results in the current buffer being killed, and a new http buffer | |
76 being generated. However, when the old http buffer is killed, emacs | |
77 picks the top buffer from the list as the new current buffer, so by the | |
78 time we get to the end of url-http-parse-headers, _that_ buffer is marked | |
79 as dead even though it is not necessarily a url buffer, so next time the | |
80 url libraries reap their dead buffers, an innocent bystander buffer is | |
81 killed instead (and an obsolete http buffer may be left lying around too). | |
82 | |
83 A possible fix (which I am currently using) is to call set-buffer | |
84 on the return value of url-http-parse-headers: | |
85 | |
86 (case url-http-response-status | |
87 (401 | |
88 ;; The request requires user authentication. The response | |
89 ;; MUST include a WWW-Authenticate header field containing a | |
90 ;; challenge applicable to the requested resource. The | |
91 ;; client MAY repeat the request with a suitable | |
92 ;; Authorization header field. | |
93 (url-mark-buffer-as-dead (current-buffer)) | |
94 (set-buffer (url-http-handle-authentication nil))) | |
95 etc .... | |
96 | |
97 which makes sure that it is the right http buffer that is current when | |
98 we come to mark the http buffers as dead. | |
99 | |
100 | 67 |
101 | 68 |
102 * GTK RELATED BUGS | 69 * GTK RELATED BUGS |
103 | 70 |
104 ** Make GTK scrollbars behave like others w.r.t. overscrolling. | 71 ** Make GTK scrollbars behave like others w.r.t. overscrolling. |