changeset 105651:1bab58491dc5

(select-safe-coding-system): If the file has a coding cookie, use it regardless of any other setting (bug#4712).
author Stefan Monnier <monnier@iro.umontreal.ca>
date Sat, 17 Oct 2009 03:59:45 +0000
parents 0412ef1b2214
children 51bc239bdc37
files lisp/ChangeLog lisp/international/mule-cmds.el
diffstat 2 files changed, 10 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Sat Oct 17 03:16:38 2009 +0000
+++ b/lisp/ChangeLog	Sat Oct 17 03:59:45 2009 +0000
@@ -1,3 +1,8 @@
+2009-10-17  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* international/mule-cmds.el (select-safe-coding-system): If the file
+	has a coding cookie, use it regardless of any other setting (bug#4712).
+
 2009-10-17  Glenn Morris  <rgm@gnu.org>
 
 	* cedet/semantic/grammar.el (semantic-grammar--lex-delim-spec):
--- a/lisp/international/mule-cmds.el	Sat Oct 17 03:16:38 2009 +0000
+++ b/lisp/international/mule-cmds.el	Sat Oct 17 03:59:45 2009 +0000
@@ -889,13 +889,12 @@
 		  default-coding-system))
 
     (if (and auto-cs (not no-other-defaults))
-	;; If the file has a coding cookie, try to use it before anything
-	;; else (i.e. before default-coding-system which will typically come
-	;; from file-coding-system-alist).
+	;; If the file has a coding cookie, use it regardless of any
+	;; other setting.
 	(let ((base (coding-system-base auto-cs)))
-	  (or (memq base '(nil undecided))
-	      (rassq base default-coding-system)
-	      (push (cons auto-cs base) default-coding-system))))
+	  (unless (memq base '(nil undecided))
+            (setq default-coding-system (list (cons auto-cs base)))
+            (setq no-other-defaults t))))
 
     (unless no-other-defaults
       ;; If buffer-file-coding-system is not nil nor undecided, append it