]> granicus.if.org Git - vim/commitdiff
patch 8.0.1285: occasional crash when using a channel v8.0.1285
authorBram Moolenaar <Bram@vim.org>
Sat, 11 Nov 2017 14:37:45 +0000 (15:37 +0100)
committerBram Moolenaar <Bram@vim.org>
Sat, 11 Nov 2017 14:37:45 +0000 (15:37 +0100)
Problem:    Occasional crash when using a channel. (Marek)
Solution:   Decrement reference count later. (closes #2315)

Filelist
nsis/gvim.nsi
runtime/autoload/dist/ft.vim [moved from runtime/autoload/filetype.vim with 92% similarity]
runtime/filetype.vim
runtime/scripts.vim
src/Makefile
src/version.c

index 56962c84d3f4815c578cb96015c3ed32bf4f67e8..7083eed7de9b202d54ae162709e4cd61de36d8f1 100644 (file)
--- a/Filelist
+++ b/Filelist
@@ -659,6 +659,7 @@ RT_SCRIPTS =        \
                runtime/makemenu.vim \
                runtime/autoload/*.vim \
                runtime/autoload/README.txt \
+               runtime/autoload/dist/*.vim \
                runtime/autoload/xml/*.vim \
                runtime/colors/*.vim \
                runtime/colors/README.txt \
index 4e9bbfb45620642e5c4e08ba63b87e98824cb491..871ce673a99635b93a9bebf79a714d2a2af048e6 100644 (file)
@@ -268,6 +268,9 @@ Section "Vim executables and runtime files"
        SetOutPath $0\autoload
        File ${VIMRT}\autoload\*.*
 
+       SetOutPath $0\autoload\dist
+       File ${VIMRT}\autoload\dist\*.*
+
        SetOutPath $0\autoload\xml
        File ${VIMRT}\autoload\xml\*.*
 
similarity index 92%
rename from runtime/autoload/filetype.vim
rename to runtime/autoload/dist/ft.vim
index 66e64b29d8118b68aa350bb22d22cd0e6370a7f6..2603c6822f29532f8356adbcdcdf43acf21e799c 100644 (file)
@@ -1,7 +1,7 @@
 " Vim functions for file type detection
 "
 " Maintainer:  Bram Moolenaar <Bram@vim.org>
-" Last Change: 2017 Nov 09
+" Last Change: 2017 Nov 11
 
 " These functions are moved here from runtime/filetype.vim to make startup
 " faster.
@@ -10,7 +10,7 @@
 let s:cpo_save = &cpo
 set cpo&vim
 
-func filetype#Check_inp()
+func dist#ft#Check_inp()
   if getline(1) =~ '^\*'
     setf abaqus
   else
@@ -32,14 +32,14 @@ endfunc
 
 " This function checks for the kind of assembly that is wanted by the user, or
 " can be detected from the first five lines of the file.
-func filetype#FTasm()
+func dist#ft#FTasm()
   " make sure b:asmsyntax exists
   if !exists("b:asmsyntax")
     let b:asmsyntax = ""
   endif
 
   if b:asmsyntax == ""
-    call filetype#FTasmsyntax()
+    call dist#ft#FTasmsyntax()
   endif
 
   " if b:asmsyntax still isn't set, default to asmsyntax or GNU
@@ -54,7 +54,7 @@ func filetype#FTasm()
   exe "setf " . fnameescape(b:asmsyntax)
 endfunc
 
-func filetype#FTasmsyntax()
+func dist#ft#FTasmsyntax()
   " see if file contains any asmsyntax=foo overrides. If so, change
   " b:asmsyntax appropriately
   let head = " ".getline(1)." ".getline(2)." ".getline(3)." ".getline(4).
@@ -69,7 +69,7 @@ endfunc
 
 " Check if one of the first five lines contains "VB_Name".  In that case it is
 " probably a Visual Basic file.  Otherwise it's assumed to be "alt" filetype.
-func filetype#FTVB(alt)
+func dist#ft#FTVB(alt)
   if getline(1).getline(2).getline(3).getline(4).getline(5) =~? 'VB_Name\|Begin VB\.\(Form\|MDIForm\|UserControl\)'
     setf vb
   else
@@ -77,7 +77,7 @@ func filetype#FTVB(alt)
   endif
 endfunc
 
-func filetype#FTbtm()
+func dist#ft#FTbtm()
   if exists("g:dosbatch_syntax_for_btm") && g:dosbatch_syntax_for_btm
     setf dosbatch
   else
@@ -85,7 +85,7 @@ func filetype#FTbtm()
   endif
 endfunc
 
-func filetype#BindzoneCheck(default)
+func dist#ft#BindzoneCheck(default)
   if getline(1).getline(2).getline(3).getline(4) =~ '^; <<>> DiG [0-9.]\+.* <<>>\|$ORIGIN\|$TTL\|IN\s\+SOA'
     setf bindzone
   elseif a:default != ''
@@ -93,7 +93,7 @@ func filetype#BindzoneCheck(default)
   endif
 endfunc
 
-func filetype#FTlpc()
+func dist#ft#FTlpc()
   if exists("g:lpc_syntax_for_c")
     let lnum = 1
     while lnum <= 12
@@ -107,7 +107,7 @@ func filetype#FTlpc()
   setf c
 endfunc
 
-func filetype#FTheader()
+func dist#ft#FTheader()
   if match(getline(1, min([line("$"), 200])), '^@\(interface\|end\|class\)') > -1
     if exists("g:c_syntax_for_h")
       setf objc
@@ -128,7 +128,7 @@ endfunc
 " If the first line starts with # or ! it's probably a ch file.
 " If a line has "main", "include", "//" ir "/*" it's probably ch.
 " Otherwise CHILL is assumed.
-func filetype#FTchange()
+func dist#ft#FTchange()
   let lnum = 1
   while lnum <= 10
     if getline(lnum)[0] == '@'
@@ -152,7 +152,7 @@ func filetype#FTchange()
   setf chill
 endfunc
 
-func filetype#FTent()
+func dist#ft#FTent()
   " This function checks for valid cl syntax in the first five lines.
   " Look for either an opening comment, '#', or a block start, '{".
   " If not found, assume SGML.
@@ -172,7 +172,7 @@ func filetype#FTent()
   setf dtd
 endfunc
 
-func filetype#EuphoriaCheck()
+func dist#ft#EuphoriaCheck()
   if exists('g:filetype_euphoria')
     exe 'setf ' . g:filetype_euphoria
   else
@@ -180,7 +180,7 @@ func filetype#EuphoriaCheck()
   endif
 endfunc
 
-func filetype#DtraceCheck()
+func dist#ft#DtraceCheck()
   let lines = getline(1, min([line("$"), 100]))
   if match(lines, '^module\>\|^import\>') > -1
     " D files often start with a module and/or import statement.
@@ -192,7 +192,7 @@ func filetype#DtraceCheck()
   endif
 endfunc
 
-func filetype#FTe()
+func dist#ft#FTe()
   if exists('g:filetype_euphoria')
     exe 'setf ' . g:filetype_euphoria
   else
@@ -209,7 +209,7 @@ func filetype#FTe()
 endfunc
 
 " Distinguish between HTML, XHTML and Django
-func filetype#FThtml()
+func dist#ft#FThtml()
   let n = 1
   while n < 10 && n < line("$")
     if getline(n) =~ '\<DTD\s\+XHTML\s'
@@ -226,7 +226,7 @@ func filetype#FThtml()
 endfunc
 
 " Distinguish between standard IDL and MS-IDL
-func filetype#FTidl()
+func dist#ft#FTidl()
   let n = 1
   while n < 50 && n < line("$")
     if getline(n) =~ '^\s*import\s\+"\(unknwn\|objidl\)\.idl"'
@@ -239,7 +239,7 @@ func filetype#FTidl()
 endfunc
 
 " Distinguish between "default" and Cproto prototype file. */
-func filetype#ProtoCheck(default)
+func dist#ft#ProtoCheck(default)
   " Cproto files have a comment in the first line and a function prototype in
   " the second line, it always ends in ";".  Indent files may also have
   " comments, thus we can't match comments to see the difference.
@@ -252,7 +252,7 @@ func filetype#ProtoCheck(default)
   endif
 endfunc
 
-func filetype#FTm()
+func dist#ft#FTm()
   let n = 1
   let saw_comment = 0 " Whether we've seen a multiline comment leader.
   while n < 100
@@ -296,7 +296,7 @@ func filetype#FTm()
   endif
 endfunc
 
-func filetype#FTmms()
+func dist#ft#FTmms()
   let n = 1
   while n < 10
     let line = getline(n)
@@ -315,7 +315,7 @@ endfunc
 
 " This function checks if one of the first five lines start with a dot.  In
 " that case it is probably an nroff file: 'filetype' is set and 1 is returned.
-func filetype#FTnroff()
+func dist#ft#FTnroff()
   if getline(1)[0] . getline(2)[0] . getline(3)[0] . getline(4)[0] . getline(5)[0] =~ '\.'
     setf nroff
     return 1
@@ -323,7 +323,7 @@ func filetype#FTnroff()
   return 0
 endfunc
 
-func filetype#FTmm()
+func dist#ft#FTmm()
   let n = 1
   while n < 10
     let line = getline(n)
@@ -336,7 +336,7 @@ func filetype#FTmm()
   setf nroff
 endfunc
 
-func filetype#FTpl()
+func dist#ft#FTpl()
   if exists("g:filetype_pl")
     exe "setf " . g:filetype_pl
   else
@@ -351,7 +351,7 @@ func filetype#FTpl()
   endif
 endfunc
 
-func filetype#FTinc()
+func dist#ft#FTinc()
   if exists("g:filetype_inc")
     exe "setf " . g:filetype_inc
   else
@@ -363,7 +363,7 @@ func filetype#FTinc()
     elseif lines =~ "<?"
       setf php
     else
-      call filetype#FTasmsyntax()
+      call dist#ft#FTasmsyntax()
       if exists("b:asmsyntax")
        exe "setf " . fnameescape(b:asmsyntax)
       else
@@ -373,7 +373,7 @@ func filetype#FTinc()
   endif
 endfunc
 
-func filetype#FTprogress_cweb()
+func dist#ft#FTprogress_cweb()
   if exists("g:filetype_w")
     exe "setf " . g:filetype_w
     return
@@ -385,7 +385,7 @@ func filetype#FTprogress_cweb()
   endif
 endfunc
 
-func filetype#FTprogress_asm()
+func dist#ft#FTprogress_asm()
   if exists("g:filetype_i")
     exe "setf " . g:filetype_i
     return
@@ -396,7 +396,7 @@ func filetype#FTprogress_asm()
   while lnum <= 10 && lnum < line('$')
     let line = getline(lnum)
     if line =~ '^\s*;' || line =~ '^\*'
-      call filetype#FTasm()
+      call dist#ft#FTasm()
       return
     elseif line !~ '^\s*$' || line =~ '^/\*'
       " Not an empty line: Doesn't look like valid assembly code.
@@ -408,7 +408,7 @@ func filetype#FTprogress_asm()
   setf progress
 endfunc
 
-func filetype#FTprogress_pascal()
+func dist#ft#FTprogress_pascal()
   if exists("g:filetype_p")
     exe "setf " . g:filetype_p
     return
@@ -433,7 +433,7 @@ func filetype#FTprogress_pascal()
   setf progress
 endfunc
 
-func filetype#FTr()
+func dist#ft#FTr()
   let max = line("$") > 50 ? 50 : line("$")
 
   for n in range(1, max)
@@ -466,7 +466,7 @@ func filetype#FTr()
   endif
 endfunc
 
-func filetype#McSetf()
+func dist#ft#McSetf()
   " Rely on the file to start with a comment.
   " MS message text files use ';', Sendmail files use '#' or 'dnl'
   for lnum in range(1, min([line("$"), 20]))
@@ -483,21 +483,21 @@ func filetype#McSetf()
 endfunc
 
 " Called from filetype.vim and scripts.vim.
-func filetype#SetFileTypeSH(name)
+func dist#ft#SetFileTypeSH(name)
   if expand("<amatch>") =~ g:ft_ignore_pat
     return
   endif
   if a:name =~ '\<csh\>'
     " Some .sh scripts contain #!/bin/csh.
-    call filetype#SetFileTypeShell("csh")
+    call dist#ft#SetFileTypeShell("csh")
     return
   elseif a:name =~ '\<tcsh\>'
     " Some .sh scripts contain #!/bin/tcsh.
-    call filetype#SetFileTypeShell("tcsh")
+    call dist#ft#SetFileTypeShell("tcsh")
     return
   elseif a:name =~ '\<zsh\>'
     " Some .sh scripts contain #!/bin/zsh.
-    call filetype#SetFileTypeShell("zsh")
+    call dist#ft#SetFileTypeShell("zsh")
     return
   elseif a:name =~ '\<ksh\>'
     let b:is_kornshell = 1
@@ -524,13 +524,13 @@ func filetype#SetFileTypeSH(name)
       unlet b:is_bash
     endif
   endif
-  call filetype#SetFileTypeShell("sh")
+  call dist#ft#SetFileTypeShell("sh")
 endfunc
 
 " For shell-like file types, check for an "exec" command hidden in a comment,
 " as used for Tcl.
 " Also called from scripts.vim, thus can't be local to this script.
-func filetype#SetFileTypeShell(name)
+func dist#ft#SetFileTypeShell(name)
   if expand("<amatch>") =~ g:ft_ignore_pat
     return
   endif
@@ -550,18 +550,18 @@ func filetype#SetFileTypeShell(name)
   exe "setf " . a:name
 endfunc
 
-func filetype#CSH()
+func dist#ft#CSH()
   if exists("g:filetype_csh")
-    call filetype#SetFileTypeShell(g:filetype_csh)
+    call dist#ft#SetFileTypeShell(g:filetype_csh)
   elseif &shell =~ "tcsh"
-    call filetype#SetFileTypeShell("tcsh")
+    call dist#ft#SetFileTypeShell("tcsh")
   else
-    call filetype#SetFileTypeShell("csh")
+    call dist#ft#SetFileTypeShell("csh")
   endif
 endfunc
 
 let s:ft_rules_udev_rules_pattern = '^\s*\cudev_rules\s*=\s*"\([^"]\{-1,}\)/*".*'
-func filetype#FTRules()
+func dist#ft#FTRules()
   let path = expand('<amatch>:p')
   if path =~ '^/\(etc/udev/\%(rules\.d/\)\=.*\.rules\|lib/udev/\%(rules\.d/\)\=.*\.rules\)$'
     setf udevrules
@@ -594,7 +594,7 @@ func filetype#FTRules()
   setf hog
 endfunc
 
-func filetype#SQL()
+func dist#ft#SQL()
   if exists("g:filetype_sql")
     exe "setf " . g:filetype_sql
   else
@@ -608,7 +608,7 @@ endfunc
 " file.
 " (Slow test) If a file contains a 'use' statement then it is almost certainly
 " a Perl file.
-func filetype#FTperl()
+func dist#ft#FTperl()
   let dirname = expand("%:p:h:t")
   if expand("%:e") == 't' && (dirname == 't' || dirname == 'xt')
     setf perl
@@ -629,7 +629,7 @@ endfunc
 " 1. Check the first line of the file for "%&<format>".
 " 2. Check the first 1000 non-comment lines for LaTeX or ConTeXt keywords.
 " 3. Default to "latex" or to g:tex_flavor, can be set in user's vimrc.
-func filetype#FTtex()
+func dist#ft#FTtex()
   let firstline = getline(1)
   if firstline =~ '^%&\s*\a\+'
     let format = tolower(matchstr(firstline, '\a\+'))
@@ -681,7 +681,7 @@ func filetype#FTtex()
   return
 endfunc
 
-func filetype#FTxml()
+func dist#ft#FTxml()
   let n = 1
   while n < 100 && n < line("$")
     let line = getline(n)
@@ -707,7 +707,7 @@ func filetype#FTxml()
   setf xml
 endfunc
 
-func filetype#FTy()
+func dist#ft#FTy()
   let n = 1
   while n < 100 && n < line("$")
     let line = getline(n)
@@ -724,7 +724,7 @@ func filetype#FTy()
   setf yacc
 endfunc
 
-func filetype#Redif()
+func dist#ft#Redif()
   let lnum = 1
   while lnum <= 5 && lnum < line('$')
     if getline(lnum) =~ "^\ctemplate-type:"
index 55f99fc105f41d0f5a66704ec0b80df1e15967fd..d176cf12cf5a434d004a3e2eb2d4fc61bdd4957f 100644 (file)
@@ -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.lst,*/boot/grub/grub.conf,*/etc/grub.conf
 
 " 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*.conf,rndc*.key      setf named
 
 " 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 clean
 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/*.cfg  setf 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    setf dnsmasq
 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         setf dosini
 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 hex
 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 httest
 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               setf icemenu
 
 " 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,*.mkd,*.mkdn,*.mdwn,*.md  setf markdown
 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 pcmk
 
 " 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 privoxy
 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*             call s:StarSetf('catalog')
 
 " 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 mib
 
 " 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 squid
 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 terminfo
 
 " 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,*.pkg
        \ 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,.Xpdefaults,.Xresources,xdm-config,*.ad setf xd
 " 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 xslt
 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 zimbutempl
 " 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')
index 24799c4287c226c24ffdf2fa635658c3b56b4618..18263e2842c576c1a2dffef338ed6dc1204fe02e 100644 (file)
@@ -1,7 +1,7 @@
 " Vim support file to detect file types in scripts
 "
 " Maintainer:  Bram Moolenaar <Bram@vim.org>
-" Last change: 2017 Nov 09
+" Last change: 2017 Nov 11
 
 " This file is called by an autocommand for every file that has just been
 " loaded into a buffer.  It checks if the type of file can be recognized by
@@ -66,19 +66,19 @@ if s:line1 =~# "^#!"
 
   " Bourne-like shell scripts: bash bash2 ksh ksh93 sh
   if s:name =~# '^\(bash\d*\|\|ksh\d*\|sh\)\>'
-    call filetype#SetFileTypeSH(s:line1)       " defined in filetype.vim
+    call dist#ft#SetFileTypeSH(s:line1)        " defined in filetype.vim
 
     " csh scripts
   elseif s:name =~# '^csh\>'
     if exists("g:filetype_csh")
-      call filetype#SetFileTypeShell(g:filetype_csh)
+      call dist#ft#SetFileTypeShell(g:filetype_csh)
     else
-      call filetype#SetFileTypeShell("csh")
+      call dist#ft#SetFileTypeShell("csh")
     endif
 
     " tcsh scripts
   elseif s:name =~# '^tcsh\>'
-    call filetype#SetFileTypeShell("tcsh")
+    call dist#ft#SetFileTypeShell("tcsh")
 
     " Z shell scripts
   elseif s:name =~# '^zsh\>'
@@ -185,7 +185,7 @@ else
 
   " Bourne-like shell scripts: sh ksh bash bash2
   if s:line1 =~# '^:$'
-    call filetype#SetFileTypeSH(s:line1)       " defined in filetype.vim
+    call dist#ft#SetFileTypeSH(s:line1)        " defined in filetype.vim
 
     " Z shell scripts
   elseif s:line1 =~# '^#compdef\>' || s:line1 =~# '^#autoload\>' ||
index eda355aa65888f83f583ae2318212812b20ca6af..1cdacf90fbc8f41211f99414bf9205733f36e91e 100644 (file)
@@ -2381,8 +2381,8 @@ installruntime: installrtbase installmacros installpack installtutor installspel
 # install the help files; first adjust the contents for the final location
 installrtbase: $(HELPSOURCE)/vim.1 $(DEST_VIM) $(DEST_RT) \
                $(DEST_HELP) $(DEST_PRINT) $(DEST_COL) $(DEST_SYN) $(DEST_IND) \
-               $(DEST_FTP) $(DEST_AUTO) $(DEST_AUTO)/xml $(DEST_PLUG) \
-               $(DEST_TUTOR) $(DEST_SPELL) $(DEST_COMP)
+               $(DEST_FTP) $(DEST_AUTO) $(DEST_AUTO)/dist $(DEST_AUTO)/xml \
+               $(DEST_PLUG) $(DEST_TUTOR) $(DEST_SPELL) $(DEST_COMP)
        -$(SHELL) ./installman.sh install $(DEST_MAN) "" $(INSTALLMANARGS)
 # Generate the help tags with ":helptags" to handle all languages.
 # Move the distributed tags file aside and restore it, to avoid it being
@@ -2458,6 +2458,8 @@ installrtbase: $(HELPSOURCE)/vim.1 $(DEST_VIM) $(DEST_RT) \
 # install the standard autoload files
        cd $(AUTOSOURCE); $(INSTALL_DATA) *.vim README.txt $(DEST_AUTO)
        cd $(DEST_AUTO); chmod $(HELPMOD) *.vim README.txt
+       cd $(AUTOSOURCE)/dist; $(INSTALL_DATA) *.vim $(DEST_AUTO)/dist
+       cd $(DEST_AUTO)/dist; chmod $(HELPMOD) *.vim
        cd $(AUTOSOURCE)/xml; $(INSTALL_DATA) *.vim $(DEST_AUTO)/xml
        cd $(DEST_AUTO)/xml; chmod $(HELPMOD) *.vim
 # install the standard plugin files
@@ -2653,7 +2655,7 @@ $(DESTDIR)$(exec_prefix) $(DEST_BIN) \
                $(DEST_PRINT) $(DEST_COL) $(DEST_SYN) $(DEST_IND) $(DEST_FTP) \
                $(DEST_LANG) $(DEST_KMAP) $(DEST_COMP) $(DEST_MACRO) \
                $(DEST_PACK) $(DEST_TOOLS) $(DEST_TUTOR) $(DEST_SPELL) \
-               $(DEST_AUTO) $(DEST_AUTO)/xml $(DEST_PLUG):
+               $(DEST_AUTO) $(DEST_AUTO)/dist $(DEST_AUTO)/xml $(DEST_PLUG):
        $(MKDIR_P) $@
        -chmod $(DIRMOD) $@
 
@@ -2808,9 +2810,11 @@ uninstall_runtime:
        -rm -f $(DEST_PRINT)/*.ps
        -rmdir $(DEST_HELP) $(DEST_PRINT) $(DEST_COL) $(DEST_SYN) $(DEST_IND)
        -rm -rf $(DEST_FTP)/*.vim $(DEST_FTP)/README.txt $(DEST_FTP)/logtalk.dict
-       -rm -f $(DEST_AUTO)/*.vim $(DEST_AUTO)/README.txt $(DEST_AUTO)/xml/*.vim
+       -rm -f $(DEST_AUTO)/*.vim $(DEST_AUTO)/README.txt
+       -rm -f $(DEST_AUTO)/dist/*.vim $(DEST_AUTO)/xml/*.vim
        -rm -f $(DEST_PLUG)/*.vim $(DEST_PLUG)/README.txt
-       -rmdir $(DEST_FTP) $(DEST_AUTO)/xml $(DEST_AUTO) $(DEST_PLUG) $(DEST_RT)
+       -rmdir $(DEST_FTP) $(DEST_AUTO)/dist $(DEST_AUTO)/xml $(DEST_AUTO)
+       -rmdir $(DEST_PLUG) $(DEST_RT)
 #      This will fail when other Vim versions are installed, no worries.
        -rmdir $(DEST_VIM)
 
index 65cc66f31f67ed5861831b272fcc0f0203f16675..8dd72301c76c696003760e326c6021cd64141e43 100644 (file)
@@ -761,6 +761,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1285,
 /**/
     1284,
 /**/