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.