From 2df48a87291564f460b159f94f622f88f6c40bfb Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Sat, 17 Oct 2009 03:59:45 +0000 Subject: [PATCH] (select-safe-coding-system): If the file has a coding cookie, use it regardless of any other setting (bug#4712). --- lisp/ChangeLog | 5 +++++ lisp/international/mule-cmds.el | 11 +++++------ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 1cf7714e80e..0fcfead46e3 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2009-10-17 Stefan Monnier + + * 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 * cedet/semantic/grammar.el (semantic-grammar--lex-delim-spec): diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el index 9d6f6eb4e96..af813b0172b 100644 --- a/lisp/international/mule-cmds.el +++ b/lisp/international/mule-cmds.el @@ -889,13 +889,12 @@ It is highly recommended to fix it before writing to a file." 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 -- 2.11.4.GIT