]> granicus.if.org Git - vim/commitdiff
updated for version 7.0f v7.0f
authorBram Moolenaar <Bram@vim.org>
Mon, 24 Apr 2006 19:47:27 +0000 (19:47 +0000)
committerBram Moolenaar <Bram@vim.org>
Mon, 24 Apr 2006 19:47:27 +0000 (19:47 +0000)
179 files changed:
Contents
Makefile
README.txt
README_ami.txt
README_amibin.txt
README_amisrc.txt
README_bindos.txt
README_dos.txt
README_extra.txt
README_lang.txt
README_mac.txt
README_ole.txt
README_os2.txt
README_os390.txt
README_src.txt
README_srcdos.txt
README_unix.txt
README_vms.txt
README_w32s.txt
nsis/gvim.nsi
runtime/autoload/htmlcomplete.vim
runtime/autoload/netrw.vim
runtime/autoload/vimball.vim
runtime/doc/arabic.txt
runtime/doc/autocmd.txt
runtime/doc/change.txt
runtime/doc/cmdline.txt
runtime/doc/debug.txt
runtime/doc/debugger.txt
runtime/doc/develop.txt
runtime/doc/diff.txt
runtime/doc/digraph.txt
runtime/doc/editing.txt
runtime/doc/eval.txt
runtime/doc/farsi.txt
runtime/doc/filetype.txt
runtime/doc/fold.txt
runtime/doc/getscript.txt
runtime/doc/gui.txt
runtime/doc/gui_w16.txt
runtime/doc/gui_w32.txt
runtime/doc/gui_x11.txt
runtime/doc/hangulin.txt
runtime/doc/hebrew.txt
runtime/doc/help.txt
runtime/doc/howto.txt
runtime/doc/if_cscop.txt
runtime/doc/if_mzsch.txt
runtime/doc/if_ole.txt
runtime/doc/if_perl.txt
runtime/doc/if_pyth.txt
runtime/doc/if_ruby.txt
runtime/doc/if_sniff.txt
runtime/doc/if_tcl.txt
runtime/doc/indent.txt
runtime/doc/index.txt
runtime/doc/insert.txt
runtime/doc/intro.txt
runtime/doc/map.txt
runtime/doc/mbyte.txt
runtime/doc/message.txt
runtime/doc/mlang.txt
runtime/doc/motion.txt
runtime/doc/netbeans.txt
runtime/doc/options.txt
runtime/doc/os_390.txt
runtime/doc/os_amiga.txt
runtime/doc/os_beos.txt
runtime/doc/os_dos.txt
runtime/doc/os_mac.txt
runtime/doc/os_mint.txt
runtime/doc/os_msdos.txt
runtime/doc/os_os2.txt
runtime/doc/os_qnx.txt
runtime/doc/os_risc.txt
runtime/doc/os_unix.txt
runtime/doc/os_vms.txt
runtime/doc/os_win32.txt
runtime/doc/pattern.txt
runtime/doc/pi_gzip.txt
runtime/doc/pi_netrw.txt
runtime/doc/pi_paren.txt
runtime/doc/pi_spec.txt
runtime/doc/pi_tar.txt
runtime/doc/pi_zip.txt
runtime/doc/print.txt
runtime/doc/quickfix.txt
runtime/doc/quickref.txt
runtime/doc/quotes.txt
runtime/doc/recover.txt
runtime/doc/remote.txt
runtime/doc/repeat.txt
runtime/doc/rileft.txt
runtime/doc/russian.txt
runtime/doc/scroll.txt
runtime/doc/sign.txt
runtime/doc/spell.txt
runtime/doc/sponsor.txt
runtime/doc/sql.txt
runtime/doc/starting.txt
runtime/doc/syntax.txt
runtime/doc/tabpage.txt
runtime/doc/tags
runtime/doc/tagsrch.txt
runtime/doc/term.txt
runtime/doc/tips.txt
runtime/doc/todo.txt
runtime/doc/uganda.txt
runtime/doc/undo.txt
runtime/doc/usr_01.txt
runtime/doc/usr_02.txt
runtime/doc/usr_03.txt
runtime/doc/usr_04.txt
runtime/doc/usr_05.txt
runtime/doc/usr_06.txt
runtime/doc/usr_07.txt
runtime/doc/usr_08.txt
runtime/doc/usr_09.txt
runtime/doc/usr_10.txt
runtime/doc/usr_11.txt
runtime/doc/usr_12.txt
runtime/doc/usr_20.txt
runtime/doc/usr_21.txt
runtime/doc/usr_22.txt
runtime/doc/usr_23.txt
runtime/doc/usr_24.txt
runtime/doc/usr_25.txt
runtime/doc/usr_26.txt
runtime/doc/usr_27.txt
runtime/doc/usr_28.txt
runtime/doc/usr_29.txt
runtime/doc/usr_30.txt
runtime/doc/usr_31.txt
runtime/doc/usr_32.txt
runtime/doc/usr_40.txt
runtime/doc/usr_41.txt
runtime/doc/usr_42.txt
runtime/doc/usr_43.txt
runtime/doc/usr_44.txt
runtime/doc/usr_45.txt
runtime/doc/usr_90.txt
runtime/doc/usr_toc.txt
runtime/doc/various.txt
runtime/doc/version4.txt
runtime/doc/version5.txt
runtime/doc/version6.txt
runtime/doc/version7.txt
runtime/doc/vi_diff.txt
runtime/doc/vimball.txt
runtime/doc/visual.txt
runtime/doc/windows.txt
runtime/doc/workshop.txt
runtime/optwin.vim
runtime/synmenu.vim
runtime/syntax/c.vim
runtime/syntax/muttrc.vim
runtime/syntax/rhelp.vim
runtime/syntax/slrnrc.vim
src/GvimExt/GvimExt.reg
src/GvimExt/gvimext.h
src/Make_mvc.mak
src/Makefile
src/edit.c
src/eval.c
src/getchar.c
src/globals.h
src/gui_gtk_x11.c
src/gui_mac.c
src/gui_w32.c
src/option.c
src/option.h
src/proto/edit.pro
src/proto/gui.pro
src/proto/message.pro
src/proto/os_mswin.pro
src/quickfix.c
src/testdir/test55.in
src/testdir/test55.ok
src/version.h

