See also `insert-file-contents-access-hook',
`insert-file-contents-pre-hook', `insert-file-contents-error-hook',
and `insert-file-contents-post-hook'."
- (let (return-val coding-system used-codesys)
+ (let (return-val coding-system cs used-codesys)
;; OK, first load the file.
(condition-case err
(progn
"Invalid coding-system (%s), using 'undecided"
coding-system)
(setq coding-system 'undecided)))
- (setq return-val
- (insert-file-contents-internal filename visit beg end
- replace coding-system
- ;; store here!
- 'used-codesys))
+ (save-restriction
+ (narrow-to-region (point)(point))
+ (setq return-val
+ (insert-file-contents-internal filename visit beg end
+ replace coding-system
+ ;; store here!
+ 'used-codesys))
+ (or coding-system-for-read
+ (null (setq cs (find-coding-system-magic-cookie)))
+ (eq cs coding-system)
+ (progn
+ (delete-region (point-min)(point-max))
+ (setq return-val
+ (insert-file-contents-internal
+ filename visit beg end
+ replace cs
+ ;; store here!
+ 'used-codesys)))))
))
(file-error
(run-hook-with-args 'insert-file-contents-error-hook