summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Filelist1
-rw-r--r--runtime/compiler/bdf.vim8
-rw-r--r--runtime/compiler/gcc.vim6
-rw-r--r--runtime/compiler/rst.vim6
-rw-r--r--runtime/doc/options.txt6
-rw-r--r--runtime/doc/spell.txt19
-rw-r--r--runtime/doc/todo.txt2
-rw-r--r--runtime/filetype.vim65
-rw-r--r--runtime/ftplugin/a2ps.vim14
-rw-r--r--runtime/ftplugin/alsaconf.vim6
-rw-r--r--runtime/ftplugin/arch.vim6
-rw-r--r--runtime/ftplugin/bdf.vim5
-rw-r--r--runtime/ftplugin/calendar.vim5
-rw-r--r--runtime/ftplugin/conf.vim6
-rw-r--r--runtime/ftplugin/context.vim6
-rw-r--r--runtime/ftplugin/crm.vim6
-rw-r--r--runtime/ftplugin/css.vim5
-rw-r--r--runtime/ftplugin/cvsrc.vim6
-rw-r--r--runtime/ftplugin/dictconf.vim13
-rw-r--r--runtime/ftplugin/dictdconf.vim13
-rw-r--r--runtime/ftplugin/dircolors.vim6
-rw-r--r--runtime/ftplugin/elinks.vim6
-rw-r--r--runtime/ftplugin/eterm.vim5
-rw-r--r--runtime/ftplugin/fetchmail.vim6
-rw-r--r--runtime/ftplugin/gpg.vim6
-rw-r--r--runtime/ftplugin/group.vim13
-rw-r--r--runtime/ftplugin/grub.vim6
-rw-r--r--runtime/ftplugin/haskell.vim5
-rw-r--r--runtime/ftplugin/indent.vim7
-rw-r--r--runtime/ftplugin/ld.vim5
-rw-r--r--runtime/ftplugin/lftp.vim6
-rw-r--r--runtime/ftplugin/libao.vim6
-rw-r--r--runtime/ftplugin/limits.vim6
-rw-r--r--runtime/ftplugin/loginaccess.vim6
-rw-r--r--runtime/ftplugin/logindefs.vim6
-rw-r--r--runtime/ftplugin/m4.vim5
-rw-r--r--runtime/ftplugin/mailcap.vim6
-rw-r--r--runtime/ftplugin/manconf.vim13
-rw-r--r--runtime/ftplugin/mf.vim18
-rw-r--r--runtime/ftplugin/modconf.vim5
-rw-r--r--runtime/ftplugin/mp.vim27
-rw-r--r--runtime/ftplugin/mplayerconf.vim5
-rw-r--r--runtime/ftplugin/muttrc.vim5
-rw-r--r--runtime/ftplugin/nanorc.vim13
-rw-r--r--runtime/ftplugin/netrc.vim6
-rw-r--r--runtime/ftplugin/pamconf.vim6
-rw-r--r--runtime/ftplugin/passwd.vim13
-rw-r--r--runtime/ftplugin/pinfo.vim6
-rw-r--r--runtime/ftplugin/procmail.vim6
-rw-r--r--runtime/ftplugin/prolog.vim5
-rw-r--r--runtime/ftplugin/protocols.vim13
-rw-r--r--runtime/ftplugin/quake.vim6
-rw-r--r--runtime/ftplugin/racc.vim5
-rw-r--r--runtime/ftplugin/readline.vim6
-rw-r--r--runtime/ftplugin/rnc.vim6
-rw-r--r--runtime/ftplugin/rst.vim5
-rw-r--r--runtime/ftplugin/screen.vim6
-rw-r--r--runtime/ftplugin/sensors.vim13
-rw-r--r--runtime/ftplugin/services.vim13
-rw-r--r--runtime/ftplugin/setserial.vim13
-rw-r--r--runtime/ftplugin/sieve.vim5
-rw-r--r--runtime/ftplugin/slpconf.vim14
-rw-r--r--runtime/ftplugin/slpreg.vim14
-rw-r--r--runtime/ftplugin/slpspi.vim14
-rw-r--r--runtime/ftplugin/sshconfig.vim6
-rw-r--r--runtime/ftplugin/sudoers.vim6
-rw-r--r--runtime/ftplugin/sysctl.vim5
-rw-r--r--runtime/ftplugin/terminfo.vim6
-rw-r--r--runtime/ftplugin/udevconf.vim13
-rw-r--r--runtime/ftplugin/udevperm.vim13
-rw-r--r--runtime/ftplugin/udevrules.vim13
-rw-r--r--runtime/ftplugin/updatedb.vim6
-rw-r--r--runtime/ftplugin/xdefaults.vim5
-rw-r--r--runtime/ftplugin/xf86conf.vim6
-rw-r--r--runtime/ftplugin/xinetd.vim5
-rw-r--r--runtime/ftplugin/xmodmap.vim6
-rw-r--r--runtime/ftplugin/yaml.vim5
-rw-r--r--runtime/ftplugin/zsh.vim6
-rw-r--r--runtime/indent/config.vim3
-rw-r--r--runtime/indent/css.vim73
-rw-r--r--runtime/indent/dictconf.vim12
-rw-r--r--runtime/indent/dictdconf.vim12
-rw-r--r--runtime/indent/ld.vim42
-rw-r--r--runtime/indent/tcl.vim28
-rw-r--r--runtime/spell/fr/fr_FR.diff11
-rw-r--r--runtime/syntax/a2ps.vim71
-rw-r--r--runtime/syntax/alsaconf.vim10
-rw-r--r--runtime/syntax/arch.vim20
-rw-r--r--runtime/syntax/calendar.vim5
-rw-r--r--runtime/syntax/context.vim10
-rw-r--r--runtime/syntax/crm.vim7
-rw-r--r--runtime/syntax/cvsrc.vim6
-rw-r--r--runtime/syntax/dictconf.vim80
-rw-r--r--runtime/syntax/dictdconf.vim146
-rw-r--r--runtime/syntax/elinks.vim10
-rw-r--r--runtime/syntax/eterm.vim9
-rw-r--r--runtime/syntax/group.vim52
-rw-r--r--runtime/syntax/indent.vim8
-rw-r--r--runtime/syntax/lftp.vim6
-rw-r--r--runtime/syntax/libao.vim4
-rw-r--r--runtime/syntax/manconf.vim117
-rw-r--r--runtime/syntax/mplayerconf.vim5
-rw-r--r--runtime/syntax/nanorc.vim243
-rw-r--r--runtime/syntax/passwd.vim71
-rw-r--r--runtime/syntax/pinfo.vim5
-rw-r--r--runtime/syntax/protocols.vim44
-rw-r--r--runtime/syntax/racc.vim14
-rw-r--r--runtime/syntax/readline.vim5
-rw-r--r--runtime/syntax/rnc.vim12
-rw-r--r--runtime/syntax/rst.vim5
-rw-r--r--runtime/syntax/screen.vim12
-rw-r--r--runtime/syntax/sensors.vim52
-rw-r--r--runtime/syntax/services.vim54
-rw-r--r--runtime/syntax/setserial.vim120
-rw-r--r--runtime/syntax/sieve.vim13
-rw-r--r--runtime/syntax/slpconf.vim273
-rw-r--r--runtime/syntax/slpreg.vim122
-rw-r--r--runtime/syntax/slpspi.vim39
-rw-r--r--runtime/syntax/sudoers.vim4
-rw-r--r--runtime/syntax/terminfo.vim4
-rw-r--r--runtime/syntax/udevconf.vim39
-rw-r--r--runtime/syntax/udevperm.vim69
-rw-r--r--runtime/syntax/udevrules.vim117
-rw-r--r--runtime/syntax/updatedb.vim6
-rw-r--r--runtime/syntax/xinetd.vim2
-rw-r--r--runtime/syntax/xmodmap.vim6
-rw-r--r--runtime/syntax/yaml.vim6
-rw-r--r--src/Make_mvc.mak2
-rw-r--r--src/option.c26
-rw-r--r--src/po/Make_cyg.mak76
-rw-r--r--src/spell.c223
-rw-r--r--src/testdir/Make_amiga.mak3
-rw-r--r--src/testdir/Make_dos.mak2
-rw-r--r--src/testdir/Make_os2.mak2
-rw-r--r--src/testdir/Make_vms.mms4
-rw-r--r--src/testdir/Makefile7
-rw-r--r--src/testdir/test58.in320
-rw-r--r--src/testdir/test58.ok42
-rw-r--r--src/version.h4
139 files changed, 3050 insertions, 417 deletions
diff --git a/Filelist b/Filelist
index c591d544a..3182ba889 100644
--- a/Filelist
+++ b/Filelist
@@ -699,6 +699,7 @@ LANG_SRC = \
src/po/README_mvc.txt \
src/po/cleanup.vim \
src/po/Makefile \
+ src/po/Make_cyg.mak \
src/po/Make_ming.mak \
src/po/Make_mvc.mak \
src/po/sjiscorr.c \
diff --git a/runtime/compiler/bdf.vim b/runtime/compiler/bdf.vim
index 133e98040..77f124c59 100644
--- a/runtime/compiler/bdf.vim
+++ b/runtime/compiler/bdf.vim
@@ -8,16 +8,12 @@ if exists("current_compiler")
endif
let current_compiler = "bdf"
-if exists(":CompilerSet") != 2
- command -nargs=* CompilerSet setlocal <args>
-endif
-
let s:cpo_save = &cpo
set cpo-=C
-CompilerSet makeprg=bdftopcf\ $*
+setlocal makeprg=bdftopcf\ $*
-CompilerSet errorformat=%ABDF\ %trror\ on\ line\ %l:\ %m,
+setlocal errorformat=%ABDF\ %trror\ on\ line\ %l:\ %m,
\%-Z%p^,
\%Cbdftopcf:\ bdf\ input\\,\ %f\\,\ corrupt,
\%-G%.%#
diff --git a/runtime/compiler/gcc.vim b/runtime/compiler/gcc.vim
index 1e64f3283..11f7714da 100644
--- a/runtime/compiler/gcc.vim
+++ b/runtime/compiler/gcc.vim
@@ -8,14 +8,10 @@ if exists("current_compiler")
endif
let current_compiler = "gcc"
-if exists(":CompilerSet") != 2
- command -nargs=* CompilerSet setlocal <args>
-endif
-
let s:cpo_save = &cpo
set cpo-=C
-CompilerSet errorformat=
+setlocal errorformat=
\%*[^\"]\"%f\"%*\\D%l:\ %m,
\\"%f\"%*\\D%l:\ %m,
\%-G%f:%l:\ %trror:\ (Each\ undeclared\ identifier\ is\ reported\ only\ once,
diff --git a/runtime/compiler/rst.vim b/runtime/compiler/rst.vim
index f983fe721..828f99e35 100644
--- a/runtime/compiler/rst.vim
+++ b/runtime/compiler/rst.vim
@@ -8,14 +8,10 @@ if exists("current_compiler")
endif
let current_compiler = "rst"
-if exists(":CompilerSet") != 2
- command -nargs=* CompilerSet setlocal <args>
-endif
-
let s:cpo_save = &cpo
set cpo-=C
-CompilerSet errorformat=
+setlocal errorformat=
\%f:%l:\ (%tEBUG/0)\ %m,
\%f:%l:\ (%tNFO/1)\ %m,
\%f:%l:\ (%tARNING/2)\ %m,
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 300ddb750..6c6a8dc99 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt* For Vim version 7.0aa. Last change: 2005 Jul 02
+*options.txt* For Vim version 7.0aa. Last change: 2005 Jul 04
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -5642,7 +5642,7 @@ A jump table for the options with a short description can be found at |Q_op|.
The languages are specified with 'spelllang'.
*'spellcapcheck'* *'spc'*
-'spellcapcheck' 'spc' string (default "[.?!][])'" \t\n]\+")
+'spellcapcheck' 'spc' string (default "[.?!]\_[\])'" \t]\+")
local to buffer
{not in Vi}
{not available when compiled without the |+syntax|
@@ -5652,6 +5652,8 @@ A jump table for the options with a short description can be found at |Q_op|.
with SpellCap |hl-SpellCap|.
When this check is not wanted make this option empty.
Only used when 'spell' is set.
+ Be careful with special characters, see |option-backslash| about
+ including spaces and backslashes.
*'spellfile'* *'spf'*
'spellfile' 'spf' string (default empty)
diff --git a/runtime/doc/spell.txt b/runtime/doc/spell.txt
index 46d1b70da..5fc1dd82d 100644
--- a/runtime/doc/spell.txt
+++ b/runtime/doc/spell.txt
@@ -1,4 +1,4 @@
-*spell.txt* For Vim version 7.0aa. Last change: 2005 Jul 03
+*spell.txt* For Vim version 7.0aa. Last change: 2005 Jul 04
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -181,7 +181,9 @@ Always use lowercase letters for the language and region names.
When adding a word with |zg| or another command it's always added for all
regions. You can change that by manually editing the 'spellfile'. See
-|spell-wordlist-format|.
+|spell-wordlist-format|. Note that the regions as specified in the files in
+'spellfile' are only used when all entries in "spelllang" specify the same
+region (not counting files specified by their .spl name).
SPELL FILES *spell-load*
@@ -488,6 +490,10 @@ Example:
Campbell/?3 rare word in region 3 "gb"
's mornings/= keep-case word
+Note that when "/=" is used the same word with all upper-case letters is not
+accepted. This is different from a word with mixed case that is automatically
+marked as keep-case, those words may appear in all upper-case letters.
+
FORMAT WITH AFFIX COMPRESSION
@@ -571,9 +577,12 @@ affix file. This has the meaning that case matters. This can be used if the
word does not have the first letter in upper case at the start of a sentence.
Example (assuming that = was used for KEP):
- word list matches does not match ~
- 's morgens/= 's morgens 'S morgens 's Morgens
- 's Morgens 's Morgens 'S morgens 's morgens
+ word list matches does not match ~
+ 's morgens/= 's morgens 'S morgens 's Morgens 'S MORGENS
+ 's Morgens 's Morgens 'S MORGENS 'S morgens 's morgens
+
+The flag can also be used to avoid that the word matches when it is in all
+upper-case letters.
*spell-affix-mbyte*
The basic word list is normally in an 8-bit encoding, which is mentioned in
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 9d0a96691..0dc952e34 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt* For Vim version 7.0aa. Last change: 2005 Jul 03
+*todo.txt* For Vim version 7.0aa. Last change: 2005 Jul 04
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/filetype.vim b/runtime/filetype.vim
index c11c012c3..44d8ce794 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: 2005 Jun 30
+" Last Change: 2005 Jul 04
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
@@ -71,6 +71,9 @@ endfun
" A-A-P recipe
au BufNewFile,BufRead *.aap setf aap
+" A2ps printing utility
+au BufNewFile,BufRead etc/a2ps.cfg,etc/a2ps/*.cfg,a2psrc,.a2psrc setf a2ps
+
" ABAB/4
au BufNewFile,BufRead *.abap setf abap
@@ -451,6 +454,12 @@ au BufNewFile,BufRead *.d setf d
" Desktop files
au BufNewFile,BufRead *.desktop,.directory setf desktop
+" Dict config
+au BufNewFile,BufRead dict.conf,.dictrc setf dictconf
+
+" Dictd config
+au BufNewFile,BufRead dictd.conf setf dictdconf
+
" Diff files
au BufNewFile,BufRead *.diff,*.rej,*.patch setf diff
@@ -600,6 +609,9 @@ au BufNewFile,BufRead *.groovy setf groovy
" GNU Server Pages
au BufNewFile,BufRead *.gsp setf gsp
+" Group file
+au BufNewFile,BufRead /etc/group setf group
+
" GTK RC
au BufNewFile,BufRead .gtkrc,gtkrc setf gtkrc
@@ -672,6 +684,9 @@ au BufNewFile,BufRead */.icewm/menu setf icemenu
" IDL (Interactive Data Language)
au BufNewFile,BufRead *.pro setf idlang
+" Indent RC
+au BufNewFile,BufRead indentrc setf indentrc
+
" Inform
au BufNewFile,BufRead .indent.pro setf indent
@@ -754,6 +769,9 @@ au BufNewFile,BufRead *.lex,*.l setf lex
" Libao
au BufNewFile,BufRead /etc/libao.conf,*/.libao setf libao
+" Libsensors
+au BufNewFile,BufRead /etc/sensors.conf setf sensors
+
" LFTP
au BufNewFile,BufRead lftp.conf,.lftprc,*lftp/rc setf lftp
@@ -819,6 +837,9 @@ au BufNewFile,BufRead *.ist,*.mst setf ist
" Manpage
au BufNewFile,BufRead *.man setf man
+" Man config
+au BufNewFile,BufRead /etc/man.conf setf manconf
+
" Maple V
au BufNewFile,BufRead *.mv,*.mpl,*.mws setf maple
@@ -935,6 +956,9 @@ au BufNewFile,BufRead *.mush setf mush
au BufNewFile,BufRead Muttrc setf muttrc
au BufNewFile,BufRead .muttrc*,*/.mutt/muttrc* call s:StarSetf('muttrc')
+" Nano
+au BufNewFile,BufRead /etc/nanorc,.nanorc setf nanorc
+
" Nastran input/DMAP
"au BufNewFile,BufRead *.dat setf nastran
@@ -1014,6 +1038,9 @@ au BufNewFile,BufRead /etc/pam.conf setf pamconf
" PApp
au BufNewFile,BufRead *.papp,*.pxml,*.pxsl setf papp
+" Password file
+au BufNewFile,BufRead /etc/passwd,/etc/shadow,/etc/shadow- setf passwd
+
" Pascal (also *.p)
au BufNewFile,BufRead *.pas setf pascal
@@ -1225,6 +1252,9 @@ au BufNewFile,BufRead INDEX,INFO
" Prolog
au BufNewFile,BufRead *.pdb setf prolog
+" Protocols
+au BufNewFile,BufRead /etc/protocols setf protocols
+
" Pyrex
au BufNewFile,BufRead *.pyx,*.pxd setf pyrex
@@ -1344,6 +1374,21 @@ au BufNewFile,BufRead sendmail.cf setf sm
" Sendmail .mc files are actually m4
au BufNewFile,BufRead *.mc setf m4
+" Services
+au BufNewFile,BufRead /etc/services setf services
+
+" Service Location config
+au BufNewFile,BufRead /etc/slp.conf setf slpconf
+
+" Service Location registration
+au BufNewFile,BufRead /etc/slp.reg setf slpreg
+
+" Service Location SPI
+au BufNewFile,BufRead /etc/slp.spi setf slpspi
+
+" Setserial config
+au BufNewFile,BufRead /etc/serial.conf setf setserial
+
" SGML
au BufNewFile,BufRead *.sgm,*.sgml
\ if getline(1).getline(2).getline(3).getline(4).getline(5) =~? 'linuxdoc' |
@@ -1634,6 +1679,18 @@ au BufNewFile,BufReadPost *.tsscl setf tsscl
" Motif UIT/UIL files
au BufNewFile,BufRead *.uit,*.uil setf uil
+" Udev conf
+au BufNewFile,BufRead /etc/udev/udev.conf setf udevconf
+
+" Udev rules
+au BufNewFile,BufRead /etc/udev/rules.d/*.rules setf udevrules
+
+" Udev permissions
+au BufNewFile,BufRead /etc/udev/permissions.d/*.permissions setf udevperm
+"
+" Udev symlinks config
+au BufNewFile,BufRead /etc/udev/cdsymlinks.conf setf sh
+
" UnrealScript
au BufNewFile,BufRead *.uc setf uc
@@ -1752,6 +1809,9 @@ au BufNewFile,BufRead *.csproj,*.csproj.user setf xml
" Qt Linguist translation source and Qt User Interface Files are XML
au BufNewFile,BufRead *.ts,*.ui setf xml
+" Xdg menus
+au BufNewFile,BufRead /etc/xdg/menus/*.menu setf xml
+
" XSD
au BufNewFile,BufRead *.xsd setf xsd
@@ -1851,6 +1911,9 @@ au! BufNewFile,BufRead *jarg*
" Makefile
au BufNewFile,BufRead [mM]akefile* call s:StarSetf('make')
+" Modconf
+au BufNewFile,BufRead /etc/modprobe.* call s:StarSetf('modconf')
+
" Ruby Makefile
au BufNewFile,BufRead [rR]akefile* call s:StarSetf('ruby')
diff --git a/runtime/ftplugin/a2ps.vim b/runtime/ftplugin/a2ps.vim
new file mode 100644
index 000000000..e590c9806
--- /dev/null
+++ b/runtime/ftplugin/a2ps.vim
@@ -0,0 +1,14 @@
+" Vim filetype plugin file
+" Language: a2ps(1) configuration file
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-07-04
+
+if exists("b:did_ftplugin")
+ finish
+endif
+let b:did_ftplugin = 1
+
+let b:undo_ftplugin = "setl com< cms< inc< fo<"
+
+setlocal comments=:# commentstring=#\ %s include=^\\s*Include:
+setlocal formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/alsaconf.vim b/runtime/ftplugin/alsaconf.vim
index fd96e82f9..c0e13a7e9 100644
--- a/runtime/ftplugin/alsaconf.vim
+++ b/runtime/ftplugin/alsaconf.vim
@@ -1,13 +1,13 @@
" Vim filetype plugin file
" Language: alsaconf(8) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms<"
+let b:undo_ftplugin = "setl com< cms< fo<"
-setlocal comments=:# commentstring=#\ %s
+setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/arch.vim b/runtime/ftplugin/arch.vim
index 0102e9a5d..9433f1009 100644
--- a/runtime/ftplugin/arch.vim
+++ b/runtime/ftplugin/arch.vim
@@ -1,13 +1,13 @@
" Vim filetype plugin file
" Language: GNU Arch inventory file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms<"
+let b:undo_ftplugin = "setl com< cms< fo<"
-setlocal comments=:# commentstring=#\ %s
+setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/bdf.vim b/runtime/ftplugin/bdf.vim
index a303d85e3..92ee66bfc 100644
--- a/runtime/ftplugin/bdf.vim
+++ b/runtime/ftplugin/bdf.vim
@@ -1,13 +1,14 @@
" Vim filetype plugin file
" Language: BDF font definition
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-22
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms<"
+let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=b:COMMENT commentstring=COMMENT\ %s
+setlocal formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/calendar.vim b/runtime/ftplugin/calendar.vim
index f71bfe4ee..c786203db 100644
--- a/runtime/ftplugin/calendar.vim
+++ b/runtime/ftplugin/calendar.vim
@@ -1,13 +1,14 @@
" Vim filetype plugin file
" Language: calendar(1) input file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms< inc<"
+let b:undo_ftplugin = "setl com< cms< inc< fo<"
setlocal comments=s1:/*,mb:*,ex:*/ commentstring& include&
+setlocal formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/conf.vim b/runtime/ftplugin/conf.vim
index dce5e65b5..6087c2192 100644
--- a/runtime/ftplugin/conf.vim
+++ b/runtime/ftplugin/conf.vim
@@ -1,13 +1,13 @@
" Vim filetype plugin file
" Language: generic configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms<"
+let b:undo_ftplugin = "setl com< cms< fo<"
-setlocal comments=:# commentstring=#\ %s
+setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/context.vim b/runtime/ftplugin/context.vim
index 8868319d9..10be14cb0 100644
--- a/runtime/ftplugin/context.vim
+++ b/runtime/ftplugin/context.vim
@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: ConTeXt typesetting engine
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
@@ -11,9 +11,9 @@ let b:did_ftplugin = 1
let s:cpo_save = &cpo
set cpo&vim
-let b:undo_ftplugin = "setl com< cms< def< inc< sua<"
+let b:undo_ftplugin = "setl com< cms< def< inc< sua< fo<"
-setlocal comments=:%,b:%D,b:%C,b:%M commentstring=%\ %s
+setlocal comments=:%,b:%D,b:%C,b:%M commentstring=%\ %s formatoptions+=tcroql
let &l:define='\\\%([egx]\|char\|mathchar\|count\|dimen\|muskip\|skip\|toks\)\='
\ . 'def\|\\font\|\\\%(future\)\=let'
diff --git a/runtime/ftplugin/crm.vim b/runtime/ftplugin/crm.vim
index 12b41bf90..71ae83f18 100644
--- a/runtime/ftplugin/crm.vim
+++ b/runtime/ftplugin/crm.vim
@@ -1,13 +1,13 @@
" Vim filetype plugin file
" Language: CRM114
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms<"
+let b:undo_ftplugin = "setl com< cms< fo<"
-setlocal comments=:# commentstring=#\ %s
+setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/css.vim b/runtime/ftplugin/css.vim
index 417590c45..d9d900553 100644
--- a/runtime/ftplugin/css.vim
+++ b/runtime/ftplugin/css.vim
@@ -1,15 +1,16 @@
" Vim filetype plugin file
" Language: CSS
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms< inc<"
+let b:undo_ftplugin = "setl com< cms< inc< fo<"
setlocal comments=s1:/*,mb:*,ex:*/ commentstring&
+setlocal formatoptions-=t formatoptions+=croql
let &l:include = '^\s*@import\s\+\%(url(\)\='
diff --git a/runtime/ftplugin/cvsrc.vim b/runtime/ftplugin/cvsrc.vim
index 686fddf0e..beb222fd7 100644
--- a/runtime/ftplugin/cvsrc.vim
+++ b/runtime/ftplugin/cvsrc.vim
@@ -1,13 +1,13 @@
" Vim filetype plugin file
" Language: cvs(1) RC file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms<"
+let b:undo_ftplugin = "setl com< cms< fo<"
-setlocal comments= commentstring=
+setlocal comments= commentstring= formatoptions-=tcroql
diff --git a/runtime/ftplugin/dictconf.vim b/runtime/ftplugin/dictconf.vim
new file mode 100644
index 000000000..b818ff1d1
--- /dev/null
+++ b/runtime/ftplugin/dictconf.vim
@@ -0,0 +1,13 @@
+" Vim filetype plugin file
+" Language: dict(1) configuration file
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-06-30
+
+if exists("b:did_ftplugin")
+ finish
+endif
+let b:did_ftplugin = 1
+
+let b:undo_ftplugin = "setl com< cms< fo<"
+
+setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/dictdconf.vim b/runtime/ftplugin/dictdconf.vim
new file mode 100644
index 000000000..68111b12f
--- /dev/null
+++ b/runtime/ftplugin/dictdconf.vim
@@ -0,0 +1,13 @@
+" Vim filetype plugin file
+" Language: dictd(8) configuration file
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-07-01
+
+if exists("b:did_ftplugin")
+ finish
+endif
+let b:did_ftplugin = 1
+
+let b:undo_ftplugin = "setl com< cms< fo<"
+
+setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/dircolors.vim b/runtime/ftplugin/dircolors.vim
index 2062c38bf..4bda7ea8e 100644
--- a/runtime/ftplugin/dircolors.vim
+++ b/runtime/ftplugin/dircolors.vim
@@ -1,13 +1,13 @@
" Vim filetype plugin file
" Language: dircolors(1) input file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms<"
+let b:undo_ftplugin = "setl com< cms< fo<"
-setlocal comments=:# commentstring=#\ %s
+setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/elinks.vim b/runtime/ftplugin/elinks.vim
index ab81f1d4c..ac1642dca 100644
--- a/runtime/ftplugin/elinks.vim
+++ b/runtime/ftplugin/elinks.vim
@@ -1,13 +1,13 @@
" Vim filetype plugin file
" Language: elinks(1) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms<"
+let b:undo_ftplugin = "setl com< cms< fo<"
-setlocal comments=:# commentstring=#\ %s
+setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/eterm.vim b/runtime/ftplugin/eterm.vim
index 22725ef15..257a4154c 100644
--- a/runtime/ftplugin/eterm.vim
+++ b/runtime/ftplugin/eterm.vim
@@ -1,13 +1,14 @@
" Vim filetype plugin file
" Language: eterm(1) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms< inc<"
+let b:undo_ftplugin = "setl com< cms< inc< fo<"
setlocal comments=:# commentstring=#\ %s include=^\\s*include
+setlocal formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/fetchmail.vim b/runtime/ftplugin/fetchmail.vim
index d8985c382..e9f195f41 100644
--- a/runtime/ftplugin/fetchmail.vim
+++ b/runtime/ftplugin/fetchmail.vim
@@ -1,13 +1,13 @@
" Vim filetype plugin file
" Language: fetchmail(1) RC File
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms<"
+let b:undo_ftplugin = "setl com< cms< fo<"
-setlocal comments=:# commentstring=#\ %s
+setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/gpg.vim b/runtime/ftplugin/gpg.vim
index a3f7b2689..b68424451 100644
--- a/runtime/ftplugin/gpg.vim
+++ b/runtime/ftplugin/gpg.vim
@@ -1,13 +1,13 @@
" Vim filetype plugin file
" Language: gpg(1) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms<"
+let b:undo_ftplugin = "setl com< cms< fo<"
-setlocal comments=:# commentstring=#\ %s
+setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/group.vim b/runtime/ftplugin/group.vim
new file mode 100644
index 000000000..443c4eb95
--- /dev/null
+++ b/runtime/ftplugin/group.vim
@@ -0,0 +1,13 @@
+" Vim filetype plugin file
+" Language: group(5) user group file
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-07-04
+
+if exists("b:did_ftplugin")
+ finish
+endif
+let b:did_ftplugin = 1
+
+let b:undo_ftplugin = "setl com< cms< fo<"
+
+setlocal comments= commentstring= formatoptions-=tcroq formatoptions+=l
diff --git a/runtime/ftplugin/grub.vim b/runtime/ftplugin/grub.vim
index a29b7818a..6230ec3ee 100644
--- a/runtime/ftplugin/grub.vim
+++ b/runtime/ftplugin/grub.vim
@@ -1,13 +1,13 @@
" Vim filetype plugin file
" Language: grub(8) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms<"
+let b:undo_ftplugin = "setl com< cms< fo<"
-setlocal comments=:# commentstring=#\ %s
+setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/haskell.vim b/runtime/ftplugin/haskell.vim
index 242875b36..141e90ae9 100644
--- a/runtime/ftplugin/haskell.vim
+++ b/runtime/ftplugin/haskell.vim
@@ -1,13 +1,14 @@
" Vim filetype plugin file
" Language: Haskell
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_plugin = "setl com< cms<"
+let b:undo_plugin = "setl com< cms< fo<"
setlocal comments=s1fl:{-,mb:-,ex:-},:-- commentstring=--\ %s
+setlocal formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/indent.vim b/runtime/ftplugin/indent.vim
index 64f0fde6a..8266e937c 100644
--- a/runtime/ftplugin/indent.vim
+++ b/runtime/ftplugin/indent.vim
@@ -1,13 +1,14 @@
" Vim filetype plugin file
" Language: indent(1) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com<"
+let b:undo_ftplugin = "setl com< cms< fo<"
-setlocal comments=s1:/*,mb:*,ex:*/
+setlocal comments=s1:/*,mb:*,ex:*/ commentstring&
+setlocal formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/ld.vim b/runtime/ftplugin/ld.vim
index d4b6bbc14..f8ba5896c 100644
--- a/runtime/ftplugin/ld.vim
+++ b/runtime/ftplugin/ld.vim
@@ -1,13 +1,14 @@
" Vim filetype plugin file
" Language: ld(1) script
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms< inc<"
+let b:undo_ftplugin = "setl com< cms< inc< fo<"
setlocal comments=s1:/*,mb:*,ex:*/ commentstring=/*%s*/ include=^\\s*INCLUDE
+setlocal formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/lftp.vim b/runtime/ftplugin/lftp.vim
index e94ebc742..8b26e5506 100644
--- a/runtime/ftplugin/lftp.vim
+++ b/runtime/ftplugin/lftp.vim
@@ -1,13 +1,13 @@
" Vim filetype plugin file
" Language: lftp(1) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms<"
+let b:undo_ftplugin = "setl com< cms< fo<"
-setlocal comments=:# commentstring=#\ %s
+setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/libao.vim b/runtime/ftplugin/libao.vim
index c38ac9562..83a00f3fa 100644
--- a/runtime/ftplugin/libao.vim
+++ b/runtime/ftplugin/libao.vim
@@ -1,13 +1,13 @@
" Vim filetype plugin file
" Language: libao.conf(5) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms<"
+let b:undo_ftplugin = "setl com< cms< fo<"
-setlocal comments=:# commentstring=#\ %s
+setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/limits.vim b/runtime/ftplugin/limits.vim
index 120753500..586372303 100644
--- a/runtime/ftplugin/limits.vim
+++ b/runtime/ftplugin/limits.vim
@@ -1,13 +1,13 @@
" Vim filetype plugin file
" Language: limits(5) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms<"
+let b:undo_ftplugin = "setl com< cms< fo<"
-setlocal comments=:# commentstring=#\ %s
+setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/loginaccess.vim b/runtime/ftplugin/loginaccess.vim
index 404a36dd0..616ff0b6c 100644
--- a/runtime/ftplugin/loginaccess.vim
+++ b/runtime/ftplugin/loginaccess.vim
@@ -1,13 +1,13 @@
" Vim filetype plugin file
" Language: login.access(5) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms<"
+let b:undo_ftplugin = "setl com< cms< fo<"
-setlocal comments=:# commentstring=#\ %s
+setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/logindefs.vim b/runtime/ftplugin/logindefs.vim
index 26486bcd8..e51a38318 100644
--- a/runtime/ftplugin/logindefs.vim
+++ b/runtime/ftplugin/logindefs.vim
@@ -1,13 +1,13 @@
" Vim filetype plugin file
" Language: login.defs(5) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms<"
+let b:undo_ftplugin = "setl com< cms< fo<"
-setlocal comments=:# commentstring=#\ %s
+setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/m4.vim b/runtime/ftplugin/m4.vim
index 8f971e84c..1754fd067 100644
--- a/runtime/ftplugin/m4.vim
+++ b/runtime/ftplugin/m4.vim
@@ -1,13 +1,14 @@
" Vim filetype plugin file
" Language: m4
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms<"
+let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:#,:dnl commentstring=dnl\ %s
+setlocal formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/mailcap.vim b/runtime/ftplugin/mailcap.vim
index 208c9f55a..ec1143f9f 100644
--- a/runtime/ftplugin/mailcap.vim
+++ b/runtime/ftplugin/mailcap.vim
@@ -1,13 +1,13 @@
" Vim filetype plugin file
" Language: Mailcap configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms<"
+let b:undo_ftplugin = "setl com< cms< fo<"
-set comments=:# commentstring=#\ %s
+setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/manconf.vim b/runtime/ftplugin/manconf.vim
new file mode 100644
index 000000000..ac4b1fae2
--- /dev/null
+++ b/runtime/ftplugin/manconf.vim
@@ -0,0 +1,13 @@
+" Vim filetype plugin file
+" Language: man.conf(5) - man configuration file
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-06-30
+
+if exists("b:did_ftplugin")
+ finish
+endif
+let b:did_ftplugin = 1
+
+let b:undo_ftplugin = "setl com< cms< fo<"
+
+setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/mf.vim b/runtime/ftplugin/mf.vim
index b066d531e..d9c9c90bd 100644
--- a/runtime/ftplugin/mf.vim
+++ b/runtime/ftplugin/mf.vim
@@ -1,16 +1,14 @@
-" Vim filetype plugin
-" Language: METAFONT
-" Maintainer: Dorai Sitaram <ds26@gte.com>
-" URL: http://www.ccs.neu.edu/~dorai/vimplugins/vimplugins.html
-" Last Change: May 27, 2003
+" Vim filetype plugin file
+" Language: MetaFont
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-07-04
-" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
finish
endif
-
-" Don't load another plugin for this buffer
let b:did_ftplugin = 1
-setl com=:%
-setl fo-=t
+let b:undo_ftplugin = "setl com< cms< fo<"
+
+setlocal comments=:% commentstring=%\ %s formatoptions-=t formatoptions+=croql
+
diff --git a/runtime/ftplugin/modconf.vim b/runtime/ftplugin/modconf.vim
index 26ed0e7ac..a33a8f65e 100644
--- a/runtime/ftplugin/modconf.vim
+++ b/runtime/ftplugin/modconf.vim
@@ -1,13 +1,14 @@
" Vim filetype plugin file
" Language: modules.conf(5) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms< inc<"
+let b:undo_ftplugin = "setl com< cms< inc< fo<"
setlocal comments=:# commentstring=#\ %s include=^\\s*include
+setlocal formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/mp.vim b/runtime/ftplugin/mp.vim
index 3385565b3..aad8d9519 100644
--- a/runtime/ftplugin/mp.vim
+++ b/runtime/ftplugin/mp.vim
@@ -1,7 +1,22 @@
-" Vim filetype plugin
-" Language: MetaPost
-" Maintainer: Dorai Sitaram <ds26@gte.com>
-" URL: http://www.ccs.neu.edu/~dorai/vimplugins/vimplugins.html
-" Last Change: May 27, 2003
+" Vim filetype plugin file
+" Language: MetaPost
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-07-04
-runtime! ftplugin/mf.vim ftplugin/mf_*.vim ftplugin/mf/*.vim
+if exists("b:did_ftplugin")
+ finish
+endif
+let b:did_ftplugin = 1
+
+let b:undo_ftplugin = "setl com< cms< fo<"
+
+setlocal comments=:% commentstring=%\ %s formatoptions-=t formatoptions+=croql
+
+if !exists(":FixBeginfigs") != 2
+ command -nargs=0 FixBeginfigs call s:fix_beginfigs()
+
+ function! s:fix_beginfigs()
+ let i = 1
+ g/^beginfig(\d*);$/s//\='beginfig('.i.');'/ | let i = i + 1
+ endfunction
+endif
diff --git a/runtime/ftplugin/mplayerconf.vim b/runtime/ftplugin/mplayerconf.vim
index 631b9131b..15ff20109 100644
--- a/runtime/ftplugin/mplayerconf.vim
+++ b/runtime/ftplugin/mplayerconf.vim
@@ -1,13 +1,14 @@
" Vim filetype plugin file
" Language: mplayer(1) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms< inc<"
+let b:undo_ftplugin = "setl com< cms< inc< fo<"
setlocal comments=:# commentstring=#\ %s include=^\\s*include
+setlocal formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/muttrc.vim b/runtime/ftplugin/muttrc.vim
index 62017e90f..184d6e53e 100644
--- a/runtime/ftplugin/muttrc.vim
+++ b/runtime/ftplugin/muttrc.vim
@@ -1,15 +1,16 @@
" Vim filetype plugin file
" Language: mutt RC File
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms< inc<"
+let b:undo_ftplugin = "setl com< cms< inc< fo<"
setlocal comments=:# commentstring=#\ %s
+setlocal formatoptions-=t formatoptions+=croql
let &l:include = '^\s*source\>'
diff --git a/runtime/ftplugin/nanorc.vim b/runtime/ftplugin/nanorc.vim
new file mode 100644
index 000000000..539ee0243
--- /dev/null
+++ b/runtime/ftplugin/nanorc.vim
@@ -0,0 +1,13 @@
+" Vim filetype plugin file
+" Language: nanorc(5) - GNU nano configuration file
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-06-30
+
+if exists("b:did_ftplugin")
+ finish
+endif
+let b:did_ftplugin = 1
+
+let b:undo_ftplugin = "setl com< cms< fo<"
+
+setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/netrc.vim b/runtime/ftplugin/netrc.vim
index d156ef802..206dfd08f 100644
--- a/runtime/ftplugin/netrc.vim
+++ b/runtime/ftplugin/netrc.vim
@@ -1,13 +1,13 @@
" Vim filetype plugin file
" Language: netrc(5) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms<"
+let b:undo_ftplugin = "setl com< cms< fo<"
-setlocal comments= commentstring=
+setlocal comments= commentstring= formatoptions-=tcroq formatoptions+=l
diff --git a/runtime/ftplugin/pamconf.vim b/runtime/ftplugin/pamconf.vim
index 0332f7e09..860c0d029 100644
--- a/runtime/ftplugin/pamconf.vim
+++ b/runtime/ftplugin/pamconf.vim
@@ -1,13 +1,13 @@
" Vim filetype plugin file
" Language: pam(8) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms<"
+let b:undo_ftplugin = "setl com< cms< fo<"
-setlocal comments=:# commentstring=#\ %s
+setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/passwd.vim b/runtime/ftplugin/passwd.vim
new file mode 100644
index 000000000..3b08ae4fc
--- /dev/null
+++ b/runtime/ftplugin/passwd.vim
@@ -0,0 +1,13 @@
+" Vim filetype plugin file
+" Language: passwd(5) password file
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-07-04
+
+if exists("b:did_ftplugin")
+ finish
+endif
+let b:did_ftplugin = 1
+
+let b:undo_ftplugin = "setl com< cms< fo<"
+
+setlocal comments= commentstring= formatoptions-=tcroq formatoptions+=l
diff --git a/runtime/ftplugin/pinfo.vim b/runtime/ftplugin/pinfo.vim
index 117a2e2f3..f56467f32 100644
--- a/runtime/ftplugin/pinfo.vim
+++ b/runtime/ftplugin/pinfo.vim
@@ -1,13 +1,13 @@
" Vim filetype plugin file
" Language: pinfo(1) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms<"
+let b:undo_ftplugin = "setl com< cms< fo<"
-setlocal comments=:# commentstring=#\ %s
+setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/procmail.vim b/runtime/ftplugin/procmail.vim
index 95d806783..f3edc369c 100644
--- a/runtime/ftplugin/procmail.vim
+++ b/runtime/ftplugin/procmail.vim
@@ -1,15 +1,15 @@
" Vim filetype plugin file
" Language: procmail(1) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms< inc<"
+let b:undo_ftplugin = "setl com< cms< inc< fo<"
-setlocal comments=:# commentstring=#\ %s
+setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
let &l:include = '^\s*INCLUDERC\>'
diff --git a/runtime/ftplugin/prolog.vim b/runtime/ftplugin/prolog.vim
index e5ab76d4e..eebbdab00 100644
--- a/runtime/ftplugin/prolog.vim
+++ b/runtime/ftplugin/prolog.vim
@@ -1,13 +1,14 @@
" Vim filetype plugin file
" Language: Prolog
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms<"
+let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=s1:/*,mb:*,ex:*/,:% commentstring=%\ %s
+setlocal formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/protocols.vim b/runtime/ftplugin/protocols.vim
new file mode 100644
index 000000000..2e04d8591
--- /dev/null
+++ b/runtime/ftplugin/protocols.vim
@@ -0,0 +1,13 @@
+" Vim filetype plugin file
+" Language: protocols(5) - Internet protocols definition file
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-06-30
+
+if exists("b:did_ftplugin")
+ finish
+endif
+let b:did_ftplugin = 1
+
+let b:undo_ftplugin = "setl com< cms< fo<"
+
+setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/quake.vim b/runtime/ftplugin/quake.vim
index f750aef1a..e658eb0b5 100644
--- a/runtime/ftplugin/quake.vim
+++ b/runtime/ftplugin/quake.vim
@@ -1,13 +1,13 @@
" Vim filetype plugin file
" Language: Quake[1-3] configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms<"
+let b:undo_ftplugin = "setl com< cms< fo<"
-setlocal comments=:// commentstring=//\ %s
+setlocal comments=:// commentstring=//\ %s formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/racc.vim b/runtime/ftplugin/racc.vim
index 461d3a4c5..6969080bd 100644
--- a/runtime/ftplugin/racc.vim
+++ b/runtime/ftplugin/racc.vim
@@ -1,13 +1,14 @@
" Vim filetype plugin file
" Language: Racc input file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms<"
+let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=s1:/*,mb:*,ex:*/,:# commentstring=#\ %s
+setlocal formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/readline.vim b/runtime/ftplugin/readline.vim
index 29bbe39b1..bf29a41d0 100644
--- a/runtime/ftplugin/readline.vim
+++ b/runtime/ftplugin/readline.vim
@@ -1,13 +1,13 @@
" Vim filetype plugin file
" Language: readline(3) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms<"
+let b:undo_ftplugin = "setl com< cms< fo<"
-setlocal comments=:# commentstring=#\ %s
+setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/rnc.vim b/runtime/ftplugin/rnc.vim
index 713f387f3..ca875b8b3 100644
--- a/runtime/ftplugin/rnc.vim
+++ b/runtime/ftplugin/rnc.vim
@@ -1,13 +1,13 @@
" Vim filetype plugin file
" Language: Relax NG compact syntax
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms<"
+let b:undo_ftplugin = "setl com< cms< fo<"
-setlocal comments=:# commentstring=#\ %s
+setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/rst.vim b/runtime/ftplugin/rst.vim
index 6414c84a8..7c297b8f6 100644
--- a/runtime/ftplugin/rst.vim
+++ b/runtime/ftplugin/rst.vim
@@ -1,13 +1,14 @@
" Vim filetype plugin file
" Language: reStructuredText documentation format
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms< et<"
+let b:undo_ftplugin = "setl com< cms< et< fo<"
setlocal comments=fb:.. commentstring=..\ %s expandtab
+setlocal formatoptions+=tcroql
diff --git a/runtime/ftplugin/screen.vim b/runtime/ftplugin/screen.vim
index cd803fdb5..03b9b9826 100644
--- a/runtime/ftplugin/screen.vim
+++ b/runtime/ftplugin/screen.vim
@@ -1,13 +1,13 @@
" Vim filetype plugin file
" Language: screen(1) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms<"
+let b:undo_ftplugin = "setl com< cms< fo<"
-setlocal comments=:# commentstring=#\ %s
+setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/sensors.vim b/runtime/ftplugin/sensors.vim
new file mode 100644
index 000000000..d675cd911
--- /dev/null
+++ b/runtime/ftplugin/sensors.vim
@@ -0,0 +1,13 @@
+" Vim filetype plugin file
+" Language: sensors.conf(5) - libsensors configuration file
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-07-04
+
+if exists("b:did_ftplugin")
+ finish
+endif
+let b:did_ftplugin = 1
+
+let b:undo_ftplugin = "setl com< cms< fo<"
+
+setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/services.vim b/runtime/ftplugin/services.vim
new file mode 100644
index 000000000..de7d15e0a
--- /dev/null
+++ b/runtime/ftplugin/services.vim
@@ -0,0 +1,13 @@
+" Vim filetype plugin file
+" Language: services(5) - Internet network services list
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-06-30
+
+if exists("b:did_ftplugin")
+ finish
+endif
+let b:did_ftplugin = 1
+
+let b:undo_ftplugin = "setl com< cms< fo<"
+
+setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/setserial.vim b/runtime/ftplugin/setserial.vim
new file mode 100644
index 000000000..ea0cb964e
--- /dev/null
+++ b/runtime/ftplugin/setserial.vim
@@ -0,0 +1,13 @@
+" Vim filetype plugin file
+" Language: setserial(8) configuration file
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-07-04
+
+if exists("b:did_ftplugin")
+ finish
+endif
+let b:did_ftplugin = 1
+
+let b:undo_ftplugin = "setl com< cms< fo<"
+
+setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/sieve.vim b/runtime/ftplugin/sieve.vim
index 97d235bc4..39b5d7673 100644
--- a/runtime/ftplugin/sieve.vim
+++ b/runtime/ftplugin/sieve.vim
@@ -1,13 +1,14 @@
" Vim filetype plugin file
" Language: Sieve filtering language input file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms<"
+let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=s1:/*,mb:*,ex:*/,:# commentstring=#\ %s
+setlocal formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/slpconf.vim b/runtime/ftplugin/slpconf.vim
new file mode 100644
index 000000000..dea5dfd23
--- /dev/null
+++ b/runtime/ftplugin/slpconf.vim
@@ -0,0 +1,14 @@
+" Vim filetype plugin file
+" Language: RFC 2614 - An API for Service Location configuration file
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-07-04
+
+if exists("b:did_ftplugin")
+ finish
+endif
+let b:did_ftplugin = 1
+
+let b:undo_ftplugin = "setl com< cms< fo<"
+
+setlocal comments=:#,:; commentstring=#\ %s
+setlocal formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/slpreg.vim b/runtime/ftplugin/slpreg.vim
new file mode 100644
index 000000000..71e865bf0
--- /dev/null
+++ b/runtime/ftplugin/slpreg.vim
@@ -0,0 +1,14 @@
+" Vim filetype plugin file
+" Language: RFC 2614 - An API for Service Location registration file
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-07-04
+
+if exists("b:did_ftplugin")
+ finish
+endif
+let b:did_ftplugin = 1
+
+let b:undo_ftplugin = "setl com< cms< fo<"
+
+setlocal comments=:#,:; commentstring=#\ %s
+setlocal formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/slpspi.vim b/runtime/ftplugin/slpspi.vim
new file mode 100644
index 000000000..181a7ece7
--- /dev/null
+++ b/runtime/ftplugin/slpspi.vim
@@ -0,0 +1,14 @@
+" Vim filetype plugin file
+" Language: RFC 2614 - An API for Service Location SPI file
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-07-04
+
+if exists("b:did_ftplugin")
+ finish
+endif
+let b:did_ftplugin = 1
+
+let b:undo_ftplugin = "setl com< cms< fo<"
+
+setlocal comments=:#,:; commentstring=#\ %s
+setlocal formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/sshconfig.vim b/runtime/ftplugin/sshconfig.vim
index 456a09d35..f02bc7a89 100644
--- a/runtime/ftplugin/sshconfig.vim
+++ b/runtime/ftplugin/sshconfig.vim
@@ -1,13 +1,13 @@
" Vim filetype plugin file
" Language: OpenSSH client configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms<"
+let b:undo_ftplugin = "setl com< cms< fo<"
-setlocal comments=:# commentstring=#\ %s
+setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/sudoers.vim b/runtime/ftplugin/sudoers.vim
index c76bfa993..30c1f5c0a 100644
--- a/runtime/ftplugin/sudoers.vim
+++ b/runtime/ftplugin/sudoers.vim
@@ -1,13 +1,13 @@
" Vim filetype plugin file
" Language: sudoers(5) configuration files
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms<"
+let b:undo_ftplugin = "setl com< cms< fo<"
-setlocal comments=:# commentstring=#\ %s
+setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/sysctl.vim b/runtime/ftplugin/sysctl.vim
index 50939d74d..90618f97b 100644
--- a/runtime/ftplugin/sysctl.vim
+++ b/runtime/ftplugin/sysctl.vim
@@ -1,13 +1,14 @@
" Vim filetype plugin file
" Language: sysctl.conf(5) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_plugin = "setl com< cms<"
+let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:;,:# commentstring=#\ %s
+setlocal formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/terminfo.vim b/runtime/ftplugin/terminfo.vim
index df4af34af..822cac499 100644
--- a/runtime/ftplugin/terminfo.vim
+++ b/runtime/ftplugin/terminfo.vim
@@ -1,13 +1,13 @@
" Vim filetype plugin file
" Language: terminfo(5) definition
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms<"
+let b:undo_ftplugin = "setl com< cms< fo<"
-setlocal comments=:# commentstring=#\ %s
+setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/udevconf.vim b/runtime/ftplugin/udevconf.vim
new file mode 100644
index 000000000..b7a7f840f
--- /dev/null
+++ b/runtime/ftplugin/udevconf.vim
@@ -0,0 +1,13 @@
+" Vim filetype plugin file
+" Language: udev(8) configuration file
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-07-01
+
+if exists("b:did_ftplugin")
+ finish
+endif
+let b:did_ftplugin = 1
+
+let b:undo_ftplugin = "setl com< cms< fo<"
+
+setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/udevperm.vim b/runtime/ftplugin/udevperm.vim
new file mode 100644
index 000000000..584a4e78f
--- /dev/null
+++ b/runtime/ftplugin/udevperm.vim
@@ -0,0 +1,13 @@
+" Vim filetype plugin file
+" Language: udev(8) permissions file
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-07-01
+
+if exists("b:did_ftplugin")
+ finish
+endif
+let b:did_ftplugin = 1
+
+let b:undo_ftplugin = "setl com< cms< fo<"
+
+setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/udevrules.vim b/runtime/ftplugin/udevrules.vim
new file mode 100644
index 000000000..29c02b0da
--- /dev/null
+++ b/runtime/ftplugin/udevrules.vim
@@ -0,0 +1,13 @@
+" Vim filetype plugin file
+" Language: udev(8) rules file
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-07-01
+
+if exists("b:did_ftplugin")
+ finish
+endif
+let b:did_ftplugin = 1
+
+let b:undo_ftplugin = "setl com< cms< fo<"
+
+setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/updatedb.vim b/runtime/ftplugin/updatedb.vim
index ce818e811..20354628d 100644
--- a/runtime/ftplugin/updatedb.vim
+++ b/runtime/ftplugin/updatedb.vim
@@ -1,13 +1,13 @@
" Vim filetype plugin file
" Language: updatedb.conf(5) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_plugin = "setl com< cms<"
+let b:undo_ftplugin = "setl com< cms< fo<"
-setlocal comments=:# commentstring=#\ %s
+setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/xdefaults.vim b/runtime/ftplugin/xdefaults.vim
index fc04c310d..e65cfdd26 100644
--- a/runtime/ftplugin/xdefaults.vim
+++ b/runtime/ftplugin/xdefaults.vim
@@ -1,13 +1,14 @@
" Vim filetype plugin file
" Language: X resources files like ~/.Xdefaults (xrdb)
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms< inc<"
+let b:undo_ftplugin = "setl com< cms< inc< fo<"
setlocal comments=s1:/*,mb:*,ex:*/,:! commentstring& inc&
+setlocal formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/xf86conf.vim b/runtime/ftplugin/xf86conf.vim
index 11eb5d914..2973dcd7b 100644
--- a/runtime/ftplugin/xf86conf.vim
+++ b/runtime/ftplugin/xf86conf.vim
@@ -1,13 +1,13 @@
" Vim filetype plugin file
" Language: XFree86 Configuration File
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms<"
+let b:undo_ftplugin = "setl com< cms< fo<"
-setlocal comments=:# commentstring=#\ %s
+setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/xinetd.vim b/runtime/ftplugin/xinetd.vim
index 271b307d1..b789a9da4 100644
--- a/runtime/ftplugin/xinetd.vim
+++ b/runtime/ftplugin/xinetd.vim
@@ -1,13 +1,14 @@
" Vim filetype plugin file
" Language: xinetd.conf(5) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms< inc<"
+let b:undo_ftplugin = "setl com< cms< inc< fo<"
setlocal comments=:# commentstring=#\ %s include=^\\s*include
+setlocal formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/xmodmap.vim b/runtime/ftplugin/xmodmap.vim
index 37d002740..c9bdec493 100644
--- a/runtime/ftplugin/xmodmap.vim
+++ b/runtime/ftplugin/xmodmap.vim
@@ -1,13 +1,13 @@
" Vim filetype plugin file
" Language: xmodmap(1) definition file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms<"
+let b:undo_ftplugin = "setl com< cms< fo<"
-setlocal comments=:! commentstring=!\ %s
+setlocal comments=:! commentstring=!\ %s formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/yaml.vim b/runtime/ftplugin/yaml.vim
index 89c7e4ae0..0b77f67c1 100644
--- a/runtime/ftplugin/yaml.vim
+++ b/runtime/ftplugin/yaml.vim
@@ -1,13 +1,14 @@
" Vim filetype plugin file
" Language: YAML (YAML Ain't Markup Language)
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms< et<"
+let b:undo_ftplugin = "setl com< cms< et< fo<"
setlocal comments=:# commentstring=#\ %s expandtab
+setlocal formatoptions-=t formatoptions+=croql
diff --git a/runtime/ftplugin/zsh.vim b/runtime/ftplugin/zsh.vim
index 00dce3087..cd82fa4f2 100644
--- a/runtime/ftplugin/zsh.vim
+++ b/runtime/ftplugin/zsh.vim
@@ -1,13 +1,13 @@
" Vim filetype plugin file
" Language: Zsh shell script
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
-let b:undo_ftplugin = "setl com< cms<"
+let b:undo_ftplugin = "setl com< cms< fo<"
-setlocal comments=b:# commentstring=#\ %s
+setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
diff --git a/runtime/indent/config.vim b/runtime/indent/config.vim
index 3789a507f..cb2023d7d 100644
--- a/runtime/indent/config.vim
+++ b/runtime/indent/config.vim
@@ -1,8 +1,7 @@
" Vim indent file
" Language: Autoconf configure.{ac,in} file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" URL: http://www.pcppopper.org/vim/indent/pcp/config/
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-06-30
" TODO: how about nested [()]'s in one line
" what's wrong with '\\\@!'?
diff --git a/runtime/indent/css.vim b/runtime/indent/css.vim
index ee4288cf7..b0560b473 100644
--- a/runtime/indent/css.vim
+++ b/runtime/indent/css.vim
@@ -1,7 +1,7 @@
" Vim indent file
-" Language: CSS
-" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Language: CSS
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-06-30
if exists("b:did_indent")
finish
@@ -15,39 +15,68 @@ if exists("*GetCSSIndent")
finish
endif
-function s:LookupLine(lnum)
- let lnum = prevnonblank(a:lnum - 1)
- while lnum > 0
+function s:prevnonblanknoncomment(lnum)
+ let lnum = a:lnum
+ while lnum > 1
+ let lnum = prevnonblank(lnum)
let line = getline(lnum)
-
if line =~ '\*/'
- while lnum > 0 && line !~ '/\*'
+ while lnum > 1 && line !~ '/\*'
let lnum -= 1
- let line = getline(lnum)
endwhile
+ if line =~ '^\s*/\*'
+ let lnum -= 1
+ else
+ break
+ endif
+ else
+ break
endif
-
- if line !~ '^\s*/\*'
- return lnum
- end
endwhile
return lnum
endfunction
+function s:count_braces(lnum, count_open)
+ let n_open = 0
+ let n_close = 0
+ let line = getline(a:lnum)
+ let pattern = '[{}]'
+ let i = match(line, pattern)
+ while i != -1
+ if synIDattr(synID(a:lnum, i + 1, 0), 'name') !~ 'css\%(Comment\|StringQ\{1,2}\)'
+ if line[i] == '{'
+ let n_open += 1
+ elseif line[i] == '}'
+ if n_open > 0
+ let n_open -= 1
+ else
+ let n_close += 1
+ endif
+ endif
+ endif
+ let i = match(line, pattern, i + 1)
+ endwhile
+ return a:count_open ? n_open : n_close
+endfunction
+
function GetCSSIndent()
- let lnum = prevnonblank(v:lnum - 1)
- if lnum == 0
- return 0
+ let line = getline(v:lnum)
+ if line =~ '^\s*\*'
+ return cindent(v:lnum)
+ elseif line =~ '^\s*}'
+ return indent(v:lnum) - &sw
endif
- let ind = indent(lnum)
-
- if substitute(getline(lnum), '/\*.*', '', 'e') =~ '{\(.*}\)\@!'
- let ind = ind + &sw
+ let pnum = s:prevnonblanknoncomment(v:lnum - 1)
+ if pnum == 0
+ return 0
endif
- if getline(v:lnum) =~ '^\s*}'
- let ind = ind - &sw
+ let ind = indent(pnum) + s:count_braces(pnum, 1) * &sw
+
+ let pline = getline(pnum)
+ if pline =~ '}\s*$'
+ let ind -= (s:count_braces(pnum, 0) - (pline =~ '^\s*}' ? 1 : 0)) * &sw
endif
return ind
diff --git a/runtime/indent/dictconf.vim b/runtime/indent/dictconf.vim
new file mode 100644
index 000000000..dcaf1e152
--- /dev/null
+++ b/runtime/indent/dictconf.vim
@@ -0,0 +1,12 @@
+" Vim indent file
+" Language: dict(1) configuration file
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-06-30
+
+if exists("b:did_indent")
+ finish
+endif
+let b:did_indent = 1
+
+setlocal indentkeys=0{,0},!^F,o,O cinwords= autoindent smartindent
+inoremap <buffer> # X#
diff --git a/runtime/indent/dictdconf.vim b/runtime/indent/dictdconf.vim
new file mode 100644
index 000000000..f8f567064
--- /dev/null
+++ b/runtime/indent/dictdconf.vim
@@ -0,0 +1,12 @@
+" Vim indent file
+" Language: dictd(8) configuration file
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-07-01
+
+if exists("b:did_indent")
+ finish
+endif
+let b:did_indent = 1
+
+setlocal indentkeys=0{,0},!^F,o,O cinwords= autoindent smartindent
+inoremap <buffer> # X#
diff --git a/runtime/indent/ld.vim b/runtime/indent/ld.vim
index 8b7c03fce..440b106f1 100644
--- a/runtime/indent/ld.vim
+++ b/runtime/indent/ld.vim
@@ -1,7 +1,7 @@
" Vim indent file
" Language: ld(1) script
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-06-30
if exists("b:did_indent")
finish
@@ -15,6 +15,27 @@ if exists("*GetLDIndent")
finish
endif
+function s:prevnonblanknoncomment(lnum)
+ let lnum = a:lnum
+ while lnum > 1
+ let lnum = prevnonblank(lnum)
+ let line = getline(lnum)
+ if line =~ '\*/'
+ while lnum > 1 && line !~ '/\*'
+ let lnum -= 1
+ endwhile
+ if line =~ '^\s*/\*'
+ let lnum -= 1
+ else
+ break
+ endif
+ else
+ break
+ endif
+ endwhile
+ return lnum
+endfunction
+
function s:count_braces(lnum, count_open)
let n_open = 0
let n_close = 0
@@ -39,11 +60,24 @@ function s:count_braces(lnum, count_open)
endfunction
function GetLDIndent()
- let pnum = prevnonblank(v:lnum - 1)
+ let line = getline(v:lnum)
+ if line =~ '^\s*\*'
+ return cindent(v:lnum)
+ elseif line =~ '^\s*}'
+ return indent(v:lnum) - &sw
+ endif
+
+ let pnum = s:prevnonblanknoncomment(v:lnum - 1)
if pnum == 0
return 0
endif
- return indent(pnum) + s:count_braces(pnum, 1) * &sw
- \ - s:count_braces(v:lnum, 0) * &sw
+ let ind = indent(pnum) + s:count_braces(pnum, 1) * &sw
+
+ let pline = getline(pnum)
+ if pline =~ '}\s*$'
+ let ind -= (s:count_braces(pnum, 0) - (pline =~ '^\s*}' ? 1 : 0)) * &sw
+ endif
+
+ return ind
endfunction
diff --git a/runtime/indent/tcl.vim b/runtime/indent/tcl.vim
index 83e7719cb..546b60daf 100644
--- a/runtime/indent/tcl.vim
+++ b/runtime/indent/tcl.vim
@@ -1,7 +1,7 @@
" Vim indent file
-" Language: Tcl
-" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Language: Tcl
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-06-30
if exists("b:did_indent")
finish
@@ -31,10 +31,10 @@ function s:count_braces(lnum, count_open)
let n_open = 0
let n_close = 0
let line = getline(a:lnum)
- let pattern = '\\\@<![{}]'
+ let pattern = '[{}]'
let i = match(line, pattern)
while i != -1
- if synIDattr(synID(a:lnum, i + 1, 1), 'name') !~ 'tcl\%(Comment\|String\)'
+ if synIDattr(synID(a:lnum, i + 1, 0), 'name') !~ 'tcl\%(Comment\|String\)'
if line[i] == '{'
let n_open += 1
elseif line[i] == '}'
@@ -51,20 +51,24 @@ function s:count_braces(lnum, count_open)
endfunction
function GetTclIndent()
+ let line = getline(v:lnum)
+ if line =~ '^\s*\*'
+ return cindent(v:lnum)
+ elseif line =~ '^\s*}'
+ return indent(v:lnum) - &sw
+ endif
+
let pnum = s:prevnonblanknoncomment(v:lnum - 1)
if pnum == 0
return 0
endif
let ind = indent(pnum) + s:count_braces(pnum, 1) * &sw
- if getline(pnum) =~ '\\$'
- let ind += &sw
- endif
- let pnum = s:prevnonblanknoncomment(pnum - 1)
- if pnum > 0 && getline(pnum) =~ '\\$'
- let ind -= &sw
+ let pline = getline(pnum)
+ if pline =~ '}\s*$'
+ let ind -= (s:count_braces(pnum, 0) - (pline =~ '^\s*}' ? 1 : 0)) * &sw
endif
- return ind - s:count_braces(v:lnum, 0) * &sw
+ return ind
endfunction
diff --git a/runtime/spell/fr/fr_FR.diff b/runtime/spell/fr/fr_FR.diff
index b00f3b7a4..8233e5c44 100644
--- a/runtime/spell/fr/fr_FR.diff
+++ b/runtime/spell/fr/fr_FR.diff
@@ -1,19 +1,22 @@
-*** fr_FR.orig.aff Sun Apr 14 17:18:22 2002
---- fr_FR.aff Mon Jun 27 19:42:54 2005
+*** fr_FR.orig.aff Sun Jul 3 19:34:20 2005
+--- fr_FR.aff Sun Jul 3 20:09:20 2005
***************
*** 3,4 ****
---- 3,10 ----
+--- 3,13 ----
+ FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
+ LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
+ UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
+
++ SOFOFROM abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ¿
++ SOFOTO ebctefghejklnnepkrstevvkesebctefghejklnnepkrstevvkeseeeeeeeceeeeeeeedneeeeeeeeeeepseeeeeeeeceeeeeeeedneeeeeeeeeeep?
++
+ MIDWORD '
+
PFX A Y 10
***************
*** 691,692 ****
---- 697,709 ----
+--- 700,712 ----
+
+ MAP 5
diff --git a/runtime/syntax/a2ps.vim b/runtime/syntax/a2ps.vim
new file mode 100644
index 000000000..a5594439d
--- /dev/null
+++ b/runtime/syntax/a2ps.vim
@@ -0,0 +1,71 @@
+" Vim syntax file
+" Language: a2ps(1) configuration file
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-06-30
+
+if exists("b:current_syntax")
+ finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+syn keyword a2psPreProc Include
+ \ nextgroup=a2psKeywordColon
+
+syn keyword a2psMacro UserOption
+ \ nextgroup=a2psKeywordColon
+
+syn keyword a2psKeyword LibraryPath AppendLibraryPath PrependLibraryPath
+ \ Options Medium Printer UnknownPrinter
+ \ DefaultPrinter OutputFirstLine
+ \ PageLabelFormat Delegation FileCommand
+ \ nextgroup=a2psKeywordColon
+
+syn match a2psKeywordColon contained display ':'
+
+syn keyword a2psKeyword Variable nextgroup=a2psVariableColon
+
+syn match a2psVariableColon contained display ':'
+ \ nextgroup=a2psVariable skipwhite
+
+syn match a2psVariable contained display '[^ \t:(){}]\+'
+ \ contains=a2psVarPrefix
+
+syn match a2psVarPrefix contained display
+ \ '\<\%(del\|pro\|ps\|pl\|toc\|user\|\)\ze\.'
+
+syn match a2psLineCont display '\\$'
+
+syn match a2psSubst display '$\%(-\=.\=\d\+\)\=\h\d\='
+syn match a2psSubst display '#[?!]\=\w\d\='
+syn match a2psSubst display '#{[^}]\+}'
+
+syn region a2psString display oneline start=+'+ end=+'+
+ \ contains=a2psSubst
+
+syn region a2psString display oneline start=+"+ end=+"+
+ \ contains=a2psSubst
+
+syn keyword a2psTodo contained TODO FIXME XXX NOTE
+
+syn region a2psComment display oneline start='^\s*#' end='$'
+ \ contains=a2psTodo,@Spell
+
+hi def link a2psTodo Todo
+hi def link a2psComment Comment
+hi def link a2psPreProc PreProc
+hi def link a2psMacro Macro
+hi def link a2psKeyword Keyword
+hi def link a2psKeywordColon Delimiter
+hi def link a2psVariableColon Delimiter
+hi def link a2psVariable Identifier
+hi def link a2psVarPrefix Type
+hi def link a2psLineCont Special
+hi def link a2psSubst PreProc
+hi def link a2psString String
+
+let b:current_syntax = "a2ps"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/syntax/alsaconf.vim b/runtime/syntax/alsaconf.vim
index 0e3362a1a..f2bda1894 100644
--- a/runtime/syntax/alsaconf.vim
+++ b/runtime/syntax/alsaconf.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: alsaconf(8) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:current_syntax")
finish
@@ -12,21 +12,19 @@ set cpo&vim
syn keyword alsoconfTodo contained FIXME TODO XXX NOTE
-syn region alsaconfComment matchgroup=alsaconfComment
+syn region alsaconfComment display oneline
\ start='#' end='$'
\ contains=alsaconfTodo,@Spell
syn match alsaconfSpecialChar contained display '\\[ntvbrf]'
syn match alsaconfSpecialChar contained display '\\\o\+'
-syn region alsaconfString matchgroup=alsaconfString
- \ start=+"+ skip=+\\$+ end=+"+ end=+$+
+syn region alsaconfString start=+"+ skip=+\\$+ end=+"\|$+
\ contains=alsaconfSpecialChar
syn match alsaconfSpecial contained display 'confdir:'
-syn region alsaconfPreProc matchgroup=alsaconfPreProc start='<' end='>'
- \ contains=alsaconfSpecial
+syn region alsaconfPreProc start='<' end='>' contains=alsaconfSpecial
syn match alsaconfMode display '[+?!-]'
diff --git a/runtime/syntax/arch.vim b/runtime/syntax/arch.vim
index 663cca84c..b9789d260 100644
--- a/runtime/syntax/arch.vim
+++ b/runtime/syntax/arch.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: GNU Arch inventory file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:current_syntax")
finish
@@ -14,19 +14,25 @@ setlocal iskeyword=@,48-57,_,-
syn keyword archTodo TODO FIXME XXX NOTE
-syn region archComment display matchgroup=archComment
- \ start='^\%(#\|\s\)' end='$' contains=archTodo,@Spell
+syn region archComment display start='^\%(#\|\s\)' end='$'
+ \ contains=archTodo,@Spell
-syn keyword archKeyword implicit tagline explicit names
-syn keyword archKeyword untagged-source
-syn keyword archKeyword exclude junk backup precious unrecognized source
- \ skipwhite nextgroup=archRegex
+syn match argBegin display '^' nextgroup=archKeyword,archComment
+
+syn keyword archKeyword contained implicit tagline explicit names
+syn keyword archKeyword contained untagged-source
+ \ nextgroup=archTMethod skipwhite
+syn keyword archKeyword contained exclude junk backup precious unrecognized
+ \ source nextgroup=archRegex skipwhite
+
+syn keyword archTMethod contained source precious backup junk unrecognized
syn match archRegex contained '\s*\zs.*'
hi def link archTodo Todo
hi def link archComment Comment
hi def link archKeyword Keyword
+hi def link archTMethod Type
hi def link archRegex String
let b:current_syntax = "arch"
diff --git a/runtime/syntax/calendar.vim b/runtime/syntax/calendar.vim
index 502ac7051..c47ef32e0 100644
--- a/runtime/syntax/calendar.vim
+++ b/runtime/syntax/calendar.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: calendar(1) input file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:current_syntax")
finish
@@ -12,8 +12,7 @@ set cpo&vim
syn keyword calendarTodo contained TODO FIXME XXX NOTE
-syn region calendarComment matchgroup=calendarComment
- \ start='/\*' end='\*/'
+syn region calendarComment start='/\*' end='\*/'
\ contains=calendarTodo,@Spell
syn region calendarCppString start=+L\="+ skip=+\\\\\|\\"\|\\$+ excludenl
diff --git a/runtime/syntax/context.vim b/runtime/syntax/context.vim
index 4649b6c8f..1b3d2446f 100644
--- a/runtime/syntax/context.vim
+++ b/runtime/syntax/context.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: ConTeXt typesetting engine
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:current_syntax")
finish
@@ -12,10 +12,10 @@ set cpo&vim
syn keyword contextTodo TODO FIXME XXX NOTE
-syn region contextComment display oneline matchgroup=contextComment
- \ start='%' end='$' contains=contextTodo
-syn region contextComment display oneline matchgroup=contextComment
- \ start='^\s*%[CDM]' end='$' contains=ALL
+syn region contextComment display oneline start='%' end='$'
+ \ contains=contextTodo
+syn region contextComment display oneline start='^\s*%[CDM]' end='$'
+ \ contains=ALL
syn match contextStatement display '\\[a-zA-Z@]\+' contains=@NoSpell
diff --git a/runtime/syntax/crm.vim b/runtime/syntax/crm.vim
index fdb15046e..35d9e50c5 100644
--- a/runtime/syntax/crm.vim
+++ b/runtime/syntax/crm.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: CRM114
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-27
+" Latest Revision: 2005-07-04
if exists("b:current_syntax")
finish
@@ -12,7 +12,7 @@ set cpo&vim
syn keyword crmTodo contained TODO FIXME XXX NOTE
-syn region crmComment matchgroup=crmComment start='#' end='$' end='\\#'
+syn region crmComment display oneline start='#' end='\\#'
\ contains=crmTodo,@Spell
syn match crmVariable display ':[*#@]:[^:]\{-1,}:'
@@ -23,8 +23,7 @@ syn keyword crmStatement insert noop accept alius alter classify eval exit
syn keyword crmStatement fail fault goto hash intersect isolate input learn
syn keyword crmStatement liaf match output syscall trap union window
-syn region crmRegex matchgroup=crmRegex start='/' skip='\\/' end='/'
- \ contains=crmVariable
+syn region crmRegex start='/' skip='\\/' end='/' contains=crmVariable
syn match crmLabel display '^\s*:[[:graph:]]\+:'
diff --git a/runtime/syntax/cvsrc.vim b/runtime/syntax/cvsrc.vim
index f93ca63a5..d901ae1fd 100644
--- a/runtime/syntax/cvsrc.vim
+++ b/runtime/syntax/cvsrc.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: cvs(1) RC file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:current_syntax")
finish
@@ -10,8 +10,8 @@ endif
let s:cpo_save = &cpo
set cpo&vim
-syn region cvsrcString display start=+"+ skip=+\\\\\|\\\\"+ end=+"\|$+
-syn region cvsrcString display start=+'+ skip=+\\\\\|\\\\'+ end=+'\|$+
+syn region cvsrcString display oneline start=+"+ skip=+\\\\\|\\\\"+ end=+"+
+syn region cvsrcString display oneline start=+'+ skip=+\\\\\|\\\\'+ end=+'+
syn match cvsrcNumber display '\<\d\+\>'
diff --git a/runtime/syntax/dictconf.vim b/runtime/syntax/dictconf.vim
new file mode 100644
index 000000000..21474fa06
--- /dev/null
+++ b/runtime/syntax/dictconf.vim
@@ -0,0 +1,80 @@
+" Vim syntax file
+" Language: dict(1) configuration file
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-06-30
+
+if exists("b:current_syntax")
+ finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+syn keyword dictconfTodo contained TODO FIXME XXX NOTE
+
+syn region dictconfComment display oneline start='#' end='$'
+ \ contains=dictconfTodo,@Spell
+
+syn match dictconfBegin display '^'
+ \ nextgroup=dictconfKeyword,dictconfComment
+ \ skipwhite
+
+syn keyword dictconfKeyword contained server
+ \ nextgroup=dictconfServer skipwhite
+
+syn keyword dictconfKeyword contained pager
+ \ nextgroup=dictconfPager
+
+syn match dictconfServer contained display
+ \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*'
+ \ nextgroup=dictconfServerOptG skipwhite
+
+syn region dictconfServer contained display oneline
+ \ start=+"+ skip=+""+ end=+"+
+ \ nextgroup=dictconfServerOptG skipwhite
+
+syn region dictconfServerOptG contained transparent
+ \ matchgroup=dictconfServerOptsD start='{'
+ \ matchgroup=dictconfServerOptsD end='}'
+ \ contains=dictconfServerOpts,dictconfComment
+
+syn keyword dictconfServerOpts contained port
+ \ nextgroup=dictconfNumber skipwhite
+
+syn keyword dictconfServerOpts contained user
+ \ nextgroup=dictconfUsername skipwhite
+
+syn match dictconfUsername contained display
+ \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*'
+ \ nextgroup=dictconfSecret skipwhite
+syn region dictconfUsername contained display oneline
+ \ start=+"+ skip=+""+ end=+"+
+ \ nextgroup=dictconfSecret skipwhite
+
+syn match dictconfSecret contained display
+ \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*'
+syn region dictconfSecret contained display oneline
+ \ start=+"+ skip=+""+ end=+"+
+
+syn match dictconfNumber contained '\<\d\+\>'
+
+syn match dictconfPager contained display
+ \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*'
+syn region dictconfPager contained display oneline
+ \ start=+"+ skip=+""+ end=+"+
+
+hi def link dictconfTodo Todo
+hi def link dictconfComment Comment
+hi def link dictconfKeyword Keyword
+hi def link dictconfServer String
+hi def link dictconfServerOptsD Delimiter
+hi def link dictconfServerOpts Identifier
+hi def link dictconfUsername String
+hi def link dictconfSecret Special
+hi def link dictconfNumber Number
+hi def link dictconfPager String
+
+let b:current_syntax = "dictconf"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/syntax/dictdconf.vim b/runtime/syntax/dictdconf.vim
new file mode 100644
index 000000000..5651d7c77
--- /dev/null
+++ b/runtime/syntax/dictdconf.vim
@@ -0,0 +1,146 @@
+" Vim syntax file
+" Language: dictd(8) configuration file
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-07-01
+
+if exists("b:current_syntax")
+ finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+syn keyword dictdconfTodo contained TODO FIXME XXX NOTE
+
+syn region dictdconfComment display oneline start='#' end='$'
+ \ contains=dictdconfTodo,dictdconfSpecialC,
+ \ @Spell
+
+syn keyword dictdconfSpecialC LASTLINE
+
+syn match dictdconfBegin display '^'
+ \ nextgroup=dictdconfKeyword,dictdconfComment
+ \ skipwhite
+
+syn keyword dictdconfKeyword contained access
+ \ nextgroup=dictdconfAccessG skipwhite
+
+syn region dictdconfAccessG contained transparent
+ \ matchgroup=dictdconfDelimiter start='{'
+ \ matchgroup=dictdconfDelimiter end='}'
+ \ contains=dictdconfAccess,dictdconfComment
+
+syn keyword dictdconfAccess contained allow deny authonly user
+ \ nextgroup=dictdconfString skipwhite
+
+syn keyword dictdconfKeyword contained database
+ \ nextgroup=dictdconfDatabase skipwhite
+
+syn match dictdconfDatabase contained display
+ \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*'
+ \ nextgroup=dictdconfSpecG skipwhite
+syn region dictdconfDatabase contained display oneline
+ \ start=+"+ skip=+""\|\\\\\|\\"+ end=+"+
+ \ nextgroup=dictdconfSpecG skipwhite
+
+syn region dictdconfSpecG contained transparent
+ \ matchgroup=dictdconfDelimiter start='{'
+ \ matchgroup=dictdconfDelimiter end='}'
+ \ contains=dictdconfSpec,dictdconfAccess,
+ \ dictdconfComment
+
+syn keyword dictdconfSpec contained data index index_suffix index_word
+ \ filter prefilter postfilter name info
+ \ disable_strat
+ \ nextgroup=dictdconfString skipwhite
+
+syn keyword dictdconfSpec contained invisible
+
+syn keyword dictdconfKeyword contained database_virtual
+ \ nextgroup=dictdconfVDatabase skipwhite
+
+syn match dictdconfVDatabase contained display
+ \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*'
+ \ nextgroup=dictdconfVSpecG skipwhite
+syn region dictdconfVDatabase contained display oneline
+ \ start=+"+ skip=+""\|\\\\\|\\"+ end=+"+
+ \ nextgroup=dictdconfVSpecG skipwhite
+
+syn region dictdconfVSpecG contained transparent
+ \ matchgroup=dictdconfDelimiter start='{'
+ \ matchgroup=dictdconfDelimiter end='}'
+ \ contains=dictdconfVSpec,dictdconfAccess,
+ \ dictdconfComment
+
+syn keyword dictdconfVSpec contained name info database_list disable_strat
+ \ nextgroup=dictdconfString skipwhite
+
+syn keyword dictdconfVSpec contained invisible
+
+syn keyword dictdconfKeyword contained database_plugin
+ \ nextgroup=dictdconfPDatabase skipwhite
+
+syn match dictdconfPDatabase contained display
+ \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*'
+ \ nextgroup=dictdconfPSpecG skipwhite
+syn region dictdconfPDatabase contained display oneline
+ \ start=+"+ skip=+""\|\\\\\|\\"+ end=+"+
+ \ nextgroup=dictdconfPSpecG skipwhite
+
+syn region dictdconfPSpecG contained transparent
+ \ matchgroup=dictdconfDelimiter start='{'
+ \ matchgroup=dictdconfDelimiter end='}'
+ \ contains=dictdconfPSpec,dictdconfAccess,
+ \ dictdconfComment
+
+syn keyword dictdconfPSpec contained name info plugin data disable_strat
+ \ nextgroup=dictdconfString skipwhite
+
+syn keyword dictdconfPSpec contained invisible
+
+syn keyword dictdconfKeyword contained database_exit
+
+syn keyword dictdconfKeyword contained site
+ \ nextgroup=dictdconfString skipwhite
+
+syn keyword dictdconfKeyword contained user
+ \ nextgroup=dictdconfUsername skipwhite
+
+syn match dictdconfUsername contained display
+ \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*'
+ \ nextgroup=dictdconfSecret skipwhite
+syn region dictdconfUsername contained display oneline
+ \ start=+"+ skip=+""+ end=+"+
+ \ nextgroup=dictdconfSecret skipwhite
+
+syn match dictdconfSecret contained display
+ \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*'
+syn region dictdconfSecret contained display oneline
+ \ start=+"+ skip=+""+ end=+"+
+
+syn match dictdconfString contained display
+ \ '[[:alnum:]_/.*-][[:alnum:]_/.*-]*'
+syn region dictdconfString contained display oneline
+ \ start=+"+ skip=+""\|\\\\\|\\"+ end=+"+
+
+hi def link dictdconfTodo Todo
+hi def link dictdconfComment Comment
+hi def link dictdconfSpecialC Special
+hi def link dictdconfKeyword Keyword
+hi def link dictdconfIdentifier Identifier
+hi def link dictdconfAccess dictdconfIdentifier
+hi def link dictdconfDatabase dictdconfString
+hi def link dictdconfSpec dictdconfIdentifier
+hi def link dictdconfVDatabase dictdconfDatabase
+hi def link dictdconfVSpec dictdconfSpec
+hi def link dictdconfPDatabase dictdconfDatabase
+hi def link dictdconfPSpec dictdconfSpec
+hi def link dictdconfUsername dictdconfString
+hi def link dictdconfSecret Special
+hi def link dictdconfString String
+hi def link dictdconfDelimiter Delimiter
+
+let b:current_syntax = "dictdconf"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/syntax/elinks.vim b/runtime/syntax/elinks.vim
index 20dff8323..dea04babf 100644
--- a/runtime/syntax/elinks.vim
+++ b/runtime/syntax/elinks.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: elinks(1) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-27
+" Latest Revision: 2005-07-04
if exists("b:current_syntax")
finish
@@ -14,13 +14,13 @@ setlocal iskeyword=@,48-57,_,-
syn keyword elinksTodo contained TODO FIXME XXX NOTE
-syn region elinksComment matchgroup=elinksComment start='#' end='$'
- \ contains=elinksTodo
+syn region elinksComment display oneline start='#' end='$'
+ \ contains=elinksTodo,@Spell
syn match elinksNumber '\<\d\+\>'
-syn region elinksString matchgroup=elinksString start=+"+
- \ skip=+\\\\\|\\"+ end=+"+ contains=@elinksColor
+syn region elinksString start=+"+ skip=+\\\\\|\\"+ end=+"+
+ \ contains=@elinksColor
syn keyword elinksKeyword set bind
diff --git a/runtime/syntax/eterm.vim b/runtime/syntax/eterm.vim
index d24e08a2a..8bc436705 100644
--- a/runtime/syntax/eterm.vim
+++ b/runtime/syntax/eterm.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: eterm(1) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:current_syntax")
finish
@@ -12,10 +12,10 @@ set cpo&vim
syn keyword etermTodo contained TODO FIXME XXX NOTE
-syn region etermComment matchgroup=etermComment start='^#' end='$'
+syn region etermComment display oneline start='^#' end='$'
\ contains=etermTodo,@Spell
-syn match etermMagic display display '^<Eterm-[0-9.]\+>$'
+syn match etermMagic display '^<Eterm-[0-9.]\+>$'
syn match etermNumber contained display '\<\(\d\+\|0x\x\{1,2}\)\>'
@@ -169,7 +169,8 @@ syn match etermImageContrast contained display '\<\(\d\+\|0x\x\{1,2}\)\>'
syn match etermImageGamma contained display '\<\(\d\+\|0x\x\{1,2}\)\>'
\ nextgroup=etermImageGamma skipwhite
-syn region etermImageOptions contained matchgroup=etermImageOptions
+syn region etermImageOptions contained display oneline
+ \ matchgroup=etermImageOptions
\ start='border\|bevel\%(\s\+\%(up\|down\)\)\|padding'
\ end='$' contains=etermNumber
diff --git a/runtime/syntax/group.vim b/runtime/syntax/group.vim
new file mode 100644
index 000000000..9b3e50022
--- /dev/null
+++ b/runtime/syntax/group.vim
@@ -0,0 +1,52 @@
+" Vim syntax file
+" Language: group(5) user group file
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-06-30
+
+if exists("b:current_syntax")
+ finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+syn match groupBegin display '^' nextgroup=groupName
+
+syn match groupName contained display '[a-z_][a-z0-9_-]\{0,15}'
+ \ nextgroup=groupPasswordColon
+
+syn match groupPasswordColon contained display ':'
+ \ nextgroup=groupPassword,groupShadow
+
+syn match groupPassword contained display '[^:]*'
+ \ nextgroup=groupGIDColon
+
+syn match groupShadow contained display '[x*]' nextgroup=groupGIDColon
+
+syn match groupGIDColon contained display ':' nextgroup=groupGID
+
+syn match groupGID contained display '\d\+'
+ \ nextgroup=groupUserListColon
+
+syn match groupUserListColon contained display ':' nextgroup=groupUserList
+
+syn match groupUserList contained '[a-z_][a-z0-9_-]*'
+ \ nextgroup=groupUserListSep
+
+syn match groupUserListSep contained display ',' nextgroup=groupUserList
+
+hi def link groupDelimiter Normal
+hi def link groupName Identifier
+hi def link groupPasswordColon groupDelimiter
+hi def link groupPassword Number
+hi def link groupShadow Special
+hi def link groupGIDColon groupDelimiter
+hi def link groupGID Number
+hi def link groupUserListColon groupDelimiter
+hi def link groupUserList Identifier
+hi def link groupUserListSep groupDelimiter
+
+let b:current_syntax = "group"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/syntax/indent.vim b/runtime/syntax/indent.vim
index 8d822ea47..9310c4914 100644
--- a/runtime/syntax/indent.vim
+++ b/runtime/syntax/indent.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: indent(1) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
" indent_is_bsd: If exists, will change somewhat to match BSD implementation
"
" TODO: is the deny-all (a la lilo.vim nice or no?)...
@@ -21,11 +21,9 @@ syn match indentError '\S\+'
syn keyword indentTodo contained TODO FIXME XXX NOTE
-syn region indentComment matchgroup=indentComment
- \ start='/\*' end='\*/'
+syn region indentComment start='/\*' end='\*/'
\ contains=indentTodo,@Spell
-syn region indentComment matchgroup=indentComment
- \ start='//' skip='\\$' end='$'
+syn region indentComment start='//' skip='\\$' end='$'
\ contains=indentTodo,@Spell
syn keyword indentOptions -bacc --blank-lines-after-ifdefs
diff --git a/runtime/syntax/lftp.vim b/runtime/syntax/lftp.vim
index 0aab71eb2..9b346a139 100644
--- a/runtime/syntax/lftp.vim
+++ b/runtime/syntax/lftp.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: lftp(1) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-27
+" Latest Revision: 2005-07-04
if exists("b:current_syntax")
finish
@@ -12,8 +12,8 @@ set cpo&vim
setlocal iskeyword=@,48-57,-
-syn region lftpComment display oneline matchgroup=lftpComment
- \ start='#' end='$' contains=lftpTodo,@Spell
+syn region lftpComment display oneline start='#' end='$'
+ \ contains=lftpTodo,@Spell
syn keyword lftpTodo contained TODO FIXME XXX NOTE
diff --git a/runtime/syntax/libao.vim b/runtime/syntax/libao.vim
index f4ce623a0..fdf85940b 100644
--- a/runtime/syntax/libao.vim
+++ b/runtime/syntax/libao.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: libao.conf(5) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:current_syntax")
finish
@@ -12,7 +12,7 @@ set cpo&vim
syn keyword libaoTodo contained TODO FIXME XXX NOTE
-syn region libaoComment matchgroup=libaoComment start='^\s*#' end='$'
+syn region libaoComment display oneline start='^\s*#' end='$'
\ contains=libaoTodo,@Spell
syn keyword libaoKeyword default_driver
diff --git a/runtime/syntax/manconf.vim b/runtime/syntax/manconf.vim
new file mode 100644
index 000000000..cdf89b9b3
--- /dev/null
+++ b/runtime/syntax/manconf.vim
@@ -0,0 +1,117 @@
+" Vim syntax file
+" Language: man.conf(5) - man configuration file
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-07-04
+
+if exists("b:current_syntax")
+ finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+syn keyword manconfTodo contained TODO FIXME XXX NOTE
+
+syn region manconfComment display oneline start='^#' end='$'
+ \ contains=manconfTodo,@Spell
+
+if !has("win32") && $OSTYPE =~ 'bsd'
+ syn match manconfBegin display '^'
+ \ nextgroup=manconfKeyword,manconfSection,
+ \ manconfComment skipwhite
+
+ syn keyword manconfKeyword contained _build _crunch
+ \ nextgroup=manconfExtCmd skipwhite
+
+ syn keyword manconfKeyword contained _suffix
+ \ nextgroup=manconfExt skipwhite
+
+ syn keyword manconfKeyword contained _crunch
+
+ syn keyword manconfKeyword contained _subdir _version _whatdb
+ \ nextgroup=manconfPaths skipwhite
+
+ syn match manconfExtCmd contained display '\.\S\+'
+ \ nextgroup=manconfPaths skipwhite
+
+ syn match manconfSection contained '[^#_ \t]\S*'
+ \ nextgroup=manconfPaths skipwhite
+
+ syn keyword manconfSection contained _default
+ \ nextgroup=manconfPaths skipwhite
+
+ syn match manconfPaths contained display '\S\+'
+ \ nextgroup=manconfPaths skipwhite
+
+ syn match manconfExt contained display '\.\S\+'
+
+ hi def link manconfExtCmd Type
+ hi def link manconfSection Identifier
+ hi def link manconfPaths String
+else
+ syn match manconfBegin display '^'
+ \ nextgroup=manconfBoolean,manconfKeyword,
+ \ manconfDecompress,manconfComment skipwhite
+
+ syn keyword manconfBoolean contained FSSTND FHS NOAUTOPATH NOCACHE
+
+ syn keyword manconfKeyword contained MANBIN
+ \ nextgroup=manconfPath skipwhite
+
+ syn keyword manconfKeyword contained MANPATH MANPATH_MAP
+ \ nextgroup=manconfFirstPath skipwhite
+
+ syn keyword manconfKeyword contained APROPOS WHATIS TROFF NROFF JNROFF EQN
+ \ NEQN JNEQN TBL COL REFER PIC VGRIND GRAP
+ \ PAGER BROWSER HTMLPAGER CMP CAT COMPRESS
+ \ DECOMPRESS MANDEFOPTIONS
+ \ nextgroup=manconfCommand skipwhite
+
+ syn keyword manconfKeyword contained COMPRESS_EXT
+ \ nextgroup=manconfExt skipwhite
+
+ syn keyword manconfKeyword contained MANSECT
+ \ nextgroup=manconfManSect skipwhite
+
+ syn match manconfPath contained display '\S\+'
+
+ syn match manconfFirstPath contained display '\S\+'
+ \ nextgroup=manconfSecondPath skipwhite
+
+ syn match manconfSecondPath contained display '\S\+'
+
+ syn match manconfCommand contained display '\%(/[^/ \t]\+\)\+'
+ \ nextgroup=manconfCommandOpt skipwhite
+
+ syn match manconfCommandOpt contained display '\S\+'
+ \ nextgroup=manconfCommandOpt skipwhite
+
+ syn match manconfExt contained display '\.\S\+'
+
+ syn match manconfManSect contained '[^:]\+' nextgroup=manconfManSectSep
+
+ syn match manconfManSectSep contained ':' nextgroup=manconfManSect
+
+ syn match manconfDecompress contained '\.\S\+'
+ \ nextgroup=manconfCommand skipwhite
+
+ hi def link manconfBoolean Boolean
+ hi def link manconfPath String
+ hi def link manconfFirstPath manconfPath
+ hi def link manconfSecondPath manconfPath
+ hi def link manconfCommand String
+ hi def link manconfCommandOpt Special
+ hi def link manconfManSect Identifier
+ hi def link manconfManSectSep Delimiter
+ hi def link manconfDecompress Type
+endif
+
+hi def link manconfTodo Todo
+hi def link manconfComment Comment
+hi def link manconfKeyword Keyword
+hi def link manconfExt Type
+
+let b:current_syntax = "manconf"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/syntax/mplayerconf.vim b/runtime/syntax/mplayerconf.vim
index 856d8ce19..90592060e 100644
--- a/runtime/syntax/mplayerconf.vim
+++ b/runtime/syntax/mplayerconf.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: mplayer(1) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-27
+" Latest Revision: 2005-07-04
if exists("b:current_syntax")
finish
@@ -14,8 +14,7 @@ setlocal iskeyword=@,48-57,-
syn keyword mplayerconfTodo contained TODO FIXME XXX NOTE
-syn region mplayerconfComment display matchgroup=mplayerconfComment
- \ start='#' end='$'
+syn region mplayerconfComment display oneline start='#' end='$'
\ contains=mplayerconfTodo,@Spell
syn keyword mplayerconfPreProc include
diff --git a/runtime/syntax/nanorc.vim b/runtime/syntax/nanorc.vim
new file mode 100644
index 000000000..c13b30b7a
--- /dev/null
+++ b/runtime/syntax/nanorc.vim
@@ -0,0 +1,243 @@
+" Vim syntax file
+" Language: nanorc(5) - GNU nano configuration file
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-06-30
+
+if exists("b:current_syntax")
+ finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+syn keyword nanorcTodo contained TODO FIXME XXX NOTE
+
+syn region nanorcComment display oneline start='^\s*#' end='$'
+ \ contains=nanorcTodo,@Spell
+
+syn match nanorcBegin display '^'
+ \ nextgroup=nanorcKeyword,nanorcComment
+ \ skipwhite
+
+syn keyword nanorcKeyword contained set unset
+ \ nextgroup=nanorcBoolOption,
+ \ nanorcStringOption,nanorcNumberOption
+ \ skipwhite
+
+syn keyword nanorcKeyword contained syntax
+ \ nextgroup=nanorcSynGroupName skipwhite
+
+syn keyword nanorcKeyword contained color
+ \ nextgroup=@nanorcFGColor skipwhite
+
+syn keyword nanorcBoolOption contained autoindent backup const cut
+ \ historylog morespace mouse multibuffer
+ \ noconvert nofollow nohelp nowrap preserve
+ \ rebinddelete regexp smarthome smooth suspend
+ \ tempfile view
+
+syn keyword nanorcStringOption contained backupdir brackets operatingdir
+ \ punct quotestr speller whitespace
+ \ nextgroup=nanorcString skipwhite
+
+syn keyword nanorcNumberOption contained fill tabsize
+ \ nextgroup=nanorcNumber skipwhite
+
+syn region nanorcSynGroupName contained display oneline start=+"+
+ \ end=+"\ze\%([[:blank:]]\|$\)+
+ \ nextgroup=nanorcRegexes skipwhite
+
+syn match nanorcString contained display '".*"'
+
+syn region nanorcRegexes contained display oneline start=+"+
+ \ end=+"\ze\%([[:blank:]]\|$\)+
+ \ nextgroup=nanorcRegexes skipwhite
+
+syn match nanorcNumber contained display '[+-]\=\<\d\+\>'
+
+syn cluster nanorcFGColor contains=nanorcFGWhite,nanorcFGBlack,
+ \ nanorcFGRed,nanorcFGBlue,nanorcFGGreen,
+ \ nanorcFGYellow,nanorcFGMagenta,nanorcFGCyan,
+ \ nanorcFGBWhite,nanorcFGBBlack,nanorcFGBRed,
+ \ nanorcFGBBlue,nanorcFGBGreen,nanorcFGBYellow,
+ \ nanorcFGBMagenta,nanorcFGBCyan
+
+syn keyword nanorcFGWhite contained white
+ \ nextgroup=@nanorcFGSpec skipwhite
+
+syn keyword nanorcFGBlack contained black
+ \ nextgroup=@nanorcFGSpec skipwhite
+
+syn keyword nanorcFGRed contained red
+ \ nextgroup=@nanorcFGSpec skipwhite
+
+syn keyword nanorcFGBlue contained blue
+ \ nextgroup=@nanorcFGSpec skipwhite
+
+syn keyword nanorcFGGreen contained green
+ \ nextgroup=@nanorcFGSpec skipwhite
+
+syn keyword nanorcFGYellow contained yellow
+ \ nextgroup=@nanorcFGSpec skipwhite
+
+syn keyword nanorcFGMagenta contained magenta
+ \ nextgroup=@nanorcFGSpec skipwhite
+
+syn keyword nanorcFGCyan contained cyan
+ \ nextgroup=@nanorcFGSpec skipwhite
+
+syn keyword nanorcFGBWhite contained brightwhite
+ \ nextgroup=@nanorcFGSpec skipwhite
+
+syn keyword nanorcFGBBlack contained brightblack
+ \ nextgroup=@nanorcFGSpec skipwhite
+
+syn keyword nanorcFGBRed contained brightred
+ \ nextgroup=@nanorcFGSpec skipwhite
+
+syn keyword nanorcFGBBlue contained brightblue
+ \ nextgroup=@nanorcFGSpec skipwhite
+
+syn keyword nanorcFGBGreen contained brightgreen
+ \ nextgroup=@nanorcFGSpec skipwhite
+
+syn keyword nanorcFGBYellow contained brightyellow
+ \ nextgroup=@nanorcFGSpec skipwhite
+
+syn keyword nanorcFGBMagenta contained brightmagenta
+ \ nextgroup=@nanorcFGSpec skipwhite
+
+syn keyword nanorcFGBCyan contained brightcyan
+ \ nextgroup=@nanorcFGSpec skipwhite
+
+syn cluster nanorcBGColor contains=nanorcBGWhite,nanorcBGBlack,
+ \ nanorcBGRed,nanorcBGBlue,nanorcBGGreen,
+ \ nanorcBGYellow,nanorcBGMagenta,nanorcBGCyan,
+ \ nanorcBGBWhite,nanorcBGBBlack,nanorcBGBRed,
+ \ nanorcBGBBlue,nanorcBGBGreen,nanorcBGBYellow,
+ \ nanorcBGBMagenta,nanorcBGBCyan
+
+syn keyword nanorcBGWhite contained white
+ \ nextgroup=@nanorcBGSpec skipwhite
+
+syn keyword nanorcBGBlack contained black
+ \ nextgroup=@nanorcBGSpec skipwhite
+
+syn keyword nanorcBGRed contained red
+ \ nextgroup=@nanorcBGSpec skipwhite
+
+syn keyword nanorcBGBlue contained blue
+ \ nextgroup=@nanorcBGSpec skipwhite
+
+syn keyword nanorcBGGreen contained green
+ \ nextgroup=@nanorcBGSpec skipwhite
+
+syn keyword nanorcBGYellow contained yellow
+ \ nextgroup=@nanorcBGSpec skipwhite
+
+syn keyword nanorcBGMagenta contained magenta
+ \ nextgroup=@nanorcBGSpec skipwhite
+
+syn keyword nanorcBGCyan contained cyan
+ \ nextgroup=@nanorcBGSpec skipwhite
+
+syn keyword nanorcBGBWhite contained brightwhite
+ \ nextgroup=@nanorcBGSpec skipwhite
+
+syn keyword nanorcBGBBlack contained brightblack
+ \ nextgroup=@nanorcBGSpec skipwhite
+
+syn keyword nanorcBGBRed contained brightred
+ \ nextgroup=@nanorcBGSpec skipwhite
+
+syn keyword nanorcBGBBlue contained brightblue
+ \ nextgroup=@nanorcBGSpec skipwhite
+
+syn keyword nanorcBGBGreen contained brightgreen
+ \ nextgroup=@nanorcBGSpec skipwhite
+
+syn keyword nanorcBGBYellow contained brightyellow
+ \ nextgroup=@nanorcBGSpec skipwhite
+
+syn keyword nanorcBGBMagenta contained brightmagenta
+ \ nextgroup=@nanorcBGSpec skipwhite
+
+syn keyword nanorcBGBCyan contained brightcyan
+ \ nextgroup=@nanorcBGSpec skipwhite
+
+syn match nanorcBGColorSep contained ',' nextgroup=@nanorcBGColor
+
+syn cluster nanorcFGSpec contains=nanorcBGColorSep,nanorcRegexes,
+ \ nanorcStartRegion
+
+syn cluster nanorcBGSpec contains=nanorcRegexes,nanorcStartRegion
+
+syn keyword nanorcStartRegion contained start nextgroup=nanorcStartRegionEq
+
+syn match nanorcStartRegionEq contained '=' nextgroup=nanorcRegion
+
+syn region nanorcRegion contained display oneline start=+"+
+ \ end=+"\ze\%([[:blank:]]\|$\)+
+ \ nextgroup=nanorcEndRegion skipwhite
+
+syn keyword nanorcEndRegion contained end nextgroup=nanorcStartRegionEq
+
+syn match nanorcEndRegionEq contained '=' nextgroup=nanorcRegex
+
+syn region nanorcRegex contained display oneline start=+"+
+ \ end=+"\ze\%([[:blank:]]\|$\)+
+
+hi def link nanorcTodo Todo
+hi def link nanorcComment Comment
+hi def link nanorcKeyword Keyword
+hi def link nanorcBoolOption Identifier
+hi def link nanorcStringOption Identifier
+hi def link nanorcNumberOption Identifier
+hi def link nanorcSynGroupName String
+hi def link nanorcString String
+hi def link nanorcRegexes nanorcString
+hi def link nanorcNumber Number
+hi def nanorcFGWhite ctermfg=Gray guifg=Gray
+hi def nanorcFGBlack ctermfg=Black guifg=Black
+hi def nanorcFGRed ctermfg=DarkRed guifg=DarkRed
+hi def nanorcFGBlue ctermfg=DarkBlue guifg=DarkBlue
+hi def nanorcFGGreen ctermfg=DarkGreen guifg=DarkGreen
+hi def nanorcFGYellow ctermfg=Brown guifg=Brown
+hi def nanorcFGMagenta ctermfg=DarkMagenta guifg=DarkMagenta
+hi def nanorcFGCyan ctermfg=DarkCyan guifg=DarkCyan
+hi def nanorcFGBWhite ctermfg=White guifg=White
+hi def nanorcFGBBlack ctermfg=DarkGray guifg=DarkGray
+hi def nanorcFGBRed ctermfg=Red guifg=Red
+hi def nanorcFGBBlue ctermfg=Blue guifg=Blue
+hi def nanorcFGBGreen ctermfg=Green guifg=Green
+hi def nanorcFGBYellow ctermfg=Yellow guifg=Yellow
+hi def nanorcFGBMagenta ctermfg=Magenta guifg=Magenta
+hi def nanorcFGBCyan ctermfg=Cyan guifg=Cyan
+hi def link nanorcBGColorSep Normal
+hi def nanorcBGWhite ctermbg=Gray guibg=Gray
+hi def nanorcBGBlack ctermbg=Black guibg=Black
+hi def nanorcBGRed ctermbg=DarkRed guibg=DarkRed
+hi def nanorcBGBlue ctermbg=DarkBlue guibg=DarkBlue
+hi def nanorcBGGreen ctermbg=DarkGreen guibg=DarkGreen
+hi def nanorcBGYellow ctermbg=Brown guibg=Brown
+hi def nanorcBGMagenta ctermbg=DarkMagenta guibg=DarkMagenta
+hi def nanorcBGCyan ctermbg=DarkCyan guibg=DarkCyan
+hi def nanorcBGBWhite ctermbg=White guibg=White
+hi def nanorcBGBBlack ctermbg=DarkGray guibg=DarkGray
+hi def nanorcBGBRed ctermbg=Red guibg=Red
+hi def nanorcBGBBlue ctermbg=Blue guibg=Blue
+hi def nanorcBGBGreen ctermbg=Green guibg=Green
+hi def nanorcBGBYellow ctermbg=Yellow guibg=Yellow
+hi def nanorcBGBMagenta ctermbg=Magenta guibg=Magenta
+hi def nanorcBGBCyan ctermbg=Cyan guibg=Cyan
+hi def link nanorcStartRegion Type
+hi def link nanorcStartRegionEq Operator
+hi def link nanorcRegion nanorcString
+hi def link nanorcEndRegion Type
+hi def link nanorcEndRegionEq Operator
+hi def link nanorcRegex nanoRegexes
+
+let b:current_syntax = "nanorc"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/syntax/passwd.vim b/runtime/syntax/passwd.vim
new file mode 100644
index 000000000..ffb979f71
--- /dev/null
+++ b/runtime/syntax/passwd.vim
@@ -0,0 +1,71 @@
+" Vim syntax file
+" Language: passwd(5) password file
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-06-30
+
+if exists("b:current_syntax")
+ finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+syn match passwdBegin display '^' nextgroup=passwdAccount
+
+syn match passwdAccount contained display '[a-z_][a-z0-9_-]*'
+ \ nextgroup=passwdPasswordColon
+
+syn match passwdPasswordColon contained display ':'
+ \ nextgroup=passwdPassword,passwdShadow
+
+syn match passwdPassword contained display '[^:]\+'
+ \ nextgroup=passwdUIDColon
+
+syn match passwdShadow contained display '[x*!]'
+ \ nextgroup=passwdUIDColon
+
+syn match passwdUIDColon contained display ':' nextgroup=passwdUID
+
+syn match passwdUID contained display '\d\+'
+ \ nextgroup=passwdGIDColon
+
+syn match passwdGIDColon contained display ':' nextgroup=passwdGID
+
+syn match passwdGID contained display '\d\+'
+ \ nextgroup=passwdGecosColon
+
+syn match passwdGecosColon contained display ':' nextgroup=passwdGecos
+
+syn match passwdGecos contained display '[^:]*'
+ \ nextgroup=passwdDirColon
+
+syn match passwdDirColon contained display ':' nextgroup=passwdDir
+
+syn match passwdDir contained display '/[^:]*'
+ \ nextgroup=passwdShellColon
+
+syn match passwdShellColon contained display ':'
+ \ nextgroup=passwdShell
+
+syn match passwdShell contained display '[/*][^:]*'
+
+hi def link passwdColon Normal
+hi def link passwdAccount Identifier
+hi def link passwdPasswordColon passwdColon
+hi def link passwdPassword Number
+hi def link passwdShadow Special
+hi def link passwdUIDColon passwdColon
+hi def link passwdUID Number
+hi def link passwdGIDColon passwdColon
+hi def link passwdGID Number
+hi def link passwdGecosColon passwdColon
+hi def link passwdGecos Comment
+hi def link passwdDirColon passwdColon
+hi def link passwdDir Type
+hi def link passwdShellColon passwdColon
+hi def link passwdShell Operator
+
+let b:current_syntax = "passwd"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/syntax/pinfo.vim b/runtime/syntax/pinfo.vim
index dc76e9fbf..88d490cc2 100644
--- a/runtime/syntax/pinfo.vim
+++ b/runtime/syntax/pinfo.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: pinfo(1) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-28
+" Latest Revision: 2005-07-04
if exists("b:current_syntax")
finish
@@ -73,8 +73,7 @@ syn keyword pinfoSpecialKeys KEY_BREAK KEY_DOWN KEY_UP KEY_LEFT KEY_RIGHT
\ KEY_PPAGE KEY_END KEY_IC KEY_DC
syn region pinfoSpecialKeys matchgroup=pinfoSpecialKeys transparent
\ start=+KEY_\%(F\|CTRL\|ALT\)(+ end=+)+
-syn region pinfoSimpleKey matchgroup=pinfoSimpleKey start=+'+
- \ skip=+\\'+ end=+'+
+syn region pinfoSimpleKey start=+'+ skip=+\\'+ end=+'+
\ contains=pinfoSimpleKeyEscape
syn match pinfoSimpleKeyEscape +\\[\\nt']+
syn match pinfoKeycode '\<\d\+\>'
diff --git a/runtime/syntax/protocols.vim b/runtime/syntax/protocols.vim
new file mode 100644
index 000000000..ab586bcff
--- /dev/null
+++ b/runtime/syntax/protocols.vim
@@ -0,0 +1,44 @@
+" Vim syntax file
+" Language: protocols(5) - Internet protocols definition file
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-06-30
+
+if exists("b:current_syntax")
+ finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+syn match protocolsBegin display '^'
+ \ nextgroup=protocolsName,protocolsComment
+
+syn match protocolsName contained display '[[:graph:]]\+'
+ \ nextgroup=protocolsPort skipwhite
+
+syn match protocolsPort contained display '\d\+'
+ \ nextgroup=protocolsAliases,protocolsComment
+ \ skipwhite
+
+syn match protocolsAliases contained display '\S\+'
+ \ nextgroup=protocolsAliases,protocolsComment
+ \ skipwhite
+
+syn keyword protocolsTodo contained TODO FIXME XXX NOTE
+
+syn region protocolsComment display oneline start='#' end='$'
+ \ contains=protocolsTodo,@Spell
+
+hi def link protocolsTodo Todo
+hi def link protocolsComment Comment
+hi def link protocolsName Identifier
+hi def link protocolsPort Number
+hi def link protocolsPPDiv Delimiter
+hi def link protocolsPPDivDepr Error
+hi def link protocolsProtocol Type
+hi def link protocolsAliases Macro
+
+let b:current_syntax = "protocols"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/syntax/racc.vim b/runtime/syntax/racc.vim
index 064489564..a8a8c055d 100644
--- a/runtime/syntax/racc.vim
+++ b/runtime/syntax/racc.vim
@@ -1,7 +1,7 @@
" Vim default file
" Language: Racc input file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:current_syntax")
finish
@@ -12,9 +12,9 @@ set cpo&vim
syn keyword raccTodo contained TODO FIXME XXX NOTE
-syn region raccComment matchgroup=raccComment start='/\*' end='\*/'
+syn region raccComment start='/\*' end='\*/'
\ contains=raccTodo,@Spell
-syn region raccComment matchgroup=raccComment start='#' end='$'
+syn region raccComment display oneline start='#' end='$'
\ contains=raccTodo,@Spell
syn region raccClass transparent matchgroup=raccKeyword
@@ -77,10 +77,10 @@ syn match raccTargetS contained '\<\l[a-z0-9]*\>'
syn match raccSpecial contained '\\["'\\]'
-syn region raccString matchgroup=raccString start=+"+ skip=+\\\\\|\\"+
- \ end=+"+ contains=raccSpecial
-syn region raccString matchgroup=raccString start=+'+ skip=+\\\\\|\\'+
- \ end=+'+ contains=raccSpecial
+syn region raccString start=+"+ skip=+\\\\\|\\"+ end=+"+
+ \ contains=raccSpecial
+syn region raccString start=+'+ skip=+\\\\\|\\'+ end=+'+
+ \ contains=raccSpecial
syn region raccRules transparent matchgroup=raccKeyword start='\<rule\>'
\ end='\<end\>' contains=raccComment,raccString,
diff --git a/runtime/syntax/readline.vim b/runtime/syntax/readline.vim
index cc4d86d62..cd7b10f4a 100644
--- a/runtime/syntax/readline.vim
+++ b/runtime/syntax/readline.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: readline(3) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
" readline_has_bash - if defined add support for bash specific
" settings/functions
@@ -16,8 +16,7 @@ setlocal iskeyword=@,48-57,-
syn keyword readlineTodo contained TODO FIXME XXX NOTE
-syn region readlineComment display oneline matchgroup=readlineComment
- \ start='^\s*#' end='$'
+syn region readlineComment display oneline start='^\s*#' end='$'
\ contains=readlineTodo,@Spell
syn match readlineString '^\s*[A-Za-z-]\+:'me=e-1 contains=readlineKeys
diff --git a/runtime/syntax/rnc.vim b/runtime/syntax/rnc.vim
index 99f7f19fa..3758ec5b8 100644
--- a/runtime/syntax/rnc.vim
+++ b/runtime/syntax/rnc.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: Relax NG compact syntax
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-27
+" Latest Revision: 2005-07-04
if exists("b:current_syntax")
finish
@@ -14,7 +14,7 @@ setlocal iskeyword=@,48-57,_,-,.
syn keyword rncTodo contained TODO FIXME XXX NOTE
-syn region rncComment matchgroup=rncComment start='^\s*#' end='$'
+syn region rncComment display oneline start='^\s*#' end='$'
\ contains=rncTodo,@Spell
syn match rncOperator display '[-|,&+?*~]'
@@ -30,12 +30,12 @@ syn match rncSpecial display '\\x{\x\+}'
syn region rncAnnotation transparent start='\[' end='\]'
\ contains=ALLBUT,rncComment,rncTodo
-syn region rncLiteral matchgroup=rncLiteral oneline start=+"+ end=+"+
+syn region rncLiteral display oneline start=+"+ end=+"+
\ contains=rncSpecial
-syn region rncLiteral matchgroup=rncLiteral oneline start=+'+ end=+'+
-syn region rncLiteral matchgroup=rncLiteral start=+"""+ end=+"""+
+syn region rncLiteral display oneline start=+'+ end=+'+
+syn region rncLiteral display oneline start=+"""+ end=+"""+
\ contains=rncSpecial
-syn region rncLiteral matchgroup=rncLiteral start=+'''+ end=+'''+
+syn region rncLiteral display oneline start=+'''+ end=+'''+
syn match rncDelimiter display '[{},()]'
diff --git a/runtime/syntax/rst.vim b/runtime/syntax/rst.vim
index a1b4429cd..2336783f5 100644
--- a/runtime/syntax/rst.vim
+++ b/runtime/syntax/rst.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: reStructuredText documentation format
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:current_syntax")
finish
@@ -14,8 +14,7 @@ syn keyword rstTodo contained FIXME TODO XXX NOTE
syn case ignore
-syn region rstComment matchgroup=rstComment
- \ start='^\.\.\%( \%([a-z0-9_.-]\+::\)\@!\|$\)'
+syn region rstComment start='^\.\.\%( \%([a-z0-9_.-]\+::\)\@!\|$\)'
\ end='^\s\@!' contains=rstTodo
syn cluster rstCruft contains=rstFootnoteLabel,rstCitationLabel,
diff --git a/runtime/syntax/screen.vim b/runtime/syntax/screen.vim
index 553d1d517..1baaa5b16 100644
--- a/runtime/syntax/screen.vim
+++ b/runtime/syntax/screen.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: screen(1) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:current_syntax")
finish
@@ -14,15 +14,13 @@ syn match screenEscape '\\.'
syn keyword screenTodo contained TODO FIXME XXX NOTE
-syn region screenComment display oneline matchgroup=screenComment
- \ start='#' end='$' contains=screenTodo,@Spell
+syn region screenComment display oneline start='#' end='$'
+ \ contains=screenTodo,@Spell
-syn region screenString display oneline matchgroup=screenString
- \ start=+"+ skip=+\\"+ end=+"\|$+
+syn region screenString display oneline start=+"+ skip=+\\"+ end=+"+
\ contains=screenVariable,screenSpecial
-syn region screenLiteral display oneline matchgroup=screenLiteral
- \ start=+'+ skip=+\\'+ end=+'\|$+
+syn region screenLiteral display oneline start=+'+ skip=+\\'+ end=+'+
syn match screenVariable contained display '$\(\h\w*\|{\h\w*}\)'
diff --git a/runtime/syntax/sensors.vim b/runtime/syntax/sensors.vim
new file mode 100644
index 000000000..41c13e800
--- /dev/null
+++ b/runtime/syntax/sensors.vim
@@ -0,0 +1,52 @@
+" Vim syntax file
+" Language: sensors.conf(5) - libsensors configuration file
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-07-04
+
+if exists("b:current_syntax")
+ finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+syn keyword sensorsTodo contained TODO FIXME XXX NOTE
+
+syn region sensorsComment display oneline start='#' end='$'
+ \ contains=sensorsTodo,@Spell
+
+
+syn keyword sensorsKeyword bus chip label compute ignore set
+
+syn region sensorsName display oneline
+ \ start=+"+ skip=+\\\\\|\\"+ end=+"+
+ \ contains=sensorsNameSpecial
+syn match sensorsName display '\w\+'
+
+syn match sensorsNameSpecial display '\\["\\rnt]'
+
+syn match sensorsLineContinue '\\$'
+
+syn match sensorsNumber display '\d*.\d\+\>'
+
+syn match sensorsRealWorld display '@'
+
+syn match sensorsOperator display '[+*/-]'
+
+syn match sensorsDelimiter display '[()]'
+
+hi def link sensorsTodo Todo
+hi def link sensorsComment Comment
+hi def link sensorsKeyword Keyword
+hi def link sensorsName String
+hi def link sensorsNameSpecial SpecialChar
+hi def link sensorsLineContinue Special
+hi def link sensorsNumber Number
+hi def link sensorsRealWorld Identifier
+hi def link sensorsOperator Normal
+hi def link sensorsDelimiter Normal
+
+let b:current_syntax = "sensors"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/syntax/services.vim b/runtime/syntax/services.vim
new file mode 100644
index 000000000..a2db7b1ac
--- /dev/null
+++ b/runtime/syntax/services.vim
@@ -0,0 +1,54 @@
+" Vim syntax file
+" Language: services(5) - Internet network services list
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-06-30
+
+if exists("b:current_syntax")
+ finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+syn match servicesBegin display '^'
+ \ nextgroup=servicesName,servicesComment
+
+syn match servicesName contained display '[[:graph:]]\+'
+ \ nextgroup=servicesPort skipwhite
+
+syn match servicesPort contained display '\d\+'
+ \ nextgroup=servicesPPDiv,servicesPPDivDepr
+ \ skipwhite
+
+syn match servicesPPDiv contained display '/'
+ \ nextgroup=servicesProtocol skipwhite
+
+syn match servicesPPDivDepr contained display ','
+ \ nextgroup=servicesProtocol skipwhite
+
+syn match servicesProtocol contained display '\S\+'
+ \ nextgroup=servicesAliases,servicesComment
+ \ skipwhite
+
+syn match servicesAliases contained display '\S\+'
+ \ nextgroup=servicesAliases,servicesComment
+ \ skipwhite
+
+syn keyword servicesTodo contained TODO FIXME XXX NOTE
+
+syn region servicesComment display oneline start='#' end='$'
+ \ contains=servicesTodo,@Spell
+
+hi def link servicesTodo Todo
+hi def link servicesComment Comment
+hi def link servicesName Identifier
+hi def link servicesPort Number
+hi def link servicesPPDiv Delimiter
+hi def link servicesPPDivDepr Error
+hi def link servicesProtocol Type
+hi def link servicesAliases Macro
+
+let b:current_syntax = "services"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/syntax/setserial.vim b/runtime/syntax/setserial.vim
new file mode 100644
index 000000000..6d410f57b
--- /dev/null
+++ b/runtime/syntax/setserial.vim
@@ -0,0 +1,120 @@
+" Vim syntax file
+" Language: setserial(8) configuration file
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-07-04
+
+if exists("b:current_syntax")
+ finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+syn match setserialBegin display '^'
+ \ nextgroup=setserialDevice,setserialComment
+ \ skipwhite
+
+syn match setserialDevice contained display '\%(/[^ \t/]*\)\+'
+ \ nextgroup=setserialParameter skipwhite
+
+syn keyword setserialParameter contained port irq baud_base divisor
+ \ close_delay closing_wait rx_trigger
+ \ tx_trigger flow_off flow_on rx_timeout
+ \ nextgroup=setserialNumber skipwhite
+
+syn keyword setserialParameter contained uart
+ \ nextgroup=setserialUARTType skipwhite
+
+syn keyword setserialParameter contained autoconfig auto_irq skip_test
+ \ spd_hi spd_vhi spd_shi spd_warp spd_cust
+ \ spd_normal sak fourport session_lockout
+ \ pgrp_lockout hup_notify split_termios
+ \ callout_nohup low_latency
+ \ nextgroup=setserialParameter skipwhite
+
+syn match setserialParameter contained display
+ \ '\^\%(auto_irq\|skip_test\|sak\|fourport\)'
+ \ contains=setserialNegation
+ \ nextgroup=setserialParameter skipwhite
+
+syn match setserialParameter contained display
+ \ '\^\%(session_lockout\|pgrp_lockout\)'
+ \ contains=setserialNegation
+ \ nextgroup=setserialParameter skipwhite
+
+syn match setserialParameter contained display
+ \ '\^\%(hup_notify\|split_termios\)'
+ \ contains=setserialNegation
+ \ nextgroup=setserialParameter skipwhite
+
+syn match setserialParameter contained display
+ \ '\^\%(callout_nohup\|low_latency\)'
+ \ contains=setserialNegation
+ \ nextgroup=setserialParameter skipwhite
+
+syn keyword setserialParameter contained set_multiport
+ \ nextgroup=setserialMultiport skipwhite
+
+syn match setserialNumber contained display '\<\d\+\>'
+ \ nextgroup=setserialParameter skipwhite
+syn match setserialNumber contained display '0x\x\+'
+ \ nextgroup=setserialParameter skipwhite
+
+syn keyword setserialUARTType contained none
+
+syn match setserialUARTType contained display
+ \ '8250\|16[4789]50\|16550A\=\|16650\%(V2\)\='
+ \ nextgroup=setserialParameter skipwhite
+
+syn match setserialUARTType contained display '166[59]4'
+ \ nextgroup=setserialParameter skipwhite
+
+syn match setserialNegation contained display '\^'
+
+syn match setserialMultiport contained '\<port\d\+\>'
+ \ nextgroup=setserialPort skipwhite
+
+syn match setserialPort contained display '\<\d\+\>'
+ \ nextgroup=setserialMask skipwhite
+syn match setserialPort contained display '0x\x\+'
+ \ nextgroup=setserialMask skipwhite
+
+syn match setserialMask contained '\<mask\d\+\>'
+ \ nextgroup=setserialBitMask skipwhite
+
+syn match setserialBitMask contained display '\<\d\+\>'
+ \ nextgroup=setserialMatch skipwhite
+syn match setserialBitMask contained display '0x\x\+'
+ \ nextgroup=setserialMatch skipwhite
+
+syn match setserialMatch contained '\<match\d\+\>'
+ \ nextgroup=setserialMatchBits skipwhite
+
+syn match setserialMatchBits contained display '\<\d\+\>'
+ \ nextgroup=setserialMultiport skipwhite
+syn match setserialMatchBits contained display '0x\x\+'
+ \ nextgroup=setserialMultiport skipwhite
+
+syn keyword setserialTodo contained TODO FIXME XXX NOTE
+
+syn region setserialComment display oneline start='^\s*#' end='$'
+ \ contains=setserialTodo,@Spell
+
+hi def link setserialTodo Todo
+hi def link setserialComment Comment
+hi def link setserialDevice Normal
+hi def link setserialParameter Identifier
+hi def link setserialNumber Number
+hi def link setserialUARTType Type
+hi def link setserialNegation Operator
+hi def link setserialMultiport Type
+hi def link setserialPort setserialNumber
+hi def link setserialMask Type
+hi def link setserialBitMask setserialNumber
+hi def link setserialMatch Type
+hi def link setserialMatchBits setserialNumber
+
+let b:current_syntax = "setserial"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/syntax/sieve.vim b/runtime/syntax/sieve.vim
index 1ce67137c..fa369fc73 100644
--- a/runtime/syntax/sieve.vim
+++ b/runtime/syntax/sieve.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: Sieve filtering language input file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:current_syntax")
finish
@@ -12,9 +12,8 @@ set cpo&vim
syn keyword sieveTodo contained TODO FIXME XXX NOTE
-syn region sieveComment matchgroup=sieveComment start='/\*' end='\*/'
- \ contains=sieveTodo,@Spell
-syn region sieveComment matchgroup=sieveComment start='#' end='$'
+syn region sieveComment start='/\*' end='\*/' contains=sieveTodo,@Spell
+syn region sieveComment display oneline start='#' end='$'
\ contains=sieveTodo,@Spell
syn case ignore
@@ -25,9 +24,9 @@ syn match sieveNumber display '\<\d\+[KMG]\=\>'
syn match sieveSpecial display '\\["\\]'
-syn region sieveString matchgroup=sieveString start=+"+
- \ skip=+\\\\\|\\"+ end=+"+ contains=sieveSpecial
-syn region sieveString matchgroup=sieveString start='text:' end='\n.\n'
+syn region sieveString start=+"+ skip=+\\\\\|\\"+ end=+"+
+ \ contains=sieveSpecial
+syn region sieveString start='text:' end='\n.\n'
syn keyword sieveConditional if elsif else
syn keyword sieveTest address allof anyof envelope exists false header
diff --git a/runtime/syntax/slpconf.vim b/runtime/syntax/slpconf.vim
new file mode 100644
index 000000000..4b3c5a17a
--- /dev/null
+++ b/runtime/syntax/slpconf.vim
@@ -0,0 +1,273 @@
+" Vim syntax file
+" Language: RFC 2614 - An API for Service Location configuration file
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-07-04
+
+if exists("b:current_syntax")
+ finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+syn keyword slpconfTodo contained TODO FIXME XXX NOTE
+
+syn region slpconfComment display oneline start='^[#;]' end='$'
+ \ contains=slpconfTodo,@Spell
+
+syn match slpconfBegin display '^'
+ \ nextgroup=slpconfTag,
+ \ slpconfComment skipwhite
+
+syn keyword slpconfTag contained net
+ \ nextgroup=slpconfNetTagDot
+
+syn match slpconfNetTagDot contained display '.'
+ \ nextgroup=slpconfNetTag
+
+syn keyword slpconfNetTag contained slp
+ \ nextgroup=slpconfNetSlpTagdot
+
+syn match slpconfNetSlpTagDot contained display '.'
+ \ nextgroup=slpconfNetSlpTag
+
+syn keyword slpconfNetSlpTag contained isDA traceDATraffic traceMsg
+ \ traceDrop traceReg isBroadcastOnly
+ \ passiveDADetection securityEnabled
+ \ nextgroup=slpconfBooleanEq,slpconfBooleanHome
+ \ skipwhite
+
+syn match slpconfBooleanHome contained display
+ \ '\.\d\{1,3}\%(\.\d\{1,3}\)\{3}'
+ \ nextgroup=slpconfBooleanEq skipwhite
+
+syn match slpconfBooleanEq contained display '='
+ \ nextgroup=slpconfBoolean skipwhite
+
+syn keyword slpconfBoolean contained true false TRUE FALSE
+
+syn keyword slpconfNetSlpTag contained DAHeartBeat multicastTTL
+ \ DAActiveDiscoveryInterval
+ \ multicastMaximumWait multicastTimeouts
+ \ randomWaitBound MTU maxResults
+ \ nextgroup=slpconfIntegerEq,slpconfIntegerHome
+ \ skipwhite
+
+syn match slpconfIntegerHome contained display
+ \ '\.\d\{1,3}\%(\.\d\{1,3}\)\{3}'
+ \ nextgroup=slpconfIntegerEq skipwhite
+
+syn match slpconfIntegerEq contained display '='
+ \ nextgroup=slpconfInteger skipwhite
+
+syn match slpconfInteger contained display '\<\d\+\>'
+
+syn keyword slpconfNetSlpTag contained DAAttributes SAAttributes
+ \ nextgroup=slpconfAttrEq,slpconfAttrHome
+ \ skipwhite
+
+syn match slpconfAttrHome contained display
+ \ '\.\d\{1,3}\%(\.\d\{1,3}\)\{3}'
+ \ nextgroup=slpconfAttrEq skipwhite
+
+syn match slpconfAttrEq contained display '='
+ \ nextgroup=slpconfAttrBegin skipwhite
+
+syn match slpconfAttrBegin contained display '('
+ \ nextgroup=slpconfAttrTag skipwhite
+
+syn match slpconfAttrTag contained display
+ \ '[^* \t_(),\\!<=>~[:cntrl:]]\+'
+ \ nextgroup=slpconfAttrTagEq skipwhite
+
+syn match slpconfAttrTagEq contained display '='
+ \ nextgroup=@slpconfAttrValue skipwhite
+
+syn cluster slpconfAttrValueCon contains=slpconfAttrValueSep,slpconfAttrEnd
+
+syn cluster slpconfAttrValue contains=slpconfAttrIValue,slpconfAttrSValue,
+ \ slpconfAttrBValue,slpconfAttrSSValue
+
+syn match slpconfAttrSValue contained display '[^ (),\\!<=>~[:cntrl:]]\+'
+ \ nextgroup=@slpconfAttrValueCon skipwhite
+
+syn match slpconfAttrSSValue contained display '\\FF\%(\\\x\x\)\+'
+ \ nextgroup=@slpconfAttrValueCon skipwhite
+
+syn match slpconfAttrIValue contained display '[-]\=\d\+\>'
+ \ nextgroup=@slpconfAttrValueCon skipwhite
+
+syn keyword slpconfAttrBValue contained true false
+ \ nextgroup=@slpconfAttrValueCon skipwhite
+
+syn match slpconfAttrValueSep contained display ','
+ \ nextgroup=@slpconfAttrValue skipwhite
+
+syn match slpconfAttrEnd contained display ')'
+ \ nextgroup=slpconfAttrSep skipwhite
+
+syn match slpconfAttrSep contained display ','
+ \ nextgroup=slpconfAttrBegin skipwhite
+
+syn keyword slpconfNetSlpTag contained useScopes typeHint
+ \ nextgroup=slpconfStringsEq,slpconfStringsHome
+ \ skipwhite
+
+syn match slpconfStringsHome contained display
+ \ '\.\d\{1,3}\%(\.\d\{1,3}\)\{3}'
+ \ nextgroup=slpconfStringsEq skipwhite
+
+syn match slpconfStringsEq contained display '='
+ \ nextgroup=slpconfStrings skipwhite
+
+syn match slpconfStrings contained display
+ \ '\%([[:digit:][:alpha:]]\|[!-+./:-@[-`{-~-]\|\\\x\x\)\+'
+ \ nextgroup=slpconfStringsSep skipwhite
+
+syn match slpconfStringsSep contained display ','
+ \ nextgroup=slpconfStrings skipwhite
+
+syn keyword slpconfNetSlpTag contained DAAddresses
+ \ nextgroup=slpconfAddressesEq,slpconfAddrsHome
+ \ skipwhite
+
+syn match slpconfAddrsHome contained display
+ \ '\.\d\{1,3}\%(\.\d\{1,3}\)\{3}'
+ \ nextgroup=slpconfAddressesEq skipwhite
+
+syn match slpconfAddressesEq contained display '='
+ \ nextgroup=@slpconfAddresses skipwhite
+
+syn cluster slpconfAddresses contains=slpconfFQDNs,slpconfHostnumbers
+
+syn match slpconfFQDNs contained display
+ \ '\a[[:alnum:]-]*[[:alnum:]]\|\a'
+ \ nextgroup=slpconfAddressesSep skipwhite
+
+syn match slpconfHostnumbers contained display
+ \ '\d\{1,3}\%(\.\d\{1,3}\)\{3}'
+ \ nextgroup=slpconfAddressesSep skipwhite
+
+syn match slpconfAddressesSep contained display ','
+ \ nextgroup=@slpconfAddresses skipwhite
+
+syn keyword slpconfNetSlpTag contained serializedRegURL
+ \ nextgroup=slpconfStringEq,slpconfStringHome
+ \ skipwhite
+
+syn match slpconfStringHome contained display
+ \ '\.\d\{1,3}\%(\.\d\{1,3}\)\{3}'
+ \ nextgroup=slpconfStringEq skipwhite
+
+syn match slpconfStringEq contained display '='
+ \ nextgroup=slpconfString skipwhite
+
+syn match slpconfString contained display
+ \ '\%([!-+./:-@[-`{-~-]\|\\\x\x\)\+\|[[:digit:][:alpha:]]'
+
+syn keyword slpconfNetSlpTag contained multicastTimeouts DADiscoveryTimeouts
+ \ datagramTimeouts
+ \ nextgroup=slpconfIntegersEq,
+ \ slpconfIntegersHome skipwhite
+
+syn match slpconfIntegersHome contained display
+ \ '\.\d\{1,3}\%(\.\d\{1,3}\)\{3}'
+ \ nextgroup=slpconfIntegersEq skipwhite
+
+syn match slpconfIntegersEq contained display '='
+ \ nextgroup=slpconfIntegers skipwhite
+
+syn match slpconfIntegers contained display '\<\d\+\>'
+ \ nextgroup=slpconfIntegersSep skipwhite
+
+syn match slpconfIntegersSep contained display ','
+ \ nextgroup=slpconfIntegers skipwhite
+
+syn keyword slpconfNetSlpTag contained interfaces
+ \ nextgroup=slpconfHostnumsEq,
+ \ slpconfHostnumsHome skipwhite
+
+syn match slpconfHostnumsHome contained display
+ \ '\.\d\{1,3}\%(\.\d\{1,3}\)\{3}'
+ \ nextgroup=slpconfHostnumsEq skipwhite
+
+syn match slpconfHostnumsEq contained display '='
+ \ nextgroup=slpconfOHostnumbers skipwhite
+
+syn match slpconfOHostnumbers contained display
+ \ '\d\{1,3}\%(\.\d\{1,3}\)\{3}'
+ \ nextgroup=slpconfHostnumsSep skipwhite
+
+syn match slpconfHostnumsSep contained display ','
+ \ nextgroup=slpconfOHostnumbers skipwhite
+
+syn keyword slpconfNetSlpTag contained locale
+ \ nextgroup=slpconfLocaleEq,slpconfLocaleHome
+ \ skipwhite
+
+syn match slpconfLocaleHome contained display
+ \ '\.\d\{1,3}\%(\.\d\{1,3}\)\{3}'
+ \ nextgroup=slpconfLocaleEq skipwhite
+
+syn match slpconfLocaleEq contained display '='
+ \ nextgroup=slpconfLocale skipwhite
+
+syn match slpconfLocale contained display '\a\{1,8}\%(-\a\{1,8}\)\='
+
+hi def link slpconfTodo Todo
+hi def link slpconfComment Comment
+hi def link slpconfTag Identifier
+hi def link slpconfDelimiter Delimiter
+hi def link slpconfNetTagDot slpconfDelimiter
+hi def link slpconfNetTag slpconfTag
+hi def link slpconfNetSlpTagDot slpconfNetTagDot
+hi def link slpconfNetSlpTag slpconfTag
+hi def link slpconfHome Special
+hi def link slpconfBooleanHome slpconfHome
+hi def link slpconfEq Operator
+hi def link slpconfBooleanEq slpconfEq
+hi def link slpconfBoolean Boolean
+hi def link slpconfIntegerHome slpconfHome
+hi def link slpconfIntegerEq slpconfEq
+hi def link slpconfInteger Number
+hi def link slpconfAttrHome slpconfHome
+hi def link slpconfAttrEq slpconfEq
+hi def link slpconfAttrBegin slpconfDelimiter
+hi def link slpconfAttrTag slpconfTag
+hi def link slpconfAttrTagEq slpconfEq
+hi def link slpconfAttrIValue slpconfInteger
+hi def link slpconfAttrSValue slpconfString
+hi def link slpconfAttrBValue slpconfBoolean
+hi def link slpconfAttrSSValue slpconfString
+hi def link slpconfSeparator slpconfDelimiter
+hi def link slpconfAttrValueSep slpconfSeparator
+hi def link slpconfAttrEnd slpconfAttrBegin
+hi def link slpconfAttrSep slpconfSeparator
+hi def link slpconfStringsHome slpconfHome
+hi def link slpconfStringsEq slpconfEq
+hi def link slpconfStrings slpconfString
+hi def link slpconfStringsSep slpconfSeparator
+hi def link slpconfAddrsHome slpconfHome
+hi def link slpconfAddressesEq slpconfEq
+hi def link slpconfFQDNs String
+hi def link slpconfHostnumbers Number
+hi def link slpconfAddressesSep slpconfSeparator
+hi def link slpconfStringHome slpconfHome
+hi def link slpconfStringEq slpconfEq
+hi def link slpconfString String
+hi def link slpconfIntegersHome slpconfHome
+hi def link slpconfIntegersEq slpconfEq
+hi def link slpconfIntegers slpconfInteger
+hi def link slpconfIntegersSep slpconfSeparator
+hi def link slpconfHostnumsHome slpconfHome
+hi def link slpconfHostnumsEq slpconfEq
+hi def link slpconfOHostnumbers slpconfHostnumbers
+hi def link slpconfHostnumsSep slpconfSeparator
+hi def link slpconfLocaleHome slpconfHome
+hi def link slpconfLocaleEq slpconfEq
+hi def link slpconfLocale slpconfString
+
+let b:current_syntax = "slpconf"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/syntax/slpreg.vim b/runtime/syntax/slpreg.vim
new file mode 100644
index 000000000..c4e16a9ef
--- /dev/null
+++ b/runtime/syntax/slpreg.vim
@@ -0,0 +1,122 @@
+" Vim syntax file
+" Language: RFC 2614 - An API for Service Location registration file
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-07-04
+
+if exists("b:current_syntax")
+ finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+syn keyword slpregTodo contained TODO FIXME XXX NOTE
+
+syn region slpregComment display oneline start='^[#;]' end='$'
+ \ contains=slpregTodo,@Spell
+
+syn match slpregBegin display '^'
+ \ nextgroup=slpregServiceURL,
+ \ slpregComment
+
+syn match slpregServiceURL contained display 'service:'
+ \ nextgroup=slpregServiceType
+
+syn match slpregServiceType contained display '\a[[:alpha:][:digit:]+-]*\%(\.\a[[:alpha:][:digit:]+-]*\)\=\%(:\a[[:alpha:][:digit:]+-]*\)\='
+ \ nextgroup=slpregServiceSAPCol
+
+syn match slpregServiceSAPCol contained display ':'
+ \ nextgroup=slpregSAP
+
+syn match slpregSAP contained '[^,]\+'
+ \ nextgroup=slpregLangSep
+"syn match slpregSAP contained display '\%(//\%(\%([[:alpha:][:digit:]$-_.~!*\'(),+;&=]*@\)\=\%([[:alnum:]][[:alnum:]-]*[[:alnum:]]\|[[:alnum:]]\.\)*\%(\a[[:alnum:]-]*[[:alnum:]]\|\a\)\%(:\d\+\)\=\)\=\|/at/\%([[:alpha:][:digit:]$-_.~]\|\\\x\x\)\{1,31}:\%([[:alpha:][:digit:]$-_.~]\|\\\x\x\)\{1,31}\%([[:alpha:][:digit:]$-_.~]\|\\\x\x\)\{1,31}\|/ipx/\x\{8}:\x\{12}:\x\{4}\)\%(/\%([[:alpha:][:digit:]$-_.~!*\'()+;?:@&=+]\|\\\x\x\)*\)*\%(;[^()\\!<=>~[:cntrl:]* \t_]\+\%(=[^()\\!<=>~[:cntrl:] ]\+\)\=\)*'
+
+syn match slpregLangSep contained display ','
+ \ nextgroup=slpregLang
+
+syn match slpregLang contained display '\a\{1,8}\%(-\a\{1,8\}\)\='
+ \ nextgroup=slpregLTimeSep
+
+syn match slpregLTimeSep contained display ','
+ \ nextgroup=slpregLTime
+
+syn match slpregLTime contained display '\d\{1,5}'
+ \ nextgroup=slpregType,slpregUNewline
+
+syn match slpregType contained display '\a[[:alpha:][:digit:]+-]*'
+ \ nextgroup=slpregUNewLine
+
+syn match slpregUNewLine contained '\s*\n'
+ \ nextgroup=slpregScopes,slpregAttrList skipnl
+
+syn keyword slpregScopes contained scopes
+ \ nextgroup=slpregScopesEq
+
+syn match slpregScopesEq contained '=' nextgroup=slpregScopeName
+
+syn match slpregScopeName contained '[^(),\\!<=>[:cntrl:];*+ ]\+'
+ \ nextgroup=slpregScopeNameSep,
+ \ slpregScopeNewline
+
+syn match slpregScopeNameSep contained ','
+ \ nextgroup=slpregScopeName
+
+syn match slpregScopeNewline contained '\s*\n'
+ \ nextgroup=slpregAttribute skipnl
+
+syn match slpregAttribute contained '[^(),\\!<=>[:cntrl:]* \t_]\+'
+ \ nextgroup=slpregAttributeEq,
+ \ slpregScopeNewline
+
+syn match slpregAttributeEq contained '='
+ \ nextgroup=@slpregAttrValue
+
+syn cluster slpregAttrValueCon contains=slpregAttribute,slpregAttrValueSep
+
+syn cluster slpregAttrValue contains=slpregAttrIValue,slpregAttrSValue,
+ \ slpregAttrBValue,slpregAttrSSValue
+
+syn match slpregAttrSValue contained display '[^(),\\!<=>~[:cntrl:]]\+'
+ \ nextgroup=@slpregAttrValueCon skipwhite skipnl
+
+syn match slpregAttrSSValue contained display '\\FF\%(\\\x\x\)\+'
+ \ nextgroup=@slpregAttrValueCon skipwhite skipnl
+
+syn match slpregAttrIValue contained display '[-]\=\d\+\>'
+ \ nextgroup=@slpregAttrValueCon skipwhite skipnl
+
+syn keyword slpregAttrBValue contained true false
+ \ nextgroup=@slpregAttrValueCon skipwhite skipnl
+
+syn match slpregAttrValueSep contained display ','
+ \ nextgroup=@slpregAttrValue skipwhite skipnl
+
+hi def link slpregTodo Todo
+hi def link slpregComment Comment
+hi def link slpregServiceURL Type
+hi def link slpregServiceType slpregServiceURL
+hi def link slpregServiceSAPCol slpregServiceURL
+hi def link slpregSAP slpregServiceURL
+hi def link slpregDelimiter Delimiter
+hi def link slpregLangSep slpregDelimiter
+hi def link slpregLang String
+hi def link slpregLTimeSep slpregDelimiter
+hi def link slpregLTime Number
+hi def link slpregType Type
+hi def link slpregScopes Identifier
+hi def link slpregScopesEq Operator
+hi def link slpregScopeName String
+hi def link slpregScopeNameSep slpregDelimiter
+hi def link slpregAttribute Identifier
+hi def link slpregAttributeEq Operator
+hi def link slpregAttrSValue String
+hi def link slpregAttrSSValue slpregAttrSValue
+hi def link slpregAttrIValue Number
+hi def link slpregAttrBValue Boolean
+hi def link slpregAttrValueSep slpregDelimiter
+
+let b:current_syntax = "slpreg"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/syntax/slpspi.vim b/runtime/syntax/slpspi.vim
new file mode 100644
index 000000000..e6d0c154a
--- /dev/null
+++ b/runtime/syntax/slpspi.vim
@@ -0,0 +1,39 @@
+" Vim syntax file
+" Language: RFC 2614 - An API for Service Location SPI file
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-07-04
+
+if exists("b:current_syntax")
+ finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+syn keyword slpspiTodo contained TODO FIXME XXX NOTE
+
+syn region slpspiComment display oneline start='^[#;]' end='$'
+ \ contains=slpspiTodo,@Spell
+
+syn match slpspiBegin display '^'
+ \ nextgroup=slpspiKeyType,
+ \ slpspiComment skipwhite
+
+syn keyword slpspiKeyType contained PRIVATE PUBLIC
+ \ nextgroup=slpspiString skipwhite
+
+syn match slpspiString contained '\S\+'
+ \ nextgroup=slpspiKeyFile skipwhite
+
+syn match slpspiKeyFile contained '\S\+'
+
+hi def link slpspiTodo Todo
+hi def link slpspiComment Comment
+hi def link slpspiKeyType Type
+hi def link slpspiString Identifier
+hi def link slpspiKeyFile String
+
+let b:current_syntax = "slpspi"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/syntax/sudoers.vim b/runtime/syntax/sudoers.vim
index e197ca2c7..81d808fef 100644
--- a/runtime/syntax/sudoers.vim
+++ b/runtime/syntax/sudoers.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: sudoers(5) configuration files
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:current_syntax")
finish
@@ -23,7 +23,7 @@ syn cluster sudoersCmndSpecList contains=sudoersUserRunasBegin,sudoersPASS
syn keyword sudoersTodo contained TODO FIXME XXX NOTE
-syn region sudoersComment matchgroup=sudoersComment start='#' end='$' contains=sudoersTodo
+syn region sudoersComment display oneline start='#' end='$' contains=sudoersTodo
syn keyword sudoersAlias User_Alias Runas_Alias nextgroup=sudoersUserAlias skipwhite skipnl
syn keyword sudoersAlias Host_Alias nextgroup=sudoersHostAlias skipwhite skipnl
diff --git a/runtime/syntax/terminfo.vim b/runtime/syntax/terminfo.vim
index c83a3a3f4..9fd784516 100644
--- a/runtime/syntax/terminfo.vim
+++ b/runtime/syntax/terminfo.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: terminfo(5) definition
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:current_syntax")
finish
@@ -14,7 +14,7 @@ syn match terminfoKeywords '[,=#|]'
syn keyword terminfoTodo contained TODO FIXME XXX NOTE
-syn region terminfoComment matchgroup=terminfoComment start='^#' end='$'
+syn region terminfoComment display oneline start='^#' end='$'
\ contains=terminfoTodo,@Spell
syn match terminfoNumbers '\<[0-9]\+\>'
diff --git a/runtime/syntax/udevconf.vim b/runtime/syntax/udevconf.vim
new file mode 100644
index 000000000..487a8acd8
--- /dev/null
+++ b/runtime/syntax/udevconf.vim
@@ -0,0 +1,39 @@
+" Vim syntax file
+" Language: udev(8) configuration file
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-07-01
+
+if exists("b:current_syntax")
+ finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+syn keyword udevconfTodo contained TODO FIXME XXX NOTE
+
+syn region udevconfComment display oneline start='^\s*#' end='$'
+ \ contains=udevconfTodo,@Spell
+
+syn match udevconfBegin display '^'
+ \ nextgroup=udevconfVariable,udevconfComment
+ \ skipwhite
+
+syn keyword udevconfVariable contained udev_root udev_db udev_rules udev_log
+ \ nextgroup=udevconfVariableEq
+
+syn match udevconfVariableEq contained '[[:space:]=]'
+ \ nextgroup=udevconfString skipwhite
+
+syn region udevconfString contained display oneline start=+"+ end=+"+
+
+hi def link udevconfTodo Todo
+hi def link udevconfComment Comment
+hi def link udevconfVariable Identifier
+hi def link udevconfVariableEq Operator
+hi def link udevconfString String
+
+let b:current_syntax = "udevconf"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/syntax/udevperm.vim b/runtime/syntax/udevperm.vim
new file mode 100644
index 000000000..c2029a4f2
--- /dev/null
+++ b/runtime/syntax/udevperm.vim
@@ -0,0 +1,69 @@
+" Vim syntax file
+" Language: udev(8) permissions file
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-07-01
+
+if exists("b:current_syntax")
+ finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+syn match udevpermBegin display '^' nextgroup=udevpermDevice
+
+syn match udevpermDevice contained display '[^:]\+'
+ \ contains=udevpermPattern
+ \ nextgroup=udevpermUserColon
+
+syn match udevpermPattern contained '[*?]'
+syn region udevpermPattern contained start='\[!\=' end='\]'
+ \ contains=udevpermPatRange
+
+syn match udevpermPatRange contained '[^[-]-[^]-]'
+
+syn match udevpermUserColon contained display ':'
+ \ nextgroup=udevpermUser
+
+syn match udevpermUser contained display '[^:]\+'
+ \ nextgroup=udevpermGroupColon
+
+syn match udevpermGroupColon contained display ':'
+ \ nextgroup=udevpermGroup
+
+syn match udevpermGroup contained display '[^:]\+'
+ \ nextgroup=udevpermPermColon
+
+syn match udevpermPermColon contained display ':'
+ \ nextgroup=udevpermPerm
+
+syn match udevpermPerm contained display '\<0\=\o\+\>'
+ \ contains=udevpermOctalZero
+
+syn match udevpermOctalZero contained display '\<0'
+syn match udevpermOctalError contained display '\<0\o*[89]\d*\>'
+
+syn keyword udevpermTodo contained TODO FIXME XXX NOTE
+
+syn region udevpermComment display oneline start='^\s*#' end='$'
+ \ contains=udevpermTodo,@Spell
+
+hi def link udevpermTodo Todo
+hi def link udevpermComment Comment
+hi def link udevpermDevice String
+hi def link udevpermPattern SpecialChar
+hi def link udevpermPatRange udevpermPattern
+hi def link udevpermColon Normal
+hi def link udevpermUserColon udevpermColon
+hi def link udevpermUser Identifier
+hi def link udevpermGroupColon udevpermColon
+hi def link udevpermGroup Type
+hi def link udevpermPermColon udevpermColon
+hi def link udevpermPerm Number
+hi def link udevpermOctalZero PreProc
+hi def link udevpermOctalError Error
+
+let b:current_syntax = "udevperm"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/syntax/udevrules.vim b/runtime/syntax/udevrules.vim
new file mode 100644
index 000000000..7deac2ab2
--- /dev/null
+++ b/runtime/syntax/udevrules.vim
@@ -0,0 +1,117 @@
+" Vim syntax file
+" Language: udev(8) rules file
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-07-04
+
+if exists("b:current_syntax")
+ finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+syn keyword udevrulesTodo contained TODO FIXME XXX NOTE
+
+syn region udevrulesComment display oneline start='^\s*#' end='$'
+ \ contains=udevrulesTodo,@Spell
+
+syn keyword udevrulesRuleKey BUS KERNEL SUBSYSTEM DRIVER ID RESULT
+ \ nextgroup=udevrulesRuleEq
+
+syn keyword udevrulesRuleKey SYSFS nextgroup=udevrulesSysFSPath
+
+syn region udevrulesSysFSPath display transparent
+ \ matchgroup=udevrulesDelimiter start='{'
+ \ matchgroup=udevrulesDelimiter end='}'
+ \ contains=udevrulesPath
+ \ nextgroup=udevrulesRuleEq
+
+syn keyword udevrulesRuleKey ENV nextgroup=udevrulesEnvVar
+
+syn region udevrulesEnvVar display transparent
+ \ matchgroup=udevrulesDelimiter start='{'
+ \ matchgroup=udevrulesDelimiter end='}'
+ \ contains=udevrulesVariable
+ \ nextgroup=udevrulesRuleEq
+
+syn keyword udevrulesRuleKey PROGRAM
+ \ nextgroup=udevrulesEStringEq
+
+syn keyword udevrulesAssignKey NAME SYMLINK OWNER GROUP
+ \ nextgroup=udevrulesEStringEq
+
+syn keyword udevrulesAssignKey MODE
+ \ nextgroup=udevrulesRuleEq
+
+syn keyword udevrulesAssignKey OPTIONS
+ \ nextgroup=udevrulesOptionsEq
+
+syn match udevrulesPath contained display '[^}]\+'
+
+syn match udevrulesVariable contained display '[^}]\+'
+
+syn match udevrulesRuleEq contained '[[:space:]=]'
+ \ nextgroup=udevrulesString skipwhite
+
+syn match udevrulesEStringEq contained '[[:space:]=]'
+ \ nextgroup=udevrulesEString skipwhite
+
+syn match udevrulesOptionsEq contained '[[:space:]=]'
+ \ nextgroup=udevrulesOptions skipwhite
+
+syn region udevrulesEString contained display oneline start=+"+ end=+"+
+ \ contains=udevrulesStrEscapes
+
+syn match udevrulesStrEscapes contained '%[nkpMmbcNPe%]'
+
+syn region udevrulesStrEscapes contained start='%c{' end='}'
+ \ contains=udevrulesStrNumber
+
+syn region udevrulesStrEscapes contained start='%s{' end='}'
+ \ contains=udevrulesPath
+
+syn match udevrulesStrNumber contained '\d\++\='
+
+syn region udevrulesString contained display oneline start=+"+ end=+"+
+ \ contains=udevrulesPattern
+
+syn match udevrulesPattern contained '[*?]'
+syn region udevrulesPattern contained start='\[!\=' end='\]'
+ \ contains=udevrulesPatRange
+
+syn match udevrulesPatRange contained '[^[-]-[^]-]'
+
+syn region udevrulesOptions contained display oneline start=+"+ end=+"+
+ \ contains=udevrulesOption,udevrulesOptionSep
+
+syn keyword udevrulesOption contained last_rule ignore_device ignore_remove
+ \ all_partitions
+
+syn match udevrulesOptionSep contained ','
+
+hi def link udevrulesTodo Todo
+hi def link udevrulesComment Comment
+hi def link udevrulesRuleKey Keyword
+hi def link udevrulesDelimiter Delimiter
+hi def link udevrulesAssignKey Identifier
+hi def link udevrulesPath Identifier
+hi def link udevrulesVariable Identifier
+" XXX: setting this to Operator makes for extremely intense highlighting.
+hi def link udevrulesEq Normal
+hi def link udevrulesRuleEq udevrulesEq
+hi def link udevrulesEStringEq udevrulesEq
+hi def link udevrulesOptionsEq udevrulesEq
+hi def link udevrulesEString udevrulesString
+hi def link udevrulesStrEscapes SpecialChar
+hi def link udevrulesStrNumber Number
+hi def link udevrulesString String
+hi def link udevrulesPattern SpecialChar
+hi def link udevrulesPatRange SpecialChar
+hi def link udevrulesOptions udevrulesString
+hi def link udevrulesOption Type
+hi def link udevrulesOptionSep Delimiter
+
+let b:current_syntax = "udevrules"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/syntax/updatedb.vim b/runtime/syntax/updatedb.vim
index 91c335d66..e2b790311 100644
--- a/runtime/syntax/updatedb.vim
+++ b/runtime/syntax/updatedb.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: updatedb.conf(5) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:current_syntax")
finish
@@ -23,9 +23,7 @@ syn keyword updatedbName contained PRUNEFS PRUNEPATHS
syn match updatedbNameEq contained display '=' nextgroup=updatedbValue
-syn region updatedbValue contained display oneline
- \ matchgroup=updatedbValue start='"'
- \ matchgroup=updatedbValue end='"'
+syn region updatedbValue contained display oneline start='"' end='"'
hi def link updatedbTodo Todo
hi def link updatedbComment Comment
diff --git a/runtime/syntax/xinetd.vim b/runtime/syntax/xinetd.vim
index d9753ff17..e8e57bebf 100644
--- a/runtime/syntax/xinetd.vim
+++ b/runtime/syntax/xinetd.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: xinetd.conf(5) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-06-30
if exists("b:current_syntax")
finish
diff --git a/runtime/syntax/xmodmap.vim b/runtime/syntax/xmodmap.vim
index cf60c478b..2b097dfe6 100644
--- a/runtime/syntax/xmodmap.vim
+++ b/runtime/syntax/xmodmap.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: xmodmap(1) definition file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-29
+" Latest Revision: 2005-07-04
if exists("b:current_syntax")
finish
@@ -12,8 +12,8 @@ set cpo&vim
syn keyword xmodmapTodo contained TODO FIXME XXX NOTE
-syn region xmodmapComment display oneline matchgroup=xmodmapComment
- \ start=/^!/ end=/$/ contains=xmodmapTodo,@Spell
+syn region xmodmapComment display oneline start='^!' end='$'
+ \ contains=xmodmapTodo,@Spell
syn case ignore
syn match xmodmapInt display '\<\d\+\>'
diff --git a/runtime/syntax/yaml.vim b/runtime/syntax/yaml.vim
index 1be00ee3e..5a94fb6f4 100644
--- a/runtime/syntax/yaml.vim
+++ b/runtime/syntax/yaml.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: YAML (YAML Ain't Markup Language)
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision: 2005-06-27
+" Latest Revision: 2005-07-04
if exists("b:current_syntax")
finish
@@ -12,8 +12,8 @@ set cpo&vim
syn keyword yamlTodo contained TODO FIXME XXX NOTE
-syn region yamlComment matchgroup=yamlComment start='\%(^\|\s\)#'
- \ end='$' contains=yamlTodo,@Spell
+syn region yamlComment display oneline start='\%(^\|\s\)#' end='$'
+ \ contains=yamlTodo,@Spell
syn match yamlNodeProperty '!\%(![^\\^% ]\+\|[^!][^:/ ]*\)'
diff --git a/src/Make_mvc.mak b/src/Make_mvc.mak
index e74019fce..144f956cd 100644
--- a/src/Make_mvc.mak
+++ b/src/Make_mvc.mak
@@ -683,7 +683,7 @@ all: $(VIM).exe vimrun.exe install.exe uninstal.exe xxd/xxd.exe GvimExt/gvimext.
$(VIM).exe: $(OUTDIR) $(OBJ) $(GUI_OBJ) $(OLE_OBJ) $(OLE_IDL) $(MZSCHEME_OBJ) $(PERL_OBJ) $(PYTHON_OBJ) $(RUBY_OBJ) $(TCL_OBJ) $(SNIFF_OBJ) $(CSCOPE_OBJ) $(NETBEANS_OBJ) $(XPM_OBJ) version.c version.h
$(CC) $(CFLAGS) version.c /Fo$(OUTDIR)/version.obj $(PDB)
- $(link) $(LINKARGS1) -out:$* $(OBJ) $(GUI_OBJ) $(OLE_OBJ) \
+ $(link) $(LINKARGS1) -out:$(VIM).exe $(OBJ) $(GUI_OBJ) $(OLE_OBJ) \
$(MZSCHEME_OBJ) $(PERL_OBJ) $(PYTHON_OBJ) $(RUBY_OBJ) $(TCL_OBJ) $(SNIFF_OBJ) \
$(CSCOPE_OBJ) $(NETBEANS_OBJ) $(XPM_OBJ) \
$(OUTDIR)\version.obj $(LINKARGS2)
diff --git a/src/option.c b/src/option.c
index 57d2951d9..dfe2e2b5a 100644
--- a/src/option.c
+++ b/src/option.c
@@ -2036,7 +2036,7 @@ static struct vimoption
{"spellcapcheck", "spc", P_STRING|P_ALLOCED|P_VI_DEF|P_SECURE|P_RBUF,
#ifdef FEAT_SYN_HL
(char_u *)&p_spc, PV_SPC,
- {(char_u *)"[.?!][])'\" \\t\\n]\\+", (char_u *)0L}
+ {(char_u *)"[.?!]\\_[\\])'\" ]\\+", (char_u *)0L}
#else
(char_u *)NULL, PV_NONE,
{(char_u *)0L, (char_u *)0L}
@@ -2605,7 +2605,7 @@ static char_u *set_chars_option __ARGS((char_u **varp));
static char_u *check_clipboard_option __ARGS((void));
#endif
#ifdef FEAT_SYN_HL
-static char_u *compile_cap_prog __ARGS((void));
+static char_u *compile_cap_prog __ARGS((buf_T *buf));
#endif
static char_u *set_bool_option __ARGS((int opt_idx, char_u *varp, int value, int opt_flags));
static char_u *set_num_option __ARGS((int opt_idx, char_u *varp, long value, char_u *errbuf, size_t errbuflen, int opt_flags));
@@ -4610,7 +4610,7 @@ didset_options()
#endif
#ifdef FEAT_SYN_HL
(void)spell_check_sps();
- (void)compile_cap_prog();
+ (void)compile_cap_prog(curbuf);
#endif
#if defined(FEAT_TOOLBAR) && !defined(FEAT_GUI_W32)
(void)opt_strings_flags(p_toolbar, p_toolbar_values, &toolbar_flags, TRUE);
@@ -5774,7 +5774,7 @@ did_set_string_option(opt_idx, varp, new_value_alloced, oldval, errbuf,
/* When 'spellcapcheck' is set compile the regexp program. */
else if (varp == &(curbuf->b_p_spc))
{
- errmsg = compile_cap_prog();
+ errmsg = compile_cap_prog(curbuf);
}
/* 'spellsuggest' */
else if (varp == &p_sps)
@@ -6437,23 +6437,24 @@ check_clipboard_option()
* Return error message when failed, NULL when OK.
*/
static char_u *
-compile_cap_prog()
+compile_cap_prog(buf)
+ buf_T *buf;
{
- regprog_T *rp = curbuf->b_cap_prog;
+ regprog_T *rp = buf->b_cap_prog;
- if (*curbuf->b_p_spc == NUL)
+ if (*buf->b_p_spc == NUL)
{
- curbuf->b_cap_prog = NULL;
+ buf->b_cap_prog = NULL;
vim_free(rp);
return NULL;
}
/* Prepend a ^ so that we only match at one column */
- vim_snprintf((char *)IObuff, IOSIZE, "^%s", curbuf->b_p_spc);
- curbuf->b_cap_prog = vim_regcomp(IObuff, RE_MAGIC);
- if (curbuf->b_cap_prog == NULL)
+ vim_snprintf((char *)IObuff, IOSIZE, "^%s", buf->b_p_spc);
+ buf->b_cap_prog = vim_regcomp(IObuff, RE_MAGIC);
+ if (buf->b_cap_prog == NULL)
{
- curbuf->b_cap_prog = rp;
+ buf->b_cap_prog = rp;
return e_invarg;
}
@@ -8758,6 +8759,7 @@ buf_copy_options(buf, flags)
/* Don't copy 'syntax', it must be set */
buf->b_p_syn = empty_option;
buf->b_p_spc = vim_strsave(p_spc);
+ (void)compile_cap_prog(buf);
buf->b_p_spf = vim_strsave(p_spf);
buf->b_p_spl = vim_strsave(p_spl);
#endif
diff --git a/src/po/Make_cyg.mak b/src/po/Make_cyg.mak
new file mode 100644
index 000000000..f39368f9e
--- /dev/null
+++ b/src/po/Make_cyg.mak
@@ -0,0 +1,76 @@
+# Makefile for the Vim message translations for Cygwin
+# by Tony Mechelynck <antoine.mechelynck@skynet.be>
+# after Make_ming.mak by
+# Eduardo F. Amatria <eferna1@platea.pntic.mec.es>
+#
+# Read the README_ming.txt file before using it.
+#
+# Use at your own risk but with care, it could even kill your canary.
+#
+
+ifndef VIMRUNTIME
+VIMRUNTIME = ../../runtime
+endif
+
+LANGUAGES = af ca cs de en_GB es fr ga it ja ko no pl ru sk sv uk vi zh_TW \
+ zh_TW.UTF-8 zh_CN zh_CN.UTF-8
+MOFILES = af.mo ca.mo cs.mo de.mo en_GB.mo es.mo fr.mo ga.mo it.mo ja.mo \
+ ko.mo no.mo pl.mo ru.mo sk.mo sv.mo uk.mo vi.mo \
+ zh_TW.mo zh_TW.UTF-8.mo zh_CN.mo zh_CN.UTF-8.mo
+
+PACKAGE = vim
+
+# Uncomment one of the lines below or modify it to put the path to your
+# gettex binaries; I use the first
+ifndef GETTEXT_PATH
+#GETTEXT_PATH = C:/gettext.win32/bin/
+#GETTEXT_PATH = C:/gettext-0.10.35-w32/win32/Release/
+GETTEXT_PATH = /bin/
+endif
+
+MSGFMT = $(GETTEXT_PATH)msgfmt
+XGETTEXT = $(GETTEXT_PATH)xgettext
+MSGMERGE = $(GETTEXT_PATH)msgmerge
+
+# MV = move
+# CP = copy
+# RM = del
+# MKD = mkdir
+MV = mv -f
+CP = cp -f
+RM = rm -f
+MKD = mkdir -p
+
+.SUFFIXES:
+.SUFFIXES: .po .mo .pot
+.PHONY: first_time all install clean $(LANGUAGES)
+
+.po.mo:
+ $(MSGFMT) -o $@ $<
+
+all: $(MOFILES)
+
+first_time:
+ $(XGETTEXT) --default-domain=$(LANGUAGE) \
+ --add-comments --keyword=_ --keyword=N_ $(wildcard ../*.c) ../if_perl.xs $(wildcard ../globals.h)
+
+$(LANGUAGES):
+ $(XGETTEXT) --default-domain=$(PACKAGE) \
+ --add-comments --keyword=_ --keyword=N_ $(wildcard ../*.c) ../if_perl.xs $(wildcard ../globals.h)
+ $(MV) $(PACKAGE).po $(PACKAGE).pot
+ $(CP) $@.po $@.po.orig
+ $(MV) $@.po $@.po.old
+ $(MSGMERGE) $@.po.old $(PACKAGE).pot -o $@.po
+ $(RM) $@.po.old
+
+install: $(MOFILES)
+ for TARGET in $(LANGUAGES); do \
+ $(MKD) $(VIMRUNTIME)/lang/$$TARGET/LC_MESSAGES ; \
+ $(CP) $$TARGET.mo $(VIMRUNTIME)/lang/$$TARGET/LC_MESSAGES/$(PACKAGE).mo ; \
+ done
+
+clean:
+ $(RM) *.mo
+ $(RM) *.pot
+
+
diff --git a/src/spell.c b/src/spell.c
index 015a7108b..f23cf9866 100644
--- a/src/spell.c
+++ b/src/spell.c
@@ -192,7 +192,10 @@
* <flags> 1 byte bitmask of:
* WF_ALLCAP word must have only capitals
* WF_ONECAP first char of word must be capital
+ * WF_KEEPCAP keep-case word
+ * WF_FIXCAP keep-case word, all caps not allowed
* WF_RARE rare word
+ * WF_BANNED bad word
* WF_REGION <region> follows
* WF_PFX <prefixID> follows
*
@@ -241,9 +244,10 @@ typedef long idx_T;
#define WF_RARE 0x08 /* rare word */
#define WF_BANNED 0x10 /* bad word */
#define WF_PFX 0x20 /* prefix ID list follows */
+#define WF_FIXCAP 0x40 /* keep-case word, allcap not allowed */
#define WF_KEEPCAP 0x80 /* keep-case word */
-#define WF_CAPMASK (WF_ONECAP | WF_ALLCAP | WF_KEEPCAP)
+#define WF_CAPMASK (WF_ONECAP | WF_ALLCAP | WF_KEEPCAP | WF_FIXCAP)
#define WF_RAREPFX 0x1000000 /* in sl_pidxs: flag for rare postponed
prefix; must be above prefixID (one byte)
@@ -584,14 +588,14 @@ static void find_word __ARGS((matchinf_T *mip, int mode));
static int valid_word_prefix __ARGS((int totprefcnt, int arridx, int prefid, char_u *word, slang_T *slang));
static void find_prefix __ARGS((matchinf_T *mip));
static int fold_more __ARGS((matchinf_T *mip));
-static int spell_valid_case __ARGS((int origflags, int treeflags));
+static int spell_valid_case __ARGS((int wordflags, int treeflags));
static int no_spell_checking __ARGS((void));
static void spell_load_lang __ARGS((char_u *lang));
static char_u *spell_enc __ARGS((void));
static void int_wordlist_spl __ARGS((char_u *fname));
static void spell_load_cb __ARGS((char_u *fname, void *cookie));
static slang_T *spell_load_file __ARGS((char_u *fname, char_u *lang, slang_T *old_lp, int silent));
-static char_u *read_cnt_string __ARGS((FILE *fd, int cnt_bytes, int *errp));
+static char_u *read_cnt_string __ARGS((FILE *fd, int cnt_bytes, int *lenp));
static int set_sofo __ARGS((slang_T *lp, char_u *from, char_u *to));
static void set_sal_first __ARGS((slang_T *lp));
#ifdef FEAT_MBYTE
@@ -603,7 +607,7 @@ static void use_midword __ARGS((slang_T *lp, buf_T *buf));
static int find_region __ARGS((char_u *rp, char_u *region));
static int captype __ARGS((char_u *word, char_u *end));
static void spell_reload_one __ARGS((char_u *fname, int added_word));
-static int set_spell_charflags __ARGS((char_u *flags, char_u *upp));
+static int set_spell_charflags __ARGS((char_u *flags, int cnt, char_u *upp));
static int set_spell_chartab __ARGS((char_u *fol, char_u *low, char_u *upp));
static void write_spell_chartab __ARGS((FILE *fd));
static int spell_casefold __ARGS((char_u *p, int len, char_u *buf, int buflen));
@@ -1293,13 +1297,13 @@ fold_more(mip)
* case.
*/
static int
-spell_valid_case(origflags, treeflags)
- int origflags; /* flags for the checked word. */
+spell_valid_case(wordflags, treeflags)
+ int wordflags; /* flags for the checked word. */
int treeflags; /* flags for the word in the spell tree */
{
- return (origflags == WF_ALLCAP
+ return ((wordflags == WF_ALLCAP && (treeflags & WF_FIXCAP) == 0)
|| ((treeflags & (WF_ALLCAP | WF_KEEPCAP)) == 0
- && ((treeflags & WF_ONECAP) == 0 || origflags == WF_ONECAP)));
+ && ((treeflags & WF_ONECAP) == 0 || wordflags == WF_ONECAP)));
}
/*
@@ -1837,12 +1841,12 @@ formerr:
/* <charflagslen> <charflags> */
p = read_cnt_string(fd, 1, &cnt);
- if (cnt == FAIL)
+ if (cnt < 0)
goto endFAIL;
/* <fcharslen> <fchars> */
- fol = read_cnt_string(fd, 2, &cnt);
- if (cnt == FAIL)
+ fol = read_cnt_string(fd, 2, &ccnt);
+ if (ccnt < 0)
{
vim_free(p);
goto endFAIL;
@@ -1850,7 +1854,7 @@ formerr:
/* Set the word-char flags and fill SPELL_ISUPPER() table. */
if (p != NULL && fol != NULL)
- i = set_spell_charflags(p, fol);
+ i = set_spell_charflags(p, cnt, fol);
vim_free(p);
vim_free(fol);
@@ -1861,7 +1865,7 @@ formerr:
/* <midwordlen> <midword> */
lp->sl_midword = read_cnt_string(fd, 2, &cnt);
- if (cnt == FAIL)
+ if (cnt < 0)
goto endFAIL;
/* <prefcondcnt> <prefcond> ... */
@@ -1912,10 +1916,10 @@ formerr:
{
ftp = &((fromto_T *)gap->ga_data)[gap->ga_len];
ftp->ft_from = read_cnt_string(fd, 1, &i);
- if (i == FAIL)
+ if (i <= 0)
goto endFAIL;
ftp->ft_to = read_cnt_string(fd, 1, &i);
- if (i == FAIL)
+ if (i <= 0)
{
vim_free(ftp->ft_from);
goto endFAIL;
@@ -1942,6 +1946,8 @@ formerr:
lp->sl_rem_accents = TRUE;
if (i & SAL_SOFO)
lp->sl_sofo = TRUE;
+ else
+ lp->sl_sofo = FALSE;
cnt = (getc(fd) << 8) + getc(fd); /* <salcount> */
if (cnt < 0)
@@ -1957,19 +1963,24 @@ formerr:
/* <salfromlen> <salfrom> */
bp = read_cnt_string(fd, 2, &cnt);
- if (cnt == FAIL)
+ if (cnt < 0)
goto endFAIL;
/* <saltolen> <salto> */
fol = read_cnt_string(fd, 2, &cnt);
- if (cnt == FAIL)
+ if (cnt < 0)
{
vim_free(bp);
goto endFAIL;
}
/* Store the info in lp->sl_sal and/or lp->sl_sal_first. */
- i = set_sofo(lp, bp, fol);
+ if (bp != NULL && fol != NULL)
+ i = set_sofo(lp, bp, fol);
+ else if (bp != NULL || fol != NULL)
+ i = FAIL; /* only one of two strings is an error */
+ else
+ i = OK;
vim_free(bp);
vim_free(fol);
@@ -2036,7 +2047,7 @@ formerr:
/* <saltolen> <salto> */
smp->sm_to = read_cnt_string(fd, 1, &ccnt);
- if (ccnt == FAIL)
+ if (ccnt < 0)
{
vim_free(smp->sm_lead);
goto formerr;
@@ -2052,10 +2063,13 @@ formerr:
smp->sm_oneof_w = NULL;
else
smp->sm_oneof_w = mb_str2wide(smp->sm_oneof);
- smp->sm_to_w = mb_str2wide(smp->sm_to);
+ if (smp->sm_to == NULL)
+ smp->sm_to_w = NULL;
+ else
+ smp->sm_to_w = mb_str2wide(smp->sm_to);
if (smp->sm_lead_w == NULL
|| (smp->sm_oneof_w == NULL && smp->sm_oneof != NULL)
- || smp->sm_to_w == NULL)
+ || (smp->sm_to_w == NULL && smp->sm_to != NULL))
{
vim_free(smp->sm_lead);
vim_free(smp->sm_to);
@@ -2074,11 +2088,13 @@ formerr:
/* <maplen> <mapstr> */
p = read_cnt_string(fd, 2, &cnt);
- if (cnt == FAIL)
+ if (cnt < 0)
goto endFAIL;
- set_map_str(lp, p);
- vim_free(p);
-
+ if (p != NULL)
+ {
+ set_map_str(lp, p);
+ vim_free(p);
+ }
/* round 1: <LWORDTREE>
* round 2: <KWORDTREE>
@@ -2155,13 +2171,13 @@ endOK:
* Read a length field from "fd" in "cnt_bytes" bytes.
* Allocate memory, read the string into it and add a NUL at the end.
* Returns NULL when the count is zero.
- * Sets "*errp" to FAIL when there is an error, OK otherwise.
+ * Sets "*cntp" to -1 when there is an error, length of the result otherwise.
*/
static char_u *
-read_cnt_string(fd, cnt_bytes, errp)
+read_cnt_string(fd, cnt_bytes, cntp)
FILE *fd;
int cnt_bytes;
- int *errp;
+ int *cntp;
{
int cnt = 0;
int i;
@@ -2173,18 +2189,20 @@ read_cnt_string(fd, cnt_bytes, errp)
if (cnt < 0)
{
EMSG(_(e_spell_trunc));
- *errp = FAIL;
+ *cntp = -1;
return NULL;
}
+ *cntp = cnt;
+ if (cnt == 0)
+ return NULL; /* nothing to read, return NULL */
/* allocate memory */
str = alloc((unsigned)cnt + 1);
if (str == NULL)
{
- *errp = FAIL;
+ *cntp = -1;
return NULL;
}
- *errp = OK;
/* Read the string. Doesn't check for truncated file. */
for (i = 0; i < cnt; ++i)
@@ -2512,6 +2530,8 @@ did_set_spelllang(buf)
char_u *p;
int round;
char_u *spf;
+ char_u *use_region = NULL;
+ int dont_use_region = FALSE;
ga_init2(&ga, sizeof(langp_T), 2);
clear_midword(buf);
@@ -2545,7 +2565,15 @@ did_set_spelllang(buf)
region = lang + len - 2;
len -= 3;
lang[len] = NUL;
+
+ /* If the region differs from what was used before then don't
+ * use it for 'spellfile'. */
+ if (use_region != NULL && STRCMP(region, use_region) != 0)
+ dont_use_region = TRUE;
+ use_region = region;
}
+ else
+ dont_use_region = TRUE;
/* Check if we loaded this language before. */
for (lp = first_lang; lp != NULL; lp = lp->sl_next)
@@ -2576,7 +2604,15 @@ did_set_spelllang(buf)
c = find_region(lp->sl_regions, region);
if (c == REGION_ALL)
{
- if (!lp->sl_add)
+ if (lp->sl_add)
+ {
+ if (*lp->sl_regions != NUL)
+ /* This addition file is for other regions. */
+ region_mask = 0;
+ }
+ else
+ /* This is probably an error. Give a warning and
+ * accept the words anyway. */
smsg((char_u *)
_("Warning: region %s not supported"),
region);
@@ -2585,15 +2621,18 @@ did_set_spelllang(buf)
region_mask = 1 << c;
}
- if (ga_grow(&ga, 1) == FAIL)
+ if (region_mask != 0)
{
- ga_clear(&ga);
- return e_outofmem;
+ if (ga_grow(&ga, 1) == FAIL)
+ {
+ ga_clear(&ga);
+ return e_outofmem;
+ }
+ LANGP_ENTRY(ga, ga.ga_len)->lp_slang = lp;
+ LANGP_ENTRY(ga, ga.ga_len)->lp_region = region_mask;
+ ++ga.ga_len;
+ use_midword(lp, buf);
}
- LANGP_ENTRY(ga, ga.ga_len)->lp_slang = lp;
- LANGP_ENTRY(ga, ga.ga_len)->lp_region = region_mask;
- ++ga.ga_len;
- use_midword(lp, buf);
}
}
@@ -2649,10 +2688,25 @@ did_set_spelllang(buf)
}
if (lp != NULL && ga_grow(&ga, 1) == OK)
{
- LANGP_ENTRY(ga, ga.ga_len)->lp_slang = lp;
- LANGP_ENTRY(ga, ga.ga_len)->lp_region = REGION_ALL;
- ++ga.ga_len;
- use_midword(lp, buf);
+ region_mask = REGION_ALL;
+ if (use_region != NULL && !dont_use_region)
+ {
+ /* find region in sl_regions */
+ c = find_region(lp->sl_regions, use_region);
+ if (c != REGION_ALL)
+ region_mask = 1 << c;
+ else if (*lp->sl_regions != NUL)
+ /* This spell file is for other regions. */
+ region_mask = 0;
+ }
+
+ if (region_mask != 0)
+ {
+ LANGP_ENTRY(ga, ga.ga_len)->lp_slang = lp;
+ LANGP_ENTRY(ga, ga.ga_len)->lp_region = region_mask;
+ ++ga.ga_len;
+ use_midword(lp, buf);
+ }
}
}
@@ -2697,6 +2751,9 @@ use_midword(lp, buf)
{
char_u *p;
+ if (lp->sl_midword == NULL) /* there aren't any */
+ return;
+
for (p = lp->sl_midword; *p != NUL; )
#ifdef FEAT_MBYTE
if (has_mbyte)
@@ -3799,7 +3856,7 @@ spell_read_dic(fname, spin, affile)
* for rare word (if defined). */
if (affile->af_kep != NUL
&& vim_strchr(afflist, affile->af_kep) != NULL)
- flags |= WF_KEEPCAP;
+ flags |= WF_KEEPCAP | WF_FIXCAP;
if (affile->af_rar != NUL
&& vim_strchr(afflist, affile->af_rar) != NULL)
flags |= WF_RARE;
@@ -4150,6 +4207,9 @@ spell_read_wordfile(fname, spin)
{
spin->si_region_count = STRLEN(line) / 2;
STRCPY(spin->si_region_name, line);
+
+ /* Adjust the mask for a word valid in all regions. */
+ spin->si_region = (1 << spin->si_region_count) - 1;
}
}
continue;
@@ -4171,7 +4231,7 @@ spell_read_wordfile(fname, spin)
while (*p != NUL)
{
if (*p == '=') /* keep-case word */
- flags |= WF_KEEPCAP;
+ flags |= WF_KEEPCAP | WF_FIXCAP;
else if (*p == '!') /* Bad, bad, wicked word. */
flags |= WF_BANNED;
else if (*p == '?') /* Rare word. */
@@ -5604,34 +5664,39 @@ set_spell_chartab(fol, low, upp)
* Set the spell character tables from strings in the .spl file.
*/
static int
-set_spell_charflags(flags, upp)
+set_spell_charflags(flags, cnt, fol)
char_u *flags;
- char_u *upp;
+ int cnt; /* length of "flags" */
+ char_u *fol;
{
/* We build the new tables here first, so that we can compare with the
* previous one. */
spelltab_T new_st;
int i;
- char_u *p = upp;
+ char_u *p = fol;
int c;
clear_spell_chartab(&new_st);
- for (i = 0; flags[i] != NUL; ++i)
+ for (i = 0; i < 128; ++i)
{
- new_st.st_isw[i + 128] = (flags[i] & CF_WORD) != 0;
- new_st.st_isu[i + 128] = (flags[i] & CF_UPPER) != 0;
+ if (i < cnt)
+ {
+ new_st.st_isw[i + 128] = (flags[i] & CF_WORD) != 0;
+ new_st.st_isu[i + 128] = (flags[i] & CF_UPPER) != 0;
+ }
- if (*p == NUL)
- return FAIL;
+ if (*p != NUL)
+ {
#ifdef FEAT_MBYTE
- c = mb_ptr2char_adv(&p);
+ c = mb_ptr2char_adv(&p);
#else
- c = *p++;
+ c = *p++;
#endif
- new_st.st_fold[i + 128] = c;
- if (i + 128 != c && new_st.st_isu[i + 128] && c < 256)
- new_st.st_upper[c] = i + 128;
+ new_st.st_fold[i + 128] = c;
+ if (i + 128 != c && new_st.st_isu[i + 128] && c < 256)
+ new_st.st_upper[c] = i + 128;
+ }
}
return set_spell_finish(&new_st);
@@ -7992,6 +8057,8 @@ suggest_try_soundalike(su)
{
byts = lp->lp_slang->sl_kbyts;
idxs = lp->lp_slang->sl_kidxs;
+ if (byts == NULL) /* no keep-case words */
+ continue;
}
depth = 0;
@@ -8836,6 +8903,8 @@ spell_soundfold_sal(slang, inword, res)
/* replace string */
s = smp[n].sm_to;
+ if (s == NULL)
+ s = (char_u *)"";
pf = smp[n].sm_rules;
p0 = (vim_strchr(pf, '<') != NULL) ? 1 : 0;
if (p0 == 1 && z == 0)
@@ -9138,18 +9207,20 @@ spell_soundfold_wsal(slang, inword, res)
if (p0 == 1 && z == 0)
{
/* rule with '<' is used */
- if (reslen > 0 && *ws != NUL && (wres[reslen - 1] == c
+ if (reslen > 0 && ws != NULL && *ws != NUL
+ && (wres[reslen - 1] == c
|| wres[reslen - 1] == *ws))
reslen--;
z0 = 1;
z = 1;
k0 = 0;
- while (*ws != NUL && word[i + k0] != NUL)
- {
- word[i + k0] = *ws;
- k0++;
- ws++;
- }
+ if (ws != NULL)
+ while (*ws != NUL && word[i + k0] != NUL)
+ {
+ word[i + k0] = *ws;
+ k0++;
+ ws++;
+ }
if (k > k0)
mch_memmove(word + i + k0, word + i + k,
sizeof(int) * (STRLEN(word + i + k) + 1));
@@ -9162,14 +9233,19 @@ spell_soundfold_wsal(slang, inword, res)
/* no '<' rule used */
i += k - 1;
z = 0;
- while (*ws != NUL && ws[1] != NUL && reslen < MAXWLEN)
- {
- if (reslen == 0 || wres[reslen - 1] != *ws)
- wres[reslen++] = *ws;
- ws++;
- }
+ if (ws != NULL)
+ while (*ws != NUL && ws[1] != NUL
+ && reslen < MAXWLEN)
+ {
+ if (reslen == 0 || wres[reslen - 1] != *ws)
+ wres[reslen++] = *ws;
+ ws++;
+ }
/* new "actual letter" */
- c = *ws;
+ if (ws == NULL)
+ c = NUL;
+ else
+ c = *ws;
if (strstr((char *)s, "^^") != NULL)
{
if (c != NUL)
@@ -9722,7 +9798,8 @@ dump_word(word, round, flags, lnum)
else
{
p = word;
- if (round == 2 && (captype(word, NULL) & WF_KEEPCAP) == 0)
+ if (round == 2 && ((captype(word, NULL) & WF_KEEPCAP) == 0
+ || (flags & WF_FIXCAP) != 0))
keepcap = TRUE;
}
diff --git a/src/testdir/Make_amiga.mak b/src/testdir/Make_amiga.mak
index cfe213473..1c9d422e8 100644
--- a/src/testdir/Make_amiga.mak
+++ b/src/testdir/Make_amiga.mak
@@ -24,7 +24,7 @@ SCRIPTS = test1.out test3.out test4.out test5.out test6.out \
test38.out test39.out test40.out test41.out test42.out \
test43.out test44.out test45.out test46.out test47.out \
test48.out test51.out test53.out test54.out test55.out \
- test56.out test57.out
+ test56.out test57.out test58.out
.SUFFIXES: .in .out
@@ -101,3 +101,4 @@ test54.out: test54.in
test55.out: test55.in
test56.out: test56.in
test57.out: test57.in
+test58.out: test58.in
diff --git a/src/testdir/Make_dos.mak b/src/testdir/Make_dos.mak
index 6ca1acc33..1b3c772b4 100644
--- a/src/testdir/Make_dos.mak
+++ b/src/testdir/Make_dos.mak
@@ -18,7 +18,7 @@ SCRIPTS16 = test1.out test19.out test20.out test22.out \
test35.out test36.out test43.out \
test44.out test45.out test46.out test47.out \
test48.out test51.out test53.out test54.out \
- test55.out test56.out test57.out
+ test55.out test56.out test57.out test58.out
SCRIPTS = test3.out test4.out test5.out test6.out test7.out \
test8.out test9.out test11.out test13.out test14.out \
diff --git a/src/testdir/Make_os2.mak b/src/testdir/Make_os2.mak
index 4d3296c07..a771e6a5f 100644
--- a/src/testdir/Make_os2.mak
+++ b/src/testdir/Make_os2.mak
@@ -24,7 +24,7 @@ SCRIPTS = test1.out test3.out test4.out test5.out test6.out \
test38.out test39.out test40.out test41.out test42.out \
test43.out test44.out test45.out test46.out test47.out \
test48.out test51.out test53.out test54.out test55.out \
- test56.out test57.out
+ test56.out test57.out test58.out
.SUFFIXES: .in .out
diff --git a/src/testdir/Make_vms.mms b/src/testdir/Make_vms.mms
index 7df1d5057..1ca1e8b1b 100644
--- a/src/testdir/Make_vms.mms
+++ b/src/testdir/Make_vms.mms
@@ -4,7 +4,7 @@
# Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
# Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
#
-# Last change: 2005 May 18
+# Last change: 2005 Jul 04
#
# This has been tested on VMS 6.2 to 7.2 on DEC Alpha and VAX.
# Edit the lines in the Configuration section below to select.
@@ -58,7 +58,7 @@ SCRIPT = test1.out test2.out test3.out test4.out test5.out \
test38.out test39.out test40.out test41.out test42.out \
test43.out test44.out test45.out test46.out \
test48.out test51.out test53.out test54.out test55.out \
- test56.out
+ test56.out test57.out test58.out
.IFDEF WANT_GUI
SCRIPT_GUI = test16.out
diff --git a/src/testdir/Makefile b/src/testdir/Makefile
index dc3dccb96..7fa325f84 100644
--- a/src/testdir/Makefile
+++ b/src/testdir/Makefile
@@ -14,7 +14,7 @@ SCRIPTS = test1.out test2.out test3.out test4.out test5.out test6.out \
test38.out test39.out test40.out test41.out test42.out \
test43.out test44.out test45.out test46.out test47.out \
test48.out test49.out test51.out test52.out test53.out \
- test54.out test55.out test56.out test57.out
+ test54.out test55.out test56.out test57.out test58.out
SCRIPTS_GUI = test16.out
@@ -46,7 +46,7 @@ test1.out: test1.in
-rm -rf X* viminfo
.in.out:
- -rm -f $*.failed test.ok X* viminfo
+ -rm -rf $*.failed test.ok X* viminfo
cp $*.ok test.ok
# Sleep a moment to avoid that the xterm title is messed up
@-sleep .2
@@ -58,7 +58,8 @@ test1.out: test1.in
fi \
else echo $* NO OUTPUT >>test.log; \
fi"
- -rm -rf X* test.ok viminfo
+ # Keep the files to make debugging easier.
+ # -rm -rf X* test.ok viminfo
nolog:
-echo Test results: >test.log
diff --git a/src/testdir/test58.in b/src/testdir/test58.in
new file mode 100644
index 000000000..58275a3f1
--- /dev/null
+++ b/src/testdir/test58.in
@@ -0,0 +1,320 @@
+Tests for spell checking. vim: set ft=vim :
+
+STARTTEST
+:so small.vim
+:"
+:" First generate a .spl file from a .dic and a .aff file.
+:set enc=latin1
+:/^affstart1/+1,/affend1/-1w Xtest.aff
+:/^dicstart/+1,/dicend/-1w Xtest.dic
+:mkspell Xtest Xtest
+:"
+:" use that spell file
+:set spl=Xtest.latin1.spl
+:set spell
+/^test1:
+]smm:let str = spellbadword()
+:$put =str
+`m:let lst = spellsuggest(str, 4)
+:$put =string(lst)
+`m]smm:let str = spellbadword()
+:$put =str
+`m:let lst = spellsuggest(str, 2)
+:$put =string(lst)
+`m]smm:let str = spellbadword()
+:$put =str
+`m:let lst = spellsuggest(str, 2)
+:$put =string(lst)
+`m]smm:let str = spellbadword()
+:$put =str
+`m:let lst = spellsuggest(str, 2)
+:$put =string(lst)
+`m]smm:let str = spellbadword()
+:$put =str
+`m:let lst = spellsuggest(str, 2)
+:$put =string(lst)
+`m]smm:let str = spellbadword()
+:$put =str
+`m:let lst = spellsuggest(str, 2)
+:$put =string(lst)
+:spelldump
+1GyG:q
+:$put
+:$put =soundfold('goobledygoook')
+:$put =soundfold('kóopërÿnôven')
+:$put =soundfold('oeverloos gezwets edale')
+:"
+:" and now with SAL instead of SOFO items; test automatic reloading
+gg:/^affstart2/+1,/^affend2/-1w! Xtest.aff
+:mkspell! Xtest Xtest
+:$put =soundfold('goobledygoook')
+:$put =soundfold('kóopërÿnôven')
+:$put =soundfold('oeverloos gezwets edale')
+:"
+:" also use an addition file
+gg:/^addstart/+1,/^addend/-1w! Xtest.latin1.add
+:mkspell! Xtest.latin1.add.spl Xtest.latin1.add
+:set spl=en
+:set spellfile=Xtest.latin1.add
+/^test2:
+]s:let str = spellbadword()
+:$put =str
+:set spl=en_us
+/^test2:
+]smm:let str = spellbadword()
+:$put =str
+`m]s:let str = spellbadword()
+:$put =str
+:set spl=en_gb
+/^test2:
+]smm:let str = spellbadword()
+:$put =str
+`m]s:let str = spellbadword()
+:$put =str
+:set spl=en_nz
+/^test2:
+]smm:let str = spellbadword()
+:$put =str
+`m]s:let str = spellbadword()
+:$put =str
+:set spl=en_ca
+/^test2:
+]smm:let str = spellbadword()
+:$put =str
+`m]s:let str = spellbadword()
+:$put =str
+:"
+gg:/^test output:/,$wq! test.out
+ENDTEST
+
+affstart1
+SET ISO8859-1
+TRY esianrtolcdugmphbyfvkwjkqxz-ëéèêïîäàâöüû'ESIANRTOLCDUGMPHBYFVKWJKQXZ
+
+FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
+LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
+UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
+
+SOFOFROM abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ¿
+SOFOTO ebctefghejklnnepkrstevvkesebctefghejklnnepkrstevvkeseeeeeeeceeeeeeeedneeeeeeeeeeepseeeeeeeeceeeeeeeedneeeeeeeeeeep?
+
+MIDWORD '-
+
+KEP =
+RAR ?
+BAD !
+
+NOSPLITSUGS
+
+PFX I N 1
+PFX I 0 in .
+
+PFX O Y 1
+PFX O 0 out .
+
+SFX S Y 2
+SFX S 0 s [^s]
+SFX S 0 es s
+
+REP 3
+REP g ch
+REP ch g
+REP svp s.v.p.
+
+MAP 9
+MAP aàáâãäå
+MAP eèéêë
+MAP iìíîï
+MAP oòóôõö
+MAP uùúûü
+MAP nñ
+MAP cç
+MAP yÿý
+MAP sß
+affend1
+
+affstart2
+SET ISO8859-1
+TRY esianrtolcdugmphbyfvkwjkqxz-ëéèêïîäàâöüû'ESIANRTOLCDUGMPHBYFVKWJKQXZ
+
+FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
+LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
+UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
+
+MIDWORD '-
+
+KEP =
+RAR ?
+BAD !
+
+NOSPLITSUGS
+
+PFX I N 1
+PFX I 0 in .
+
+PFX O Y 1
+PFX O 0 out .
+
+SFX S Y 2
+SFX S 0 s [^s]
+SFX S 0 es s
+
+REP 3
+REP g ch
+REP ch g
+REP svp s.v.p.
+
+MAP 9
+MAP aàáâãäå
+MAP eèéêë
+MAP iìíîï
+MAP oòóôõö
+MAP uùúûü
+MAP nñ
+MAP cç
+MAP yÿý
+MAP sß
+
+SAL AH(AEIOUY)-^ *H
+SAL AR(AEIOUY)-^ *R
+SAL A(HR)^ *
+SAL A^ *
+SAL AH(AEIOUY)- H
+SAL AR(AEIOUY)- R
+SAL A(HR) _
+SAL À^ *
+SAL Å^ *
+SAL BB- _
+SAL B B
+SAL CQ- _
+SAL CIA X
+SAL CH X
+SAL C(EIY)- S
+SAL CK K
+SAL COUGH^ KF
+SAL CC< C
+SAL C K
+SAL DG(EIY) K
+SAL DD- _
+SAL D T
+SAL É< E
+SAL EH(AEIOUY)-^ *H
+SAL ER(AEIOUY)-^ *R
+SAL E(HR)^ *
+SAL ENOUGH^$ *NF
+SAL E^ *
+SAL EH(AEIOUY)- H
+SAL ER(AEIOUY)- R
+SAL E(HR) _
+SAL FF- _
+SAL F F
+SAL GN^ N
+SAL GN$ N
+SAL GNS$ NS
+SAL GNED$ N
+SAL GH(AEIOUY)- K
+SAL GH _
+SAL GG9 K
+SAL G K
+SAL H H
+SAL IH(AEIOUY)-^ *H
+SAL IR(AEIOUY)-^ *R
+SAL I(HR)^ *
+SAL I^ *
+SAL ING6 N
+SAL IH(AEIOUY)- H
+SAL IR(AEIOUY)- R
+SAL I(HR) _
+SAL J K
+SAL KN^ N
+SAL KK- _
+SAL K K
+SAL LAUGH^ LF
+SAL LL- _
+SAL L L
+SAL MB$ M
+SAL MM M
+SAL M M
+SAL NN- _
+SAL N N
+SAL OH(AEIOUY)-^ *H
+SAL OR(AEIOUY)-^ *R
+SAL O(HR)^ *
+SAL O^ *
+SAL OH(AEIOUY)- H
+SAL OR(AEIOUY)- R
+SAL O(HR) _
+SAL PH F
+SAL PN^ N
+SAL PP- _
+SAL P P
+SAL Q K
+SAL RH^ R
+SAL ROUGH^ RF
+SAL RR- _
+SAL R R
+SAL SCH(EOU)- SK
+SAL SC(IEY)- S
+SAL SH X
+SAL SI(AO)- X
+SAL SS- _
+SAL S S
+SAL TI(AO)- X
+SAL TH @
+SAL TCH-- _
+SAL TOUGH^ TF
+SAL TT- _
+SAL T T
+SAL UH(AEIOUY)-^ *H
+SAL UR(AEIOUY)-^ *R
+SAL U(HR)^ *
+SAL U^ *
+SAL UH(AEIOUY)- H
+SAL UR(AEIOUY)- R
+SAL U(HR) _
+SAL V^ W
+SAL V F
+SAL WR^ R
+SAL WH^ W
+SAL W(AEIOU)- W
+SAL X^ S
+SAL X KS
+SAL Y(AEIOU)- Y
+SAL ZZ- _
+SAL Z S
+affend2
+
+dicstart
+123456
+test
+# comment
+wrong
+Comment
+OK
+uk
+put/ISO
+the end
+deol
+déôr
+dicend
+
+addstart
+/regions=usgbnz
+elequint/2
+elekwint/3
+addend
+
+test1:
+inputs wrong
+comment wrong
+puts OK
+ok wrong
+Ok wrong
+the end. test wrong
+déôl
+
+test2:
+elequint test elekwint test elekwent asdf
+
+
+test output:
diff --git a/src/testdir/test58.ok b/src/testdir/test58.ok
new file mode 100644
index 000000000..6de84842c
--- /dev/null
+++ b/src/testdir/test58.ok
@@ -0,0 +1,42 @@
+test output:
+inputs
+['input', 'puts', 'outputs', 'put']
+comment
+['Comment']
+ok
+['OK', 'uk']
+Ok
+['OK', 'Uk']
+test
+['test', 'Test']
+déôl
+['deol', 'déôr']
+# file: Xtest.latin1.spl
+Comment
+deol
+déôr
+input
+OK
+output
+outputs
+put
+puts
+test
+the end
+uk
+wrong
+gebletegek
+kepereneven
+everles gesvets etele
+kbltykk
+kprnfn
+*fls kswts tl
+elekwent
+elequint
+elekwint
+elekwint
+elekwent
+elequint
+elekwent
+elequint
+elekwint
diff --git a/src/version.h b/src/version.h
index e168db284..9656b5a8f 100644
--- a/src/version.h
+++ b/src/version.h
@@ -36,5 +36,5 @@
#define VIM_VERSION_NODOT "vim70aa"
#define VIM_VERSION_SHORT "7.0aa"
#define VIM_VERSION_MEDIUM "7.0aa ALPHA"
-#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0aa ALPHA (2005 Jul 3)"
-#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2005 Jul 3, compiled "
+#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0aa ALPHA (2005 Jul 4)"
+#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2005 Jul 4, compiled "