index 7c8eb1e1f9ac86b4823d26fae7199eb479f83fb0..dd95a64f14e3b39c6e90d7757bc29377b509a25d 100644 (file)
--- 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.
 
 
index c8789295ff30480e0ccd06f76fb644e2cf750f6c..90d8553bd686cd0b5bf55a09b1a0b98f23c3e944 100644 (file)
--- 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
index 1aef76e46d61729628275f1341e3b009309a3a90..274ac994be8d573709f4c50d562ce4665f8b590f 100644 (file)
@@ -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
index 12be43a59c9522e9bccb92402e72f9fa83b672f9..d54337f7287de6bd87adb42e19b3644216e763d6 100644 (file)
@@ -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.
index e862bed0b4ef3b326cc238337929afd0695f4fae..83e86ea5c5253b081462f074cf05ecc056c3fd30 100644 (file)
@@ -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.
index 3ff6e5061bddbffa2439165a2069245a82e27212..ab8c7a8ad5d579577b0a241ffd0e11cc87929eaf 100644 (file)
@@ -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.
index 6ac0224d879cfe212d91091a1f7a05c920ecbc78..889e63d825b3da682392af3f2d833f81bd5533cb 100644 (file)
@@ -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.
index 13da4f9bae33ac8809ea366672a39086d15a4f37..a1a314fd33a1c59a024fbd8fd9bf43e159dc60f6 100644 (file)
@@ -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.
index eb8a2099e4a91ef39311aefc05b33723758bb17d..02da9ff812428d3edd7c25b936154d7af77ba99b 100644 (file)
@@ -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.
index 33219df6203e831739dfc75becf813d8da8b3f5b..0ce80e9fb133af03e3881ae05ccd3ba9e3a04b9e 100644 (file)
@@ -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.
index 3a9857b8f1d4421c2cb7d752df905f8060323325..65c4bbf76f8ca6976daa7be805525e4f7190e077 100644 (file)
@@ -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.
index 76026b6b67079bd829c88f4e62b3309d9921e600..5c3f034ce99a5928f5bcc4c615e1e236a6331beb 100644 (file)
@@ -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
index 44fc981dcb0e628bf40090273400f0fda01a4a0a..5f2fb84ee6e37270851e319a64c632321f4ee4bd 100644 (file)
@@ -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.
index 6f15190d0427c7ed6ca9431f4e9af3c0a5d328d5..2b223c18deb69b2a006b391180cebd45bfca7131 100644 (file)
@@ -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.
 
index 12f499be0860b7d655251fa029c937a0effdc83a..2543520657684e6fd6ace33b4cb24e0c66fe81f9 100644 (file)
@@ -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
index 755112796912682962ef2d0cf1c3bed3025a3389..d9a9bca6ba810abcc9214472d0eea0962fe363f3 100644 (file)
@@ -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.
index 8be1ec0c9d1139a84220d82c5c73305163f20f30..1029421705f0a027dd3a6e8f4d6fb451c137ae55 100644 (file)
@@ -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.
index af7cc575e2219dc34b068099e7829d30c94f4da5..82b0d386d4af6f31184a09acd30d3e4b9b06d12e 100644 (file)
@@ -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.
index b80b5b42cb2067ed36881ba9f0f6372cc3c3a0ef..58a9bd803b4b4bd7a6c6def8622bf3196175d85c 100644 (file)
@@ -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.
index d59d6c77aea2ac394a1d69467c4d04a6882b55b2..0f4563c2eaf5c9b4d6b5aa84dba2040368b09f9d 100644 (file)
@@ -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 -----------
 
