diff runtime/filetype.vim @ 12816:218102da5226 v8.0.1285

patch 8.0.1285: occasional crash when using a channel commit https://github.com/vim/vim/commit/d09a206ee94ccb653707ce9b6e536d4d58886e04 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Nov 11 15:37:45 2017 +0100 patch 8.0.1285: occasional crash when using a channel Problem: Occasional crash when using a channel. (Marek) Solution: Decrement reference count later. (closes https://github.com/vim/vim/issues/2315)
author Christian Brabandt <cb@256bit.org>
date Sat, 11 Nov 2017 15:45:04 +0100
parents e0dea10b30b6
children 1578c0ba0dd1
line wrap: on
line diff
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -1,7 +1,7 @@
 " Vim support file to detect file types
 "
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2017 Nov 09
+" Last Change:	2017 Nov 11
 
 " Listen very carefully, I will say this only once
 if exists("did_load_filetypes")
@@ -52,7 +52,7 @@ endfunc
 au BufNewFile,BufRead $VIMRUNTIME/doc/*.txt	setf help
 
 " Abaqus or Trasys
-au BufNewFile,BufRead *.inp			call filetype#Check_inp()
+au BufNewFile,BufRead *.inp			call dist#ft#Check_inp()
 
 " A-A-P recipe
 au BufNewFile,BufRead *.aap			setf aap
@@ -154,7 +154,7 @@ au BufNewFile,BufRead */boot/grub/menu.l
 
 " Assembly (all kinds)
 " *.lst is not pure assembly, it has two extra columns (address, byte codes)
-au BufNewFile,BufRead *.asm,*.[sS],*.[aA],*.mac,*.lst	call filetype#FTasm()
+au BufNewFile,BufRead *.asm,*.[sS],*.[aA],*.mac,*.lst	call dist#ft#FTasm()
 
 " Macro (VAX)
 au BufNewFile,BufRead *.mar			setf vmasm
@@ -184,7 +184,7 @@ au BufNewFile,BufRead *.awk			setf awk
 au BufNewFile,BufRead *.mch,*.ref,*.imp		setf b
 
 " BASIC or Visual Basic
-au BufNewFile,BufRead *.bas			call filetype#FTVB("basic")
+au BufNewFile,BufRead *.bas			call dist#ft#FTVB("basic")
 
 " Visual Basic Script (close to Visual Basic) or Visual Basic .NET
 au BufNewFile,BufRead *.vb,*.vbs,*.dsm,*.ctl	setf vb
@@ -202,7 +202,7 @@ au BufNewFile,BufRead *.cmd
 	\ if getline(1) =~ '^/\*' | setf rexx | else | setf dosbatch | endif
 
 " Batch file for 4DOS
-au BufNewFile,BufRead *.btm			call filetype#FTbtm()
+au BufNewFile,BufRead *.btm			call dist#ft#FTbtm()
 
 " BC calculator
 au BufNewFile,BufRead *.bc			setf bc
@@ -222,7 +222,7 @@ au BufNewFile,BufRead named*.conf,rndc*.
 
 " BIND zone
 au BufNewFile,BufRead named.root		setf bindzone
-au BufNewFile,BufRead *.db			call filetype#BindzoneCheck('')
+au BufNewFile,BufRead *.db			call dist#ft#BindzoneCheck('')
 
 " Blank
 au BufNewFile,BufRead *.bl			setf blank
@@ -238,7 +238,7 @@ if has("fname_case")
 endif
 
 " C or lpc
-au BufNewFile,BufRead *.c			call filetype#FTlpc()
+au BufNewFile,BufRead *.c			call dist#ft#FTlpc()
 
 " Calendar
 au BufNewFile,BufRead calendar			setf calendar
@@ -292,7 +292,7 @@ endif
 " .h files can be C, Ch C++, ObjC or ObjC++.
 " Set c_syntax_for_h if you want C, ch_syntax_for_h if you want Ch. ObjC is
 " detected automatically.
-au BufNewFile,BufRead *.h			call filetype#FTheader()
+au BufNewFile,BufRead *.h			call dist#ft#FTheader()
 
 " Ch (CHscript)
 au BufNewFile,BufRead *.chf			setf ch
