patch 9.1.1713: filetype: fvwm2m4 files are no longer detected

Commit: 
https://github.com/vim/vim/commit/5355e81868ea9e6a14eeba4b9140aa1bf239fb65
Author: zeertzjq <[email protected]>
Date:   Fri Aug 29 18:31:29 2025 +0200

    patch 9.1.1713: filetype: fvwm2m4 files are no longer detected
    
    Problem:  filetype: fvwm2m4 files are no longer recognized
              (after 9.1.1687).
    Solution: Add a special case in m4 filetype detection (zeertzjq).
    
    closes: #18146
    
    Co-authored-by: Damien Lejay <[email protected]>
    Signed-off-by: zeertzjq <[email protected]>
    Signed-off-by: Christian Brabandt <[email protected]>

diff --git a/runtime/autoload/dist/ft.vim b/runtime/autoload/dist/ft.vim
index 2172626dc..bb2bc2c1c 100644
--- a/runtime/autoload/dist/ft.vim
+++ b/runtime/autoload/dist/ft.vim
@@ -601,31 +601,36 @@ enddef
 
 # For files ending in *.m4, distinguish:
 #  – *.html.m4 files
+#  - *fvwm2rc*.m4 files
 #  – files in the Autoconf M4 dialect
 #  – files in POSIX M4
 export def FTm4()
   var fname = expand('%:t')
   var path  = expand('%:p:h')
 
-  # Case 0: canonical Autoconf file
-  if fname ==# 'aclocal.m4'
-    setf config
+  if fname =~# 'html\.m4$'
+    setf htmlm4
     return
   endif
 
-  # Case 1: html.m4
-  if fname =~# 'html\.m4$'
-    setf htmlm4
+  if fname =~# 'fvwm2rc'
+    setf fvwm2m4
+    return
+  endif
+
+  # Canonical Autoconf file
+  if fname ==# 'aclocal.m4'
+    setf config
     return
   endif
 
-  # Case 2: repo heuristic (nearby configure.ac)
+  # Repo heuristic for Autoconf M4 (nearby configure.ac)
   if filereadable(path .. '/../configure.ac') || filereadable(path .. 
'/configure.ac')
     setf config
     return
   endif
 
-  # Case 3: content heuristic (scan first ~200 lines)
+  # Content heuristic for Autoconf M4 (scan first ~200 lines)
   # Signals:
   #   - Autoconf macro prefixes: AC_/AM_/AS_/AU_/AT_
   var n = 1
@@ -639,7 +644,7 @@ export def FTm4()
     n += 1
   endwhile
 
-  # Case 4: default to POSIX M4
+  # Default to POSIX M4
   setf m4
 enddef
 
diff --git a/runtime/filetype.vim b/runtime/filetype.vim
index 0c9f34189..35238298a 100644
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -1,7 +1,7 @@
 " Vim support file to detect file types
 "
 " Maintainer:          The Vim Project <https://github.com/vim/vim>
-" Last Change:         2025 Aug 26
+" Last Change:         2025 Aug 29
 " Former Maintainer:   Bram Moolenaar <[email protected]>
 
 " Listen very carefully, I will say this only once
@@ -1519,7 +1519,7 @@ au BufNewFile,BufRead *.lsl                       call 
dist#ft#FTlsl()
 au BufNewFile,BufRead *.lss                    setf lss
 
 " M4
-au BufNewFile,BufRead *.m4                      call dist#ft#FTm4()
+au BufNewFile,BufRead *.m4     call dist#ft#FTm4()
 
 au BufNewFile,BufRead .m4_history              setf m4
 
@@ -3190,11 +3190,7 @@ au BufNewFile,BufRead */.fvwm/*                  call 
s:StarSetf('fvwm')
 au BufNewFile,BufRead *fvwmrc*,*fvwm95*.hook
        \ let b:fvwm_version = 1 | call s:StarSetf('fvwm')
 au BufNewFile,BufRead *fvwm2rc*
-       \ if expand("<afile>:e") == "m4"
-       \|  call s:StarSetf('fvwm2m4')
-       \|else
-       \|  let b:fvwm_version = 2 | call s:StarSetf('fvwm')
-       \|endif
+       \ let b:fvwm_version = 2 | call s:StarSetf('fvwm')
 
 " Gedcom
 au BufNewFile,BufRead */tmp/lltmp*             call s:StarSetf('gedcom')
diff --git a/src/testdir/test_filetype.vim b/src/testdir/test_filetype.vim
index 0d97cfd0c..6fff0281a 100644
--- a/src/testdir/test_filetype.vim
+++ b/src/testdir/test_filetype.vim
@@ -308,7 +308,8 @@ def s:GetFilenameChecks(): dict<list<string>>
     fstab: ['fstab', 'mtab'],
     func: ['file.fc'],
     fusion: ['file.fusion'],
-    fvwm: ['/.fvwm/file', 'any/.fvwm/file'],
+    fvwm: ['/.fvwm/file', 'any/.fvwm/file', '.fvwmrc', 'foo.fvwmrc', 
'fvwmrc.foo', '.fvwm2rc', 'foo.fvwm2rc', 'fvwm2rc.foo', 'foo.fvwm95.hook', 
'fvwm95.foo.hook'],
+    fvwm2m4: ['.fvwm2rc.m4', 'foo.fvwm2rc.m4', 'fvwm2rc.foo.m4'],
     gdb: ['.gdbinit', 'gdbinit', '.cuda-gdbinit', 'cuda-gdbinit', 'file.gdb', 
'.config/gdbearlyinit', '.gdbearlyinit'],
     gdmo: ['file.mo', 'file.gdmo'],
     gdresource: ['file.tscn', 'file.tres'],
diff --git a/src/version.c b/src/version.c
index afe7c45b6..4a04a97b8 100644
--- a/src/version.c
+++ b/src/version.c
@@ -724,6 +724,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1713,
 /**/
     1712,
 /**/

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/vim_dev/E1us2Dn-009YeV-Eo%40256bit.org.

Raspunde prin e-mail lui