index 733fff521530436fc81ed4c0bc8ab0924a58b915..79eb9a631dab641346e20dd070ba8beceae36079 100644 (file)
@@ -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
 
index c2c34dfd62b755e6442782884cca2a993d6327fd..13081c8a784c820364c8a5d83cbd396a574cfcc4 100644 (file)
@@ -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
 
index 86f0e886d18b3e7f8fffc7c89565d60a9f8fd96f..91c57b2eb8e1087b95fff4f1ea35b293e28412cc 100644 (file)
@@ -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))
index 9df10ba51b2749037a9eccc5955278ad6c9610ba..859125306d5130863078d530f460f0380823e140 100644 (file)
@@ -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
index 63fd6f4971fd61f529e2f2362c4c4198bc91bb13..dddb0e6df70c58e2ab399b23d1b147557f7ce75d 100644 (file)
@@ -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()|.
index cdfc6ab0bd3a559a452aaffcc4fc63c8f38057fb..2420d5df3f5d2588f9100640d6e75155f071bd43 100644 (file)
@@ -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
index 19b3c2fa9ca337a06c784d185f47bae4473e8575..4b15f338715882be75b6f9136b22dc0be45f5e77 100644 (file)
@@ -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
index f464aa9a5adc061487b18c97fe39bd301103d542..13220ecb0d0b6dd98281d00f440a35d37d99caf4 100644 (file)
@@ -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:
index a3ec0a7bb71e52cd7c39c60964c1b562c1babdff..e94096c549aea600cf20f7199d3a0e38d9d05965 100644 (file)
@@ -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
index 6792dedd618739523d3715a5c85067ad188aab2b..d769a8808db8da0cb14984c310e75ee78153b574 100644 (file)
@@ -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
index 83c872ef02c2951e1486e96b914ccb3a9d3f29bb..479660c36c1f7148dfb95760cf1d7cfd4ca55852 100644 (file)
@@ -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
index 27021652a30151801c9d0fd35940cda825467551..0c273ce06a3bc035ae1922321d68f70e144881d4 100644 (file)
@@ -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
index d65ece86c51c0f8843addf6c7102f22fbb98fac8..aa8c4f4e191cf0470b83678c3d438349e08cc9e6 100644 (file)
@@ -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
index 0a9f90c45d4cdb7767d6c3483f73a89df3ad5f4c..b8ad7a96b8e9e34c12987bddc44aa4f5c8c5b4b9 100644 (file)
@@ -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:
index acb3d9389183d410cb3ac831d23ee891f5999c50..404259c8b1af45d0283104592b192be236da8d7e 100644 (file)
@@ -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
index b0b18fd6550ef5bedf36a6d435f5f78f19ebb082..a3e040134e9f46e0323444f8c658bb0e76bb54b7 100644 (file)
@@ -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
index 4bd3bb20bb5ca51124aeb11e7d411e2b87babc17..0684d15c5975c8af6afe2d96f535730333adc3a6 100644 (file)
@@ -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
index be7302aea1d9a0cedec315616937879a757b2223..464ba95bfef696b3a417a44bc1f73a8cc7aee3b0 100644 (file)
@@ -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
 