@@ -326,7 +326,7 @@ au BufNewFile,BufRead NEWS
 au BufNewFile,BufRead *..ch			setf chill
 
 " Changes for WEB and CWEB or CHILL
-au BufNewFile,BufRead *.ch			call filetype#FTchange()
+au BufNewFile,BufRead *.ch			call dist#ft#FTchange()
 
 " ChordPro
 au BufNewFile,BufRead *.chopro,*.crd,*.cho,*.crdpro,*.chordpro	setf chordpro
@@ -338,7 +338,7 @@ au BufNewFile,BufRead *.dcl,*.icl		setf 
 au BufNewFile,BufRead *.eni			setf cl
 
 " Clever or dtd
-au BufNewFile,BufRead *.ent			call filetype#FTent()
+au BufNewFile,BufRead *.ent			call dist#ft#FTent()
 
 " Clipper (or FoxPro; could also be eviews)
 au BufNewFile,BufRead *.prg
@@ -393,9 +393,9 @@ au BufNewFile,BufRead *enlightenment/*.c
 au BufNewFile,BufRead *Eterm/*.cfg		setf eterm
 
 " Euphoria 3 or 4
-au BufNewFile,BufRead *.eu,*.ew,*.ex,*.exu,*.exw  call filetype#EuphoriaCheck()
+au BufNewFile,BufRead *.eu,*.ew,*.ex,*.exu,*.exw  call dist#ft#EuphoriaCheck()
 if has("fname_case")
-   au BufNewFile,BufRead *.EU,*.EW,*.EX,*.EXU,*.EXW  call filetype#EuphoriaCheck()
+   au BufNewFile,BufRead *.EU,*.EW,*.EX,*.EXU,*.EXW  call dist#ft#EuphoriaCheck()
 endif
 
 " Lynx config files
@@ -442,7 +442,7 @@ au BufNewFile,BufRead */etc/dnsmasq.conf
 au BufNewFile,BufRead *.desc			setf desc
 
 " the D language or dtrace
-au BufNewFile,BufRead *.d			call filetype#DtraceCheck()
+au BufNewFile,BufRead *.d			call dist#ft#DtraceCheck()
 
 " Desktop files
 au BufNewFile,BufRead *.desktop,.directory	setf desktop
@@ -474,7 +474,7 @@ au BufNewFile,BufRead *.rul
 	\ endif
 
 " DCL (Digital Command Language - vms) or DNS zone file
-au BufNewFile,BufRead *.com			call filetype#BindzoneCheck('dcl')
+au BufNewFile,BufRead *.com			call dist#ft#BindzoneCheck('dcl')
 
 " DOT
 au BufNewFile,BufRead *.dot			setf dot
@@ -522,7 +522,7 @@ au BufNewFile,BufRead .editorconfig		set
 au BufNewFile,BufRead *.ecd			setf ecd
 
 " Eiffel or Specman or Euphoria
-au BufNewFile,BufRead *.e,*.E			call filetype#FTe()
+au BufNewFile,BufRead *.e,*.E			call dist#ft#FTe()
 
 " Elinks configuration
 au BufNewFile,BufRead */etc/elinks.conf,*/.elinks/elinks.conf	setf elinks
@@ -695,7 +695,7 @@ au BufNewFile,BufRead *.hex,*.h32		setf 
 au BufNewFile,BufRead *.t.html			setf tilde
 
 " HTML (.shtml and .stm for server side)
-au BufNewFile,BufRead *.html,*.htm,*.shtml,*.stm  call filetype#FThtml()
+au BufNewFile,BufRead *.html,*.htm,*.shtml,*.stm  call dist#ft#FThtml()
 
 " HTML with Ruby - eRuby
 au BufNewFile,BufRead *.erb,*.rhtml		setf eruby
@@ -722,7 +722,7 @@ au BufNewFile,BufRead *.htt,*.htb		setf 
 au BufNewFile,BufRead *.icn			setf icon
 
 " IDL (Interface Description Language)
-au BufNewFile,BufRead *.idl			call filetype#FTidl()
+au BufNewFile,BufRead *.idl			call dist#ft#FTidl()
 
 " Microsoft IDL (Interface Description Language)  Also *.idl
 " MOF = WMI (Windows Management Instrumentation) Managed Object Format
