(basic-save-buffer-1): Set car part of
authorKenichi Handa <handa@m17n.org>
Tue, 3 Mar 2009 01:58:22 +0000 (01:58 +0000)
committerKenichi Handa <handa@m17n.org>
Tue, 3 Mar 2009 01:58:22 +0000 (01:58 +0000)
buffer-file-coding-system-explicit.
(revert-buffer): Check car part of
buffer-file-coding-system-explicit.

lisp/ChangeLog
lisp/files.el

index 1dda3a5..34ae0aa 100644 (file)
@@ -1,3 +1,20 @@
+2009-03-03  Kenichi Handa  <handa@m17n.org>
+
+       * files.el (basic-save-buffer-1): Set car part of
+       buffer-file-coding-system-explicit.
+       (revert-buffer): Check car part of
+       buffer-file-coding-system-explicit.
+
+       * international/mule-cmds.el (select-safe-coding-system): If cdr
+       part of buffer-file-coding-system-explicit is set, ignore
+       default-buffer-file-coding-system and the most preferred coding
+       system.
+
+       * international/mule.el (set-buffer-file-coding-system): Set cdr
+       part of buffer-file-coding-system-explicit.
+       (after-insert-file-set-coding): Set
+       buffer-file-coding-system-explicit to a cons.
+
 2009-03-02  Glenn Morris  <rgm@gnu.org>
 
        * calendar/calendar.el (diary-date-forms, calendar-date-display-form):
index afe6b4c..1f458dd 100644 (file)
@@ -4187,7 +4187,10 @@ Before and after saving the buffer, this function runs
          (let ((coding-system-for-write save-buffer-coding-system))
            (basic-save-buffer-2))
        (basic-save-buffer-2))
-    (setq buffer-file-coding-system-explicit last-coding-system-used)))
+    (if buffer-file-coding-system-explicit
+       (setcar buffer-file-coding-system-explicit last-coding-system-used)
+      (setq buffer-file-coding-system-explicit
+           (cons last-coding-system-used nil)))))
 
 ;; This returns a value (MODES . BACKUPNAME), like backup-buffer.
 (defun basic-save-buffer-2 ()
@@ -4705,7 +4708,9 @@ non-nil, it is called instead of rereading visited file contents."
                          ;; internal coding.
                          (if auto-save-p 'auto-save-coding
                            (or coding-system-for-read
-                               buffer-file-coding-system-explicit))))
+                               (and
+                                buffer-file-coding-system-explicit
+                                (car buffer-file-coding-system-explicit))))))
                     (if (and (not enable-multibyte-characters)
                              coding-system-for-read
                              (not (memq (coding-system-base