index 87ab42ea08b36c4ca14d26594fc5a6e1e9104543..1e7b7ce81f5ae0db47ad3d54e664cb8ba550e5d1 100644 (file)
@@ -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
index d611d9d7607745999632070f3f0908ec39e2c08f..2eb99333f2f0b9d2c1b855468bee014343c4db87 100644 (file)
@@ -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
index 45f7709c02f236c9f0960082f1cebf740e526c35..00875caa934a45cd92176cd04158d3f657e43612 100644 (file)
@@ -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
index 798c26669fd6b3a80df9ad4b02e3d15a61704599..3c05a6814b5d933ed983b265115c6295b2999357 100644 (file)
@@ -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
index 046ab47b7cc62585a269317c3e4bd93464d814ab..7dc05ef5480632c29c9548268df6d89196b0f5e6 100644 (file)
@@ -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
index 4384a74856ba0ea84e1b4137d1151424dbcf5f08..42ed0886a8db1d8edf816ebf491accbfb23b7bbf 100644 (file)
@@ -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)
index 5bf756bca72cceed0971e4b832b0de4d2837b01b..4226704dee33e1d69fc5ef228f23e22e23549bed 100644 (file)
@@ -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
index 79af0814cb9c54557445e04a54064f25effa011b..97273ed07bfa1b04edeb67e583661d567b53dd9f 100644 (file)
@@ -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
index 1063a443950110b567d95c14267bde91a1702fb9..d459ba9dcea8bad813da259f92ce4640ef301029 100644 (file)
@@ -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
index d2e85a6b1495a1d192f995df9bc5cc994d78900d..f8fc6461d6e4b0c820b2aeb6113f16dc9ac67692 100644 (file)
@@ -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
index 636647ce6402520ba63e08dd645be8605807cd75..56d05bcb6c344d8cf60a71e7d61b3245f86a28e6 100644 (file)
@@ -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
index c082c11a705baec0e78b73056f972a8694bc9bbb..6a3b6afd1be4021d92468ff69539de838d1499d1 100644 (file)
@@ -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
index fcaf09567a8486c854115855ff4adf1d3342edf3..081efc56e4aeb0f134a0bd24232ec44565ed2e91 100644 (file)
@@ -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
index 30efb809d3fd4ee9cab753564639b93b73d271da..eb8ade0e8a6adf1d2cadc2c1da17b57b1c1a91f0 100644 (file)
@@ -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
index d0664d908af581e298c01522b42a3824067dfa2f..1664bb1ace6491691e4455a28320b63fb15a6dd9 100644 (file)
@@ -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
index eba356b4f22b5a4452cc7a6d0c97f5f091a970a3..e3dc46dbcb290ff107da58695ce4bdf2d2126538 100644 (file)
@@ -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
index 9f6d85a22722c6f34d59da358b727696a8eaa242..3c5e2eb3c21c6ac18e27d859eabb662270f12352 100644 (file)
@@ -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
index 77ebed95f2b41c524dfe4a52504325ef79cf5220..332ad37ebe0f4d325b6fd7542b04ae437e2d4b84 100644 (file)
@@ -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
index 144261c2f14f2353f06f7a846d48fbeabf1b6903..a6060a09196ac1a6cbf8170be02523ec065879a5 100644 (file)
@@ -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
index 91a70c34a4e5ca6dc3f6fac42112f0d59bc4bd8d..6cf501a11c22322e936c1231fc4490fec5326838 100644 (file)
@@ -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
index 114f8cde05719ca0ed6105c2ffac1b08e83c8ffc..cef90b4626f3640f2cf29105a5c6457ec058e802 100644 (file)
@@ -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
index 44cbea903149b05b14773b00bf4f825a77a30f95..cc8e700c645f394ef7874c42fe76c0cd359b744a 100644 (file)
@@ -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.
index cca84cdddbc3838cf1bccf27b38aa37f049fb710..5e3ad2d2c2bbe500680d6a8ba531f4b23711331c 100644 (file)
@@ -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
index 37621966dd694ddbb12bf8435e2574bfafd09357..911f2a09ee7f95e1396dc93d64e67b0ca137a1d5 100644 (file)
@@ -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
index ac807a40cd28d9e8071c0ef125ef6955770db4bb..7fd51ae6357a9ffefcfbf4a1d76cf335a144caad 100644 (file)
@@ -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
index 3b490253e4fc6adc8fdcc483a9d839fa361f5674..3f00db7f3dfa1262aa058a2c5fd534d9c7042e12 100644 (file)
@@ -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
index 7bbd96949e418c9493922215b33c97c2d7d52ec5..28a7fe462d744276c061411f537630287d0ce400 100644 (file)
@@ -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
index 97d1b2d213101e684cf3b518f86a926e66366d67..34252b92e53880679f73ee8bf92c78b330a6e922 100644 (file)
@@ -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
index 1202da7c1a06dc91d1fc9783152bf1a65199a68e..4b01bb5cda6f47c3a03abe84fede7ff7833a7d6e 100644 (file)
@@ -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
index 79c458d3c37e4aabc4a6e74c7be9074a6c7b639f..fc8155ef7c61bf74530fcab1fded8ac2b445bc29 100644 (file)
@@ -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
index 7f16805ed1382b1ea8655fef9c2e49a0d0094734..a6f4594bf10aad49c06eed0e574dadda1bfe04b7 100644 (file)
@@ -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
index 1f6723647d1a4713c1b745e7db4faacf0788bd5b..3a77caa4175bfb6713b1416782eb56d4522af8d7 100644 (file)
@@ -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.
index 62ae6c84c511dbd58842f1ea0e771c462aeaa219..45e6ffacd7c30dd2620b97a89c459f65381ac6c1 100644 (file)
@@ -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
index e2f59d81fd348cfd0e9e2a8ef2ca4dd2722ec37f..945300443a610dfeef95bd6086d0a229d883f0ca 100644 (file)
@@ -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
index 8f53c2ea247d6a66735bc0c97d78f2985cf26b4f..97c47e6f66392feb8aaba6b7b91ec451abf2b348 100644 (file)
@@ -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
index 6d558e4c0ce14aae3e6abf4fe75594b6f6779734..27ac328b2154639ce52b1f0f1426cc3be3d6718a 100644 (file)
@@ -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
index f29442ae584a3c0e8d56d08178f96345355a7f0d..af8a37ab9dba4a39dd40303dd40fc813a6ef3774 100644 (file)
@@ -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
index c7001df5cc4b8bf24c9d17626af1010b1ee90812..de36c0066d47327fbb9109edf33b974a087c26a7 100644 (file)
@@ -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
index 892f9be01b400058769c7e2eb71eb8a96000243f..d329875123939fab962ee8c59601abe0222036a7 100644 (file)
@@ -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
index 11c2166dfc504ab982e5ed120e995c12301dc84e..f16d76d70193d101827128544027d1990b2af3d8 100644 (file)
@@ -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
index 3c021d8f7cb3fe948680737023d4309a9e8bc4f8..8d5d40e15397cbc288cd45a8b8d30a646fd90c8b 100644 (file)
@@ -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
index aa7835bf440f009296e85ce491bfd3aed6343c58..02e968dfc05dab950ba7e4e7bbc0bb9a9ca258c4 100644 (file)
@@ -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
index 3428bfbb46edbc6295ae7f97afc253be3cab2049..f5357797ef57f3ed1ec39cd26f6ac2c6201cb3e5 100644 (file)
@@ -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.
 
