Subject: bug#75961: set-auto-mode--apply-alist

From: Eli Zaretskii <[email-masked]>
Date: Fri, 31 Jan 2025 10:16:03 +0200

> Date: Fri, 31 Jan 2025 06:24:02 +0000
> From:  nat chapman via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <[email-masked]>
> 
> On https://www.gnu.org/software/emacs/manual/html_node/emacs/Choosing-Modes.html, the manual says:
> "If the element has the form (regexp mode-function flag) and flag is non-nil, then after calling
> mode-function (if it is non-nil), Emacs discards the suffix that matched regexp and searches the list again
> for another match. This “recursive extension stripping” is used for files which have multiple extensions, and
> the “outer” extension hides the “inner” one that actually specifies the right mode. For example, backup files
> and GPG-encrypted files with .gpg extension use this feature." 
> 
> My understanding of this paragraph is that the outside mode-function should be called, and then
> subsequent mode-functions should be called after. Currently, only the inner-most matched suffix has its
> mode-function called.
> 
> I believe this was changed in this commit:
> https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=ad5faa424a5d2f0d67265906d21f7af98220df26
> 
> It looks like the (when mode (set-auto-mode-0 ...)) was moved from inside the (while name ...) to outside
> when the section was pulled into its own function. It's been four and a half years, so maybe it doesn't matter
> anymore, but if that's the case the manual should be updated; it would have saved me a couple hours of
> difficulty.

Thanks.

Do you have a recipe for showing some failure, preferably starting
from "emacs -Q", to behave according to the documentation, due to the
above change?  If so, can you please show such a recipe?