@@ -733,10 +733,10 @@ au BufNewFile,BufRead */.icewm/menu		set
 
 " Indent profile (must come before IDL *.pro!)
 au BufNewFile,BufRead .indent.pro		setf indent
-au BufNewFile,BufRead indent.pro		call filetype#ProtoCheck('indent')
+au BufNewFile,BufRead indent.pro		call dist#ft#ProtoCheck('indent')
 
 " IDL (Interactive Data Language)
-au BufNewFile,BufRead *.pro			call filetype#ProtoCheck('idlang')
+au BufNewFile,BufRead *.pro			call dist#ft#ProtoCheck('idlang')
 
 " Indent RC
 au BufNewFile,BufRead indentrc			setf indent
@@ -950,7 +950,7 @@ au BufNewFile,BufRead *.markdown,*.mdown
 au BufNewFile,BufRead *.mason,*.mhtml,*.comp	setf mason
 
 " Mathematica, Matlab, Murphi or Objective C
-au BufNewFile,BufRead *.m			call filetype#FTm()
+au BufNewFile,BufRead *.m			call dist#ft#FTm()
 
 " Mathematica notebook
 au BufNewFile,BufRead *.nb			setf mma
@@ -980,7 +980,7 @@ au BufNewFile,BufRead *.mgl			setf mgl
 au BufNewFile,BufRead *.mix,*.mixal		setf mix
 
 " MMIX or VMS makefile
-au BufNewFile,BufRead *.mms			call filetype#FTmms()
+au BufNewFile,BufRead *.mms			call dist#ft#FTmms()
 
 " Symbian meta-makefile definition (MMP)
 au BufNewFile,BufRead *.mmp			setf mmp
@@ -1068,10 +1068,10 @@ au BufNewFile,BufRead *.me
 	\   setf nroff |
 	\ endif
 au BufNewFile,BufRead *.tr,*.nr,*.roff,*.tmac,*.mom	setf nroff
-au BufNewFile,BufRead *.[1-9]			call filetype#FTnroff()
+au BufNewFile,BufRead *.[1-9]			call dist#ft#FTnroff()
 
 " Nroff or Objective C++
-au BufNewFile,BufRead *.mm			call filetype#FTmm()
+au BufNewFile,BufRead *.mm			call dist#ft#FTmm()
 
 " Not Quite C
 au BufNewFile,BufRead *.nqc			setf nqc
@@ -1126,9 +1126,9 @@ au BufNewFile,BufRead *.pcmk 			setf pcm
 
 " Perl
 if has("fname_case")
-  au BufNewFile,BufRead *.pl,*.PL		call filetype#FTpl()
+  au BufNewFile,BufRead *.pl,*.PL		call dist#ft#FTpl()
 else
-  au BufNewFile,BufRead *.pl			call filetype#FTpl()
+  au BufNewFile,BufRead *.pl			call dist#ft#FTpl()
 endif
 au BufNewFile,BufRead *.plx,*.al,*.psgi		setf perl
 au BufNewFile,BufRead *.p6,*.pm6,*.pl6		setf perl6
@@ -1195,7 +1195,7 @@ au BufNewFile,BufRead *.pov			setf pov
 au BufNewFile,BufRead .povrayrc			setf povini
 
 " Povray, PHP or assembly
-au BufNewFile,BufRead *.inc			call filetype#FTinc()
+au BufNewFile,BufRead *.inc			call dist#ft#FTinc()
 
 " Printcap and Termcap
 au BufNewFile,BufRead *printcap
@@ -1224,13 +1224,13 @@ au BufNewFile,BufRead *.action			setf pr
 au BufNewFile,BufRead .procmail,.procmailrc	setf procmail
 
 " Progress or CWEB
-au BufNewFile,BufRead *.w			call filetype#FTprogress_cweb()
+au BufNewFile,BufRead *.w			call dist#ft#FTprogress_cweb()
 
 " Progress or assembly
-au BufNewFile,BufRead *.i			call filetype#FTprogress_asm()
+au BufNewFile,BufRead *.i			call dist#ft#FTprogress_asm()
 
 " Progress or Pascal
