(declare-function mm-decode-string "mm-bodies" (string charset))
;; mm-decode loads mail-parse.
(declare-function mail-content-type-get "mail-parse" (ct attribute))
+;; mm-bodies loads mm-util.
+(declare-function mm-charset-to-coding-system "mm-util"
+ (charset &optional lbt allow-override silent))
;; Implementation status
;; ---------------------
;; 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 _preserve-permissions)
"Copy URL to NEWNAME. Both args must be strings.
-Signals a `file-already-exists' error if file NEWNAME already exists,
+Signal a `file-already-exists' error if file NEWNAME already exists,
unless a third argument OK-IF-ALREADY-EXISTS is supplied and non-nil.
A number as third arg means request confirmation if NEWNAME already exists.
This is what happens in interactive use with M-x.
Fourth arg KEEP-TIME non-nil means give the new file the same
last-modified time as the old one. (This works on only some systems.)
-Fifth arg PRESERVE-UID-GID is ignored.
+Args PRESERVE-UID-GID and PRESERVE-PERMISSIONS are ignored.
A prefix arg makes KEEP-TIME non-nil."
(if (and (file-exists-p newname)
(not ok-if-already-exists))
(unless buffer (signal 'file-error (list url "No Data")))
(with-current-buffer buffer
;; XXX: This is HTTP/S specific and should be moved to url-http
- ;; instead. See https://debbugs.gnu.org/17549.
+ ;; instead. See bug#17549.
(when (bound-and-true-p url-http-response-status)
;; Don't signal an error if VISIT is non-nil, because
;; 'insert-file-contents' doesn't. This is required to
(< url-http-response-status 300)))
(let ((desc (nth 2 (assq url-http-response-status url-http-codes))))
(kill-buffer buffer)
- ;; Signal file-error per https://debbugs.gnu.org/16733.
+ ;; Signal file-error per bug#16733.
(signal 'file-error (list url desc))))))
(url-insert-buffer-contents buffer url visit beg end replace)))