]> git.eshelyaron.com Git - emacs.git/commitdiff
(url-insert-file-contents): Use the charset info
authorStefan Monnier <monnier@iro.umontreal.ca>
Wed, 16 Nov 2005 19:05:38 +0000 (19:05 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Wed, 16 Nov 2005 19:05:38 +0000 (19:05 +0000)
provided by the HTTP server, if any.

lisp/url/ChangeLog
lisp/url/url-handlers.el

index f45c73216f76d16f644982d6ceaa183169aa70f2..e0a68349ce1a9f16b1d4986043a4365bb00cf46c 100644 (file)
@@ -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.
 
index 4fa52572a94eb17a5e08fcc002066ceeb4e7d995..1c9d1d9c0b10709b572f35357d9803f285141b88 100644 (file)
@@ -202,6 +202,7 @@ accessible."
 (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 @@ accessible."
     (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)