-au BufNewFile,BufRead *.p			call filetype#FTprogress_pascal()
+au BufNewFile,BufRead *.p			call dist#ft#FTprogress_pascal()
 
 " Software Distributor Product Specification File (POSIX 1387.2-1995)
 au BufNewFile,BufRead *.psf			setf psf
@@ -1316,7 +1316,7 @@ else
 endif
 
 " Rexx, Rebol or R
-au BufNewFile,BufRead *.r,*.R				call filetype#FTr()
+au BufNewFile,BufRead *.r,*.R				call dist#ft#FTr()
 
 " Remind
 au BufNewFile,BufRead .reminders,*.remind,*.rem		setf remind
@@ -1412,7 +1412,7 @@ au BufNewFile,BufRead *.siv			setf sieve
 au BufNewFile,BufRead sendmail.cf		setf sm
 
 " Sendmail .mc files are actually m4.  Could also be MS Message text file.
-au BufNewFile,BufRead *.mc			call filetype#McSetf()
+au BufNewFile,BufRead *.mc			call dist#ft#McSetf()
 
 " Services
 au BufNewFile,BufRead */etc/services		setf services
@@ -1453,23 +1453,23 @@ au BufNewFile,BufRead sgml.catalog*		cal
 
 " Shell scripts (sh, ksh, bash, bash2, csh); Allow .profile_foo etc.
 " Gentoo ebuilds and Arch Linux PKGBUILDs are actually bash scripts
