diff options
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/url/ChangeLog | 7 | ||||
-rw-r--r-- | lisp/url/url-http.el | 13 |
2 files changed, 15 insertions, 5 deletions
diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog index d7a22b72123..8f0cbcb2594 100644 --- a/lisp/url/ChangeLog +++ b/lisp/url/ChangeLog @@ -1,3 +1,10 @@ +2012-02-10 Andreas Schwab <schwab@linux-m68k.org> + + * url-http.el (url-http-clean-headers): Return the number of + removed characters. + (url-http-wait-for-headers-change-function): Adjust end position + after cleaning the headers. (Bug#10768) + 2012-02-10 Glenn Morris <rgm@gnu.org> * url-queue.el (url-queue-retrieve): Doc fix. diff --git a/lisp/url/url-http.el b/lisp/url/url-http.el index b2f93f093e6..6653176d7e9 100644 --- a/lisp/url/url-http.el +++ b/lisp/url/url-http.el @@ -354,11 +354,14 @@ request.") ;; Parsing routines (defun url-http-clean-headers () "Remove trailing \r from header lines. -This allows us to use `mail-fetch-field', etc." +This allows us to use `mail-fetch-field', etc. +Return the number of characters removed." (declare (special url-http-end-of-headers)) - (goto-char (point-min)) - (while (re-search-forward "\r$" url-http-end-of-headers t) - (replace-match ""))) + (let ((end (marker-position url-http-end-of-headers))) + (goto-char (point-min)) + (while (re-search-forward "\r$" url-http-end-of-headers t) + (replace-match "")) + (- end url-http-end-of-headers))) (defun url-http-handle-authentication (proxy) (declare (special status success url-http-method url-http-data @@ -1054,7 +1057,7 @@ the end of the document." (setq url-http-end-of-headers (set-marker (make-marker) (point)) end-of-headers t) - (url-http-clean-headers))) + (setq nd (- nd (url-http-clean-headers))))) (if (not end-of-headers) ;; Haven't seen the end of the headers yet, need to wait |