Subject: bug#60930: closed (Re: bug#60930: 30.0.50; 24.3 Choosing File Modes section of Emacs manual does not explain dealing with backup files)

From: [email-masked] (GNU bug Tracking System)
Date: Wed, 18 Jan 2023 14:07:02 +0000

Your bug report

#60930: 30.0.50; 24.3 Choosing File Modes section of Emacs manual does not explain dealing with backup files

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
60930: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=60930
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#60930: 30.0.50; 24.3 Choosing File Modes section of Emacs manual does not explain dealing with backup files
From: Eli Zaretskii <[email-masked]>
To: Ihor Radchenko <[email-masked]>
Cc: [email-masked]
Date: Wed, 18 Jan 2023 16:06:17 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

> From: Ihor Radchenko <[email-masked]>
> Date: Wed, 18 Jan 2023 10:58:20 +0000
> 
> Hi,
> 
> The 24.3 Choosing File Modes section of Emacs manual explains how the
> `auto-mode-alist' works, but fail to address an important point about
> backup files being open in the major mode used for files with a name
> stripped from the backup suffix:
> 
>        Fifth—if Emacs still hasn’t found a suitable major mode—it looks at
>     the file’s name.  The correspondence between file names and major modes
>     is controlled by the variable ‘auto-mode-alist’.  Its value is a list in
>     which each element has this form,
> 
>     <formal programmatic description of `auto-mode-alist' follows...>
> 
> I think that it is worth mentioning the backup file handling entry in
> `auto-mode-alist' in the manual itself:
> 
> -----------
> By default, `auto-mode-alist' contains:
> 
>  ("\\.~?[0-9]+\\.[0-9][-.0-9]*~?\\'" nil t)
>  ("\\.\\(?:orig\\|in\\|[bB][aA][kK]\\)\\'" nil t)
> 
> meaning that backup files (for example, foo.txt~, foo.txt~12,
> foo.txt.orig, foo.txt.in, foo.txt.bak) will use major mode as for
> foo.txt - the file with backup suffix stripped.
> -----
> 
> WDYT?

The feature of "recursive extension stripping" was already documented
there.  I added a few words about two examples of its usage (backup
files aren't the only one, and I see no reason to treat them specially
in this regard, let alone have the actual regexp in the manual).
However, I sincerely doubt that having this described in that place
will be discoverable enough.  I also am not sure why you thought it
was so important to mention: it's an obscure implementation detail
intended to make Emacs DTRT, and as long it does TRT, why should users
worry?

But anyway, this is now in the manual for those who read the fine
print.

Subject: 30.0.50; 24.3 Choosing File Modes section of Emacs manual does not explain dealing with backup files
From: Ihor Radchenko <[email-masked]>
To: [email-masked]
Date: Wed, 18 Jan 2023 10:58:20 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

The 24.3 Choosing File Modes section of Emacs manual explains how the
`auto-mode-alist' works, but fail to address an important point about
backup files being open in the major mode used for files with a name
stripped from the backup suffix:

       Fifth—if Emacs still hasn’t found a suitable major mode—it looks at
    the file’s name.  The correspondence between file names and major modes
    is controlled by the variable ‘auto-mode-alist’.  Its value is a list in
    which each element has this form,

    <formal programmatic description of `auto-mode-alist' follows...>

I think that it is worth mentioning the backup file handling entry in
`auto-mode-alist' in the manual itself:

-----------
By default, `auto-mode-alist' contains:

 ("\\.~?[0-9]+\\.[0-9][-.0-9]*~?\\'" nil t)
 ("\\.\\(?:orig\\|in\\|[bB][aA][kK]\\)\\'" nil t)

meaning that backup files (for example, foo.txt~, foo.txt~12,
foo.txt.orig, foo.txt.in, foo.txt.bak) will use major mode as for
foo.txt - the file with backup suffix stripped.
-----

WDYT?

In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, cairo version
 1.17.6) of 2023-01-16 built on localhost
Repository revision: bb679244152dddd9949ca065aa6617457f7a7144
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101006
System Description: Gentoo Linux

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>