1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-24 10:38:38 +00:00

(url-insert-file-contents): Set buffer-file-coding-system

Fixes: debbugs:20010

* lisp/url/url-handlers.el (url-insert-file-contents): Call
after-insert-file-set-coding like insert-file-contents, to set
buffer-file-coding-system.
This commit is contained in:
Stefan Monnier 2015-03-15 14:21:04 -04:00
parent 4e5eb85425
commit 8599360928
2 changed files with 16 additions and 5 deletions

View File

@ -1,3 +1,9 @@
2015-03-15 Stefan Monnier <monnier@iro.umontreal.ca>
* url-handlers.el (url-insert-file-contents): Call
after-insert-file-set-coding like insert-file-contents, to set
buffer-file-coding-system (bug#20010).
2015-01-22 Paul Eggert <eggert@cs.ucla.edu>
Don't downcase system diagnostics' first letters

View File

@ -1,4 +1,4 @@
;;; url-handlers.el --- file-name-handler stuff for URL loading
;;; url-handlers.el --- file-name-handler stuff for URL loading -*- lexical-binding:t -*-
;; Copyright (C) 1996-1999, 2004-2015 Free Software Foundation, Inc.
@ -228,7 +228,7 @@ the arguments that would have been passed to OPERATION."
;; a local process.
nil)))
(defun url-handler-file-remote-p (filename &optional identification connected)
(defun url-handler-file-remote-p (filename &optional identification _connected)
(let ((url (url-generic-parse-url filename)))
(if (and (url-type url) (not (equal (url-type url) "file")))
;; Maybe we can find a suitable check for CONNECTED. For now,
@ -250,7 +250,7 @@ the arguments that would have been passed to OPERATION."
;; The actual implementation
;;;###autoload
(defun url-copy-file (url newname &optional ok-if-already-exists
keep-time preserve-uid-gid)
_keep-time _preserve-uid-gid)
"Copy URL to NEWNAME. Both args must be strings.
Signals a `file-already-exists' error if file NEWNAME already exists,
unless a third argument OK-IF-ALREADY-EXISTS is supplied and non-nil.
@ -334,8 +334,13 @@ They count bytes from the beginning of the body."
(unless (cadr size-and-charset)
;; If the headers don't specify any particular charset, use the
;; usual heuristic/rules that we apply to files.
(decode-coding-inserted-region start (point) url visit beg end replace))
(list url (car size-and-charset))))))
(decode-coding-inserted-region start (point) url
visit beg end replace))
(let ((inserted (car size-and-charset)))
(when (fboundp 'after-insert-file-set-coding)
(let ((insval (after-insert-file-set-coding inserted visit)))
(if insval (setq inserted insval))))
(list url inserted))))))
(put 'insert-file-contents 'url-file-handlers 'url-insert-file-contents)