summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Contents8
-rw-r--r--Makefile2
-rw-r--r--README.txt2
-rw-r--r--README_ami.txt2
-rw-r--r--README_amibin.txt2
-rw-r--r--README_amisrc.txt2
-rw-r--r--README_bindos.txt2
-rw-r--r--README_dos.txt2
-rw-r--r--README_extra.txt2
-rw-r--r--README_lang.txt2
-rw-r--r--README_mac.txt2
-rw-r--r--README_ole.txt2
-rw-r--r--README_os2.txt2
-rw-r--r--README_os390.txt2
-rw-r--r--README_src.txt2
-rw-r--r--README_srcdos.txt2
-rw-r--r--README_unix.txt2
-rw-r--r--README_vms.txt2
-rw-r--r--README_w32s.txt2
-rw-r--r--nsis/gvim.nsi2
-rw-r--r--runtime/autoload/htmlcomplete.vim6
-rw-r--r--runtime/autoload/netrw.vim12
-rw-r--r--runtime/autoload/vimball.vim54
-rw-r--r--runtime/doc/arabic.txt2
-rw-r--r--runtime/doc/autocmd.txt5
-rw-r--r--runtime/doc/change.txt2
-rw-r--r--runtime/doc/cmdline.txt2
-rw-r--r--runtime/doc/debug.txt67
-rw-r--r--runtime/doc/debugger.txt2
-rw-r--r--runtime/doc/develop.txt2
-rw-r--r--runtime/doc/diff.txt2
-rw-r--r--runtime/doc/digraph.txt2
-rw-r--r--runtime/doc/editing.txt2
-rw-r--r--runtime/doc/eval.txt63
-rw-r--r--runtime/doc/farsi.txt2
-rw-r--r--runtime/doc/filetype.txt2
-rw-r--r--runtime/doc/fold.txt2
-rw-r--r--runtime/doc/getscript.txt2
-rw-r--r--runtime/doc/gui.txt2
-rw-r--r--runtime/doc/gui_w16.txt2
-rw-r--r--runtime/doc/gui_w32.txt2
-rw-r--r--runtime/doc/gui_x11.txt2
-rw-r--r--runtime/doc/hangulin.txt2
-rw-r--r--runtime/doc/hebrew.txt2
-rw-r--r--runtime/doc/help.txt2
-rw-r--r--runtime/doc/howto.txt2
-rw-r--r--runtime/doc/if_cscop.txt2
-rw-r--r--runtime/doc/if_mzsch.txt2
-rw-r--r--runtime/doc/if_ole.txt2
-rw-r--r--runtime/doc/if_perl.txt2
-rw-r--r--runtime/doc/if_pyth.txt2
-rw-r--r--runtime/doc/if_ruby.txt2
-rw-r--r--runtime/doc/if_sniff.txt2
-rw-r--r--runtime/doc/if_tcl.txt2
-rw-r--r--runtime/doc/indent.txt2
-rw-r--r--runtime/doc/index.txt2
-rw-r--r--runtime/doc/insert.txt2
-rw-r--r--runtime/doc/intro.txt2
-rw-r--r--runtime/doc/map.txt2
-rw-r--r--runtime/doc/mbyte.txt2
-rw-r--r--runtime/doc/message.txt2
-rw-r--r--runtime/doc/mlang.txt2
-rw-r--r--runtime/doc/motion.txt2
-rw-r--r--runtime/doc/netbeans.txt2
-rw-r--r--runtime/doc/options.txt16
-rw-r--r--runtime/doc/os_390.txt2
-rw-r--r--runtime/doc/os_amiga.txt2
-rw-r--r--runtime/doc/os_beos.txt2
-rw-r--r--runtime/doc/os_dos.txt2
-rw-r--r--runtime/doc/os_mac.txt2
-rw-r--r--runtime/doc/os_mint.txt2
-rw-r--r--runtime/doc/os_msdos.txt2
-rw-r--r--runtime/doc/os_os2.txt2
-rw-r--r--runtime/doc/os_qnx.txt2
-rw-r--r--runtime/doc/os_risc.txt2
-rw-r--r--runtime/doc/os_unix.txt2
-rw-r--r--runtime/doc/os_vms.txt2
-rw-r--r--runtime/doc/os_win32.txt2
-rw-r--r--runtime/doc/pattern.txt2
-rw-r--r--runtime/doc/pi_gzip.txt2
-rw-r--r--runtime/doc/pi_netrw.txt2
-rw-r--r--runtime/doc/pi_paren.txt2
-rw-r--r--runtime/doc/pi_spec.txt2
-rw-r--r--runtime/doc/pi_tar.txt2
-rw-r--r--runtime/doc/pi_zip.txt2
-rw-r--r--runtime/doc/print.txt2
-rw-r--r--runtime/doc/quickfix.txt2
-rw-r--r--runtime/doc/quickref.txt3
-rw-r--r--runtime/doc/quotes.txt2
-rw-r--r--runtime/doc/recover.txt2
-rw-r--r--runtime/doc/remote.txt2
-rw-r--r--runtime/doc/repeat.txt2
-rw-r--r--runtime/doc/rileft.txt2
-rw-r--r--runtime/doc/russian.txt2
-rw-r--r--runtime/doc/scroll.txt2
-rw-r--r--runtime/doc/sign.txt2
-rw-r--r--runtime/doc/spell.txt12
-rw-r--r--runtime/doc/sponsor.txt2
-rw-r--r--runtime/doc/sql.txt2
-rw-r--r--runtime/doc/starting.txt2
-rw-r--r--runtime/doc/syntax.txt4
-rw-r--r--runtime/doc/tabpage.txt2
-rw-r--r--runtime/doc/tags5
-rw-r--r--runtime/doc/tagsrch.txt2
-rw-r--r--runtime/doc/term.txt2
-rw-r--r--runtime/doc/tips.txt2
-rw-r--r--runtime/doc/todo.txt33
-rw-r--r--runtime/doc/uganda.txt2
-rw-r--r--runtime/doc/undo.txt2
-rw-r--r--runtime/doc/usr_01.txt2
-rw-r--r--runtime/doc/usr_02.txt2
-rw-r--r--runtime/doc/usr_03.txt2
-rw-r--r--runtime/doc/usr_04.txt2
-rw-r--r--runtime/doc/usr_05.txt2
-rw-r--r--runtime/doc/usr_06.txt2
-rw-r--r--runtime/doc/usr_07.txt2
-rw-r--r--runtime/doc/usr_08.txt2
-rw-r--r--runtime/doc/usr_09.txt2
-rw-r--r--runtime/doc/usr_10.txt2
-rw-r--r--runtime/doc/usr_11.txt2
-rw-r--r--runtime/doc/usr_12.txt2
-rw-r--r--runtime/doc/usr_20.txt2
-rw-r--r--runtime/doc/usr_21.txt2
-rw-r--r--runtime/doc/usr_22.txt2
-rw-r--r--runtime/doc/usr_23.txt2
-rw-r--r--runtime/doc/usr_24.txt2
-rw-r--r--runtime/doc/usr_25.txt2
-rw-r--r--runtime/doc/usr_26.txt2
-rw-r--r--runtime/doc/usr_27.txt2
-rw-r--r--runtime/doc/usr_28.txt2
-rw-r--r--runtime/doc/usr_29.txt2
-rw-r--r--runtime/doc/usr_30.txt2
-rw-r--r--runtime/doc/usr_31.txt2
-rw-r--r--runtime/doc/usr_32.txt2
-rw-r--r--runtime/doc/usr_40.txt2
-rw-r--r--runtime/doc/usr_41.txt2
-rw-r--r--runtime/doc/usr_42.txt2
-rw-r--r--runtime/doc/usr_43.txt2
-rw-r--r--runtime/doc/usr_44.txt2
-rw-r--r--runtime/doc/usr_45.txt2
-rw-r--r--runtime/doc/usr_90.txt2
-rw-r--r--runtime/doc/usr_toc.txt2
-rw-r--r--runtime/doc/various.txt2
-rw-r--r--runtime/doc/version4.txt2
-rw-r--r--runtime/doc/version5.txt2
-rw-r--r--runtime/doc/version6.txt2
-rw-r--r--runtime/doc/version7.txt19
-rw-r--r--runtime/doc/vi_diff.txt2
-rw-r--r--runtime/doc/vimball.txt2
-rw-r--r--runtime/doc/visual.txt2
-rw-r--r--runtime/doc/windows.txt2
-rw-r--r--runtime/doc/workshop.txt2
-rw-r--r--runtime/optwin.vim16
-rw-r--r--runtime/synmenu.vim58
-rw-r--r--runtime/syntax/c.vim8
-rw-r--r--runtime/syntax/muttrc.vim557
-rw-r--r--runtime/syntax/rhelp.vim29
-rw-r--r--runtime/syntax/slrnrc.vim14
-rw-r--r--src/GvimExt/GvimExt.reg4
-rw-r--r--src/GvimExt/gvimext.h6
-rw-r--r--src/Make_mvc.mak4
-rw-r--r--src/Makefile2
-rw-r--r--src/edit.c31
-rw-r--r--src/eval.c125
-rw-r--r--src/getchar.c6
-rw-r--r--src/globals.h2
-rw-r--r--src/gui_gtk_x11.c2
-rw-r--r--src/gui_mac.c24
-rw-r--r--src/gui_w32.c10
-rw-r--r--src/option.c7
-rw-r--r--src/option.h3
-rw-r--r--src/proto/edit.pro78
-rw-r--r--src/proto/gui.pro126
-rw-r--r--src/proto/message.pro138
-rw-r--r--src/proto/os_mswin.pro4
-rw-r--r--src/quickfix.c30
-rw-r--r--src/testdir/test55.in57
-rw-r--r--src/testdir/test55.ok20
-rw-r--r--src/version.h10
179 files changed, 1208 insertions, 746 deletions
diff --git a/Contents b/Contents
index 7c8eb1e1f..dd95a64f1 100644
--- a/Contents
+++ b/Contents
@@ -9,10 +9,10 @@ Vim Vi IMproved. A clone of the UNIX text editor Vi. Very useful
messages, shows current file name in window title, on-line
help, rectangular cut/paste, etc., etc., etc...
- Version 7.0e. Also runs under UNIX, MSDOS and other systems.
- vim70ert.tgz contains the documentation and syntax files.
- vim70ebin.tgz contains the binaries.
- vim70esrc.tgz contains the sources.
+ Version 7.0f. Also runs under UNIX, MSDOS and other systems.
+ vim70frt.tgz contains the documentation and syntax files.
+ vim70fbin.tgz contains the binaries.
+ vim70fsrc.tgz contains the sources.
Author: Bram Moolenaar et al.
diff --git a/Makefile b/Makefile
index c8789295f..90d8553bd 100644
--- a/Makefile
+++ b/Makefile
@@ -69,7 +69,7 @@ all install uninstall tools config configure proto depend lint tags types test t
# Before creating an archive first delete all backup files, *.orig, etc.
MAJOR = 7
-MINOR = 0e
+MINOR = 0f
# Uncomment this line if the Win32s version is to be included.
DOSBIN_S = dosbin_s
diff --git a/README.txt b/README.txt
index 1aef76e46..274ac994b 100644
--- a/README.txt
+++ b/README.txt
@@ -1,4 +1,4 @@
-README.txt for version 7.0e of Vim: Vi IMproved.
+README.txt for version 7.0f of Vim: Vi IMproved.
WHAT IS VIM
diff --git a/README_ami.txt b/README_ami.txt
index 12be43a59..d54337f72 100644
--- a/README_ami.txt
+++ b/README_ami.txt
@@ -1,4 +1,4 @@
-README_ami.txt for version 7.0e of Vim: Vi IMproved.
+README_ami.txt for version 7.0f of Vim: Vi IMproved.
This file explains the installation of Vim on Amiga systems.
See README.txt for general information about Vim.
diff --git a/README_amibin.txt b/README_amibin.txt
index e862bed0b..83e86ea5c 100644
--- a/README_amibin.txt
+++ b/README_amibin.txt
@@ -1,4 +1,4 @@
-README_amibin.txt for version 7.0e of Vim: Vi IMproved.
+README_amibin.txt for version 7.0f of Vim: Vi IMproved.
See "README.txt" for general information about Vim.
See "README_ami.txt" for installation instructions for the Amiga.
diff --git a/README_amisrc.txt b/README_amisrc.txt
index 3ff6e5061..ab8c7a8ad 100644
--- a/README_amisrc.txt
+++ b/README_amisrc.txt
@@ -1,4 +1,4 @@
-README_amisrc.txt for version 7.0e of Vim: Vi IMproved.
+README_amisrc.txt for version 7.0f of Vim: Vi IMproved.
See "README.txt" for general information about Vim.
See "README_ami.txt" for installation instructions for the Amiga.
diff --git a/README_bindos.txt b/README_bindos.txt
index 6ac0224d8..889e63d82 100644
--- a/README_bindos.txt
+++ b/README_bindos.txt
@@ -1,4 +1,4 @@
-README_bindos.txt for version 7.0e of Vim: Vi IMproved.
+README_bindos.txt for version 7.0f of Vim: Vi IMproved.
See "README.txt" for general information about Vim.
See "README_dos.txt" for installation instructions for MS-DOS and MS-Windows.
diff --git a/README_dos.txt b/README_dos.txt
index 13da4f9ba..a1a314fd3 100644
--- a/README_dos.txt
+++ b/README_dos.txt
@@ -1,4 +1,4 @@
-README_dos.txt for version 7.0e of Vim: Vi IMproved.
+README_dos.txt for version 7.0f of Vim: Vi IMproved.
This file explains the installation of Vim on MS-DOS and MS-Windows systems.
See "README.txt" for general information about Vim.
diff --git a/README_extra.txt b/README_extra.txt
index eb8a2099e..02da9ff81 100644
--- a/README_extra.txt
+++ b/README_extra.txt
@@ -1,4 +1,4 @@
-README_extra.txt for version 7.0e of Vim: Vi IMproved.
+README_extra.txt for version 7.0f of Vim: Vi IMproved.
The extra archive of Vim is to be used in combination with the source archive
(vim-6.0-src.tar.gz). The extra archive is useless without it.
diff --git a/README_lang.txt b/README_lang.txt
index 33219df62..0ce80e9fb 100644
--- a/README_lang.txt
+++ b/README_lang.txt
@@ -1,4 +1,4 @@
-README_lang.txt for version 7.0e of Vim: Vi IMproved.
+README_lang.txt for version 7.0f of Vim: Vi IMproved.
This file contains files for non-English languages:
- Translated messages.
diff --git a/README_mac.txt b/README_mac.txt
index 3a9857b8f..65c4bbf76 100644
--- a/README_mac.txt
+++ b/README_mac.txt
@@ -1,4 +1,4 @@
-README_mac.txt for version 7.0e of Vim: Vi IMproved.
+README_mac.txt for version 7.0f of Vim: Vi IMproved.
This file explains the installation of Vim on Macintosh systems.
See "README.txt" for general information about Vim.
diff --git a/README_ole.txt b/README_ole.txt
index 76026b6b6..5c3f034ce 100644
--- a/README_ole.txt
+++ b/README_ole.txt
@@ -1,4 +1,4 @@
-README_ole.txt for version 7.0e of Vim: Vi IMproved.
+README_ole.txt for version 7.0f of Vim: Vi IMproved.
This archive contains gvim.exe with OLE interface and VisVim.
This version of gvim.exe can also load a number of interface dynamically (you
diff --git a/README_os2.txt b/README_os2.txt
index 44fc981dc..5f2fb84ee 100644
--- a/README_os2.txt
+++ b/README_os2.txt
@@ -1,4 +1,4 @@
-README_os2.txt for version 7.0e of Vim: Vi IMproved.
+README_os2.txt for version 7.0f of Vim: Vi IMproved.
This file explains the installation of Vim on OS/2 systems.
See "README.txt" for general information about Vim.
diff --git a/README_os390.txt b/README_os390.txt
index 6f15190d0..2b223c18d 100644
--- a/README_os390.txt
+++ b/README_os390.txt
@@ -1,4 +1,4 @@
-README_os_390.txt for version 7.0e of Vim: Vi IMproved.
+README_os_390.txt for version 7.0f of Vim: Vi IMproved.
Welcome to the OS/390 Unix port of VIM.
diff --git a/README_src.txt b/README_src.txt
index 12f499be0..254352065 100644
--- a/README_src.txt
+++ b/README_src.txt
@@ -1,4 +1,4 @@
-README_src.txt for version 7.0e of Vim: Vi IMproved.
+README_src.txt for version 7.0f of Vim: Vi IMproved.
The source archive contains the files needed to compile Vim on Unix systems.
It is packed for Unix systems (NL line separator). It is also used for other
diff --git a/README_srcdos.txt b/README_srcdos.txt
index 755112796..d9a9bca6b 100644
--- a/README_srcdos.txt
+++ b/README_srcdos.txt
@@ -1,4 +1,4 @@
-README_srcdos.txt for version 7.0e of Vim: Vi IMproved.
+README_srcdos.txt for version 7.0f of Vim: Vi IMproved.
See "README.txt" for general information about Vim.
See "README_dos.txt" for installation instructions for MS-DOS and MS-Windows.
diff --git a/README_unix.txt b/README_unix.txt
index 8be1ec0c9..102942170 100644
--- a/README_unix.txt
+++ b/README_unix.txt
@@ -1,4 +1,4 @@
-README_unix.txt for version 7.0e of Vim: Vi IMproved.
+README_unix.txt for version 7.0f of Vim: Vi IMproved.
This file explains the installation of Vim on Unix systems.
See "README.txt" for general information about Vim.
diff --git a/README_vms.txt b/README_vms.txt
index af7cc575e..82b0d386d 100644
--- a/README_vms.txt
+++ b/README_vms.txt
@@ -1,4 +1,4 @@
-README_vms.txt for version 7.0e of Vim: Vi IMproved.
+README_vms.txt for version 7.0f of Vim: Vi IMproved.
This file explains the installation of Vim on VMS systems.
See "README.txt" in the runtime archive for information about Vim.
diff --git a/README_w32s.txt b/README_w32s.txt
index b80b5b42c..58a9bd803 100644
--- a/README_w32s.txt
+++ b/README_w32s.txt
@@ -1,4 +1,4 @@
-README_w32s.txt for version 7.0e of Vim: Vi IMproved.
+README_w32s.txt for version 7.0f of Vim: Vi IMproved.
This archive contains the gvim.exe that was specifically compiled for use in
the Win32s subsystem in MS-Windows 3.1 and 3.11.
diff --git a/nsis/gvim.nsi b/nsis/gvim.nsi
index d59d6c77a..0f4563c2e 100644
--- a/nsis/gvim.nsi
+++ b/nsis/gvim.nsi
@@ -22,7 +22,7 @@
!define HAVE_NLS
!define VER_MAJOR 7
-!define VER_MINOR 0e
+!define VER_MINOR 0f
# ----------- No configurable settings below this line -----------
diff --git a/runtime/autoload/htmlcomplete.vim b/runtime/autoload/htmlcomplete.vim
index 733fff521..79eb9a631 100644
--- a/runtime/autoload/htmlcomplete.vim
+++ b/runtime/autoload/htmlcomplete.vim
@@ -1,7 +1,7 @@
" Vim completion script
" Language: HTML and XHTML
" Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
-" Last Change: 2006 Apr 22
+" Last Change: 2006 Apr 24
function! htmlcomplete#CompleteTags(findstart, base)
if a:findstart
@@ -485,9 +485,9 @@ function! htmlcomplete#CompleteTags(findstart, base)
" alphabetically but sort them. Those beginning with entered
" part will be as first choices
if m =~ '^'.entered_value
- call add(res, attrquoteopen . m . attrquote.' ')
+ call add(res, attrquoteopen . m . attrquote)
elseif m =~ entered_value
- call add(res2, attrquoteopen . m . attrquote.' ')
+ call add(res2, attrquoteopen . m . attrquote)
endif
endfor
diff --git a/runtime/autoload/netrw.vim b/runtime/autoload/netrw.vim
index c2c34dfd6..13081c8a7 100644
--- a/runtime/autoload/netrw.vim
+++ b/runtime/autoload/netrw.vim
@@ -1,7 +1,7 @@
" netrw.vim: Handles file transfer and remote directory listing across a network
" AUTOLOAD PORTION
-" Date: Apr 21, 2006
-" Version: 92
+" Date: Apr 24, 2006
+" Version: 93
" Maintainer: Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz>
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
" Copyright: Copyright (C) 1999-2005 Charles E. Campbell, Jr. {{{1
@@ -23,7 +23,7 @@
if &cp || exists("g:loaded_netrw")
finish
endif
-let g:loaded_netrw = "v92"
+let g:loaded_netrw = "v93"
if v:version < 700
echohl WarningMsg | echo "***netrw*** you need vim version 7.0 or later for version ".g:loaded_netrw." of netrw" | echohl None
finish
@@ -3429,7 +3429,11 @@ fun! s:LocalFastBrowser()
let s:netrw_browser_shellcmd= 1
augroup AuNetrwShellCmd
au!
- au ShellCmdPost,FocusGained * call s:LocalBrowseShellCmdRefresh()
+ if (has("win32") || has("win95") || has("win64") || has("win16"))
+ au ShellCmdPost * call s:LocalBrowseShellCmdRefresh()
+ else
+ au ShellCmdPost,FocusGained * call s:LocalBrowseShellCmdRefresh()
+ endif
augroup END
endif
diff --git a/runtime/autoload/vimball.vim b/runtime/autoload/vimball.vim
index 86f0e886d..91c57b2eb 100644
--- a/runtime/autoload/vimball.vim
+++ b/runtime/autoload/vimball.vim
@@ -1,7 +1,7 @@
" vimball : construct a file containing both paths and files
" Author: Charles E. Campbell, Jr.
-" Date: Mar 31, 2006
-" Version: 6
+" Date: Apr 24, 2006
+" Version: 7
" GetLatestVimScripts: 1502 1 :AutoInstall: vimball.vim
" Copyright: (c) 2004-2006 by Charles E. Campbell, Jr.
" The VIM LICENSE applies to Vimball.vim, and Vimball.txt
@@ -15,7 +15,7 @@ if &cp || exists("g:loaded_vimball")
finish
endif
let s:keepcpo = &cpo
-let g:loaded_vimball = "v6"
+let g:loaded_vimball = "v7"
set cpo&vim
" =====================================================================
@@ -125,12 +125,13 @@ fun! vimball#Vimball(really)
endif
" initialize
+ let fenkeep = &fen
let regakeep = @a
let eikeep = &ei
let vekeep = &ve
let makeep = getpos("'a")
let curtabnr = tabpagenr()
- set ei=all ve=all
+ set ei=all ve=all nofen
" set up vimball tab
tabnew
@@ -166,10 +167,11 @@ fun! vimball#Vimball(really)
else
echomsg "would extract <".fname.">: ".fsize." lines"
endif
-" call Decho(linenr.": will extract file<".fname.">")
-" call Decho((linenr+1).": fsize=".fsize)
+" call Decho("using L#".linenr.": will extract file<".fname.">")
+" call Decho("using L#".(linenr+1).": fsize=".fsize)
" make directories if they don't exist yet
+" call Decho("making directories if they don't exist yet")
let fnamebuf= fname
while fnamebuf =~ '/'
let dirname = substitute(fnamebuf,'/.*$','','e')
@@ -183,24 +185,19 @@ fun! vimball#Vimball(really)
exe "cd ".home
" grab specified qty of lines and place into "a" buffer
- exe linenr
- norm! jjma
- exe (linenr + fsize + 1)
- silent norm! "ay'a
-" call Decho("yanked ".fsize." lines into register-a")
-
-" call Decho("didhelp<".didhelp."> fname<".fname.">")
- if a:really && didhelp == "" && fname =~ 'doc/[^/]\+\.txt$'
- let didhelp= substitute(fname,'^\(.*\<doc\)[/\\][^.]*\.txt$','\1','e')
-" call Decho("didhelp<".didhelp.">")
- endif
+ " (skip over path/filename and qty-lines)
+ let linenr = linenr + 2
+ let lastline = linenr + fsize - 1
+" call Decho("exe ".linenr.",".lastline."yank a")
+ exe linenr.",".lastline."yank a"
" copy "a" buffer into tab
" call Decho('copy "a buffer into tab#'.vbtabnr)
exe "tabn ".vbtabnr
silent! %d
- silent norm! "aPGdd1G
-" call Decho("rega<".@a.">")
+ put a
+ 1
+ d
" write tab to file
if a:really
@@ -208,11 +205,21 @@ fun! vimball#Vimball(really)
exe "silent w! ".fname
endif
+ " return to tab with vimball
" call Decho("exe tabn ".curtabnr)
exe "tabn ".curtabnr
+
+ " set up help if its a doc/*.txt file
+" call Decho("didhelp<".didhelp."> fname<".fname.">")
+ if a:really && didhelp == "" && fname =~ 'doc/[^/]\+\.txt$'
+ let didhelp= substitute(fname,'^\(.*\<doc\)[/\\][^.]*\.txt$','\1','e')
+" call Decho("didhelp<".didhelp.">")
+ endif
+
+ " update for next file
" let oldlinenr = linenr " Decho
- let linenr = linenr + fsize + 2
-" call Decho("update linenr= [linenr=".oldlinenr."] + [fsize=".fsize."] + 2 = ".linenr)
+ let linenr = linenr + fsize
+" call Decho("update linenr= [linenr=".oldlinenr."] + [fsize=".fsize."] = ".linenr)
endwhile
" set up help
@@ -234,8 +241,9 @@ fun! vimball#Vimball(really)
setlocal nomod bh=wipe
exe "tabn ".curtabnr
exe "tabc ".vbtabnr
- let &ei= eikeep
- let @a = regakeep
+ let &ei = eikeep
+ let @a = regakeep
+ let &fen = fenkeep
if makeep[0] != 0
" restore mark a
" call Decho("restore mark-a: makeep=".string(makeep))
diff --git a/runtime/doc/arabic.txt b/runtime/doc/arabic.txt
index 9df10ba51..859125306 100644
--- a/runtime/doc/arabic.txt
+++ b/runtime/doc/arabic.txt
@@ -1,4 +1,4 @@
-*arabic.txt* For Vim version 7.0e. Last change: 2005 Mar 29
+*arabic.txt* For Vim version 7.0f. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Nadim Shaikli
diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt
index 63fd6f497..dddb0e6df 100644
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -1,4 +1,4 @@
-*autocmd.txt* For Vim version 7.0e. Last change: 2006 Apr 07
+*autocmd.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -666,7 +666,8 @@ QuickFixCmdPre Before a quickfix command is run (|:make|,
command is not executed.
*QuickFixCmdPost*
QuickFixCmdPost Like QuickFixCmdPre, but after a quickfix
- command is run.
+ command is run, before jumping to the first
+ location.
*RemoteReply*
RemoteReply When a reply from a Vim that functions as
server was received |server2client()|.
diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt
index cdfc6ab0b..2420d5df3 100644
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -1,4 +1,4 @@
-*change.txt* For Vim version 7.0e. Last change: 2006 Apr 11
+*change.txt* For Vim version 7.0f. Last change: 2006 Apr 11
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/cmdline.txt b/runtime/doc/cmdline.txt
index 19b3c2fa9..4b15f3387 100644
--- a/runtime/doc/cmdline.txt
+++ b/runtime/doc/cmdline.txt
@@ -1,4 +1,4 @@
-*cmdline.txt* For Vim version 7.0e. Last change: 2006 Mar 16
+*cmdline.txt* For Vim version 7.0f. Last change: 2006 Mar 16
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/debug.txt b/runtime/doc/debug.txt
index f464aa9a5..13220ecb0 100644
--- a/runtime/doc/debug.txt
+++ b/runtime/doc/debug.txt
@@ -1,4 +1,4 @@
-*debug.txt* For Vim version 7.0e. Last change: 2005 Dec 17
+*debug.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -40,17 +40,64 @@ This also applies when using the MingW tools.
2. Windows Bug Reporting *debug-win32*
-If the Windows version of Vim crashes in a reproducible manner,
-you can take some steps to provide a useful bug report.
+If the Windows version of Vim crashes in a reproducible manner, you can take
+some steps to provide a useful bug report.
-First, you must obtain the debugger symbols (PDB) file for your executable:
-gvim.pdb for gvim.exe, or vim.pdb for vim.exe. It should be available
-from the same place that you obtained the executable. Be sure to use
-the PDB that matches the EXE.
+
+GENERIC ~
+
+You must obtain the debugger symbols (PDB) file for your executable: gvim.pdb
+for gvim.exe, or vim.pdb for vim.exe. It should be available from the same
+place that you obtained the executable. Be sure to use the PDB that matches
+the EXE (same date).
If you built the executable yourself with the Microsoft Visual C++ compiler,
then the PDB was built with the EXE.
+Alternatively, if you have the source files, you can import Make_ivc.mak into
+Visual Studio as a workspace. Then select a debug configuration, build and
+you can do all kinds of debugging (set breakpoints, watch variables, etc.).
+
+If you have Visual Studio, use that instead of the VC Toolkit and WinDbg.
+
+For other compilers, you should always use the corresponding debugger: TD for
+a Vim executable compiled with the Borland compiler; gdb (see above
+|debug-gcc|) for the Cygwin and MinGW compilers.
+
+
+Debugging Vim crashes with Visual Studio 2005/Visual C++ 2005 Express ~
+
+First launch vim.exe or gvim.exe and then launch Visual Studio. (If you don't
+have Visual Studio, follow the instructions in src/INSTALLpc.txt to obtain a
+free copy of Visual C++ 2005 Express Edition.)
+
+On the Tools menu, click Attach to Process. Choose the Vim process.
+
+In Vim, reproduce the crash. A dialog will appear in Visual Studio, telling
+you about the unhandled exception in the Vim process. Click Break to break
+into the process.
+
+Visual Studio will pop up another dialog, telling you that no symbols are
+loaded and that the source code cannot be displayed. Click OK.
+
+Several windows will open. Right-click in the Call Stack window. Choose Load
+Symbols. The Find Symbols dialog will open, looking for (g)vim.pdb. Navigate
+to the directory where you have the PDB file and click Open.
+
+At this point, you should have a full call stack with vim function names and
+line numbers. Double-click one of the lines and the Find Source dialog will
+appear. Navigate to the directory where the Vim source is (if you have it.)
+
+If you don't know how to debug this any further, follow the instructions
+at ":help bug-reports". Paste the call stack into the bug report.
+
+If you have a non-free version of Visual Studio, you can save a minidump via
+the Debug menu and send it with the bug report. A minidump is a small file
+(<100KB), which contains information about the state of your process.
+
+
+Debugging Vim with Debugging Tools ~
+
You can download the Microsoft Visual C++ Toolkit from
http://msdn.microsoft.com/visualc/vctoolkit2003/
This contains the command-line tools, but not the Visual Studio IDE.
@@ -59,12 +106,6 @@ The Debugging Tools for Windows can be downloaded from
http://www.microsoft.com/whdc/devtools/debugging/default.mspx
This includes the WinDbg debugger.
-If you have Visual Studio, use that instead of the VC Toolkit
-and WinDbg.
-
-For other compilers, you should always use the corresponding debugger: TD for
-a Vim executable compiled with the Borland compiler; gdb (see above
-|debug-gcc|) for the Cygwin and MinGW compilers.
=========================================================================
vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/doc/debugger.txt b/runtime/doc/debugger.txt
index a3ec0a7bb..e94096c54 100644
--- a/runtime/doc/debugger.txt
+++ b/runtime/doc/debugger.txt
@@ -1,4 +1,4 @@
-*debugger.txt* For Vim version 7.0e. Last change: 2005 Mar 29
+*debugger.txt* For Vim version 7.0f. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Gordon Prieur
diff --git a/runtime/doc/develop.txt b/runtime/doc/develop.txt
index 6792dedd6..d769a8808 100644
--- a/runtime/doc/develop.txt
+++ b/runtime/doc/develop.txt
@@ -1,4 +1,4 @@
-*develop.txt* For Vim version 7.0e. Last change: 2006 Mar 09
+*develop.txt* For Vim version 7.0f. Last change: 2006 Mar 09
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/diff.txt b/runtime/doc/diff.txt
index 83c872ef0..479660c36 100644
--- a/runtime/doc/diff.txt
+++ b/runtime/doc/diff.txt
@@ -1,4 +1,4 @@
-*diff.txt* For Vim version 7.0e. Last change: 2006 Apr 14
+*diff.txt* For Vim version 7.0f. Last change: 2006 Apr 14
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/digraph.txt b/runtime/doc/digraph.txt
index 27021652a..0c273ce06 100644
--- a/runtime/doc/digraph.txt
+++ b/runtime/doc/digraph.txt
@@ -1,4 +1,4 @@
-*digraph.txt* For Vim version 7.0e. Last change: 2005 Sep 11
+*digraph.txt* For Vim version 7.0f. Last change: 2005 Sep 11
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/editing.txt b/runtime/doc/editing.txt
index d65ece86c..aa8c4f4e1 100644
--- a/runtime/doc/editing.txt
+++ b/runtime/doc/editing.txt
@@ -1,4 +1,4 @@
-*editing.txt* For Vim version 7.0e. Last change: 2006 Apr 17
+*editing.txt* For Vim version 7.0f. Last change: 2006 Apr 17
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 0a9f90c45..b8ad7a96b 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt* For Vim version 7.0e. Last change: 2006 Apr 23
+*eval.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -149,7 +149,7 @@ Examples: >
:let emptylist = []
An item can be any expression. Using a List for an item creates a
-nested List: >
+List of Lists: >
:let nestlist = [[11, 12], [21, 22], [31, 32]]
An extra comma after the last item is ignored.
@@ -192,22 +192,20 @@ separated by a colon in square brackets: >
:let shortlist = mylist[2:-1] " get List [3, "four"]
Omitting the first index is similar to zero. Omitting the last index is
-similar to -1. The difference is that there is no error if the items are not
-available. >
+similar to -1.
:let endlist = mylist[2:] " from item 2 to the end: [3, "four"]
:let shortlist = mylist[2:2] " List with one item: [3]
:let otherlist = mylist[:] " make a copy of the List
-If the second index is equal to or greater than the length of the list there
-is no error and the length minus one is used: >
+If the first index is beyond the last item of the List or the second item is
+before the first item, the result is an empty list. There is no error
+message.
+
+If the second index is equal to or greater than the length of the list the
+length minus one is used: >
:let mylist = [0, 1, 2, 3]
:echo mylist[2:8] " result: [2, 3]
-The second index can be just before the first index. In that case the result
-is an empty list. If the second index is lower, this results in an error. >
- :echo mylist[2:1] " result: []
- :echo mylist[2:0] " error!
-
NOTE: mylist[s:e] means using the variable "s:e" as index. Watch out for
using a single letter variable before the ":". Insert a space when needed:
mylist[s : e].
@@ -1557,6 +1555,7 @@ exists( {expr}) Number TRUE if {expr} exists
extend({expr1}, {expr2} [, {expr3}])
List/Dict insert items of {expr2} into {expr1}
expand( {expr}) String expand special keywords in {expr}
+feedkeys( {string} [, {mode}]) Number add key sequence to typeahead buffer
filereadable( {file}) Number TRUE if {file} is a readable file
filewritable( {file}) Number TRUE if {file} is a writable file
filter( {expr}, {string}) List/Dict remove items from {expr} where
@@ -1664,7 +1663,6 @@ pathshorten( {expr}) String shorten directory names in a path
prevnonblank( {lnum}) Number line nr of non-blank line <= {lnum}
printf( {fmt}, {expr1}...) String format text
pumvisible() Number whether popup menu is visible
-pushkeys( {string} [, {mode}]) Number add key sequence to typeahead buffer
range( {expr} [, {max} [, {stride}]])
List items from {expr} to {max}
readfile({fname} [, {binary} [, {max}]])
@@ -2457,6 +2455,25 @@ extend({expr1}, {expr2} [, {expr3}]) *extend()*
Returns {expr1}.
+feedkeys({string} [, {mode}]) *feedkeys()*
+ Characters in {string} are queued for processing as if they
+ come from a mapping or where typed by user. They are added to
+ the end of the typeahead buffer, thus if a mapping is still
+ being executed these characters come after them.
+ The function does not wait for processing of keys contained in
+ {string}.
+ To include special keys into {string}, use double-quotes
+ and "\..." notation |expr-quote|. For example,
+ feedkeys("\<CR>") simulates pressing of the Enter key. But
+ feedkeys('\<CR>') pushes 5 characters.
+ If {mode} is absent, keys are remapped.
+ {mode} is a String, which can contain these character flags:
+ 'm' remap keys. This is default.
+ 'n' do not remap keys
+ 't' handle keys as if typed; otherwise they are handled as
+ if coming from a mapping
+ Return value is always 0.
+
filereadable({file}) *filereadable()*
The result is a Number, which is TRUE when a file with the
name {file} exists, and can be read. If {file} doesn't exist,
@@ -3549,7 +3566,10 @@ matchlist({expr}, {pat}[, {start}[, {count}]]) *matchlist()*
Same as match(), but return a |List|. The first item in the
list is the matched string, same as what matchstr() would
return. Following items are submatches, like "\1", "\2", etc.
- in |:substitute|.
+ in |:substitute|. When an optional submatch didn't match an
+ empty string is used. Example: >
+ echo matchlist('acd', '\(a\)\?\(b\)\?\(c\)\?\(.*\)')
+< Results in: ['acd', 'a', '', 'c', 'd', '', '', '', '', '']
When there is no match an empty list is returned.
matchstr({expr}, {pat}[, {start}[, {count}]]) *matchstr()*
@@ -3796,23 +3816,6 @@ pumvisible() *pumvisible()*
This can be used to avoid some things that would remove the
popup menu.
-pushkeys({string} [, {mode}]) *pushkeys()*
- Characters in {string} are queued for processing as if they
- were typed by user. They are added to the end of the
- typeahead buffer, thus if a mapping is still being executed
- these characters come after them.
- The function does not wait for processing of keys contained in
- {string}.
- To include special keys into {string}, use double-quotes
- and "\..." notation |expr-quote|. For example,
- pushkeys("\<CR>") simulates pressing of the Enter key. But
- pushkeys('\<CR>') pushes 5 characters.
- If {mode} is absent, keys are remapped.
- {mode} is a String, which can contain these character flags:
- 'm' remap keys. This is default.
- 'n' do not remap keys
- Return value is always 0.
-
*E726* *E727*
range({expr} [, {max} [, {stride}]]) *range()*
Returns a |List| with Numbers:
diff --git a/runtime/doc/farsi.txt b/runtime/doc/farsi.txt
index acb3d9389..404259c8b 100644
--- a/runtime/doc/farsi.txt
+++ b/runtime/doc/farsi.txt
@@ -1,4 +1,4 @@
-*farsi.txt* For Vim version 7.0e. Last change: 2005 Mar 29
+*farsi.txt* For Vim version 7.0f. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Mortaza Ghassab Shiran
diff --git a/runtime/doc/filetype.txt b/runtime/doc/filetype.txt
index b0b18fd65..a3e040134 100644
--- a/runtime/doc/filetype.txt
+++ b/runtime/doc/filetype.txt
@@ -1,4 +1,4 @@
-*filetype.txt* For Vim version 7.0e. Last change: 2006 Mar 24
+*filetype.txt* For Vim version 7.0f. Last change: 2006 Mar 24
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/fold.txt b/runtime/doc/fold.txt
index 4bd3bb20b..0684d15c5 100644
--- a/runtime/doc/fold.txt
+++ b/runtime/doc/fold.txt
@@ -1,4 +1,4 @@
-*fold.txt* For Vim version 7.0e. Last change: 2006 Mar 29
+*fold.txt* For Vim version 7.0f. Last change: 2006 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/getscript.txt b/runtime/doc/getscript.txt
index be7302aea..464ba95bf 100644
--- a/runtime/doc/getscript.txt
+++ b/runtime/doc/getscript.txt
@@ -1,4 +1,4 @@
-*getscript.txt* For Vim version 7.0e. Last change: 2006 Mar 24
+*getscript.txt* For Vim version 7.0f. Last change: 2006 Mar 24
Get the Latest VimScripts
diff --git a/runtime/doc/gui.txt b/runtime/doc/gui.txt
index 87ab42ea0..1e7b7ce81 100644
--- a/runtime/doc/gui.txt
+++ b/runtime/doc/gui.txt
@@ -1,4 +1,4 @@
-*gui.txt* For Vim version 7.0e. Last change: 2006 Apr 02
+*gui.txt* For Vim version 7.0f. Last change: 2006 Apr 02
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/gui_w16.txt b/runtime/doc/gui_w16.txt
index d611d9d76..2eb99333f 100644
--- a/runtime/doc/gui_w16.txt
+++ b/runtime/doc/gui_w16.txt
@@ -1,4 +1,4 @@
-*gui_w16.txt* For Vim version 7.0e. Last change: 2005 Mar 29
+*gui_w16.txt* For Vim version 7.0f. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/gui_w32.txt b/runtime/doc/gui_w32.txt
index 45f7709c0..00875caa9 100644
--- a/runtime/doc/gui_w32.txt
+++ b/runtime/doc/gui_w32.txt
@@ -1,4 +1,4 @@
-*gui_w32.txt* For Vim version 7.0e. Last change: 2005 Mar 29
+*gui_w32.txt* For Vim version 7.0f. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/gui_x11.txt b/runtime/doc/gui_x11.txt
index 798c26669..3c05a6814 100644
--- a/runtime/doc/gui_x11.txt
+++ b/runtime/doc/gui_x11.txt
@@ -1,4 +1,4 @@
-*gui_x11.txt* For Vim version 7.0e. Last change: 2005 Dec 06
+*gui_x11.txt* For Vim version 7.0f. Last change: 2005 Dec 06
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/hangulin.txt b/runtime/doc/hangulin.txt
index 046ab47b7..7dc05ef54 100644
--- a/runtime/doc/hangulin.txt
+++ b/runtime/doc/hangulin.txt
@@ -1,4 +1,4 @@
-*hangulin.txt* For Vim version 7.0e. Last change: 2006 Apr 02
+*hangulin.txt* For Vim version 7.0f. Last change: 2006 Apr 02
VIM REFERENCE MANUAL by Chi-Deok Hwang and Sung-Hyun Nam
diff --git a/runtime/doc/hebrew.txt b/runtime/doc/hebrew.txt
index 4384a7485..42ed0886a 100644
--- a/runtime/doc/hebrew.txt
+++ b/runtime/doc/hebrew.txt
@@ -1,4 +1,4 @@
-*hebrew.txt* For Vim version 7.0e. Last change: 2003 May 11
+*hebrew.txt* For Vim version 7.0f. Last change: 2003 May 11
VIM REFERENCE MANUAL by Ron Aaron (and Avner Lottem)
diff --git a/runtime/doc/help.txt b/runtime/doc/help.txt
index 5bf756bca..4226704de 100644
--- a/runtime/doc/help.txt
+++ b/runtime/doc/help.txt
@@ -1,4 +1,4 @@
-*help.txt* For Vim version 7.0e. Last change: 2006 Apr 02
+*help.txt* For Vim version 7.0f. Last change: 2006 Apr 02
VIM - main help file
k
diff --git a/runtime/doc/howto.txt b/runtime/doc/howto.txt
index 79af0814c..97273ed07 100644
--- a/runtime/doc/howto.txt
+++ b/runtime/doc/howto.txt
@@ -1,4 +1,4 @@
-*howto.txt* For Vim version 7.0e. Last change: 2006 Apr 02
+*howto.txt* For Vim version 7.0f. Last change: 2006 Apr 02
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/if_cscop.txt b/runtime/doc/if_cscop.txt
index 1063a4439..d459ba9dc 100644
--- a/runtime/doc/if_cscop.txt
+++ b/runtime/doc/if_cscop.txt
@@ -1,4 +1,4 @@
-*if_cscop.txt* For Vim version 7.0e. Last change: 2005 Mar 29
+*if_cscop.txt* For Vim version 7.0f. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Andy Kahn
diff --git a/runtime/doc/if_mzsch.txt b/runtime/doc/if_mzsch.txt
index d2e85a6b1..f8fc6461d 100644
--- a/runtime/doc/if_mzsch.txt
+++ b/runtime/doc/if_mzsch.txt
@@ -1,4 +1,4 @@
-*if_mzsch.txt* For Vim version 7.0e. Last change: 2006 Mar 06
+*if_mzsch.txt* For Vim version 7.0f. Last change: 2006 Mar 06
VIM REFERENCE MANUAL by Sergey Khorev
diff --git a/runtime/doc/if_ole.txt b/runtime/doc/if_ole.txt
index 636647ce6..56d05bcb6 100644
--- a/runtime/doc/if_ole.txt
+++ b/runtime/doc/if_ole.txt
@@ -1,4 +1,4 @@
-*if_ole.txt* For Vim version 7.0e. Last change: 2006 Mar 06
+*if_ole.txt* For Vim version 7.0f. Last change: 2006 Mar 06
VIM REFERENCE MANUAL by Paul Moore
diff --git a/runtime/doc/if_perl.txt b/runtime/doc/if_perl.txt
index c082c11a7..6a3b6afd1 100644
--- a/runtime/doc/if_perl.txt
+++ b/runtime/doc/if_perl.txt
@@ -1,4 +1,4 @@
-*if_perl.txt* For Vim version 7.0e. Last change: 2006 Mar 06
+*if_perl.txt* For Vim version 7.0f. Last change: 2006 Mar 06
VIM REFERENCE MANUAL by Sven Verdoolaege
diff --git a/runtime/doc/if_pyth.txt b/runtime/doc/if_pyth.txt
index fcaf09567..081efc56e 100644
--- a/runtime/doc/if_pyth.txt
+++ b/runtime/doc/if_pyth.txt
@@ -1,4 +1,4 @@
-*if_pyth.txt* For Vim version 7.0e. Last change: 2006 Jan 20
+*if_pyth.txt* For Vim version 7.0f. Last change: 2006 Jan 20
VIM REFERENCE MANUAL by Paul Moore
diff --git a/runtime/doc/if_ruby.txt b/runtime/doc/if_ruby.txt
index 30efb809d..eb8ade0e8 100644
--- a/runtime/doc/if_ruby.txt
+++ b/runtime/doc/if_ruby.txt
@@ -1,4 +1,4 @@
-*if_ruby.txt* For Vim version 7.0e. Last change: 2006 Mar 26
+*if_ruby.txt* For Vim version 7.0f. Last change: 2006 Mar 26
VIM REFERENCE MANUAL by Shugo Maeda
diff --git a/runtime/doc/if_sniff.txt b/runtime/doc/if_sniff.txt
index d0664d908..1664bb1ac 100644
--- a/runtime/doc/if_sniff.txt
+++ b/runtime/doc/if_sniff.txt
@@ -1,4 +1,4 @@
-*if_sniff.txt* For Vim version 7.0e. Last change: 2005 Mar 29
+*if_sniff.txt* For Vim version 7.0f. Last change: 2005 Mar 29
VIM REFERENCE MANUAL
diff --git a/runtime/doc/if_tcl.txt b/runtime/doc/if_tcl.txt
index eba356b4f..e3dc46dbc 100644
--- a/runtime/doc/if_tcl.txt
+++ b/runtime/doc/if_tcl.txt
@@ -1,4 +1,4 @@
-*if_tcl.txt* For Vim version 7.0e. Last change: 2006 Mar 06
+*if_tcl.txt* For Vim version 7.0f. Last change: 2006 Mar 06
VIM REFERENCE MANUAL by Ingo Wilken
diff --git a/runtime/doc/indent.txt b/runtime/doc/indent.txt
index 9f6d85a22..3c5e2eb3c 100644
--- a/runtime/doc/indent.txt
+++ b/runtime/doc/indent.txt
@@ -1,4 +1,4 @@
-*indent.txt* For Vim version 7.0e. Last change: 2006 Apr 16
+*indent.txt* For Vim version 7.0f. Last change: 2006 Apr 16
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt
index 77ebed95f..332ad37eb 100644
--- a/runtime/doc/index.txt
+++ b/runtime/doc/index.txt
@@ -1,4 +1,4 @@
-*index.txt* For Vim version 7.0e. Last change: 2006 Apr 10
+*index.txt* For Vim version 7.0f. Last change: 2006 Apr 10
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index 144261c2f..a6060a091 100644
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1,4 +1,4 @@
-*insert.txt* For Vim version 7.0e. Last change: 2006 Apr 23
+*insert.txt* For Vim version 7.0f. Last change: 2006 Apr 23
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/intro.txt b/runtime/doc/intro.txt
index 91a70c34a..6cf501a11 100644
--- a/runtime/doc/intro.txt
+++ b/runtime/doc/intro.txt
@@ -1,4 +1,4 @@
-*intro.txt* For Vim version 7.0e. Last change: 2006 Apr 20
+*intro.txt* For Vim version 7.0f. Last change: 2006 Apr 20
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt
index 114f8cde0..cef90b462 100644
--- a/runtime/doc/map.txt
+++ b/runtime/doc/map.txt
@@ -1,4 +1,4 @@
-*map.txt* For Vim version 7.0e. Last change: 2006 Apr 20
+*map.txt* For Vim version 7.0f. Last change: 2006 Apr 20
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/mbyte.txt b/runtime/doc/mbyte.txt
index 44cbea903..cc8e700c6 100644
--- a/runtime/doc/mbyte.txt
+++ b/runtime/doc/mbyte.txt
@@ -1,4 +1,4 @@
-*mbyte.txt* For Vim version 7.0e. Last change: 2006 Apr 21
+*mbyte.txt* For Vim version 7.0f. Last change: 2006 Apr 21
VIM REFERENCE MANUAL by Bram Moolenaar et al.
diff --git a/runtime/doc/message.txt b/runtime/doc/message.txt
index cca84cddd..5e3ad2d2c 100644
--- a/runtime/doc/message.txt
+++ b/runtime/doc/message.txt
@@ -1,4 +1,4 @@
-*message.txt* For Vim version 7.0e. Last change: 2006 Apr 11
+*message.txt* For Vim version 7.0f. Last change: 2006 Apr 11
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/mlang.txt b/runtime/doc/mlang.txt
index 37621966d..911f2a09e 100644
--- a/runtime/doc/mlang.txt
+++ b/runtime/doc/mlang.txt
@@ -1,4 +1,4 @@
-*mlang.txt* For Vim version 7.0e. Last change: 2004 Feb 24
+*mlang.txt* For Vim version 7.0f. Last change: 2004 Feb 24
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/motion.txt b/runtime/doc/motion.txt
index ac807a40c..7fd51ae63 100644
--- a/runtime/doc/motion.txt
+++ b/runtime/doc/motion.txt
@@ -1,4 +1,4 @@
-*motion.txt* For Vim version 7.0e. Last change: 2006 Apr 22
+*motion.txt* For Vim version 7.0f. Last change: 2006 Apr 22
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/netbeans.txt b/runtime/doc/netbeans.txt
index 3b490253e..3f00db7f3 100644
--- a/runtime/doc/netbeans.txt
+++ b/runtime/doc/netbeans.txt
@@ -1,4 +1,4 @@
-*netbeans.txt* For Vim version 7.0e. Last change: 2006 Mar 09
+*netbeans.txt* For Vim version 7.0f. Last change: 2006 Mar 09
VIM REFERENCE MANUAL by Gordon Prieur
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 7bbd96949..28a7fe462 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt* For Vim version 7.0e. Last change: 2006 Apr 21
+*options.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -4312,6 +4312,20 @@ A jump table for the options with a short description can be found at |Q_op|.
Note that using the "-u NONE" and "--noplugin" command line arguments
reset this option. |-u| |--noplugin|
+ *'macatsui'* *'nomacatsui'*
+'macatsui' boolean (default on)
+ global
+ {only available in Mac GUI version}
+ This is a workaround for when drawing doesn't work properly. When set
+ and compiled with multi-byte support ATSUI text drawing is used. When
+ not set ATSUI text drawing is not used. Switch this option off when
+ you experience drawing problems. In a future version the problems may
+ be solved and this option becomes obsolete. Therefore use this method
+ to unset it: >
+ if exists('&macatsui')
+ set nomacatsui
+ endif
+<
*'magic'* *'nomagic'*
'magic' boolean (default on)
global
diff --git a/runtime/doc/os_390.txt b/runtime/doc/os_390.txt
index 97d1b2d21..34252b92e 100644
--- a/runtime/doc/os_390.txt
+++ b/runtime/doc/os_390.txt
@@ -1,4 +1,4 @@
-*os_390.txt* For Vim version 7.0e. Last change: 2005 Mar 29
+*os_390.txt* For Vim version 7.0f. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Ralf Schandl
diff --git a/runtime/doc/os_amiga.txt b/runtime/doc/os_amiga.txt
index 1202da7c1..4b01bb5cd 100644
--- a/runtime/doc/os_amiga.txt
+++ b/runtime/doc/os_amiga.txt
@@ -1,4 +1,4 @@
-*os_amiga.txt* For Vim version 7.0e. Last change: 2005 Mar 29
+*os_amiga.txt* For Vim version 7.0f. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/os_beos.txt b/runtime/doc/os_beos.txt
index 79c458d3c..fc8155ef7 100644
--- a/runtime/doc/os_beos.txt
+++ b/runtime/doc/os_beos.txt
@@ -1,4 +1,4 @@
-*os_beos.txt* For Vim version 7.0e. Last change: 2005 Mar 29
+*os_beos.txt* For Vim version 7.0f. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/os_dos.txt b/runtime/doc/os_dos.txt
index 7f16805ed..a6f4594bf 100644
--- a/runtime/doc/os_dos.txt
+++ b/runtime/doc/os_dos.txt
@@ -1,4 +1,4 @@
-*os_dos.txt* For Vim version 7.0e. Last change: 2006 Mar 30
+*os_dos.txt* For Vim version 7.0f. Last change: 2006 Mar 30
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/os_mac.txt b/runtime/doc/os_mac.txt
index 1f6723647..3a77caa41 100644
--- a/runtime/doc/os_mac.txt
+++ b/runtime/doc/os_mac.txt
@@ -1,4 +1,4 @@
-*os_mac.txt* For Vim version 7.0e. Last change: 2006 Mar 29
+*os_mac.txt* For Vim version 7.0f. Last change: 2006 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar et al.
diff --git a/runtime/doc/os_mint.txt b/runtime/doc/os_mint.txt
index 62ae6c84c..45e6ffacd 100644
--- a/runtime/doc/os_mint.txt
+++ b/runtime/doc/os_mint.txt
@@ -1,4 +1,4 @@
-*os_mint.txt* For Vim version 7.0e. Last change: 2005 Mar 29
+*os_mint.txt* For Vim version 7.0f. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Jens M. Felderhoff
diff --git a/runtime/doc/os_msdos.txt b/runtime/doc/os_msdos.txt
index e2f59d81f..945300443 100644
--- a/runtime/doc/os_msdos.txt
+++ b/runtime/doc/os_msdos.txt
@@ -1,4 +1,4 @@
-*os_msdos.txt* For Vim version 7.0e. Last change: 2005 Mar 29
+*os_msdos.txt* For Vim version 7.0f. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/os_os2.txt b/runtime/doc/os_os2.txt
index 8f53c2ea2..97c47e6f6 100644
--- a/runtime/doc/os_os2.txt
+++ b/runtime/doc/os_os2.txt
@@ -1,4 +1,4 @@
-*os_os2.txt* For Vim version 7.0e. Last change: 2005 Mar 29
+*os_os2.txt* For Vim version 7.0f. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Paul Slootman
diff --git a/runtime/doc/os_qnx.txt b/runtime/doc/os_qnx.txt
index 6d558e4c0..27ac328b2 100644
--- a/runtime/doc/os_qnx.txt
+++ b/runtime/doc/os_qnx.txt
@@ -1,4 +1,4 @@
-*os_qnx.txt* For Vim version 7.0e. Last change: 2005 Mar 29
+*os_qnx.txt* For Vim version 7.0f. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Julian Kinraid
diff --git a/runtime/doc/os_risc.txt b/runtime/doc/os_risc.txt
index f29442ae5..af8a37ab9 100644
--- a/runtime/doc/os_risc.txt
+++ b/runtime/doc/os_risc.txt
@@ -1,4 +1,4 @@
-*os_risc.txt* For Vim version 7.0e. Last change: 2005 Mar 29
+*os_risc.txt* For Vim version 7.0f. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Thomas Leonard
diff --git a/runtime/doc/os_unix.txt b/runtime/doc/os_unix.txt
index c7001df5c..de36c0066 100644
--- a/runtime/doc/os_unix.txt
+++ b/runtime/doc/os_unix.txt
@@ -1,4 +1,4 @@
-*os_unix.txt* For Vim version 7.0e. Last change: 2005 Mar 29
+*os_unix.txt* For Vim version 7.0f. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/os_vms.txt b/runtime/doc/os_vms.txt
index 892f9be01..d32987512 100644
--- a/runtime/doc/os_vms.txt
+++ b/runtime/doc/os_vms.txt
@@ -1,4 +1,4 @@
-*os_vms.txt* For Vim version 7.0e. Last change: 2006 Mar 02
+*os_vms.txt* For Vim version 7.0f. Last change: 2006 Mar 02
VIM REFERENCE MANUAL
diff --git a/runtime/doc/os_win32.txt b/runtime/doc/os_win32.txt
index 11c2166df..f16d76d70 100644
--- a/runtime/doc/os_win32.txt
+++ b/runtime/doc/os_win32.txt
@@ -1,4 +1,4 @@
-*os_win32.txt* For Vim version 7.0e. Last change: 2006 Apr 02
+*os_win32.txt* For Vim version 7.0f. Last change: 2006 Apr 02
VIM REFERENCE MANUAL by George Reilly
diff --git a/runtime/doc/pattern.txt b/runtime/doc/pattern.txt
index 3c021d8f7..8d5d40e15 100644
--- a/runtime/doc/pattern.txt
+++ b/runtime/doc/pattern.txt
@@ -1,4 +1,4 @@
-*pattern.txt* For Vim version 7.0e. Last change: 2006 Apr 22
+*pattern.txt* For Vim version 7.0f. Last change: 2006 Apr 22
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/pi_gzip.txt b/runtime/doc/pi_gzip.txt
index aa7835bf4..02e968dfc 100644
--- a/runtime/doc/pi_gzip.txt
+++ b/runtime/doc/pi_gzip.txt
@@ -1,4 +1,4 @@
-*pi_gzip.txt* For Vim version 7.0e. Last change: 2002 Oct 29
+*pi_gzip.txt* For Vim version 7.0f. Last change: 2002 Oct 29
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/pi_netrw.txt b/runtime/doc/pi_netrw.txt
index 3428bfbb4..f5357797e 100644
--- a/runtime/doc/pi_netrw.txt
+++ b/runtime/doc/pi_netrw.txt
@@ -1,4 +1,4 @@
-*pi_netrw.txt* For Vim version 7.0d. Last change: Apr 22, 2006
+*pi_netrw.txt* For Vim version 7.0f. Last change: Apr 22, 2006
VIM REFERENCE MANUAL by Charles E. Campbell, Jr.
diff --git a/runtime/doc/pi_paren.txt b/runtime/doc/pi_paren.txt
index 23ea75fba..7326a4e85 100644
--- a/runtime/doc/pi_paren.txt
+++ b/runtime/doc/pi_paren.txt
@@ -1,4 +1,4 @@
-*pi_paren.txt* For Vim version 7.0e. Last change: 2006 Apr 03
+*pi_paren.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/pi_spec.txt b/runtime/doc/pi_spec.txt
index a4ad11840..e0b0e2cbd 100644
--- a/runtime/doc/pi_spec.txt
+++ b/runtime/doc/pi_spec.txt
@@ -1,4 +1,4 @@
-*pi_spec.txt* For Vim version 7.0e. Last change: 2005 Oct 03
+*pi_spec.txt* For Vim version 7.0f. Last change: 2006 Apr 24
by Gustavo Niemeyer ~
diff --git a/runtime/doc/pi_tar.txt b/runtime/doc/pi_tar.txt
index 6c54891ce..f4c365d18 100644
--- a/runtime/doc/pi_tar.txt
+++ b/runtime/doc/pi_tar.txt
@@ -1,4 +1,4 @@
-*pi_tar.txt* For Vim version 7.0e. Last change: 2006 Apr 22
+*pi_tar.txt* For Vim version 7.0f. Last change: 2006 Apr 24
+====================+
| Tar File Interface |
diff --git a/runtime/doc/pi_zip.txt b/runtime/doc/pi_zip.txt
index 26d948201..3fba03d93 100644
--- a/runtime/doc/pi_zip.txt
+++ b/runtime/doc/pi_zip.txt
@@ -1,4 +1,4 @@
-*pi_zip.txt* For Vim version 7.0e. Last change: 2006 Apr 22
+*pi_zip.txt* For Vim version 7.0f. Last change: 2006 Apr 24
+====================+
| Zip File Interface |
diff --git a/runtime/doc/print.txt b/runtime/doc/print.txt
index b10157d7e..4844f000a 100644
--- a/runtime/doc/print.txt
+++ b/runtime/doc/print.txt
@@ -1,4 +1,4 @@
-*print.txt* For Vim version 7.0e. Last change: 2006 Apr 21
+*print.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/quickfix.txt b/runtime/doc/quickfix.txt
index 052613e03..7331c897e 100644
--- a/runtime/doc/quickfix.txt
+++ b/runtime/doc/quickfix.txt
@@ -1,4 +1,4 @@
-*quickfix.txt* For Vim version 7.0e. Last change: 2006 Mar 24
+*quickfix.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/quickref.txt b/runtime/doc/quickref.txt
index 78721196c..45a3a7dbb 100644
--- a/runtime/doc/quickref.txt
+++ b/runtime/doc/quickref.txt
@@ -1,4 +1,4 @@
-*quickref.txt* For Vim version 7.0e. Last change: 2006 Apr 21
+*quickref.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -753,6 +753,7 @@ Short explanation of each option: *option-list*
'list' show <Tab> and <EOL>
'listchars' 'lcs' characters for displaying in list mode
'loadplugins' 'lpl' load plugin scripts when starting up
+'macatsui' Mac GUI: use ATSUI text drawing
'magic' changes special characters in search patterns
'makeef' 'mef' name of the errorfile for ":make"
'makeprg' 'mp' program to use for the ":make" command
diff --git a/runtime/doc/quotes.txt b/runtime/doc/quotes.txt
index 8cece723d..e99be2611 100644
--- a/runtime/doc/quotes.txt
+++ b/runtime/doc/quotes.txt
@@ -1,4 +1,4 @@
-*quotes.txt* For Vim version 7.0e. Last change: 2005 Apr 04
+*quotes.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/recover.txt b/runtime/doc/recover.txt
index 7b28c12fb..44d695273 100644
--- a/runtime/doc/recover.txt
+++ b/runtime/doc/recover.txt
@@ -1,4 +1,4 @@
-*recover.txt* For Vim version 7.0e. Last change: 2005 Dec 12
+*recover.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/remote.txt b/runtime/doc/remote.txt
index 12811df33..d3d4a3878 100644
--- a/runtime/doc/remote.txt
+++ b/runtime/doc/remote.txt
@@ -1,4 +1,4 @@
-*remote.txt* For Vim version 7.0e. Last change: 2006 Mar 11
+*remote.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/repeat.txt b/runtime/doc/repeat.txt
index e11a7d727..7c3ad67c1 100644
--- a/runtime/doc/repeat.txt
+++ b/runtime/doc/repeat.txt
@@ -1,4 +1,4 @@
-*repeat.txt* For Vim version 7.0e. Last change: 2006 Mar 21
+*repeat.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/rileft.txt b/runtime/doc/rileft.txt
index eb1086324..eea287183 100644
--- a/runtime/doc/rileft.txt
+++ b/runtime/doc/rileft.txt
@@ -1,4 +1,4 @@
-*rileft.txt* For Vim version 7.0e. Last change: 2005 Apr 04
+*rileft.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Avner Lottem
diff --git a/runtime/doc/russian.txt b/runtime/doc/russian.txt
index f1b02af52..0f6dcec01 100644
--- a/runtime/doc/russian.txt
+++ b/runtime/doc/russian.txt
@@ -1,4 +1,4 @@
-*russian.txt* For Vim version 7.0e. Last change: 2005 Apr 01
+*russian.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Vassily Ragosin
diff --git a/runtime/doc/scroll.txt b/runtime/doc/scroll.txt
index c180acdc7..5a834a5f1 100644
--- a/runtime/doc/scroll.txt
+++ b/runtime/doc/scroll.txt
@@ -1,4 +1,4 @@
-*scroll.txt* For Vim version 7.0e. Last change: 2005 Dec 16
+*scroll.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/sign.txt b/runtime/doc/sign.txt
index 3c2451aaf..0e8233e0e 100644
--- a/runtime/doc/sign.txt
+++ b/runtime/doc/sign.txt
@@ -1,4 +1,4 @@
-*sign.txt* For Vim version 7.0e. Last change: 2005 Apr 04
+*sign.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Gordon Prieur
diff --git a/runtime/doc/spell.txt b/runtime/doc/spell.txt
index 7aeeabf53..8b0c8838e 100644
--- a/runtime/doc/spell.txt
+++ b/runtime/doc/spell.txt
@@ -1,4 +1,4 @@
-*spell.txt* For Vim version 7.0e. Last change: 2006 Apr 20
+*spell.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -36,7 +36,9 @@ Vim only checks words for spelling, there is no grammar check.
If the 'mousemodel' option is set to "popup" and the cursor is on a badly
spelled word or it is "popup_setpos" and the mouse pointer is on a badly
spelled word, then the popup menu will contain a submenu to replace the bad
-word. Note: this slows down the appearance of the popup menu.
+word. Note: this slows down the appearance of the popup menu. Note for GTK:
+don't release the right mouse button until the menu appears, otherwise it
+won't work.
To search for the next misspelled word:
@@ -370,8 +372,10 @@ The table with word characters is stored in the main .spl file. Therefore it
matters what the current locale is when generating it! A .add.spl file does
not contain a word table though.
-A word that starts with a digit is always ignored. That includes hex numbers
-in the form 0xff and 0XFF.
+For a word that starts with a digit the digit is ignored, unless the word as a
+whole is recognized. Thus if "3D" is a word and "D" is not then "3D" is
+recognized as a word, but if "3D" is not a word then only the "D" is marked as
+bad. Hex numbers in the form 0x12ab and 0X12AB are recognized.
WORD COMBINATIONS
diff --git a/runtime/doc/sponsor.txt b/runtime/doc/sponsor.txt
index 2f9090dcd..d08de49f5 100644
--- a/runtime/doc/sponsor.txt
+++ b/runtime/doc/sponsor.txt
@@ -1,4 +1,4 @@
-*sponsor.txt* For Vim version 7.0e. Last change: 2006 Apr 21
+*sponsor.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/sql.txt b/runtime/doc/sql.txt
index 58f806a9d..cee1139da 100644
--- a/runtime/doc/sql.txt
+++ b/runtime/doc/sql.txt
@@ -1,4 +1,4 @@
-*sql.txt* For Vim version 7.0e. Last change: Fri Apr 21 2006 10:39:11 PM
+*sql.txt* For Vim version 7.0f. Last change: Fri Apr 21 2006 10:39:11 PM
by David Fishburn
diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt
index 1b46f497d..d7c9a8a47 100644
--- a/runtime/doc/starting.txt
+++ b/runtime/doc/starting.txt
@@ -1,4 +1,4 @@
-*starting.txt* For Vim version 7.0e. Last change: 2006 Apr 23
+*starting.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index 0df624192..c1b517f18 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt* For Vim version 7.0e. Last change: 2006 Apr 20
+*syntax.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -648,6 +648,8 @@ c_no_c99 don't highlight C99 standard items
When 'foldmethod' is set to "syntax" then /* */ comments and { } blocks will
become a fold. If you don't want comments to become a fold use: >
:let c_no_comment_fold = 1
+"#if 0" blocks are also folded, unless: >
+ :let c_no_if0_fold = 1
If you notice highlighting errors while scrolling backwards, which are fixed
when redrawing with CTRL-L, try setting the "c_minlines" internal variable
diff --git a/runtime/doc/tabpage.txt b/runtime/doc/tabpage.txt
index f8d122350..2fe366c71 100644
--- a/runtime/doc/tabpage.txt
+++ b/runtime/doc/tabpage.txt
@@ -1,4 +1,4 @@
-*tabpage.txt* For Vim version 7.0e. Last change: 2006 Apr 21
+*tabpage.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/tags b/runtime/doc/tags
index b1f726b63..71c9d0603 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -356,6 +356,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
'lw' options.txt /*'lw'*
'lz' options.txt /*'lz'*
'ma' options.txt /*'ma'*
+'macatsui' options.txt /*'macatsui'*
'magic' options.txt /*'magic'*
'makeef' options.txt /*'makeef'*
'makeprg' options.txt /*'makeprg'*
@@ -513,6 +514,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
'nolpl' options.txt /*'nolpl'*
'nolz' options.txt /*'nolz'*
'noma' options.txt /*'noma'*
+'nomacatsui' options.txt /*'nomacatsui'*
'nomagic' options.txt /*'nomagic'*
'nomh' options.txt /*'nomh'*
'noml' options.txt /*'noml'*
@@ -5148,6 +5150,7 @@ fasm.vim syntax.txt /*fasm.vim*
fcs_choice-variable eval.txt /*fcs_choice-variable*
fcs_reason-variable eval.txt /*fcs_reason-variable*
feature-list eval.txt /*feature-list*
+feedkeys() eval.txt /*feedkeys()*
fetch pi_netrw.txt /*fetch*
file-browser-5.2 version5.txt /*file-browser-5.2*
file-formats editing.txt /*file-formats*
@@ -5624,7 +5627,6 @@ hebrew hebrew.txt /*hebrew*
hebrew.txt hebrew.txt /*hebrew.txt*
help various.txt /*help*
help-context help.txt /*help-context*
-help-tags tags 1
help-translated various.txt /*help-translated*
help-xterm-window various.txt /*help-xterm-window*
help.txt help.txt /*help.txt*
@@ -6559,7 +6561,6 @@ psql sql.txt /*psql*
ptcap.vim syntax.txt /*ptcap.vim*
pterm-mouse options.txt /*pterm-mouse*
pumvisible() eval.txt /*pumvisible()*
-pushkeys() eval.txt /*pushkeys()*
put change.txt /*put*
put-Visual-mode change.txt /*put-Visual-mode*
python if_pyth.txt /*python*
diff --git a/runtime/doc/tagsrch.txt b/runtime/doc/tagsrch.txt
index f54d50744..b09dae42d 100644
--- a/runtime/doc/tagsrch.txt
+++ b/runtime/doc/tagsrch.txt
@@ -1,4 +1,4 @@
-*tagsrch.txt* For Vim version 7.0e. Last change: 2006 Feb 24
+*tagsrch.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/term.txt b/runtime/doc/term.txt
index 458287521..5efec94d8 100644
--- a/runtime/doc/term.txt
+++ b/runtime/doc/term.txt
@@ -1,4 +1,4 @@
-*term.txt* For Vim version 7.0e. Last change: 2006 Feb 14
+*term.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/tips.txt b/runtime/doc/tips.txt
index 7e80dcc41..dcecc29ee 100644
--- a/runtime/doc/tips.txt
+++ b/runtime/doc/tips.txt
@@ -1,4 +1,4 @@
-*tips.txt* For Vim version 7.0e. Last change: 2006 Mar 01
+*tips.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 0e4a90cd1..29919d8d9 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt* For Vim version 7.0e. Last change: 2006 Apr 23
+*todo.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -30,35 +30,22 @@ be worked on, but only if you sponsor Vim development. See |sponsor|.
*known-bugs*
-------------------- Known bugs and current work -----------------------
-Omit errors for slicing?
-
-When there is only one match and "longest" used then CTRL-X CTRL-N shows
-original match instead of longest. (Nicolas Schodet)
-
-Line completion on "/**" gives error messages. (Nicolas Schodet)
-
-Crash in "z=" when the change triggers checking out the file, FileChangedRO
-event. Problem in move_lines()? FileChangedShell also involved? (Neil Bird)
-Added a few checks for valid buffer, did that help?
-
Add more tests for all new functionality in Vim 7. Especially new functions.
-Win32: Describe how to do debugging. (George Reilly)
-
-Mac unicode patch (Da Woon Jung, Eckehard Berns):
-8 Add patch from Muraoka Taro (Mar 16) to support input method on Mac?
- New patch 2004 Jun 16
-- selecting proportional font breaks display
-- UTF-8 text causes display problems. Font replacement causes this.
-- Command-key mappings do not work. (Alan Schmitt)
-- With 'nopaste' pasting is wrong, with 'paste' Command-V doesn't work.
- (Alan Schmitt)
-
Darren Hiebert is including the patch for omni completion in ctags. A new
version still isn't available for download.
Awaiting updated patches:
+9 Mac unicode patch (Da Woon Jung, Eckehard Berns):
+ 8 Add patch from Muraoka Taro (Mar 16) to support input method on Mac?
+ New patch 2004 Jun 16
+ - selecting proportional font breaks display
+ - UTF-8 text causes display problems. Font replacement causes this.
+ - Command-key mappings do not work. (Alan Schmitt)
+ - With 'nopaste' pasting is wrong, with 'paste' Command-V doesn't work.
+ (Alan Schmitt)
+ - remove 'macatsui' option when this has been fixed.
9 HTML indenting can be slow. Caused by using searchpair(). Can search()
be used instead?
8 Add ":n" to fnamemodify(): normalize path, remove "../" when possible.
diff --git a/runtime/doc/uganda.txt b/runtime/doc/uganda.txt
index d2b951ae8..dabce9359 100644
--- a/runtime/doc/uganda.txt
+++ b/runtime/doc/uganda.txt
@@ -1,4 +1,4 @@
-*uganda.txt* For Vim version 7.0e. Last change: 2006 Mar 24
+*uganda.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/undo.txt b/runtime/doc/undo.txt
index 5e7b4ed8e..10b328d90 100644
--- a/runtime/doc/undo.txt
+++ b/runtime/doc/undo.txt
@@ -1,4 +1,4 @@
-*undo.txt* For Vim version 7.0e. Last change: 2006 Apr 21
+*undo.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/usr_01.txt b/runtime/doc/usr_01.txt
index 4f8aed1c4..8b48430ee 100644
--- a/runtime/doc/usr_01.txt
+++ b/runtime/doc/usr_01.txt
@@ -1,4 +1,4 @@
-*usr_01.txt* For Vim version 7.0e. Last change: 2005 Apr 01
+*usr_01.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_02.txt b/runtime/doc/usr_02.txt
index f3697ea50..6074ebf00 100644
--- a/runtime/doc/usr_02.txt
+++ b/runtime/doc/usr_02.txt
@@ -1,4 +1,4 @@
-*usr_02.txt* For Vim version 7.0e. Last change: 2006 Mar 24
+*usr_02.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_03.txt b/runtime/doc/usr_03.txt
index 7cb764dfb..a0bcd60de 100644
--- a/runtime/doc/usr_03.txt
+++ b/runtime/doc/usr_03.txt
@@ -1,4 +1,4 @@
-*usr_03.txt* For Vim version 7.0e. Last change: 2005 Apr 22
+*usr_03.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_04.txt b/runtime/doc/usr_04.txt
index 891fd4935..2d2fa391b 100644
--- a/runtime/doc/usr_04.txt
+++ b/runtime/doc/usr_04.txt
@@ -1,4 +1,4 @@
-*usr_04.txt* For Vim version 7.0e. Last change: 2005 Apr 01
+*usr_04.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_05.txt b/runtime/doc/usr_05.txt
index 567ff9ae6..02d82894e 100644
--- a/runtime/doc/usr_05.txt
+++ b/runtime/doc/usr_05.txt
@@ -1,4 +1,4 @@
-*usr_05.txt* For Vim version 7.0e. Last change: 2006 Apr 02
+*usr_05.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_06.txt b/runtime/doc/usr_06.txt
index cd0d8cf7a..e834f8df5 100644
--- a/runtime/doc/usr_06.txt
+++ b/runtime/doc/usr_06.txt
@@ -1,4 +1,4 @@
-*usr_06.txt* For Vim version 7.0e. Last change: 2006 Feb 16
+*usr_06.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_07.txt b/runtime/doc/usr_07.txt
index 12319a30f..2961c7c63 100644
--- a/runtime/doc/usr_07.txt
+++ b/runtime/doc/usr_07.txt
@@ -1,4 +1,4 @@
-*usr_07.txt* For Vim version 7.0e. Last change: 2005 Apr 01
+*usr_07.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_08.txt b/runtime/doc/usr_08.txt
index 7cc7771d3..7aab030f0 100644
--- a/runtime/doc/usr_08.txt
+++ b/runtime/doc/usr_08.txt
@@ -1,4 +1,4 @@
-*usr_08.txt* For Vim version 7.0e. Last change: 2006 Feb 25
+*usr_08.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_09.txt b/runtime/doc/usr_09.txt
index 41129e5c8..fa90242db 100644
--- a/runtime/doc/usr_09.txt
+++ b/runtime/doc/usr_09.txt
@@ -1,4 +1,4 @@
-*usr_09.txt* For Vim version 7.0e. Last change: 2005 Apr 01
+*usr_09.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_10.txt b/runtime/doc/usr_10.txt
index ec4a98d00..ec87bee4b 100644
--- a/runtime/doc/usr_10.txt
+++ b/runtime/doc/usr_10.txt
@@ -1,4 +1,4 @@
-*usr_10.txt* For Vim version 7.0e. Last change: 2005 Apr 01
+*usr_10.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_11.txt b/runtime/doc/usr_11.txt
index b6d344d8c..479cdb158 100644
--- a/runtime/doc/usr_11.txt
+++ b/runtime/doc/usr_11.txt
@@ -1,4 +1,4 @@
-*usr_11.txt* For Vim version 7.0e. Last change: 2005 Jun 09
+*usr_11.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_12.txt b/runtime/doc/usr_12.txt
index 003ae9417..b59b3eca8 100644
--- a/runtime/doc/usr_12.txt
+++ b/runtime/doc/usr_12.txt
@@ -1,4 +1,4 @@
-*usr_12.txt* For Vim version 7.0e. Last change: 2006 Feb 26
+*usr_12.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_20.txt b/runtime/doc/usr_20.txt
index 86cb82260..2cbd42888 100644
--- a/runtime/doc/usr_20.txt
+++ b/runtime/doc/usr_20.txt
@@ -1,4 +1,4 @@
-*usr_20.txt* For Vim version 7.0e. Last change: 2005 Apr 01
+*usr_20.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_21.txt b/runtime/doc/usr_21.txt
index e977343ea..d07fbe869 100644
--- a/runtime/doc/usr_21.txt
+++ b/runtime/doc/usr_21.txt
@@ -1,4 +1,4 @@
-*usr_21.txt* For Vim version 7.0e. Last change: 2005 Apr 01
+*usr_21.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_22.txt b/runtime/doc/usr_22.txt
index 51a72d785..31e5d3841 100644
--- a/runtime/doc/usr_22.txt
+++ b/runtime/doc/usr_22.txt
@@ -1,4 +1,4 @@
-*usr_22.txt* For Vim version 7.0e. Last change: 2005 Apr 10
+*usr_22.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_23.txt b/runtime/doc/usr_23.txt
index a6f2e3e2b..1cf759529 100644
--- a/runtime/doc/usr_23.txt
+++ b/runtime/doc/usr_23.txt
@@ -1,4 +1,4 @@
-*usr_23.txt* For Vim version 7.0e. Last change: 2005 Apr 01
+*usr_23.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_24.txt b/runtime/doc/usr_24.txt
index 7f7d67c10..98c2a252d 100644
--- a/runtime/doc/usr_24.txt
+++ b/runtime/doc/usr_24.txt
@@ -1,4 +1,4 @@
-*usr_24.txt* For Vim version 7.0e. Last change: 2006 Apr 02
+*usr_24.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_25.txt b/runtime/doc/usr_25.txt
index 5d43da09f..a033afbc8 100644
--- a/runtime/doc/usr_25.txt
+++ b/runtime/doc/usr_25.txt
@@ -1,4 +1,4 @@
-*usr_25.txt* For Vim version 7.0e. Last change: 2005 Apr 01
+*usr_25.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_26.txt b/runtime/doc/usr_26.txt
index 65ee88df2..1a21e668e 100644
--- a/runtime/doc/usr_26.txt
+++ b/runtime/doc/usr_26.txt
@@ -1,4 +1,4 @@
-*usr_26.txt* For Vim version 7.0e. Last change: 2002 Oct 29
+*usr_26.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_27.txt b/runtime/doc/usr_27.txt
index 271c3639c..76b572129 100644
--- a/runtime/doc/usr_27.txt
+++ b/runtime/doc/usr_27.txt
@@ -1,4 +1,4 @@
-*usr_27.txt* For Vim version 7.0e. Last change: 2005 Feb 08
+*usr_27.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_28.txt b/runtime/doc/usr_28.txt
index 9ed1de20b..7c5ebbf0d 100644
--- a/runtime/doc/usr_28.txt
+++ b/runtime/doc/usr_28.txt
@@ -1,4 +1,4 @@
-*usr_28.txt* For Vim version 7.0e. Last change: 2005 Apr 01
+*usr_28.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_29.txt b/runtime/doc/usr_29.txt
index 81178298c..25567f088 100644
--- a/runtime/doc/usr_29.txt
+++ b/runtime/doc/usr_29.txt
@@ -1,4 +1,4 @@
-*usr_29.txt* For Vim version 7.0e. Last change: 2004 Feb 12
+*usr_29.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_30.txt b/runtime/doc/usr_30.txt
index fe6614e40..13449a049 100644
--- a/runtime/doc/usr_30.txt
+++ b/runtime/doc/usr_30.txt
@@ -1,4 +1,4 @@
-*usr_30.txt* For Vim version 7.0e. Last change: 2005 Apr 01
+*usr_30.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_31.txt b/runtime/doc/usr_31.txt
index a8db01c46..c94d3ca66 100644
--- a/runtime/doc/usr_31.txt
+++ b/runtime/doc/usr_31.txt
@@ -1,4 +1,4 @@
-*usr_31.txt* For Vim version 7.0e. Last change: 2006 Apr 02
+*usr_31.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_32.txt b/runtime/doc/usr_32.txt
index 99dd5a858..9fab186e1 100644
--- a/runtime/doc/usr_32.txt
+++ b/runtime/doc/usr_32.txt
@@ -1,4 +1,4 @@
-*usr_32.txt* For Vim version 7.0e. Last change: 2006 Mar 24
+*usr_32.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_40.txt b/runtime/doc/usr_40.txt
index 3cf5a8fb7..fff28aec1 100644
--- a/runtime/doc/usr_40.txt
+++ b/runtime/doc/usr_40.txt
@@ -1,4 +1,4 @@
-*usr_40.txt* For Vim version 7.0e. Last change: 2006 Mar 24
+*usr_40.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt
index a8ef839eb..811cc9fa0 100644
--- a/runtime/doc/usr_41.txt
+++ b/runtime/doc/usr_41.txt
@@ -1,4 +1,4 @@
-*usr_41.txt* For Vim version 7.0e. Last change: 2006 Apr 15
+*usr_41.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_42.txt b/runtime/doc/usr_42.txt
index ef77760f3..37e1f38d9 100644
--- a/runtime/doc/usr_42.txt
+++ b/runtime/doc/usr_42.txt
@@ -1,4 +1,4 @@
-*usr_42.txt* For Vim version 7.0e. Last change: 2005 Apr 01
+*usr_42.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_43.txt b/runtime/doc/usr_43.txt
index 0c26308b2..cddbf5415 100644
--- a/runtime/doc/usr_43.txt
+++ b/runtime/doc/usr_43.txt
@@ -1,4 +1,4 @@
-*usr_43.txt* For Vim version 7.0e. Last change: 2002 Jul 14
+*usr_43.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_44.txt b/runtime/doc/usr_44.txt
index 4c148c424..845ca3c6d 100644
--- a/runtime/doc/usr_44.txt
+++ b/runtime/doc/usr_44.txt
@@ -1,4 +1,4 @@
-*usr_44.txt* For Vim version 7.0e. Last change: 2006 Apr 18
+*usr_44.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_45.txt b/runtime/doc/usr_45.txt
index f78e41edc..169d2e7f4 100644
--- a/runtime/doc/usr_45.txt
+++ b/runtime/doc/usr_45.txt
@@ -1,4 +1,4 @@
-*usr_45.txt* For Vim version 7.0e. Last change: 2004 Jun 08
+*usr_45.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_90.txt b/runtime/doc/usr_90.txt
index 9d321991d..28ed18084 100644
--- a/runtime/doc/usr_90.txt
+++ b/runtime/doc/usr_90.txt
@@ -1,4 +1,4 @@
-*usr_90.txt* For Vim version 7.0e. Last change: 2004 Mar 21
+*usr_90.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_toc.txt b/runtime/doc/usr_toc.txt
index 17152a413..8648f7e58 100644
--- a/runtime/doc/usr_toc.txt
+++ b/runtime/doc/usr_toc.txt
@@ -1,4 +1,4 @@
-*usr_toc.txt* For Vim version 7.0e. Last change: 2006 Apr 02
+*usr_toc.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt
index 8b23125d8..99f4a45c3 100644
--- a/runtime/doc/various.txt
+++ b/runtime/doc/various.txt
@@ -1,4 +1,4 @@
-*various.txt* For Vim version 7.0e. Last change: 2006 Apr 22
+*various.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/version4.txt b/runtime/doc/version4.txt
index dd294890a..c1f946d12 100644
--- a/runtime/doc/version4.txt
+++ b/runtime/doc/version4.txt
@@ -1,4 +1,4 @@
-*version4.txt* For Vim version 7.0e. Last change: 2004 Mar 12
+*version4.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/version5.txt b/runtime/doc/version5.txt
index c77fba35b..6e94245dd 100644
--- a/runtime/doc/version5.txt
+++ b/runtime/doc/version5.txt
@@ -1,4 +1,4 @@
-*version5.txt* For Vim version 7.0e. Last change: 2005 Apr 01
+*version5.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/version6.txt b/runtime/doc/version6.txt
index 1139cebfc..de9dccbbb 100644
--- a/runtime/doc/version6.txt
+++ b/runtime/doc/version6.txt
@@ -1,4 +1,4 @@
-*version6.txt* For Vim version 7.0e. Last change: 2005 Oct 17
+*version6.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt
index de6bc0c49..c04223de7 100644
--- a/runtime/doc/version7.txt
+++ b/runtime/doc/version7.txt
@@ -1,4 +1,4 @@
-*version7.txt* For Vim version 7.0e. Last change: 2006 Apr 23
+*version7.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -731,6 +731,7 @@ New and extended functions: ~
|eval()| evaluate {string} and return the result
|extend()| append one List to another or add items from one
Dictionary to another
+|feedkeys()| put characters in the typeahead buffer
|filter()| remove selected items from a List or Dictionary
|finddir()| find a directory in 'path'
|findfile()| find a file in 'path' (Johannes Zellner)
@@ -775,7 +776,6 @@ New and extended functions: ~
|mkdir()| create a directory
|printf()| format text
|pumvisible()| check whether the popup menu is displayed
-|pushkeys()| put characters in the typeahead buffer
|range()| generate a List with numbers
|readfile()| read a file into a list of lines
|reltime()| get time value, possibly relative
@@ -1030,6 +1030,8 @@ Also fixes the problem that setting 'clipboard' to "unnamed" breaks using
Mac: GUI font selector. (Peter Cucka)
Mac: support for multi-byte characters. (Da Woon Jung)
+This doesn't always work properly. If you see text drawing problems try
+switching the 'macatsui' option off.
Mac: Support the xterm mouse in the non-GUI version.
@@ -2530,7 +2532,7 @@ if 'encoding' is a multi-byte encoding.
Spell checking: spellbadword() didn't see a missing capital in the first word
of a line. Popup menu now only suggest the capitalized word when appropriate.
-When using whole line completion CTRL-L moves throught the matches but it
+When using whole line completion CTRL-L moves through the matches but it
didn't work when at the original text.
When completion finds the longest match, don't go to the first match but stick
@@ -2596,7 +2598,16 @@ Fixed a few leaks and wrong pointer use reported by coverity.
When showing menus the mode character was sometimes wrong.
-Added pushkeys(). (Yakov Lerner)
+Added feedkeys(). (Yakov Lerner)
+
+Made matchlist() always return all submatches.
+
+Moved triggering QuickFixCmdPost to before jumping to the first location.
+
+Mac: Added the 'macatsui' option as a temporary work around for text drawing
+problems.
+
+Line completion on "/**" gave error messages when scanning an unloaded buffer.
vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/doc/vi_diff.txt b/runtime/doc/vi_diff.txt
index e85bc25ca..cb42db1ff 100644
--- a/runtime/doc/vi_diff.txt
+++ b/runtime/doc/vi_diff.txt
@@ -1,4 +1,4 @@
-*vi_diff.txt* For Vim version 7.0e. Last change: 2006 Apr 12
+*vi_diff.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/vimball.txt b/runtime/doc/vimball.txt
index b7a133f97..99843cb22 100644
--- a/runtime/doc/vimball.txt
+++ b/runtime/doc/vimball.txt
@@ -1,4 +1,4 @@
-*vimball.txt* For Vim version 7.0e. Last change: 2006 Apr 01
+*vimball.txt* For Vim version 7.0f. Last change: 2006 Apr 24
Vimball Archiver
diff --git a/runtime/doc/visual.txt b/runtime/doc/visual.txt
index 4a0a2848d..a630df8e0 100644
--- a/runtime/doc/visual.txt
+++ b/runtime/doc/visual.txt
@@ -1,4 +1,4 @@
-*visual.txt* For Vim version 7.0e. Last change: 2006 Mar 20
+*visual.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/windows.txt b/runtime/doc/windows.txt
index 2e5db8b51..10ff9decf 100644
--- a/runtime/doc/windows.txt
+++ b/runtime/doc/windows.txt
@@ -1,4 +1,4 @@
-*windows.txt* For Vim version 7.0e. Last change: 2006 Apr 10
+*windows.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/workshop.txt b/runtime/doc/workshop.txt
index fe51b928c..d58ef28c8 100644
--- a/runtime/doc/workshop.txt
+++ b/runtime/doc/workshop.txt
@@ -1,4 +1,4 @@
-*workshop.txt* For Vim version 7.0e. Last change: 2005 Mar 29
+*workshop.txt* For Vim version 7.0f. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Gordon Prieur
diff --git a/runtime/optwin.vim b/runtime/optwin.vim
index 3595e1598..da979d1e6 100644
--- a/runtime/optwin.vim
+++ b/runtime/optwin.vim
@@ -1,7 +1,7 @@
" These commands create the option window.
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2006 Apr 21
+" Last Change: 2006 Apr 24
" If there already is an option window, jump to that one.
if bufwinnr("option-window") > 0
@@ -479,10 +479,12 @@ call append("$", "tabpagemax\tmaximum number of tab pages to open for -p and \"t
call append("$", " \tset tpm=" . &tpm)
call append("$", "tabline\tcustom tab pages line")
call <SID>OptionG("tal", &tal)
-call append("$", "guitablabel\tcustom tab page label for the GUI")
-call <SID>OptionG("gtl", &gtl)
-call append("$", "guitabtooltip\tcustom tab page tooltip for the GUI")
-call <SID>OptionG("gtt", &gtt)
+if has("gui")
+ call append("$", "guitablabel\tcustom tab page label for the GUI")
+ call <SID>OptionG("gtl", &gtl)
+ call append("$", "guitabtooltip\tcustom tab page tooltip for the GUI")
+ call <SID>OptionG("gtt", &gtt)
+endif
call <SID>Header("terminal")
@@ -606,6 +608,10 @@ if has("gui")
call append("$", " \tset bexpr=" . &bexpr)
endif
endif
+ if exists("&macatsui")
+ call append("$", "macatsui\tuse ATSUI text drawing; disable to avoid display problems")
+ call <SID>OptionG("macatsui", &macatsui)
+ endif
endif
if has("printer")
diff --git a/runtime/synmenu.vim b/runtime/synmenu.vim
index c6b96b712..c3cb625f4 100644
--- a/runtime/synmenu.vim
+++ b/runtime/synmenu.vim
@@ -97,23 +97,24 @@ an 50.20.200 &Syntax.C.CH\ script :cal SetSyn("ch")<CR>
an 50.20.210 &Syntax.C.ChangeLog :cal SetSyn("changelog")<CR>
an 50.20.220 &Syntax.C.Cheetah\ template :cal SetSyn("cheetah")<CR>
an 50.20.230 &Syntax.C.CHILL :cal SetSyn("chill")<CR>
-an 50.20.240 &Syntax.C.Clean :cal SetSyn("clean")<CR>
-an 50.20.250 &Syntax.C.Clever :cal SetSyn("cl")<CR>
-an 50.20.260 &Syntax.C.Clipper :cal SetSyn("clipper")<CR>
-an 50.20.270 &Syntax.C.Cmake :cal SetSyn("cmake")<CR>
-an 50.20.280 &Syntax.C.Cold\ Fusion :cal SetSyn("cf")<CR>
-an 50.20.290 &Syntax.C.Config.Cfg\ Config\ file :cal SetSyn("cfg")<CR>
-an 50.20.300 &Syntax.C.Config.Generic\ Config\ file :cal SetSyn("conf")<CR>
-an 50.20.310 &Syntax.C.Config.Configure\.in :cal SetSyn("config")<CR>
-an 50.20.320 &Syntax.C.ConTeXt :cal SetSyn("context")<CR>
-an 50.20.330 &Syntax.C.CRM114 :cal SetSyn("crm")<CR>
-an 50.20.340 &Syntax.C.Ctrl-H :cal SetSyn("ctrlh")<CR>
-an 50.20.350 &Syntax.C.Cobol :cal SetSyn("cobol")<CR>
-an 50.20.360 &Syntax.C.CSP :cal SetSyn("csp")<CR>
-an 50.20.370 &Syntax.C.CUPL.CUPL :cal SetSyn("cupl")<CR>
-an 50.20.380 &Syntax.C.CUPL.Simulation :cal SetSyn("cuplsim")<CR>
-an 50.20.390 &Syntax.C.CVS.commit\ file :cal SetSyn("cvs")<CR>
-an 50.20.400 &Syntax.C.CVS.cvsrc :cal SetSyn("cvsrc")<CR>
+an 50.20.240 &Syntax.C.ChordPro :cal SetSyn("chordpro")<CR>
+an 50.20.250 &Syntax.C.Clean :cal SetSyn("clean")<CR>
+an 50.20.260 &Syntax.C.Clever :cal SetSyn("cl")<CR>
+an 50.20.270 &Syntax.C.Clipper :cal SetSyn("clipper")<CR>
+an 50.20.280 &Syntax.C.Cmake :cal SetSyn("cmake")<CR>
+an 50.20.290 &Syntax.C.Cold\ Fusion :cal SetSyn("cf")<CR>
+an 50.20.300 &Syntax.C.Config.Cfg\ Config\ file :cal SetSyn("cfg")<CR>
+an 50.20.310 &Syntax.C.Config.Generic\ Config\ file :cal SetSyn("conf")<CR>
+an 50.20.320 &Syntax.C.Config.Configure\.in :cal SetSyn("config")<CR>
+an 50.20.330 &Syntax.C.ConTeXt :cal SetSyn("context")<CR>
+an 50.20.340 &Syntax.C.CRM114 :cal SetSyn("crm")<CR>
+an 50.20.350 &Syntax.C.Ctrl-H :cal SetSyn("ctrlh")<CR>
+an 50.20.360 &Syntax.C.Cobol :cal SetSyn("cobol")<CR>
+an 50.20.370 &Syntax.C.CSP :cal SetSyn("csp")<CR>
+an 50.20.380 &Syntax.C.CUPL.CUPL :cal SetSyn("cupl")<CR>
+an 50.20.390 &Syntax.C.CUPL.Simulation :cal SetSyn("cuplsim")<CR>
+an 50.20.400 &Syntax.C.CVS.commit\ file :cal SetSyn("cvs")<CR>
+an 50.20.410 &Syntax.C.CVS.cvsrc :cal SetSyn("cvsrc")<CR>
an 50.30.100 &Syntax.DE.D :cal SetSyn("d")<CR>
an 50.30.110 &Syntax.DE.Debian.Debian\ ChangeLog :cal SetSyn("debchangelog")<CR>
an 50.30.120 &Syntax.DE.Debian.Debian\ Control :cal SetSyn("debcontrol")<CR>
@@ -462,17 +463,18 @@ an 50.110.360 &Syntax.TUV.UIT/UIL :cal SetSyn("uil")<CR>
an 50.110.370 &Syntax.TUV.UnrealScript :cal SetSyn("uc")<CR>
an 50.110.380 &Syntax.TUV.Updatedb\.conf :cal SetSyn("updatedb")<CR>
an 50.110.400 &Syntax.TUV.Valgrind :cal SetSyn("valgrind")<CR>
-an 50.110.410 &Syntax.TUV.Verilog-AMS\ HDL :cal SetSyn("verilogams")<CR>
-an 50.110.420 &Syntax.TUV.Verilog\ HDL :cal SetSyn("verilog")<CR>
-an 50.110.430 &Syntax.TUV.Vgrindefs :cal SetSyn("vgrindefs")<CR>
-an 50.110.440 &Syntax.TUV.VHDL :cal SetSyn("vhdl")<CR>
-an 50.110.450 &Syntax.TUV.Vim.Vim\ help\ file :cal SetSyn("help")<CR>
-an 50.110.460 &Syntax.TUV.Vim.Vim\ script :cal SetSyn("vim")<CR>
-an 50.110.470 &Syntax.TUV.Vim.Viminfo\ file :cal SetSyn("viminfo")<CR>
-an 50.110.480 &Syntax.TUV.Virata\ config :cal SetSyn("virata")<CR>
-an 50.110.490 &Syntax.TUV.Visual\ Basic :cal SetSyn("vb")<CR>
-an 50.110.500 &Syntax.TUV.VRML :cal SetSyn("vrml")<CR>
-an 50.110.510 &Syntax.TUV.VSE\ JCL :cal SetSyn("vsejcl")<CR>
+an 50.110.410 &Syntax.TUV.Vera :cal SetSyn("vera")<CR>
+an 50.110.420 &Syntax.TUV.Verilog-AMS\ HDL :cal SetSyn("verilogams")<CR>
+an 50.110.430 &Syntax.TUV.Verilog\ HDL :cal SetSyn("verilog")<CR>
+an 50.110.440 &Syntax.TUV.Vgrindefs :cal SetSyn("vgrindefs")<CR>
+an 50.110.450 &Syntax.TUV.VHDL :cal SetSyn("vhdl")<CR>
+an 50.110.460 &Syntax.TUV.Vim.Vim\ help\ file :cal SetSyn("help")<CR>
+an 50.110.470 &Syntax.TUV.Vim.Vim\ script :cal SetSyn("vim")<CR>
+an 50.110.480 &Syntax.TUV.Vim.Viminfo\ file :cal SetSyn("viminfo")<CR>
+an 50.110.490 &Syntax.TUV.Virata\ config :cal SetSyn("virata")<CR>
+an 50.110.500 &Syntax.TUV.Visual\ Basic :cal SetSyn("vb")<CR>
+an 50.110.510 &Syntax.TUV.VRML :cal SetSyn("vrml")<CR>
+an 50.110.520 &Syntax.TUV.VSE\ JCL :cal SetSyn("vsejcl")<CR>
an 50.120.100 &Syntax.WXYZ.WEB.CWEB :cal SetSyn("cweb")<CR>
an 50.120.110 &Syntax.WXYZ.WEB.WEB :cal SetSyn("web")<CR>
an 50.120.120 &Syntax.WXYZ.WEB.WEB\ Changes :cal SetSyn("change")<CR>
diff --git a/runtime/syntax/c.vim b/runtime/syntax/c.vim
index 5339ea6f6..3b0536aa3 100644
--- a/runtime/syntax/c.vim
+++ b/runtime/syntax/c.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: C
" Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2006 Apr 12
+" Last Change: 2006 Apr 24
" Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax")
@@ -260,7 +260,11 @@ endif
syn region cPreCondit start="^\s*\(%:\|#\)\s*\(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" end="//"me=s-1 contains=cComment,cCppString,cCharacter,cCppParen,cParenError,cNumbers,cCommentError,cSpaceError
syn match cPreCondit display "^\s*\(%:\|#\)\s*\(else\|endif\)\>"
if !exists("c_no_if0")
- syn region cCppOut start="^\s*\(%:\|#\)\s*if\s\+0\+\>" end=".\@=\|$" contains=cCppOut2
+ if !exists("c_no_if0_fold")
+ syn region cCppOut start="^\s*\(%:\|#\)\s*if\s\+0\+\>" end=".\@=\|$" contains=cCppOut2 fold
+ else
+ syn region cCppOut start="^\s*\(%:\|#\)\s*if\s\+0\+\>" end=".\@=\|$" contains=cCppOut2
+ endif
syn region cCppOut2 contained start="0" end="^\s*\(%:\|#\)\s*\(endif\>\|else\>\|elif\>\)" contains=cSpaceError,cCppSkip
syn region cCppSkip contained start="^\s*\(%:\|#\)\s*\(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\(%:\|#\)\s*endif\>" contains=cSpaceError,cCppSkip
endif
diff --git a/runtime/syntax/muttrc.vim b/runtime/syntax/muttrc.vim
index a95feca28..cc77711a3 100644
--- a/runtime/syntax/muttrc.vim
+++ b/runtime/syntax/muttrc.vim
@@ -1,19 +1,11 @@
" Vim syntax file
" Language: Mutt setup files
-" Maintainer: Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
-" Former Maintainer: Preben 'Peppe' Guldberg <peppe-vim@wielders.org>
-" Contributor: Gary Johnson <garyjohn@spk.agilent.com>
-" Last Change: $LastChangedDate: 2006-04-16 22:06:40 -0400 (dom, 16 apr 2006) $
-" URL: http://svn.debian.org/wsvn/pkg-vim/trunk/runtime/syntax/muttrc.vim?op=file&rev=0&sc=0
-"
-" XXX This file is in need of a new maintainer, Debian VIM Maintainers maintain
-" it only because patches have been submitted for it by Debian users and the
-" former maintainer was MIA (Missing In Action), taking over its
-" maintenance was thus the only way to include those patches.
-" If you care about this file, and have time to maintain it please do so!
-
-" XXX outdated comment
-" This file covers mutt version 1.4.2.1i
+" Original: Preben 'Peppe' Guldberg <peppe-vim@wielders.org>
+" Maintainer: Kyle Wheeler <kyle-muttrc.vim@memoryhole.net>
+" Last Change: 22 Apr 2006
+
+" This file covers mutt version 1.5.11
+" Included are also a few features from 1.4.2.1
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
@@ -38,9 +30,24 @@ syn match muttrcEscape +\\[#tnr"'Cc]+
syn match muttrcEscape +[`|]+
" The variables takes the following arguments
-syn match muttrcString "=\s*[^ #"']\+"lc=1 contains=muttrcEscape
-syn region muttrcString start=+"+ms=e skip=+\\"+ end=+"+ contains=muttrcEscape,muttrcSet,muttrcUnset,muttrcReset,muttrcToggle,muttrcMacro,muttrcCommand
-syn region muttrcString start=+'+ms=e skip=+\\'+ end=+'+ contains=muttrcEscape,muttrcSet,muttrcUnset,muttrcReset,muttrcToggle,muttrcMacro,muttrcCommand
+syn match muttrcString "=\s*[^ #"'`]\+"lc=1 contains=muttrcEscape
+syn region muttrcString start=+"+ms=e skip=+\\"+ end=+"+ contains=muttrcEscape,muttrcSet,muttrcUnset,muttrcReset,muttrcToggle,muttrcMacro,muttrcCommand,muttrcAction
+syn region muttrcString start=+'+ms=e skip=+\\'+ end=+'+ contains=muttrcEscape,muttrcSet,muttrcUnset,muttrcReset,muttrcToggle,muttrcMacro,muttrcCommand,muttrcAction
+
+syn region muttrcShellString matchgroup=muttrcEscape keepend start=+`+ skip=+\\`+ end=+`+ contains=muttrcVarStr,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcCommand,muttrcSet
+
+syn match muttrcRXChars contained /[^\\][][.*?+]\+/hs=s+1
+syn match muttrcRXChars contained /[][|()][.*?+]*/
+syn match muttrcRXChars contained /'^/ms=s+1
+syn match muttrcRXChars contained /$'/me=e-1
+syn match muttrcRXChars contained /\\/
+syn region muttrcRXString contained start=+'+ skip=+\\'+ end=+'+ contains=muttrcRXChars
+syn region muttrcRXString contained start=+"+ skip=+\\"+ end=+"+ contains=muttrcRXChars
+
+syn region muttrcRXPat contained start=+'+ skip=+\\'+ end=+'\s*+ keepend skipwhite contains=muttrcRXString nextgroup=muttrcRXPat
+syn region muttrcRXPat contained start=+"+ skip=+\\"+ end=+"\s*+ keepend skipwhite contains=muttrcRXString nextgroup=muttrcRXPat
+syn match muttrcRXPat contained /[^-'"#!]\S\+\%(\s\|$\)/ skipwhite contains=muttrcRXChars nextgroup=muttrcRXPat
+syn match muttrcRXDef contained "-rx\s\+" skipwhite nextgroup=muttrcRXPat
syn match muttrcSpecial +\(['"]\)!\1+
@@ -48,162 +55,361 @@ syn match muttrcSpecial +\(['"]\)!\1+
syn match muttrcNumber /=\s*\d\+/lc=1
syn match muttrcNumber /=\s*"\d\+"/lc=1
syn match muttrcNumber /=\s*'\d\+'/lc=1
-syn match muttrcQuadopt +=\s*\(ask-\)\=\(yes\|no\)+lc=1
-syn match muttrcQuadopt +=\s*"\(ask-\)\=\(yes\|no\)"+lc=1
-syn match muttrcQuadopt +=\s*'\(ask-\)\=\(yes\|no\)'+lc=1
+syn match muttrcQuadopt +=\s*\%(ask-\)\=\%(yes\|no\)+lc=1
+syn match muttrcQuadopt +=\s*"\%(ask-\)\=\%(yes\|no\)"+lc=1
+syn match muttrcQuadopt +=\s*'\%(ask-\)\=\%(yes\|no\)'+lc=1
" Now catch some email addresses and headers (purified version from mail.vim)
syn match muttrcEmail "[a-zA-Z0-9._-]\+@[a-zA-Z0-9./-]\+"
-syn match muttrcHeader "\<\(From\|To\|Cc\|Bcc\|Reply-To\|Subject\|Return-Path\|Received\|Date\|Replied\|Attach\)\>:\="
+syn match muttrcHeader "\<\%(From\|To\|C[Cc]\|B[Cc][Cc]\|Reply-To\|Subject\|Return-Path\|Received\|Date\|Replied\|Attach\)\>:\="
-syn match muttrcKeySpecial contained +\(\\[Cc'"]\|\^\|\\[01]\d\{2}\)+
-syn match muttrcKey contained "\S\+" contains=muttrcKeySpecial
-syn region muttrcKey contained start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=muttrcKeySpecial
-syn region muttrcKey contained start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=muttrcKeySpecial
-syn match muttrcKeyName contained "\<f\(\d\|10\)\>"
+syn match muttrcKeySpecial contained +\%(\\[Cc'"]\|\^\|\\[01]\d\{2}\)+
+syn match muttrcKey contained "\S\+" contains=muttrcKeySpecial,muttrcKeyName
+syn region muttrcKey contained start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=muttrcKeySpecial,muttrcKeyName
+syn region muttrcKey contained start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=muttrcKeySpecial,muttrcKeyName
+syn match muttrcKeyName contained "\<f\%(\d\|10\)\>"
syn match muttrcKeyName contained "\\[trne]"
-syn match muttrcKeyName contained "<\(BackSpace\|Delete\|Down\|End\|Enter\|Esc\|Home\|Insert\|Left\|PageDown\|PageUp\|Return\|Right\|Space\|Tab\|Up\)>"
-
-syn keyword muttrcVarBool contained allow_8bit allow_ansi arrow_cursor ascii_chars askbcc askcc attach_split
-syn keyword muttrcVarBool contained auto_tag autoedit beep beep_new bounce_delivered check_new collapse_unread
-syn keyword muttrcVarBool contained confirmappend confirmcreate delete_untag digest_collapse duplicate_threads
-syn keyword muttrcVarBool contained edit_hdrs edit_headers encode_from envelope_from fast_reply fcc_attach
-syn keyword muttrcVarBool contained fcc_clear followup_to force_name forw_decode forw_decrypt forw_quote
-syn keyword muttrcVarBool contained forward_decode forward_decrypt forward_quote hdrs header help hidden_host
-syn keyword muttrcVarBool contained hide_limited hide_missing hide_top_limited hide_top_missing ignore_list_reply_to
-syn keyword muttrcVarBool contained imap_force_ssl imap_list_subscribed imap_passive imap_peek imap_servernoise
-syn keyword muttrcVarBool contained implicit_autoview keep_flagged mailcap_sanitize maildir_trash mark_old markers
-syn keyword muttrcVarBool contained menu_scroll meta_key metoo mh_purge mime_forward_decode pager_stop pgp_autoencrypt
-syn keyword muttrcVarBool contained pgp_autosign pgp_ignore_subkeys pgp_long_ids pgp_replyencrypt pgp_replysign
-syn keyword muttrcVarBool contained pgp_replysignencrypted pgp_retainable_sigs pgp_show_unusable pgp_strict_enc
-syn keyword muttrcVarBool contained pipe_decode pipe_split pop_auth_try_all pop_last print_decode print_split
-syn keyword muttrcVarBool contained prompt_after read_only reply_self resolve reverse_alias reverse_name
-syn keyword muttrcVarBool contained reverse_realname rfc2047_parameters save_address save_empty save_name score
-syn keyword muttrcVarBool contained sig_dashes sig_on_top smart_wrap sort_re ssl_use_sslv2 ssl_use_sslv3 ssl_use_tlsv1
-syn keyword muttrcVarBool contained ssl_usesystemcerts status_on_top strict_threads suspend text_flowed thorough_search
-syn keyword muttrcVarBool contained thread_received tilde uncollapse_jump use_8bitmime use_domain use_from use_ipv6
+syn match muttrcKeyName contained "\c<\%(BackSpace\|Delete\|Down\|End\|Enter\|Esc\|Home\|Insert\|Left\|PageDown\|PageUp\|Return\|Right\|Space\|Tab\|Up\)>"
+
+syn keyword muttrcVarBool contained allow_8bit allow_ansi arrow_cursor ascii_chars askbcc
+syn keyword muttrcVarBool contained askcc attach_split auto_tag autoedit beep beep_new
+syn keyword muttrcVarBool contained bounce_delivered braille_friendly check_new collapse_unread
+syn keyword muttrcVarBool contained confirmappend confirmcreate crypt_autoencrypt crypt_autopgp
+syn keyword muttrcVarBool contained crypt_autosign crypt_autosmime crypt_replyencrypt
+syn keyword muttrcVarBool contained crypt_replysign crypt_replysignencrypted crypt_timestamp
+syn keyword muttrcVarBool contained crypt_use_gpgme delete_untag digest_collapse duplicate_threads
+syn keyword muttrcVarBool contained edit_hdrs edit_headers encode_from envelope_from fast_reply
+syn keyword muttrcVarBool contained fcc_attach fcc_clear followup_to force_name forw_decode
+syn keyword muttrcVarBool contained forw_decrypt forw_quote forward_decode forward_decrypt
+syn keyword muttrcVarBool contained forward_quote hdrs header help hidden_host hide_limited
+syn keyword muttrcVarBool contained hide_missing hide_thread_subject hide_top_limited
+syn keyword muttrcVarBool contained hide_top_missing ignore_list_reply_to imap_check_subscribed
+syn keyword muttrcVarBool contained imap_list_subscribed imap_passive imap_peek imap_servernoise
+syn keyword muttrcVarBool contained implicit_autoview include_onlyfirst keep_flagged
+syn keyword muttrcVarBool contained mailcap_sanitize maildir_header_cache_verify maildir_trash
+syn keyword muttrcVarBool contained mark_old markers menu_move_off menu_scroll meta_key
+syn keyword muttrcVarBool contained metoo mh_purge mime_forward_decode narrow_tree pager_stop
+syn keyword muttrcVarBool contained pgp_auto_decode pgp_auto_traditional pgp_autoencrypt
+syn keyword muttrcVarBool contained pgp_autoinline pgp_autosign pgp_check_exit
+syn keyword muttrcVarBool contained pgp_create_traditional pgp_ignore_subkeys pgp_long_ids
+syn keyword muttrcVarBool contained pgp_replyencrypt pgp_replyinline pgp_replysign
+syn keyword muttrcVarBool contained pgp_replysignencrypted pgp_retainable_sigs pgp_show_unusable
+syn keyword muttrcVarBool contained pgp_strict_enc pgp_use_gpg_agent pipe_decode pipe_split
+syn keyword muttrcVarBool contained pop_auth_try_all pop_last print_decode print_split
+syn keyword muttrcVarBool contained prompt_after read_only reply_self resolve reverse_alias
+syn keyword muttrcVarBool contained reverse_name reverse_realname rfc2047_parameters save_address
+syn keyword muttrcVarBool contained save_empty save_name score sig_dashes sig_on_top
+syn keyword muttrcVarBool contained smart_wrap smime_ask_cert_label smime_decrypt_use_default_key
+syn keyword muttrcVarBool contained smime_is_default sort_re ssl_force_tls ssl_use_sslv2
+syn keyword muttrcVarBool contained ssl_use_sslv3 ssl_use_tlsv1 ssl_usesystemcerts status_on_top
+syn keyword muttrcVarBool contained strict_threads suspend text_flowed thorough_search
+syn keyword muttrcVarBool contained thread_received tilde uncollapse_jump use_8bitmime
+syn keyword muttrcVarBool contained use_domain use_envelope_from use_from use_idn use_ipv6
syn keyword muttrcVarBool contained user_agent wait_key weed wrap_search write_bcc
-syn keyword muttrcVarBool contained noallow_8bit noallow_ansi noarrow_cursor noascii_chars noaskbcc noaskcc
-syn keyword muttrcVarBool contained noattach_split noauto_tag noautoedit nobeep nobeep_new nobounce_delivered
-syn keyword muttrcVarBool contained nocheck_new nocollapse_unread noconfirmappend noconfirmcreate nodelete_untag
-syn keyword muttrcVarBool contained nodigest_collapse noduplicate_threads noedit_hdrs noedit_headers noencode_from
-syn keyword muttrcVarBool contained noenvelope_from nofast_reply nofcc_attach nofcc_clear nofollowup_to noforce_name
-syn keyword muttrcVarBool contained noforw_decode noforw_decrypt noforw_quote noforward_decode noforward_decrypt
-syn keyword muttrcVarBool contained noforward_quote nohdrs noheader nohelp nohidden_host nohide_limited nohide_missing
-syn keyword muttrcVarBool contained nohide_top_limited nohide_top_missing noignore_list_reply_to noimap_force_ssl
+syn keyword muttrcVarBool contained noallow_8bit noallow_ansi noarrow_cursor noascii_chars noaskbcc
+syn keyword muttrcVarBool contained noaskcc noattach_split noauto_tag noautoedit nobeep nobeep_new
+syn keyword muttrcVarBool contained nobounce_delivered nobraille_friendly nocheck_new nocollapse_unread
+syn keyword muttrcVarBool contained noconfirmappend noconfirmcreate nocrypt_autoencrypt nocrypt_autopgp
+syn keyword muttrcVarBool contained nocrypt_autosign nocrypt_autosmime nocrypt_replyencrypt
+syn keyword muttrcVarBool contained nocrypt_replysign nocrypt_replysignencrypted nocrypt_timestamp
+syn keyword muttrcVarBool contained nocrypt_use_gpgme nodelete_untag nodigest_collapse noduplicate_threads
+syn keyword muttrcVarBool contained noedit_hdrs noedit_headers noencode_from noenvelope_from nofast_reply
+syn keyword muttrcVarBool contained nofcc_attach nofcc_clear nofollowup_to noforce_name noforw_decode
+syn keyword muttrcVarBool contained noforw_decrypt noforw_quote noforward_decode noforward_decrypt
+syn keyword muttrcVarBool contained noforward_quote nohdrs noheader nohelp nohidden_host nohide_limited
+syn keyword muttrcVarBool contained nohide_missing nohide_thread_subject nohide_top_limited
+syn keyword muttrcVarBool contained nohide_top_missing noignore_list_reply_to noimap_check_subscribed
syn keyword muttrcVarBool contained noimap_list_subscribed noimap_passive noimap_peek noimap_servernoise
-syn keyword muttrcVarBool contained noimplicit_autoview nokeep_flagged nomailcap_sanitize nomaildir_trash nomark_old
-syn keyword muttrcVarBool contained nomarkers nomenu_scroll nometa_key nometoo nomh_purge nomime_forward_decode
-syn keyword muttrcVarBool contained nopager_stop nopgp_autoencrypt nopgp_autosign nopgp_ignore_subkeys nopgp_long_ids
-syn keyword muttrcVarBool contained nopgp_replyencrypt nopgp_replysign nopgp_replysignencrypted nopgp_retainable_sigs
-syn keyword muttrcVarBool contained nopgp_show_unusable nopgp_strict_enc nopipe_decode nopipe_split nopop_auth_try_all
-syn keyword muttrcVarBool contained nopop_last noprint_decode noprint_split noprompt_after noread_only noreply_self
-syn keyword muttrcVarBool contained noresolve noreverse_alias noreverse_name noreverse_realname norfc2047_parameters
-syn keyword muttrcVarBool contained nosave_address nosave_empty nosave_name noscore nosig_dashes nosig_on_top
-syn keyword muttrcVarBool contained nosmart_wrap nosort_re nossl_use_sslv2 nossl_use_sslv3 nossl_use_tlsv1
-syn keyword muttrcVarBool contained nossl_usesystemcerts nostatus_on_top nostrict_threads nosuspend notext_flowed
-syn keyword muttrcVarBool contained nothorough_search nothread_received notilde nouncollapse_jump nouse_8bitmime
-syn keyword muttrcVarBool contained nouse_domain nouse_from nouse_ipv6 nouser_agent nowait_key noweed nowrap_search
-syn keyword muttrcVarBool contained nowrite_bcc
-
-syn keyword muttrcVarBool contained invallow_8bit invallow_ansi invarrow_cursor invascii_chars invaskbcc invaskcc
-syn keyword muttrcVarBool contained invattach_split invauto_tag invautoedit invbeep invbeep_new invbounce_delivered
-syn keyword muttrcVarBool contained invcheck_new invcollapse_unread invconfirmappend invconfirmcreate invdelete_untag
-syn keyword muttrcVarBool contained invdigest_collapse invduplicate_threads invedit_hdrs invedit_headers invencode_from
-syn keyword muttrcVarBool contained invenvelope_from invfast_reply invfcc_attach invfcc_clear invfollowup_to invforce_name
-syn keyword muttrcVarBool contained invforw_decode invforw_decrypt invforw_quote invforward_decode invforward_decrypt
+syn keyword muttrcVarBool contained noimplicit_autoview noinclude_onlyfirst nokeep_flagged
+syn keyword muttrcVarBool contained nomailcap_sanitize nomaildir_header_cache_verify nomaildir_trash
+syn keyword muttrcVarBool contained nomark_old nomarkers nomenu_move_off nomenu_scroll nometa_key
+syn keyword muttrcVarBool contained nometoo nomh_purge nomime_forward_decode nonarrow_tree nopager_stop
+syn keyword muttrcVarBool contained nopgp_auto_decode nopgp_auto_traditional nopgp_autoencrypt
+syn keyword muttrcVarBool contained nopgp_autoinline nopgp_autosign nopgp_check_exit
+syn keyword muttrcVarBool contained nopgp_create_traditional nopgp_ignore_subkeys nopgp_long_ids
+syn keyword muttrcVarBool contained nopgp_replyencrypt nopgp_replyinline nopgp_replysign
+syn keyword muttrcVarBool contained nopgp_replysignencrypted nopgp_retainable_sigs nopgp_show_unusable
+syn keyword muttrcVarBool contained nopgp_strict_enc nopgp_use_gpg_agent nopipe_decode nopipe_split
+syn keyword muttrcVarBool contained nopop_auth_try_all nopop_last noprint_decode noprint_split
+syn keyword muttrcVarBool contained noprompt_after noread_only noreply_self noresolve noreverse_alias
+syn keyword muttrcVarBool contained noreverse_name noreverse_realname norfc2047_parameters nosave_address
+syn keyword muttrcVarBool contained nosave_empty nosave_name noscore nosig_dashes nosig_on_top
+syn keyword muttrcVarBool contained nosmart_wrap nosmime_ask_cert_label nosmime_decrypt_use_default_key
+syn keyword muttrcVarBool contained nosmime_is_default nosort_re nossl_force_tls nossl_use_sslv2
+syn keyword muttrcVarBool contained nossl_use_sslv3 nossl_use_tlsv1 nossl_usesystemcerts nostatus_on_top
+syn keyword muttrcVarBool contained nostrict_threads nosuspend notext_flowed nothorough_search
+syn keyword muttrcVarBool contained nothread_received notilde nouncollapse_jump nouse_8bitmime
+syn keyword muttrcVarBool contained nouse_domain nouse_envelope_from nouse_from nouse_idn nouse_ipv6
+syn keyword muttrcVarBool contained nouser_agent nowait_key noweed nowrap_search nowrite_bcc
+
+syn keyword muttrcVarBool contained invallow_8bit invallow_ansi invarrow_cursor invascii_chars invaskbcc
+syn keyword muttrcVarBool contained invaskcc invattach_split invauto_tag invautoedit invbeep invbeep_new
+syn keyword muttrcVarBool contained invbounce_delivered invbraille_friendly invcheck_new invcollapse_unread
+syn keyword muttrcVarBool contained invconfirmappend invconfirmcreate invcrypt_autoencrypt invcrypt_autopgp
+syn keyword muttrcVarBool contained invcrypt_autosign invcrypt_autosmime invcrypt_replyencrypt
+syn keyword muttrcVarBool contained invcrypt_replysign invcrypt_replysignencrypted invcrypt_timestamp
+syn keyword muttrcVarBool contained invcrypt_use_gpgme invdelete_untag invdigest_collapse invduplicate_threads
+syn keyword muttrcVarBool contained invedit_hdrs invedit_headers invencode_from invenvelope_from invfast_reply
+syn keyword muttrcVarBool contained invfcc_attach invfcc_clear invfollowup_to invforce_name invforw_decode
+syn keyword muttrcVarBool contained invforw_decrypt invforw_quote invforward_decode invforward_decrypt
syn keyword muttrcVarBool contained invforward_quote invhdrs invheader invhelp invhidden_host invhide_limited
-syn keyword muttrcVarBool contained invhide_missing invhide_top_limited invhide_top_missing invignore_list_reply_to
-syn keyword muttrcVarBool contained invimap_force_ssl invimap_list_subscribed invimap_passive invimap_peek
-syn keyword muttrcVarBool contained invimap_servernoise invimplicit_autoview invkeep_flagged invmailcap_sanitize
-syn keyword muttrcVarBool contained invmaildir_trash invmark_old invmarkers invmenu_scroll invmeta_key invmetoo
-syn keyword muttrcVarBool contained invmh_purge invmime_forward_decode invpager_stop invpgp_autoencrypt invpgp_autosign
-syn keyword muttrcVarBool contained invpgp_ignore_subkeys invpgp_long_ids invpgp_replyencrypt invpgp_replysign
-syn keyword muttrcVarBool contained invpgp_replysignencrypted invpgp_retainable_sigs invpgp_show_unusable invpgp_strict_enc
-syn keyword muttrcVarBool contained invpipe_decode invpipe_split invpop_auth_try_all invpop_last invprint_decode
-syn keyword muttrcVarBool contained invprint_split invprompt_after invread_only invreply_self invresolve invreverse_alias
-syn keyword muttrcVarBool contained invreverse_name invreverse_realname invrfc2047_parameters invsave_address invsave_empty
-syn keyword muttrcVarBool contained invsave_name invscore invsig_dashes invsig_on_top invsmart_wrap invsort_re
-syn keyword muttrcVarBool contained invssl_use_sslv2 invssl_use_sslv3 invssl_use_tlsv1 invssl_usesystemcerts
-syn keyword muttrcVarBool contained invstatus_on_top invstrict_threads invsuspend invtext_flowed invthorough_search
-syn keyword muttrcVarBool contained invthread_received invtilde invuncollapse_jump invuse_8bitmime invuse_domain invuse_from
-syn keyword muttrcVarBool contained invuse_ipv6 invuser_agent invwait_key invweed invwrap_search invwrite_bcc
-syn keyword muttrcVarBool contained crypt_autosign crypt_autoencrypt xterm_set_titles
-syn keyword muttrcVarBool contained maildir_header_cache_verify
-
-syn keyword muttrcVarQuad contained abort_nosubject abort_unmodified copy delete honor_followup_to include mime_forward
-syn keyword muttrcVarQuad contained mime_forward_rest mime_fwd move pgp_create_traditional pgp_verify_sig pop_delete
-syn keyword muttrcVarQuad contained pop_reconnect postpone print quit recall reply_to ssl_starttls
-
-syn keyword muttrcVarQuad contained noabort_nosubject noabort_unmodified nocopy nodelete nohonor_followup_to
-syn keyword muttrcVarQuad contained noinclude nomime_forward nocontained nomime_forward_rest nomime_fwd nomove
-syn keyword muttrcVarQuad contained nopgp_create_traditional nopgp_verify_sig nopop_delete nopop_reconnect
+syn keyword muttrcVarBool contained invhide_missing invhide_thread_subject invhide_top_limited
+syn keyword muttrcVarBool contained invhide_top_missing invignore_list_reply_to invimap_check_subscribed
+syn keyword muttrcVarBool contained invimap_list_subscribed invimap_passive invimap_peek invimap_servernoise
+syn keyword muttrcVarBool contained invimplicit_autoview invinclude_onlyfirst invkeep_flagged
+syn keyword muttrcVarBool contained invmailcap_sanitize invmaildir_header_cache_verify invmaildir_trash
+syn keyword muttrcVarBool contained invmark_old invmarkers invmenu_move_off invmenu_scroll invmeta_key
+syn keyword muttrcVarBool contained invmetoo invmh_purge invmime_forward_decode invnarrow_tree invpager_stop
+syn keyword muttrcVarBool contained invpgp_auto_decode invpgp_auto_traditional invpgp_autoencrypt
+syn keyword muttrcVarBool contained invpgp_autoinline invpgp_autosign invpgp_check_exit
+syn keyword muttrcVarBool contained invpgp_create_traditional invpgp_ignore_subkeys invpgp_long_ids
+syn keyword muttrcVarBool contained invpgp_replyencrypt invpgp_replyinline invpgp_replysign
+syn keyword muttrcVarBool contained invpgp_replysignencrypted invpgp_retainable_sigs invpgp_show_unusable
+syn keyword muttrcVarBool contained invpgp_strict_enc invpgp_use_gpg_agent invpipe_decode invpipe_split
+syn keyword muttrcVarBool contained invpop_auth_try_all invpop_last invprint_decode invprint_split
+syn keyword muttrcVarBool contained invprompt_after invread_only invreply_self invresolve invreverse_alias
+syn keyword muttrcVarBool contained invreverse_name invreverse_realname invrfc2047_parameters invsave_address
+syn keyword muttrcVarBool contained invsave_empty invsave_name invscore invsig_dashes invsig_on_top
+syn keyword muttrcVarBool contained invsmart_wrap invsmime_ask_cert_label invsmime_decrypt_use_default_key
+syn keyword muttrcVarBool contained invsmime_is_default invsort_re invssl_force_tls invssl_use_sslv2
+syn keyword muttrcVarBool contained invssl_use_sslv3 invssl_use_tlsv1 invssl_usesystemcerts invstatus_on_top
+syn keyword muttrcVarBool contained invstrict_threads invsuspend invtext_flowed invthorough_search
+syn keyword muttrcVarBool contained invthread_received invtilde invuncollapse_jump invuse_8bitmime
+syn keyword muttrcVarBool contained invuse_domain invuse_envelope_from invuse_from invuse_idn invuse_ipv6
+syn keyword muttrcVarBool contained invuser_agent invwait_key invweed invwrap_search invwrite_bcc
+
+syn keyword muttrcVarQuad contained abort_nosubject abort_unmodified bounce copy
+syn keyword muttrcVarQuad contained crypt_verify_sig delete forward_edit honor_followup_to
+syn keyword muttrcVarQuad contained include mime_forward mime_forward_rest mime_fwd move
+syn keyword muttrcVarQuad contained pgp_mime_auto pgp_verify_sig pop_delete pop_reconnect
+syn keyword muttrcVarQuad contained postpone print quit recall reply_to ssl_starttls
+
+syn keyword muttrcVarQuad contained noabort_nosubject noabort_unmodified nobounce nocopy
+syn keyword muttrcVarQuad contained nocrypt_verify_sig nodelete noforward_edit nohonor_followup_to
+syn keyword muttrcVarQuad contained noinclude nomime_forward nomime_forward_rest nomime_fwd nomove
+syn keyword muttrcVarQuad contained nopgp_mime_auto nopgp_verify_sig nopop_delete nopop_reconnect
syn keyword muttrcVarQuad contained nopostpone noprint noquit norecall noreply_to nossl_starttls
-syn keyword muttrcVarQuad contained invabort_nosubject invabort_unmodified invcopy invdelete invhonor_followup_to
-syn keyword muttrcVarQuad contained invinclude invmime_forward invcontained invmime_forward_rest invmime_fwd invmove
-syn keyword muttrcVarQuad contained invpgp_create_traditional invpgp_verify_sig invpop_delete invpop_reconnect
+syn keyword muttrcVarQuad contained invabort_nosubject invabort_unmodified invbounce invcopy
+syn keyword muttrcVarQuad contained invcrypt_verify_sig invdelete invforward_edit invhonor_followup_to
+syn keyword muttrcVarQuad contained invinclude invmime_forward invmime_forward_rest invmime_fwd invmove
+syn keyword muttrcVarQuad contained invpgp_mime_auto invpgp_verify_sig invpop_delete invpop_reconnect
syn keyword muttrcVarQuad contained invpostpone invprint invquit invrecall invreply_to invssl_starttls
-syn keyword muttrcVarNum contained connect_timeout history imap_keepalive mail_check pager_context pager_index_lines
-syn keyword muttrcVarNum contained pgp_timeout pop_checkinterval read_inc score_threshold_delete score_threshold_flag
-syn keyword muttrcVarNum contained score_threshold_read sendmail_wait sleep_time timeout wrapmargin write_inc
+syn keyword muttrcVarNum contained connect_timeout history imap_keepalive mail_check menu_context net_inc
+syn keyword muttrcVarNum contained pager_context pager_index_lines pgp_timeout pop_checkinterval read_inc
+syn keyword muttrcVarNum contained score_threshold_delete score_threshold_flag score_threshold_read
+syn keyword muttrcVarNum contained sendmail_wait sleep_time smime_timeout ssl_min_dh_prime_bits timeout
+syn keyword muttrcVarNum contained wrapmargin write_inc
-syn keyword muttrcVarStr contained alias_file alias_format attach_format attach_sep attribution certificate_file
-syn keyword muttrcVarStr contained charset compose_format date_format default_hook display_filter dotlock_program dsn_notify
-syn keyword muttrcVarStr contained dsn_return editor entropy_file escape folder folder_format forw_format forward_format
-syn keyword muttrcVarStr contained from gecos_mask hdr_format hostname imap_authenticators imap_delim_chars
-syn keyword muttrcVarStr contained imap_home_namespace imap_pass imap_user indent_str indent_string index_format ispell
-syn keyword muttrcVarStr contained locale mailcap_path mask mbox mbox_type message_format mh_seq_flagged mh_seq_replied
+syn keyword muttrcVarStr contained alias_file alias_format attach_format attach_sep attribution
+syn keyword muttrcVarStr contained certificate_file charset compose_format config_charset content_type
+syn keyword muttrcVarStr contained date_format default_hook display_filter dotlock_program dsn_notify
+syn keyword muttrcVarStr contained dsn_return editor entropy_file envelope_from_address escape folder
+syn keyword muttrcVarStr contained folder_format forw_format forward_format from gecos_mask hdr_format
+syn keyword muttrcVarStr contained header_cache header_cache_pagesize hostname imap_authenticators
+syn keyword muttrcVarStr contained imap_delim_chars imap_headers imap_home_namespace imap_login imap_pass
+syn keyword muttrcVarStr contained imap_user indent_str indent_string index_format ispell locale mailcap_path
+syn keyword muttrcVarStr contained mask mbox mbox_type message_format mh_seq_flagged mh_seq_replied
syn keyword muttrcVarStr contained mh_seq_unseen mix_entry_format mixmaster msg_format pager pager_format
-syn keyword muttrcVarStr contained pgp_clearsign_command pgp_decode_command pgp_decrypt_command pgp_encrypt_only_command
-syn keyword muttrcVarStr contained pgp_encrypt_sign_command pgp_entry_format pgp_export_command pgp_getkeys_command
-syn keyword muttrcVarStr contained pgp_good_sign pgp_import_command pgp_list_pubring_command pgp_list_secring_command
-syn keyword muttrcVarStr contained pgp_sign_as pgp_sign_command pgp_sort_keys pgp_verify_command pgp_verify_key_command
-syn keyword muttrcVarStr contained pipe_sep pop_authenticators pop_host pop_pass pop_user post_indent_str post_indent_string
-syn keyword muttrcVarStr contained postponed preconnect print_cmd print_command query_command quote_regexp realname record
-syn keyword muttrcVarStr contained reply_regexp send_charset sendmail shell signature simple_search smileys sort sort_alias
-syn keyword muttrcVarStr contained sort_aux sort_browser spoolfile status_chars status_format tmpdir to_chars tunnel visual
-syn keyword muttrcVarStr contained header_cache header_cache_pagesize
+syn keyword muttrcVarStr contained pgp_clearsign_command pgp_decode_command pgp_decrypt_command
+syn keyword muttrcVarStr contained pgp_encrypt_only_command pgp_encrypt_sign_command pgp_entry_format
+syn keyword muttrcVarStr contained pgp_export_command pgp_getkeys_command pgp_good_sign pgp_import_command
+syn keyword muttrcVarStr contained pgp_list_pubring_command pgp_list_secring_command pgp_sign_as
+syn keyword muttrcVarStr contained pgp_sign_command pgp_sort_keys pgp_verify_command pgp_verify_key_command
+syn keyword muttrcVarStr contained pipe_sep pop_authenticators pop_host pop_pass pop_user post_indent_str
+syn keyword muttrcVarStr contained post_indent_string postponed preconnect print_cmd print_command
+syn keyword muttrcVarStr contained query_command quote_regexp realname record reply_regexp send_charset
+syn keyword muttrcVarStr contained sendmail shell signature simple_search smileys smime_ca_location
+syn keyword muttrcVarStr contained smime_certificates smime_decrypt_command smime_default_key
+syn keyword muttrcVarStr contained smime_encrypt_command smime_encrypt_with smime_get_cert_command
+syn keyword muttrcVarStr contained smime_get_cert_email_command smime_get_signer_cert_command
+syn keyword muttrcVarStr contained smime_import_cert_command smime_keys smime_pk7out_command smime_sign_as
+syn keyword muttrcVarStr contained smime_sign_command smime_sign_opaque_command smime_verify_command
+syn keyword muttrcVarStr contained smime_verify_opaque_command sort sort_alias sort_aux sort_browser
+syn keyword muttrcVarStr contained spam_separator spoolfile ssl_ca_certificates_file ssl_client_cert
+syn keyword muttrcVarStr contained status_chars status_format tmpdir to_chars tunnel visual
+
+" Present in 1.4.2.1 (pgp_create_traditional was a bool then)
+syn keyword muttrcVarBool contained imap_force_ssl imap_force_ssl noinvimap_force_ssl
+"syn keyword muttrcVarQuad contained pgp_create_traditional nopgp_create_traditional invpgp_create_traditional
+syn keyword muttrcVarStr contained alternates
syn keyword muttrcMenu contained alias attach browser compose editor index pager postpone pgp mix query generic
+syn match muttrcMenuList "\S\+" contained contains=muttrcMenu
+syn match muttrcMenuCommas /,/ contained
+
+syn keyword muttrcCommand auto_view alternative_order charset-hook exec unalternative_order
+syn keyword muttrcCommand hdr_order iconv-hook ignore mailboxes my_hdr unmailboxes
+syn keyword muttrcCommand pgp-hook push score source unauto_view unhdr_order
+syn keyword muttrcCommand unhook unignore unmono unmy_hdr unscore
+syn keyword muttrcCommand mime_lookup unmime_lookup spam ungroup
+syn keyword muttrcCommand nospam unalternative_order
+
+syn match muttrcAttachmentsMimeType contained "[*a-z0-9_-]\+/[*a-z0-9._-]\+\s*" skipwhite nextgroup=muttrcAttachmentsMimeType
+syn match muttrcAttachmentsFlag contained "[+-]\%([AI]\|inline\|attachment\)\s\+" skipwhite nextgroup=muttrcAttachmentsMimeType
+syn match muttrcAttachmentsLine "^\s*\%(un\)\?attachments\s\+" skipwhite nextgroup=muttrcAttachmentsFlag
+
+syn match muttrcUnHighlightSpace contained "\%(\s\+\|\\$\)"
-syn keyword muttrcCommand account-hook auto_view alternative_order charset-hook uncolor exec fcc-hook fcc-save-hook
-syn keyword muttrcCommand folder-hook hdr_order iconv-hook ignore lists mailboxes message-hook mbox-hook my_hdr
-syn keyword muttrcCommand pgp-hook push save-hook score send-hook source subscribe unalias unauto_view unhdr_order
-syn keyword muttrcCommand unhook unignore unlists unmono unmy_hdr unscore unsubscribe
-syn keyword muttrcCommand send2-hook alternates unalternates
+syn keyword muttrcListsKeyword contained lists unlists
+syn region muttrcListsLine keepend start=+^\s*\%(un\)\?lists\s+ skip=+\\$+ end=+$+ contains=muttrcListsKeyword,muttrcRXPat,muttrcGroupDef,muttrcUnHighlightSpace,muttrcComment
+
+syn keyword muttrcSubscribeKeyword contained subscribe unsubscribe
+syn region muttrcSubscribeLine keepend start=+^\s*\%(un\)\?subscribe\s+ skip=+\\$+ end=+$+ contains=muttrcSubscribeKeyword,muttrcRXPat,muttrcGroupDef,muttrcUnHighlightSpace,muttrcComment
+
+syn keyword muttrcAlternateKeyword contained alternates unalternates
+syn region muttrcAlternatesLine keepend start=+^\s*\%(un\)\?alternates\s+ skip=+\\$+ end=+$+ contains=muttrcAlternateKeyword,muttrcGroupDef,muttrcRXPat,muttrcUnHighlightSpace,muttrcComment
+
+syn match muttrcVariable "\$[a-zA-Z_-]\+"
+
+syn match muttrcBadAction contained "[^<>]\+" contains=muttrcEmail
+syn match muttrcFunction contained "\<\%(attach\|bounce\|copy\|delete\|display\|flag\|forward\|parent\|pipe\|postpone\|print\|recall\|resent\|save\|send\|tag\|undelete\)-message\>"
+syn match muttrcFunction contained "\<\%(delete\|next\|previous\|read\|tag\|undelete\)-thread\>"
+syn match muttrcFunction contained "\<\%(backward\|capitalize\|downcase\|forward\|kill\|upcase\)-word\>"
+syn match muttrcFunction contained "\<\%(delete\|filter\|first\|last\|next\|pipe\|previous\|print\|save\|select\|tag\|undelete\)-entry\>"
+syn match muttrcFunction contained "\<attach-\%(file\|key\)\>"
+syn match muttrcFunction contained "\<change-\%(dir\|folder\|folder-readonly\)\>"
+syn match muttrcFunction contained "\<check-\%(new\|traditional-pgp\)\>"
+syn match muttrcFunction contained "\<current-\%(bottom\|middle\|top\)\>"
+syn match muttrcFunction contained "\<decode-\%(copy\|save\)\>"
+syn match muttrcFunction contained "\<delete-\%(char\|pattern\|subthread\)\>"
+syn match muttrcFunction contained "\<display-\%(address\|toggle-weed\)\>"
+syn match muttrcFunction contained "\<edit\%(-\%(bcc\|cc\|description\|encoding\|fcc\|file\|from\|headers\|mime\|reply-to\|subject\|to\|type\)\)\?\>"
+syn match muttrcFunction contained "\<enter-\%(command\|mask\)\>"
+syn match muttrcFunction contained "\<half-\%(up\|down\)\>"
+syn match muttrcFunction contained "\<history-\%(up\|down\)\>"
+syn match muttrcFunction contained "\<kill-\%(eol\|eow\|line\)\>"
+syn match muttrcFunction contained "\<next-\%(line\|new\|page\|subthread\|undeleted\|unread\)\>"
+syn match muttrcFunction contained "\<previous-\%(line\|new\|page\|subthread\|undeleted\|unread\)\>"
+syn match muttrcFunction contained "\<search\%(-\%(next\|opposite\|reverse\|toggle\)\)\?\>"
+syn match muttrcFunction contained "\<show-\%(limit\|version\)\>"
+syn match muttrcFunction contained "\<sort-\%(mailbox\|reverse\)\>"
+syn match muttrcFunction contained "\<tag-\%(pattern\|prefix\)\>"
+syn match muttrcFunction contained "\<toggle-\%(mailboxes\|new\|quoted\|subscribed\|unlink\|write\)\>"
+syn match muttrcFunction contained "\<undelete-\%(pattern\|subthread\)\>"
+syn match muttrcFunction contained "\<collapse-\%(parts\|thread\|all\)\>"
+syn match muttrcFunction contained "\<view-\%(attach\|attachments\|file\|mailcap\|name\|text\)\>"
+syn match muttrcFunction contained "\<\%(backspace\|backward-char\|bol\|bottom\|bottom-page\|buffy-cycle\|clear-flag\|complete\%(-query\)\?\|copy-file\|create-alias\|detach-file\|eol\|exit\|extract-keys\|\%(imap-\)\?fetch-mail\|forget-passphrase\|forward-char\|group-reply\|help\|ispell\|jump\|limit\|list-reply\|mail\|mail-key\|mark-as-new\|middle-page\|new-mime\|pgp-menu\|query\|query-append\|quit\|quote-char\|read-subthread\|redraw-screen\|refresh\|rename-file\|reply\|select-new\|set-flag\|shell-escape\|skip-quoted\|sort\|subscribe\|sync-mailbox\|top\|top-page\|transpose-chars\|unsubscribe\|untag-pattern\|verify-key\|write-fcc\)\>"
+syn match muttrcAction contained "<[^>]\{-}>" contains=muttrcBadAction,muttrcFunction,muttrcKeyName
syn keyword muttrcSet set skipwhite nextgroup=muttrcVar.*
syn keyword muttrcUnset unset skipwhite nextgroup=muttrcVar.*
syn keyword muttrcReset reset skipwhite nextgroup=muttrcVar.*
syn keyword muttrcToggle toggle skipwhite nextgroup=muttrcVar.*
-syn keyword muttrcBind contained bind skipwhite nextgroup=muttrcMenu
-syn match muttrcBindLine "^\s*bind\s\+\S\+" skipwhite nextgroup=muttrcKey\(Name\)\= contains=muttrcBind
+" First, functions that take regular expressions:
+syn match muttrcRXHookNot contained /!\s*/ skipwhite nextgroup=muttrcRXString
+syn match muttrcRXHooks /^\s*\%(account\|folder\)-hook\s\+/ skipwhite nextgroup=muttrcRXHookNot,muttrcRXString
+
+" Now, functions that take patterns
+syn match muttrcPatHookNot contained /!\s*/ skipwhite nextgroup=muttrcPattern
+syn match muttrcPatHooks /^\s*\%(message\|mbox\|save\|fcc\%(-save\)\?\|send2\?\|reply\|crypt\)-hook\s\+/ nextgroup=muttrcPatHookNot,muttrcPattern
+
+syn match muttrcBindFunction contained /\S\+\%(\s\|$\)/ skipwhite contains=muttrcFunction
+syn match muttrcBindFunctionNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcBindFunction,muttrcBindFunctionNL
+syn match muttrcBindKey contained /\S\+/ skipwhite contains=muttrcKey nextgroup=muttrcBindFunction,muttrcBindFunctionNL
+syn match muttrcBindKeyNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcBindKey,muttrcBindKeyNL
+syn match muttrcBindMenuList contained /\S\+/ skipwhite contains=muttrcMenu,muttrcMenuCommas nextgroup=muttrcBindKey,muttrcBindKeyNL
+syn match muttrcBindMenuListNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcBindMenuList,muttrcBindMenuListNL
+syn match muttrcBind /^\s*bind\s\?/ skipwhite nextgroup=muttrcBindMenuList,muttrcBindMenuListNL
+
+syn match muttrcMacroKey contained /\S\+/ skipwhite contains=muttrcKey
+syn match muttrcMacroKeyNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroKey,muttrcMacroKeyNL
+syn match muttrcMacroMenuList contained /\S\+/ skipwhite contains=muttrcMenu,muttrcMenuCommas nextgroup=muttrcMacroKey,muttrcMacroKeyNL
+syn match muttrcMacroMenuListNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcMacroMenuList,muttrcMacroMenuListNL
+syn match muttrcMacro /^\s*macro\s\?/ skipwhite nextgroup=muttrcMacroMenuList,muttrcMacroMenuListNL
+
+syn match muttrcAddrContent contained "[a-zA-Z0-9._-]\+@[a-zA-Z0-9./-]\+\s*" skipwhite contains=muttrcEmail nextgroup=muttrcAddrContent
+syn region muttrcAddrContent contained start=+'+ end=+'\s*+ skip=+\\'+ skipwhite contains=muttrcEmail nextgroup=muttrcAddrContent
+syn region muttrcAddrContent contained start=+"+ end=+"\s*+ skip=+\\"+ skipwhite contains=muttrcEmail nextgroup=muttrcAddrContent
+syn match muttrcAddrDef contained "-addr\s\+" skipwhite nextgroup=muttrcAddrContent
+
+syn match muttrcGroupFlag contained "-group"
+syn region muttrcGroupDef contained start="-group\s\+" skip="\\$" end="\s" skipwhite keepend contains=muttrcGroupFlag,muttrcUnHighlightSpace
+
+syn keyword muttrcGroupKeyword contained group ungroup
+syn region muttrcGroupLine keepend start=+^\s*\%(un\)\?group\s+ skip=+\\$+ end=+$+ contains=muttrcGroupKeyword,muttrcGroupDef,muttrcAddrDef,muttrcRXDef,muttrcUnHighlightSpace,muttrcComment
+
+syn match muttrcAliasGroupName contained /\w\+/ skipwhite nextgroup=muttrcAliasGroupDef,muttrcAliasAbbr,muttrcAliasNL
+syn match muttrcAliasGroupDefNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasGroupName,muttrcAliasGroupDefNL
+syn match muttrcAliasGroupDef contained /\s*-group/ skipwhite nextgroup=muttrcAliasGroupName,muttrcAliasGroupDefNL contains=muttrcGroupFlag
+syn match muttrcAliasEmail contained /\S\+@\S\+/ contains=muttrcEmail nextgroup=muttrcAliasName,muttrcAliasNameNL
+syn match muttrcAliasEncEmail contained /<[^>]\+>/ contains=muttrcEmail
+syn match muttrcAliasEncEmailNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasEncEmail,muttrcAliasEncEmailNL
+syn match muttrcAliasNameNoParens contained /[^<(@]\+\s\+/ nextgroup=muttrcAliasEncEmail,muttrcAliasEncEmailNL
+syn region muttrcAliasName contained matchgroup=Type start=/(/ end=/)/ skipwhite
+syn match muttrcAliasNameNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasName,muttrcAliasNameNL
+syn match muttrcAliasENNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasEmail,muttrcAliasNameNoParens,muttrcAliasENNL
+syn match muttrcAliasAbbr contained /\s*[^- \t]\S\+/ skipwhite nextgroup=muttrcAliasEmail,muttrcAliasNameNoParens,muttrcAliasENNL
+syn match muttrcAliasNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcAliasGroupDef,muttrcAliasAbbr,muttrcAliasNL
+syn match muttrcAlias /^\s*alias\s/ skipwhite nextgroup=muttrcAliasGroupDef,muttrcAliasAbbr,muttrcAliasNL
+
+syn match muttrcUnAliasAbbr contained "\s*\w\+\s*" skipwhite nextgroup=muttrcUnAliasAbbr,muttrcUnAliasNL
+syn match muttrcUnAliasNL contained /\s*\\$/ skipwhite skipnl nextgroup=muttrcUnAliasAbbr,muttrcUnAliasNL
+syn match muttrcUnAlias /^\s*unalias\s\?/ nextgroup=muttrcUnAliasAbbr,muttrcUnAliasNL
-syn keyword muttrcMacro contained macro skipwhite nextgroup=muttrcMenu
-syn match muttrcMacroLine "^\s*macro\s\+\S\+" skipwhite nextgroup=muttrcKey\(Name\)\= contains=muttrcMacro
+syn match muttrcSimplePat contained "!\?\^\?[~][ADEFgGklNOpPQRSTuUvV=$]"
+syn match muttrcSimplePat contained "!\?\^\?[~][mnXz]\s\+\%([<>-][0-9]\+\|[0-9]\+[-][0-9]*\)"
+syn match muttrcSimplePat contained "!\?\^\?[~][dr]\s\+[0-9]\{2}\%(/[0-9]\{2}\%(/[0-9]\{2}\%([0-9]\{2}\)\)\?\)\?"
+syn match muttrcSimplePat contained "!\?\^\?[~][bBcCefhHiLstxy]\s\+" nextgroup=muttrcSimplePatRXContainer
+syn match muttrcSimplePat contained "!\?\^\?[%][bBcCefhHiLstxy]\s\+" nextgroup=muttrcSimplePatGroup
+"syn match muttrcSimplePat contained /"[^~=%][^"]*/ contains=muttrcRXPat
+"syn match muttrcSimplePat contained /'[^~=%][^']*/ contains=muttrcRXPat
+syn match muttrcSimplePatGroup contained /[a-zA-Z0-9]\+/
+syn region muttrcSimplePatRXContainer contained keepend start=+"+ end=+"+ skip=+\\"+ contains=muttrcRXPat
+syn region muttrcSimplePatRXContainer contained keepend start=+'+ end=+'+ skip=+\\'+ contains=muttrcRXPat
+syn match muttrcSimplePatRXContainer contained /\S\+/ contains=muttrcRXPat
+syn match muttrcSimplePatMetas contained /[(|)]/
-syn keyword muttrcAlias contained alias
-syn match muttrcAliasLine "^\s*alias\s\+\S\+" contains=muttrcAlias
+syn region muttrcPattern contained keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPatternInner
+syn region muttrcPattern contained keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPatternInner
+syn match muttrcPattern contained "[~][A-Za-z]" contains=muttrcSimplePat
+syn region muttrcPatternInner contained keepend start=+"[~=%!(^]+ms=s+1 skip=+\\"+ end=+"+me=e-1 contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas
+syn region muttrcPatternInner contained keepend start=+'[~=%!(^]+ms=s+1 skip=+\\'+ end=+'+me=e-1 contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas
" Colour definitions takes object, foreground and background arguments (regexps excluded).
-syn keyword muttrcColorField contained attachment body bold error hdrdefault header index
-syn keyword muttrcColorField contained indicator markers message normal quoted search signature
-syn keyword muttrcColorField contained status tilde tree underline
+syn match muttrcColorMatchCount contained "[0-9]\+"
+syn match muttrcColorMatchCountNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcColorMatchCount,muttrcColorMatchCountNL
+syn region muttrcColorRXPat contained start=+\s\+'+ skip=+\\'+ end=+'\s*+ keepend skipwhite contains=muttrcRXString nextgroup=muttrcColorMatchCount,muttrcColorMatchCountNL
+syn region muttrcColorRXPat contained start=+\s\+"+ skip=+\\"+ end=+"\s*+ keepend skipwhite contains=muttrcRXString nextgroup=muttrcColorMatchCount,muttrcColorMatchCountNL
+syn keyword muttrcColorField contained attachment body bold error hdrdefault header index indicator markers message normal quoted search signature status tilde tree underline
syn match muttrcColorField contained "\<quoted\d\=\>"
-syn keyword muttrcColorFG contained black blue cyan default green magenta red white yellow
-syn keyword muttrcColorFG contained brightblack brightblue brightcyan brightdefault brightgreen
-syn keyword muttrcColorFG contained brightmagenta brightred brightwhite brightyellow
-syn match muttrcColorFG contained "\<\(bright\)\=color\d\{1,2}\>"
-syn keyword muttrcColorBG contained black blue cyan default green magenta red white yellow
-syn match muttrcColorBG contained "\<color\d\{1,2}\>"
-" Now for the match
-syn keyword muttrcColor contained color skipwhite nextgroup=muttrcColorField
-syn match muttrcColorInit contained "^\s*color\s\+\S\+" skipwhite nextgroup=muttrcColorFG contains=muttrcColor
-syn match muttrcColorLine "^\s*color\s\+\S\+\s\+\S" skipwhite nextgroup=muttrcColorBG contains=muttrcColorInit
+syn keyword muttrcColor contained black blue cyan default green magenta red white yellow
+syn keyword muttrcColor contained brightblack brightblue brightcyan brightdefault brightgreen brightmagenta brightred brightwhite brightyellow
+syn match muttrcColor contained "\<\%(bright\)\=color\d\{1,2}\>"
+" Now for the structure of the color line
+syn match muttrcColorRXNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcColorRXPat,muttrcColorRXNL
+syn match muttrcColorBG contained skipwhite /\s*[$]\?\w\+/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorRXPat,muttrcColorRXNL
+syn match muttrcColorBGNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcColorBG,muttrcColorBGNL
+syn match muttrcColorFG contained skipwhite /\s*[$]\?\w\+/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorBG,muttrcColorBGNL
+syn match muttrcColorFGNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcColorFG,muttrcColorFGNL
+syn match muttrcColorContext contained skipwhite /\s*[$]\?\w\+/ contains=muttrcColorField,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorFG,muttrcColorFGNL
+syn match muttrcColorNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcColorContext,muttrcColorNL
+syn match muttrcColorKeyword contained skipwhite /^\s*color\s\+/ nextgroup=muttrcColorContext,muttrcColorNL
+syn region muttrcColorLine keepend start=/^\s*color\s\+\%(index\)\@!/ skip=+\\$+ end=+$+ contains=muttrcColorKeyword,muttrcComment,muttrcUnHighlightSpace
+" Now for the structure of the color index line
+syn match muttrcPatternNL contained skipwhite skipnl "\s*\\$" nextgroup=muttrcPattern,muttrcPatternNL
+syn match muttrcColorBGI contained skipwhite /\s*[$]\?\w\+\s*/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcPattern,muttrcPatternNL
+syn match muttrcColorBGNLI contained skipwhite skipnl "\s*\\$" nextgroup=muttrcColorBGI,muttrcColorBGNLI
+syn match muttrcColorFGI contained skipwhite /\s*[$]\?\w\+/ contains=muttrcColor,muttrcVariable,muttrcUnHighlightSpace nextgroup=muttrcColorBGI,muttrcColorBGNLI
+syn match muttrcColorFGNLI contained skipwhite skipnl "\s*\\$" nextgroup=muttrcColorFGI,muttrcColorFGNLI
+syn match muttrcColorContextI contained skipwhite /\s*index/ contains=muttrcUnHighlightSpace nextgroup=muttrcColorFGI,muttrcColorFGNLI
+syn match muttrcColorNLI contained skipwhite skipnl "\s*\\$" nextgroup=muttrcColorContextI,muttrcColorNLI
+syn match muttrcColorKeywordI contained skipwhite /^\s*color\s\+/ nextgroup=muttrcColorContextI,muttrcColorNLI
+syn region muttrcColorLine keepend start=/^\s*color\s\+index/ skip=+\\$+ end=+$+ contains=muttrcColorKeywordI,muttrcComment,muttrcUnHighlightSpace
+" And now color's brother:
+syn region muttrcUnColorPatterns contained skipwhite start=+\s*'+ end=+'+ skip=+\\'+ contains=muttrcPattern nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL
+syn region muttrcUnColorPatterns contained skipwhite start=+\s*"+ end=+"+ skip=+\\"+ contains=muttrcPattern nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL
+syn match muttrcUnColorPatterns contained skipwhite /\s*[^'"\s]\S\*/ contains=muttrcPattern nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL
+syn match muttrcUnColorPatNL contained skipwhite skipnl /\s*\\$/ nextgroup=muttrcUnColorPatterns,muttrcUnColorPatNL
+syn match muttrcUnColorAll contained skipwhite /[*]/
+syn match muttrcUnColorAPNL contained skipwhite skipnl /\s*\\$/ nextgroup=muttrcUnColorPatterns,muttrcUnColorAll,muttrcUnColorAPNL
+syn match muttrcUnColorIndex contained skipwhite /\s*index\s\+/ nextgroup=muttrcUnColorPatterns,muttrcUnColorAll,muttrcUnColorAPNL
+syn match muttrcUnColorIndexNL contained skipwhite skipnl /\s*\\$/ nextgroup=muttrcUnColorIndex,muttrcUnColorIndexNL
+syn match muttrcUnColorKeyword contained skipwhite /^\s*uncolor\s\+/ nextgroup=muttrcUnColorIndex,muttrcUnColorIndexNL
+syn region muttrcUnColorLine keepend start=+^\s*uncolor\s+ skip=+\\$+ end=+$+ contains=muttrcUnColorKeyword,muttrcComment,muttrcUnHighlightSpace
" Mono are almost like color (ojects inherited from color)
syn keyword muttrcMonoAttrib contained bold none normal reverse standout underline
@@ -223,35 +429,84 @@ if version >= 508 || !exists("did_muttrc_syntax_inits")
HiLink muttrcComment Comment
HiLink muttrcEscape SpecialChar
+ HiLink muttrcRXChars SpecialChar
HiLink muttrcString String
+ HiLink muttrcRXString String
HiLink muttrcSpecial Special
+ HiLink muttrcGroupFlag Type
+ HiLink muttrcGroupDef Macro
+ HiLink muttrcAddrDef muttrcGroupFlag
+ HiLink muttrcRXDef muttrcGroupFlag
+ HiLink muttrcRXPat String
+ HiLink muttrcAliasGroupName Macro
+ HiLink muttrcAliasAbbr Identifier
+ HiLink muttrcUnAliasAbbr Identifier
+ HiLink muttrcAliasEncEmail Identifier
+ HiLink muttrcAliasParens Type
HiLink muttrcNumber Number
HiLink muttrcQuadopt Boolean
HiLink muttrcEmail Special
+ HiLink muttrcVariable Special
HiLink muttrcHeader Type
HiLink muttrcKeySpecial SpecialChar
HiLink muttrcKey Type
- HiLink muttrcKeyName Macro
+ HiLink muttrcKeyName SpecialChar
HiLink muttrcVarBool Identifier
HiLink muttrcVarQuad Identifier
HiLink muttrcVarNum Identifier
HiLink muttrcVarStr Identifier
HiLink muttrcMenu Identifier
HiLink muttrcCommand Keyword
- HiLink muttrcSet muttrcCommand
+ HiLink muttrcSet Keyword
HiLink muttrcUnset muttrcCommand
HiLink muttrcReset muttrcCommand
HiLink muttrcToggle muttrcCommand
HiLink muttrcBind muttrcCommand
HiLink muttrcMacro muttrcCommand
HiLink muttrcAlias muttrcCommand
- HiLink muttrcAliasLine Identifier
+ HiLink muttrcUnAlias muttrcCommand
+ HiLink muttrcAction Macro
+ HiLink muttrcBadAction Error
+ HiLink muttrcBindFunction Error
+ HiLink muttrcBindMenuList Error
+ HiLink muttrcFunction Macro
+ HiLink muttrcGroupKeyword muttrcCommand
+ HiLink muttrcGroupLine Error
+ HiLink muttrcSubscribeKeyword muttrcCommand
+ HiLink muttrcSubscribeLine Error
+ HiLink muttrcListsKeyword muttrcCommand
+ HiLink muttrcListsLine Error
+ HiLink muttrcAlternateKeyword muttrcCommand
+ HiLink muttrcAlternatesLine Error
+ HiLink muttrcAttachmentsLine muttrcCommand
+ HiLink muttrcAttachmentsFlag Type
+ HiLink muttrcAttachmentsMimeType String
+ HiLink muttrcColorLine Error
+ HiLink muttrcColorContext Error
+ HiLink muttrcColorContextI Identifier
+ HiLink muttrcColorKeyword muttrcCommand
+ HiLink muttrcColorKeywordI muttrcColorKeyword
HiLink muttrcColorField Identifier
- HiLink muttrcColorFG String
- HiLink muttrcColorBG muttrcColorFG
- HiLink muttrcColor muttrcCommand
- HiLink muttrcMonoAttrib muttrcColorFG
+ HiLink muttrcColor String
+ HiLink muttrcColorFG Error
+ HiLink muttrcColorFGI Error
+ HiLink muttrcColorBG Error
+ HiLink muttrcColorBGI Error
+ HiLink muttrcMonoAttrib muttrcColor
HiLink muttrcMono muttrcCommand
+ HiLink muttrcSimplePat Identifier
+ HiLink muttrcSimplePatGroup Macro
+ HiLink muttrcSimplePatMetas Special
+ HiLink muttrcPattern Type
+ HiLink muttrcPatternInner Error
+ HiLink muttrcUnColorLine Error
+ HiLink muttrcUnColorKeyword muttrcCommand
+ HiLink muttrcUnColorIndex Identifier
+ HiLink muttrcShellString muttrcEscape
+ HiLink muttrcRXHooks muttrcCommand
+ HiLink muttrcRXHookNot Type
+ HiLink muttrcPatHooks muttrcCommand
+ HiLink muttrcPatHookNot Type
delcommand HiLink
endif
diff --git a/runtime/syntax/rhelp.vim b/runtime/syntax/rhelp.vim
index 5aa19e295..c0f0ff272 100644
--- a/runtime/syntax/rhelp.vim
+++ b/runtime/syntax/rhelp.vim
@@ -1,16 +1,12 @@
" Vim syntax file
" Language: R Help File
" Maintainer: Johannes Ranke <jranke@uni-bremen.de>
-" Last Change: 2006 Apr 12
-" Version: 0.6
+" Last Change: 2006 Apr 24
+" Version: 0.7
+" SVN: $Id$
" Remarks: - Now includes R syntax highlighting in the appropriate
" sections if an r.vim file is in the same directory or in the
" default debian location.
-" - I didn't yet include any special markup for S4 methods.
-" - The two versions of \item{}{} markup are not
-" distinguished (in the \arguments{} environment, the items to
-" be described are R identifiers, but not in the \describe{}
-" environment).
" - There is no Latex markup in equations
" Version Clears: {{{1
@@ -24,20 +20,22 @@ endif
syn case match
-" Rd identifiers {{{
+" R help identifiers {{{
syn region rhelpIdentifier matchgroup=rhelpSection start="\\name{" end="}"
syn region rhelpIdentifier matchgroup=rhelpSection start="\\alias{" end="}"
syn region rhelpIdentifier matchgroup=rhelpSection start="\\pkg{" end="}"
-syn region rhelpIdentifier matchgroup=rhelpSection start="\\item{" end="}" contained
+syn region rhelpIdentifier matchgroup=rhelpSection start="\\item{" end="}" contained contains=rhelpDots
syn region rhelpIdentifier matchgroup=rhelpSection start="\\method{" end=/}/ contained
" Highlighting of R code using an existing r.vim syntax file if available {{{1
syn include @R syntax/r.vim
+syn match rhelpDots "\\dots" containedin=@R
syn region rhelpRcode matchgroup=Delimiter start="\\examples{" matchgroup=Delimiter transparent end=/}/ contains=@R,rhelpSection
-syn region rhelpRcode matchgroup=Delimiter start="\\usage{" matchgroup=Delimiter transparent end=/}/ contains=@R,rhelpIdentifier
+syn region rhelpRcode matchgroup=Delimiter start="\\usage{" matchgroup=Delimiter transparent end=/}/ contains=@R,rhelpIdentifier,rhelpS4method
syn region rhelpRcode matchgroup=Delimiter start="\\synopsis{" matchgroup=Delimiter transparent end=/}/ contains=@R
syn region rhelpRcode matchgroup=Delimiter start="\\special{" matchgroup=Delimiter transparent end=/}/ contains=@R contained
syn region rhelpRcode matchgroup=Delimiter start="\\code{" matchgroup=Delimiter transparent end=/}/ contains=@R,rhelpLink contained
+syn region rhelpS4method matchgroup=Delimiter start="\\S4method{.*}(" matchgroup=Delimiter transparent end=/)/ contains=@R,rhelpDots contained
" Strings {{{1
syn region rhelpString start=/"/ end=/"/
@@ -51,12 +49,16 @@ syn match rhelpDelimiter "\\tab "
" Keywords {{{1
syn match rhelpKeyword "\\R"
-syn match rhelpKeyword "\\dots"
syn match rhelpKeyword "\\ldots"
+syn match rhelpKeyword "--"
+syn match rhelpKeyword "---"
+syn match rhelpKeyword "<"
+syn match rhelpKeyword ">"
" Links {{{1
syn region rhelpLink matchgroup=rhelpSection start="\\link{" end="}" contained keepend
syn region rhelpLink matchgroup=rhelpSection start="\\link\[.*\]{" end="}" contained keepend
+syn region rhelpLink matchgroup=rhelpSection start="\\linkS4class{" end="}" contained keepend
" Type Styles {{{1
syn match rhelpType "\\emph\>"
@@ -109,7 +111,7 @@ syn match rhelpSection "\\testonly\>"
" Freely named Sections {{{1
syn region rhelpFreesec matchgroup=Delimiter start="\\section{" matchgroup=Delimiter transparent end=/}/
-" Rd comments {{{1
+" R help file comments {{{1
syn match rhelpComment /%.*$/ contained
" Error {{{1
@@ -134,8 +136,9 @@ if version >= 508 || !exists("did_rhelp_syntax_inits")
HiLink rhelpIdentifier Identifier
HiLink rhelpString String
HiLink rhelpKeyword Keyword
+ HiLink rhelpDots Keyword
HiLink rhelpLink Underlined
- HiLink rhelpType Type
+ HiLink rhelpType Type
HiLink rhelpSection PreCondit
HiLink rhelpError Error
HiLink rhelpBraceError Error
diff --git a/runtime/syntax/slrnrc.vim b/runtime/syntax/slrnrc.vim
index 011a21550..038b62e16 100644
--- a/runtime/syntax/slrnrc.vim
+++ b/runtime/syntax/slrnrc.vim
@@ -1,15 +1,7 @@
" Vim syntax file
-" Language: Slrn setup file (based on slrn 0.9.8.0)
-" Maintainer: Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
-" Former Maintainer: Preben 'Peppe' Guldberg <peppe-vim@wielders.org>
-" Last Change: $LastChangedDate: 2006-04-16 22:06:40 -0400 (dom, 16 apr 2006) $
-" URL: http://svn.debian.org/wsvn/pkg-vim/trunk/runtime/syntax/slrnrc.vim?op=file&rev=0&sc=0
-"
-" XXX This file is in need of a new maintainer, Debian VIM Maintainers maintain
-" it only because patches have been submitted for it by Debian users and the
-" former maintainer was MIA (Missing In Action), taking over its
-" maintenance was thus the only way to include those patches.
-" If you care about this file, and have time to maintain it please do so!
+" Language: Slrn setup file (based on slrn 0.9.8.1)
+" Maintainer: Preben 'Peppe' Guldberg <peppe-vim@wielders.org>
+" Last Change: 23 April 2006
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
diff --git a/src/GvimExt/GvimExt.reg b/src/GvimExt/GvimExt.reg
index 325c2e7d9..1e3a78186 100644
--- a/src/GvimExt/GvimExt.reg
+++ b/src/GvimExt/GvimExt.reg
@@ -15,6 +15,6 @@ REGEDIT4
[HKEY_LOCAL_MACHINE\Software\Vim\Gvim]
"path"="gvim.exe"
-[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\Vim 7.0e]
- "DisplayName"="Vim 7.0e: Edit with Vim popup menu entry"
+[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\Vim 7.0f]
+ "DisplayName"="Vim 7.0f: Edit with Vim popup menu entry"
"UninstallString"="uninstal.exe"
diff --git a/src/GvimExt/gvimext.h b/src/GvimExt/gvimext.h
index c0e39cb17..506ab8fc9 100644
--- a/src/GvimExt/gvimext.h
+++ b/src/GvimExt/gvimext.h
@@ -28,7 +28,7 @@
//--------------------------------------------------------------
#ifndef STRICT
-#define STRICT
+# define STRICT
#endif
#define INC_OLE2 // WIN32, get ole2 from windows.h
@@ -45,8 +45,8 @@
/* Accommodate old versions of VC that don't have a modern Platform SDK */
#if _MSC_VER < 1300
-#undef UINT_PTR
-#define UINT_PTR UINT
+# undef UINT_PTR
+# define UINT_PTR UINT
#endif
#define ResultFromShort(i) ResultFromScode(MAKE_SCODE(SEVERITY_SUCCESS, 0, (USHORT)(i)))
diff --git a/src/Make_mvc.mak b/src/Make_mvc.mak
index a78f756ec..9c11aa0e8 100644
--- a/src/Make_mvc.mak
+++ b/src/Make_mvc.mak
@@ -173,6 +173,10 @@ OBJDIR = $(OBJDIR)d
# We're on Windows NT or using VC 6+
! ifdef CPU
ASSEMBLY_ARCHITECTURE=$(CPU)
+# Using I386 for $ASSEMBLY_ARCHITECTURE doesn't work for VC7.
+! if ("$(ASSEMBLY_ARCHITECTURE)" == "i386") || ("$(ASSEMBLY_ARCHITECTURE)" == "I386")
+ASSEMBLY_ARCHITECTURE = x86
+! endif
! else
CPU = $(PROCESSOR_ARCHITECTURE)
ASSEMBLY_ARCHITECTURE = $(PROCESSOR_ARCHITECTURE)
diff --git a/src/Makefile b/src/Makefile
index bbcbc1ca5..585349b5c 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -880,7 +880,7 @@ MAN1DIR = /man1
### Vim version (adjusted by a script)
VIMMAJOR = 7
-VIMMINOR = 0e
+VIMMINOR = 0f
### Location of Vim files (should not need to be changed, and {{{1
### some things might not work when they are changed!)
diff --git a/src/edit.c b/src/edit.c
index b96380ead..25fffad58 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -2231,8 +2231,23 @@ ins_compl_longest_match(match)
int had_match;
if (compl_leader == NULL)
+ {
/* First match, use it as a whole. */
compl_leader = vim_strsave(match->cp_str);
+ if (compl_leader != NULL)
+ {
+ had_match = (curwin->w_cursor.col > compl_col);
+ ins_compl_delete();
+ ins_bytes(compl_leader + curwin->w_cursor.col - compl_col);
+ ins_redraw(FALSE);
+
+ /* When the match isn't there (to avoid matching itself) remove it
+ * again after redrawing. */
+ if (!had_match)
+ ins_compl_delete();
+ compl_used_match = FALSE;
+ }
+ }
else
{
/* Reduce the text if this match differs from compl_leader. */
@@ -2650,15 +2665,23 @@ ins_compl_dictionaries(dict_start, pat, flags, thesaurus)
/* When invoked to match whole lines for CTRL-X CTRL-L adjust the pattern
* to only match at the start of a line. Otherwise just match the
- * pattern. */
+ * pattern. Also need to double backslashes. */
if (ctrl_x_mode == CTRL_X_WHOLE_LINE)
{
- i = (int)STRLEN(pat) + 8;
+ char_u *pat_esc = vim_strsave_escaped(pat, (char_u *)"\\");
+
+ if (pat_esc == NULL)
+ return ;
+ i = (int)STRLEN(pat_esc) + 10;
ptr = alloc(i);
if (ptr == NULL)
+ {
+ vim_free(pat_esc);
return;
- vim_snprintf((char *)ptr, i, "^\\s*\\zs%s", pat);
- regmatch.regprog = vim_regcomp(ptr, p_magic ? RE_MAGIC : 0);
+ }
+ vim_snprintf((char *)ptr, i, "^\\s*\\zs\\V%s", pat_esc);
+ regmatch.regprog = vim_regcomp(ptr, RE_MAGIC);
+ vim_free(pat_esc);
vim_free(ptr);
}
else
diff --git a/src/eval.c b/src/eval.c
index 080278416..56e534e6d 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -495,6 +495,7 @@ static void f_executable __ARGS((typval_T *argvars, typval_T *rettv));
static void f_exists __ARGS((typval_T *argvars, typval_T *rettv));
static void f_expand __ARGS((typval_T *argvars, typval_T *rettv));
static void f_extend __ARGS((typval_T *argvars, typval_T *rettv));
+static void f_feedkeys __ARGS((typval_T *argvars, typval_T *rettv));
static void f_filereadable __ARGS((typval_T *argvars, typval_T *rettv));
static void f_filewritable __ARGS((typval_T *argvars, typval_T *rettv));
static void f_filter __ARGS((typval_T *argvars, typval_T *rettv));
@@ -587,7 +588,6 @@ static void f_pathshorten __ARGS((typval_T *argvars, typval_T *rettv));
static void f_prevnonblank __ARGS((typval_T *argvars, typval_T *rettv));
static void f_printf __ARGS((typval_T *argvars, typval_T *rettv));
static void f_pumvisible __ARGS((typval_T *argvars, typval_T *rettv));
-static void f_pushkeys __ARGS((typval_T *argvars, typval_T *rettv));
static void f_range __ARGS((typval_T *argvars, typval_T *rettv));
static void f_readfile __ARGS((typval_T *argvars, typval_T *rettv));
static void f_reltime __ARGS((typval_T *argvars, typval_T *rettv));
@@ -2581,8 +2581,14 @@ get_lval(name, rettv, lp, unlet, skip, quiet, fne_flags)
lp->ll_li = list_find(lp->ll_list, lp->ll_n1);
if (lp->ll_li == NULL)
{
- if (!quiet)
- EMSGN(_(e_listidx), lp->ll_n1);
+ if (lp->ll_n1 < 0)
+ {
+ lp->ll_n1 = 0;
+ lp->ll_li = list_find(lp->ll_list, lp->ll_n1);
+ }
+ }
+ if (lp->ll_li == NULL)
+ {
if (lp->ll_range && !lp->ll_empty2)
clear_tv(&var2);
return NULL;
@@ -2602,11 +2608,7 @@ get_lval(name, rettv, lp, unlet, skip, quiet, fne_flags)
{
ni = list_find(lp->ll_list, lp->ll_n2);
if (ni == NULL)
- {
- if (!quiet)
- EMSGN(_(e_listidx), lp->ll_n2);
return NULL;
- }
lp->ll_n2 = list_idx_of_item(lp->ll_list, ni);
}
@@ -2614,11 +2616,7 @@ get_lval(name, rettv, lp, unlet, skip, quiet, fne_flags)
if (lp->ll_n1 < 0)
lp->ll_n1 = list_idx_of_item(lp->ll_list, lp->ll_li);
if (lp->ll_n2 < lp->ll_n1)
- {
- if (!quiet)
- EMSGN(_(e_listidx), lp->ll_n2);
return NULL;
- }
}
lp->ll_tv = &lp->ll_li->li_tv;
@@ -4861,9 +4859,15 @@ eval_index(arg, rettv, evaluate, verbose)
n1 = len + n1;
if (!empty1 && (n1 < 0 || n1 >= len))
{
- if (verbose)
- EMSGN(_(e_listidx), n1);
- return FAIL;
+ /* For a range we allow invalid values and return an empty
+ * list. A list index out of range is an error. */
+ if (!range)
+ {
+ if (verbose)
+ EMSGN(_(e_listidx), n1);
+ return FAIL;
+ }
+ n1 = len;
}
if (range)
{
@@ -4875,11 +4879,7 @@ eval_index(arg, rettv, evaluate, verbose)
else if (n2 >= len)
n2 = len - 1;
if (!empty2 && (n2 < 0 || n2 + 1 < n1))
- {
- if (verbose)
- EMSGN(_(e_listidx), n2);
- return FAIL;
- }
+ n2 = -1;
l = list_alloc();
if (l == NULL)
return FAIL;
@@ -4900,8 +4900,7 @@ eval_index(arg, rettv, evaluate, verbose)
}
else
{
- copy_tv(&list_find(rettv->vval.v_list, n1)->li_tv,
- &var1);
+ copy_tv(&list_find(rettv->vval.v_list, n1)->li_tv, &var1);
clear_tv(rettv);
*rettv = var1;
}
@@ -7006,6 +7005,7 @@ static struct fst
{"exists", 1, 1, f_exists},
{"expand", 1, 2, f_expand},
{"extend", 2, 3, f_extend},
+ {"feedkeys", 1, 2, f_feedkeys},
{"file_readable", 1, 1, f_filereadable}, /* obsolete */
{"filereadable", 1, 1, f_filereadable},
{"filewritable", 1, 1, f_filewritable},
@@ -7102,7 +7102,6 @@ static struct fst
{"prevnonblank", 1, 1, f_prevnonblank},
{"printf", 2, 19, f_printf},
{"pumvisible", 0, 0, f_pumvisible},
- {"pushkeys", 1, 2, f_pushkeys},
{"range", 1, 3, f_range},
{"readfile", 1, 3, f_readfile},
{"reltime", 0, 2, f_reltime},
@@ -8989,6 +8988,44 @@ f_extend(argvars, rettv)
}
/*
+ * "feedkeys()" function
+ */
+/*ARGSUSED*/
+ static void
+f_feedkeys(argvars, rettv)
+ typval_T *argvars;
+ typval_T *rettv;
+{
+ int remap = TRUE;
+ char_u *keys, *flags;
+ char_u nbuf[NUMBUFLEN];
+ int typed = FALSE;
+
+ rettv->vval.v_number = 0;
+ keys = get_tv_string(&argvars[0]);
+ if (*keys != NUL)
+ {
+ if (argvars[1].v_type != VAR_UNKNOWN)
+ {
+ flags = get_tv_string_buf(&argvars[1], nbuf);
+ for ( ; *flags != NUL; ++flags)
+ {
+ switch (*flags)
+ {
+ case 'n': remap = FALSE; break;
+ case 'm': remap = TRUE; break;
+ case 't': typed = TRUE; break;
+ }
+ }
+ }
+
+ ins_typebuf(keys, (remap ? REMAP_YES : REMAP_NONE),
+ typebuf.tb_len, !typed, FALSE);
+ typebuf_was_filled = TRUE;
+ }
+}
+
+/*
* "filereadable()" function
*/
static void
@@ -12173,8 +12210,12 @@ find_some_match(argvars, rettv, type)
for (i = 0; i < NSUBEXP; ++i)
{
if (regmatch.endp[i] == NULL)
- break;
- if (list_append_string(rettv->vval.v_list,
+ {
+ if (list_append_string(rettv->vval.v_list,
+ (char_u *)"", 0) == FAIL)
+ break;
+ }
+ else if (list_append_string(rettv->vval.v_list,
regmatch.startp[i],
(int)(regmatch.endp[i] - regmatch.startp[i]))
== FAIL)
@@ -12621,42 +12662,6 @@ f_pumvisible(argvars, rettv)
}
/*
- * "pushkeys()" function
- */
-/*ARGSUSED*/
- static void
-f_pushkeys(argvars, rettv)
- typval_T *argvars;
- typval_T *rettv;
-{
- int remap = TRUE;
- char_u *keys, *flags;
- char_u nbuf[NUMBUFLEN];
-
- rettv->vval.v_number = 0;
- keys = get_tv_string(&argvars[0]);
- if (*keys != NUL)
- {
- if (argvars[1].v_type != VAR_UNKNOWN)
- {
- flags = get_tv_string_buf(&argvars[1], nbuf);
- for ( ; *flags != NUL; ++flags)
- {
- switch (*flags)
- {
- case 'n': remap = FALSE; break;
- case 'm': remap = TRUE; break;
- }
- }
- }
-
- ins_typebuf(keys, (remap ? REMAP_YES : REMAP_NONE),
- typebuf.tb_len, TRUE, FALSE);
- typebuf_was_filled = TRUE;
- }
-}
-
-/*
* "range()" function
*/
static void
diff --git a/src/getchar.c b/src/getchar.c
index 89df484a2..e6ba2485d 100644
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -1035,7 +1035,7 @@ ins_typebuf(str, noremap, offset, nottyped, silent)
/*
* Return TRUE if the typeahead buffer was changed (while waiting for a
* character to arrive). Happens when a message was received from a client or
- * from pushkeys().
+ * from feedkeys().
* But check in a more generic way to avoid trouble: When "typebuf.tb_buf"
* changed it was reallocated and the old pointer can no longer be used.
* Or "typebuf.tb_off" may have been changed and we would overwrite characters
@@ -1144,7 +1144,7 @@ del_typebuf(len, offset)
}
#if defined(FEAT_CLIENTSERVER) || defined(FEAT_EVAL)
- /* Reset the flag that text received from a client or from pushkeys()
+ /* Reset the flag that text received from a client or from feedkeys()
* was inserted in the typeahead buffer. */
typebuf_was_filled = FALSE;
#endif
@@ -2918,7 +2918,7 @@ fix_input_buffer(buf, len, script)
/*
* Return TRUE when bytes are in the input buffer or in the typeahead buffer.
* Normally the input buffer would be sufficient, but the server_to_input_buf()
- * or pushkeys() may insert characters in the typeahead buffer while we are
+ * or feedkeys() may insert characters in the typeahead buffer while we are
* waiting for input to arrive.
*/
int
diff --git a/src/globals.h b/src/globals.h
index 549287a7a..867da5bb8 100644
--- a/src/globals.h
+++ b/src/globals.h
@@ -1239,7 +1239,7 @@ EXTERN int echo_wid_arg INIT(= FALSE); /* --echo-wid argument */
#if defined(FEAT_CLIENTSERVER) || defined(FEAT_EVAL)
EXTERN int typebuf_was_filled INIT(= FALSE); /* received text from client
- or from pushkeys() */
+ or from feedkeys() */
#endif
#ifdef FEAT_CLIENTSERVER
diff --git a/src/gui_gtk_x11.c b/src/gui_gtk_x11.c
index 68c0f3e63..88559e534 100644
--- a/src/gui_gtk_x11.c
+++ b/src/gui_gtk_x11.c
@@ -6875,6 +6875,8 @@ mch_set_mouse_shape(int shape)
}
else if (shape < sizeof(mshape_ids) / sizeof(int))
id = mshape_ids[shape];
+ else
+ return;
# ifdef HAVE_GTK_MULTIHEAD
c = gdk_cursor_new_for_display(
gtk_widget_get_display(gui.drawarea), (GdkCursorType)id);
diff --git a/src/gui_mac.c b/src/gui_mac.c
index 4ebc1216f..251322407 100644
--- a/src/gui_mac.c
+++ b/src/gui_mac.c
@@ -3163,7 +3163,7 @@ gui_mch_exit(int rc)
DisposeEventHandlerUPP(mouseWheelHandlerUPP);
#ifdef USE_ATSUI_DRAWING
- if (gFontStyle)
+ if (p_macatsui && gFontStyle)
ATSUDisposeStyle(gFontStyle);
#endif
@@ -3321,7 +3321,7 @@ gui_mch_init_font(char_u *font_name, int fontset)
char_u used_font_name[512];
#ifdef USE_ATSUI_DRAWING
- if (gFontStyle == NULL)
+ if (p_macatsui && gFontStyle == NULL)
{
if (ATSUCreateStyle(&gFontStyle) != noErr)
gFontStyle = NULL;
@@ -3393,7 +3393,7 @@ gui_mch_init_font(char_u *font_name, int fontset)
Fixed fontSize;
ATSStyleRenderingOptions fontOptions;
- if (gFontStyle)
+ if (p_macatsui && gFontStyle)
{
fontID = font & 0xFFFF;
fontSize = Long2Fix(font >> 16);
@@ -3501,7 +3501,7 @@ gui_mch_set_font(GuiFont font)
Fixed fontSize;
ATSStyleRenderingOptions fontOptions;
- if (gFontStyle)
+ if (p_macatsui && gFontStyle)
{
/* Avoid setting same font again */
if (ATSUGetAttribute(gFontStyle, kATSUMaxATSUITagValue+1, sizeof font,
@@ -3546,9 +3546,9 @@ gui_mch_set_font(GuiFont font)
(sizeof attribTags)/sizeof(ATSUAttributeTag),
attribTags, attribSizes, attribValues) != noErr)
{
-#ifndef NDEBUG
+# ifndef NDEBUG
fprintf(stderr, "couldn't set font style\n");
-#endif
+# endif
ATSUDisposeStyle(gFontStyle);
gFontStyle = NULL;
}
@@ -3556,7 +3556,7 @@ gui_mch_set_font(GuiFont font)
}
- if (!gIsFontFallbackSet)
+ if (p_macatsui && !gIsFontFallbackSet)
{
/* Setup automatic font substitution. The user's guifontwide
* is tried first, then the system tries other fonts. */
@@ -3834,7 +3834,6 @@ draw_undercurl(int flags, int row, int col, int cells)
}
}
-#ifndef USE_ATSUI_DRAWING
static void
draw_string_QD(int row, int col, char_u *s, int len, int flags)
@@ -3951,7 +3950,7 @@ draw_string_QD(int row, int col, char_u *s, int len, int flags)
#endif
}
-#else /* USE_ATSUI_DRAWING */
+#ifdef USE_ATSUI_DRAWING
static void
draw_string_ATSUI(int row, int col, char_u *s, int len, int flags)
@@ -4040,10 +4039,11 @@ draw_string_ATSUI(int row, int col, char_u *s, int len, int flags)
gui_mch_draw_string(int row, int col, char_u *s, int len, int flags)
{
#if defined(USE_ATSUI_DRAWING)
- draw_string_ATSUI(row, col, s, len, flags);
-#else
- draw_string_QD(row, col, s, len, flags);
+ if (p_macatsui)
+ draw_string_ATSUI(row, col, s, len, flags);
+ else
#endif
+ draw_string_QD(row, col, s, len, flags);
}
/*
diff --git a/src/gui_w32.c b/src/gui_w32.c
index a700ac0c4..d6718798b 100644
--- a/src/gui_w32.c
+++ b/src/gui_w32.c
@@ -234,19 +234,23 @@ typedef struct tagNMTTDISPINFO_NEW
typedef HRESULT (WINAPI* DLLGETVERSIONPROC)(DLLVERSIONINFO *);
#ifndef TTM_SETMAXTIPWIDTH
-# define TTM_SETMAXTIPWIDTH (WM_USER+24)
+# define TTM_SETMAXTIPWIDTH (WM_USER+24)
#endif
#ifndef TTF_DI_SETITEM
-# define TTF_DI_SETITEM 0x8000
+# define TTF_DI_SETITEM 0x8000
#endif
#ifndef TTN_GETDISPINFO
-# define TTN_GETDISPINFO (TTN_FIRST - 0)
+# define TTN_GETDISPINFO (TTN_FIRST - 0)
#endif
#endif /* defined(FEAT_BEVAL) */
+#ifndef TTN_GETDISPINFOW
+# define TTN_GETDISPINFOW (TTN_FIRST - 10)
+#endif
+
/* Local variables: */
#ifdef FEAT_MENU
diff --git a/src/option.c b/src/option.c
index 59b84fd06..c13412438 100644
--- a/src/option.c
+++ b/src/option.c
@@ -1267,7 +1267,7 @@ static struct vimoption
{(char_u *)NULL, (char_u *)0L}
#endif
},
- {"guitabtooltip", "gtl", P_STRING|P_VI_DEF|P_RWIN,
+ {"guitabtooltip", "gtt", P_STRING|P_VI_DEF|P_RWIN,
#if defined(FEAT_GUI_TABLINE)
(char_u *)&p_gtt, PV_NONE,
{(char_u *)"", (char_u *)0L}
@@ -1631,6 +1631,11 @@ static struct vimoption
{"loadplugins", "lpl", P_BOOL|P_VI_DEF,
(char_u *)&p_lpl, PV_NONE,
{(char_u *)TRUE, (char_u *)0L}},
+#ifdef FEAT_GUI_MAC
+ {"macatsui", NULL, P_BOOL|P_VI_DEF|P_RCLR,
+ (char_u *)&p_macatsui, PV_NONE,
+ {(char_u *)TRUE, (char_u *)0L}},
+#endif
{"magic", NULL, P_BOOL|P_VI_DEF,
(char_u *)&p_magic, PV_NONE,
{(char_u *)TRUE, (char_u *)0L}},
diff --git a/src/option.h b/src/option.h
index d512a2055..28c58152e 100644
--- a/src/option.h
+++ b/src/option.h
@@ -581,6 +581,9 @@ EXTERN char_u *p_lcs; /* 'listchars' */
EXTERN int p_lz; /* 'lazyredraw' */
EXTERN int p_lpl; /* 'loadplugins' */
+#ifdef FEAT_GUI_MAC
+EXTERN int p_macatsui; /* 'macatsui' */
+#endif
EXTERN int p_magic; /* 'magic' */
#ifdef FEAT_QUICKFIX
EXTERN char_u *p_mef; /* 'makeef' */
diff --git a/src/proto/edit.pro b/src/proto/edit.pro
index a967037cb..3c76a9ebd 100644
--- a/src/proto/edit.pro
+++ b/src/proto/edit.pro
@@ -1,41 +1,41 @@
/* edit.c */
-int edit __ARGS((int cmdchar, int startln, long count));
-void edit_putchar __ARGS((int c, int highlight));
-void edit_unputchar __ARGS((void));
-void display_dollar __ARGS((colnr_T col));
-void change_indent __ARGS((int type, int amount, int round, int replaced));
-void truncate_spaces __ARGS((char_u *line));
-void backspace_until_column __ARGS((int col));
-int vim_is_ctrl_x_key __ARGS((int c));
-int ins_compl_add_infercase __ARGS((char_u *str, int len, int icase, char_u *fname, int dir, int flags));
-void set_completion __ARGS((int startcol, list_T *list));
-void ins_compl_show_pum __ARGS((void));
-char_u *find_word_start __ARGS((char_u *ptr));
-char_u *find_word_end __ARGS((char_u *ptr));
-int ins_compl_active __ARGS((void));
-int ins_compl_add_tv __ARGS((typval_T *tv, int dir));
-void ins_compl_check_keys __ARGS((int frequency));
-int get_literal __ARGS((void));
-void insertchar __ARGS((int c, int flags, int second_indent));
-void auto_format __ARGS((int trailblank, int prev_line));
-int comp_textwidth __ARGS((int ff));
-int stop_arrow __ARGS((void));
-void set_last_insert __ARGS((int c));
-void free_last_insert __ARGS((void));
-char_u *add_char2buf __ARGS((int c, char_u *s));
-void beginline __ARGS((int flags));
-int oneright __ARGS((void));
-int oneleft __ARGS((void));
-int cursor_up __ARGS((long n, int upd_topline));
-int cursor_down __ARGS((long n, int upd_topline));
-int stuff_inserted __ARGS((int c, long count, int no_esc));
-char_u *get_last_insert __ARGS((void));
-char_u *get_last_insert_save __ARGS((void));
-void replace_push __ARGS((int c));
-void fixthisline __ARGS((int (*get_the_indent)(void)));
-void fix_indent __ARGS((void));
-int in_cinkeys __ARGS((int keytyped, int when, int line_is_empty));
-int hkmap __ARGS((int c));
-void ins_scroll __ARGS((void));
-void ins_horscroll __ARGS((void));
+extern int edit __ARGS((int cmdchar, int startln, long count));
+extern void edit_putchar __ARGS((int c, int highlight));
+extern void edit_unputchar __ARGS((void));
+extern void display_dollar __ARGS((colnr_T col));
+extern void change_indent __ARGS((int type, int amount, int round, int replaced));
+extern void truncate_spaces __ARGS((char_u *line));
+extern void backspace_until_column __ARGS((int col));
+extern int vim_is_ctrl_x_key __ARGS((int c));
+extern int ins_compl_add_infercase __ARGS((char_u *str, int len, int icase, char_u *fname, int dir, int flags));
+extern void set_completion __ARGS((int startcol, list_T *list));
+extern void ins_compl_show_pum __ARGS((void));
+extern char_u *find_word_start __ARGS((char_u *ptr));
+extern char_u *find_word_end __ARGS((char_u *ptr));
+extern int ins_compl_active __ARGS((void));
+extern int ins_compl_add_tv __ARGS((typval_T *tv, int dir));
+extern void ins_compl_check_keys __ARGS((int frequency));
+extern int get_literal __ARGS((void));
+extern void insertchar __ARGS((int c, int flags, int second_indent));
+extern void auto_format __ARGS((int trailblank, int prev_line));
+extern int comp_textwidth __ARGS((int ff));
+extern int stop_arrow __ARGS((void));
+extern void set_last_insert __ARGS((int c));
+extern void free_last_insert __ARGS((void));
+extern char_u *add_char2buf __ARGS((int c, char_u *s));
+extern void beginline __ARGS((int flags));
+extern int oneright __ARGS((void));
+extern int oneleft __ARGS((void));
+extern int cursor_up __ARGS((long n, int upd_topline));
+extern int cursor_down __ARGS((long n, int upd_topline));
+extern int stuff_inserted __ARGS((int c, long count, int no_esc));
+extern char_u *get_last_insert __ARGS((void));
+extern char_u *get_last_insert_save __ARGS((void));
+extern void replace_push __ARGS((int c));
+extern void fixthisline __ARGS((int (*get_the_indent)(void)));
+extern void fix_indent __ARGS((void));
+extern int in_cinkeys __ARGS((int keytyped, int when, int line_is_empty));
+extern int hkmap __ARGS((int c));
+extern void ins_scroll __ARGS((void));
+extern void ins_horscroll __ARGS((void));
/* vim: set ft=c : */
diff --git a/src/proto/gui.pro b/src/proto/gui.pro
index 322dc7955..aeabd42cd 100644
--- a/src/proto/gui.pro
+++ b/src/proto/gui.pro
@@ -1,65 +1,65 @@
/* gui.c */
-void gui_start __ARGS((void));
-void gui_prepare __ARGS((int *argc, char **argv));
-int gui_init_check __ARGS((void));
-void gui_init __ARGS((void));
-void gui_exit __ARGS((int rc));
-void gui_shell_closed __ARGS((void));
-int gui_init_font __ARGS((char_u *font_list, int fontset));
-int gui_get_wide_font __ARGS((void));
-void gui_set_cursor __ARGS((int row, int col));
-void gui_update_cursor __ARGS((int force, int clear_selection));
-void gui_position_menu __ARGS((void));
-int gui_get_base_width __ARGS((void));
-int gui_get_base_height __ARGS((void));
-void gui_resize_shell __ARGS((int pixel_width, int pixel_height));
-void gui_may_resize_shell __ARGS((void));
-int gui_get_shellsize __ARGS((void));
-void gui_set_shellsize __ARGS((int mustset, int fit_to_display, int direction));
-void gui_new_shellsize __ARGS((void));
-void gui_reset_scroll_region __ARGS((void));
-void gui_start_highlight __ARGS((int mask));
-void gui_stop_highlight __ARGS((int mask));
-void gui_clear_block __ARGS((int row1, int col1, int row2, int col2));
-void gui_update_cursor_later __ARGS((void));
-void gui_write __ARGS((char_u *s, int len));
-void gui_dont_update_cursor __ARGS((void));
-void gui_can_update_cursor __ARGS((void));
-int gui_outstr_nowrap __ARGS((char_u *s, int len, int flags, guicolor_T fg, guicolor_T bg, int back));
-void gui_undraw_cursor __ARGS((void));
-void gui_redraw __ARGS((int x, int y, int w, int h));
-int gui_redraw_block __ARGS((int row1, int col1, int row2, int col2, int flags));
-int gui_wait_for_chars __ARGS((long wtime));
-void gui_send_mouse_event __ARGS((int button, int x, int y, int repeated_click, int_u modifiers));
-int gui_xy2colrow __ARGS((int x, int y, int *colp));
-void gui_menu_cb __ARGS((vimmenu_T *menu));
-void gui_init_which_components __ARGS((char_u *oldval));
-int gui_use_tabline __ARGS((void));
-void gui_update_tabline __ARGS((void));
-void get_tabline_label __ARGS((tabpage_T *tp, int tooltip));
-int send_tabline_event __ARGS((int nr));
-void send_tabline_menu_event __ARGS((int tabidx, int event));
-void gui_remove_scrollbars __ARGS((void));
-void gui_create_scrollbar __ARGS((scrollbar_T *sb, int type, win_T *wp));
-scrollbar_T *gui_find_scrollbar __ARGS((long ident));
-void gui_drag_scrollbar __ARGS((scrollbar_T *sb, long value, int still_dragging));
-void gui_update_scrollbars __ARGS((int force));
-int gui_do_scroll __ARGS((void));
-int gui_do_horiz_scroll __ARGS((void));
-void gui_check_colors __ARGS((void));
-guicolor_T gui_get_color __ARGS((char_u *name));
-int gui_get_lightness __ARGS((guicolor_T pixel));
-void gui_new_scrollbar_colors __ARGS((void));
-void gui_focus_change __ARGS((int in_focus));
-void gui_mouse_moved __ARGS((int x, int y));
-void gui_mouse_correct __ARGS((void));
-void ex_gui __ARGS((exarg_T *eap));
-int gui_find_bitmap __ARGS((char_u *name, char_u *buffer, char *ext));
-void gui_find_iconfile __ARGS((char_u *name, char_u *buffer, char *ext));
-void display_errors __ARGS((void));
-int no_console_input __ARGS((void));
-void gui_update_screen __ARGS((void));
-char_u *get_find_dialog_text __ARGS((char_u *arg, int *wwordp, int *mcasep));
-int gui_do_findrepl __ARGS((int flags, char_u *find_text, char_u *repl_text, int down));
-void gui_handle_drop __ARGS((int x, int y, int_u modifiers, char_u **fnames, int count));
+extern void gui_start __ARGS((void));
+extern void gui_prepare __ARGS((int *argc, char **argv));
+extern int gui_init_check __ARGS((void));
+extern void gui_init __ARGS((void));
+extern void gui_exit __ARGS((int rc));
+extern void gui_shell_closed __ARGS((void));
+extern int gui_init_font __ARGS((char_u *font_list, int fontset));
+extern int gui_get_wide_font __ARGS((void));
+extern void gui_set_cursor __ARGS((int row, int col));
+extern void gui_update_cursor __ARGS((int force, int clear_selection));
+extern void gui_position_menu __ARGS((void));
+extern int gui_get_base_width __ARGS((void));
+extern int gui_get_base_height __ARGS((void));
+extern void gui_resize_shell __ARGS((int pixel_width, int pixel_height));
+extern void gui_may_resize_shell __ARGS((void));
+extern int gui_get_shellsize __ARGS((void));
+extern void gui_set_shellsize __ARGS((int mustset, int fit_to_display, int direction));
+extern void gui_new_shellsize __ARGS((void));
+extern void gui_reset_scroll_region __ARGS((void));
+extern void gui_start_highlight __ARGS((int mask));
+extern void gui_stop_highlight __ARGS((int mask));
+extern void gui_clear_block __ARGS((int row1, int col1, int row2, int col2));
+extern void gui_update_cursor_later __ARGS((void));
+extern void gui_write __ARGS((char_u *s, int len));
+extern void gui_dont_update_cursor __ARGS((void));
+extern void gui_can_update_cursor __ARGS((void));
+extern int gui_outstr_nowrap __ARGS((char_u *s, int len, int flags, guicolor_T fg, guicolor_T bg, int back));
+extern void gui_undraw_cursor __ARGS((void));
+extern void gui_redraw __ARGS((int x, int y, int w, int h));
+extern int gui_redraw_block __ARGS((int row1, int col1, int row2, int col2, int flags));
+extern int gui_wait_for_chars __ARGS((long wtime));
+extern void gui_send_mouse_event __ARGS((int button, int x, int y, int repeated_click, int_u modifiers));
+extern int gui_xy2colrow __ARGS((int x, int y, int *colp));
+extern void gui_menu_cb __ARGS((vimmenu_T *menu));
+extern void gui_init_which_components __ARGS((char_u *oldval));
+extern int gui_use_tabline __ARGS((void));
+extern void gui_update_tabline __ARGS((void));
+extern void get_tabline_label __ARGS((tabpage_T *tp, int tooltip));
+extern int send_tabline_event __ARGS((int nr));
+extern void send_tabline_menu_event __ARGS((int tabidx, int event));
+extern void gui_remove_scrollbars __ARGS((void));
+extern void gui_create_scrollbar __ARGS((scrollbar_T *sb, int type, win_T *wp));
+extern scrollbar_T *gui_find_scrollbar __ARGS((long ident));
+extern void gui_drag_scrollbar __ARGS((scrollbar_T *sb, long value, int still_dragging));
+extern void gui_update_scrollbars __ARGS((int force));
+extern int gui_do_scroll __ARGS((void));
+extern int gui_do_horiz_scroll __ARGS((void));
+extern void gui_check_colors __ARGS((void));
+extern guicolor_T gui_get_color __ARGS((char_u *name));
+extern int gui_get_lightness __ARGS((guicolor_T pixel));
+extern void gui_new_scrollbar_colors __ARGS((void));
+extern void gui_focus_change __ARGS((int in_focus));
+extern void gui_mouse_moved __ARGS((int x, int y));
+extern void gui_mouse_correct __ARGS((void));
+extern void ex_gui __ARGS((exarg_T *eap));
+extern int gui_find_bitmap __ARGS((char_u *name, char_u *buffer, char *ext));
+extern void gui_find_iconfile __ARGS((char_u *name, char_u *buffer, char *ext));
+extern void display_errors __ARGS((void));
+extern int no_console_input __ARGS((void));
+extern void gui_update_screen __ARGS((void));
+extern char_u *get_find_dialog_text __ARGS((char_u *arg, int *wwordp, int *mcasep));
+extern int gui_do_findrepl __ARGS((int flags, char_u *find_text, char_u *repl_text, int down));
+extern void gui_handle_drop __ARGS((int x, int y, int_u modifiers, char_u **fnames, int count));
/* vim: set ft=c : */
diff --git a/src/proto/message.pro b/src/proto/message.pro
index cff7d6b50..e6bd3e9e2 100644
--- a/src/proto/message.pro
+++ b/src/proto/message.pro
@@ -1,71 +1,71 @@
/* message.c */
-int msg __ARGS((char_u *s));
-int verb_msg __ARGS((char_u *s));
-int msg_attr __ARGS((char_u *s, int attr));
-int msg_attr_keep __ARGS((char_u *s, int attr, int keep));
-char_u *msg_strtrunc __ARGS((char_u *s, int force));
-void trunc_string __ARGS((char_u *s, char_u *buf, int room));
-void reset_last_sourcing __ARGS((void));
-void msg_source __ARGS((int attr));
-int emsg_not_now __ARGS((void));
-int emsg __ARGS((char_u *s));
-int emsg2 __ARGS((char_u *s, char_u *a1));
-void emsg_invreg __ARGS((int name));
-char_u *msg_trunc_attr __ARGS((char_u *s, int force, int attr));
-char_u *msg_may_trunc __ARGS((int force, char_u *s));
-int delete_first_msg __ARGS((void));
-void ex_messages __ARGS((exarg_T *eap));
-void msg_end_prompt __ARGS((void));
-void wait_return __ARGS((int redraw));
-void set_keep_msg __ARGS((char_u *s, int attr));
-void set_keep_msg_from_hist __ARGS((void));
-void msg_start __ARGS((void));
-void msg_starthere __ARGS((void));
-void msg_putchar __ARGS((int c));
-void msg_putchar_attr __ARGS((int c, int attr));
-void msg_outnum __ARGS((long n));
-void msg_home_replace __ARGS((char_u *fname));
-void msg_home_replace_hl __ARGS((char_u *fname));
-int msg_outtrans __ARGS((char_u *str));
-int msg_outtrans_attr __ARGS((char_u *str, int attr));
-int msg_outtrans_len __ARGS((char_u *str, int len));
-char_u *msg_outtrans_one __ARGS((char_u *p, int attr));
-int msg_outtrans_len_attr __ARGS((char_u *msgstr, int len, int attr));
-void msg_make __ARGS((char_u *arg));
-int msg_outtrans_special __ARGS((char_u *strstart, int from));
-char_u *str2special __ARGS((char_u **sp, int from));
-void str2specialbuf __ARGS((char_u *sp, char_u *buf, int len));
-void msg_prt_line __ARGS((char_u *s, int list));
-void msg_puts __ARGS((char_u *s));
-void msg_puts_title __ARGS((char_u *s));
-void msg_puts_long_attr __ARGS((char_u *longstr, int attr));
-void msg_puts_long_len_attr __ARGS((char_u *longstr, int len, int attr));
-void msg_puts_attr __ARGS((char_u *s, int attr));
-void may_clear_sb_text __ARGS((void));
-void clear_sb_text __ARGS((void));
-void show_sb_text __ARGS((void));
-int msg_use_printf __ARGS((void));
-void mch_errmsg __ARGS((char *str));
-void mch_msg __ARGS((char *str));
-void msg_moremsg __ARGS((int full));
-void repeat_message __ARGS((void));
-void msg_clr_eos __ARGS((void));
-void msg_clr_eos_force __ARGS((void));
-void msg_clr_cmdline __ARGS((void));
-int msg_end __ARGS((void));
-void msg_check __ARGS((void));
-void verbose_enter __ARGS((void));
-void verbose_leave __ARGS((void));
-void verbose_enter_scroll __ARGS((void));
-void verbose_leave_scroll __ARGS((void));
-void verbose_stop __ARGS((void));
-int verbose_open __ARGS((void));
-void give_warning __ARGS((char_u *message, int hl));
-void msg_advance __ARGS((int col));
-int do_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield));
-void display_confirm_msg __ARGS((void));
-int vim_dialog_yesno __ARGS((int type, char_u *title, char_u *message, int dflt));
-int vim_dialog_yesnocancel __ARGS((int type, char_u *title, char_u *message, int dflt));
-int vim_dialog_yesnoallcancel __ARGS((int type, char_u *title, char_u *message, int dflt));
-char_u *do_browse __ARGS((int flags, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter, buf_T *buf));
+extern int msg __ARGS((char_u *s));
+extern int verb_msg __ARGS((char_u *s));
+extern int msg_attr __ARGS((char_u *s, int attr));
+extern int msg_attr_keep __ARGS((char_u *s, int attr, int keep));
+extern char_u *msg_strtrunc __ARGS((char_u *s, int force));
+extern void trunc_string __ARGS((char_u *s, char_u *buf, int room));
+extern void reset_last_sourcing __ARGS((void));
+extern void msg_source __ARGS((int attr));
+extern int emsg_not_now __ARGS((void));
+extern int emsg __ARGS((char_u *s));
+extern int emsg2 __ARGS((char_u *s, char_u *a1));
+extern void emsg_invreg __ARGS((int name));
+extern char_u *msg_trunc_attr __ARGS((char_u *s, int force, int attr));
+extern char_u *msg_may_trunc __ARGS((int force, char_u *s));
+extern int delete_first_msg __ARGS((void));
+extern void ex_messages __ARGS((exarg_T *eap));
+extern void msg_end_prompt __ARGS((void));
+extern void wait_return __ARGS((int redraw));
+extern void set_keep_msg __ARGS((char_u *s, int attr));
+extern void set_keep_msg_from_hist __ARGS((void));
+extern void msg_start __ARGS((void));
+extern void msg_starthere __ARGS((void));
+extern void msg_putchar __ARGS((int c));
+extern void msg_putchar_attr __ARGS((int c, int attr));
+extern void msg_outnum __ARGS((long n));
+extern void msg_home_replace __ARGS((char_u *fname));
+extern void msg_home_replace_hl __ARGS((char_u *fname));
+extern int msg_outtrans __ARGS((char_u *str));
+extern int msg_outtrans_attr __ARGS((char_u *str, int attr));
+extern int msg_outtrans_len __ARGS((char_u *str, int len));
+extern char_u *msg_outtrans_one __ARGS((char_u *p, int attr));
+extern int msg_outtrans_len_attr __ARGS((char_u *msgstr, int len, int attr));
+extern void msg_make __ARGS((char_u *arg));
+extern int msg_outtrans_special __ARGS((char_u *strstart, int from));
+extern char_u *str2special __ARGS((char_u **sp, int from));
+extern void str2specialbuf __ARGS((char_u *sp, char_u *buf, int len));
+extern void msg_prt_line __ARGS((char_u *s, int list));
+extern void msg_puts __ARGS((char_u *s));
+extern void msg_puts_title __ARGS((char_u *s));
+extern void msg_puts_long_attr __ARGS((char_u *longstr, int attr));
+extern void msg_puts_long_len_attr __ARGS((char_u *longstr, int len, int attr));
+extern void msg_puts_attr __ARGS((char_u *s, int attr));
+extern void may_clear_sb_text __ARGS((void));
+extern void clear_sb_text __ARGS((void));
+extern void show_sb_text __ARGS((void));
+extern int msg_use_printf __ARGS((void));
+extern void mch_errmsg __ARGS((char *str));
+extern void mch_msg __ARGS((char *str));
+extern void msg_moremsg __ARGS((int full));
+extern void repeat_message __ARGS((void));
+extern void msg_clr_eos __ARGS((void));
+extern void msg_clr_eos_force __ARGS((void));
+extern void msg_clr_cmdline __ARGS((void));
+extern int msg_end __ARGS((void));
+extern void msg_check __ARGS((void));
+extern void verbose_enter __ARGS((void));
+extern void verbose_leave __ARGS((void));
+extern void verbose_enter_scroll __ARGS((void));
+extern void verbose_leave_scroll __ARGS((void));
+extern void verbose_stop __ARGS((void));
+extern int verbose_open __ARGS((void));
+extern void give_warning __ARGS((char_u *message, int hl));
+extern void msg_advance __ARGS((int col));
+extern int do_dialog __ARGS((int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield));
+extern void display_confirm_msg __ARGS((void));
+extern int vim_dialog_yesno __ARGS((int type, char_u *title, char_u *message, int dflt));
+extern int vim_dialog_yesnocancel __ARGS((int type, char_u *title, char_u *message, int dflt));
+extern int vim_dialog_yesnoallcancel __ARGS((int type, char_u *title, char_u *message, int dflt));
+extern char_u *do_browse __ARGS((int flags, char_u *title, char_u *dflt, char_u *ext, char_u *initdir, char_u *filter, buf_T *buf));
/* vim: set ft=c : */
diff --git a/src/proto/os_mswin.pro b/src/proto/os_mswin.pro
index f46a3f852..aaef05b1a 100644
--- a/src/proto/os_mswin.pro
+++ b/src/proto/os_mswin.pro
@@ -46,8 +46,8 @@ extern int mch_print_blank_page __ARGS((void));
extern void mch_print_start_line __ARGS((int margin, int page_line));
extern int mch_print_text_out __ARGS((char_u *p, int len));
extern void mch_print_set_font __ARGS((int iBold, int iItalic, int iUnderline));
-extern void mch_print_set_bg __ARGS((long_u bgcol));
-extern void mch_print_set_fg __ARGS((long_u fgcol));
+extern void mch_print_set_bg __ARGS((unsigned long bgcol));
+extern void mch_print_set_fg __ARGS((unsigned long fgcol));
extern char_u *mch_resolve_shortcut __ARGS((char_u *fname));
extern void win32_set_foreground __ARGS((void));
extern void serverInitMessaging __ARGS((void));
diff --git a/src/quickfix.c b/src/quickfix.c
index 21b524ca0..739b8945b 100644
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -2620,6 +2620,7 @@ ex_make(eap)
unsigned len;
win_T *wp = NULL;
qf_info_T *qi = &ql_info;
+ int res;
#ifdef FEAT_AUTOCMD
char_u *au_name = NULL;
@@ -2693,11 +2694,16 @@ ex_make(eap)
(void)char_avail();
#endif
- if (qf_init(wp, fname, (eap->cmdidx != CMD_make
+ res = qf_init(wp, fname, (eap->cmdidx != CMD_make
&& eap->cmdidx != CMD_lmake) ? p_gefm : p_efm,
(eap->cmdidx != CMD_grepadd
- && eap->cmdidx != CMD_lgrepadd)) > 0
- && !eap->forceit)
+ && eap->cmdidx != CMD_lgrepadd));
+#ifdef FEAT_AUTOCMD
+ if (au_name != NULL)
+ apply_autocmds(EVENT_QUICKFIXCMDPOST, au_name,
+ curbuf->b_fname, TRUE, curbuf);
+#endif
+ if (res > 0 && !eap->forceit)
{
if (wp != NULL)
qi = GET_LOC_LIST(wp);
@@ -2707,12 +2713,6 @@ ex_make(eap)
mch_remove(fname);
vim_free(fname);
vim_free(cmd);
-
-#ifdef FEAT_AUTOCMD
- if (au_name != NULL)
- apply_autocmds(EVENT_QUICKFIXCMDPOST, au_name,
- curbuf->b_fname, TRUE, curbuf);
-#endif
}
/*
@@ -3168,6 +3168,12 @@ ex_vimgrep(eap)
qf_update_buffer(qi);
#endif
+#ifdef FEAT_AUTOCMD
+ if (au_name != NULL)
+ apply_autocmds(EVENT_QUICKFIXCMDPOST, au_name,
+ curbuf->b_fname, TRUE, curbuf);
+#endif
+
/* Jump to first match. */
if (qi->qf_lists[qi->qf_curlist].qf_count > 0)
{
@@ -3177,12 +3183,6 @@ ex_vimgrep(eap)
else
EMSG2(_(e_nomatch2), s);
-#ifdef FEAT_AUTOCMD
- if (au_name != NULL)
- apply_autocmds(EVENT_QUICKFIXCMDPOST, au_name,
- curbuf->b_fname, TRUE, curbuf);
-#endif
-
theend:
vim_free(regmatch.regprog);
}
diff --git a/src/testdir/test55.in b/src/testdir/test55.in
index 5570c596e..d7cd4d91a 100644
--- a/src/testdir/test55.in
+++ b/src/testdir/test55.in
@@ -13,6 +13,12 @@ STARTTEST
:catch
: $put =v:exception[:14]
:endtry
+:" List slices
+:$put =string(l[:])
+:$put =string(l[1:])
+:$put =string(l[:-2])
+:$put =string(l[0:8])
+:$put =string(l[8:-1])
:"
:" List identity
:let ll = l
@@ -80,6 +86,57 @@ STARTTEST
:unlet d[-1]
:$put =string(d)
:"
+:" removing items out of range: silently skip items that don't exist
+let l = [0, 1, 2, 3]
+:unlet l[2:1]
+:$put =string(l)
+let l = [0, 1, 2, 3]
+:unlet l[2:2]
+:$put =string(l)
+let l = [0, 1, 2, 3]
+:unlet l[2:3]
+:$put =string(l)
+let l = [0, 1, 2, 3]
+:unlet l[2:4]
+:$put =string(l)
+let l = [0, 1, 2, 3]
+:unlet l[2:5]
+:$put =string(l)
+let l = [0, 1, 2, 3]
+:unlet l[-1:2]
+:$put =string(l)
+let l = [0, 1, 2, 3]
+:unlet l[-2:2]
+:$put =string(l)
+let l = [0, 1, 2, 3]
+:unlet l[-3:2]
+:$put =string(l)
+let l = [0, 1, 2, 3]
+:unlet l[-4:2]
+:$put =string(l)
+let l = [0, 1, 2, 3]
+:unlet l[-5:2]
+:$put =string(l)
+let l = [0, 1, 2, 3]
+:unlet l[-6:2]
+:$put =string(l)
+:"
+:" assignment to a list
+:let l = [0, 1, 2, 3]
+:let [va, vb] = l[2:3]
+:$put =va
+:$put =vb
+:try
+: let [va, vb] = l
+:catch
+: $put =v:exception[:14]
+:endtry
+:try
+: let [va, vb] = l[1:1]
+:catch
+: $put =v:exception[:14]
+:endtry
+:"
:" manipulating a big Dictionary (hashtable.c has a border of 1000 entries)
:let d = {}
:for i in range(1500)
diff --git a/src/testdir/test55.ok b/src/testdir/test55.ok
index caec674bd..1f52f2955 100644
--- a/src/testdir/test55.ok
+++ b/src/testdir/test55.ok
@@ -3,6 +3,11 @@ start:
{'a': 1}
1
Vim(put):E684:
+[1, 'as''d', [1, 2, function('strlen')], {'a': 1}]
+['as''d', [1, 2, function('strlen')], {'a': 1}]
+[1, 'as''d', [1, 2, function('strlen')]]
+[1, 'as''d', [1, 2, function('strlen')], {'a': 1}]
+[]
101101
{'1': 'asd', 'b': [1, 2, function('strlen')], '-1': {'a': 1}}asd
['-1', '1', 'b']
@@ -19,6 +24,21 @@ Vim(let):E706: l
[1, 'as''d', {'a': 1}]
[4]
{'1': 99, '3': 33}
+[0, 1, 2, 3]
+[0, 1, 3]
+[0, 1]
+[0, 1]
+[0, 1]
+[0, 1, 2, 3]
+[0, 1, 3]
+[0, 3]
+[3]
+[3]
+[3]
+2
+3
+Vim(let):E687:
+Vim(let):E688:
3000 2900 2001 1600 1501
Vim(let):E716: 1500
NONE 2999
diff --git a/src/version.h b/src/version.h
index e4bc3f666..faaa75598 100644
--- a/src/version.h
+++ b/src/version.h
@@ -33,8 +33,8 @@
* VIM_VERSION_MEDIUM is used for the startup-screen.
* VIM_VERSION_LONG is used for the ":version" command and "Vim -h".
*/
-#define VIM_VERSION_NODOT "vim70e"
-#define VIM_VERSION_SHORT "7.0e"
-#define VIM_VERSION_MEDIUM "7.0e07 BETA"
-#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0e07 BETA (2006 Apr 23)"
-#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0e07 BETA (2006 Apr 23, compiled "
+#define VIM_VERSION_NODOT "vim70f"
+#define VIM_VERSION_SHORT "7.0f"
+#define VIM_VERSION_MEDIUM "7.0f BETA"
+#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0f BETA (2006 Apr 24)"
+#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0f BETA (2006 Apr 24, compiled "