Patch 8.2.4464

8 views
Skip to first unread message

Bram Moolenaar

unread,
Feb 24, 2022, 1:00:03 PM2/24/22
to vim...@googlegroups.com

Patch 8.2.4464
Problem: Dtrace files are recognized as filetype D.
Solution: Add a pattern for Dtrace files. (Teubel György, closes #9841)
Add some more testing.
Files: runtime/autoload/dist/ft.vim, runtime/filetype.vim,
src/testdir/test_filetype.vim


*** ../vim-8.2.4463/runtime/autoload/dist/ft.vim 2022-02-22 21:17:36.675692322 +0000
--- runtime/autoload/dist/ft.vim 2022-02-24 17:46:11.336916240 +0000
***************
*** 206,211 ****
--- 206,215 ----
enddef

export def DtraceCheck()
+ if did_filetype()
+ # Filetype was already detected
+ return
+ endif
var lines = getline(1, min([line("$"), 100]))
if match(lines, '^module\>\|^import\>') > -1
# D files often start with a module and/or import statement.
*** ../vim-8.2.4463/runtime/filetype.vim 2022-02-19 16:35:54.251967311 +0000
--- runtime/filetype.vim 2022-02-24 17:46:11.336916240 +0000
***************
*** 484,489 ****
--- 484,490 ----
au BufNewFile,BufRead *.desc setf desc

" the D language or dtrace
+ au BufNewFile,BufRead */dtrace/*.d setf dtrace
au BufNewFile,BufRead *.d call dist#ft#DtraceCheck()

" Desktop files
*** ../vim-8.2.4463/src/testdir/test_filetype.vim 2022-02-19 16:35:54.251967311 +0000
--- src/testdir/test_filetype.vim 2022-02-24 17:56:01.972690680 +0000
***************
*** 132,137 ****
--- 132,138 ----
\ 'cvs': ['cvs123'],
\ 'cvsrc': ['.cvsrc'],
\ 'cynpp': ['file.cyn'],
+ \ 'd': ['file.d'],
\ 'dart': ['file.dart', 'file.drt'],
\ 'datascript': ['file.ds'],
\ 'dcd': ['file.dcd'],
***************
*** 154,159 ****
--- 155,161 ----
\ 'dot': ['file.dot', 'file.gv'],
\ 'dracula': ['file.drac', 'file.drc', 'filelvs', 'filelpe', 'drac.file', 'lpe', 'lvs', 'some-lpe', 'some-lvs'],
\ 'dtd': ['file.dtd'],
+ \ 'dtrace': ['/usr/lib/dtrace/io.d'],
\ 'dts': ['file.dts', 'file.dtsi'],
\ 'dune': ['jbuild', 'dune', 'dune-project', 'dune-workspace'],
\ 'dylan': ['file.dylan'],
***************
*** 827,832 ****
--- 829,870 ----
filetype off
endfunc

+ func Test_d_file()
+ filetype on
+
+ call writefile(['looks like D'], 'Xfile.d')
+ split Xfile.d
+ call assert_equal('d', &filetype)
+ bwipe!
+
+ call writefile(['#!/some/bin/dtrace'], 'Xfile.d')
+ split Xfile.d
+ call assert_equal('dtrace', &filetype)
+ bwipe!
+
+ call writefile(['#pragma D option'], 'Xfile.d')
+ split Xfile.d
+ call assert_equal('dtrace', &filetype)
+ bwipe!
+
+ call writefile([':some:thing:'], 'Xfile.d')
+ split Xfile.d
+ call assert_equal('dtrace', &filetype)
+ bwipe!
+
+ call writefile(['module this', '#pragma D option'], 'Xfile.d')
+ split Xfile.d
+ call assert_equal('d', &filetype)
+ bwipe!
+
+ call writefile(['import that', '#pragma D option'], 'Xfile.d')
+ split Xfile.d
+ call assert_equal('d', &filetype)
+ bwipe!
+
+ filetype off
+ endfunc
+
func Test_dep3patch_file()
filetype on

*** ../vim-8.2.4463/src/version.c 2022-02-24 13:28:36.574222363 +0000
--- src/version.c 2022-02-24 17:57:01.632682007 +0000
***************
*** 756,757 ****
--- 756,759 ----
{ /* Add new patch number below this line */
+ /**/
+ 4464,
/**/

--
From "know your smileys":
C=}>;*{)) Drunk, devilish chef with a toupee in an updraft,
a mustache, and a double chin

/// Bram Moolenaar -- Br...@Moolenaar.net -- http://www.Moolenaar.net \\\
/// \\\
\\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
Reply all
Reply to author
Forward
0 new messages