Mercurial > emacs
changeset 49376:ed922baa8df3
(decode-coding-region-as-inserted-from-file): New function.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Wed, 22 Jan 2003 02:33:07 +0000 |
parents | e97f53aad99e |
children | e5099d153f94 |
files | lisp/international/mule.el |
diffstat | 1 files changed, 27 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/international/mule.el Wed Jan 22 01:14:07 2003 +0000 +++ b/lisp/international/mule.el Wed Jan 22 02:33:07 2003 +0000 @@ -1899,6 +1899,33 @@ (cons (cons regexp coding-system) network-coding-system-alist))))))) +(defun decode-coding-region-as-inserted-from-file (from to filename + &optional + visit beg end replace) + "Decode the region between FROM and TO as if it is read from file FILENAME. +Optional arguments VISIT, BEG, END, and REPLACE are the same as those +of the function `insert-file-contents'." + (save-excursion + (save-restriction + (narrow-to-region from to) + (goto-char (point-min)) + (let ((coding coding-system-for-read)) + (or coding + (setq coding (funcall set-auto-coding-function + filename (- (point-max) (point-min))))) + (or coding + (setq coding (find-operation-coding-system + 'insert-file-contents + filename visit beg end replace))) + (if (coding-system-p coding) + (or enable-multibyte-characters + (setq coding + (coding-system-change-text-conversion coding 'raw-text))) + (setq coding nil)) + (if coding + (decode-coding-region (point-min) (point-max) coding)) + (setq last-coding-system-used coding))))) + (defun make-translation-table (&rest args) "Make a translation table from arguments. A translation table is a char table intended for character