diff options
Diffstat (limited to 'lisp/url')
| -rw-r--r-- | lisp/url/url-http.el | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/lisp/url/url-http.el b/lisp/url/url-http.el index 306b36ae951..ef7b77969e6 100644 --- a/lisp/url/url-http.el +++ b/lisp/url/url-http.el | |||
| @@ -307,19 +307,7 @@ The string is based on `url-privacy-level' and `url-user-agent'." | |||
| 307 | ;; allows us to elide null lines directly, at the cost of making | 307 | ;; allows us to elide null lines directly, at the cost of making |
| 308 | ;; the layout less clear. | 308 | ;; the layout less clear. |
| 309 | (setq request | 309 | (setq request |
| 310 | ;; We used to concat directly, but if one of the strings happens | 310 | (concat |
| 311 | ;; to being multibyte (even if it only contains pure ASCII) then | ||
| 312 | ;; every string gets converted with `string-MAKE-multibyte' which | ||
| 313 | ;; turns the 127-255 codes into things like latin-1 accented chars | ||
| 314 | ;; (it would work right if it used `string-TO-multibyte' instead). | ||
| 315 | ;; So to avoid the problem we force every string to be unibyte. | ||
| 316 | (mapconcat | ||
| 317 | ;; FIXME: Instead of `string-AS-unibyte' we'd want | ||
| 318 | ;; `string-to-unibyte', so as to properly signal an error if one | ||
| 319 | ;; of the strings contains a multibyte char. | ||
| 320 | 'string-as-unibyte | ||
| 321 | (delq nil | ||
| 322 | (list | ||
| 323 | ;; The request | 311 | ;; The request |
| 324 | (or url-http-method "GET") " " | 312 | (or url-http-method "GET") " " |
| 325 | (if using-proxy (url-recreate-url url-http-target-url) real-fname) | 313 | (if using-proxy (url-recreate-url url-http-target-url) real-fname) |
| @@ -398,7 +386,10 @@ The string is based on `url-privacy-level' and `url-user-agent'." | |||
| 398 | "\r\n" | 386 | "\r\n" |
| 399 | ;; Any data | 387 | ;; Any data |
| 400 | url-http-data)) | 388 | url-http-data)) |
| 401 | "")) | 389 | ;; Bug#23750 |
| 390 | (unless (= (string-bytes request) | ||
| 391 | (length request)) | ||
| 392 | (error "Multibyte text in HTTP request: %s" request)) | ||
| 402 | (url-http-debug "Request is: \n%s" request) | 393 | (url-http-debug "Request is: \n%s" request) |
| 403 | request)) | 394 | request)) |
| 404 | 395 | ||