index 23ea75fba04efc042a7bd9d20e7f972ec8aca67f..7326a4e85277a7d5ebed86601e17daecfd0dc494 100644 (file)
@@ -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
index a4ad11840efb8fb08cde330f89843f4001c2096f..e0b0e2cbde2de562d09d9437132b1a571657bc71 100644 (file)
@@ -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 ~
 
index 6c54891cefcc97ec8ea32db40d77b0f898902f88..f4c365d1878e32be49dd0b6727372432a5d96cad 100644 (file)
@@ -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 |
index 26d94820172abc86e6ba585a647290ba971afee1..3fba03d931dafc2c2623740bd574312f2436bb00 100644 (file)
@@ -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 |
index b10157d7e2f8147f3216a6c2ae4135a4352cbaca..4844f000ae40944a70bb11bbb135455956ab5931 100644 (file)
@@ -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
index 052613e0351388430c8bb64abaafd4e0dd8c48a2..7331c897e22b8e8dfd7351de646f6e47fc5ac96d 100644 (file)
@@ -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
index 78721196cf2457aca2ebe018b4a5f8a773841db7..45a3a7dbb33326015a3bbd4f512e4ac873e6d967 100644 (file)
@@ -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
index 8cece723d23ae3914035886b381786666a65d5df..e99be2611307f3a77e134c90c4668f85373d13a8 100644 (file)
@@ -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
index 7b28c12fb690cb10c6b9b28198f196345d8a3814..44d695273edafea46fa3d37e8af67f2b11782c6f 100644 (file)
@@ -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
index 12811df335a7cd03ee0eef827ca6781bde3cb7f1..d3d4a38784f3edb779e0149e2fab44bc7d96a31f 100644 (file)
@@ -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
index e11a7d727010771f196dfcb15cc6e3a72e7c7dda..7c3ad67c1439e2d71c49e4fca7fc83cc075d386f 100644 (file)
@@ -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
index eb10863248a8b5bee68e352e6619a84377cd5d2c..eea2871834d80b88ae4d81d217e34715fc780bf2 100644 (file)
@@ -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
index f1b02af52358041316c4ad2f2f6e2aa6909c9843..0f6dcec01ddb3905d39ab04795d9751ff8b482af 100644 (file)
@@ -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
index c180acdc75ebdb0ab8a04773b5d35eca8862680a..5a834a5f161b6500b6a9e21f5bc516bbe161b56d 100644 (file)
@@ -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
index 3c2451aafc769883f92b3b0241308c2dac3b5b22..0e8233e0ead5e3c247535d2b933a18209b7de1bc 100644 (file)
@@ -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
index 7aeeabf5351198c7e683ae8c9fb4d5bc10400e62..8b0c8838e6368cc8c2b6247a8ac30205b79a0acc 100644 (file)
@@ -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
index 2f9090dcdbe589e49d5089873097a00afb0e0e49..d08de49f53cdd0aba423d757e434ef5d30b610ca 100644 (file)
@@ -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
index 58f806a9d77ea70283604f023bf533f96e9a96c4..cee1139da15793d0d6244ea2e0444474e171b7bc 100644 (file)
@@ -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
 
