Mercurial > emacs
changeset 66938:bb91429003e2
(url-insert-file-contents): Use the charset info
provided by the HTTP server, if any.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Wed, 16 Nov 2005 19:05:38 +0000 |
parents | cb58edf068f2 |
children | 1a91d2217086 |
files | lisp/url/ChangeLog lisp/url/url-handlers.el |
diffstat | 2 files changed, 16 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/url/ChangeLog Wed Nov 16 18:39:15 2005 +0000 +++ b/lisp/url/ChangeLog Wed Nov 16 19:05:38 2005 +0000 @@ -1,9 +1,14 @@ +2005-11-16 Juergen Hoetzel <emacs@hoetzel.info> (tiny change) + + * url-handlers.el (url-insert-file-contents): Use the charset info + provided by the HTTP server, if any. + 2005-10-20 CHENG Gao <chenggao@gmail.com> (tiny change) - * url-nfs.el (top level): - * url-handlers.el (directory-files): + * url-nfs.el (top level): + * url-handlers.el (directory-files): * url-file.el (top level): - * url-dired.el (url-dired-minor-mode-map): + * url-dired.el (url-dired-minor-mode-map): * url-http.el (url-http-chunked-encoding-after-change-function): Remove XEmacs support.
--- a/lisp/url/url-handlers.el Wed Nov 16 18:39:15 2005 +0000 +++ b/lisp/url/url-handlers.el Wed Nov 16 19:05:38 2005 +0000 @@ -202,6 +202,7 @@ (defun url-insert-file-contents (url &optional visit beg end replace) (let ((buffer (url-retrieve-synchronously url)) (handle nil) + (charset nil) (data nil)) (if (not buffer) (error "Opening input file: No such file or directory, %s" url)) @@ -215,13 +216,14 @@ (mm-destroy-parts handle) (if replace (delete-region (point-min) (point-max))) (save-excursion + (setq charset (mail-content-type-get (mm-handle-type handle) + 'charset)) (let ((start (point))) - (insert data) - ;; FIXME: for text/plain data, we sometimes receive a `charset' - ;; annotation which we could use as a hint of the locale in use - ;; at the remote site. Not sure how/if that should be done. --Stef - (decode-coding-inserted-region - start (point) url visit beg end replace))) + (if charset + (insert (mm-decode-string data (mm-charset-to-coding-system charset))) + (progn + (insert data) + (decode-coding-inserted-region start (point) url visit beg end replace))))) (list url (length data)))) (defun url-file-name-completion (url directory)