Commit: patch 9.1.1713: filetype: fvwm2m4 files are no longer detected

2 views
Skip to first unread message

Christian Brabandt

unread,
Aug 29, 2025, 12:45:13 PMAug 29
to vim...@googlegroups.com
patch 9.1.1713: filetype: fvwm2m4 files are no longer detected

Commit: https://github.com/vim/vim/commit/5355e81868ea9e6a14eeba4b9140aa1bf239fb65
Author: zeertzjq <zeer...@outlook.com>
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 <dam...@lejay.be>
Signed-off-by: zeertzjq <zeer...@outlook.com>
Signed-off-by: Christian Brabandt <c...@256bit.org>

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 <Br...@vim.org>

" 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,
/**/
Reply all
Reply to author
Forward
0 new messages