index 1b46f497dac6c7270e8e44cdfa15d209c10f65a5..d7c9a8a47a189bbaece9e207f8ca935e691c2ba9 100644 (file)
@@ -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
index 0df6241925f545becbf77d7a9ca57dca9ca9c574..c1b517f1898a10afb95a46f955c386bfb9140c87 100644 (file)
@@ -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
index f8d1223509852bad197dc5bef39f4fcc36c6ffb1..2fe366c719438db7742e4f523a80830386d9c3eb 100644 (file)
@@ -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
index b1f726b6334b3f1e6facf4daceb28c92147c080f..71c9d0603c5bd20f1c2a5252e8f7856221768ab7 100644 (file)
@@ -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*
index f54d5074400fe2180d2a80630cecd0dd5acba4bb..b09dae42d8d6c59c57b09454f52a12769d07bb78 100644 (file)
@@ -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
index 4582875211efde664b08f0901c7c43aca72b8c6d..5efec94d8f9a23182df49c4b8c1420fb7721cb82 100644 (file)
@@ -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
index 7e80dcc418c26c3f4b7d3cb412f4e40ec3fdf694..dcecc29ee453368cf2ba87cf9055e847ad5bb2cd 100644 (file)
@@ -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
index 0e4a90cd1e25e7d82421d5c5bcabb4808656b7b0..29919d8d9554462da91ec0cabaddbdae838f8ad2 100644 (file)
@@ -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.
index d2b951ae88ee3ce07f822347ea871fbd67e8250f..dabce935934accdb17fc5bc75930612d00bbd534 100644 (file)
@@ -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
index 5e7b4ed8e93927a1d3b280939e5433c95e950e14..10b328d904e4d3086f30bb61384f2957ef241388 100644 (file)
@@ -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
index 4f8aed1c4e25492599d0d335800a741ace11e73a..8b48430ee74575e14e0d003c90f93d55f211bc82 100644 (file)
@@ -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
 
index f3697ea500aad9ffe97c1fe3130fe555824ec352..6074ebf00ef7677aba8463b665a24cda760679a1 100644 (file)
@@ -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
 
index 7cb764dfb970708a91ac25b61de8231b73c18bbd..a0bcd60dea638ce8d9b9e702db612e2f32bf03f5 100644 (file)
@@ -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
 
index 891fd4935c1e0b7dbd83d16f94613a8e03277980..2d2fa391b498ec48c2b1e46168ee258a11fd39ae 100644 (file)
@@ -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
 
index 567ff9ae6d28ded97332f6b2f940e95bfd0b860d..02d82894eb0ec1698e83cc5f371ba7fc5f006609 100644 (file)
@@ -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
 
index cd0d8cf7aa0bfcf08ebfeae58d95eb29b848edf5..e834f8df58d9c4f120ae8b9776b37aa527426bf7 100644 (file)
@@ -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
 
index 12319a30f84d3672a32813499f80d614bdd51ba0..2961c7c63c21bc125f3c59fe579bbaa91ad5e278 100644 (file)
@@ -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
 
index 7cc7771d37c56e48ca365988011ffaa770d70fea..7aab030f016a59090e0734ddc2b9c0ff34dfd162 100644 (file)
@@ -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
 
index 41129e5c89f99bd029d59b761e38b4c8eafc8072..fa90242dbec29b98eae3cef0c414cd0f7be8c6d2 100644 (file)
@@ -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
 
index ec4a98d004451845a72a781dd3d6d48f8e794f7f..ec87bee4bef9afb21b268d6fab41b4d845a5c3ec 100644 (file)
@@ -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
 
index b6d344d8ca9aaa441a9e453256fd064da3909b26..479cdb1583d55b80d9616aeb77a4df0415762e9f 100644 (file)
@@ -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
 
index 003ae94177d42f3782baafe5896d955c33ac92dd..b59b3eca8a9e8b5ae66eb491d7ea5768625d5dc5 100644 (file)
@@ -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
 
index 86cb8226078d04ee626cf75dcccb3319fa14f7fd..2cbd428885bf514d301834803e9e9b48e7da2546 100644 (file)
@@ -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
 
index e977343ea4de079593c54b38c998b2af216da14d..d07fbe869d42febb662cf7dd0a523b2c0c4f6a29 100644 (file)
@@ -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
 
index 51a72d7856d4818a5d893f2c969c15dde67812e9..31e5d3841154fbea78203097d55d54fa58ce4842 100644 (file)
@@ -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
 
index a6f2e3e2b27adde55ce98010db9d35c3ff0fdf1b..1cf7595290478c9958bc0ff1bfbed5344b434aa5 100644 (file)
@@ -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
 
index 7f7d67c107371bc84885e4fe7a124038a239973d..98c2a252d6d07278c2d5b74286f3c4faee5fba42 100644 (file)
@@ -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
 
index 5d43da09f392bb3d3eebbe76fd05ea88cca0894f..a033afbc8cb1ece4bd7a110719731dc9f0fbb90f 100644 (file)
@@ -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
 
