Subject: bug#12989: 24.3.50; buffer-file-type is not buffer-local

From: Eli Zaretskii <[email-masked]>
Date: Mon, 26 Nov 2012 19:24:48 +0200

> Date: Mon, 26 Nov 2012 23:35:20 +0900
> From: Kazuhiro Ito <[email-masked]>
> Cc: [email-masked]
> 
> But I think I found it out just now.  Modifying and saving gzipped
> text on Windows causes the problem.  Because jka-compr-write-region
> (in lisp/jka-compr.el) sets buffer-file-type to t.

Yes, this is one of the places left that set this variable.  Another
one is in bytecomp.el, in Tramp, and a few more elsewhere.  I will
remove them all in the trunk, after careful consideration what to
replace them with.

To repeat what I wrote in emacs-devel, for the record: revision 110960
on the emacs-24 branch made buffer-file-type buffer-local again, and
find-file-not-found-set-buffer-file-coding-system no longer sets this
variable if buffer-file-coding-system is no-conversion.

> > If you want to force Emacs to treat certain files as binary, bind
> > coding-system-for-read to 'binary or modify file-coding-system-alist
> > accordingly.
> 
> In my report, coding-system-for-read is bound to 'no-conversion.  Do
> you mean we should use 'binary instead of 'no-conversion?

No.  (These two are the same.)  I thought you were setting the
variable in your code or in your customizations, and suggested to use
the standard facilities instead.  But since the problem comes from
Emacs itself, that advice is no longer valid.