]> git.eshelyaron.com Git - emacs.git/commitdiff
(select-safe-coding-system): New arg FILE; use that for set-auto-coding.
authorRichard M. Stallman <rms@gnu.org>
Mon, 3 Jun 2002 22:55:26 +0000 (22:55 +0000)
committerRichard M. Stallman <rms@gnu.org>
Mon, 3 Jun 2002 22:55:26 +0000 (22:55 +0000)
When computing auto-cs, narrow to FROM...TO.
Put save-excursion outside save-restriction.

lisp/international/mule-cmds.el

index 747ea0a9a8a23d86eb0aea84b76f5e8ead8ab0a1..f9f030cfb82c3fe8e3a36af5c359b0af476bafc0 100644 (file)
@@ -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)