index 65ee88df2b5322e459d3ae047449452ca9bbf9a5..1a21e668ee2cb040aff6dd6aab669c03ceed3dd6 100644 (file)
@@ -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
 
index 271c3639c2418547b469b4c98cf0240a12c81ea0..76b572129c1f2b18abb000eda54c2bc4424ca7fc 100644 (file)
@@ -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
 
index 9ed1de20b2f049803620bb813ce5bb96e09470b3..7c5ebbf0ddf0d71915710d5cb081ef2ad863312c 100644 (file)
@@ -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
 
index 81178298ceefb7516c5796aafcf1e47119dc375a..25567f088282d586384ed3681ccf16ff11c6765b 100644 (file)
@@ -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
 
index fe6614e40725c5408706c4464d622c70c3ba8edc..13449a049f06edccee8dbe64a4b762a1c8d80d5b 100644 (file)
@@ -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
 
index a8db01c46de963c36237b8bc1ab08c0dd31a2be8..c94d3ca66122d2040b5b5485940b7b27644c1b33 100644 (file)
@@ -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
 
index 99dd5a858169082408ffc4985e90cfb037a4e580..9fab186e1858cc7676bc725bdf4eae0f0c8f05df 100644 (file)
@@ -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
 
index 3cf5a8fb7810c2bdffcd2e05062c393e4ad52bdb..fff28aec1b73148566cf7c5fedbd7c5be98b0e72 100644 (file)
@@ -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
 
index a8ef839ebf9714c2d5678e5332af1279d7ae70d0..811cc9fa096148288ced14b7fed7892c6433472c 100644 (file)
@@ -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
 
index ef77760f374626db99e8a4ecae0e9a3dce3275a6..37e1f38d9c2d13222a1e3f4a0b79f0aa219e73a1 100644 (file)
@@ -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
 
index 0c26308b2720b1fc0d83f19f23a4850ff2078b51..cddbf5415571d7ca7afd0f6dddfd93784b960b0a 100644 (file)
@@ -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
 
index 4c148c424328cc5df8e5acdbc983533fa61d0dc4..845ca3c6d50c4bbd930722fd9175ab918cf48e51 100644 (file)
@@ -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
 
index f78e41edc5ee153ecfb162e17770072729e7c6af..169d2e7f4139026258e9169655158861039acb90 100644 (file)
@@ -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
 
index 9d321991ddb570f1399dc850fdbac30c92b9fe49..28ed18084f2b433def33df350199f51d556d40cd 100644 (file)
@@ -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
 
index 17152a41358efbe5d74d7f6977122ddef2bfa94a..8648f7e58d76d9a60777138ccc6b64f17443a0ae 100644 (file)
@@ -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
 
index 8b23125d89474fc22ba9f4bd326030ecd3aa8539..99f4a45c3e0cbeebb9db0d6dbb75ea838cfa822d 100644 (file)
@@ -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
index dd294890a8e068e81b7b1512d2447e42bea361db..c1f946d1272d0781592bfa89b529888ea55549ef 100644 (file)
@@ -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
index c77fba35b14d7a710da20f9cf7fa68805557a349..6e94245dd360d422ba47e2afc293cc12fbc47fd2 100644 (file)
@@ -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
index 1139cebfc7f23112810aaf34c642921ea0fb898f..de9dccbbb406b83b60650a196b71476f19382a2e 100644 (file)
@@ -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
index de6bc0c491d9703725b3d21c8358398ee7e9b7de..c04223de733abf89c526deecc9527c1054fb8647 100644 (file)
@@ -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:
index e85bc25ca392c8013a9cbbf606e3a667a3205bc8..cb42db1ffd30aadb03af2b2462716b7071e32275 100644 (file)
@@ -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
index b7a133f970eff7f5e3f961b0c0d93cea20774d35..99843cb22bc722bfb0d8743fcf8736c51c38e96b 100644 (file)
@@ -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
 
