Subject: Re: bug#10506: 24.0.92; Visiting the Guile v2.0.3 tarball shows binary garbage

From: Stefan Monnier <[email-masked]>
Date: Wed, 18 Jan 2012 10:31:51 -0500

> I was going to say that I think it would still go wrong in 23.3 if you
> could somehow construct a tar file with a -*- mode -*- entry on the
> first line, but then I discovered inhibit-first-line-modes-regexps.

Thanks for the footwork.
I agree that inhibit-first-line-modes-regexps should apply to all forms
of file-local variables.  I.e. please rename it to
inhibit-file-variables-regexps (with a define-obsolete-variable-alias,
of course).

> A final comment: it seems to me that anything in auto-coding-alist with
> a no-conversion* coding should be in inhibit-first-line-modes-regexps as
> well, since the meaning in both cases is basically "this is a binary
> file". Are there any exceptions?

There could be exceptions, I guess.  I think the way to reduce such
redundancy (without removing the possibility to handle things
differently) is to add indirections: e.g. allow not just regexps but
also major-mode symbols (so auto-mode-alist maps the file name to
a major mode and than this mode can be consulted in
inhibit-file-variables-regexps and auto-coding-alist, and we (w|c)ould
ideally take major-mode inheritance into account so we could make
tar-mode and image-mode inherit from a binary-mode parent and only have
binary-mode listed in those two lists).

        Stefan