patch 8.2.4305: tex filetype detection fails

Problem:    Tex filetype detection fails.
Solution:   Check value to be positive. (closes #9704)
This commit is contained in:
Bram Moolenaar
2022-02-05 19:50:34 +00:00
parent 00eb99528e
commit e5b7897585
3 changed files with 25 additions and 3 deletions

View File

@ -3,7 +3,7 @@ vim9script
# Vim functions for file type detection
#
# Maintainer: Bram Moolenaar <Bram@vim.org>
# Last Change: 2022 Feb 04
# Last Change: 2022 Feb 05
# These functions are moved here from runtime/filetype.vim to make startup
# faster.
@ -722,7 +722,7 @@ export def FTperl(): number
endif
var save_cursor = getpos('.')
call cursor(1, 1)
var has_use = search('^use\s\s*\k', 'c', 30)
var has_use = search('^use\s\s*\k', 'c', 30) > 0
call setpos('.', save_cursor)
if has_use
setf perl
@ -755,7 +755,8 @@ export def FTtex()
var save_cursor = getpos('.')
call cursor(1, 1)
var firstNC = search('^\s*[^[:space:]%]', 'c', 1000)
if firstNC # Check the next thousand lines for a LaTeX or ConTeXt keyword.
if firstNC > 0
# Check the next thousand lines for a LaTeX or ConTeXt keyword.
var lpat = 'documentclass\>\|usepackage\>\|begin{\|newcommand\>\|renewcommand\>'
var cpat = 'start\a\+\|setup\a\+\|usemodule\|enablemode\|enableregime\|setvariables\|useencoding\|usesymbols\|stelle\a\+\|verwende\a\+\|stel\a\+\|gebruik\a\+\|usa\a\+\|imposta\a\+\|regle\a\+\|utilisemodule\>'
var kwline = search('^\s*\\\%(' .. lpat .. '\)\|^\s*\\\(' .. cpat .. '\)',

View File

@ -1306,4 +1306,23 @@ func Test_frm_file()
filetype off
endfunc
func Test_tex_file()
filetype on
" only tests one case, should do more
let lines =<< trim END
% This is a sentence.
This is a sentence.
END
call writefile(lines, "Xfile.tex")
split Xfile.tex
call assert_equal('plaintex', &filetype)
bwipe
call delete('Xfile.tex')
filetype off
endfunc
" vim: shiftwidth=2 sts=2 expandtab

View File

@ -746,6 +746,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
4305,
/**/
4304,
/**/