index 4a0a2848d09b1a24231e380fe5c0fcff202aee77..a630df8e0d84128034876d457f2998f11c421ead 100644 (file)
@@ -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
index 2e5db8b511d1f2e0f804e14366acf6e121be2b07..10ff9decf7051a8645e9fbd426ffc0a8cce1f2a9 100644 (file)
@@ -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
index fe51b928c534d829783fb3134e66175aea946225..d58ef28c81ec6af161ee9b8b2784b01981bbae73 100644 (file)
@@ -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
index 3595e1598e81f938aab3ab11ca63bc89da2a79c4..da979d1e60efe83bf879e61a09bdb4095186e55a 100644 (file)
@@ -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")
index c6b96b7124949433b7a697a7e10d311e30da0b82..c3cb625f41ebd27507356ab5093e2b9772e42f72 100644 (file)
@@ -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>
index 5339ea6f6934e01a6529f943e6ea55da75ca5a09..3b0536aa3bc1ac43470f8954cfcb3b47a8e8c5cb 100644 (file)
@@ -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
index a95feca28942d4c9a7df8f123b00b134044efc36..cc77711a3da45d7526fa1e08367065d7bce6ca0e 100644 (file)
@@ -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
index 5aa19e295bbd4c136fa42825fa633a289e6277c5..c0f0ff272bd862eb76f196f321d13bb47357df41 100644 (file)
@@ -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
index 011a215503bfb558063fa78013b6d0020a3e65f8..038b62e16624638b9508be99b85a8922f56e31df 100644 (file)
@@ -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
index 325c2e7d9a94fb1f2c61a94ddcb256dd011bb1ca..1e3a78186afc6c11d94068bd68b28278175b4286 100644 (file)
@@ -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"
index c0e39cb1739645794eb40e70e465a89199e45f63..506ab8fc99f0f9e2e8431c0452b364670bea5ecb 100644 (file)
@@ -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)))
index a78f756ec2d2ac4473fc1d1015a7fff8d8091ea4..9c11aa0e8288b457432e0011ae9a8a887821fe14 100644 (file)
@@ -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)
index bbcbc1ca5c764eb3245fa421e813e242d8af1564..585349b5cb17a346e718664592ebad2f83871896 100644 (file)
@@ -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!)
index b96380eadd6baf6ca61d718e4346e60d45477126..25fffad5870e92a73897224142ca692f97e91397 100644 (file)
@@ -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
index 0802784167ecedbc14c14057692e96b1b2d7ab1f..56e534e6dca68458f8acc764de24485b836abd95 100644 (file)
@@ -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},
@@ -8988,6 +8987,44 @@ f_extend(argvars, rettv)
        EMSG2(_(e_listdictarg), "extend()");
 }
 
+/*
+ * "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
  */
@@ -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)
@@ -12620,42 +12661,6 @@ f_pumvisible(argvars, rettv)
 #endif
 }
 
-/*
- * "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
  */
index 89df484a26b0a02113ae5e4de580eec624d01022..e6ba2485df955e68c7cc5d0cd80c14686a5c33a6 100644 (file)
@@ -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
index 549287a7ac733e705404ce3deb214e38f9572d5c..867da5bb84978af2cd0d5de1d775ec65376d645b 100644 (file)
@@ -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
index 68c0f3e634c33690070394a60588dac564b4e0c6..88559e53410add414215b7c9c4b6e3d8b3b43be1 100644 (file)
@@ -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);
index 4ebc1216f194dc0fabfe6588a69f80c7bea017cd..2513224079853faf3b4f65819f5aa3dcfddccec9 100644 (file)
@@ -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);
 }
 
 /*
index a700ac0c49b2d6d33e23890b2d2314e477d91590..d6718798b0cfb2d7fb35a41e9b3bf3872702b682 100644 (file)
@@ -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
index 59b84fd06144059003fdb69b0c7f4670b064251b..c13412438f485771f2344315ebfa8ce2ae710bdf 100644 (file)
@@ -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}},
index d512a2055f9a711fd9a0070f6f416ff28b5f13db..28c58152e44b88de9b50ebf17ac311cdfde00fcd 100644 (file)
@@ -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' */
index a967037cb75bb720c909c704defbe1421f561d6c..3c76a9ebdc5cc0b34d1900ac9165895df2f9780a 100644 (file)
@@ -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 : */
index 322dc795579c6a9a85b470ba0891f6dd03005831..aeabd42cd528484031528480af178198c0f083e1 100644 (file)
@@ -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 : */
index cff7d6b505d58e185c75837844d53cd4211117a6..e6bd3e9e23e7be87cd6c1bf6488b6e33de37fb14 100644 (file)
@@ -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 : */
index f46a3f852b0474df74d4bee312c9ea7868c14f63..aaef05b1a37a16dd2dac77cba60ab2783375ede7 100644 (file)
@@ -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));
index 21b524ca0b9042ae4d2ba6326ab2818f7e8545de..739b8945b63012c2c35be5a80d2d5cb4dbe64794 100644 (file)
@@ -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);
 }
index 5570c596e9f6e23382b165df0121a74f589d1cd9..d7cd4d91ad84cd236c8a6e5b511081cdc0d45903 100644 (file)
@@ -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)
index caec674bd660066f21a11c5ce55cef70ca40a1d8..1f52f2955262ce89bb8c95df188a8f5b4cd7353f 100644 (file)
@@ -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
index e4bc3f6662cae9990af6c90e4590c9121d9fcf3f..faaa755984c25f46aa4e1e0892f1a1296b2a2fd2 100644 (file)
@@ -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 "