summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2007-05-10 18:44:18 +0000
committerBram Moolenaar <Bram@vim.org>2007-05-10 18:44:18 +0000
commit34e0bfaa809dbe9082b851cebc59a56a2b020577 (patch)
tree184b29869283ead782c761f7dcb649b56fc03c73
parentb15c8332229dd223d1a02591df0d2ff8e60c866d (diff)
updated for version 7.1b
-rw-r--r--runtime/doc/spell.txt7
-rw-r--r--runtime/doc/usr_01.txt2
-rw-r--r--runtime/doc/usr_27.txt2
-rw-r--r--runtime/filetype.vim200
-rw-r--r--src/edit.c6
5 files changed, 142 insertions, 75 deletions
diff --git a/runtime/doc/spell.txt b/runtime/doc/spell.txt
index b6f0c1ff57..195f35588a 100644
--- a/runtime/doc/spell.txt
+++ b/runtime/doc/spell.txt
@@ -1,4 +1,4 @@
-*spell.txt* For Vim version 7.1a. Last change: 2007 Apr 22
+*spell.txt* For Vim version 7.1b. Last change: 2007 May 07
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -624,7 +624,7 @@ ask you where to write the file.
The plugin has a default place where to look for spell files, on the Vim ftp
server. If you want to use another location or another protocol, set the
g:spellfile_URL variable to the directory that holds the spell files. The
-|netrw| plugin is used for getting the file, look there for the speficic
+|netrw| plugin is used for getting the file, look there for the specific
syntax of the URL. Example: >
let g:spellfile_URL = 'http://ftp.vim.org/vim/runtime/spell'
You may need to escape special characters.
@@ -654,6 +654,9 @@ The default "spellfile.vim" plugin uses this autocommand, if you define your
autocommand afterwards you may want to use ":au! SpellFileMissing" to overrule
it. If you define your autocommand before the plugin is loaded it will notice
this and not do anything.
+ *E797*
+Note that the SpellFileMissing autocommand must not change or destroy the
+buffer the user was editing.
==============================================================================
4. Spell file format *spell-file-format*
diff --git a/runtime/doc/usr_01.txt b/runtime/doc/usr_01.txt
index 971490333c..fe76a58452 100644
--- a/runtime/doc/usr_01.txt
+++ b/runtime/doc/usr_01.txt
@@ -1,4 +1,4 @@
-*usr_01.txt* For Vim version 7.1a. Last change: 2006 Oct 08
+*usr_01.txt* For Vim version 7.1b. Last change: 2006 Oct 08
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_27.txt b/runtime/doc/usr_27.txt
index 9d904a59a0..a6b23f5d38 100644
--- a/runtime/doc/usr_27.txt
+++ b/runtime/doc/usr_27.txt
@@ -1,4 +1,4 @@
-*usr_27.txt* For Vim version 7.1a. Last change: 2006 Apr 24
+*usr_27.txt* For Vim version 7.1b. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/filetype.vim b/runtime/filetype.vim
index cd4be755fd..d1163082f9 100644
--- 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: 2007 Apr 26
+" Last Change: 2007 May 10
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
@@ -39,16 +39,16 @@ endif
" Function used for patterns that end in a star: don't set the filetype if the
" file name matches ft_ignore_pat.
-fun! s:StarSetf(ft)
+func! s:StarSetf(ft)
if expand("<amatch>") !~ g:ft_ignore_pat
exe 'setf ' . a:ft
endif
-endfun
+endfunc
" Abaqus or Trasys
au BufNewFile,BufRead *.inp call s:Check_inp()
-fun! s:Check_inp()
+func! s:Check_inp()
if getline(1) =~ '^\*'
setf abaqus
else
@@ -66,7 +66,7 @@ fun! s:Check_inp()
let n = n + 1
endwhile
endif
-endfun
+endfunc
" A-A-P recipe
au BufNewFile,BufRead *.aap setf aap
@@ -159,7 +159,7 @@ au BufNewFile,BufRead *.asm,*.[sS],*.[aA],*.mac,*.lst call s:FTasm()
" 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.
-fun! s:FTasm()
+func! s:FTasm()
" make sure b:asmsyntax exists
if !exists("b:asmsyntax")
let b:asmsyntax = ""
@@ -179,9 +179,9 @@ fun! s:FTasm()
endif
exe "setf " . b:asmsyntax
-endfun
+endfunc
-fun! s:FTasmsyntax()
+func! s: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).
@@ -191,7 +191,7 @@ fun! s:FTasmsyntax()
elseif ((head =~? '\.title') || (head =~? '\.ident') || (head =~? '\.macro') || (head =~? '\.subtitle') || (head =~? '\.library'))
let b:asmsyntax = "vmasm"
endif
-endfun
+endfunc
" Macro (VAX)
au BufNewFile,BufRead *.mar setf vmasm
@@ -202,6 +202,9 @@ au BufNewFile,BufRead *.atl,*.as setf atlas
" Autoit v3
au BufNewFile,BufRead *.au3 setf autoit
+" Autohotkey
+au BufNewFile,BufRead *.ahk setf autohotkey
+
" Automake
au BufNewFile,BufRead [mM]akefile.am,GNUmakefile.am setf automake
@@ -222,13 +225,13 @@ au BufNewFile,BufRead *.bas call s:FTVB("basic")
" 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.
-fun! s:FTVB(alt)
+func! s:FTVB(alt)
if getline(1).getline(2).getline(3).getline(4).getline(5) =~? 'VB_Name\|Begin VB\.\(Form\|MDIForm\|UserControl\)'
setf vb
else
exe "setf " . a:alt
endif
-endfun
+endfunc
" Visual Basic Script (close to Visual Basic)
au BufNewFile,BufRead *.vbs,*.dsm,*.ctl setf vb
@@ -247,13 +250,13 @@ au BufNewFile,BufRead *.cmd
" Batch file for 4DOS
au BufNewFile,BufRead *.btm call s:FTbtm()
-fun! s:FTbtm()
+func! s:FTbtm()
if exists("g:dosbatch_syntax_for_btm") && g:dosbatch_syntax_for_btm
setf dosbatch
else
setf btm
endif
-endfun
+endfunc
" BC calculator
au BufNewFile,BufRead *.bc setf bc
@@ -288,7 +291,7 @@ au BufNewFile,BufRead *.bl setf blank
" C or lpc
au BufNewFile,BufRead *.c call s:FTlpc()
-fun! s:FTlpc()
+func! s:FTlpc()
if exists("g:lpc_syntax_for_c")
let lnum = 1
while lnum <= 12
@@ -300,7 +303,7 @@ fun! s:FTlpc()
endwhile
endif
setf c
-endfun
+endfunc
" Calendar
au BufNewFile,BufRead calendar setf calendar
@@ -311,6 +314,9 @@ au BufNewFile,BufRead */.calendar/*,
" C#
au BufNewFile,BufRead *.cs setf cs
+" Cdrdao TOC
+au BufNewFile,BufRead *.toc setf cdrtoc
+
" Cfengine
au BufNewFile,BufRead cfengine.conf setf cfengine
@@ -386,7 +392,7 @@ au BufNewFile,BufRead *.ch call s:FTchange()
" 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.
-fun! s:FTchange()
+func! s:FTchange()
let lnum = 1
while lnum <= 10
if getline(lnum)[0] == '@'
@@ -408,7 +414,7 @@ fun! s:FTchange()
let lnum = lnum + 1
endwhile
setf chill
-endfun
+endfunc
" ChordPro
au BufNewFile,BufRead *.chopro,*.crd,*.cho,*.crdpro,*.chordpro setf chordpro
@@ -422,7 +428,7 @@ au BufNewFile,BufRead *.eni setf cl
" Clever or dtd
au BufNewFile,BufRead *.ent call s:FTent()
-fun! s:FTent()
+func! s: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.
@@ -440,7 +446,7 @@ fun! s:FTent()
let lnum = lnum + 1
endw
setf dtd
-endfun
+endfunc
" Clipper (or FoxPro; could also be eviews)
au BufNewFile,BufRead *.prg
@@ -576,7 +582,7 @@ au BufNewFile,BufRead *.e,*.E call s:FTe()
" Elinks configuration
au BufNewFile,BufRead */etc/elinks.conf,*/.elinks/elinks.conf setf elinks
-fun! s:FTe()
+func! s:FTe()
let n = 1
while n < 100 && n < line("$")
if getline(n) =~ "^\\s*\\(<'\\|'>\\)\\s*$"
@@ -586,7 +592,7 @@ fun! s:FTe()
let n = n + 1
endwhile
setf eiffel
-endfun
+endfunc
" ERicsson LANGuage
au BufNewFile,BufRead *.erl setf erlang
@@ -705,7 +711,7 @@ au BufNewFile,BufRead *.t.html setf tilde
au BufNewFile,BufRead *.html,*.htm,*.shtml,*.stm call s:FThtml()
" Distinguish between HTML, XHTML and Django
-fun! s:FThtml()
+func! s:FThtml()
let n = 1
while n < 10 && n < line("$")
if getline(n) =~ '\<DTD\s\+XHTML\s'
@@ -719,10 +725,10 @@ fun! s:FThtml()
let n = n + 1
endwhile
setf html
-endfun
+endfunc
" HTML with Ruby - eRuby
-au BufNewFile,BufRead *.rhtml setf eruby
+au BufNewFile,BufRead *.erb,*.rhtml setf eruby
" HTML with M4
au BufNewFile,BufRead *.html.m4 setf htmlm4
@@ -740,7 +746,7 @@ au BufNewFile,BufRead *.icn setf icon
au BufNewFile,BufRead *.idl call s:FTidl()
" Distinguish between standard IDL and MS-IDL
-fun! s:FTidl()
+func! s:FTidl()
let n = 1
while n < 50 && n < line("$")
if getline(n) =~ '^\s*import\s\+"\(unknwn\|objidl\)\.idl"'
@@ -750,7 +756,7 @@ fun! s:FTidl()
let n = n + 1
endwhile
setf idl
-endfun
+endfunc
" Microsoft IDL (Interface Description Language) Also *.idl
" MOF = WMI (Windows Management Instrumentation) Managed Object Format
@@ -759,16 +765,30 @@ au BufNewFile,BufRead *.odl,*.mof setf msidl
" Icewm menu
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 s:ProtoCheck('indent')
+
" IDL (Interactive Data Language)
-au BufNewFile,BufRead *.pro setf idlang
+au BufNewFile,BufRead *.pro call s:ProtoCheck('idlang')
+
+" Distinguish between "default" and Cproto prototype file. */
+func! s: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.
+ if getline(2) =~ ';$'
+ setf cpp
+ else
+ exe 'setf ' . a:default
+ endif
+endfunc
+
" Indent RC
au BufNewFile,BufRead indentrc setf indentrc
" Inform
-au BufNewFile,BufRead .indent.pro setf indent
-
-" Inform
au BufNewFile,BufRead *.inf,*.INF setf inform
" Initng
@@ -878,6 +898,9 @@ au BufNewFile,BufRead sbclrc,.sbclrc setf lisp
" Lite
au BufNewFile,BufRead *.lite,*.lt setf lite
+" LiteStep RC files
+au BufNewFile,BufRead */LiteStep/*/*.rc setf litestep
+
" Login access
au BufNewFile,BufRead /etc/login.access setf loginaccess
@@ -907,7 +930,7 @@ au BufNewFile,BufRead *.m4
au BufNewFile,BufRead *.mgp setf mgp
" Mail (for Elm, trn, mutt, muttng, rn, slrn)
-au BufNewFile,BufRead snd.\d\+,.letter,.letter.\d\+,.followup,.article,.article.\d\+,pico.\d\+,mutt{ng,}-*-\w\+,mutt\w\{6\},ae\d\+.txt,/tmp/SLRN[0-9A-Z.]\+,*.eml setf mail
+au BufNewFile,BufRead snd.\d\+,.letter,.letter.\d\+,.followup,.article,.article.\d\+,pico.\d\+,mutt{ng,}-*-\w\+,mutt[[:alnum:]._-]\{6\},ae\d\+.txt,/tmp/SLRN[0-9A-Z.]\+,*.eml setf mail
" Mail aliases
au BufNewFile,BufRead /etc/mail/aliases,/etc/aliases setf mailaliases
@@ -936,7 +959,7 @@ au BufNewFile,BufRead *.mason,*.mhtml setf mason
" Matlab or Objective C
au BufNewFile,BufRead *.m call s:FTm()
-fun! s:FTm()
+func! s:FTm()
let n = 1
while n < 10
let line = getline(n)
@@ -959,7 +982,7 @@ fun! s:FTm()
else
setf matlab
endif
-endfun
+endfunc
" Maya Extension Language
au BufNewFile,BufRead *.mel setf mel
@@ -979,7 +1002,7 @@ au BufNewFile,BufRead *.mgl setf mgl
" MMIX or VMS makefile
au BufNewFile,BufRead *.mms call s:FTmms()
-fun! s:FTmms()
+func! s:FTmms()
let n = 1
while n < 10
let line = getline(n)
@@ -994,7 +1017,7 @@ fun! s:FTmms()
let n = n + 1
endwhile
setf mmix
-endfun
+endfunc
" Modsim III (or LambdaProlog)
@@ -1077,18 +1100,18 @@ au BufNewFile,BufRead *.[1-9] call s:FTnroff()
" 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.
-fun! s:FTnroff()
+func! s:FTnroff()
if getline(1)[0] . getline(2)[0] . getline(3)[0] . getline(4)[0] . getline(5)[0] =~ '\.'
setf nroff
return 1
endif
return 0
-endfun
+endfunc
" Nroff or Objective C++
au BufNewFile,BufRead *.mm call s:FTmm()
-fun! s:FTmm()
+func! s:FTmm()
let n = 1
while n < 10
let line = getline(n)
@@ -1099,7 +1122,7 @@ fun! s:FTmm()
let n = n + 1
endwhile
setf nroff
-endfun
+endfunc
" Not Quite C
au BufNewFile,BufRead *.nqc setf nqc
@@ -1151,7 +1174,7 @@ else
endif
au BufNewFile,BufRead *.plx setf perl
-fun! s:FTpl()
+func! s:FTpl()
if exists("g:filetype_pl")
exe "setf " . g:filetype_pl
else
@@ -1164,7 +1187,7 @@ fun! s:FTpl()
setf perl
endif
endif
-endfun
+endfunc
" Perl, XPM or XPM2
au BufNewFile,BufRead *.pm
@@ -1227,7 +1250,7 @@ au BufNewFile,BufRead .povrayrc setf povini
" Povray, PHP or assembly
au BufNewFile,BufRead *.inc call s:FTinc()
-fun! s:FTinc()
+func! s:FTinc()
if exists("g:filetype_inc")
exe "setf " . g:filetype_inc
else
@@ -1247,7 +1270,7 @@ fun! s:FTinc()
endif
endif
endif
-endfun
+endfunc
" Printcap and Termcap
au BufNewFile,BufRead *printcap
@@ -1274,7 +1297,7 @@ au BufNewFile,BufRead .procmail,.procmailrc setf procmail
" Progress or CWEB
au BufNewFile,BufRead *.w call s:FTprogress_cweb()
-function! s:FTprogress_cweb()
+func! s:FTprogress_cweb()
if exists("g:filetype_w")
exe "setf " . g:filetype_w
return
@@ -1284,12 +1307,12 @@ function! s:FTprogress_cweb()
else
setf cweb
endif
-endfun
+endfunc
" Progress or assembly
au BufNewFile,BufRead *.i call s:FTprogress_asm()
-function! s:FTprogress_asm()
+func! s:FTprogress_asm()
if exists("g:filetype_i")
exe "setf " . g:filetype_i
return
@@ -1310,12 +1333,12 @@ function! s:FTprogress_asm()
let lnum = lnum + 1
endw
setf progress
-endfun
+endfunc
" Progress or Pascal
au BufNewFile,BufRead *.p call s:FTprogress_pascal()
-function! s:FTprogress_pascal()
+func! s:FTprogress_pascal()
if exists("g:filetype_p")
exe "setf " . g:filetype_p
return
@@ -1338,7 +1361,7 @@ function! s:FTprogress_pascal()
let lnum = lnum + 1
endw
setf progress
-endfun
+endfunc
" Software Distributor Product Specification File (POSIX 1387.2-1995)
@@ -1406,7 +1429,7 @@ endif
" Rexx, Rebol or R
au BufNewFile,BufRead *.r,*.R call s:FTr()
-fun! s:FTr()
+func! s:FTr()
let max = line("$") > 50 ? 50 : line("$")
for n in range(1, max)
@@ -1432,7 +1455,7 @@ fun! s:FTr()
" Nothing recognized, assume Rexx
setf rexx
-endfun
+endfunc
" Remind
au BufNewFile,BufRead .reminders* call s:StarSetf('remind')
@@ -1461,8 +1484,11 @@ au BufNewFile,BufRead *.rtf setf rtf
" Ruby
au BufNewFile,BufRead *.rb,*.rbw,*.gem,*.gemspec setf ruby
-" Rantfile is like Ruby
-au BufNewFile,BufRead [rR]antfile,*.rant setf ruby
+" Ruby on Rails
+au BufNewFile,BufRead *.builder,*.rxml,*.rjs setf ruby
+
+" Rantfile and Rakefile is like Ruby
+au BufNewFile,BufRead [rR]antfile,*.rant,[rR]akefile,*.rake setf ruby
" S-lang (or shader language!)
au BufNewFile,BufRead *.sl setf slang
@@ -1540,7 +1566,7 @@ au BufNewFile,BufRead .kshrc*,*.ksh call SetFileTypeSH("ksh")
au BufNewFile,BufRead /etc/profile,.profile*,*.sh,*.env call SetFileTypeSH(getline(1))
" Also called from scripts.vim.
-fun! SetFileTypeSH(name)
+func! SetFileTypeSH(name)
if expand("<amatch>") =~ g:ft_ignore_pat
return
endif
@@ -1570,12 +1596,12 @@ fun! SetFileTypeSH(name)
endif
endif
call SetFileTypeShell("sh")
-endfun
+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.
-fun! SetFileTypeShell(name)
+func! SetFileTypeShell(name)
if expand("<amatch>") =~ g:ft_ignore_pat
return
endif
@@ -1593,7 +1619,7 @@ fun! SetFileTypeShell(name)
endif
endif
exe "setf " . a:name
-endfun
+endfunc
" tcsh scripts
au BufNewFile,BufRead .tcshrc*,*.tcsh,tcsh.tcshrc,tcsh.login call SetFileTypeShell("tcsh")
@@ -1601,7 +1627,7 @@ au BufNewFile,BufRead .tcshrc*,*.tcsh,tcsh.tcshrc,tcsh.login call SetFileTypeShe
" 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 s:CSH()
-fun! s:CSH()
+func! s:CSH()
if exists("g:filetype_csh")
call SetFileTypeShell(g:filetype_csh)
elseif &shell =~ "tcsh"
@@ -1609,7 +1635,7 @@ fun! s:CSH()
else
call SetFileTypeShell("csh")
endif
-endfun
+endfunc
" Z-Shell script
au BufNewFile,BufRead .zprofile,/etc/zprofile,.zfbfmarks setf zsh
@@ -1676,7 +1702,30 @@ au BufNewFile,BufRead *.sno,*.spt setf snobol4
au BufNewFile,BufRead *.mib,*.my setf mib
" Snort Configuration
-au BufNewFile,BufRead *.hog,snort.conf,vision.conf,*.rules setf hog
+au BufNewFile,BufRead *.hog,snort.conf,vision.conf setf hog
+au BufNewFile,BufRead *.rules call s:FTRules()
+
+let s:ft_rules_udev_rules_pattern = '^\s*\cudev_rules\s*=\s*"\([^"]\{-1,}\)/*".*'
+func! s:FTRules()
+ try
+ let config_lines = readfile('/etc/udev/udev.conf')
+ catch /^Vim\%((\a\+)\)\=:E484/
+ setf hog
+ return
+ endtry
+ for line in config_lines
+ if line =~ s:ft_rules_udev_rules_pattern
+ let udev_rules = substitute(line, s:ft_rules_udev_rules_pattern, '\1', "")
+ let amatch_dirname = substitute(expand('<amatch>'), '^\(.*\)/[^/]\+$', '\1', "")
+ if amatch_dirname == udev_rules
+ setf udevrules
+ endif
+ break
+ endif
+ endfor
+ setf hog
+endfunc
+
" Spec (Linux RPM)
au BufNewFile,BufRead *.spec setf spec
@@ -1702,13 +1751,13 @@ au BufNewFile,BufRead *.tyb,*.typ,*.tyc,*.pkb,*.pks setf sql
" SQL
au BufNewFile,BufRead *.sql call s:SQL()
-fun! s:SQL()
+func! s:SQL()
if exists("g:filetype_sql")
exe "setf " . g:filetype_sql
else
setf sql
endif
-endfun
+endfunc
" SQLJ
au BufNewFile,BufRead *.sqlj setf sqlj
@@ -1746,7 +1795,7 @@ au BufNewFile,BufRead /etc/sudoers,sudoers.tmp setf sudoers
" file.
" (Slow test) If a file contains a 'use' statement then it is almost certainly
" a Perl file.
-fun! s:FTperl()
+func! s:FTperl()
if expand("%:e") == 't' && expand("%:p:h:t") == 't'
setf perl
return 1
@@ -1760,7 +1809,7 @@ fun! s:FTperl()
return 1
endif
return 0
-endfun
+endfunc
" Tads (or Nroff or Perl test file)
au BufNewFile,BufRead *.t
@@ -1792,7 +1841,7 @@ au BufNewFile,BufRead *.tex call s:FTtex()
" 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.
-fun! s:FTtex()
+func! s:FTtex()
let firstline = getline(1)
if firstline =~ '^%&\s*\a\+'
let format = tolower(matchstr(firstline, '\a\+'))
@@ -1838,7 +1887,7 @@ fun! s:FTtex()
setf tex
endif
return
-endfun
+endfunc
" Context
au BufNewFile,BufRead tex/context/*/*.tex setf context
@@ -2036,7 +2085,7 @@ au BufNewFile,BufRead *.yy setf yacc
" Yacc or racc
au BufNewFile,BufRead *.y call s:FTy()
-fun! s:FTy()
+func! s:FTy()
let n = 1
while n < 100 && n < line("$")
let line = getline(n)
@@ -2051,7 +2100,7 @@ fun! s:FTy()
let n = n + 1
endwhile
setf yacc
-endfun
+endfunc
" Yaml
@@ -2224,6 +2273,21 @@ if has("menu") && has("gui_running")
source <sfile>:p:h/menu.vim
endif
+" Function called for testing all functions defined here. These are
+" script-local, thus need to be executed here.
+" Returns a string with error messages (hopefully empty).
+func! TestFiletypeFuncs(testlist)
+ let output = ''
+ for f in a:testlist
+ try
+ exe f
+ catch
+ let output = output . "\n" . f . ": " . v:exception
+ endtry
+ endfor
+ return output
+endfunc
+
" Restore 'cpoptions'
let &cpo = s:cpo_save
unlet s:cpo_save
diff --git a/src/edit.c b/src/edit.c
index 7eafb85438..fccb13f954 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -2055,7 +2055,7 @@ vim_is_ctrl_x_key(c)
/*
* This is like ins_compl_add(), but if 'ic' and 'inf' are set, then the
* case of the originally typed text is used, and the case of the completed
- * text is infered, ie this tries to work out what case you probably wanted
+ * text is inferred, ie this tries to work out what case you probably wanted
* the rest of the word to be in -- webb
* TODO: make this work for multi-byte characters.
*/
@@ -4309,7 +4309,7 @@ ins_compl_next(allow_get_expansion, count, insert_match)
}
/* Enter will select a match when the match wasn't inserted and the popup
- * menu is visislbe. */
+ * menu is visible. */
compl_enter_selects = !insert_match && compl_match_array != NULL;
/*
@@ -7600,7 +7600,7 @@ ins_ctrl_g()
ins_need_undo = TRUE;
/* Need to reset Insstart, esp. because a BS that joins
- * aline to the previous one must save for undo. */
+ * a line to the previous one must save for undo. */
Insstart = curwin->w_cursor;
break;