Subject: Re: bug#16846: acknowledged by developer ()

From: Andreas Röhler <[email-masked]>
Date: Sun, 23 Feb 2014 09:49:09 +0100

Am 22.02.2014 23:43, schrieb Juanma Barranquero:
> On Sat, Feb 22, 2014 at 9:50 PM, Andreas Röhler
> <[email-masked]> wrote:
>
>> This bug is about Info files
>
> I don't think there is a bug. That info node talks about the format of
> the file variables, but of course says nothing about the format of the
> contents of your file. If your file is text, perhaps just
>
> -*- variable: value -*-
>
> in the first line is perfectly acceptable.

Do you want  file-local variables restrict to text-mode?
Doesn't make sense for me.

  If the file contains C
> source code, or elisp, or another data format to be digested by some
> external processor, it should already be clear that the file variables
> must be acceptable to these external processors. You can't expect to
> have
>
> -*- mode: c -*-
>
> as the first line of a C file and compile it with GCC without getting an error.
>

We must not discuss possible other bugs here. Let's stay with the reported one.

> That said, the same node that you quote already says:
>
>       Here is an example first line that specifies Lisp mode and sets two
>    variables with numeric values:
>
>         ;; -*- mode: Lisp; fill-column: 75; comment-column: 50; -*-
>
> and a little later:
>
>       In shell scripts, the first line is used to identify the script
>    interpreter, so you cannot put any local variables there.  To
>    accommodate this, Emacs looks for local variable specifications in the
>    _second_ line if the first line specifies an interpreter.  The same is
>    true for man pages which start with the magic string `'\"' to specify a
>    list of troff preprocessors (not all do, however).
>
> which clearly suggests that the file variables must also be acceptable
> to the consumer of the file.

It rather says: implementation is not that straightforward as it could/should be.
It's at Emacs, when sending code, to clear its artistics before.

>
>> , the former report was about a wrong compiler warning.
>
> Which was, in fact, not wrong at all.
>

Attach foo1.png - happens when evaluating a buffer with contents:

;;;;;;

-*- lexical-binding: t -*-

(setq foo 1)

;;;;;;