From: Richard M. Stallman Date: Mon, 3 Jun 2002 22:55:26 +0000 (+0000) Subject: (select-safe-coding-system): New arg FILE; use that for set-auto-coding. X-Git-Tag: ttn-vms-21-2-B4~14777 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=efa2c6d77f75dd4722fe97bd7a9be7f17c0f3fa3;p=emacs.git (select-safe-coding-system): New arg FILE; use that for set-auto-coding. When computing auto-cs, narrow to FROM...TO. Put save-excursion outside save-restriction. --- diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el index 747ea0a9a8a..f9f030cfb82 100644 --- a/lisp/international/mule-cmds.el +++ b/lisp/international/mule-cmds.el @@ -543,7 +543,7 @@ function `select-safe-coding-system' (which see). This variable overrides that argument.") (defun select-safe-coding-system (from to &optional default-coding-system - accept-default-p) + accept-default-p file) "Ask a user to select a safe coding system from candidates. The candidates of coding systems which can safely encode a text between FROM and TO are shown in a popup window. Among them, the most @@ -564,6 +564,10 @@ determine the acceptability of the silently selected coding system. It is called with that coding system, and should return nil if it should not be silently selected and thus user interaction is required. +Optional 5th arg FILE is the file name to use for this purpose. +That is different from `buffer-file-name' when handling `write-region' +\(for example). + The variable `select-safe-coding-system-accept-default-p', if non-nil, overrides ACCEPT-DEFAULT-P. @@ -718,11 +722,12 @@ and TO is ignored." ;; Check we're not inconsistent with what `coding:' spec &c would ;; give when file is re-read. (unless (stringp from) - (let ((auto-cs (save-restriction - (widen) - (save-excursion + (let ((auto-cs (save-excursion + (save-restriction + (widen) + (narrow-to-region from to) (goto-char (point-min)) - (set-auto-coding (or buffer-file-name "") + (set-auto-coding (or file buffer-file-name "") (buffer-size)))))) (if (and auto-cs (not (coding-system-equal (coding-system-base coding-system)