[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#50801: 28.0.50; Emacs manual about file variables doesn't mention th
From: |
Daniel Martín |
Subject: |
bug#50801: 28.0.50; Emacs manual about file variables doesn't mention that major modes shouldn't end in "-mode" |
Date: |
Sat, 25 Sep 2021 20:22:28 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.2 (darwin) |
Stefan Kangas <stefan@marxist.se> writes:
>
>> I'm reviewing the manuals for the upcoming Emacs 28 and I have a couple
>> of minor suggestions for node "49.2.4.1 Specifying File Variables":
>
> That is extremely useful, thank you very much for working on this.
>
> (BTW, you can press `w' in info to get a reference like "(emacs)
> Specifying File Variables". This is not super important, but a handy
> feature to know about, as you can then `M-: (info "...")' and get to
> that section quickly.)
Yep, I forgot to add a direct link to the Info node, sorry. BTW you can
'C-u w' to get the link inside a function call to `info` directly.
>
>> The node doesn't explictly mention the crucial information that in
>> 'mode: MODENAME' 'MODENAME' must not end in "-mode". It's true that
>> there's an example down there that says "mode: Lisp", so users may infer
>> that you don't need to spell the major mode with "-mode", but I thought
>> it may be better to be explicit about in the manual.
>
> Fully agreed. Perhaps something like this?
>
> diff --git a/doc/emacs/custom.texi b/doc/emacs/custom.texi
> index d12033f841..d5f18fff35 100644
> --- a/doc/emacs/custom.texi
> +++ b/doc/emacs/custom.texi
> @@ -1084,8 +1084,9 @@ Specifying File Variables
> @noindent
> You can specify any number of variable/value pairs in this way, each
> pair with a colon and semicolon. The special variable/value pair
> -@code{mode: @var{modename};}, if present, specifies a major mode. The
> -@var{value}s are used literally, and not evaluated.
> +@code{mode: @var{modename};}, if present, specifies a major mode
> +(excluding the ``-mode'' part). The @var{value}s are used literally,
> +and not evaluated.
I'm not a native speaker but it reads well to me, thank you.
>
> @findex add-file-local-variable-prop-line
> @findex delete-file-local-variable-prop-line
>
>> Another suggestion I have is that the manual doesn't mention that
>> something like "-*- C++ -*-" (that is, omitting the "mode" keyword) is
>> also supported. Many free software projects have traditionally been
>> using "-* C++ -*" in their C++ header files to make Emacs distinguish
>> them from plain C files. See also src/epaths.in in the Emacs
>> repository, among others. I see this used by Jim Blandy since 1992 at
>> least, but I don't really know if a) it's really a stable way to declare
>> a file-local mode, and we may lack the historical info to answer that,
>> and b) it's worth mentioning it in the manual.
>
> I can't remember the details, but I believe that this form is considered
> obsolete and/or problematic. So I think it's fine to not document it.
Makes sense.