-au BufNewFile,BufRead .bashrc*,bashrc,bash.bashrc,.bash[_-]profile*,.bash[_-]logout*,.bash[_-]aliases*,*.bash,*/{,.}bash[_-]completion{,.d,.sh}{,/*},*.ebuild,*.eclass,PKGBUILD* call filetype#SetFileTypeSH("bash")
-au BufNewFile,BufRead .kshrc*,*.ksh call filetype#SetFileTypeSH("ksh")
-au BufNewFile,BufRead */etc/profile,.profile*,*.sh,*.env call filetype#SetFileTypeSH(getline(1))
+au BufNewFile,BufRead .bashrc*,bashrc,bash.bashrc,.bash[_-]profile*,.bash[_-]logout*,.bash[_-]aliases*,*.bash,*/{,.}bash[_-]completion{,.d,.sh}{,/*},*.ebuild,*.eclass,PKGBUILD* call dist#ft#SetFileTypeSH("bash")
+au BufNewFile,BufRead .kshrc*,*.ksh call dist#ft#SetFileTypeSH("ksh")
+au BufNewFile,BufRead */etc/profile,.profile*,*.sh,*.env call dist#ft#SetFileTypeSH(getline(1))
 
 " Shell script (Arch Linux) or PHP file (Drupal)
 au BufNewFile,BufRead *.install
 	\ if getline(1) =~ '<?php' |
 	\   setf php |
 	\ else |
-	\   call filetype#SetFileTypeSH("bash") |
+	\   call dist#ft#SetFileTypeSH("bash") |
 	\ endif
 
 " tcsh scripts
-au BufNewFile,BufRead .tcshrc*,*.tcsh,tcsh.tcshrc,tcsh.login	call filetype#SetFileTypeShell("tcsh")
+au BufNewFile,BufRead .tcshrc*,*.tcsh,tcsh.tcshrc,tcsh.login	call dist#ft#SetFileTypeShell("tcsh")
 
 " csh scripts, but might also be tcsh scripts (on some systems csh is tcsh)
-au BufNewFile,BufRead .login*,.cshrc*,csh.cshrc,csh.login,csh.logout,*.csh,.alias  call filetype#CSH()
+au BufNewFile,BufRead .login*,.cshrc*,csh.cshrc,csh.login,csh.logout,*.csh,.alias  call dist#ft#CSH()
 
 " Z-Shell script
 au BufNewFile,BufRead .zprofile,*/etc/zprofile,.zfbfmarks  setf zsh
@@ -1540,7 +1540,7 @@ au BufNewFile,BufRead *.mib,*.my		setf m
 
 " Snort Configuration
 au BufNewFile,BufRead *.hog,snort.conf,vision.conf	setf hog
-au BufNewFile,BufRead *.rules			call filetype#FTRules()
+au BufNewFile,BufRead *.rules			call dist#ft#FTRules()
 
 " Spec (Linux RPM)
 au BufNewFile,BufRead *.spec			setf spec
@@ -1564,7 +1564,7 @@ au BufNewFile,BufRead squid.conf		setf s
 au BufNewFile,BufRead *.tyb,*.typ,*.tyc,*.pkb,*.pks	setf sql
 
 " SQL
-au BufNewFile,BufRead *.sql			call filetype#SQL()
+au BufNewFile,BufRead *.sql			call dist#ft#SQL()
 
 " SQLJ
 au BufNewFile,BufRead *.sqlj			setf sqlj
@@ -1613,7 +1613,7 @@ au BufNewFile,BufRead *.svg			setf svg
 
 " Tads (or Nroff or Perl test file)
 au BufNewFile,BufRead *.t
-	\ if !filetype#FTnroff() && !filetype#FTperl() | setf tads | endif
+	\ if !dist#ft#FTnroff() && !dist#ft#FTperl() | setf tads | endif
 
 " Tags
 au BufNewFile,BufRead tags			setf tags
@@ -1642,7 +1642,7 @@ au BufNewFile,BufRead *.ti			setf termin
 
 " TeX
 au BufNewFile,BufRead *.latex,*.sty,*.dtx,*.ltx,*.bbl	setf tex
-au BufNewFile,BufRead *.tex			call filetype#FTtex()
+au BufNewFile,BufRead *.tex			call dist#ft#FTtex()
 
 " ConTeXt
 au BufNewFile,BufRead *.mkii,*.mkiv,*.mkvi   setf context
@@ -1740,7 +1740,7 @@ au BufRead,BufNewFile *.hw,*.module,*.pk
 	\ endif
 
 " Visual Basic (also uses *.bas) or FORM
-au BufNewFile,BufRead *.frm			call filetype#FTVB("form")
+au BufNewFile,BufRead *.frm			call dist#ft#FTVB("form")
 
 " SaxBasic is close to Visual Basic
 au BufNewFile,BufRead *.sba			setf vb
@@ -1830,10 +1830,10 @@ au BufNewFile,BufRead .Xdefaults,.Xpdefa
 " Xmath
 au BufNewFile,BufRead *.msc,*.msf		setf xmath
 au BufNewFile,BufRead *.ms
-	\ if !filetype#FTnroff() | setf xmath | endif
+	\ if !dist#ft#FTnroff() | setf xmath | endif
 
 " XML  specific variants: docbk and xbl
-au BufNewFile,BufRead *.xml			call filetype#FTxml()
+au BufNewFile,BufRead *.xml			call dist#ft#FTxml()
 
 " XMI (holding UML models) is also XML
 au BufNewFile,BufRead *.xmi			setf xml
@@ -1876,7 +1876,7 @@ au BufNewFile,BufRead *.xsl,*.xslt		setf
 au BufNewFile,BufRead *.yy,*.yxx,*.y++		setf yacc
 
 " Yacc or racc
-au BufNewFile,BufRead *.y			call filetype#FTy()
+au BufNewFile,BufRead *.y			call dist#ft#FTy()
 
 " Yaml
 au BufNewFile,BufRead *.yaml,*.yml		setf yaml
@@ -1892,9 +1892,9 @@ au BufNewFile,BufRead *.zut			setf zimbu
 " Zope
 "   dtml (zope dynamic template markup language), pt (zope page template),
 "   cpt (zope form controller page template)
-au BufNewFile,BufRead *.dtml,*.pt,*.cpt		call filetype#FThtml()
+au BufNewFile,BufRead *.dtml,*.pt,*.cpt		call dist#ft#FThtml()
 "   zsql (zope sql method)
-au BufNewFile,BufRead *.zsql			call filetype#SQL()
+au BufNewFile,BufRead *.zsql			call dist#ft#SQL()
 
 " Z80 assembler asz80
 au BufNewFile,BufRead *.z8a			setf z8a
@@ -2048,7 +2048,7 @@ au BufNewFile,BufRead *termcap*
 
 " ReDIF
 " Only used when the .rdf file was not detected to be XML.
-au BufRead,BufNewFile *.rdf			call filetype#Redif()
+au BufRead,BufNewFile *.rdf			call dist#ft#Redif()
 
 " Remind
 au BufNewFile,BufRead .reminders*		call s:StarSetf('remind')