unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Ihor Radchenko <yantar92@posteo.net>
Cc: 60930-done@debbugs.gnu.org
Subject: bug#60930: 30.0.50; 24.3 Choosing File Modes section of Emacs manual does not explain dealing with backup files
Date: Wed, 18 Jan 2023 16:06:17 +0200	[thread overview]
Message-ID: <83lem00wfa.fsf@gnu.org> (raw)
In-Reply-To: <87k01k6reb.fsf@localhost> (message from Ihor Radchenko on Wed, 18 Jan 2023 10:58:20 +0000)

> From: Ihor Radchenko <yantar92@posteo.net>
> 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.





  reply	other threads:[~2023-01-18 14:06 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-18 10:58 bug#60930: 30.0.50; 24.3 Choosing File Modes section of Emacs manual does not explain dealing with backup files Ihor Radchenko
2023-01-18 14:06 ` Eli Zaretskii [this message]
2023-01-19 11:36   ` Ihor Radchenko
2023-01-19 13:28     ` Eli Zaretskii
2023-01-19 13:35       ` Ihor Radchenko
2023-01-19 14:17         ` Eli Zaretskii
2023-01-20 13:29           ` Ihor Radchenko
2023-01-20 13:50             ` Eli Zaretskii
2023-01-21  9:39               ` Ihor Radchenko
2023-01-21  9:55                 ` Eli Zaretskii
2023-01-21 10:08                   ` Ihor Radchenko
2023-01-21 11:36                     ` Eli Zaretskii
2023-01-21 13:34                       ` Ihor Radchenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=83lem00wfa.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=60930-done@debbugs.gnu.org \
    --cc=yantar92@posteo.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).