From: Chong Yidong Date: Sun, 10 Feb 2013 03:08:21 +0000 (+0800) Subject: * files.el (basic-save-buffer-1): Don't set buffer-file-coding-system-explicit. X-Git-Tag: emacs-24.3.90~173^2~7^2~105 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=0ccdf61ed6527800856123189c799beca78218e3;p=emacs.git * files.el (basic-save-buffer-1): Don't set buffer-file-coding-system-explicit. Fixes: debbugs:4533 --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index cc5aa18d27f..c0a91bb75dc 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2013-02-10 Chong Yidong + * files.el (basic-save-buffer-1): Do not set + buffer-file-coding-system-explicit (Bug#4533). + * mail/emacsbug.el (report-emacs-bug): Change binding of report-emacs-bug-insert-to-mailer to C-c M-i (Bug#13510). diff --git a/lisp/files.el b/lisp/files.el index 9fca70d36f7..c9e5d2763fe 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -4646,9 +4646,7 @@ Before and after saving the buffer, this function runs (basic-save-buffer-2)) (basic-save-buffer-2)) (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))))) + (setcar buffer-file-coding-system-explicit last-coding-system-used)))) ;; This returns a value (MODES EXTENDED-ATTRIBUTES BACKUPNAME), like ;; backup-buffer. diff --git a/lisp/international/mule.el b/lisp/international/mule.el index 995df2fb9a7..47c7087518e 100644 --- a/lisp/international/mule.el +++ b/lisp/international/mule.el @@ -1132,17 +1132,20 @@ FORM is a form to evaluate to define the coding-system." (put (intern name) 'coding-system-define-form form) (setq coding-system-alist (cons (list name) coding-system-alist))))) -;; This variable is set in these three cases: +;; This variable is set in these two cases: ;; (1) A file is read by a coding system specified explicitly. -;; after-insert-file-set-coding sets the car of this value to -;; coding-system-for-read, and sets the cdr to nil. -;; (2) A buffer is saved. -;; After writing, basic-save-buffer-1 sets the car of this value -;; to last-coding-system-used. -;; (3) set-buffer-file-coding-system is called. +;; `after-insert-file-set-coding' sets the car of this value to +;; `coding-system-for-read', and sets the cdr to nil. +;; (2) `set-buffer-file-coding-system' is called. ;; The cdr of this value is set to the specified coding system. -;; This variable is used for decoding in revert-buffer and encoding in -;; select-safe-coding-system. +;; This variable is used for decoding in `revert-buffer' and encoding +;; in `select-safe-coding-system'. +;; +;; When saving a buffer, if `buffer-file-coding-system-explicit' is +;; already non-nil, `basic-save-buffer-1' sets its CAR to the value of +;; `last-coding-system-used'. (It used to set it unconditionally, but +;; that seems unnecessary; see Bug#4533.) + (defvar buffer-file-coding-system-explicit nil "The file coding system explicitly specified for the current buffer. The value is a cons of coding systems for reading (decoding) and